[{"data":1,"prerenderedAt":204},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-berkenalan-dengan-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},"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”","2022-08-11T00:00:00.000Z",{"id":49},"1b4c8254-328d-43a5-b489-6ed7c7da91a0",[51,52,53,54],"java","intro","pemrograman","dasar",3,null,"Java, bahasa pemrograman multi guna yang selalu eksis sejak dulu.\n\nPada saat artikel ini ditulis, banyak perguruan tinggi yang menggunakan Java sebagai bahasa pengantar pemrogramannya. Alasannya beragam, namun yang jelas tidak ada alasan untuk tidak belajar bahasa pemrograman baru.\n\nSebelum lanjut lebih jauh, ada baiknya kalau kita berkenalan dengan bahasa ini terlebih dahulu.\n\n## Tentang Bahasa Java\n\nJava merupakan bahasa pemrograman tingkat tinggi dengan paradigma OOP. Bahasa ini punya slogan “*write once, run anywhere*” karena program Java bisa berjalan di berbagai sistem operasi tanpa perlu mengotak-atik kode lagi.\n\nBahasa ini dipakai oleh [77 juta orang](https://id.wikipedia.org/wiki/Daftar_bahasa_menurut_jumlah_penutur_asli) yang tersebar di Pulau Jawa hingga Suriname. Kalau kalian asal Jawa kemungkinan besar udah kenal dan udah lancar. Skip aja nggak perlu belajar — Baca: Bahasa Jawa.\n\nCanda, bukan Java yang itu, balik lagi.\n\nBahasa ini cukup populer, digunakan sekitar 3 miliar perangkat. Ini karena Java dapat digunakan untuk berbagai hal. Mulai dari pembuatan aplikasi, game, hingga server. Kalau kalian familiar dengan minecraft atau sekarang pakai android, itu juga hasil dari kodingan Java.\n\nTidak seperti bahasa terkompilasi pada umumnya, bahasa Java hanya bisa berjalan di atas mesin virtual yang dinamakan **JVM** (*Java Virtual Machine*). Ini karena bahasa Java dikompilasi menjadi *byte code*, bukan *machine code.*\n\nGaya penulisan Java mirip dengan penulisan C/C++, yaitu dengan menggunakan kurung kurawal sebagai penanda blok fungsi. Tidak hanya itu, deklarasi variabel hingga pembuatan fungsi juga memiliki sintaks yang sangat mirip dengan C/C++.\n\n## Sejarah Bahasa Java\n\nBelajar sejarah tidak begitu penting ya sepertinya. Tapi sekedar tahu tidak ada salahnya kan.\n\nMenurut [wiki](https://en.wikipedia.org/wiki/Java_(programming_language)), proyek pembuatan Java dimulai pada tahun 1991 oleh **James Gosling** di Sun Microsystem.\n\nPada awalnya nama bahasa ini bukan Java, melainkan Oak. Nama ini diambil dari pohon oak yang ada di depan kantor sang pembuat. Perkembangan selanjutnya nama ini berganti menjadi Java yang diambil dari nama [kopi](https://en.wikipedia.org/wiki/Coffee_production_in_Indonesia#Java) yang berasal dari Indonesia. Tidak heran logo java adalah secangkir kopi.\n\nKenapa kopi? karena sebenarnya programmer adalah alat yang dibuat elit global untuk mengubah kafein menjadi kode. Muahaha, canda.\n\nWalau sudah dibuat sejak 1991, bahasa Java baru dirilis secara publik pada tahun 1996. Dengan fitur-fiturnya, Java juga sempat menjajah dunia web dengan Java Applet-nya. Walaupun sekarang sudah ditinggalkan dan diganti dengan aksara jawa — JavaScript maksudnya.\n\nPada tahun 2006, Sun mulai merilis JVM secara publik dengan lisensi ***Open Source*** hingga akhirnya secara penuh menjadi sumber terbuka pada 2007 sampai sekarang.\n\nSaat artikel ini ditulis Java sudah ada pada versi ke 18 dengan implementasinya yang sudah tidak bisa dipisahkan dari dunia teknologi. Mulai dari ponsel, desktop, server, hingga sekecil remot TV bisa jadi di dalamnya ada Java.\n\n## Implementasi Bahasa Java\n\n- **Pengembangan Game** — gamer pasti tahu, Minecraft dibuat dengan bahasa Java. Bukan hanya Minecraft, banyak game lain yang dibuat dengan Java. Walau tidak seterkenal C# dengan Unity Engine-nya atau C++ dengan Unreal Engine-nya, Java bisa jadi pilihan untuk belajar grafis komputer dan membuat game dari awal.\n- **Pengembangan Aplikasi Android** — android dibuat dengan SDK Java, otomatis aplikasi android juga dibuat dengan Java. Walau sekarang ada bahasa seperti Kotlin, Java tetap tidak akan ke mana-mana.\n- **Pengembangan Server dan Web** — Java juga bisa digunakan untuk pembuatan server dan aplikasi web. Dengan [JINI](https://river.apache.org/release-doc/current/specs/html/jini-spec.html)-nya Java mampu untuk menghandel sibuknya permintaan dan menanganinya dengan efisien. Itulah mengapa Java jadi pilihan untuk membuat SaaS (Software as a Service).\n- **Dan Banyak Lagi** — Percayalah, Java ada di mana-mana.\n\n## Lanjut Belajar Java?\n\nSetelah kenalan dengan bahasa Java, selanjutnya kita akan coba koding ringan. Starter code seperti pada umumnya yaitu membuat Hello World pada bahasa Java.\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,72,80,90,100,109,118],{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":70,"tags":71},{"id":49},[51,52,53,54],{"id":73,"title":74,"slug":75,"excerpt":76,"thumbnail_image":77,"tags":79},"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":78},"d5ece737-b796-4209-9af8-1b7ce232d554",[51,23,54],{"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,54,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,54],"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,54],"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,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>Java, bahasa pemrograman multi guna yang selalu eksis sejak dulu.\u003C/p>\n\u003Cp>Pada saat artikel ini ditulis, banyak perguruan tinggi yang menggunakan Java sebagai bahasa pengantar pemrogramannya. Alasannya beragam, namun yang jelas tidak ada alasan untuk tidak belajar bahasa pemrograman baru.\u003C/p>\n\u003Cp>Sebelum lanjut lebih jauh, ada baiknya kalau kita berkenalan dengan bahasa ini terlebih dahulu.\u003C/p>\n\u003Ch2 id=\"tentang-bahasa-java\">Tentang Bahasa Java\u003C/h2>\n\u003Cp>Java merupakan bahasa pemrograman tingkat tinggi dengan paradigma OOP. Bahasa ini punya slogan “\u003Cem>write once, run anywhere\u003C/em>” karena program Java bisa berjalan di berbagai sistem operasi tanpa perlu mengotak-atik kode lagi.\u003C/p>\n\u003Cp>Bahasa ini dipakai oleh \u003Ca href=\"https://id.wikipedia.org/wiki/Daftar_bahasa_menurut_jumlah_penutur_asli\">77 juta orang\u003C/a> yang tersebar di Pulau Jawa hingga Suriname. Kalau kalian asal Jawa kemungkinan besar udah kenal dan udah lancar. Skip aja nggak perlu belajar — Baca: Bahasa Jawa.\u003C/p>\n\u003Cp>Canda, bukan Java yang itu, balik lagi.\u003C/p>\n\u003Cp>Bahasa ini cukup populer, digunakan sekitar 3 miliar perangkat. Ini karena Java dapat digunakan untuk berbagai hal. Mulai dari pembuatan aplikasi, game, hingga server. Kalau kalian familiar dengan minecraft atau sekarang pakai android, itu juga hasil dari kodingan Java.\u003C/p>\n\u003Cp>Tidak seperti bahasa terkompilasi pada umumnya, bahasa Java hanya bisa berjalan di atas mesin virtual yang dinamakan \u003Cstrong>JVM\u003C/strong> (\u003Cem>Java Virtual Machine\u003C/em>). Ini karena bahasa Java dikompilasi menjadi \u003Cem>byte code\u003C/em>, bukan \u003Cem>machine code.\u003C/em>\u003C/p>\n\u003Cp>Gaya penulisan Java mirip dengan penulisan C/C++, yaitu dengan menggunakan kurung kurawal sebagai penanda blok fungsi. Tidak hanya itu, deklarasi variabel hingga pembuatan fungsi juga memiliki sintaks yang sangat mirip dengan C/C++.\u003C/p>\n\u003Ch2 id=\"sejarah-bahasa-java\">Sejarah Bahasa Java\u003C/h2>\n\u003Cp>Belajar sejarah tidak begitu penting ya sepertinya. Tapi sekedar tahu tidak ada salahnya kan.\u003C/p>\n\u003Cp>Menurut \u003Ca href=\"https://en.wikipedia.org/wiki/Java_(programming_language)\">wiki\u003C/a>, proyek pembuatan Java dimulai pada tahun 1991 oleh \u003Cstrong>James Gosling\u003C/strong> di Sun Microsystem.\u003C/p>\n\u003Cp>Pada awalnya nama bahasa ini bukan Java, melainkan Oak. Nama ini diambil dari pohon oak yang ada di depan kantor sang pembuat. Perkembangan selanjutnya nama ini berganti menjadi Java yang diambil dari nama \u003Ca href=\"https://en.wikipedia.org/wiki/Coffee_production_in_Indonesia#Java\">kopi\u003C/a> yang berasal dari Indonesia. Tidak heran logo java adalah secangkir kopi.\u003C/p>\n\u003Cp>Kenapa kopi? karena sebenarnya programmer adalah alat yang dibuat elit global untuk mengubah kafein menjadi kode. Muahaha, canda.\u003C/p>\n\u003Cp>Walau sudah dibuat sejak 1991, bahasa Java baru dirilis secara publik pada tahun 1996. Dengan fitur-fiturnya, Java juga sempat menjajah dunia web dengan Java Applet-nya. Walaupun sekarang sudah ditinggalkan dan diganti dengan aksara jawa — JavaScript maksudnya.\u003C/p>\n\u003Cp>Pada tahun 2006, Sun mulai merilis JVM secara publik dengan lisensi \u003Cem>\u003Cstrong>Open Source\u003C/strong>\u003C/em> hingga akhirnya secara penuh menjadi sumber terbuka pada 2007 sampai sekarang.\u003C/p>\n\u003Cp>Saat artikel ini ditulis Java sudah ada pada versi ke 18 dengan implementasinya yang sudah tidak bisa dipisahkan dari dunia teknologi. Mulai dari ponsel, desktop, server, hingga sekecil remot TV bisa jadi di dalamnya ada Java.\u003C/p>\n\u003Ch2 id=\"implementasi-bahasa-java\">Implementasi Bahasa Java\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Pengembangan Game\u003C/strong> — gamer pasti tahu, Minecraft dibuat dengan bahasa Java. Bukan hanya Minecraft, banyak game lain yang dibuat dengan Java. Walau tidak seterkenal C# dengan Unity Engine-nya atau C++ dengan Unreal Engine-nya, Java bisa jadi pilihan untuk belajar grafis komputer dan membuat game dari awal.\u003C/li>\n\u003Cli>\u003Cstrong>Pengembangan Aplikasi Android\u003C/strong> — android dibuat dengan SDK Java, otomatis aplikasi android juga dibuat dengan Java. Walau sekarang ada bahasa seperti Kotlin, Java tetap tidak akan ke mana-mana.\u003C/li>\n\u003Cli>\u003Cstrong>Pengembangan Server dan Web\u003C/strong> — Java juga bisa digunakan untuk pembuatan server dan aplikasi web. Dengan \u003Ca href=\"https://river.apache.org/release-doc/current/specs/html/jini-spec.html\">JINI\u003C/a>-nya Java mampu untuk menghandel sibuknya permintaan dan menanganinya dengan efisien. Itulah mengapa Java jadi pilihan untuk membuat SaaS (Software as a Service).\u003C/li>\n\u003Cli>\u003Cstrong>Dan Banyak Lagi\u003C/strong> — Percayalah, Java ada di mana-mana.\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"lanjut-belajar-java\">Lanjut Belajar Java?\u003C/h2>\n\u003Cp>Setelah kenalan dengan bahasa Java, selanjutnya kita akan coba koding ringan. Starter code seperti pada umumnya yaitu membuat Hello World pada bahasa Java.\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,201],{"text":192,"depth":193,"id":194},"Tentang Bahasa Java",2,"tentang-bahasa-java",{"text":196,"depth":193,"id":197},"Sejarah Bahasa Java","sejarah-bahasa-java",{"text":199,"depth":193,"id":200},"Implementasi Bahasa Java","implementasi-bahasa-java",{"text":202,"depth":193,"id":203},"Lanjut Belajar Java?","lanjut-belajar-java",1791045066594]