[{"data":1,"prerenderedAt":336},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-tipe-data-string-pada-python-3-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},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",3,[83,84,85],"python","tipe-data","string","\u002Fog\u002Ftipe-data-string-pada-python-3.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,115,131,148,153,168],{"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},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",[83,104,105],"variabel","dasar","\u002Fog\u002Fmembuat-dan-menggunakan-variabel-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":126,"series":127,"authors":128},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,84,105,125],"konsep","\u002Fog\u002Fmengenal-tipe-data-pada-python-3.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":143,"series":144,"authors":145},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,84,141,142],"integer","float","\u002Fog\u002Ftipe-data-numerik-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[146],{"authors_id":147},{"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":149,"authors":150},{"id":88,"title":89,"title_en":90,"slug":91},[151],{"authors_id":152},{"id":111,"name":112,"slug":113,"role":114,"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,84,162],"boolean","\u002Fog\u002Ftipe-data-boolean-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[166],{"authors_id":167},{"id":111,"name":112,"slug":113,"role":114,"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":139,"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,84,177],"list","\u002Fog\u002Ftipe-data-list-pada-python-3.png",{"id":88,"title":89,"title_en":90,"slug":91},[181],{"authors_id":182},{"id":111,"name":112,"slug":113,"role":114,"profile_picture":21},[],{"id":185,"title":52,"title_en":53,"slug":54,"parent_series":186,"children_series":187},10,{"id":111,"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":111,"name":112,"slug":113,"role":114,"profile_picture":21},"id",[219,217],"en","Setelah sebelumnya kita membahas tentang [tipe data numerasi](https:\u002F\u002Finvasikode.com\u002Ftipe-data-numerasi-python\u002F) yang memuat angka-angka. sekarang saatnya kita membahas tentang tipe data yang memuat karakter baik huruf, kata, atau kalimat. **Tipe** data yang akan kita bahas kali ini adalah **String** pada Python 3.\n\nOkee... langsung aja lanjut\n\n## Tentang Tipe Data String Pada Python 3\n\nString pada Python merupakan tipe data yang memuat sebuah atau sekumpulan karakter. Tipe data string ditandai dengan tanda petik tunggal ('...') atau tanda petik ganda (\"...\") yang mengapit sebuah atau sekumpulan karakter.\n\nPada Python, tipe data string disebut dengan nama singkatnya yaitu 'str'—Sama seperti integer yang disingkat menjadi 'int'.\n\n```\n>>> a = 'ini adalah varibale string'\n>>> b = \"ini juga string\"\n>>> type(a)\n\u003Cclass 'str'>\n>>> type(b)\n\u003Cclass 'str'>\n```\n\n**Hmm... Sebaiknya pakai tanda petik tunggal atau petik ganda ya?**\n\nYah... sebenarnya tidak ada aturan pasti untuk penggunaan tanda petik ini. Beberapa orang bahkan menggunakan keduanya. Kalau saya pribadi lebih suka menggunakan tanda petik ganda, karena memang sudah terbiasa dengan petik ganda hehe...\n\nOkee.. lanjut. Sekarang coba kalian tebak tipe data dari variabel **k** berikut.\n\n```\n>>> k = \"\"\n```\n\n**Lah kok cuma tanda petik?**\n\nIya memang begitu. Dalam pemrograman, hal ini biasa disebut dengan *empty string* atau string kosong. Walaupun kosong, variabel tersebut tetap merupakan variabel yang valid lho.\n\n```\n>>> k = \"\"\n>>> type(k)\n\u003Cclass 'str'>\n```\n\nNoh kan. Jadi selama **ada tanda petik**, variabel tersebut akan disebut sebagai string walaupun tidak ada karakter di dalamnya.\n\n**Kalau lupa tanda petik gimana?**\n\nJika kita tidak memberi tanda petik pada karakter string, yang terjadi adalah Python membaca karakter tersebut sebagai pemanggilan variabel. Jika variabel yang dipanggil belum dideklarasikan maka akan **error**.\n\n```\n>>> a = ikan\nTraceback (most recent call last):\n  File \"\u003Cstdin>\", line 1, in \u003Cmodule>\nNameError: name 'ikan' is not defined\n```\n\nterlihat error `\"name 'ikan' is not defined\"` ini karena python membaca 'ikan' pada nilai variabel **a** sebagai pemanggilan variabel.\n\n## Operasi Tipe Data String pada Python 3\n\nBerikut ini merupakan beberapa operasi pada string\n\n### Operasi Penggabungan\n\nPenggabungan di sini artinya menggabungkan 2 atau lebih string menjadi satu.\n\n```\n>>> a = \"hello\" + \" world\"\n>>> print(a)\nhello world\n>>> print(\"Inva\" + \"si\" + \"kode\")\nInvasikode\n```\n\n### Pengindeksan Karakter\n\nPengindeksan artinya mengambil satu karakter pada posisi tertentu dengan menggunakan angka. Pada python, indeks string dimulai dari angka 0.\n\n```\n>>> nama = \"Budi bin Adi\"\n>>> print(nama[0]) # mengakses karakter ke-1\nB\n>>> print(nama[6]) # mengakses karakter ke-7\ni\n>>> print(nama[10]) # mengakses karakter ke-11\nd\n```\n\nTanda kurung siku setelah nama variabel dinamakan pengaksesan indeks dalam hal ini karakter dalam string. `nama[0]` merupakan pengaksesan karakter pertama pada variabel nama, dan seterusnya.\n\n> Pengindeksan merupakan operasi yang ada pada tipe data **list**. Sebenarnya string juga bisa diklasifikasikan sebagai list, karena terdiri dari beberapa elemen. Untuk pembahasan lebih lanjut akan dijelaskan pada kesempatan lain\n\n### Mencari Panjang String\n\nOperasi yang satu ini merupakan sebuah Fungsi yang akan mengembalikan panjang suatu string.\n\n```\n>>> a = \"Invasikode\"\n>>> len(a)\n10\n```\n\nUntuk mencari panjang string kita hanya perlu menggunakan fungsi `len()` Fungsi ini akan sangat berguna ketika kita berurusan dengan loop.\n\n## Penutup\n\nCukup sekian untuk kesempatan kali ini, semoga bermanfaat\n\nSebenarnya masih banyak yang bisa dibahas tentang string ini, namun itu akan kita bahas lebih lanjut pada kesempatan-kesempatan selanjutnya.\n\nBerikutnya kita akan membahas tentang [tipe data logika pada Python 3](https:\u002F\u002Finvasikode.com\u002Ftipe-data-boolean-python\u002F)\n\nSee ya...\n","\u003Cp>Setelah sebelumnya kita membahas tentang \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-numerasi-python\u002F\">tipe data numerasi\u003C\u002Fa> yang memuat angka-angka. sekarang saatnya kita membahas tentang tipe data yang memuat karakter baik huruf, kata, atau kalimat. \u003Cstrong>Tipe\u003C\u002Fstrong> data yang akan kita bahas kali ini adalah \u003Cstrong>String\u003C\u002Fstrong> pada Python 3.\u003C\u002Fp>\n\u003Cp>Okee... langsung aja lanjut\u003C\u002Fp>\n\u003Ch2 id=\"tentang-tipe-data-string-pada-python-3\">Tentang Tipe Data String Pada Python 3\u003C\u002Fh2>\n\u003Cp>String pada Python merupakan tipe data yang memuat sebuah atau sekumpulan karakter. Tipe data string ditandai dengan tanda petik tunggal (&#39;...&#39;) atau tanda petik ganda (&quot;...&quot;) yang mengapit sebuah atau sekumpulan karakter.\u003C\u002Fp>\n\u003Cp>Pada Python, tipe data string disebut dengan nama singkatnya yaitu &#39;str&#39;—Sama seperti integer yang disingkat menjadi &#39;int&#39;.\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'ini%20adalah%20varibale%20string'%0A%3E%3E%3E%20b%20%3D%20%22ini%20juga%20string%22%0A%3E%3E%3E%20type(a)%0A%3Cclass%20'str'%3E%0A%3E%3E%3E%20type(b)%0A%3Cclass%20'str'%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; a = 'ini adalah varibale string'\n&gt;&gt;&gt; b = \"ini juga string\"\n&gt;&gt;&gt; type(a)\n&lt;class 'str'&gt;\n&gt;&gt;&gt; type(b)\n&lt;class 'str'&gt;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>\u003Cstrong>Hmm... Sebaiknya pakai tanda petik tunggal atau petik ganda ya?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Yah... sebenarnya tidak ada aturan pasti untuk penggunaan tanda petik ini. Beberapa orang bahkan menggunakan keduanya. Kalau saya pribadi lebih suka menggunakan tanda petik ganda, karena memang sudah terbiasa dengan petik ganda hehe...\u003C\u002Fp>\n\u003Cp>Okee.. lanjut. Sekarang coba kalian tebak tipe data dari variabel \u003Cstrong>k\u003C\u002Fstrong> berikut.\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%20k%20%3D%20%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\">\u003Ccode>&gt;&gt;&gt; k = \"\"\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>\u003Cstrong>Lah kok cuma tanda petik?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Iya memang begitu. Dalam pemrograman, hal ini biasa disebut dengan \u003Cem>empty string\u003C\u002Fem> atau string kosong. Walaupun kosong, variabel tersebut tetap merupakan variabel yang valid lho.\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%20k%20%3D%20%22%22%0A%3E%3E%3E%20type(k)%0A%3Cclass%20'str'%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; k = \"\"\n&gt;&gt;&gt; type(k)\n&lt;class 'str'&gt;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Noh kan. Jadi selama \u003Cstrong>ada tanda petik\u003C\u002Fstrong>, variabel tersebut akan disebut sebagai string walaupun tidak ada karakter di dalamnya.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Kalau lupa tanda petik gimana?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Jika kita tidak memberi tanda petik pada karakter string, yang terjadi adalah Python membaca karakter tersebut sebagai pemanggilan variabel. Jika variabel yang dipanggil belum dideklarasikan maka akan \u003Cstrong>error\u003C\u002Fstrong>.\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%20ikan%0ATraceback%20(most%20recent%20call%20last)%3A%0A%20%20File%20%22%3Cstdin%3E%22%2C%20line%201%2C%20in%20%3Cmodule%3E%0ANameError%3A%20name%20'ikan'%20is%20not%20defined\" 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 = ikan\nTraceback (most recent call last):\n  File \"&lt;stdin&gt;\", line 1, in &lt;module&gt;\nNameError: name 'ikan' is not defined\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>terlihat error \u003Ccode>&quot;name &#39;ikan&#39; is not defined&quot;\u003C\u002Fcode> ini karena python membaca &#39;ikan&#39; pada nilai variabel \u003Cstrong>a\u003C\u002Fstrong> sebagai pemanggilan variabel.\u003C\u002Fp>\n\u003Ch2 id=\"operasi-tipe-data-string-pada-python-3\">Operasi Tipe Data String pada Python 3\u003C\u002Fh2>\n\u003Cp>Berikut ini merupakan beberapa operasi pada string\u003C\u002Fp>\n\u003Ch3 id=\"operasi-penggabungan\">Operasi Penggabungan\u003C\u002Fh3>\n\u003Cp>Penggabungan di sini artinya menggabungkan 2 atau lebih string menjadi satu.\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%22hello%22%20%2B%20%22%20world%22%0A%3E%3E%3E%20print(a)%0Ahello%20world%0A%3E%3E%3E%20print(%22Inva%22%20%2B%20%22si%22%20%2B%20%22kode%22)%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 = \"hello\" + \" world\"\n&gt;&gt;&gt; print(a)\nhello world\n&gt;&gt;&gt; print(\"Inva\" + \"si\" + \"kode\")\nInvasikode\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch3 id=\"pengindeksan-karakter\">Pengindeksan Karakter\u003C\u002Fh3>\n\u003Cp>Pengindeksan artinya mengambil satu karakter pada posisi tertentu dengan menggunakan angka. Pada python, indeks string dimulai dari angka 0.\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%22Budi%20bin%20Adi%22%0A%3E%3E%3E%20print(nama%5B0%5D)%20%23%20mengakses%20karakter%20ke-1%0AB%0A%3E%3E%3E%20print(nama%5B6%5D)%20%23%20mengakses%20karakter%20ke-7%0Ai%0A%3E%3E%3E%20print(nama%5B10%5D)%20%23%20mengakses%20karakter%20ke-11%0Ad\" 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 bin Adi\"\n&gt;&gt;&gt; print(nama[0]) # mengakses karakter ke-1\nB\n&gt;&gt;&gt; print(nama[6]) # mengakses karakter ke-7\ni\n&gt;&gt;&gt; print(nama[10]) # mengakses karakter ke-11\nd\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Tanda kurung siku setelah nama variabel dinamakan pengaksesan indeks dalam hal ini karakter dalam string. \u003Ccode>nama[0]\u003C\u002Fcode> merupakan pengaksesan karakter pertama pada variabel nama, dan seterusnya.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Pengindeksan merupakan operasi yang ada pada tipe data \u003Cstrong>list\u003C\u002Fstrong>. Sebenarnya string juga bisa diklasifikasikan sebagai list, karena terdiri dari beberapa elemen. Untuk pembahasan lebih lanjut akan dijelaskan pada kesempatan lain\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3 id=\"mencari-panjang-string\">Mencari Panjang String\u003C\u002Fh3>\n\u003Cp>Operasi yang satu ini merupakan sebuah Fungsi yang akan mengembalikan panjang suatu string.\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%22Invasikode%22%0A%3E%3E%3E%20len(a)%0A10\" 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 = \"Invasikode\"\n&gt;&gt;&gt; len(a)\n10\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Untuk mencari panjang string kita hanya perlu menggunakan fungsi \u003Ccode>len()\u003C\u002Fcode> Fungsi ini akan sangat berguna ketika kita berurusan dengan loop.\u003C\u002Fp>\n\u003Ch2 id=\"penutup\">Penutup\u003C\u002Fh2>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, semoga bermanfaat\u003C\u002Fp>\n\u003Cp>Sebenarnya masih banyak yang bisa dibahas tentang string ini, namun itu akan kita bahas lebih lanjut pada kesempatan-kesempatan selanjutnya.\u003C\u002Fp>\n\u003Cp>Berikutnya kita akan membahas tentang \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-boolean-python\u002F\">tipe data logika pada Python 3\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,85],"\u002Fog\u002Fpython-strings.png",{"id":210,"title":211,"title_en":212,"slug":213},[235],{"authors_id":236},{"id":111,"name":112,"slug":113,"role":114,"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":111,"name":112,"slug":113,"role":114,"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":111,"name":112,"slug":113,"role":114,"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":111,"name":112,"slug":113,"role":114,"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":111,"name":112,"slug":113,"role":114,"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":111,"name":112,"slug":113,"role":114,"profile_picture":21},[318,321,324,327,330,333],{"text":319,"depth":123,"id":320},"Tentang Tipe Data String Pada Python 3","tentang-tipe-data-string-pada-python-3",{"text":322,"depth":123,"id":323},"Operasi Tipe Data String pada Python 3","operasi-tipe-data-string-pada-python-3",{"text":325,"depth":81,"id":326},"Operasi Penggabungan","operasi-penggabungan",{"text":328,"depth":81,"id":329},"Pengindeksan Karakter","pengindeksan-karakter",{"text":331,"depth":81,"id":332},"Mencari Panjang String","mencari-panjang-string",{"text":334,"depth":123,"id":335},"Penutup","penutup",1793295835414]