[{"data":1,"prerenderedAt":273},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-tipe-data-pada-bahasa-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":87,"series":88,"authors":148,"body_locale":151,"available_locales":152,"body":154,"takeway":21,"prerequisite":21},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,85,86],"java","tipe-data","konsep","dasar","\u002Fog\u002Ftipe-data-pada-bahasa-java.png",{"id":89,"title":90,"title_en":91,"slug":92,"description":93,"description_en":94,"articles":95,"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.",[96,105,121],{"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":87,"series":97,"authors":98},{"id":89,"title":90,"title_en":91,"slug":92},[99],{"authors_id":100},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":106,"title":107,"title_en":108,"slug":109,"excerpt":110,"excerpt_en":111,"has_translation":12,"published_at":112,"reading_time":113,"hidden_from_listing":15,"tags":114,"thumbnail_image":21,"og_image":116,"series":117,"authors":118},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,115],"integer","\u002Fog\u002Fmengenal-tipe-data-integer-pada-java.png",{"id":89,"title":90,"title_en":91,"slug":92},[119],{"authors_id":120},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":122,"title":123,"title_en":124,"slug":125,"excerpt":126,"excerpt_en":127,"has_translation":12,"published_at":128,"reading_time":129,"hidden_from_listing":15,"tags":130,"thumbnail_image":21,"og_image":132,"series":133,"authors":134},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,131],"float","\u002Fog\u002Fmengenal-tipe-data-float-pada-java.png",{"id":89,"title":90,"title_en":91,"slug":92},[135],{"authors_id":136},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},[],{"id":139,"title":60,"title_en":61,"slug":62,"parent_series":140,"children_series":141},13,{"id":101,"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":89,"title":90,"title_en":91,"slug":92,"cover_image":21},[149],{"authors_id":150},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},"id",[153,151],"en","Pada kesempatan kali ini kita akan coba berkenalan sekilas dengan tipe data pada Bahasa Java. Kali ini kita tidak akan ngoding dulu, fokus kenalan aja.\n\n## Sekilas Tentang Tipe Data\n\nFYI, Java masuk ke dalam tipe bahasa yang ***strongly typed***. Artinya programmer harus memberi tipe data secara **eksplisit** pada tiap variabel yang dibuat.\n\nNah, sekarang apa itu tipe data dan kenapa harus ada?\n\nTipe data adalah atribut yang menempel pada sebuah data. Atribut ini nantinya yang akan menentukan perlakuan apa saja yang bisa dilakukan terhadap data tersebut.\n\nContoh saja, kita punya 2 data berupa umur seseorang dan pekerjaan seseorang.\n\nKita tahu bahwa umur pasti akan bertambah tiap orang tersebut ulang tahun, dan pastinya tidak bisa diubah seenak jidat.\n\nDi sisi lain, pekerjaan seseorang bisa berubah-ubah, tapi pekerjaan itu tidak mungkin bertambah tiap dia ulang tahun (kan?).\n\nNah, 2 data ini bisa dikatakan punya tipe yang berbeda. Ini karena perlakuan yang dapat dikenakan pada suatu data tidak selalu dapat dilakukan pada data lainnya.\n\nYah, semoga dapat gambarannya lah ya.\n\n## Jenis Tipe Data pada Java\n\nSecara umum, terdapat 2 jenis tipe data pada Java yaitu tipe data primitif dan bentukan. Tipe bentukan ini biasa disebut dengan objek.\n\nKita coba bahas satu-satu.\n\n### Tipe data Primitif\n\nDengar kata primitif jangan langsung mengarah ke manusia purba ya, dalam pemrograman juga dipakai istilah ini.\n\nTipe data primitif merupakan tipe data yang sudah ada dari sananya. Sudah disediakan oleh bahasa pemrograman, bahkan sudah disediakan oleh hardware yang kita punya. Kebanyakan bahasa pemrograman punya jenis primitif yang sama.\n\nKita mungkin sudah pernah menyinggung hal ini ketika membahas tentang [variabel pada java](https:\u002F\u002Fwww.invasikode.com\u002Fvariabel-dan-literal-pada-bahasa-java). Tapi tidak apa-apa kita coba bahas lagi supaya tidak lupa.\n\n | **Tipe Data** | **Deskripsi**                             | **Nilai**                   | **Ukuran** |\n | ------------- | ----------------------------------------- | --------------------------- | ---------- |\n | **boolean**   | Tipe data logika true false               | true, false                 | 1 bit      |\n | **byte**      | Penyimpan data mentah (karakter, dll)     | -128 - 127                  | 8 bit      |\n | **char**      | Penyimpan karakter unicode                | karakter unicode            | 16 bit     |\n | **short**     | Bilangan bulat jarak pendek               | -32768 - 32767              | 16 bit     |\n | **int**       | Bilangan bulat jarak menengah             | $-2^{31}$ sampai 2147483647 | 32 bit     |\n | **long**      | Bilangan bulat jarak panjang              | $-2^{63}$ sampai $2^{63}-1$ | 64 bit     |\n | **float**     | Desimal presisi 7 digit di belakang koma  | presisi 7 digit             | 32 bit     |\n | **double**    | Desimal presisi 16 digit di belakang koma | presisi 16 digit            | 64 bit     |\n\nNah, dari tipe data primitif tersebut kita bisa bagi lagi menjadi beberapa kelompok yaitu:\n\n- **Logika** — boolean\n- **Karakter** — char\n- **Integer** — byte, short, int, dan long\n- **Float** — float, dan double\n\nUntuk lebih jelasnya akan kita bedah satu-satu pada kesempatan selanjutnya.\n\n### Tipe data Bentukan (Objek)\n\nSelanjutnya ada tipe data bentukan. Seperti namanya, tipe data ini dibentuk sendiri oleh programmer dan bisa terdiri dari gabungan data primitif.\n\nSebagai bahasa OOP, semua hal pada Java adalah Objek. Objek ini merupakan salah satu jenis dari tipe data bentukan. Dalam sebuah objek kita bisa memberikan atribut sesuai kebutuhan kita.\n\nBahkan, tiap data primitif punya padanan objeknya. Untuk membedakan mana yang primitif mana yang objek tinggal kita lihat huruf awalnya saja. Kalau diawali kapital berarti itu objek, sebaliknya kalau diawali huruf kecil maka itu primitif.\n\nContohnya saja tipe data `boolean`, padanan objeknya adalah `Boolean`. Kalau `double` padanan objeknya adalah `Double`. Terakhir yang agak lain ada `int` dengan padanan objeknya yaitu `Integer`.\n\n> Penamaan Objek dengan awalan kapital ini merupakan **typing convention** alias aturan penulisan yang disarankan pada bahasa Java.\n\nTipe bentukan yang mungkin sering kita pakai adalah `String`. Tipe data ini masuk ke tipe bentukan karena dia merupakan gabungan dari beberapa data bertipe `char`.\n\nSelain Objek, terdapat beberapa jenis tipe bentukan yang bisa kita buat diantaranya:\n\n- **class** — Template untuk pembuatan objek\n- **interface** — Template untuk pembuatan class\n- **enum** — Tipe data dengan nilai valid yang ditentukan oleh programmer\n- **array** — Kumpulan dari beberapa data yang dapat diakses dengan indeks\n\nLebih lanjut tentang class, interface, dan enum akan kita bahas lebih lanjut pada bagian OOP pada Java.\n\n## Selanjutnya\n\nSetelah kita kenalan, selanjutnya kita akan coba bahas lebih dalam lagi untuk tiap tipe data. Kita akan bahas tentang aturan-aturan, operasi apa yang bisa dilakukan, hingga cara mengubah tipe data menjadi tipe yang lainnya.\n\nSemoga bermanfaat, selamat berkoding ria 👋\n","\u003Cp>Pada kesempatan kali ini kita akan coba berkenalan sekilas dengan tipe data pada Bahasa Java. Kali ini kita tidak akan ngoding dulu, fokus kenalan aja.\u003C\u002Fp>\n\u003Ch2 id=\"sekilas-tentang-tipe-data\">Sekilas Tentang Tipe Data\u003C\u002Fh2>\n\u003Cp>FYI, Java masuk ke dalam tipe bahasa yang \u003Cem>\u003Cstrong>strongly typed\u003C\u002Fstrong>\u003C\u002Fem>. Artinya programmer harus memberi tipe data secara \u003Cstrong>eksplisit\u003C\u002Fstrong> pada tiap variabel yang dibuat.\u003C\u002Fp>\n\u003Cp>Nah, sekarang apa itu tipe data dan kenapa harus ada?\u003C\u002Fp>\n\u003Cp>Tipe data adalah atribut yang menempel pada sebuah data. Atribut ini nantinya yang akan menentukan perlakuan apa saja yang bisa dilakukan terhadap data tersebut.\u003C\u002Fp>\n\u003Cp>Contoh saja, kita punya 2 data berupa umur seseorang dan pekerjaan seseorang.\u003C\u002Fp>\n\u003Cp>Kita tahu bahwa umur pasti akan bertambah tiap orang tersebut ulang tahun, dan pastinya tidak bisa diubah seenak jidat.\u003C\u002Fp>\n\u003Cp>Di sisi lain, pekerjaan seseorang bisa berubah-ubah, tapi pekerjaan itu tidak mungkin bertambah tiap dia ulang tahun (kan?).\u003C\u002Fp>\n\u003Cp>Nah, 2 data ini bisa dikatakan punya tipe yang berbeda. Ini karena perlakuan yang dapat dikenakan pada suatu data tidak selalu dapat dilakukan pada data lainnya.\u003C\u002Fp>\n\u003Cp>Yah, semoga dapat gambarannya lah ya.\u003C\u002Fp>\n\u003Ch2 id=\"jenis-tipe-data-pada-java\">Jenis Tipe Data pada Java\u003C\u002Fh2>\n\u003Cp>Secara umum, terdapat 2 jenis tipe data pada Java yaitu tipe data primitif dan bentukan. Tipe bentukan ini biasa disebut dengan objek.\u003C\u002Fp>\n\u003Cp>Kita coba bahas satu-satu.\u003C\u002Fp>\n\u003Ch3 id=\"tipe-data-primitif\">Tipe data Primitif\u003C\u002Fh3>\n\u003Cp>Dengar kata primitif jangan langsung mengarah ke manusia purba ya, dalam pemrograman juga dipakai istilah ini.\u003C\u002Fp>\n\u003Cp>Tipe data primitif merupakan tipe data yang sudah ada dari sananya. Sudah disediakan oleh bahasa pemrograman, bahkan sudah disediakan oleh hardware yang kita punya. Kebanyakan bahasa pemrograman punya jenis primitif yang sama.\u003C\u002Fp>\n\u003Cp>Kita mungkin sudah pernah menyinggung hal ini ketika membahas tentang \u003Ca href=\"https:\u002F\u002Fwww.invasikode.com\u002Fvariabel-dan-literal-pada-bahasa-java\">variabel pada java\u003C\u002Fa>. Tapi tidak apa-apa kita coba bahas lagi supaya tidak lupa.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003Cstrong>Tipe Data\u003C\u002Fstrong>\u003C\u002Fth>\n\u003Cth>\u003Cstrong>Deskripsi\u003C\u002Fstrong>\u003C\u002Fth>\n\u003Cth>\u003Cstrong>Nilai\u003C\u002Fstrong>\u003C\u002Fth>\n\u003Cth>\u003Cstrong>Ukuran\u003C\u002Fstrong>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>boolean\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Tipe data logika true false\u003C\u002Ftd>\n\u003Ctd>true, false\u003C\u002Ftd>\n\u003Ctd>1 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>byte\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Penyimpan data mentah (karakter, dll)\u003C\u002Ftd>\n\u003Ctd>-128 - 127\u003C\u002Ftd>\n\u003Ctd>8 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>char\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Penyimpan karakter unicode\u003C\u002Ftd>\n\u003Ctd>karakter unicode\u003C\u002Ftd>\n\u003Ctd>16 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>short\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Bilangan bulat jarak pendek\u003C\u002Ftd>\n\u003Ctd>-32768 - 32767\u003C\u002Ftd>\n\u003Ctd>16 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>int\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Bilangan bulat jarak menengah\u003C\u002Ftd>\n\u003Ctd>\u003Cspan class=\"katex\">\u003Cspan class=\"katex-mathml\">\u003Cmath xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML\">\u003Csemantics>\u003Cmrow>\u003Cmo>−\u003C\u002Fmo>\u003Cmsup>\u003Cmn>2\u003C\u002Fmn>\u003Cmn>31\u003C\u002Fmn>\u003C\u002Fmsup>\u003C\u002Fmrow>\u003Cannotation encoding=\"application\u002Fx-tex\">-2^{31}\u003C\u002Fannotation>\u003C\u002Fsemantics>\u003C\u002Fmath>\u003C\u002Fspan>\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"katex-base\">\u003Cspan class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">−\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord\">2\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.8141em;\">\u003Cspan style=\"top:-3.063em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"katex-sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">\u003Cspan class=\"mord mtight\">31\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> sampai 2147483647\u003C\u002Ftd>\n\u003Ctd>32 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>long\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Bilangan bulat jarak panjang\u003C\u002Ftd>\n\u003Ctd>\u003Cspan class=\"katex\">\u003Cspan class=\"katex-mathml\">\u003Cmath xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML\">\u003Csemantics>\u003Cmrow>\u003Cmo>−\u003C\u002Fmo>\u003Cmsup>\u003Cmn>2\u003C\u002Fmn>\u003Cmn>63\u003C\u002Fmn>\u003C\u002Fmsup>\u003C\u002Fmrow>\u003Cannotation encoding=\"application\u002Fx-tex\">-2^{63}\u003C\u002Fannotation>\u003C\u002Fsemantics>\u003C\u002Fmath>\u003C\u002Fspan>\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"katex-base\">\u003Cspan class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">−\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord\">2\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.8141em;\">\u003Cspan style=\"top:-3.063em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"katex-sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">\u003Cspan class=\"mord mtight\">63\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> sampai \u003Cspan class=\"katex\">\u003Cspan class=\"katex-mathml\">\u003Cmath xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML\">\u003Csemantics>\u003Cmrow>\u003Cmsup>\u003Cmn>2\u003C\u002Fmn>\u003Cmn>63\u003C\u002Fmn>\u003C\u002Fmsup>\u003Cmo>−\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003C\u002Fmrow>\u003Cannotation encoding=\"application\u002Fx-tex\">2^{63}-1\u003C\u002Fannotation>\u003C\u002Fsemantics>\u003C\u002Fmath>\u003C\u002Fspan>\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"katex-base\">\u003Cspan class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord\">2\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.8141em;\">\u003Cspan style=\"top:-3.063em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"katex-sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">\u003Cspan class=\"mord mtight\">63\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003Cspan class=\"mbin\">−\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"katex-base\">\u003Cspan class=\"katex-strut\" style=\"height:0.6444em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">1\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Ftd>\n\u003Ctd>64 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>float\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Desimal presisi 7 digit di belakang koma\u003C\u002Ftd>\n\u003Ctd>presisi 7 digit\u003C\u002Ftd>\n\u003Ctd>32 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>double\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Desimal presisi 16 digit di belakang koma\u003C\u002Ftd>\n\u003Ctd>presisi 16 digit\u003C\u002Ftd>\n\u003Ctd>64 bit\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Nah, dari tipe data primitif tersebut kita bisa bagi lagi menjadi beberapa kelompok yaitu:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Logika\u003C\u002Fstrong> — boolean\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Karakter\u003C\u002Fstrong> — char\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Integer\u003C\u002Fstrong> — byte, short, int, dan long\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Float\u003C\u002Fstrong> — float, dan double\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Untuk lebih jelasnya akan kita bedah satu-satu pada kesempatan selanjutnya.\u003C\u002Fp>\n\u003Ch3 id=\"tipe-data-bentukan-objek\">Tipe data Bentukan (Objek)\u003C\u002Fh3>\n\u003Cp>Selanjutnya ada tipe data bentukan. Seperti namanya, tipe data ini dibentuk sendiri oleh programmer dan bisa terdiri dari gabungan data primitif.\u003C\u002Fp>\n\u003Cp>Sebagai bahasa OOP, semua hal pada Java adalah Objek. Objek ini merupakan salah satu jenis dari tipe data bentukan. Dalam sebuah objek kita bisa memberikan atribut sesuai kebutuhan kita.\u003C\u002Fp>\n\u003Cp>Bahkan, tiap data primitif punya padanan objeknya. Untuk membedakan mana yang primitif mana yang objek tinggal kita lihat huruf awalnya saja. Kalau diawali kapital berarti itu objek, sebaliknya kalau diawali huruf kecil maka itu primitif.\u003C\u002Fp>\n\u003Cp>Contohnya saja tipe data \u003Ccode>boolean\u003C\u002Fcode>, padanan objeknya adalah \u003Ccode>Boolean\u003C\u002Fcode>. Kalau \u003Ccode>double\u003C\u002Fcode> padanan objeknya adalah \u003Ccode>Double\u003C\u002Fcode>. Terakhir yang agak lain ada \u003Ccode>int\u003C\u002Fcode> dengan padanan objeknya yaitu \u003Ccode>Integer\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Penamaan Objek dengan awalan kapital ini merupakan \u003Cstrong>typing convention\u003C\u002Fstrong> alias aturan penulisan yang disarankan pada bahasa Java.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Tipe bentukan yang mungkin sering kita pakai adalah \u003Ccode>String\u003C\u002Fcode>. Tipe data ini masuk ke tipe bentukan karena dia merupakan gabungan dari beberapa data bertipe \u003Ccode>char\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Selain Objek, terdapat beberapa jenis tipe bentukan yang bisa kita buat diantaranya:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong> — Template untuk pembuatan objek\u003C\u002Fli>\n\u003Cli>\u003Cstrong>interface\u003C\u002Fstrong> — Template untuk pembuatan class\u003C\u002Fli>\n\u003Cli>\u003Cstrong>enum\u003C\u002Fstrong> — Tipe data dengan nilai valid yang ditentukan oleh programmer\u003C\u002Fli>\n\u003Cli>\u003Cstrong>array\u003C\u002Fstrong> — Kumpulan dari beberapa data yang dapat diakses dengan indeks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Lebih lanjut tentang class, interface, dan enum akan kita bahas lebih lanjut pada bagian OOP pada Java.\u003C\u002Fp>\n\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C\u002Fh2>\n\u003Cp>Setelah kita kenalan, selanjutnya kita akan coba bahas lebih dalam lagi untuk tiap tipe data. Kita akan bahas tentang aturan-aturan, operasi apa yang bisa dilakukan, hingga cara mengubah tipe data menjadi tipe yang lainnya.\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":113,"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":101,"name":102,"slug":103,"role":104,"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":113,"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":101,"name":102,"slug":103,"role":104,"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":113,"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":101,"name":102,"slug":103,"role":104,"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":113,"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":101,"name":102,"slug":103,"role":104,"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":101,"name":102,"slug":103,"role":104,"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":113,"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":101,"name":102,"slug":103,"role":104,"profile_picture":21},[257,261,264,267,270],{"text":258,"depth":259,"id":260},"Sekilas Tentang Tipe Data",2,"sekilas-tentang-tipe-data",{"text":262,"depth":259,"id":263},"Jenis Tipe Data pada Java","jenis-tipe-data-pada-java",{"text":265,"depth":81,"id":266},"Tipe data Primitif","tipe-data-primitif",{"text":268,"depth":81,"id":269},"Tipe data Bentukan (Objek)","tipe-data-bentukan-objek",{"text":271,"depth":259,"id":272},"Selanjutnya","selanjutnya",1793295835405]