[{"data":1,"prerenderedAt":201},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-membuat-program-hello-world-pada-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":53,"takeway":54,"body":55,"authors":56,"series":62},"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.","2022-08-11T00:00:00.000Z",{"id":49},"d5ece737-b796-4209-9af8-1b7ce232d554",[51,23,52],"java","dasar",1,null,"Setelah [berkenalan dengan bahasa Java](/p/berkenalan-dengan-bahasa-java), kali ini kita akan membuat program pertama kita, yaitu \"Hello world\" dengan bahasa Java.\n\nProgram kali ini sederhana saja, tujuannya untuk menampilkan tulisan \"Hello World\" pada layar konsol. Langsung saja kita mulai.\n\n## Persiapan\n\nSebagai persiapan, silahkan buka [Eclipse](https://www.eclipse.org/ide/), [Netbeans](https://netbeans.org/downloads/), [IntelliJ](https://www.jetbrains.com/idea/download), atau editor lain favorit kalian. Kalau malas instal-instal bisa juga pakai online editor seperti [JDoodle](https://www.jdoodle.com/online-java-compiler/).\n\nSudah, cukup itu saja yang kita butuhkan. Untuk cara pembuatan file program dan menjalankan kode program silahkan disesuaikan dengan editor atau IDE yang digunakan.\n\n> Untuk yang punya perangkat terbatas tapi mau ngoding Java bisa coba pakai VSCode. Instalasi dan setup-nya bisa dilihat di [sini](/p/instalasi-java-dengan-visual-studio-code). Jika dibanding dengan IDE seperi yang disebutkan di atas, VSCode relatif lebih ringan.\n\n## Kode Hello World dengan Java\n\nJika kode editor sudah siap, selanjutnya kita akan mulai ketik-ketik kode.\n\nKode yang kita buat kali ini namanya \"Hello World\". Sesuai namanya, kode ini bertujuan untuk menampilkan tulisan \"Hello World\" layar konsol.\n\nLangung saja, berikut ini kode \"Hello World\" pada bahasa Java. Silahkan coba ketik di kode editor masing-masing — atau salin tempel juga boleh.\n\n```java\npublic class HelloWorld {\n  public static void main(String args[]) {\n    System.out.println(\"Hello World!\");\n  }\n}\n```\n\nJika kita coba jalankan, kode tersebut akan menghasilkan output seperti ini:\n\n```\nHello World!\n```\n\nYayy.. Kode Java pertama kita sudah berhasil dijalankan👏\n\n## Selanjutnya\n\nKarena itungannya masih pemanasan, untuk sekarang tidak perlu dipikirkan dulu apa maksud kode tersebut, kita akan bahas lebih lanjut pada kesempatan selanjutnya.\n\nSelanjutnya kita akan membahas tentang struktur dasar kode Java\n\nHappy coding 👏",[57],{"authors_id":58},{"name":59,"slug":60,"role":61,"profile_picture":54},"Daffa Izzuddin","izzudd","Writer",{"id":63,"title":64,"slug":65,"articles":66,"parent_series":126},"21","Berkenalan dengan Java","java-intro",[67,77,80,90,100,109,118],{"id":68,"title":69,"slug":70,"excerpt":71,"thumbnail_image":72,"tags":74},"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":73},"1b4c8254-328d-43a5-b489-6ed7c7da91a0",[51,75,76,52],"intro","pemrograman",{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":78,"tags":79},{"id":49},[51,23,52],{"id":81,"title":82,"slug":83,"excerpt":84,"thumbnail_image":85,"tags":87},"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":86},"dbfbf54c-b840-4c44-9f70-ddb80434a47d",[51,88,52,89],"syntax","konsep",{"id":91,"title":92,"slug":93,"excerpt":94,"thumbnail_image":95,"tags":97},"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":96},"720de22b-6faa-4d9f-b7be-97b17f20f130",[51,98,88,99],"komentar","best-practice",{"id":101,"title":102,"slug":103,"excerpt":104,"thumbnail_image":105,"tags":107},"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":106},"acd35b05-1d92-4944-a89a-d2e5b352f3be",[51,108,52],"input-output",{"id":110,"title":111,"slug":112,"excerpt":113,"thumbnail_image":114,"tags":116},"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.",{"id":115},"b3cfdc00-853e-424c-8a85-20c13d627d98",[51,117,89,52],"variabel",{"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,108,52],{"id":127,"title":26,"slug":27,"parent_series":128,"children_series":130},"13",{"id":129,"title":22,"slug":23,"parent_series":54},"1",[131,132],{"id":63,"title":64,"slug":65,"cover_image":54},{"id":133,"title":134,"slug":135,"cover_image":54},"22","Variabel, Tipe Data, dan Operasi","java-variabel-tipe-data","\u003Cp>Setelah \u003Ca href=\"/p/berkenalan-dengan-bahasa-java\">berkenalan dengan bahasa Java\u003C/a>, kali ini kita akan membuat program pertama kita, yaitu &quot;Hello world&quot; dengan bahasa Java.\u003C/p>\n\u003Cp>Program kali ini sederhana saja, tujuannya untuk menampilkan tulisan &quot;Hello World&quot; pada layar konsol. Langsung saja kita mulai.\u003C/p>\n\u003Ch2 id=\"persiapan\">Persiapan\u003C/h2>\n\u003Cp>Sebagai persiapan, silahkan buka \u003Ca href=\"https://www.eclipse.org/ide/\">Eclipse\u003C/a>, \u003Ca href=\"https://netbeans.org/downloads/\">Netbeans\u003C/a>, \u003Ca href=\"https://www.jetbrains.com/idea/download\">IntelliJ\u003C/a>, atau editor lain favorit kalian. Kalau malas instal-instal bisa juga pakai online editor seperti \u003Ca href=\"https://www.jdoodle.com/online-java-compiler/\">JDoodle\u003C/a>.\u003C/p>\n\u003Cp>Sudah, cukup itu saja yang kita butuhkan. Untuk cara pembuatan file program dan menjalankan kode program silahkan disesuaikan dengan editor atau IDE yang digunakan.\u003C/p>\n\u003Cblockquote>\n\u003Cp>Untuk yang punya perangkat terbatas tapi mau ngoding Java bisa coba pakai VSCode. Instalasi dan setup-nya bisa dilihat di \u003Ca href=\"/p/instalasi-java-dengan-visual-studio-code\">sini\u003C/a>. Jika dibanding dengan IDE seperi yang disebutkan di atas, VSCode relatif lebih ringan.\u003C/p>\n\u003C/blockquote>\n\u003Ch2 id=\"kode-hello-world-dengan-java\">Kode Hello World dengan Java\u003C/h2>\n\u003Cp>Jika kode editor sudah siap, selanjutnya kita akan mulai ketik-ketik kode.\u003C/p>\n\u003Cp>Kode yang kita buat kali ini namanya &quot;Hello World&quot;. Sesuai namanya, kode ini bertujuan untuk menampilkan tulisan &quot;Hello World&quot; layar konsol.\u003C/p>\n\u003Cp>Langung saja, berikut ini kode &quot;Hello World&quot; pada bahasa Java. Silahkan coba ketik di kode editor masing-masing — atau salin tempel juga boleh.\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%20HelloWorld%20%7B%0A%20%20public%20static%20void%20main(String%20args%5B%5D)%20%7B%0A%20%20%20%20System.out.println(%22Hello%20World!%22)%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 HelloWorld {\n  public static void main(String args[]) {\n    System.out.println(\"Hello World!\");\n  }\n}\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika kita coba jalankan, kode tersebut akan menghasilkan output 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=\"Hello%20World!\" 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>Hello World!\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Yayy.. Kode Java pertama kita sudah berhasil dijalankan👏\u003C/p>\n\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C/h2>\n\u003Cp>Karena itungannya masih pemanasan, untuk sekarang tidak perlu dipikirkan dulu apa maksud kode tersebut, kita akan bahas lebih lanjut pada kesempatan selanjutnya.\u003C/p>\n\u003Cp>Selanjutnya kita akan membahas tentang struktur dasar kode Java\u003C/p>\n\u003Cp>Happy coding 👏\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],{"text":192,"depth":193,"id":194},"Persiapan",2,"persiapan",{"text":196,"depth":193,"id":197},"Kode Hello World dengan Java","kode-hello-world-dengan-java",{"text":199,"depth":193,"id":200},"Selanjutnya","selanjutnya",1791045068328]