[{"data":1,"prerenderedAt":306},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-pass-statement-pada-python-id":72},{},{"featuredPost":5,"navigations":29},{"id":6,"title":7,"title_en":8,"slug":9,"excerpt":10,"excerpt_en":11,"has_translation":12,"published_at":13,"reading_time":14,"hidden_from_listing":15,"tags":16,"thumbnail_image":21,"og_image":22,"series":23,"authors":28},110,"Ketika Pilih Framework Cuma Biar Kelihatan Beda","When You Pick a Framework Just to Look Different","ketika-pilih-framework-cuma-biar-kelihatan-beda","Terakhir kali kamu milih framework atau library baru, itu karena masalahmu butuh alat itu, atau karena alatnya kedengaran keren dan belum banyak yang pakai? Pertanyaan ini nggak enak dijawab. Soalnya keputusan teknologi sering diambil dengan alasan yang nggak pernah ditulis di dokumen teknis mana pun.","The last time you chose a new framework or library, was it because your problem needed that tool, or because it sounded cool and few people around you were using it? That question is uncomfortable. Technology decisions are often made for reasons that never appear in any technical document.",true,"2026-10-06T15:25:21.000Z",5,false,[17,18,19,20],"karier","framework","opini","pengalaman",null,"\u002Fog\u002Fketika-pilih-framework-cuma-biar-kelihatan-beda.png",{"id":24,"title":25,"title_en":26,"slug":27},9,"Artikel","Articles","all",[],[30,46,67],{"collection":31,"item":32},"series",{"__typename":31,"title":25,"title_en":26,"slug":27,"children_series":33},[34,38,42],{"title":35,"title_en":36,"slug":37},"Kecerdasan Artifisial","Artificial Intelligence","kecerdasan-artifisial",{"title":39,"title_en":40,"slug":41},"Konsep Dasar Pemrograman","Programming Fundamentals","konsep-dasar-pemrograman",{"title":43,"title_en":44,"slug":45},"Algoritma dan Struktur Data","Algorithms and Data Structures","algoritma-struktur-data",{"collection":31,"item":47},{"__typename":31,"title":48,"title_en":48,"slug":49,"children_series":50},"Tutorial","tutorial",[51,55,59,63],{"title":52,"title_en":53,"slug":54},"Belajar Python","Learning Python","belajar-python",{"title":56,"title_en":57,"slug":58},"Belajar Golang","Learning Go","belajar-golang",{"title":60,"title_en":61,"slug":62},"Belajar Java","Learning Java","belajar-java",{"title":64,"title_en":65,"slug":66},"Belajar Pascal","Learning Pascal","belajar-pascal",{"collection":31,"item":68},{"__typename":31,"title":69,"title_en":69,"slug":70,"children_series":71},"Lab","lab",[],{"article":73,"renderedBody":187,"renderedTakeaway":188,"latestArticles":189,"toc":283},{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":86,"series":87,"authors":180,"body_locale":183,"available_locales":184,"body":186,"takeway":21,"prerequisite":21},100,"Pass Statement pada Python","The Pass Statement in Python","pass-statement-pada-python","pass statement pada python merupakan statement spesial yang hanya bisa digunakan di dalam compound statement","The pass statement in Python is a special statement you can only use inside a compound statement.","2022-01-17T03:51:58.000Z",3,[83,84,85],"python","syntax","struktur-kontrol","\u002Fog\u002Fpass-statement-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91,"description":92,"description_en":93,"articles":94,"children_series":149,"parent_series":150},20,"Pemrograman Fungsional dengan Python","Functional Programming with Python","python-pemrograman-fungsional","Bungkus kode jadi fungsi biar nggak nulis hal yang sama dua kali. Bahas parameter, return, sampai default argument.","Wrap your code in functions so you stop writing the same thing twice. Parameters, return values, and default arguments.",[95,115,130,135],{"id":96,"title":97,"title_en":98,"slug":99,"excerpt":100,"excerpt_en":101,"has_translation":12,"published_at":102,"reading_time":14,"hidden_from_listing":15,"tags":103,"thumbnail_image":21,"og_image":106,"series":107,"authors":108},98,"Fungsi dan Sub Program pada Python","Functions and Sub Programs in Python","fungsi-dan-sub-program-pada-python","Fungsi atau dalam istilah pemrograman disebut dengan “function” merupakan blok kode yang digunakan untuk menyelesaikan masalah spesifik.","A function is a block of code used to solve a specific problem, and functions are the key to building large programs in Python.","2022-09-06T03:33:06.000Z",[83,104,105],"fungsi","sub-program","\u002Fog\u002Ffungsi-dan-sub-program-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[109],{"authors_id":110},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":116,"title":117,"title_en":118,"slug":119,"excerpt":120,"excerpt_en":121,"has_translation":12,"published_at":122,"reading_time":123,"hidden_from_listing":15,"tags":124,"thumbnail_image":21,"og_image":125,"series":126,"authors":127},99,"Return Statement pada Python","The Return Statement in Python","return-statement-pada-python","Return statement memungkinkan kita mengembalikan nilai yang sudah diproses pada fungsi ke pemanggil.","The return statement lets you send a value a function has already processed back to the caller.","2022-01-03T03:40:03.000Z",6,[83,104,84],"\u002Fog\u002Freturn-statement-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[128],{"authors_id":129},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":86,"series":131,"authors":132},{"id":88,"title":89,"title_en":90,"slug":91},[133],{"authors_id":134},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":136,"title":137,"title_en":138,"slug":139,"excerpt":140,"excerpt_en":141,"has_translation":12,"published_at":142,"reading_time":81,"hidden_from_listing":15,"tags":143,"thumbnail_image":21,"og_image":144,"series":145,"authors":146},101,"Default Argument dan Keyword Argument pada Python","Default Argument and Keyword Argument in Python","default-argument-pada-python","Default argument merupakan argument fungsi yang memiliki nilai asal, dengan ini kita bisa membuat argument opsional","A default argument is a function argument with an initial value, which lets you make arguments optional.","2024-02-12T14:01:05.000Z",[83,104,84],"\u002Fog\u002Fdefault-argument-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[147],{"authors_id":148},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},[],{"id":151,"title":52,"title_en":53,"slug":54,"parent_series":152,"children_series":153},10,{"id":111,"title":48,"title_en":48,"slug":49},[154,159,164,169,174,175],{"id":155,"title":156,"title_en":157,"slug":158,"cover_image":21},16,"Berkenalan dengan Bahasa Python","Getting Started with Python","python-intro",{"id":160,"title":161,"title_en":162,"slug":163,"cover_image":21},17,"Variabel, Tipe Data, dan Operasi","Variables, Types, and Operations","python-variabel-tipe-data",{"id":165,"title":166,"title_en":167,"slug":168,"cover_image":21},18,"Menggunakan Script Python","Working with Python Scripts","python-pemrograman-dengan-script",{"id":170,"title":171,"title_en":172,"slug":173,"cover_image":21},19,"Struktur Kontrol","Control Structures","python-struktur-kontrol",{"id":88,"title":89,"title_en":90,"slug":91,"cover_image":21},{"id":176,"title":177,"title_en":178,"slug":179,"cover_image":21},30,"Koleksi dan String","Collections and Strings","python-collections",[181],{"authors_id":182},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},"id",[185,183],"en","Pernah membayangkan kalau ada kode yang sama sekali tidak melakukan apa-apa? Nah bahasa python punya tuh, namanya **`pass` statement**. Mungkin ada yang bertanya-tanya **\"kalau ngga ngapa-ngapain kenapa harus ada?\"**. Yah, walaupun ngga ngapa-ngapain tapi statement ini masih punya fungsi dalam kode python kita. Kira-kira apa? mari kita bahas.\n\n## Tentang Pass Statement\n\n`pass` statement pada python merupakan statement spesial yang hanya bisa digunakan di dalam [compound statement](https:\u002F\u002Fdocs.python.org\u002F3\u002Freference\u002Fcompound_stmts.html).\n\n**Apa itu compound statement?**\n\nMenurut dokumentasi python, compound statement adalah statement yang terdiri dari beberapa statement lainnya. Sederhananya, statement yang membutuhkan tubuh untuk bisa digunakan. Contohnya seperti [percabangan](\u002Fp\u002Fpercabangan-dengan-if-elif-else-pada-python) `if`, perulangan [`for`](\u002Fp\u002Fperulangan-dengan-for-loop-pada-python) dan [`while`](\u002Fp\u002Fperulangan-dengan-while-loop-pada-python), definisi fungsi `def`, dan lainnya.\n\nNah, menurut tata bahasa python, tubuh dari compound statement ini disebut dengan ***suite***. Ada aturan yang harus diikuti dalam pembuatan suite ini, salah satunya adalah suite tidak boleh kosong. Hal ini menyebabkan kita tidak bisa membuat percabangan, perulangan, dan deklarasi fungsi kosong.\n\n❌ Syntax ini akan error pada python\n\n```python\nif 1 > 0:\n\nfor i in range(10):\n\ndef fungsi_kosong():\n```\n\nSebagai perbandingan, di bawah ini adalah logika yang sama jika dituliskan dengan bahasa JavaScript yang valid\n\n```javascript\nif (1 > 0)\n\nfor (let i=1; i\u003C10; i++)\n\nfunction fungsiKosong(){}\n```\n\nTapi apa gunanya? alasan apa yang menyebabkan sampai harus membuat compound statement kosong?\n\nSalah satu alasannya adalah ketika kita sudah tahu langkah penyelesaian masalah, tetapi masih bingung implementasinya seperti apa. Kalau dalam penulisan fungsi, kadang ada yang menuliskan nama fungsinya terlebih dahulu, implementasinya dipikir belakangan.\n\nUntuk alasan inilah diperlukan yang namanya ***placeholder*** pada python. Fungsinya untuk mengisi compound statement yang suite-nya tidak boleh kosong. Nah, salah satu dari placeholder ini adalah `pass` statement.\n\n## Format Penulisan Pass Statement\n\n`pass` statement dapat ditulis berdiri sendiri, seperti halnya [break](\u002Fp\u002Fstatement-break-dan-continue-pada-python), [continue](\u002Fp\u002Fstatement-break-dan-continue-pada-python), dan [return](\u002Fp\u002Freturn-statement-pada-python) statement.\n\n```python\nif 1 > 0:\n    pass\n\nfor i in range(10):\n    pass\n\ndef fungsi_kosong():\n    pass\n```\n\nSekarang kalau kode tersebut dijalankan maka dijamin tidak akan terjadi error.\n\n> Karena pass statement ditulis sebagai tubuh dari *compound* statement, maka indentasi tetap perlu diperhatikan.\n\n## Alternatif Selain Pass Statement\n\nSelain `pass` statement, python juga punya beberapa kode yang \"ngga ngapa-ngapain\", berikut ini beberapa diantaranya.\n\n### Konstanta yang Berdiri Sendiri\n\nPada python, sebuah nilai atau dalam hal ini kita sebut konstanta tidak akan berguna jika berdiri sendiri. Walaupun begitu, konstanta yang berdiri sendiri tetap dianggap sebagai sebuah statement.\n\nKode di bawah ini valid\n\n```python\nif 1 > 0:\n    true\n\nfor i in range(10):\n    false\n\ndef fungsi_kosong():\n    \"kode ini valid\"\n```\n\n### Elipsis\n\nCara selanjutnya adalah menggunakan elipsis alias titik tiga (`...`). Sekedar info, elipsis ini merupakan sebuah objek tersendiri di python yang memiliki tipe data tersendiri.\n\nBisa kita coba cek tipenya di interpreter interaktif.\n\n```\n>>> type(...)\n\u003Cclass 'ellipsis'>\n>>> e = ...\n>>> type(e)\n\u003Cclass 'ellipsis'>\n```\n\nNah, elipsis ini juga bisa kita gunakan sebagai pengganti `pass` statement.\n\n### Docstring\n\nTerakhir — walau sebenarnya masih ada cara lainnya — adalah dengan menggunakan **docstring**. Nah, apa itu docstring?\n\nSekilas saja, docstring adalah komentar spesial yang digunakan untuk keperluan dokumentasi kode program. Bentuknya seperti ini:\n\n```python\n\"\"\"\n    ini adalah docstring\n    ini baris ke dua docstring\n    docstring bekerja layaknya komentar\n    oleh karena itu docstring tidak akan dieksekusi\n\"\"\"\n```\n\nNah, docstring ini sangat berguna untuk memberi keterangan pada fungsi yang akan kita tulis. Kita dapat menuliskan deskripsi panjang dengan cara ini.\n\n```python\ndef hitung_luas_lingkaran(r):\n    \"\"\"\n        fungsi ini berguna untuk mendapatkan luas lingkaran\n        rumus: luas = pi * r * r\n\n        implementasi nanti\n    \"\"\"\n```\n\n## Selanjutnya…\n\nYah, jadi itu tentang `pass` statement, walaupun \"ngga ngapa-ngapain\" tetap saja ada gunanya. Siapa tahu berguna ya kan.\n\nCukup sekian untuk kesempatan kali ini, selanjutnya kita akan membahas tentang [default argument](\u002Fp\u002Fdefault-argument-pada-python) pada python 3.\n\nSee ya 👋\n","\u003Cp>Pernah membayangkan kalau ada kode yang sama sekali tidak melakukan apa-apa? Nah bahasa python punya tuh, namanya \u003Cstrong>\u003Ccode>pass\u003C\u002Fcode> statement\u003C\u002Fstrong>. Mungkin ada yang bertanya-tanya \u003Cstrong>&quot;kalau ngga ngapa-ngapain kenapa harus ada?&quot;\u003C\u002Fstrong>. Yah, walaupun ngga ngapa-ngapain tapi statement ini masih punya fungsi dalam kode python kita. Kira-kira apa? mari kita bahas.\u003C\u002Fp>\n\u003Ch2 id=\"tentang-pass-statement\">Tentang Pass Statement\u003C\u002Fh2>\n\u003Cp>\u003Ccode>pass\u003C\u002Fcode> statement pada python merupakan statement spesial yang hanya bisa digunakan di dalam \u003Ca href=\"https:\u002F\u002Fdocs.python.org\u002F3\u002Freference\u002Fcompound_stmts.html\">compound statement\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Apa itu compound statement?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Menurut dokumentasi python, compound statement adalah statement yang terdiri dari beberapa statement lainnya. Sederhananya, statement yang membutuhkan tubuh untuk bisa digunakan. Contohnya seperti \u003Ca href=\"\u002Fp\u002Fpercabangan-dengan-if-elif-else-pada-python\">percabangan\u003C\u002Fa> \u003Ccode>if\u003C\u002Fcode>, perulangan \u003Ca href=\"\u002Fp\u002Fperulangan-dengan-for-loop-pada-python\">\u003Ccode>for\u003C\u002Fcode>\u003C\u002Fa> dan \u003Ca href=\"\u002Fp\u002Fperulangan-dengan-while-loop-pada-python\">\u003Ccode>while\u003C\u002Fcode>\u003C\u002Fa>, definisi fungsi \u003Ccode>def\u003C\u002Fcode>, dan lainnya.\u003C\u002Fp>\n\u003Cp>Nah, menurut tata bahasa python, tubuh dari compound statement ini disebut dengan \u003Cem>\u003Cstrong>suite\u003C\u002Fstrong>\u003C\u002Fem>. Ada aturan yang harus diikuti dalam pembuatan suite ini, salah satunya adalah suite tidak boleh kosong. Hal ini menyebabkan kita tidak bisa membuat percabangan, perulangan, dan deklarasi fungsi kosong.\u003C\u002Fp>\n\u003Cp>❌ Syntax ini akan error pada python\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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=\"if%201%20%3E%200%3A%0A%0Afor%20i%20in%20range(10)%3A%0A%0Adef%20fungsi_kosong()%3A\" 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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> >\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">for\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> i \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">in\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> range\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> fungsi_kosong\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">():\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sebagai perbandingan, di bawah ini adalah logika yang sama jika dituliskan dengan bahasa JavaScript yang valid\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">JAVASCRIPT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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=\"if%20(1%20%3E%200)%0A%0Afor%20(let%20i%3D1%3B%20i%3C10%3B%20i%2B%2B)%0A%0Afunction%20fungsiKosong()%7B%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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> >\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">for\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">let\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> i\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; i\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">; i\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">++\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">function\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> fungsiKosong\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(){}\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Tapi apa gunanya? alasan apa yang menyebabkan sampai harus membuat compound statement kosong?\u003C\u002Fp>\n\u003Cp>Salah satu alasannya adalah ketika kita sudah tahu langkah penyelesaian masalah, tetapi masih bingung implementasinya seperti apa. Kalau dalam penulisan fungsi, kadang ada yang menuliskan nama fungsinya terlebih dahulu, implementasinya dipikir belakangan.\u003C\u002Fp>\n\u003Cp>Untuk alasan inilah diperlukan yang namanya \u003Cem>\u003Cstrong>placeholder\u003C\u002Fstrong>\u003C\u002Fem> pada python. Fungsinya untuk mengisi compound statement yang suite-nya tidak boleh kosong. Nah, salah satu dari placeholder ini adalah \u003Ccode>pass\u003C\u002Fcode> statement.\u003C\u002Fp>\n\u003Ch2 id=\"format-penulisan-pass-statement\">Format Penulisan Pass Statement\u003C\u002Fh2>\n\u003Cp>\u003Ccode>pass\u003C\u002Fcode> statement dapat ditulis berdiri sendiri, seperti halnya \u003Ca href=\"\u002Fp\u002Fstatement-break-dan-continue-pada-python\">break\u003C\u002Fa>, \u003Ca href=\"\u002Fp\u002Fstatement-break-dan-continue-pada-python\">continue\u003C\u002Fa>, dan \u003Ca href=\"\u002Fp\u002Freturn-statement-pada-python\">return\u003C\u002Fa> statement.\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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=\"if%201%20%3E%200%3A%0A%20%20%20%20pass%0A%0Afor%20i%20in%20range(10)%3A%0A%20%20%20%20pass%0A%0Adef%20fungsi_kosong()%3A%0A%20%20%20%20pass\" 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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> >\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    pass\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">for\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> i \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">in\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> range\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    pass\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> fungsi_kosong\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">():\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    pass\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sekarang kalau kode tersebut dijalankan maka dijamin tidak akan terjadi error.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Karena pass statement ditulis sebagai tubuh dari \u003Cem>compound\u003C\u002Fem> statement, maka indentasi tetap perlu diperhatikan.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"alternatif-selain-pass-statement\">Alternatif Selain Pass Statement\u003C\u002Fh2>\n\u003Cp>Selain \u003Ccode>pass\u003C\u002Fcode> statement, python juga punya beberapa kode yang &quot;ngga ngapa-ngapain&quot;, berikut ini beberapa diantaranya.\u003C\u002Fp>\n\u003Ch3 id=\"konstanta-yang-berdiri-sendiri\">Konstanta yang Berdiri Sendiri\u003C\u002Fh3>\n\u003Cp>Pada python, sebuah nilai atau dalam hal ini kita sebut konstanta tidak akan berguna jika berdiri sendiri. Walaupun begitu, konstanta yang berdiri sendiri tetap dianggap sebagai sebuah statement.\u003C\u002Fp>\n\u003Cp>Kode di bawah ini valid\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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=\"if%201%20%3E%200%3A%0A%20%20%20%20true%0A%0Afor%20i%20in%20range(10)%3A%0A%20%20%20%20false%0A%0Adef%20fungsi_kosong()%3A%0A%20%20%20%20%22kode%20ini%20valid%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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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:#F97583\">if\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> >\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    true\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">for\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> i \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">in\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> range\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    false\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> fungsi_kosong\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">():\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"kode ini valid\"\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch3 id=\"elipsis\">Elipsis\u003C\u002Fh3>\n\u003Cp>Cara selanjutnya adalah menggunakan elipsis alias titik tiga (\u003Ccode>...\u003C\u002Fcode>). Sekedar info, elipsis ini merupakan sebuah objek tersendiri di python yang memiliki tipe data tersendiri.\u003C\u002Fp>\n\u003Cp>Bisa kita coba cek tipenya di interpreter interaktif.\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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%20type(...)%0A%3Cclass%20'ellipsis'%3E%0A%3E%3E%3E%20e%20%3D%20...%0A%3E%3E%3E%20type(e)%0A%3Cclass%20'ellipsis'%3E\" 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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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; type(...)\n&lt;class 'ellipsis'&gt;\n&gt;&gt;&gt; e = ...\n&gt;&gt;&gt; type(e)\n&lt;class 'ellipsis'&gt;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Nah, elipsis ini juga bisa kita gunakan sebagai pengganti \u003Ccode>pass\u003C\u002Fcode> statement.\u003C\u002Fp>\n\u003Ch3 id=\"docstring\">Docstring\u003C\u002Fh3>\n\u003Cp>Terakhir — walau sebenarnya masih ada cara lainnya — adalah dengan menggunakan \u003Cstrong>docstring\u003C\u002Fstrong>. Nah, apa itu docstring?\u003C\u002Fp>\n\u003Cp>Sekilas saja, docstring adalah komentar spesial yang digunakan untuk keperluan dokumentasi kode program. Bentuknya seperti ini:\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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=\"%22%22%22%0A%20%20%20%20ini%20adalah%20docstring%0A%20%20%20%20ini%20baris%20ke%20dua%20docstring%0A%20%20%20%20docstring%20bekerja%20layaknya%20komentar%0A%20%20%20%20oleh%20karena%20itu%20docstring%20tidak%20akan%20dieksekusi%0A%22%22%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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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:#9ECBFF\">\"\"\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    ini adalah docstring\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    ini baris ke dua docstring\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    docstring bekerja layaknya komentar\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    oleh karena itu docstring tidak akan dieksekusi\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">\"\"\"\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Nah, docstring ini sangat berguna untuk memberi keterangan pada fungsi yang akan kita tulis. Kita dapat menuliskan deskripsi panjang dengan cara ini.\u003C\u002Fp>\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\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\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=\"def%20hitung_luas_lingkaran(r)%3A%0A%20%20%20%20%22%22%22%0A%20%20%20%20%20%20%20%20fungsi%20ini%20berguna%20untuk%20mendapatkan%20luas%20lingkaran%0A%20%20%20%20%20%20%20%20rumus%3A%20luas%20%3D%20pi%20*%20r%20*%20r%0A%0A%20%20%20%20%20%20%20%20implementasi%20nanti%0A%20%20%20%20%22%22%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\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\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:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> hitung_luas_lingkaran\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(r):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"\"\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        fungsi ini berguna untuk mendapatkan luas lingkaran\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        rumus: luas = pi * r * r\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">        implementasi nanti\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#9ECBFF\">    \"\"\"\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch2 id=\"selanjutnya\">Selanjutnya…\u003C\u002Fh2>\n\u003Cp>Yah, jadi itu tentang \u003Ccode>pass\u003C\u002Fcode> statement, walaupun &quot;ngga ngapa-ngapain&quot; tetap saja ada gunanya. Siapa tahu berguna ya kan.\u003C\u002Fp>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, selanjutnya kita akan membahas tentang \u003Ca href=\"\u002Fp\u002Fdefault-argument-pada-python\">default argument\u003C\u002Fa> pada python 3.\u003C\u002Fp>\n\u003Cp>See ya 👋\u003C\u002Fp>\n","",[190,203,216,229,242,263],{"id":191,"title":192,"title_en":21,"slug":193,"excerpt":194,"excerpt_en":21,"has_translation":15,"published_at":195,"reading_time":123,"hidden_from_listing":15,"tags":196,"thumbnail_image":21,"og_image":198,"series":199,"authors":200},133,"Python Strings: the Badge That Only Worked for One Name","python-strings","The badge script printed the right name for the person who wrote it and the wrong name for everybody else. Slicing counts characters, and a name is words.","2026-10-28T13:00:00.000Z",[83,197],"string","\u002Fog\u002Fpython-strings.png",{"id":176,"title":177,"title_en":178,"slug":179},[201],{"authors_id":202},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":204,"title":205,"title_en":21,"slug":206,"excerpt":207,"excerpt_en":21,"has_translation":15,"published_at":208,"reading_time":123,"hidden_from_listing":15,"tags":209,"thumbnail_image":21,"og_image":211,"series":212,"authors":213},132,"Python Tuples: Why All Three Points Are the Same Point","python-tuples","Three points walk into a loop and come out identical. The list was never copied three times; the name was. A tuple makes that bug impossible.","2026-10-28T12:00:00.000Z",[83,210],"tuple","\u002Fog\u002Fpython-tuples.png",{"id":176,"title":177,"title_en":178,"slug":179},[214],{"authors_id":215},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":217,"title":218,"title_en":21,"slug":219,"excerpt":220,"excerpt_en":21,"has_translation":15,"published_at":221,"reading_time":123,"hidden_from_listing":15,"tags":222,"thumbnail_image":21,"og_image":224,"series":225,"authors":226},131,"Python Sets: the Duplicate That Keeps Coming Back","python-sets","A de-duplication loop that works on clean data leaves four tags where there should be two. The bug is case, and the fix is a `set`.","2026-10-28T11:00:00.000Z",[83,223],"set","\u002Fog\u002Fpython-sets.png",{"id":176,"title":177,"title_en":178,"slug":179},[227],{"authors_id":228},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":230,"title":231,"title_en":21,"slug":232,"excerpt":233,"excerpt_en":21,"has_translation":15,"published_at":234,"reading_time":123,"hidden_from_listing":15,"tags":235,"thumbnail_image":21,"og_image":237,"series":238,"authors":239},130,"Python Dictionaries: the Key That Isn't There","python-dictionary","A word counter dies the first time it meets a word twice. The fix is one line; what takes longer is knowing which of a dict's three lookups to reach for.","2026-10-28T10:00:00.000Z",[83,236],"dictionary","\u002Fog\u002Fpython-dictionary.png",{"id":176,"title":177,"title_en":178,"slug":179},[240],{"authors_id":241},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":243,"title":244,"title_en":245,"slug":246,"excerpt":247,"excerpt_en":248,"has_translation":12,"published_at":249,"reading_time":14,"hidden_from_listing":15,"tags":250,"thumbnail_image":21,"og_image":257,"series":258,"authors":260},129,"Biar RAG nggak kena 504: pisahin jalur query dan ingestion","So Your RAG Stops Hitting 504: Split the Query Path From Ingestion","rag-pisah-jalur-query-dan-ingestion","Satu service RAG yang merangkap parsing dan menjawab kueri bakal tumbang pas ada yang upload PDF 200 halaman. Obatnya dua jalur dan satu queue.","One RAG service that both parses uploads and answers queries will fall over the moment someone uploads a 200-page PDF. The cure is two paths and one queue.","2026-10-22T01:30:00.000Z",[251,252,253,254,255,256],"rag","cloud-run","cloud-tasks","gcp","serverless","arsitektur","\u002Fog\u002Frag-pisah-jalur-query-dan-ingestion.png",{"id":259,"title":35,"title_en":36,"slug":37},8,[261],{"authors_id":262},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":264,"title":265,"title_en":266,"slug":267,"excerpt":268,"excerpt_en":269,"has_translation":12,"published_at":270,"reading_time":123,"hidden_from_listing":15,"tags":271,"thumbnail_image":21,"og_image":278,"series":279,"authors":280},128,"Linear atau graf: cara mengatur banyak agent tanpa loop abadi","Linear or Graph: How to Run Many Agents Without an Eternal Loop","multi-agen-linear-atau-grafik","Satu agent dengan dua puluh tool gampang kacau. Begitu beberapa agent saling revisi, kamu butuh graf yang mendukung cycle dan angka yang membuatnya berhenti.","One agent with twenty tools gets messy fast. Once several agents revise each other, you need a graph that allows cycles and a number that makes it stop.","2026-10-21T16:05:00.000Z",[272,273,274,275,276,277],"multi-agent","langgraph","autogen","orkestrasi","checkpoint","llm","\u002Fog\u002Fmulti-agen-linear-atau-grafik.png",{"id":259,"title":35,"title_en":36,"slug":37},[281],{"authors_id":282},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},[284,288,291,294,297,300,303],{"text":285,"depth":286,"id":287},"Tentang Pass Statement",2,"tentang-pass-statement",{"text":289,"depth":286,"id":290},"Format Penulisan Pass Statement","format-penulisan-pass-statement",{"text":292,"depth":286,"id":293},"Alternatif Selain Pass Statement","alternatif-selain-pass-statement",{"text":295,"depth":81,"id":296},"Konstanta yang Berdiri Sendiri","konstanta-yang-berdiri-sendiri",{"text":298,"depth":81,"id":299},"Elipsis","elipsis",{"text":301,"depth":81,"id":302},"Docstring","docstring",{"text":304,"depth":286,"id":305},"Selanjutnya…","selanjutnya",1793295834878]