[{"data":1,"prerenderedAt":339},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-membuat-dan-menggunakan-variabel-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":221,"renderedTakeaway":222,"latestArticles":223,"toc":317},{"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":214,"body_locale":217,"available_locales":218,"body":220,"takeway":21,"prerequisite":21},84,"Membuat dan Menggunakan Variabel pada Python","Creating and Using Variables in Python","membuat-dan-menggunakan-variabel-pada-python","Saking simpelnya, bahasa python tidak memiliki aturan khusus untuk membuat variable. Variabel otomatis terbuat ketika melakukan assignment.","Python is so simple it has no special rule for creating a variable. A variable appears automatically the moment you assign a value to a name.","2021-02-08T04:03:54.000Z",3,[83,84,85],"python","variabel","dasar","\u002Fog\u002Fmembuat-dan-menggunakan-variabel-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91,"description":92,"description_en":93,"articles":94,"children_series":183,"parent_series":184},17,"Variabel, Tipe Data, dan Operasi","Variables, Types, and Operations","python-variabel-tipe-data","Bikin variabel, kenali tipe data satu per satu — mulai dari numerik, string, boolean, sampai list yang sering bikin bingung pemula.","Create variables, then meet the types one by one, from numbers and strings to booleans and the list that keeps tripping up beginners.",[95,104,121,138,153,168],{"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":96,"authors":97},{"id":88,"title":89,"title_en":90,"slug":91},[98],{"authors_id":99},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":105,"title":106,"title_en":107,"slug":108,"excerpt":109,"excerpt_en":110,"has_translation":12,"published_at":111,"reading_time":112,"hidden_from_listing":15,"tags":113,"thumbnail_image":21,"og_image":116,"series":117,"authors":118},85,"Mengenal Tipe Data pada Python 3","Getting to Know Data Types in Python 3","mengenal-tipe-data-pada-python-3","Tipe data merupakan atribut yang menandakan perlakuan apa saja yang dapat dilakukan terhadap variabel tersebut.","A data type is the attribute that spells out which operations can be done to a variable.","2021-02-09T04:08:46.000Z",2,[83,114,85,115],"tipe-data","konsep","\u002Fog\u002Fmengenal-tipe-data-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[119],{"authors_id":120},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":122,"title":123,"title_en":124,"slug":125,"excerpt":126,"excerpt_en":127,"has_translation":12,"published_at":128,"reading_time":129,"hidden_from_listing":15,"tags":130,"thumbnail_image":21,"og_image":133,"series":134,"authors":135},86,"Tipe Data Numerik pada Python 3","Numeric Data Types in Python 3","tipe-data-numerik-pada-python-3","Pada python ada beberapa tipe data numerik. Seperti int, float, dan complex. Mari kita bahas lebih lanjut.","Python has several numeric data types, such as int, float, and complex. Here is how each one behaves.","2021-02-19T04:13:20.000Z",4,[83,114,131,132],"integer","float","\u002Fog\u002Ftipe-data-numerik-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[136],{"authors_id":137},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":139,"title":140,"title_en":141,"slug":142,"excerpt":143,"excerpt_en":144,"has_translation":12,"published_at":145,"reading_time":81,"hidden_from_listing":15,"tags":146,"thumbnail_image":21,"og_image":148,"series":149,"authors":150},87,"Tipe Data String pada Python 3","String Data Types in Python 3","tipe-data-string-pada-python-3","String pada Python merupakan tipe data yang memuat sebuah atau sekumpulan karakter. String ditandai dengan tanda petik.","A string in Python is a data type that holds one character or a run of them, and quotation marks are what mark it.","2021-03-08T14:28:42.000Z",[83,114,147],"string","\u002Fog\u002Ftipe-data-string-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[151],{"authors_id":152},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":154,"title":155,"title_en":156,"slug":157,"excerpt":158,"excerpt_en":159,"has_translation":12,"published_at":160,"reading_time":81,"hidden_from_listing":15,"tags":161,"thumbnail_image":21,"og_image":163,"series":164,"authors":165},88,"Tipe Data Boolean pada Python 3","Boolean Data Types in Python 3","tipe-data-boolean-pada-python-3","Boolean adalah tipe data yang hanya dapat memuat 2 nilai yaitu true dan false. Tipe data ini berguna saat kita berurusan dengan struktur kontrol.","A boolean is a data type that holds only 2 values, true and false. It earns its keep once you work with control structures.","2021-03-18T14:36:11.000Z",[83,114,162],"boolean","\u002Fog\u002Ftipe-data-boolean-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[166],{"authors_id":167},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":169,"title":170,"title_en":171,"slug":172,"excerpt":173,"excerpt_en":174,"has_translation":12,"published_at":175,"reading_time":129,"hidden_from_listing":15,"tags":176,"thumbnail_image":21,"og_image":178,"series":179,"authors":180},89,"Tipe Data List pada Python 3","List Data Types in Python 3","tipe-data-list-pada-python-3","Pada Python, list merupakan tipe data yang dapat memuat banyak nilai. Dalam bahasa lain mungkin lebih familiar dengan sebutan array.","In Python, a list is a data type that can hold many values. Other languages may be more familiar to you as arrays.","2021-03-19T14:43:52.000Z",[83,114,177],"list","\u002Fog\u002Ftipe-data-list-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[181],{"authors_id":182},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},[],{"id":185,"title":52,"title_en":53,"slug":54,"parent_series":186,"children_series":187},10,{"id":100,"title":48,"title_en":48,"slug":49},[188,193,194,199,204,209],{"id":189,"title":190,"title_en":191,"slug":192,"cover_image":21},16,"Berkenalan dengan Bahasa Python","Getting Started with Python","python-intro",{"id":88,"title":89,"title_en":90,"slug":91,"cover_image":21},{"id":195,"title":196,"title_en":197,"slug":198,"cover_image":21},18,"Menggunakan Script Python","Working with Python Scripts","python-pemrograman-dengan-script",{"id":200,"title":201,"title_en":202,"slug":203,"cover_image":21},19,"Struktur Kontrol","Control Structures","python-struktur-kontrol",{"id":205,"title":206,"title_en":207,"slug":208,"cover_image":21},20,"Pemrograman Fungsional dengan Python","Functional Programming with Python","python-pemrograman-fungsional",{"id":210,"title":211,"title_en":212,"slug":213,"cover_image":21},30,"Koleksi dan String","Collections and Strings","python-collections",[215],{"authors_id":216},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},"id",[219,217],"en","Pada kesempatan kali ini kita akan membahas tentang variable pada bahasa Python. Variable merupakan sebuah tempat yang nantinya akan diisikan sebuah atau beberapa nilai.\n\nVariable sangat berguna dalam proses penyusunan logika dan manipulasi data. Selain itu, penggunaan variable secara tepat juga membantu mempermudah membaca kode yang kita susun.\n\n## Membuat Variable pada Python\n\nSaking simpelnya, bahasa python bahkan tidak memiliki aturan khusus untuk membuat sebuah variable. Variable akan otomatis terbuat saat kita memberikan nilai pada sebuah nama variable.\n\n```\n>>> a = 90 # variable a bernilai 90\n>>> b = \"Invasikode\" # variable b bernilai \"Invasikode\"\n>>> print(a)\n90\n>>> print(b)\nInvasikode\n```\n\nPada contoh di atas kita membuat 2 variable yaitu **a** dan **b** yang nilainya berbeda. tanda sama dengan disitu sepertinya sudah jelas ya, artinya kita memasukkan nilai yang ada di ruas kanan ke dalam huruf yang ada di ruas kiri.\n\nSekarang kita coba satu contoh lagi, kira-kira outpunya apa?. Silahkan kalian tebak dulu, jangan dicoba biar seru hehe...\n\n```\n>>> a = 10+5\n>>> a = \"Invasikode\"\n>>> print(a)\n```\n\nSeperti yang kita lihat, pada kode tersebut kita memasukkan 2 nilai yang berbeda pada satu variable **a**. Pada python tanda sama dengan (=) akan secara otomatis menulis ulang (_overwrite_) nilai dan tipe data yang sudah ada sebelumnya.\n\nSudah kelihatan ya hasil outputnya apa...\n\n```\n>>> a = 10+5\n>>> a = \"Invasikode\"\n>>> print(a)\nInvasikode\n```\n\nYayy... selamat yang menebak outpunya **Invasikode**, anda benar\n\n## Memanggil Variable pada Python\n\nPemanggilan variable python sangat mudah dan menjurus. Caranya adalah dengan menuliskan nama variable tersebut.\n\n```\n>>> a = 9\n>>> b = 90\n>>> c = a + b # sama artinya dengan 9 + 90\n>>> print(c)\n99\n```\n\nVariable **c** pada contoh tersebut memiliki nilai hasil penjumlahan dari variable **a** dan **b**. Sehingga kita dapatkan hasilnya 90+9 adalah 99.\n\nAda satu hal lagi. Sebenarnya dengan menggunakan peritah print kita sudah memanggil variable lo. Jika konten pada perintah print tidak di apit dengan tanda kutip itu artinya adalah nama variable.\n\n```\n>>> nama = Budi\n>>> print(nama)\nBudi\n>>> print(\"nama\")\nnama\n```\n\nTerlihat ya perbedaannya.\n\n## Gaya Penulisan Variable pada Python\n\nPada python, nama variable harus diawali dengan karakter huruf (baik huruf kecil atau kapital) atau _underscrore_ (\\_). Jika nama variable diawali dengan selain karakter tersebut maka akan terjadi error.\n\nPython juga dikenal sebagai bahasa yang _strongly-dynamic-case sensitive typed language_. Wah apaan tuh? Mari kita bahas satu per satu lebih lanjut.\n\n### _Strongly Typed_\n\n_Strongly typed_ artinya Python tidak menerima operasi dari 2 atau lebih tipe data yang berbeda. Contohnya sepert ini.\n\n```\n>>> a = 12+3 # valid karena sama sama angka\n>>> a = 12+\"tiga\" # tidak valid karena ada angka dan huruf\nTraceback (most recent call last): \n  File \"\u003Cstdin>\", line 1, in \u003Cmodule> \nTypeError: unsupported operand type(s) for +: 'int' and 'str'\n```\n\nBisa dilihat ya, jika variable diisikan tipe data yang berbeda maka akan terjadi error.\n\n### _Dynamicly Typed_\n\nSperti yang telah kita bahas sebelumnya. Saat kita memberi nilai pada variable, maka nilai dan tipe datanya akan ditulis ulang (_overwrited_).\n\nTidak semua bahasa pemrograman punya fitur ini. Python menjadi salah satu yang punya fitur seperti ini. Ini karena proses eksekusi kode Python tidak melelui proses kompilasi, sehingga tipe data bisa diubah saat _runtime_.\n\n```\n>>> a = \"Makan Nasi\"\n>>> print(a)\nMakan Nasi\n>>> a = 90+9\n>>> print(a)\n99\n```\n\nWalaupun variable **a** diisi 2 nilai dengan tipe yang berbeda, kode tersebut tetap valid.\n\n### _Case Sensitive_\n\n_Case sensitive_ artinya 2 variable meskipun memiliki nama yang sama, tetapi kapitalisasinya berbeda, maka akan dianggap 2 variable yang berbeda.\n\n```\n>>> nama = \"Adi\"\n>>> Nama = \"Budi\"\n>>> NAMA = \"Citra\"\n>>> print(nama, Nama, NAMA)\nAdi Budi Citra\n```\n\nPada contoh tersebut sudah terlihat jelas ya, kita punya 3 variable yang bacanya \"nama\" tetapi penulisannya berbeda satu sama lain. Ternyata saat di cetak nilai yang keluar berbeda semua.\n\n> Iya, perintah print bisa mencetak beberapa nilai sekaligus, dengan cara memberi koma.\n\n## Penutup\n\nCukup sekian untuk kesempatan kali ini, silahkan kalian bisa kembali lagi ke tulisan ini kalau sekiranya lupa cara menulis variable hehe...\n\nSemoga bermanfaat... Pada kesempatan selanjutnya kita akan membahas lebih lanjut tentang [tipe data pada Python](https:\u002F\u002Finvasikode.com\u002Fmengenal-tipe-data-pada-python\u002F).\n\nSee ya...\n","\u003Cp>Pada kesempatan kali ini kita akan membahas tentang variable pada bahasa Python. Variable merupakan sebuah tempat yang nantinya akan diisikan sebuah atau beberapa nilai.\u003C\u002Fp>\n\u003Cp>Variable sangat berguna dalam proses penyusunan logika dan manipulasi data. Selain itu, penggunaan variable secara tepat juga membantu mempermudah membaca kode yang kita susun.\u003C\u002Fp>\n\u003Ch2 id=\"membuat-variable-pada-python\">Membuat Variable pada Python\u003C\u002Fh2>\n\u003Cp>Saking simpelnya, bahasa python bahkan tidak memiliki aturan khusus untuk membuat sebuah variable. Variable akan otomatis terbuat saat kita memberikan nilai pada sebuah nama variable.\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%2090%20%23%20variable%20a%20bernilai%2090%0A%3E%3E%3E%20b%20%3D%20%22Invasikode%22%20%23%20variable%20b%20bernilai%20%22Invasikode%22%0A%3E%3E%3E%20print(a)%0A90%0A%3E%3E%3E%20print(b)%0AInvasikode\" 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 = 90 # variable a bernilai 90\n&gt;&gt;&gt; b = \"Invasikode\" # variable b bernilai \"Invasikode\"\n&gt;&gt;&gt; print(a)\n90\n&gt;&gt;&gt; print(b)\nInvasikode\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Pada contoh di atas kita membuat 2 variable yaitu \u003Cstrong>a\u003C\u002Fstrong> dan \u003Cstrong>b\u003C\u002Fstrong> yang nilainya berbeda. tanda sama dengan disitu sepertinya sudah jelas ya, artinya kita memasukkan nilai yang ada di ruas kanan ke dalam huruf yang ada di ruas kiri.\u003C\u002Fp>\n\u003Cp>Sekarang kita coba satu contoh lagi, kira-kira outpunya apa?. Silahkan kalian tebak dulu, jangan dicoba biar seru hehe...\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%2B5%0A%3E%3E%3E%20a%20%3D%20%22Invasikode%22%0A%3E%3E%3E%20print(a)\" 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+5\n&gt;&gt;&gt; a = \"Invasikode\"\n&gt;&gt;&gt; print(a)\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Seperti yang kita lihat, pada kode tersebut kita memasukkan 2 nilai yang berbeda pada satu variable \u003Cstrong>a\u003C\u002Fstrong>. Pada python tanda sama dengan (=) akan secara otomatis menulis ulang (\u003Cem>overwrite\u003C\u002Fem>) nilai dan tipe data yang sudah ada sebelumnya.\u003C\u002Fp>\n\u003Cp>Sudah kelihatan ya hasil outputnya apa...\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%2B5%0A%3E%3E%3E%20a%20%3D%20%22Invasikode%22%0A%3E%3E%3E%20print(a)%0AInvasikode\" 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+5\n&gt;&gt;&gt; a = \"Invasikode\"\n&gt;&gt;&gt; print(a)\nInvasikode\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Yayy... selamat yang menebak outpunya \u003Cstrong>Invasikode\u003C\u002Fstrong>, anda benar\u003C\u002Fp>\n\u003Ch2 id=\"memanggil-variable-pada-python\">Memanggil Variable pada Python\u003C\u002Fh2>\n\u003Cp>Pemanggilan variable python sangat mudah dan menjurus. Caranya adalah dengan menuliskan nama 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%209%0A%3E%3E%3E%20b%20%3D%2090%0A%3E%3E%3E%20c%20%3D%20a%20%2B%20b%20%23%20sama%20artinya%20dengan%209%20%2B%2090%0A%3E%3E%3E%20print(c)%0A99\" 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 = 9\n&gt;&gt;&gt; b = 90\n&gt;&gt;&gt; c = a + b # sama artinya dengan 9 + 90\n&gt;&gt;&gt; print(c)\n99\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Variable \u003Cstrong>c\u003C\u002Fstrong> pada contoh tersebut memiliki nilai hasil penjumlahan dari variable \u003Cstrong>a\u003C\u002Fstrong> dan \u003Cstrong>b\u003C\u002Fstrong>. Sehingga kita dapatkan hasilnya 90+9 adalah 99.\u003C\u002Fp>\n\u003Cp>Ada satu hal lagi. Sebenarnya dengan menggunakan peritah print kita sudah memanggil variable lo. Jika konten pada perintah print tidak di apit dengan tanda kutip itu artinya adalah nama variable.\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%20nama%20%3D%20Budi%0A%3E%3E%3E%20print(nama)%0ABudi%0A%3E%3E%3E%20print(%22nama%22)%0Anama\" 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; nama = Budi\n&gt;&gt;&gt; print(nama)\nBudi\n&gt;&gt;&gt; print(\"nama\")\nnama\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Terlihat ya perbedaannya.\u003C\u002Fp>\n\u003Ch2 id=\"gaya-penulisan-variable-pada-python\">Gaya Penulisan Variable pada Python\u003C\u002Fh2>\n\u003Cp>Pada python, nama variable harus diawali dengan karakter huruf (baik huruf kecil atau kapital) atau \u003Cem>underscrore\u003C\u002Fem> (_). Jika nama variable diawali dengan selain karakter tersebut maka akan terjadi error.\u003C\u002Fp>\n\u003Cp>Python juga dikenal sebagai bahasa yang \u003Cem>strongly-dynamic-case sensitive typed language\u003C\u002Fem>. Wah apaan tuh? Mari kita bahas satu per satu lebih lanjut.\u003C\u002Fp>\n\u003Ch3 id=\"strongly-typed\">\u003Cem>Strongly Typed\u003C\u002Fem>\u003C\u002Fh3>\n\u003Cp>\u003Cem>Strongly typed\u003C\u002Fem> artinya Python tidak menerima operasi dari 2 atau lebih tipe data yang berbeda. Contohnya sepert 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%20a%20%3D%2012%2B3%20%23%20valid%20karena%20sama%20sama%20angka%0A%3E%3E%3E%20a%20%3D%2012%2B%22tiga%22%20%23%20tidak%20valid%20karena%20ada%20angka%20dan%20huruf%0ATraceback%20(most%20recent%20call%20last)%3A%20%0A%20%C2%A0File%20%22%3Cstdin%3E%22%2C%20line%201%2C%20in%20%3Cmodule%3E%20%0ATypeError%3A%20unsupported%20operand%20type(s)%20for%20%2B%3A%20'int'%20and%20'str'\" 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 = 12+3 # valid karena sama sama angka\n&gt;&gt;&gt; a = 12+\"tiga\" # tidak valid karena ada angka dan huruf\nTraceback (most recent call last): \n  File \"&lt;stdin&gt;\", line 1, in &lt;module&gt; \nTypeError: unsupported operand type(s) for +: 'int' and 'str'\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Bisa dilihat ya, jika variable diisikan tipe data yang berbeda maka akan terjadi error.\u003C\u002Fp>\n\u003Ch3 id=\"dynamicly-typed\">\u003Cem>Dynamicly Typed\u003C\u002Fem>\u003C\u002Fh3>\n\u003Cp>Sperti yang telah kita bahas sebelumnya. Saat kita memberi nilai pada variable, maka nilai dan tipe datanya akan ditulis ulang (\u003Cem>overwrited\u003C\u002Fem>).\u003C\u002Fp>\n\u003Cp>Tidak semua bahasa pemrograman punya fitur ini. Python menjadi salah satu yang punya fitur seperti ini. Ini karena proses eksekusi kode Python tidak melelui proses kompilasi, sehingga tipe data bisa diubah saat \u003Cem>runtime\u003C\u002Fem>.\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%20%22Makan%20Nasi%22%0A%3E%3E%3E%20print(a)%0AMakan%20Nasi%0A%3E%3E%3E%20a%20%3D%2090%2B9%0A%3E%3E%3E%20print(a)%0A99\" 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 = \"Makan Nasi\"\n&gt;&gt;&gt; print(a)\nMakan Nasi\n&gt;&gt;&gt; a = 90+9\n&gt;&gt;&gt; print(a)\n99\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Walaupun variable \u003Cstrong>a\u003C\u002Fstrong> diisi 2 nilai dengan tipe yang berbeda, kode tersebut tetap valid.\u003C\u002Fp>\n\u003Ch3 id=\"case-sensitive\">\u003Cem>Case Sensitive\u003C\u002Fem>\u003C\u002Fh3>\n\u003Cp>\u003Cem>Case sensitive\u003C\u002Fem> artinya 2 variable meskipun memiliki nama yang sama, tetapi kapitalisasinya berbeda, maka akan dianggap 2 variable yang berbeda.\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%20nama%20%3D%20%22Adi%22%0A%3E%3E%3E%20Nama%20%3D%20%22Budi%22%0A%3E%3E%3E%20NAMA%20%3D%20%22Citra%22%0A%3E%3E%3E%20print(nama%2C%20Nama%2C%20NAMA)%0AAdi%20Budi%20Citra\" 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; nama = \"Adi\"\n&gt;&gt;&gt; Nama = \"Budi\"\n&gt;&gt;&gt; NAMA = \"Citra\"\n&gt;&gt;&gt; print(nama, Nama, NAMA)\nAdi Budi Citra\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Pada contoh tersebut sudah terlihat jelas ya, kita punya 3 variable yang bacanya &quot;nama&quot; tetapi penulisannya berbeda satu sama lain. Ternyata saat di cetak nilai yang keluar berbeda semua.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Iya, perintah print bisa mencetak beberapa nilai sekaligus, dengan cara memberi koma.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"penutup\">Penutup\u003C\u002Fh2>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, silahkan kalian bisa kembali lagi ke tulisan ini kalau sekiranya lupa cara menulis variable hehe...\u003C\u002Fp>\n\u003Cp>Semoga bermanfaat... Pada kesempatan selanjutnya kita akan membahas lebih lanjut tentang \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fmengenal-tipe-data-pada-python\u002F\">tipe data pada Python\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>See ya...\u003C\u002Fp>\n","",[224,237,250,263,276,297],{"id":225,"title":226,"title_en":21,"slug":227,"excerpt":228,"excerpt_en":21,"has_translation":15,"published_at":229,"reading_time":230,"hidden_from_listing":15,"tags":231,"thumbnail_image":21,"og_image":232,"series":233,"authors":234},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,147],"\u002Fog\u002Fpython-strings.png",{"id":210,"title":211,"title_en":212,"slug":213},[235],{"authors_id":236},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":238,"title":239,"title_en":21,"slug":240,"excerpt":241,"excerpt_en":21,"has_translation":15,"published_at":242,"reading_time":230,"hidden_from_listing":15,"tags":243,"thumbnail_image":21,"og_image":245,"series":246,"authors":247},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,244],"tuple","\u002Fog\u002Fpython-tuples.png",{"id":210,"title":211,"title_en":212,"slug":213},[248],{"authors_id":249},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":251,"title":252,"title_en":21,"slug":253,"excerpt":254,"excerpt_en":21,"has_translation":15,"published_at":255,"reading_time":230,"hidden_from_listing":15,"tags":256,"thumbnail_image":21,"og_image":258,"series":259,"authors":260},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,257],"set","\u002Fog\u002Fpython-sets.png",{"id":210,"title":211,"title_en":212,"slug":213},[261],{"authors_id":262},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":264,"title":265,"title_en":21,"slug":266,"excerpt":267,"excerpt_en":21,"has_translation":15,"published_at":268,"reading_time":230,"hidden_from_listing":15,"tags":269,"thumbnail_image":21,"og_image":271,"series":272,"authors":273},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,270],"dictionary","\u002Fog\u002Fpython-dictionary.png",{"id":210,"title":211,"title_en":212,"slug":213},[274],{"authors_id":275},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":277,"title":278,"title_en":279,"slug":280,"excerpt":281,"excerpt_en":282,"has_translation":12,"published_at":283,"reading_time":14,"hidden_from_listing":15,"tags":284,"thumbnail_image":21,"og_image":291,"series":292,"authors":294},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",[285,286,287,288,289,290],"rag","cloud-run","cloud-tasks","gcp","serverless","arsitektur","\u002Fog\u002Frag-pisah-jalur-query-dan-ingestion.png",{"id":293,"title":35,"title_en":36,"slug":37},8,[295],{"authors_id":296},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},{"id":298,"title":299,"title_en":300,"slug":301,"excerpt":302,"excerpt_en":303,"has_translation":12,"published_at":304,"reading_time":230,"hidden_from_listing":15,"tags":305,"thumbnail_image":21,"og_image":312,"series":313,"authors":314},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",[306,307,308,309,310,311],"multi-agent","langgraph","autogen","orkestrasi","checkpoint","llm","\u002Fog\u002Fmulti-agen-linear-atau-grafik.png",{"id":293,"title":35,"title_en":36,"slug":37},[315],{"authors_id":316},{"id":100,"name":101,"slug":102,"role":103,"profile_picture":21},[318,321,324,327,330,333,336],{"text":319,"depth":112,"id":320},"Membuat Variable pada Python","membuat-variable-pada-python",{"text":322,"depth":112,"id":323},"Memanggil Variable pada Python","memanggil-variable-pada-python",{"text":325,"depth":112,"id":326},"Gaya Penulisan Variable pada Python","gaya-penulisan-variable-pada-python",{"text":328,"depth":81,"id":329},"Strongly Typed","strongly-typed",{"text":331,"depth":81,"id":332},"Dynamicly Typed","dynamicly-typed",{"text":334,"depth":81,"id":335},"Case Sensitive","case-sensitive",{"text":337,"depth":112,"id":338},"Penutup","penutup",1793295834488]