[{"data":1,"prerenderedAt":306},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-mengenal-sintaks-dasar-bahasa-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":190,"renderedTakeaway":191,"latestArticles":192,"toc":287},{"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":183,"body_locale":186,"available_locales":187,"body":189,"takeway":21,"prerequisite":21},83,"Mengenal Sintaks Dasar Bahasa Python","Getting to Know Python's Basic Syntax","mengenal-sintaks-dasar-bahasa-python","Penulisan kode python tidak sembarangan, ada beberapa aturan sintaks yang harus kita ikuti agar program tidak error.","You can't write Python code any way you like. There are syntax rules you have to follow, or the program errors out.","2021-02-07T03:56:55.000Z",3,[83,84,85],"python","syntax","dasar","\u002Fog\u002Fmengenal-sintaks-dasar-bahasa-python.png",{"id":88,"title":89,"title_en":90,"slug":91,"description":92,"description_en":93,"articles":94,"children_series":152,"parent_series":153},16,"Berkenalan dengan Bahasa Python","Getting Started with Python","python-intro","Langkah pertama belajar Python: kenalan sama bahasanya, install Python 3, main-main di interpreter, sampai paham sintaks dasarnya.","Your first step with Python: meet the language, install Python 3, poke around the interpreter, and get the syntax.",[95,115,131,147],{"id":96,"title":97,"title_en":98,"slug":99,"excerpt":100,"excerpt_en":101,"has_translation":12,"published_at":102,"reading_time":81,"hidden_from_listing":15,"tags":103,"thumbnail_image":21,"og_image":106,"series":107,"authors":108},80,"Mengenal Bahasa Pemrograman Python","Getting to Know the Python Programming Language","mengenal-bahasa-pemrograman-python","Python didesain sedemikian rupa sehingga sintaksnya mudah terbaca dan sangat manusiawi. Tidak seperti bahasa lain yang punya banyak simbol asing.","Python was designed so its syntax reads easily and feels human, unlike other languages that bury you in unfamiliar symbols.","2021-01-30T13:26:10.000Z",[83,104,105,85],"intro","pemrograman","\u002Fog\u002Fmengenal-bahasa-pemrograman-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":14,"hidden_from_listing":15,"tags":123,"thumbnail_image":21,"og_image":126,"series":127,"authors":128},81,"Instalasi Python 3 di Windows dan Linux","Installing Python 3 on Windows and Linux","instalasi-python-3-di-windows-dan-linux","Python 3 ini fungsinya sebagai interpreter dari *script* python agar kode yang kita buat bisa dijalankan.","Python 3 is the interpreter that runs your Python scripts, the piece that makes the code you write actually execute.","2021-02-01T15:21:27.000Z",[83,124,125],"instalasi","tooling","\u002Fog\u002Finstalasi-python-3-di-windows-dan-linux.png",{"id":88,"title":89,"title_en":90,"slug":91},[129],{"authors_id":130},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":132,"title":133,"title_en":134,"slug":135,"excerpt":136,"excerpt_en":137,"has_translation":12,"published_at":138,"reading_time":139,"hidden_from_listing":15,"tags":140,"thumbnail_image":21,"og_image":142,"series":143,"authors":144},82,"Bermain dengan Interpreter Python","Playing with the Python Interpreter","bermain-dengan-interpreter-python","Python punya interpreter interaktif yang dapat kita gunakan untuk mengeksekusi kode python secara langsung di terminal.","Python ships with an interactive interpreter you can use to run Python code right there in the terminal.","2021-02-05T03:23:01.000Z",2,[83,141,125,49],"cli","\u002Fog\u002Fbermain-dengan-interpreter-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[145],{"authors_id":146},{"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":148,"authors":149},{"id":88,"title":89,"title_en":90,"slug":91},[150],{"authors_id":151},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},[],{"id":154,"title":52,"title_en":53,"slug":54,"parent_series":155,"children_series":156},10,{"id":111,"title":48,"title_en":48,"slug":49},[157,158,163,168,173,178],{"id":88,"title":89,"title_en":90,"slug":91,"cover_image":21},{"id":159,"title":160,"title_en":161,"slug":162,"cover_image":21},17,"Variabel, Tipe Data, dan Operasi","Variables, Types, and Operations","python-variabel-tipe-data",{"id":164,"title":165,"title_en":166,"slug":167,"cover_image":21},18,"Menggunakan Script Python","Working with Python Scripts","python-pemrograman-dengan-script",{"id":169,"title":170,"title_en":171,"slug":172,"cover_image":21},19,"Struktur Kontrol","Control Structures","python-struktur-kontrol",{"id":174,"title":175,"title_en":176,"slug":177,"cover_image":21},20,"Pemrograman Fungsional dengan Python","Functional Programming with Python","python-pemrograman-fungsional",{"id":179,"title":180,"title_en":181,"slug":182,"cover_image":21},30,"Koleksi dan String","Collections and Strings","python-collections",[184],{"authors_id":185},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},"id",[188,186],"en","Seperti yang telah kita bahas [sebelumnya](https:\u002F\u002Finvasikode.com\u002Fbermain-dengan-interpreter-python\u002F), kode Python dapat langsung dijalankan menggunakan Terminal. Oleh karena itu untuk sementara kita akan coba mengenal sintaks Python dengan menggunakan terminal terlebih dahulu.\n\n## Mencetak Teks (*Output*)\n\nKita sudah mencoba mencetak teks pada kesempatan sebelumnya. Untuk mencetak teks kita menggunakan pertintah `print()`\n\n```\n>>> print(\"Hello World\")\nHello World\n>>> print(\"Belajar Python di Invasikode\")\nBelajar Python di Invasikode\n```\n\nSemua karakter yang ada dalam tanda kurung akan dicetak seperti yang terlihat di atas.\n\n**Kenapa ada tanda kutipnya?**\n\nTanda kutip pada Python berfungsi sebagai penanda bahwa yang ada di antara tanda kutip tersebut adalah kata atau kalimat, bukan sebuah nama variable. Kita akan membircarakan tentang variable lebih lanjut nanti.\n\n## Menuliskan Komentar (*Comments*)\n\nSelanjutnya adalah komentar. Komentar merupakan baris kode yang **tidak akan dibaca** oleh interpreter. Dengan kata lain komentar ini tidak akan dieksekusi.\n\nPenulisan komentar diawali dengan tanda tagar (#) selanjutnya diikuti dengan kalimat komentar yang diinginkan.\n\n```\n>>> # Hello World\n>>> # Belajar Python di Invasikode\n```\n\nLihat, tidak ada teks yang dikeluarkan.\n\n**Lah terus apa fungsinya?**\n\nSekarang mungkin seperti tidak ada fungsinya, tetapi kalau kalian sedang membuat kode Python yang cukup rumit, komentar ini akan sangat berguna. Komentar berfungsi sebagai pengingat bagi programmer tentang apa yang mereka tulis—semacam catatan. Selain itu, komentar juga berfungsi ketika kita sedang *debugging* atau saat ingin bereksperimen dengan fitur baru.\n\n## Melakukan Perhitungan Matematika\n\nInterpreter Python ini juga bisa digunakan sebagai kalkulator. Caranya adalah dengan mengetikkan operasi yang kalian inginkan pada terminal, dan hasilnya otomatis keluar.\n\nContoh:\n\n```\n>>> 12+90\n102\n>>> 120-60\n60\n>>> 190*67\n12730\n>>> 90\u002F9\n10.0\n```\n\nPython mengikuti urutan aturan dasar pada aritmatika dengan urutan sebagai berikut (urut dari yang paling prioritas).\n\n1. Operasi dalam kurung\n2. Operasi perpangkatan atau eksponen\n3. Operasi perkalian dan pembagian\n4. Operasi penjumlahan dan pengurangan\n\nConoth:\n\n```\n>>> 5*2+1 # operasi perkalian didahulukan\n11\n>>> 5*(2+1) # operasi dalam kurung didahulukan\n15\n>>> 5**2 # operasi ** artinya adalah pangkat\n25\n```\n\n**Bagaimana dengan bilangan desimal?**\n\nUntuk menuliskan bilangan desimal, kita perlu menggunakan tanda titik ('.'). Ingat bukan tanda koma (','), karena fungsinya sudah beda lagi.\n\nContoh:\n\n```\n>>> 1.5*2\n3.0\n>>> 1,5*2\n(2, 10)\n```\n\nTerlihat ya perbedaannya. Jika kita menggunakan tanda koma, maka python akan membacanya sebagai 2 bilangan yang berbeda. Hal ini dinamakan ***[tuples](https:\u002F\u002Finvasikode.com\u002Ftipe-data-list-python\u002F)***. Untuk pembahasan mengenai tuples ini aka kita bahas pada kesempatan lain.\n\n> **Sekilas Tentang Tuples:** Tuples merupakan salah satu tipe data di Python yang memungkinkan programmer untuk menuliskan beberapa nilai dalam satu variable\n\n## Deklarasi Variable pada Python\n\n[Variable](https:\u002F\u002Finvasikode.com\u002Fvariable-dan-tipe-data\u002F) merupakan hal penting dalam pemrograman. Variable ini berguna dalam proses manipulasi data dan memudahkan programmer dalam menyusun logika.\n\nDalam bahasa Python, variable dideklarasikan dengan langsung menuliskan nama variable diikuti dengan nilainya. Nah, untuk mengambil nilai dari variable, kita dapat langsung memanggil nama dari variable tersebut.\n\n```\n>>> a = 10 # variable a bernilai 10\n>>> print(a)\n10\n>>> b = \"Makan Nasi\"\n>>> print(b)\nMakan Nasi\n```\n\nUntuk variable akan kita bahas lebih lanjut pada kesempatan selanjutnya.\n\n## Penggunaan Indentasi pada Python\n\nPython mengenal penggunaan indentasi (spasi) sebagai tanda suatu blok program. Pada bahasa pemrograman lain seperti C++, satu blok program ditandai dengan kurung kurawal.\n\n```\n>>> for i in range(0, 10):\n...     print(i)\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n```\n\nKode program tersebut akan mencetak bilangan mulai dari 0 sampai 9. perintah `print(i)` berada dalam blok program dari perintah `for`.\n\nJika kita tidak memberikan indentasi pada kode tersebut, maka akan terjadi error seperti ini.\n\n```\n>>> for i in range(0,9): \n... print(i) \n  File \"\u003Cstdin>\", line 2 \n    print(i) \n    ^ \nIndentationError: expected an indented block\n```\n\nWah error pertama kita nih, selamat yayy...\n\nIndentasi ini merupakan suatu hal yang penting dalam sintaks Python, kalau sampai salah akibatnya bisa error seperti itu. Selanjutnya kita akan banyak menggunakan indentasi ini saat mulai berurusan dengan file python.\n\n## Selanjutnya\n\nSintaks dalam bahasa Python tidak terlalu rumit memang, sehingga tidak banyak yang harus dipelajari tentang sintaks ini. Ini juga merupakan alasan mengapa python adalah bahasa yang manusiawi.\n\nCukup sekian untuk kesempatan kali ini, semoga bermanfaat. Pada kesempatan selanjutnya kita akan coba mendalami lagi tentang [penulisan dan penggunaan variable pada python 3](https:\u002F\u002Finvasikode.com\u002Fpenulisan-dan-penggunaan-variable-python\u002F).\n\nSee ya...\n","\u003Cp>Seperti yang telah kita bahas \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fbermain-dengan-interpreter-python\u002F\">sebelumnya\u003C\u002Fa>, kode Python dapat langsung dijalankan menggunakan Terminal. Oleh karena itu untuk sementara kita akan coba mengenal sintaks Python dengan menggunakan terminal terlebih dahulu.\u003C\u002Fp>\n\u003Ch2 id=\"mencetak-teks-output\">Mencetak Teks (\u003Cem>Output\u003C\u002Fem>)\u003C\u002Fh2>\n\u003Cp>Kita sudah mencoba mencetak teks pada kesempatan sebelumnya. Untuk mencetak teks kita menggunakan pertintah \u003Ccode>print()\u003C\u002Fcode>\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%20print(%22Hello%20World%22)%0AHello%20World%0A%3E%3E%3E%20print(%22Belajar%20Python%20di%20Invasikode%22)%0ABelajar%20Python%20di%20Invasikode\" 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; print(\"Hello World\")\nHello World\n&gt;&gt;&gt; print(\"Belajar Python di Invasikode\")\nBelajar Python di Invasikode\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Semua karakter yang ada dalam tanda kurung akan dicetak seperti yang terlihat di atas.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Kenapa ada tanda kutipnya?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Tanda kutip pada Python berfungsi sebagai penanda bahwa yang ada di antara tanda kutip tersebut adalah kata atau kalimat, bukan sebuah nama variable. Kita akan membircarakan tentang variable lebih lanjut nanti.\u003C\u002Fp>\n\u003Ch2 id=\"menuliskan-komentar-comments\">Menuliskan Komentar (\u003Cem>Comments\u003C\u002Fem>)\u003C\u002Fh2>\n\u003Cp>Selanjutnya adalah komentar. Komentar merupakan baris kode yang \u003Cstrong>tidak akan dibaca\u003C\u002Fstrong> oleh interpreter. Dengan kata lain komentar ini tidak akan dieksekusi.\u003C\u002Fp>\n\u003Cp>Penulisan komentar diawali dengan tanda tagar (#) selanjutnya diikuti dengan kalimat komentar yang diinginkan.\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%20%23%20Hello%20World%0A%3E%3E%3E%20%23%20Belajar%20Python%20di%20Invasikode\" 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; # Hello World\n&gt;&gt;&gt; # Belajar Python di Invasikode\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Lihat, tidak ada teks yang dikeluarkan.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Lah terus apa fungsinya?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Sekarang mungkin seperti tidak ada fungsinya, tetapi kalau kalian sedang membuat kode Python yang cukup rumit, komentar ini akan sangat berguna. Komentar berfungsi sebagai pengingat bagi programmer tentang apa yang mereka tulis—semacam catatan. Selain itu, komentar juga berfungsi ketika kita sedang \u003Cem>debugging\u003C\u002Fem> atau saat ingin bereksperimen dengan fitur baru.\u003C\u002Fp>\n\u003Ch2 id=\"melakukan-perhitungan-matematika\">Melakukan Perhitungan Matematika\u003C\u002Fh2>\n\u003Cp>Interpreter Python ini juga bisa digunakan sebagai kalkulator. Caranya adalah dengan mengetikkan operasi yang kalian inginkan pada terminal, dan hasilnya otomatis keluar.\u003C\u002Fp>\n\u003Cp>Contoh:\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%2012%2B90%0A102%0A%3E%3E%3E%20120-60%0A60%0A%3E%3E%3E%20190*67%0A12730%0A%3E%3E%3E%2090%2F9%0A10.0\" 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; 12+90\n102\n&gt;&gt;&gt; 120-60\n60\n&gt;&gt;&gt; 190*67\n12730\n&gt;&gt;&gt; 90\u002F9\n10.0\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Python mengikuti urutan aturan dasar pada aritmatika dengan urutan sebagai berikut (urut dari yang paling prioritas).\u003C\u002Fp>\n\u003Col>\n\u003Cli>Operasi dalam kurung\u003C\u002Fli>\n\u003Cli>Operasi perpangkatan atau eksponen\u003C\u002Fli>\n\u003Cli>Operasi perkalian dan pembagian\u003C\u002Fli>\n\u003Cli>Operasi penjumlahan dan pengurangan\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Conoth:\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%205*2%2B1%20%23%20operasi%20perkalian%20didahulukan%0A11%0A%3E%3E%3E%205*(2%2B1)%20%23%20operasi%20dalam%20kurung%20didahulukan%0A15%0A%3E%3E%3E%205**2%20%23%20operasi%20**%20artinya%20adalah%20pangkat%0A25\" 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; 5*2+1 # operasi perkalian didahulukan\n11\n&gt;&gt;&gt; 5*(2+1) # operasi dalam kurung didahulukan\n15\n&gt;&gt;&gt; 5**2 # operasi ** artinya adalah pangkat\n25\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>\u003Cstrong>Bagaimana dengan bilangan desimal?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Untuk menuliskan bilangan desimal, kita perlu menggunakan tanda titik (&#39;.&#39;). Ingat bukan tanda koma (&#39;,&#39;), karena fungsinya sudah beda lagi.\u003C\u002Fp>\n\u003Cp>Contoh:\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%201.5*2%0A3.0%0A%3E%3E%3E%201%2C5*2%0A(2%2C%2010)\" 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; 1.5*2\n3.0\n&gt;&gt;&gt; 1,5*2\n(2, 10)\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Terlihat ya perbedaannya. Jika kita menggunakan tanda koma, maka python akan membacanya sebagai 2 bilangan yang berbeda. Hal ini dinamakan \u003Cem>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-list-python\u002F\">tuples\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fem>. Untuk pembahasan mengenai tuples ini aka kita bahas pada kesempatan lain.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Sekilas Tentang Tuples:\u003C\u002Fstrong> Tuples merupakan salah satu tipe data di Python yang memungkinkan programmer untuk menuliskan beberapa nilai dalam satu variable\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"deklarasi-variable-pada-python\">Deklarasi Variable pada Python\u003C\u002Fh2>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fvariable-dan-tipe-data\u002F\">Variable\u003C\u002Fa> merupakan hal penting dalam pemrograman. Variable ini berguna dalam proses manipulasi data dan memudahkan programmer dalam menyusun logika.\u003C\u002Fp>\n\u003Cp>Dalam bahasa Python, variable dideklarasikan dengan langsung menuliskan nama variable diikuti dengan nilainya. Nah, untuk mengambil nilai dari variable, kita dapat langsung memanggil nama dari variable tersebut.\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%20a%20%3D%2010%20%23%20variable%20a%20bernilai%2010%0A%3E%3E%3E%20print(a)%0A10%0A%3E%3E%3E%20b%20%3D%20%22Makan%20Nasi%22%0A%3E%3E%3E%20print(b)%0AMakan%20Nasi\" 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; a = 10 # variable a bernilai 10\n&gt;&gt;&gt; print(a)\n10\n&gt;&gt;&gt; b = \"Makan Nasi\"\n&gt;&gt;&gt; print(b)\nMakan Nasi\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Untuk variable akan kita bahas lebih lanjut pada kesempatan selanjutnya.\u003C\u002Fp>\n\u003Ch2 id=\"penggunaan-indentasi-pada-python\">Penggunaan Indentasi pada Python\u003C\u002Fh2>\n\u003Cp>Python mengenal penggunaan indentasi (spasi) sebagai tanda suatu blok program. Pada bahasa pemrograman lain seperti C++, satu blok program ditandai dengan kurung kurawal.\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%20for%20i%20in%20range(0%2C%2010)%3A%0A...%20%20%20%20%20print(i)%0A0%0A1%0A2%0A3%0A4%0A5%0A6%0A7%0A8%0A9\" 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; for i in range(0, 10):\n...     print(i)\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Kode program tersebut akan mencetak bilangan mulai dari 0 sampai 9. perintah \u003Ccode>print(i)\u003C\u002Fcode> berada dalam blok program dari perintah \u003Ccode>for\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Jika kita tidak memberikan indentasi pada kode tersebut, maka akan terjadi error 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\">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%20for%20i%20in%20range(0%2C9)%3A%20%0A...%20print(i)%20%0A%20%C2%A0File%20%22%3Cstdin%3E%22%2C%20line%202%20%0A%20%C2%A0%C2%A0%C2%A0print(i)%20%0A%20%C2%A0%C2%A0%C2%A0%5E%20%0AIndentationError%3A%20expected%20an%20indented%20block\" 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; for i in range(0,9): \n... print(i) \n  File \"&lt;stdin&gt;\", line 2 \n    print(i) \n    ^ \nIndentationError: expected an indented block\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Wah error pertama kita nih, selamat yayy...\u003C\u002Fp>\n\u003Cp>Indentasi ini merupakan suatu hal yang penting dalam sintaks Python, kalau sampai salah akibatnya bisa error seperti itu. Selanjutnya kita akan banyak menggunakan indentasi ini saat mulai berurusan dengan file python.\u003C\u002Fp>\n\u003Ch2 id=\"selanjutnya\">Selanjutnya\u003C\u002Fh2>\n\u003Cp>Sintaks dalam bahasa Python tidak terlalu rumit memang, sehingga tidak banyak yang harus dipelajari tentang sintaks ini. Ini juga merupakan alasan mengapa python adalah bahasa yang manusiawi.\u003C\u002Fp>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, semoga bermanfaat. Pada kesempatan selanjutnya kita akan coba mendalami lagi tentang \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fpenulisan-dan-penggunaan-variable-python\u002F\">penulisan dan penggunaan variable pada python 3\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>See ya...\u003C\u002Fp>\n","",[193,207,220,233,246,267],{"id":194,"title":195,"title_en":21,"slug":196,"excerpt":197,"excerpt_en":21,"has_translation":15,"published_at":198,"reading_time":199,"hidden_from_listing":15,"tags":200,"thumbnail_image":21,"og_image":202,"series":203,"authors":204},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",6,[83,201],"string","\u002Fog\u002Fpython-strings.png",{"id":179,"title":180,"title_en":181,"slug":182},[205],{"authors_id":206},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":208,"title":209,"title_en":21,"slug":210,"excerpt":211,"excerpt_en":21,"has_translation":15,"published_at":212,"reading_time":199,"hidden_from_listing":15,"tags":213,"thumbnail_image":21,"og_image":215,"series":216,"authors":217},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,214],"tuple","\u002Fog\u002Fpython-tuples.png",{"id":179,"title":180,"title_en":181,"slug":182},[218],{"authors_id":219},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":221,"title":222,"title_en":21,"slug":223,"excerpt":224,"excerpt_en":21,"has_translation":15,"published_at":225,"reading_time":199,"hidden_from_listing":15,"tags":226,"thumbnail_image":21,"og_image":228,"series":229,"authors":230},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,227],"set","\u002Fog\u002Fpython-sets.png",{"id":179,"title":180,"title_en":181,"slug":182},[231],{"authors_id":232},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":234,"title":235,"title_en":21,"slug":236,"excerpt":237,"excerpt_en":21,"has_translation":15,"published_at":238,"reading_time":199,"hidden_from_listing":15,"tags":239,"thumbnail_image":21,"og_image":241,"series":242,"authors":243},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,240],"dictionary","\u002Fog\u002Fpython-dictionary.png",{"id":179,"title":180,"title_en":181,"slug":182},[244],{"authors_id":245},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":247,"title":248,"title_en":249,"slug":250,"excerpt":251,"excerpt_en":252,"has_translation":12,"published_at":253,"reading_time":14,"hidden_from_listing":15,"tags":254,"thumbnail_image":21,"og_image":261,"series":262,"authors":264},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",[255,256,257,258,259,260],"rag","cloud-run","cloud-tasks","gcp","serverless","arsitektur","\u002Fog\u002Frag-pisah-jalur-query-dan-ingestion.png",{"id":263,"title":35,"title_en":36,"slug":37},8,[265],{"authors_id":266},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},{"id":268,"title":269,"title_en":270,"slug":271,"excerpt":272,"excerpt_en":273,"has_translation":12,"published_at":274,"reading_time":199,"hidden_from_listing":15,"tags":275,"thumbnail_image":21,"og_image":282,"series":283,"authors":284},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",[276,277,278,279,280,281],"multi-agent","langgraph","autogen","orkestrasi","checkpoint","llm","\u002Fog\u002Fmulti-agen-linear-atau-grafik.png",{"id":263,"title":35,"title_en":36,"slug":37},[285],{"authors_id":286},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},[288,291,294,297,300,303],{"text":289,"depth":139,"id":290},"Mencetak Teks (Output)","mencetak-teks-output",{"text":292,"depth":139,"id":293},"Menuliskan Komentar (Comments)","menuliskan-komentar-comments",{"text":295,"depth":139,"id":296},"Melakukan Perhitungan Matematika","melakukan-perhitungan-matematika",{"text":298,"depth":139,"id":299},"Deklarasi Variable pada Python","deklarasi-variable-pada-python",{"text":301,"depth":139,"id":302},"Penggunaan Indentasi pada Python","penggunaan-indentasi-pada-python",{"text":304,"depth":139,"id":305},"Selanjutnya","selanjutnya",1793295834632]