[{"data":1,"prerenderedAt":279},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-mengenal-tipe-data-float-pada-java-id":72},{},{"featuredPost":5,"navigations":29},{"id":6,"title":7,"title_en":8,"slug":9,"excerpt":10,"excerpt_en":11,"has_translation":12,"published_at":13,"reading_time":14,"hidden_from_listing":15,"tags":16,"thumbnail_image":21,"og_image":22,"series":23,"authors":28},110,"Ketika Pilih Framework Cuma Biar Kelihatan Beda","When You Pick a Framework Just to Look Different","ketika-pilih-framework-cuma-biar-kelihatan-beda","Terakhir kali kamu milih framework atau library baru, itu karena masalahmu butuh alat itu, atau karena alatnya kedengaran keren dan belum banyak yang pakai? Pertanyaan ini nggak enak dijawab. Soalnya keputusan teknologi sering diambil dengan alasan yang nggak pernah ditulis di dokumen teknis mana pun.","The last time you chose a new framework or library, was it because your problem needed that tool, or because it sounded cool and few people around you were using it? That question is uncomfortable. Technology decisions are often made for reasons that never appear in any technical document.",true,"2026-10-06T15:25:21.000Z",5,false,[17,18,19,20],"karier","framework","opini","pengalaman",null,"\u002Fog\u002Fketika-pilih-framework-cuma-biar-kelihatan-beda.png",{"id":24,"title":25,"title_en":26,"slug":27},9,"Artikel","Articles","all",[],[30,46,67],{"collection":31,"item":32},"series",{"__typename":31,"title":25,"title_en":26,"slug":27,"children_series":33},[34,38,42],{"title":35,"title_en":36,"slug":37},"Kecerdasan Artifisial","Artificial Intelligence","kecerdasan-artifisial",{"title":39,"title_en":40,"slug":41},"Konsep Dasar Pemrograman","Programming Fundamentals","konsep-dasar-pemrograman",{"title":43,"title_en":44,"slug":45},"Algoritma dan Struktur Data","Algorithms and Data Structures","algoritma-struktur-data",{"collection":31,"item":47},{"__typename":31,"title":48,"title_en":48,"slug":49,"children_series":50},"Tutorial","tutorial",[51,55,59,63],{"title":52,"title_en":53,"slug":54},"Belajar Python","Learning Python","belajar-python",{"title":56,"title_en":57,"slug":58},"Belajar Golang","Learning Go","belajar-golang",{"title":60,"title_en":61,"slug":62},"Belajar Java","Learning Java","belajar-java",{"title":64,"title_en":65,"slug":66},"Belajar Pascal","Learning Pascal","belajar-pascal",{"collection":31,"item":68},{"__typename":31,"title":69,"title_en":69,"slug":70,"children_series":71},"Lab","lab",[],{"article":73,"renderedBody":155,"renderedTakeaway":156,"latestArticles":157,"toc":256},{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":86,"series":87,"authors":148,"body_locale":151,"available_locales":152,"body":154,"takeway":21,"prerequisite":21},58,"Mengenal Tipe Data Float pada Java","Getting to Know the Float Data Type in Java","mengenal-tipe-data-float-pada-java","Float atau floating point merupakan tipe data yang dapat menampung literal bilangan desimal dan pecahan.","Float, or floating point, is a data type that holds decimal and fractional number literals.","2023-02-15T00:00:00.000Z",4,[83,84,85],"java","tipe-data","float","\u002Fog\u002Fmengenal-tipe-data-float-pada-java.png",{"id":88,"title":89,"title_en":90,"slug":91,"description":92,"description_en":93,"articles":94,"children_series":137,"parent_series":138},22,"Variabel, Tipe Data, dan Operasi","Variables, Types, and Operations","java-variabel-tipe-data","Tipe data di Java harus jelas dari awal. Kita bahas tipe data dasar, plus integer dan float lebih dalam.","In Java the type has to be clear from the start. We go through the primitive types, then integers and floats in more depth.",[95,116,132],{"id":96,"title":97,"title_en":98,"slug":99,"excerpt":100,"excerpt_en":101,"has_translation":12,"published_at":102,"reading_time":103,"hidden_from_listing":15,"tags":104,"thumbnail_image":21,"og_image":107,"series":108,"authors":109},56,"Tipe Data pada Bahasa Java","Data Types in the Java Language","tipe-data-pada-bahasa-java","Tipe data adalah atribut yang menempel pada sebuah data untuk menentukan perlakuan terhadap data tersebut.","A data type is an attribute that sticks to a piece of data and decides how that data can be treated.","2022-12-29T00:00:00.000Z",3,[83,84,105,106],"konsep","dasar","\u002Fog\u002Ftipe-data-pada-bahasa-java.png",{"id":88,"title":89,"title_en":90,"slug":91},[110],{"authors_id":111},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":117,"title":118,"title_en":119,"slug":120,"excerpt":121,"excerpt_en":122,"has_translation":12,"published_at":123,"reading_time":124,"hidden_from_listing":15,"tags":125,"thumbnail_image":21,"og_image":127,"series":128,"authors":129},57,"Mengenal Tipe Data Integer pada Java","Getting to Know the Integer Data Type in Java","mengenal-tipe-data-integer-pada-java","Integer, sesuai namanya merupakan tipe data yang hanya bisa menampung bilangan bulat saja (negatif, nol, dan positif)","Integer, as the name suggests, is a data type that only holds whole numbers (negative, zero, and positive).","2023-01-13T00:00:00.000Z",6,[83,84,126],"integer","\u002Fog\u002Fmengenal-tipe-data-integer-pada-java.png",{"id":88,"title":89,"title_en":90,"slug":91},[130],{"authors_id":131},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":86,"series":133,"authors":134},{"id":88,"title":89,"title_en":90,"slug":91},[135],{"authors_id":136},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},[],{"id":139,"title":60,"title_en":61,"slug":62,"parent_series":140,"children_series":141},13,{"id":112,"title":48,"title_en":48,"slug":49},[142,147],{"id":143,"title":144,"title_en":145,"slug":146,"cover_image":21},21,"Berkenalan dengan Java","Getting Started with Java","java-intro",{"id":88,"title":89,"title_en":90,"slug":91,"cover_image":21},[149],{"authors_id":150},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},"id",[153,151],"en","Setelah mengenal tipe data [integer](\u002Fp\u002Fmengenal-tipe-data-integer-pada-java), kali ini kita akan membahas tentang tipe data numerik lainnya, yaitu float.\n\n## Tentang Tipe Data Float\n\n**Floating Points** atau biasa disebut **float** merupakan tipe data standar yang dapat menampung bilangan desimal. Kalau [integer](\u002Fp\u002Fmengenal-tipe-data-integer-pada-java) hanya bisa menampung bilangan bulat, float ini bisa menampung bilangan pecahan juga. Contohnya: `1.5`, `2.2`, `3.14`, dan lain sebagainya.\n\n### Sub Tipe Data Float\n\nTipe data ini dapat dibagi lagi menjadi 2 berdasarkan presisinya — banyaknya angka di belakang koma, yaitu:\n\n- **float** — Tipe data berukuran 32-bit (4 byte) yang dapat menampung 6 hingga 7 angka di belakang koma. Tipe primitifnya `float` sedangkan bentuk objeknya adalah `Float`.\n- **double** — Tipe data berukuran 64-bit (8 byte) yang dapat menampung 15 hingga 16 angka di belakang koma. Tipe primitifnya `double` sedangkan bentuk objeknya adalah `Double`.\n\nBisa kita lihat, semakin tinggi presisinya semakin besar ukurannya. Karena komputer sekarang yang semakin canggih, penggunaan `double` tidak memberi perbedaan yang signifikan dibanding `float`. Namun ada baiknya untuk \"menghemat\" memori kita menggunakan `float` sebisa mungkin.\n\n### Literal Float\n\nLiteral float adalah semua angka real. Meliputi bilangan positif, negatif, bulat, pecahan, dan nol.\n\nTidak seperti lazimnya angka desimal di Indonesia yang dipisahkan dengan koma (`,`), angka desimal pada Java dipisahkan dengan titik (`.`).\n\nContohnya saja:\n\n```java\ndouble PI = 3.141592653589793; \u002F\u002F 15 angka di belakang koma\n\nfloat  tiga  = 3;   \u002F\u002F bilangan bulat\ndouble empat = 4.0; \u002F\u002F bilangan bulat\n```\n\n### Menggunakan Penanda Huruf\n\nKita juga bisa menambahkan huruf `f` atau `d` untuk menandakan bahwa bilangan tersebut merupakan float atau double. Hal ini sangat disarankan sebagai penanda tipe data suatu literal.\n\nContohnya saja:\n\n```java\nfloat  pi = 3.141592f;          \u002F\u002F akhiran `f` harus ada\ndouble PI = 3.141592653589793d; \u002F\u002F akhiran `d` opsional\n\nfloat  tiga  = 3f;   \u002F\u002F akhiran `f` opsional\nfloat  empat = 4.0f; \u002F\u002F akhiran `f` harus ada\ndouble lima  = 5d;   \u002F\u002F akhiran `d` opsional\n```\n\nSecara default Java akan membaca bilangan desimal sebagai tipe data double, oleh karena itu perlu akhiran `f` sebagai penanda bahwa literal tersebut adalah float. Jika tidak maka program akan error, karena Java tidak bisa mengkonversi double ke float data secara otomatis.\n\nDalam melakukan operasi bilangan — khususnya pembagian — tanda ini sangat penting karena dapat mempengaruhi hasil perhitungan. Akan kita bahas lebih lanjut pada bagian selanjutnya.\n\n### Menggunakan Notasi Saintifik\n\nLiteral float juga bisa dibuat dengan notasi saintifik. Kalau lupa, notasi saintifik itu yang menggunakan perkalian pangkat 10. Lebih lanjut bisa dilihat di [sini](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FScientific_notation).\n\nJava menggunakan notasi `e` untuk menuliskan literal. Contohnya seperti ini:\n\n```java\ndouble seribu  = 1e3;  \u002F\u002F 1 * 10^3 = 1000\nfloat  duaJuta = 2e6f; \u002F\u002F 2 * 10^6 = 2000000\n\ndouble bilanganKecil  = 7e-10; \u002F\u002F 0.0000000007\nfloat  bilanganKecil2 = 4e-5f; \u002F\u002F 0.00004\n```\n\n## Operasi pada Tipe Data Float\n\nSemua operasi yang bisa diterapkan pada integer bisa diterapkan juga pada float. Ada aritmatika, assignment aritmatika, dan juga unary operator. Lebih lanjut bisa dilihat di pembahasan [sebelumnya](\u002Fp\u002Fmengenal-tipe-data-integer-pada-java).\n\nMungkin yang sedikit membedakan adalah operasi pembagiannya. Seperti yang kita singgung sebelumnya, pembubuhan huruf `f` atau `d` dapat berpengaruh terhadap hasil perhitungan.\n\nMari kita lihat contohnya.\n\n```java\npublic class TipeDataFloat{\n  public static void main(String[] args) {\n    float a = 22;\n    float b = 7;\n    float hasil = a \u002F b;\n\n    System.out.printf(\"hasil dari %.2f \u002F %.2f adalah %.2f\", a, b, hasil);\n  }\n}\n```\n\n> Perhatian! huruf `f` di atas bukan bagian dari literal float, melainkan bagian dari template string untuk mencetak tipe data float. Lebih lanjut bisa dibaca di [sini](\u002Fp\u002Fsistem-output-pada-bahasa-java)\n\nKalau dijalankan maka hasilnya akan seperti ini:\n\n```\nhasil dari 22.00 \u002F 7.00 adalah 3.14\n```\n\nSejauh ini aman ya.\n\nSekarang kita coba isikan variabel `hasil` dengan operasi pembagian literal integer. Kita akan ubah kode di atas menjadi seperti ini:\n\n```java\npublic class TipeDataFloat{\n  public static void main(String[] args) {\n    float hasil = 22 \u002F 7;\n\n    System.out.printf(\"hasil dari 22 \u002F 7 adalah %.2f\", hasil);\n  }\n}\n```\n\nSekarang coba jalankan kode tersebut dan lihat hasilnya. Pasti hasil perhitungannya akan salah. Alih-alih mencetak angka 3.14 malah mencetak angka 3.00.\n\n```\nhasil dari 22 \u002F 7 adalah 3.00\n```\n\n**Nah loh kenapa bisa begitu?**\n\nIni karena kita menggunakan literal integer untuk melakukan pembagian. Ingat, operasi pembagian pada integer pasti akan dibulatkan, tidak bisa menghasilkan bilangan desimal.\n\nAkibatnya adalah pembagian integer 22 dan 7 — yang menghasilkan angka bulat 3 — dimasukkan ke dalam variabel `hasil`. Sehingga yang masuk ke variabel `hasil` adalah murni hasil perhitungan integer tanpa memperdulikan tipe data dari variabel `hasil`.\n\nNah untuk mengatasi masalah ini kita bisa menggunakan literal `float` dengan membubuhkan huruf `f` di belakang angka. Sehingga kodenya berubah menjadi seperti ini:\n\n```java\npublic class TipeDataFloat{\n  public static void main(String[] args) {\n    float hasil = 22f \u002F 7f;\n    \u002F\u002F bisa juga ditulis `22f \u002F 7` atau `22 \u002F 7f`\n    \u002F\u002F tapi supaya konsisten sebaiknya bubuhkan `f` di keduanya\n\n    System.out.printf(\"hasil dari 10 \u002F 8 adalah %.2f\", hasil);\n  }\n}\n```\n\n## Selanjutnya\n\nSetelah rampung 2 tipe data numerik pada Java (integer dan float), selanjutnya kita akan beralih ke tipe data yang bisa menampung huruf dan karakter.\n\nSelanjutnya kita akan membahas tentang tipe data 'char' pada bahasa Java.\n\nSemoga bermanfaat, selamat berkoding ria 👋\n","\u003Cp>Setelah mengenal tipe data \u003Ca href=\"\u002Fp\u002Fmengenal-tipe-data-integer-pada-java\">integer\u003C\u002Fa>, kali ini kita akan membahas tentang tipe data numerik lainnya, yaitu float.\u003C\u002Fp>\n\u003Ch2 id=\"tentang-tipe-data-float\">Tentang Tipe Data Float\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Floating Points\u003C\u002Fstrong> atau biasa disebut \u003Cstrong>float\u003C\u002Fstrong> merupakan tipe data standar yang dapat menampung bilangan desimal. Kalau \u003Ca href=\"\u002Fp\u002Fmengenal-tipe-data-integer-pada-java\">integer\u003C\u002Fa> hanya bisa menampung bilangan bulat, float ini bisa menampung bilangan pecahan juga. Contohnya: \u003Ccode>1.5\u003C\u002Fcode>, \u003Ccode>2.2\u003C\u002Fcode>, \u003Ccode>3.14\u003C\u002Fcode>, dan lain sebagainya.\u003C\u002Fp>\n\u003Ch3 id=\"sub-tipe-data-float\">Sub Tipe Data Float\u003C\u002Fh3>\n\u003Cp>Tipe data ini dapat dibagi lagi menjadi 2 berdasarkan presisinya — banyaknya angka di belakang koma, yaitu:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>float\u003C\u002Fstrong> — Tipe data berukuran 32-bit (4 byte) yang dapat menampung 6 hingga 7 angka di belakang koma. Tipe primitifnya \u003Ccode>float\u003C\u002Fcode> sedangkan bentuk objeknya adalah \u003Ccode>Float\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>double\u003C\u002Fstrong> — Tipe data berukuran 64-bit (8 byte) yang dapat menampung 15 hingga 16 angka di belakang koma. Tipe primitifnya \u003Ccode>double\u003C\u002Fcode> sedangkan bentuk objeknya adalah \u003Ccode>Double\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Bisa kita lihat, semakin tinggi presisinya semakin besar ukurannya. Karena komputer sekarang yang semakin canggih, penggunaan \u003Ccode>double\u003C\u002Fcode> tidak memberi perbedaan yang signifikan dibanding \u003Ccode>float\u003C\u002Fcode>. Namun ada baiknya untuk &quot;menghemat&quot; memori kita menggunakan \u003Ccode>float\u003C\u002Fcode> sebisa mungkin.\u003C\u002Fp>\n\u003Ch3 id=\"literal-float\">Literal Float\u003C\u002Fh3>\n\u003Cp>Literal float adalah semua angka real. Meliputi bilangan positif, negatif, bulat, pecahan, dan nol.\u003C\u002Fp>\n\u003Cp>Tidak seperti lazimnya angka desimal di Indonesia yang dipisahkan dengan koma (\u003Ccode>,\u003C\u002Fcode>), angka desimal pada Java dipisahkan dengan titik (\u003Ccode>.\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>Contohnya saja:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"double%20PI%20%3D%203.141592653589793%3B%20%2F%2F%2015%20angka%20di%20belakang%20koma%0A%0Afloat%20%20tiga%20%20%3D%203%3B%20%20%20%2F%2F%20bilangan%20bulat%0Adouble%20empat%20%3D%204.0%3B%20%2F%2F%20bilangan%20bulat\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>double PI = 3.141592653589793; \u002F\u002F 15 angka di belakang koma\n\nfloat  tiga  = 3;   \u002F\u002F bilangan bulat\ndouble empat = 4.0; \u002F\u002F bilangan bulat\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch3 id=\"menggunakan-penanda-huruf\">Menggunakan Penanda Huruf\u003C\u002Fh3>\n\u003Cp>Kita juga bisa menambahkan huruf \u003Ccode>f\u003C\u002Fcode> atau \u003Ccode>d\u003C\u002Fcode> untuk menandakan bahwa bilangan tersebut merupakan float atau double. Hal ini sangat disarankan sebagai penanda tipe data suatu literal.\u003C\u002Fp>\n\u003Cp>Contohnya saja:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"float%20%20pi%20%3D%203.141592f%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20akhiran%20%60f%60%20harus%20ada%0Adouble%20PI%20%3D%203.141592653589793d%3B%20%2F%2F%20akhiran%20%60d%60%20opsional%0A%0Afloat%20%20tiga%20%20%3D%203f%3B%20%20%20%2F%2F%20akhiran%20%60f%60%20opsional%0Afloat%20%20empat%20%3D%204.0f%3B%20%2F%2F%20akhiran%20%60f%60%20harus%20ada%0Adouble%20lima%20%20%3D%205d%3B%20%20%20%2F%2F%20akhiran%20%60d%60%20opsional\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>float  pi = 3.141592f;          \u002F\u002F akhiran `f` harus ada\ndouble PI = 3.141592653589793d; \u002F\u002F akhiran `d` opsional\n\nfloat  tiga  = 3f;   \u002F\u002F akhiran `f` opsional\nfloat  empat = 4.0f; \u002F\u002F akhiran `f` harus ada\ndouble lima  = 5d;   \u002F\u002F akhiran `d` opsional\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Secara default Java akan membaca bilangan desimal sebagai tipe data double, oleh karena itu perlu akhiran \u003Ccode>f\u003C\u002Fcode> sebagai penanda bahwa literal tersebut adalah float. Jika tidak maka program akan error, karena Java tidak bisa mengkonversi double ke float data secara otomatis.\u003C\u002Fp>\n\u003Cp>Dalam melakukan operasi bilangan — khususnya pembagian — tanda ini sangat penting karena dapat mempengaruhi hasil perhitungan. Akan kita bahas lebih lanjut pada bagian selanjutnya.\u003C\u002Fp>\n\u003Ch3 id=\"menggunakan-notasi-saintifik\">Menggunakan Notasi Saintifik\u003C\u002Fh3>\n\u003Cp>Literal float juga bisa dibuat dengan notasi saintifik. Kalau lupa, notasi saintifik itu yang menggunakan perkalian pangkat 10. Lebih lanjut bisa dilihat di \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FScientific_notation\">sini\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Java menggunakan notasi \u003Ccode>e\u003C\u002Fcode> untuk menuliskan literal. Contohnya seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"double%20seribu%20%20%3D%201e3%3B%20%20%2F%2F%201%20*%2010%5E3%20%3D%201000%0Afloat%20%20duaJuta%20%3D%202e6f%3B%20%2F%2F%202%20*%2010%5E6%20%3D%202000000%0A%0Adouble%20bilanganKecil%20%20%3D%207e-10%3B%20%2F%2F%200.0000000007%0Afloat%20%20bilanganKecil2%20%3D%204e-5f%3B%20%2F%2F%200.00004\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>double seribu  = 1e3;  \u002F\u002F 1 * 10^3 = 1000\nfloat  duaJuta = 2e6f; \u002F\u002F 2 * 10^6 = 2000000\n\ndouble bilanganKecil  = 7e-10; \u002F\u002F 0.0000000007\nfloat  bilanganKecil2 = 4e-5f; \u002F\u002F 0.00004\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch2 id=\"operasi-pada-tipe-data-float\">Operasi pada Tipe Data Float\u003C\u002Fh2>\n\u003Cp>Semua operasi yang bisa diterapkan pada integer bisa diterapkan juga pada float. Ada aritmatika, assignment aritmatika, dan juga unary operator. Lebih lanjut bisa dilihat di pembahasan \u003Ca href=\"\u002Fp\u002Fmengenal-tipe-data-integer-pada-java\">sebelumnya\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Mungkin yang sedikit membedakan adalah operasi pembagiannya. Seperti yang kita singgung sebelumnya, pembubuhan huruf \u003Ccode>f\u003C\u002Fcode> atau \u003Ccode>d\u003C\u002Fcode> dapat berpengaruh terhadap hasil perhitungan.\u003C\u002Fp>\n\u003Cp>Mari kita lihat contohnya.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"public%20class%20TipeDataFloat%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20float%20a%20%3D%2022%3B%0A%20%20%20%20float%20b%20%3D%207%3B%0A%20%20%20%20float%20hasil%20%3D%20a%20%2F%20b%3B%0A%0A%20%20%20%20System.out.printf(%22hasil%20dari%20%25.2f%20%2F%20%25.2f%20adalah%20%25.2f%22%2C%20a%2C%20b%2C%20hasil)%3B%0A%20%20%7D%0A%7D\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>public class TipeDataFloat{\n  public static void main(String[] args) {\n    float a = 22;\n    float b = 7;\n    float hasil = a \u002F b;\n\n    System.out.printf(\"hasil dari %.2f \u002F %.2f adalah %.2f\", a, b, hasil);\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cblockquote>\n\u003Cp>Perhatian! huruf \u003Ccode>f\u003C\u002Fcode> di atas bukan bagian dari literal float, melainkan bagian dari template string untuk mencetak tipe data float. Lebih lanjut bisa dibaca di \u003Ca href=\"\u002Fp\u002Fsistem-output-pada-bahasa-java\">sini\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Kalau dijalankan maka hasilnya akan seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"hasil%20dari%2022.00%20%2F%207.00%20adalah%203.14\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>hasil dari 22.00 \u002F 7.00 adalah 3.14\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sejauh ini aman ya.\u003C\u002Fp>\n\u003Cp>Sekarang kita coba isikan variabel \u003Ccode>hasil\u003C\u002Fcode> dengan operasi pembagian literal integer. Kita akan ubah kode di atas menjadi seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"public%20class%20TipeDataFloat%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20float%20hasil%20%3D%2022%20%2F%207%3B%0A%0A%20%20%20%20System.out.printf(%22hasil%20dari%2022%20%2F%207%20adalah%20%25.2f%22%2C%20hasil)%3B%0A%20%20%7D%0A%7D\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>public class TipeDataFloat{\n  public static void main(String[] args) {\n    float hasil = 22 \u002F 7;\n\n    System.out.printf(\"hasil dari 22 \u002F 7 adalah %.2f\", hasil);\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sekarang coba jalankan kode tersebut dan lihat hasilnya. Pasti hasil perhitungannya akan salah. Alih-alih mencetak angka 3.14 malah mencetak angka 3.00.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"hasil%20dari%2022%20%2F%207%20adalah%203.00\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>hasil dari 22 \u002F 7 adalah 3.00\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>\u003Cstrong>Nah loh kenapa bisa begitu?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Ini karena kita menggunakan literal integer untuk melakukan pembagian. Ingat, operasi pembagian pada integer pasti akan dibulatkan, tidak bisa menghasilkan bilangan desimal.\u003C\u002Fp>\n\u003Cp>Akibatnya adalah pembagian integer 22 dan 7 — yang menghasilkan angka bulat 3 — dimasukkan ke dalam variabel \u003Ccode>hasil\u003C\u002Fcode>. Sehingga yang masuk ke variabel \u003Ccode>hasil\u003C\u002Fcode> adalah murni hasil perhitungan integer tanpa memperdulikan tipe data dari variabel \u003Ccode>hasil\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Nah untuk mengatasi masalah ini kita bisa menggunakan literal \u003Ccode>float\u003C\u002Fcode> dengan membubuhkan huruf \u003Ccode>f\u003C\u002Fcode> di belakang angka. Sehingga kodenya berubah menjadi seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"public%20class%20TipeDataFloat%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20float%20hasil%20%3D%2022f%20%2F%207f%3B%0A%20%20%20%20%2F%2F%20bisa%20juga%20ditulis%20%6022f%20%2F%207%60%20atau%20%6022%20%2F%207f%60%0A%20%20%20%20%2F%2F%20tapi%20supaya%20konsisten%20sebaiknya%20bubuhkan%20%60f%60%20di%20keduanya%0A%0A%20%20%20%20System.out.printf(%22hasil%20dari%2010%20%2F%208%20adalah%20%25.2f%22%2C%20hasil)%3B%0A%20%20%7D%0A%7D\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>public class TipeDataFloat{\n  public static void main(String[] args) {\n    float hasil = 22f \u002F 7f;\n    \u002F\u002F bisa juga ditulis `22f \u002F 7` atau `22 \u002F 7f`\n    \u002F\u002F tapi supaya konsisten sebaiknya bubuhkan `f` di keduanya\n\n    System.out.printf(\"hasil dari 10 \u002F 8 adalah %.2f\", hasil);\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C\u002Fh2>\n\u003Cp>Setelah rampung 2 tipe data numerik pada Java (integer dan float), selanjutnya kita akan beralih ke tipe data yang bisa menampung huruf dan karakter.\u003C\u002Fp>\n\u003Cp>Selanjutnya kita akan membahas tentang tipe data &#39;char&#39; pada bahasa Java.\u003C\u002Fp>\n\u003Cp>Semoga bermanfaat, selamat berkoding ria 👋\u003C\u002Fp>\n","",[158,176,189,202,215,236],{"id":159,"title":160,"title_en":21,"slug":161,"excerpt":162,"excerpt_en":21,"has_translation":15,"published_at":163,"reading_time":124,"hidden_from_listing":15,"tags":164,"thumbnail_image":21,"og_image":167,"series":168,"authors":173},133,"Python Strings: the Badge That Only Worked for One Name","python-strings","The badge script printed the right name for the person who wrote it and the wrong name for everybody else. Slicing counts characters, and a name is words.","2026-10-28T13:00:00.000Z",[165,166],"python","string","\u002Fog\u002Fpython-strings.png",{"id":169,"title":170,"title_en":171,"slug":172},30,"Koleksi dan String","Collections and Strings","python-collections",[174],{"authors_id":175},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},{"id":177,"title":178,"title_en":21,"slug":179,"excerpt":180,"excerpt_en":21,"has_translation":15,"published_at":181,"reading_time":124,"hidden_from_listing":15,"tags":182,"thumbnail_image":21,"og_image":184,"series":185,"authors":186},132,"Python Tuples: Why All Three Points Are the Same Point","python-tuples","Three points walk into a loop and come out identical. The list was never copied three times; the name was. A tuple makes that bug impossible.","2026-10-28T12:00:00.000Z",[165,183],"tuple","\u002Fog\u002Fpython-tuples.png",{"id":169,"title":170,"title_en":171,"slug":172},[187],{"authors_id":188},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},{"id":190,"title":191,"title_en":21,"slug":192,"excerpt":193,"excerpt_en":21,"has_translation":15,"published_at":194,"reading_time":124,"hidden_from_listing":15,"tags":195,"thumbnail_image":21,"og_image":197,"series":198,"authors":199},131,"Python Sets: the Duplicate That Keeps Coming Back","python-sets","A de-duplication loop that works on clean data leaves four tags where there should be two. The bug is case, and the fix is a `set`.","2026-10-28T11:00:00.000Z",[165,196],"set","\u002Fog\u002Fpython-sets.png",{"id":169,"title":170,"title_en":171,"slug":172},[200],{"authors_id":201},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},{"id":203,"title":204,"title_en":21,"slug":205,"excerpt":206,"excerpt_en":21,"has_translation":15,"published_at":207,"reading_time":124,"hidden_from_listing":15,"tags":208,"thumbnail_image":21,"og_image":210,"series":211,"authors":212},130,"Python Dictionaries: the Key That Isn't There","python-dictionary","A word counter dies the first time it meets a word twice. The fix is one line; what takes longer is knowing which of a dict's three lookups to reach for.","2026-10-28T10:00:00.000Z",[165,209],"dictionary","\u002Fog\u002Fpython-dictionary.png",{"id":169,"title":170,"title_en":171,"slug":172},[213],{"authors_id":214},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},{"id":216,"title":217,"title_en":218,"slug":219,"excerpt":220,"excerpt_en":221,"has_translation":12,"published_at":222,"reading_time":14,"hidden_from_listing":15,"tags":223,"thumbnail_image":21,"og_image":230,"series":231,"authors":233},129,"Biar RAG nggak kena 504: pisahin jalur query dan ingestion","So Your RAG Stops Hitting 504: Split the Query Path From Ingestion","rag-pisah-jalur-query-dan-ingestion","Satu service RAG yang merangkap parsing dan menjawab kueri bakal tumbang pas ada yang upload PDF 200 halaman. Obatnya dua jalur dan satu queue.","One RAG service that both parses uploads and answers queries will fall over the moment someone uploads a 200-page PDF. The cure is two paths and one queue.","2026-10-22T01:30:00.000Z",[224,225,226,227,228,229],"rag","cloud-run","cloud-tasks","gcp","serverless","arsitektur","\u002Fog\u002Frag-pisah-jalur-query-dan-ingestion.png",{"id":232,"title":35,"title_en":36,"slug":37},8,[234],{"authors_id":235},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},{"id":237,"title":238,"title_en":239,"slug":240,"excerpt":241,"excerpt_en":242,"has_translation":12,"published_at":243,"reading_time":124,"hidden_from_listing":15,"tags":244,"thumbnail_image":21,"og_image":251,"series":252,"authors":253},128,"Linear atau graf: cara mengatur banyak agent tanpa loop abadi","Linear or Graph: How to Run Many Agents Without an Eternal Loop","multi-agen-linear-atau-grafik","Satu agent dengan dua puluh tool gampang kacau. Begitu beberapa agent saling revisi, kamu butuh graf yang mendukung cycle dan angka yang membuatnya berhenti.","One agent with twenty tools gets messy fast. Once several agents revise each other, you need a graph that allows cycles and a number that makes it stop.","2026-10-21T16:05:00.000Z",[245,246,247,248,249,250],"multi-agent","langgraph","autogen","orkestrasi","checkpoint","llm","\u002Fog\u002Fmulti-agen-linear-atau-grafik.png",{"id":232,"title":35,"title_en":36,"slug":37},[254],{"authors_id":255},{"id":112,"name":113,"slug":114,"role":115,"profile_picture":21},[257,261,264,267,270,273,276],{"text":258,"depth":259,"id":260},"Tentang Tipe Data Float",2,"tentang-tipe-data-float",{"text":262,"depth":103,"id":263},"Sub Tipe Data Float","sub-tipe-data-float",{"text":265,"depth":103,"id":266},"Literal Float","literal-float",{"text":268,"depth":103,"id":269},"Menggunakan Penanda Huruf","menggunakan-penanda-huruf",{"text":271,"depth":103,"id":272},"Menggunakan Notasi Saintifik","menggunakan-notasi-saintifik",{"text":274,"depth":259,"id":275},"Operasi pada Tipe Data Float","operasi-pada-tipe-data-float",{"text":277,"depth":259,"id":278},"Selanjutnya","selanjutnya",1793295834650]