[{"data":1,"prerenderedAt":211},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-variabel-dan-literal-pada-bahasa-java-with-latest":41},{"navigations":4},[5,20],{"collection":6,"item":7},"series",{"__typename":6,"title":8,"slug":9,"children_series":10},"Artikel","all",[11,14,17],{"title":12,"slug":13},"Algoritma dan Struktur Data","algoritma-struktur-data",{"title":15,"slug":16},"Konsep Dasar Pemrograman","konsep-dasar-pemrograman",{"title":18,"slug":19},"Kecerdasan Artifisial","kecerdasan-artifisial",{"collection":6,"item":21},{"__typename":6,"title":22,"slug":23,"children_series":24},"Tutorial","tutorial",[25,28,31,34],{"title":26,"slug":27},"Belajar Java","belajar-java",{"title":29,"slug":30},"Belajar Pascal","belajar-pascal",{"title":32,"slug":33},"Belajar Python","belajar-python",{"title":35,"slug":36},"Belajar Golang","belajar-golang",{"name":38,"url":39,"show":40},"CC BY-SA","https://creativecommons.org/licenses/by-sa/4.0/",false,{"article":42,"renderedBody":136,"renderedTakeaway":137,"latestArticles":138,"toc":190},{"id":43,"title":44,"slug":45,"excerpt":46,"published_at":47,"thumbnail_image":48,"tags":50,"reading_time":55,"takeway":56,"body":57,"authors":58,"series":64},"54","Variabel dan Literal pada Bahasa Java","variabel-dan-literal-pada-bahasa-java","Literal dan variabel merupakan komponen yang penting, karena 2 hal ini berhubungan langsung dengan data dan manipulasinya.","2022-09-07T07:33:30.000Z",{"id":49},"b3cfdc00-853e-424c-8a85-20c13d627d98",[51,52,53,54],"java","variabel","konsep","dasar",7,null,"Pada kesempatan kali ini kita akan membahas tentang literal dan variabel pada bahasa Java.\n\nLiteral dan variabel merupakan komponen yang akan selalu kita gunakan ketika membuat program, karena 2 hal ini berhubungan langsung dengan data dan manipulasinya.\n\nMari kita bahas.\n\n## Literal pada Bahasa Java\n\nPada konsep pemrograman, istilah literal adalah semua **nilai mentah** yang kita ketikkan pada kode program. Literal ini bisa berupa angka, huruf, kata, kalimat, nilai boolean, dan lain sebagainya.\n\nMasih belum kepikiran? coba kita lihat potongan kode ini.\n\n```java\nSystem.out.println(\"Hello World!\");\n```\n\nNah, kita-kira pada kode tersebut mana yang termasuk literal?\n\nPada kode tersebut, yang termasuk literal adalah `“Hello World!”`. Ini merupakan literal yang bertipe **string** atau disebut “string literal”.\n\nKalau kita lihat, terdapat ciri yang menandakan bahwa `\"Hello World!\"` merupakan string literal. Sebuah string literal selalu diapit oleh tanda petik (`”…”`).\n\nSehingga kita bisa membuat string literal yang lain seperti:\n\n* `“saya makan nasi”`\n* `\"dadu bermata 9\"`\n* `\"1945\"`\n* `\"@$#&^*\"`\n\nItu semua merupakan string literal yang valid.\n\nSebelumnya sudah disebutkan kalau literal memiliki banyak jenis. Tentunya untuk tiap jenis punya ciri dan aturan masing-masing yang berbeda sesuai tipe datanya.\n\nContohnya saja:\n\n* Integer literal (angka bulat) — `1945`, `-24434`, `0x4b`, `0b001`, `0xFeeL`\n* Float literal (angka desimal) — `3.14159`, `.25`, `314E-2L`, `120f`\n* Boolean literal — `true`, `false`\n* Character literal — `'a'`, `'*'`, `'\\n'`, `'\\t'`\n* String literal — bisa dilihat di contoh sebelumnya\n\n> Untuk lebih lengkapnya, tentang literal ini akan kita bahas pada kesempatan selanjutnya ketika membahas tentang tipe data.\n\n**Lalu apa fungsinya?**\n\nLiteral tidak akan bisa terpisahkan dari pemrograman. Ada manipulasi data berarti ada variabel. Ada variabel berarti ada literal. Kalau variabel adalah wadah, literal ini adalah isinya. Oleh karena itu, 2 istilah ini tidak bisa dipisahkan.\n\nOke, selanjutnya kita bahas tentang variabel pada Java.\n\n## Variabel pada Bahasa Java\n\nDalam pemrograman, variabel merupakan tempat penampung data. Variabel ini dapat diisi dengan banyak cara, termasuk adalah dengan literal seperti di atas, atau dengan [expression](https://www.invasikode.com/statement-dan-expression-bedanya-apa).\n\n### Membuat Variabel (Inisialisasi)\n\nHal yang utama terkait dengan variabel adalah, tiap variabel harus punya nama, atau biasa disebut ***identifier***.\n\nIdentifier ini berfungsi sebagai tanda pengenal dan perujuk variabel dalam format yang dimengerti manusia.\n\nSelain identifier, sebagai bahasa dengan gaya ***static typing***, Java juga mengharuskan tiap variabel memiliki tipe data secara eksplisit.\n\nSeperti yang sudah kita singgung sebelumnya, tipe data ini akan menentukan literal apa yang dapat dimasukkan pada variabel terkait.\n\n> Lebih lanjut tentang tipe data pada Bahasa Java akan kita bahas pada kesempatan-kesempatan selanjutnya. Jika menemukan keyword tipe data seperti `String`, `int`, `float`, dan lain sebagainya jangan dipikirkan keras-keras apa artinya hehe..\n\nSecara umum, format pembuatan variabel pada bahasa Java adalah sebagai berikut:\n\n```java\n[tipe_data] [identifier] = [nilai_awal]\n```\n\nContohnya saja:\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    String nama = \"Inva\";\n    int angka = 125;\n    float pecahan = 0.12f;\n    boolean benar = true;\n    \n    System.out.println(\"nama: \" + nama);\n    System.out.println(\"angka: \" + angka);\n    System.out.println(\"pecahan: \" + pecahan);\n    System.out.println(\"benar: \" + benar);\n  }\n}\n```\n\nJika kita jalankan, outputnya akan seperti ini:\n\n```\nnama: Inva\nangka: 125\npecahan: 0.12\nbenar: true\n```\n\nPada contoh tersebut, kita coba membuat 4 variabel dengan tipe data dan nilai awal yang berbeda.\n\nHal yang perlu diperhatikan dalam inisialisasi variabel adalah, nilai awal variabel harus sesuai dengan tipe data yang kita berikan. Jika kita memasukkan nilai atau literal yang tidak sesuai, maka program akan langsung error — hal ini juga berlaku untuk assignment variabel.\n\nContohnya saja:\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    String nama = 125; // angka tidak bisa masuk ke string\n    int angka = \"125\"; // string tidak bisa masuk ke angka\n    \n    System.out.println(\"nama: \" + nama);\n    System.out.println(\"angka: \" + angka);\n  }\n}\n```\n\nBila kita jalankan pasti akan keluar error tipe data yang kurang lebih seperti ini:\n\n```\n/VariabelDanLiteral.java:3: error: incompatible types: int cannot be converted to String\n    String nama = 125; // angka tidak bisa masuk ke string\n                  ^\n/VariabelDanLiteral.java:4: error: incompatible types: String cannot be converted to int\n    int angka = \"125\"; // string tidak bisa masuk ke angka\n                ^\n2 errors\n```\n\nDari errornya saja sudah cukup menjelaskan ya.\n\n### Mengakses Nilai Variabel\n\nVariabel yang sudah kita buat ini bisa diakses dengan cara memanggil namanya. Ketika dipanggil namanya, variabel akan mengeluarkan nilai yang ada didalamnya.\n\nContohnya saja seperti kode di atas. Kita memanggil variabel `nama`, `angka`, `pecahan`, dan `benar` dengan menuliskannya sebagai argumen dari fungsi `println`. Oleh karena itu, yang keluar di layar adalah isi dari variabel terkait.\n\nTidak jarang juga ada yang bingung, apa bedanya pemanggilan variabel dengan penulisan literal string. Terutama ketika kita punya nama variabel yang identik dengan literal yang ingin ditulis.\n\nContohnya seperti ini:\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    String nama = \"Inva\"\n    \n    System.out.println(\"nama\");\n    System.out.println(nama);\n  }\n}\n```\n\nPada contoh tersebut, kita membuat variabel dengan identifier `nama`. Selanjutnya, pada `println` kita mengisi argumen dengan nilai yang sekilas sama.\n\nIngat! Untuk memanggil variabel, kita hanya perlu menuliskan namanya saja. Pada `println` yang pertama, karena kita menggunakan tanda petik, maka Java menganggapnya sebagai literal string biasa.\n\nSedangkan, pada `println` yang kedua kita melakukan pemanggilan pada variabel `nama`, sehingga yang keluar adalah isi dari variabel tersebut yaitu \"Inva\".\n\nSehingga outputnya akan seperti ini:\n\n```\nnama\nInva\n```\n\nTerlihat ya bedanya.\n\nPemanggilan variabel juga dapat digunakan dalam operasi data. Seperti penjumlahan, pengurangan, dan lain sebagainya. Contohnya saja seperti ini:\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 9;\n    int b = 12;\n    \n    String namaDepan = \"Inva\";\n    String namaBelakang = \"sikode\";\n    \n    // nilai variabel jumlah adalah 9 + 12 = 21\n    int jumlah = a + b;\n    // nilai variabel namaLngkp adalah Invasikode\n    String namaLengkap = namaDepan + namaBelakang;\n    \n    System.out.println(jumlah);\n    System.out.println(namaLengkap);\n  }\n}\n```\n\nOutput:\n\n```\n21\nInvasikode\n```\n\nLebih lanjut tentang operasi tipe data akan kita bahas pada kesempatan-kesempatan selanjutnya.\n\n## Memasukkan Nilai pada Variabel (Assignment)\n\nSebagai tempat penyimpan data, variabel juga bisa diubah isinya. Perubahan data ini dilakukan dengan memasukkan data baru, atau disebut dengan assignment.\n\nUntuk melakukan assignment, kita perlu memanggil nama variabel yang sudah diinisialisasi diikuti tanda sama dengan (`=`) dan nilai yang ingin dimasukkan.\n\nContohnya seperti ini:\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 0; // inisialisasi variabel a\n    a = 12;    // mengubah isi variabel a dari 9 menjadi 12\n\n    System.out.println(a);\n  }\n}\n```\n\nJika kita jalankan, maka angka yang akan keluar adalah 12.\n\nSelain menggunakan literal langsung, kita juga bisa menggunakan expresi untuk mengisi variabel. Contohnya saja seperti ini:\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 0; // inisialisasi variabel a\n    a = 10 * 3 - 3; // nilai a = 27\n\n    System.out.println(a);\n  }\n}\n```\n\nJika program tersebut kita jalankan, maka yang akan keluar adalah 27. Ini karena Java secara otomatis menghitung operasi bilangan pada assignment variabel `a`.\n\nSekarang, bagaimana jika kita memanggil variabel untuk mengisi dirinya sendiri? Kira-kira apa yang akan terjadi? Mari kita coba.\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 10; // inisialisasi variabel a\n    a = a * a;  // nilai a = ?\n\n    System.out.println(a);\n  }\n}\n```\n\nPada program tersebut, kita membuat variabel `a` dengan nilai awal 10. Pada baris selanjutnya kita melakukan assignment `a = a * a`, artinya kita mencoba memasukkan nilai variabel `a` ke dalam dirinya sendiri.\n\nCoba kita jalankan.\n\n```\n100\n```\n\nNah loh, yang keluar nilai 100. Nilai ini asalnya dari mana?\n\nSesuai ekspresi yang kita ketikkan pada kode program, ketika kita melakukan pemanggilan variabel maka identifier akan diubah sesuai dengan nilai terkait.\n\nKarena dalam hal ini nilai `a` adalah 10, maka assignment `a = a * a` dapat diartikan menjadi `a = 10 * 10`, jika kita operasikan maka didapat `a = 100`. Dari sanalah asal muasal nilai 100 didapat.\n\nGampangnya, ketika ada proses assignment, kita bisa membacanya dari kanan ke kiri. Nilai di kanan tanda sama dengan adalah nilai baru, sedangkan di sisi kiri tanda adalah variabel yang akan diubah nilainya.\n\nSebagai eksperimen, coba jalankan kode berikut ini dan cari tahu kenapa outputnya bisa begitu.\n\n```java\npublic class VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 10; // inisialisasi variabel a\n    a = a * a;\n    a = a * a;\n    a = a * a;\n\n    System.out.println(a);\n  }\n}\n```\n\n## Selanjutnya\n\nSetelah mengetahui tentang variabel dan literal pada Java, pada kesempatan selanjutnya kita akan membahas tentang cara membuat kode kita menjadi lebih interaktif dengan sistem output.\n\nSelamat berkoding ria 👋",[59],{"authors_id":60},{"name":61,"slug":62,"role":63,"profile_picture":56},"Daffa Izzuddin","izzudd","Writer",{"id":65,"title":66,"slug":67,"articles":68,"parent_series":126},"21","Berkenalan dengan Java","java-intro",[69,79,87,96,106,115,118],{"id":70,"title":71,"slug":72,"excerpt":73,"thumbnail_image":74,"tags":76},"49","Berkenalan dengan Bahasa Java","berkenalan-dengan-bahasa-java","Java merupakan bahasa pemrograman tingkat tinggi dengan paradigma OOP. Bahasa ini punya slogan “write once, run anywhere”",{"id":75},"1b4c8254-328d-43a5-b489-6ed7c7da91a0",[51,77,78,54],"intro","pemrograman",{"id":80,"title":81,"slug":82,"excerpt":83,"thumbnail_image":84,"tags":86},"50","Membuat Program \"Hello World\" pada Java","membuat-program-hello-world-pada-java","Pada kesempatan kali ini kita akan membuat kode pertama kita, yaitu Hello World pada bahasa Java.",{"id":85},"d5ece737-b796-4209-9af8-1b7ce232d554",[51,23,54],{"id":88,"title":89,"slug":90,"excerpt":91,"thumbnail_image":92,"tags":94},"51","Mengenal Struktur Dasar Program Java","mengenal-struktur-dasar-program-java","Ibarat menulis skripsi, membuat program ternyata juga ada strukturnya. Dan struktur ini harus sesuai supaya tidak ditolak oleh sang komputer.",{"id":93},"dbfbf54c-b840-4c44-9f70-ddb80434a47d",[51,95,54,53],"syntax",{"id":97,"title":98,"slug":99,"excerpt":100,"thumbnail_image":101,"tags":103},"52","Penulisan Komentar pada Bahasa Java","penulisan-komentar-pada-bahasa-java","Java memiliki beberapa jenis komentar yaitu komentar satu baris, banyak baris, dan komentar dokumentasi.",{"id":102},"720de22b-6faa-4d9f-b7be-97b17f20f130",[51,104,95,105],"komentar","best-practice",{"id":107,"title":108,"slug":109,"excerpt":110,"thumbnail_image":111,"tags":113},"53","Sistem Output pada Bahasa Java","sistem-output-pada-bahasa-java","Ketika membuat program \"Hello World\" kita sudah melihat method `System.out.println`. Selain method tersebut masih ada method lainnya, mari kita bahas.",{"id":112},"acd35b05-1d92-4944-a89a-d2e5b352f3be",[51,114,54],"input-output",{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":116,"tags":117},{"id":49},[51,52,53,54],{"id":119,"title":120,"slug":121,"excerpt":122,"thumbnail_image":123,"tags":125},"55","Sistem Input pada Bahasa Java","sistem-input-pada-bahasa-java","Pada bahasa Java, sistem input dilayani oleh objek yang bernama Scanner. Objek ini memiliki banyak method yang dapat digunakan untuk sistem input.",{"id":124},"3cdb0187-3373-401c-aeaf-abeda8170a90",[51,114,54],{"id":127,"title":26,"slug":27,"parent_series":128,"children_series":130},"13",{"id":129,"title":22,"slug":23,"parent_series":56},"1",[131,132],{"id":65,"title":66,"slug":67,"cover_image":56},{"id":133,"title":134,"slug":135,"cover_image":56},"22","Variabel, Tipe Data, dan Operasi","java-variabel-tipe-data","\u003Cp>Pada kesempatan kali ini kita akan membahas tentang literal dan variabel pada bahasa Java.\u003C/p>\n\u003Cp>Literal dan variabel merupakan komponen yang akan selalu kita gunakan ketika membuat program, karena 2 hal ini berhubungan langsung dengan data dan manipulasinya.\u003C/p>\n\u003Cp>Mari kita bahas.\u003C/p>\n\u003Ch2 id=\"literal-pada-bahasa-java\">Literal pada Bahasa Java\u003C/h2>\n\u003Cp>Pada konsep pemrograman, istilah literal adalah semua \u003Cstrong>nilai mentah\u003C/strong> yang kita ketikkan pada kode program. Literal ini bisa berupa angka, huruf, kata, kalimat, nilai boolean, dan lain sebagainya.\u003C/p>\n\u003Cp>Masih belum kepikiran? coba kita lihat potongan kode ini.\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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=\"System.out.println(%22Hello%20World!%22)%3B\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>System.out.println(\"Hello World!\");\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Nah, kita-kira pada kode tersebut mana yang termasuk literal?\u003C/p>\n\u003Cp>Pada kode tersebut, yang termasuk literal adalah \u003Ccode>“Hello World!”\u003C/code>. Ini merupakan literal yang bertipe \u003Cstrong>string\u003C/strong> atau disebut “string literal”.\u003C/p>\n\u003Cp>Kalau kita lihat, terdapat ciri yang menandakan bahwa \u003Ccode>&quot;Hello World!&quot;\u003C/code> merupakan string literal. Sebuah string literal selalu diapit oleh tanda petik (\u003Ccode>”…”\u003C/code>).\u003C/p>\n\u003Cp>Sehingga kita bisa membuat string literal yang lain seperti:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>“saya makan nasi”\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>&quot;dadu bermata 9&quot;\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>&quot;1945&quot;\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>&quot;@$#&amp;^*&quot;\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>Itu semua merupakan string literal yang valid.\u003C/p>\n\u003Cp>Sebelumnya sudah disebutkan kalau literal memiliki banyak jenis. Tentunya untuk tiap jenis punya ciri dan aturan masing-masing yang berbeda sesuai tipe datanya.\u003C/p>\n\u003Cp>Contohnya saja:\u003C/p>\n\u003Cul>\n\u003Cli>Integer literal (angka bulat) — \u003Ccode>1945\u003C/code>, \u003Ccode>-24434\u003C/code>, \u003Ccode>0x4b\u003C/code>, \u003Ccode>0b001\u003C/code>, \u003Ccode>0xFeeL\u003C/code>\u003C/li>\n\u003Cli>Float literal (angka desimal) — \u003Ccode>3.14159\u003C/code>, \u003Ccode>.25\u003C/code>, \u003Ccode>314E-2L\u003C/code>, \u003Ccode>120f\u003C/code>\u003C/li>\n\u003Cli>Boolean literal — \u003Ccode>true\u003C/code>, \u003Ccode>false\u003C/code>\u003C/li>\n\u003Cli>Character literal — \u003Ccode>&#39;a&#39;\u003C/code>, \u003Ccode>&#39;*&#39;\u003C/code>, \u003Ccode>&#39;\\n&#39;\u003C/code>, \u003Ccode>&#39;\\t&#39;\u003C/code>\u003C/li>\n\u003Cli>String literal — bisa dilihat di contoh sebelumnya\u003C/li>\n\u003C/ul>\n\u003Cblockquote>\n\u003Cp>Untuk lebih lengkapnya, tentang literal ini akan kita bahas pada kesempatan selanjutnya ketika membahas tentang tipe data.\u003C/p>\n\u003C/blockquote>\n\u003Cp>\u003Cstrong>Lalu apa fungsinya?\u003C/strong>\u003C/p>\n\u003Cp>Literal tidak akan bisa terpisahkan dari pemrograman. Ada manipulasi data berarti ada variabel. Ada variabel berarti ada literal. Kalau variabel adalah wadah, literal ini adalah isinya. Oleh karena itu, 2 istilah ini tidak bisa dipisahkan.\u003C/p>\n\u003Cp>Oke, selanjutnya kita bahas tentang variabel pada Java.\u003C/p>\n\u003Ch2 id=\"variabel-pada-bahasa-java\">Variabel pada Bahasa Java\u003C/h2>\n\u003Cp>Dalam pemrograman, variabel merupakan tempat penampung data. Variabel ini dapat diisi dengan banyak cara, termasuk adalah dengan literal seperti di atas, atau dengan \u003Ca href=\"https://www.invasikode.com/statement-dan-expression-bedanya-apa\">expression\u003C/a>.\u003C/p>\n\u003Ch3 id=\"membuat-variabel-inisialisasi\">Membuat Variabel (Inisialisasi)\u003C/h3>\n\u003Cp>Hal yang utama terkait dengan variabel adalah, tiap variabel harus punya nama, atau biasa disebut \u003Cem>\u003Cstrong>identifier\u003C/strong>\u003C/em>.\u003C/p>\n\u003Cp>Identifier ini berfungsi sebagai tanda pengenal dan perujuk variabel dalam format yang dimengerti manusia.\u003C/p>\n\u003Cp>Selain identifier, sebagai bahasa dengan gaya \u003Cem>\u003Cstrong>static typing\u003C/strong>\u003C/em>, Java juga mengharuskan tiap variabel memiliki tipe data secara eksplisit.\u003C/p>\n\u003Cp>Seperti yang sudah kita singgung sebelumnya, tipe data ini akan menentukan literal apa yang dapat dimasukkan pada variabel terkait.\u003C/p>\n\u003Cblockquote>\n\u003Cp>Lebih lanjut tentang tipe data pada Bahasa Java akan kita bahas pada kesempatan-kesempatan selanjutnya. Jika menemukan keyword tipe data seperti \u003Ccode>String\u003C/code>, \u003Ccode>int\u003C/code>, \u003Ccode>float\u003C/code>, dan lain sebagainya jangan dipikirkan keras-keras apa artinya hehe..\u003C/p>\n\u003C/blockquote>\n\u003Cp>Secara umum, format pembuatan variabel pada bahasa Java adalah sebagai berikut:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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=\"%5Btipe_data%5D%20%5Bidentifier%5D%20%3D%20%5Bnilai_awal%5D\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>[tipe_data] [identifier] = [nilai_awal]\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Contohnya saja:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20String%20nama%20%3D%20%22Inva%22%3B%0A%20%20%20%20int%20angka%20%3D%20125%3B%0A%20%20%20%20float%20pecahan%20%3D%200.12f%3B%0A%20%20%20%20boolean%20benar%20%3D%20true%3B%0A%20%20%20%20%0A%20%20%20%20System.out.println(%22nama%3A%20%22%20%2B%20nama)%3B%0A%20%20%20%20System.out.println(%22angka%3A%20%22%20%2B%20angka)%3B%0A%20%20%20%20System.out.println(%22pecahan%3A%20%22%20%2B%20pecahan)%3B%0A%20%20%20%20System.out.println(%22benar%3A%20%22%20%2B%20benar)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    String nama = \"Inva\";\n    int angka = 125;\n    float pecahan = 0.12f;\n    boolean benar = true;\n    \n    System.out.println(\"nama: \" + nama);\n    System.out.println(\"angka: \" + angka);\n    System.out.println(\"pecahan: \" + pecahan);\n    System.out.println(\"benar: \" + benar);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika kita jalankan, outputnya akan seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\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=\"nama%3A%20Inva%0Aangka%3A%20125%0Apecahan%3A%200.12%0Abenar%3A%20true\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>nama: Inva\nangka: 125\npecahan: 0.12\nbenar: true\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada contoh tersebut, kita coba membuat 4 variabel dengan tipe data dan nilai awal yang berbeda.\u003C/p>\n\u003Cp>Hal yang perlu diperhatikan dalam inisialisasi variabel adalah, nilai awal variabel harus sesuai dengan tipe data yang kita berikan. Jika kita memasukkan nilai atau literal yang tidak sesuai, maka program akan langsung error — hal ini juga berlaku untuk assignment variabel.\u003C/p>\n\u003Cp>Contohnya saja:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20String%20nama%20%3D%20125%3B%20%2F%2F%20angka%20tidak%20bisa%20masuk%20ke%20string%0A%20%20%20%20int%20angka%20%3D%20%22125%22%3B%20%2F%2F%20string%20tidak%20bisa%20masuk%20ke%20angka%0A%20%20%20%20%0A%20%20%20%20System.out.println(%22nama%3A%20%22%20%2B%20nama)%3B%0A%20%20%20%20System.out.println(%22angka%3A%20%22%20%2B%20angka)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    String nama = 125; // angka tidak bisa masuk ke string\n    int angka = \"125\"; // string tidak bisa masuk ke angka\n    \n    System.out.println(\"nama: \" + nama);\n    System.out.println(\"angka: \" + angka);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Bila kita jalankan pasti akan keluar error tipe data yang kurang lebih seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\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=\"%2FVariabelDanLiteral.java%3A3%3A%20error%3A%20incompatible%20types%3A%20int%20cannot%20be%20converted%20to%20String%0A%20%20%20%20String%20nama%20%3D%20125%3B%20%2F%2F%20angka%20tidak%20bisa%20masuk%20ke%20string%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5E%0A%2FVariabelDanLiteral.java%3A4%3A%20error%3A%20incompatible%20types%3A%20String%20cannot%20be%20converted%20to%20int%0A%20%20%20%20int%20angka%20%3D%20%22125%22%3B%20%2F%2F%20string%20tidak%20bisa%20masuk%20ke%20angka%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5E%0A2%20errors\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>/VariabelDanLiteral.java:3: error: incompatible types: int cannot be converted to String\n    String nama = 125; // angka tidak bisa masuk ke string\n                  ^\n/VariabelDanLiteral.java:4: error: incompatible types: String cannot be converted to int\n    int angka = \"125\"; // string tidak bisa masuk ke angka\n                ^\n2 errors\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Dari errornya saja sudah cukup menjelaskan ya.\u003C/p>\n\u003Ch3 id=\"mengakses-nilai-variabel\">Mengakses Nilai Variabel\u003C/h3>\n\u003Cp>Variabel yang sudah kita buat ini bisa diakses dengan cara memanggil namanya. Ketika dipanggil namanya, variabel akan mengeluarkan nilai yang ada didalamnya.\u003C/p>\n\u003Cp>Contohnya saja seperti kode di atas. Kita memanggil variabel \u003Ccode>nama\u003C/code>, \u003Ccode>angka\u003C/code>, \u003Ccode>pecahan\u003C/code>, dan \u003Ccode>benar\u003C/code> dengan menuliskannya sebagai argumen dari fungsi \u003Ccode>println\u003C/code>. Oleh karena itu, yang keluar di layar adalah isi dari variabel terkait.\u003C/p>\n\u003Cp>Tidak jarang juga ada yang bingung, apa bedanya pemanggilan variabel dengan penulisan literal string. Terutama ketika kita punya nama variabel yang identik dengan literal yang ingin ditulis.\u003C/p>\n\u003Cp>Contohnya seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20String%20nama%20%3D%20%22Inva%22%0A%20%20%20%20%0A%20%20%20%20System.out.println(%22nama%22)%3B%0A%20%20%20%20System.out.println(nama)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    String nama = \"Inva\"\n    \n    System.out.println(\"nama\");\n    System.out.println(nama);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada contoh tersebut, kita membuat variabel dengan identifier \u003Ccode>nama\u003C/code>. Selanjutnya, pada \u003Ccode>println\u003C/code> kita mengisi argumen dengan nilai yang sekilas sama.\u003C/p>\n\u003Cp>Ingat! Untuk memanggil variabel, kita hanya perlu menuliskan namanya saja. Pada \u003Ccode>println\u003C/code> yang pertama, karena kita menggunakan tanda petik, maka Java menganggapnya sebagai literal string biasa.\u003C/p>\n\u003Cp>Sedangkan, pada \u003Ccode>println\u003C/code> yang kedua kita melakukan pemanggilan pada variabel \u003Ccode>nama\u003C/code>, sehingga yang keluar adalah isi dari variabel tersebut yaitu &quot;Inva&quot;.\u003C/p>\n\u003Cp>Sehingga outputnya akan seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\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=\"nama%0AInva\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>nama\nInva\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Terlihat ya bedanya.\u003C/p>\n\u003Cp>Pemanggilan variabel juga dapat digunakan dalam operasi data. Seperti penjumlahan, pengurangan, dan lain sebagainya. Contohnya saja seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20int%20a%20%3D%209%3B%0A%20%20%20%20int%20b%20%3D%2012%3B%0A%20%20%20%20%0A%20%20%20%20String%20namaDepan%20%3D%20%22Inva%22%3B%0A%20%20%20%20String%20namaBelakang%20%3D%20%22sikode%22%3B%0A%20%20%20%20%0A%20%20%20%20%2F%2F%20nilai%20variabel%20jumlah%20adalah%209%20%2B%2012%20%3D%2021%0A%20%20%20%20int%20jumlah%20%3D%20a%20%2B%20b%3B%0A%20%20%20%20%2F%2F%20nilai%20variabel%20namaLngkp%20adalah%20Invasikode%0A%20%20%20%20String%20namaLengkap%20%3D%20namaDepan%20%2B%20namaBelakang%3B%0A%20%20%20%20%0A%20%20%20%20System.out.println(jumlah)%3B%0A%20%20%20%20System.out.println(namaLengkap)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 9;\n    int b = 12;\n    \n    String namaDepan = \"Inva\";\n    String namaBelakang = \"sikode\";\n    \n    // nilai variabel jumlah adalah 9 + 12 = 21\n    int jumlah = a + b;\n    // nilai variabel namaLngkp adalah Invasikode\n    String namaLengkap = namaDepan + namaBelakang;\n    \n    System.out.println(jumlah);\n    System.out.println(namaLengkap);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Output:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\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=\"21%0AInvasikode\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>21\nInvasikode\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Lebih lanjut tentang operasi tipe data akan kita bahas pada kesempatan-kesempatan selanjutnya.\u003C/p>\n\u003Ch2 id=\"memasukkan-nilai-pada-variabel-assignment\">Memasukkan Nilai pada Variabel (Assignment)\u003C/h2>\n\u003Cp>Sebagai tempat penyimpan data, variabel juga bisa diubah isinya. Perubahan data ini dilakukan dengan memasukkan data baru, atau disebut dengan assignment.\u003C/p>\n\u003Cp>Untuk melakukan assignment, kita perlu memanggil nama variabel yang sudah diinisialisasi diikuti tanda sama dengan (\u003Ccode>=\u003C/code>) dan nilai yang ingin dimasukkan.\u003C/p>\n\u003Cp>Contohnya seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20int%20a%20%3D%200%3B%20%2F%2F%20inisialisasi%20variabel%20a%0A%20%20%20%20a%20%3D%2012%3B%20%20%20%20%2F%2F%20mengubah%20isi%20variabel%20a%20dari%209%20menjadi%2012%0A%0A%20%20%20%20System.out.println(a)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 0; // inisialisasi variabel a\n    a = 12;    // mengubah isi variabel a dari 9 menjadi 12\n\n    System.out.println(a);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika kita jalankan, maka angka yang akan keluar adalah 12.\u003C/p>\n\u003Cp>Selain menggunakan literal langsung, kita juga bisa menggunakan expresi untuk mengisi variabel. Contohnya saja seperti ini:\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20int%20a%20%3D%200%3B%20%2F%2F%20inisialisasi%20variabel%20a%0A%20%20%20%20a%20%3D%2010%20*%203%20-%203%3B%20%2F%2F%20nilai%20a%20%3D%2027%0A%0A%20%20%20%20System.out.println(a)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 0; // inisialisasi variabel a\n    a = 10 * 3 - 3; // nilai a = 27\n\n    System.out.println(a);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika program tersebut kita jalankan, maka yang akan keluar adalah 27. Ini karena Java secara otomatis menghitung operasi bilangan pada assignment variabel \u003Ccode>a\u003C/code>.\u003C/p>\n\u003Cp>Sekarang, bagaimana jika kita memanggil variabel untuk mengisi dirinya sendiri? Kira-kira apa yang akan terjadi? Mari kita coba.\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20int%20a%20%3D%2010%3B%20%2F%2F%20inisialisasi%20variabel%20a%0A%20%20%20%20a%20%3D%20a%20*%20a%3B%20%20%2F%2F%20nilai%20a%20%3D%20%3F%0A%0A%20%20%20%20System.out.println(a)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 10; // inisialisasi variabel a\n    a = a * a;  // nilai a = ?\n\n    System.out.println(a);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada program tersebut, kita membuat variabel \u003Ccode>a\u003C/code> dengan nilai awal 10. Pada baris selanjutnya kita melakukan assignment \u003Ccode>a = a * a\u003C/code>, artinya kita mencoba memasukkan nilai variabel \u003Ccode>a\u003C/code> ke dalam dirinya sendiri.\u003C/p>\n\u003Cp>Coba kita jalankan.\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\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=\"100\" 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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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>100\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Nah loh, yang keluar nilai 100. Nilai ini asalnya dari mana?\u003C/p>\n\u003Cp>Sesuai ekspresi yang kita ketikkan pada kode program, ketika kita melakukan pemanggilan variabel maka identifier akan diubah sesuai dengan nilai terkait.\u003C/p>\n\u003Cp>Karena dalam hal ini nilai \u003Ccode>a\u003C/code> adalah 10, maka assignment \u003Ccode>a = a * a\u003C/code> dapat diartikan menjadi \u003Ccode>a = 10 * 10\u003C/code>, jika kita operasikan maka didapat \u003Ccode>a = 100\u003C/code>. Dari sanalah asal muasal nilai 100 didapat.\u003C/p>\n\u003Cp>Gampangnya, ketika ada proses assignment, kita bisa membacanya dari kanan ke kiri. Nilai di kanan tanda sama dengan adalah nilai baru, sedangkan di sisi kiri tanda adalah variabel yang akan diubah nilainya.\u003C/p>\n\u003Cp>Sebagai eksperimen, coba jalankan kode berikut ini dan cari tahu kenapa outputnya bisa begitu.\u003C/p>\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/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVA\u003C/span>\n    \u003C/div>\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%20VariabelDanLiteral%7B%0A%20%20public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%20%20%20%20int%20a%20%3D%2010%3B%20%2F%2F%20inisialisasi%20variabel%20a%0A%20%20%20%20a%20%3D%20a%20*%20a%3B%0A%20%20%20%20a%20%3D%20a%20*%20a%3B%0A%20%20%20%20a%20%3D%20a%20*%20a%3B%0A%0A%20%20%20%20System.out.println(a)%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\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 VariabelDanLiteral{\n  public static void main(String[] args) {\n    int a = 10; // inisialisasi variabel a\n    a = a * a;\n    a = a * a;\n    a = a * a;\n\n    System.out.println(a);\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C/h2>\n\u003Cp>Setelah mengetahui tentang variabel dan literal pada Java, pada kesempatan selanjutnya kita akan membahas tentang cara membuat kode kita menjadi lebih interaktif dengan sistem output.\u003C/p>\n\u003Cp>Selamat berkoding ria 👋\u003C/p>\n","",[139,152,167,179],{"id":140,"title":141,"slug":142,"excerpt":143,"thumbnail_image":144,"tags":146},"46","Mengapa C Mulai Ditinggalkan: Duel Filosofi Keamanan Rust vs Kesederhanaan Zig","mengapa-c-mulai-ditinggalkan-duel-filosofi-rust-vs-zig","Pernah denger kalau sekitar 70% celah keamanan kritis software modern itu asalnya dari bahasa C? Iya, bahasa yang udah jadi fondasi internet ini 😅. Yuk, kita bedah duel filosofi Rust vs Zig dan cari tahu mana yang pas buat proyek kalian!",{"id":145},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[147,148,149,150,151],"system-programming","rust","zig","c","memory-safety",{"id":153,"title":154,"slug":155,"excerpt":156,"thumbnail_image":157,"tags":159},"45","Rate Limiting Algorithms: Token Bucket vs Leaky Bucket vs Sliding Window","rate-limiting-algorithms-token-bucket-leaky-bucket-sliding-window","Udah tahu kenapa *rate limiting* itu wajib, tapi masih bingung beda Token Bucket, Leaky Bucket, Fixed Window, dan Sliding Window? Yuk, kita adu empat algoritma ini bareng-bareng dan cari tahu mana yang paling pas buat API kalian!",{"id":158},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[160,161,162,163,164,165,166],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":168,"title":169,"slug":170,"excerpt":171,"thumbnail_image":172,"tags":174},"44","Transactional Outbox Pattern: Solusi Konsistensi Database dan Message Broker Tanpa 2PC","transactional-outbox-pattern-konsistensi-database-message-broker","Pernah nggak kalian lihat pesanan udah masuk database, tapi email konfirmasinya nggak pernah kekirim? Itu gejala *dual-write problem*. Yuk, kita bedah Transactional Outbox Pattern biar data dan *event* kalian nggak lagi berselisih paham!",{"id":173},"e3c617fd-1486-4b82-b937-94fbec846c77",[160,175,165,176,177,161,178],"microservices","database","message-broker","postgresql",{"id":180,"title":181,"slug":182,"excerpt":183,"thumbnail_image":184,"tags":186},"43","Dead Letter Queue (DLQ) & Retry Policy: Menyelamatkan Pesan Nyasar di RabbitMQ Tanpa Bikin Worker Macet","dead-letter-queue-retry-policy-rabbitmq-resilient-messaging","Pernah nggak sih, *worker* kalian nolak satu pesan terus-terusan sampai CPU melonjak 100%? Itu namanya *poison message loop*, jebakan klasik di RabbitMQ. Yuk, kita bahas cara pasang *retry policy* dan *dead letter queue* yang bener!",{"id":185},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[187,177,160,165,175,188,189],"rabbitmq","async","python",[191,195,198,202,205,208],{"text":192,"depth":193,"id":194},"Literal pada Bahasa Java",2,"literal-pada-bahasa-java",{"text":196,"depth":193,"id":197},"Variabel pada Bahasa Java","variabel-pada-bahasa-java",{"text":199,"depth":200,"id":201},"Membuat Variabel (Inisialisasi)",3,"membuat-variabel-inisialisasi",{"text":203,"depth":200,"id":204},"Mengakses Nilai Variabel","mengakses-nilai-variabel",{"text":206,"depth":193,"id":207},"Memasukkan Nilai pada Variabel (Assignment)","memasukkan-nilai-pada-variabel-assignment",{"text":209,"depth":193,"id":210},"Selanjutnya","selanjutnya",1791045070264]