[{"data":1,"prerenderedAt":185},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-bermain-dengan-interpreter-python-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":122,"renderedTakeaway":123,"latestArticles":124,"toc":175},{"id":43,"title":44,"slug":45,"excerpt":46,"published_at":47,"thumbnail_image":48,"tags":50,"reading_time":54,"takeway":55,"body":56,"authors":57,"series":63},"82","Bermain dengan Interpreter Python","bermain-dengan-interpreter-python","Python punya interpreter interaktif yang dapat kita gunakan untuk mengeksekusi kode python secara langsung di terminal.","2021-02-05T03:23:01.000Z",{"id":49},"cd64368d-e008-4c1e-911c-c5184bd4ebb6",[51,52,53,23],"python","cli","tooling",2,null,"Okee sekarang kita lanjut lagi. Setelah sebelumnya kita telah [menginstall interpreter Python](https://invasikode.com/menginstal-python-3-di-windows-dan-linux/), kali ini kita akan coba bermain dengan interpreter Python 3 sekalian berkenalan dengan apa itu interpreter.\n\n## Apa itu Interpreter?\n\nDari tutorial sebelumnya, kita berkali-kali bertemu dengan istilah **interpreter** sebenarnya apa itu interpreter?\n\n**Interpreter** merupakan sebuah program yang berfungsi untuk **menerjemahkan** kode yang kita ketik **secara langsung**, tanpa harus dikompilasi terlebih dahulu menjadi bahasa mesin secara keseluruhan.\n\nInterpreter akan membaca kode kita baris demi baris. Setelah proses pembacaan tersebut, kode yang kita tulis akan **langsung** di eksekusi. Berbeda dengan ketika menggunakan compiler yang setiap baris diubah dahulu menjadi bahasa mesin baru proses eksekusi dilakukan (dengan file .exe misalnya).\n\nNah, karena Python adalah _interpreted language_ maka kita nggak harus membuat file terlebih dahulu untuk bisa menjalankan kode Python. Kita bisa menggunakan interpreter interaktif yang sudah tersedia.\n\n## Menggunakan Interpreter Interaktif Python 3\n\nPertama-tama, silahkan kalian buka dulu interpreternya di perangkat masing-masing.\n\nUntuk yang menggunakan Windows bisa langsung klik di icon python 3 seperti yang ada di tulisan [sebelumnya](https://invasikode.com/menginstal-python-3-di-windows-dan-linux/).\n\nUntuk kalian yang menggunakan Linux silahkan buka terminal dan jalankan perintah berikut\n\n```shell\npython3\n# atau\npython\n```\n\nSiip... kalau sudah, jendela terminal atau konsol Python bakal langsung terbuka. Tampilannya di Windows maupun Linux nggak jauh beda kok.\n\n> 📷 *Ilustrasi: tampilan terminal interaktif Python 3 yang memuat keterangan versi dan prompt tiga kurung siku.*\n\nDi layar itu, kita disajikan informasi versi Python, tanggal rilis, serta beberapa keterangan teknis pendukung. Pada baris paling bawah terdapat tanda `>>>`, nah ini tanda *prompt* tempat kita mengetikkan perintah-perintah Python.\n\nSekarang coba kalian tuliskan perintah berikut ini lalu tekan enter\n\n```python\nprint(\"Hello World\")\n```\n\nSeperti kelihatannya, kode ini akan mencetak tulisan \"Hello World\" di layar kalian. Setelah ditekan enter, output akan langsung tercetak di bawah perintah yang kita tulis. Kurang lebih begini:\n\n```\n>>> print(\"Hello World\")\nHello World\n```\n\nLihat, kita nggak perlu file khusus untuk menjalankan kode python. Ini karena kode python akan langsung dieksekusi oleh interpreter.\n\nYayy... selamat, kode python pertama kita telah selesai dibuat\n\nTerakhir, untuk keluar dari tampilan interpreter Python kalian bisa ketikkan command berikut\n\n```python\nexit()\n```\n\n## Penutup\n\nSudah itu saja, sepertinya nggak ada hal yang spesial lagi dari tampilan interpreter ini. Sesimpel itu memang, tapi hal yang sederhana seperti ini bisa dibuat menjadi suatu yang luar biasa.\n\nSelanjutnya kita akan tetap menggunakan tampilan interpreter ini untuk mengenal beberapa [sintaks dasar dari python](https://invasikode.com/sintaks-dasar-bahasa-python/), jadi jangan sampai lupa cara membuka interpreter python ya...\n\nCukup sekian untuk kesempatan kali ini, semoga bermanfaat. See ya 👋",[58],{"authors_id":59},{"name":60,"slug":61,"role":62,"profile_picture":55},"Daffa Izzuddin","izzudd","Writer",{"id":64,"title":65,"slug":66,"articles":67,"parent_series":100},"16","Berkenalan dengan Bahasa Python","python-intro",[68,79,88,91],{"id":69,"title":70,"slug":71,"excerpt":72,"thumbnail_image":73,"tags":75},"80","Mengenal Bahasa Pemrograman Python","mengenal-bahasa-pemrograman-python","Python didesain sedemikian rupa sehingga sintaksnya mudah terbaca dan sangat manusiawi. Tidak seperti bahasa lain yang punya banyak simbol asing.",{"id":74},"5991bbf8-ba17-4afd-bd6f-20e59d5fc84e",[51,76,77,78],"intro","pemrograman","dasar",{"id":80,"title":81,"slug":82,"excerpt":83,"thumbnail_image":84,"tags":86},"81","Instalasi Python 3 di Windows dan Linux","instalasi-python-3-di-windows-dan-linux","Python 3 ini fungsinya sebagai interpreter dari *script* python agar kode yang kita buat bisa dijalankan.",{"id":85},"cd603384-0f8d-43e9-81c4-49a2cbc8ecf5",[51,87,53],"instalasi",{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":89,"tags":90},{"id":49},[51,52,53,23],{"id":92,"title":93,"slug":94,"excerpt":95,"thumbnail_image":96,"tags":98},"83","Mengenal Sintaks Dasar Bahasa Python","mengenal-sintaks-dasar-bahasa-python","Penulisan kode python tidak sembarangan, ada beberapa aturan sintaks yang harus kita ikuti agar program tidak error.",{"id":97},"238b7ebc-6c79-4848-836c-fbb9f4aa1976",[51,99,78],"syntax",{"id":101,"title":32,"slug":33,"parent_series":102,"children_series":104},"10",{"id":103,"title":22,"slug":23,"parent_series":55},"1",[105,106,110,114,118],{"id":64,"title":65,"slug":66,"cover_image":55},{"id":107,"title":108,"slug":109,"cover_image":55},"17","Variabel, Tipe Data, dan Operasi","python-variabel-tipe-data",{"id":111,"title":112,"slug":113,"cover_image":55},"18","Menggunakan Script Python","python-pemrograman-dengan-script",{"id":115,"title":116,"slug":117,"cover_image":55},"19","Struktur Kontrol","python-struktur-kontrol",{"id":119,"title":120,"slug":121,"cover_image":55},"20","Pemrograman Fungsional dengan Python","python-pemrograman-fungsional","\u003Cp>Okee sekarang kita lanjut lagi. Setelah sebelumnya kita telah \u003Ca href=\"https://invasikode.com/menginstal-python-3-di-windows-dan-linux/\">menginstall interpreter Python\u003C/a>, kali ini kita akan coba bermain dengan interpreter Python 3 sekalian berkenalan dengan apa itu interpreter.\u003C/p>\n\u003Ch2 id=\"apa-itu-interpreter\">Apa itu Interpreter?\u003C/h2>\n\u003Cp>Dari tutorial sebelumnya, kita berkali-kali bertemu dengan istilah \u003Cstrong>interpreter\u003C/strong> sebenarnya apa itu interpreter?\u003C/p>\n\u003Cp>\u003Cstrong>Interpreter\u003C/strong> merupakan sebuah program yang berfungsi untuk \u003Cstrong>menerjemahkan\u003C/strong> kode yang kita ketik \u003Cstrong>secara langsung\u003C/strong>, tanpa harus dikompilasi terlebih dahulu menjadi bahasa mesin secara keseluruhan.\u003C/p>\n\u003Cp>Interpreter akan membaca kode kita baris demi baris. Setelah proses pembacaan tersebut, kode yang kita tulis akan \u003Cstrong>langsung\u003C/strong> di eksekusi. Berbeda dengan ketika menggunakan compiler yang setiap baris diubah dahulu menjadi bahasa mesin baru proses eksekusi dilakukan (dengan file .exe misalnya).\u003C/p>\n\u003Cp>Nah, karena Python adalah \u003Cem>interpreted language\u003C/em> maka kita nggak harus membuat file terlebih dahulu untuk bisa menjalankan kode Python. Kita bisa menggunakan interpreter interaktif yang sudah tersedia.\u003C/p>\n\u003Ch2 id=\"menggunakan-interpreter-interaktif-python-3\">Menggunakan Interpreter Interaktif Python 3\u003C/h2>\n\u003Cp>Pertama-tama, silahkan kalian buka dulu interpreternya di perangkat masing-masing.\u003C/p>\n\u003Cp>Untuk yang menggunakan Windows bisa langsung klik di icon python 3 seperti yang ada di tulisan \u003Ca href=\"https://invasikode.com/menginstal-python-3-di-windows-dan-linux/\">sebelumnya\u003C/a>.\u003C/p>\n\u003Cp>Untuk kalian yang menggunakan Linux silahkan buka terminal dan jalankan perintah 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\">SHELL\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=\"python3%0A%23%20atau%0Apython\" 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\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">python3\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># atau\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#B392F0\">python\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Siip... kalau sudah, jendela terminal atau konsol Python bakal langsung terbuka. Tampilannya di Windows maupun Linux nggak jauh beda kok.\u003C/p>\n\u003Cblockquote>\n\u003Cp>📷 \u003Cem>Ilustrasi: tampilan terminal interaktif Python 3 yang memuat keterangan versi dan prompt tiga kurung siku.\u003C/em>\u003C/p>\n\u003C/blockquote>\n\u003Cp>Di layar itu, kita disajikan informasi versi Python, tanggal rilis, serta beberapa keterangan teknis pendukung. Pada baris paling bawah terdapat tanda \u003Ccode>&gt;&gt;&gt;\u003C/code>, nah ini tanda \u003Cem>prompt\u003C/em> tempat kita mengetikkan perintah-perintah Python.\u003C/p>\n\u003Cp>Sekarang coba kalian tuliskan perintah berikut ini lalu tekan enter\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\">PYTHON\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=\"print(%22Hello%20World%22)\" 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\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Hello World\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Seperti kelihatannya, kode ini akan mencetak tulisan &quot;Hello World&quot; di layar kalian. Setelah ditekan enter, output akan langsung tercetak di bawah perintah yang kita tulis. Kurang lebih begini:\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=\"%3E%3E%3E%20print(%22Hello%20World%22)%0AHello%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>&gt;&gt;&gt; print(\"Hello World\")\nHello World\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Lihat, kita nggak perlu file khusus untuk menjalankan kode python. Ini karena kode python akan langsung dieksekusi oleh interpreter.\u003C/p>\n\u003Cp>Yayy... selamat, kode python pertama kita telah selesai dibuat\u003C/p>\n\u003Cp>Terakhir, untuk keluar dari tampilan interpreter Python kalian bisa ketikkan command 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\">PYTHON\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=\"exit()\" 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\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">exit\u003C/span>\u003Cspan style=\"color:#E1E4E8\">()\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch2 id=\"penutup\">Penutup\u003C/h2>\n\u003Cp>Sudah itu saja, sepertinya nggak ada hal yang spesial lagi dari tampilan interpreter ini. Sesimpel itu memang, tapi hal yang sederhana seperti ini bisa dibuat menjadi suatu yang luar biasa.\u003C/p>\n\u003Cp>Selanjutnya kita akan tetap menggunakan tampilan interpreter ini untuk mengenal beberapa \u003Ca href=\"https://invasikode.com/sintaks-dasar-bahasa-python/\">sintaks dasar dari python\u003C/a>, jadi jangan sampai lupa cara membuka interpreter python ya...\u003C/p>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, semoga bermanfaat. See ya 👋\u003C/p>\n","",[125,138,153,165],{"id":126,"title":127,"slug":128,"excerpt":129,"thumbnail_image":130,"tags":132},"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":131},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[133,134,135,136,137],"system-programming","rust","zig","c","memory-safety",{"id":139,"title":140,"slug":141,"excerpt":142,"thumbnail_image":143,"tags":145},"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":144},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[146,147,148,149,150,151,152],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":154,"title":155,"slug":156,"excerpt":157,"thumbnail_image":158,"tags":160},"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":159},"e3c617fd-1486-4b82-b937-94fbec846c77",[146,161,151,162,163,147,164],"microservices","database","message-broker","postgresql",{"id":166,"title":167,"slug":168,"excerpt":169,"thumbnail_image":170,"tags":172},"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":171},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[173,163,146,151,161,174,51],"rabbitmq","async",[176,179,182],{"text":177,"depth":54,"id":178},"Apa itu Interpreter?","apa-itu-interpreter",{"text":180,"depth":54,"id":181},"Menggunakan Interpreter Interaktif Python 3","menggunakan-interpreter-interaktif-python-3",{"text":183,"depth":54,"id":184},"Penutup","penutup",1791045068530]