[{"data":1,"prerenderedAt":177},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-sistem-input-dan-output-pada-python-3-with-latest":41},{"navigations":4},[5,20],{"collection":6,"item":7},"series",{"__typename":6,"title":8,"slug":9,"children_series":10},"Artikel","all",[11,14,17],{"title":12,"slug":13},"Algoritma dan Struktur Data","algoritma-struktur-data",{"title":15,"slug":16},"Konsep Dasar Pemrograman","konsep-dasar-pemrograman",{"title":18,"slug":19},"Kecerdasan Artifisial","kecerdasan-artifisial",{"collection":6,"item":21},{"__typename":6,"title":22,"slug":23,"children_series":24},"Tutorial","tutorial",[25,28,31,34],{"title":26,"slug":27},"Belajar Java","belajar-java",{"title":29,"slug":30},"Belajar Pascal","belajar-pascal",{"title":32,"slug":33},"Belajar Python","belajar-python",{"title":35,"slug":36},"Belajar Golang","belajar-golang",{"name":38,"url":39,"show":40},"CC BY-SA","https://creativecommons.org/licenses/by-sa/4.0/",false,{"article":42,"renderedBody":103,"renderedTakeaway":104,"latestArticles":105,"toc":156},{"id":43,"title":44,"slug":45,"excerpt":46,"published_at":47,"thumbnail_image":48,"tags":50,"reading_time":54,"takeway":55,"body":56,"authors":57,"series":63},"91","Sistem Input dan Output pada Python 3","sistem-input-dan-output-pada-python-3","Beberapa fungsi seperti print() dan input(), merupakan fungsi standar yang banyak digunakan untuk melakukan I/O.","2021-05-19T14:57:25.000Z",{"id":49},"1997e389-1ea2-4c8b-bc17-c7116c7d954c",[51,52,53],"python","input-output","dasar",4,null,"Sistem **input output**, atau biasa disebut **I/O** merupakan hal yang penting dalam [pemrograman](https://invasikode.com/apa-itu-pemrograman/). Untuk melakukan hal ini, Python sudah menyediakan beberapa fungsi yang bisa langsung kita gunakan.\n\nBeberapa fungsi seperti `print()` dan `input()`, merupakan fungsi standar yang banyak digunakan untuk melakukan I/O. Mari kita bahas lebih lanjut.\n\n## Sistem Output pada Python dengan Fungsi `print()`\n\nPertama-tama kita akan membahas tentang sistem output terlebih dahulu.\n\nFungsi ini sebenarnya pernah kita singgung pada kesempatan [sebelumnya](https://invasikode.com/sintaks-dasar-bahasa-python/#Mencetak_Teks_Output). Pastinya juga sudah familiar karena sering kita gunakan.\n\nFungsi `print()` digunakan untuk mencetak sesuatu di layar terminal.\n\n```python\nprint(\"Halo Dunia👋\")\nprint(\"Teks ini akan dicetak di layar terminal\")\n```\n\nJika kode tersebut [dijalankan](https://invasikode.com/menjalankan-script-python/#Menjalankan_Script_Python), maka akan keluar output seperti ini.\n\n```\nHalo Dunia👋\nTeks ini akan dicetak di layar terminal\n```\n\nSudah, begitu saja. Simpel kan. Eitss.. belum, ada beberapa lagi yang perlu kita bahas tentang fungsi yang satu ini.\n\n### Mencetak Beberapa Nilai\n\nFungsi `print()` dapat digunakan untuk mencetak beberapa nilai. Caranya adalah dengan memasukkan beberapa nilai yang dipisahkan dengan tanda koma.\n\n```python\nnama = \"Inva\"\numur = 18\nprint(\"Halo semua, namaku\", nama, \"umurku\", umur, \"tahun\")\n```\n\nJika dijalankan maka akan keluar output sebagai berikut\n\n```\nHalo semua, namaku Inva umurku 18 tahun\n```\n\nSecara default, python akan membubuhkan tanda spasi di antara setiap nilai yang kita berikan sebagai parameter fungsi `print()`.\n\n> **Parameter** merupakan istilah yang digunakan untuk menyebut **nilai** yang diberikan ke suatu fungsi.\n>\n> ~ Kita akan membahas lebih lanjut tentang parameter pada bagian **pemrograman prosedural dengan python**.\n\nJika ingin mengubah pemisahnya, maka kita bisa menambahkan parameter **sep** dengan pemisah yang diinginkan.\n\n```python\nnama = \"Inva\"\numur = 18\nprint(\"Halo semua, namaku\", nama, \"umurku\", umur, \"tahun\", sep=\"+\")\n```\n\nMaka outputnya akan berubah menjadi:\n\n```\nHalo semua, namaku+Inva+umurku+18+tahun\n```\n\n### *Output Formatting*\n\nKode yang sebelumnya ditulis sepertinya kurang enak dilihat. Ruwet dan terlalu banyak tanda koma di sana.\n\nUntuk menyelesaikan masalah ini, kita dapat melakukan *output formatting* dengan menggunakan method `format()` yang tersedia pada tipe data string.\n\nKita coba ubah kode ruwet tersebut menjadi seperti ini:\n\n```python\nnama = \"Inva\"\numur = 18\nprint(\"Halo semua, namaku {} umurku {} tahun\".format(nama, umur))\n```\n\nJika dijalankan, outputnya akan tetap sama seperti sebelumnya:\n\n```\nHalo semua, namaku Inva umurku 18 tahun\n```\n\nTanda **kurung kurawal** ({}) pada kode tersebut berfungsi sebagai ***placeholder*** atau pengganti nilai yang sebenarnya. Sedangkan, nilai sebenarnya diberikan pada parameter method `format` secara urut.\n\nGimana? Jadi lebih bersih kan **😎**\n\n## Sistem Input pada Python dengan Fungsi `input()`\n\nOutput sudah. Sekarang kita bahas tentang sistem input pada Python 3.\n\n**Input** atau masukan merupakan 'sesuatu' yang diberikan oleh pengguna untuk diolah oleh program. Input juga lah yang membuat suatu program dapat berjalan secara dinamis dan fleksibel.\n\nUntuk melakukan proses input, kita dapat menggunakan fungsi `input()` yang sudah disediakan pada python.\n\nFungsi ini menerima parameter berupa string yang akan ditampilkan di layar terminal. Fungsi ini juga mengembalikan string input dari pengguna.\n\nmari kita ubah kode yang sebelumnya sehingga menjadi sedikit lebih 'dinamis'\n\n```python\nnama = input(\"masukkan nama: \")\numur = input(\"masukkan umur: \")\nprint(\"Halo semua namaku {} umurku {} tahun\".format(nama, umur))\n```\n\nAlih-alih memberikan nilai secara langsung pada variabel **nama** dan **umur**. Pada contoh tersebut kita memberikan fungsi `input()` sebagai nilainya.\n\nJika dijalankan, maka kita akan diberi 2 kesempatan untuk memasukkan nilai. Tersebut selanjutnya akan dimasukkan kedalam variabel yang bersangkutan.\n\nBisa dilihat hasil outputnya berikut ini.\n\n```\nmasukkan nama: Udin\nmasukkan umur: 24\nHalo semua namaku Udin umurku 24 tahun\n```\n\n### Konversi Tipe Data Inputan\n\nWalaupun kita memasukkan **angka** sebagai inputan, variabel yang bersangkutan tetap akan bertipe **[string](https://invasikode.com/tipe-data-string-python/)**.\n\n**Contoh**\n\n```\ninput_angka = input(\"masukkan angka: \")\nprint(type(input_angka))\n```\n\nOutput:\n\n```\nmasukkan angka: 12\n\u003Cclass 'str'>\n```\n\nPada contoh tersebut dapat dilihat bahwa variable **input_angka** bertipe string.\n\n**Lalu, apa dampaknya?**\n\nMisalkan saja kita ingin membuat kalkulator sederhana untuk menjumlahkan 2 bilangan yang berasal dari input pengguna.\n\n```\nbil1 = input(\"bilangan 1: \")\nbil2 = input(\"bilangan 2: \")\nhasil = bil1 + bil2\nprint(\"hasil dari {} + {} adalah {}\".format(bil1, bil2, hasil))\n```\n\nMungkin kode tersebut terlihat normal-normal saja. Sekarang coba tebak bagaimana hasilnya jika pengguna melakukan input angka **12** dan **24**.\n\n```\nbilangan 1: 12\nbilangan 2: 24\nhasil dari 12 + 24 adalah 1224\n```\n\nHmm...🤔 Seharusnya muncul hasil 36 kan. Kira-kira kenapa bisa begitu?\n\nPada kode tersebut karena variable **bil1** dan **bil2** bertipe string, maka operasi yang terjadi pada variabel **hasil** adalah [operasi penggabungan](https://invasikode.com/tipe-data-string-python/#Operasi_Penggabungan). Sehingga yang kita dapat adalah hasil gabungan dari 2 string.\n\n**Jadi, solusinya bagaimana?**\n\nPada kasus ini, seharusnya kita melakukan operasi penjumlahan bilangan. Tetapi, operasi penjumlahan hanya dapat dilakukan pada variabel bertipe [angka](https://invasikode.com/tipe-data-numerasi-python/). Sehingga kita perlu melakukan konversi tipe data.\n\nUntuk mengubah tipe data **string** menjadi tipe data **float** atau **integer** dapat digunakan fungsi `float()` atau `int()`.\n\n```\nbil1 = input(\"bilangan 1: \")\nbil2 = input(\"bilangan 2: \")\nhasil = int(bil1) + int(bil2)\nprint(\"hasil dari {} + {} adalah {}\".format(bil1, bil2, hasil))\n```\n\nOutput:\n\n```\nbilangan 1: 12\nbilangan 2: 24\nhasil dari 12 + 24 adalah 36\n```\n\nYayy🎉🎉\n\n## Penutup\n\nSudah, cukup sekian untuk kesempatan kali ini. Semoga bermanfaat.\n\nPada kesempatan selanjutnya, kita akan lanjut membahas mengenai pemrograman dengan [kondisi pada Python 3](https://invasikode.com/if-else-python/)\n\nSee ya...",[58],{"authors_id":59},{"name":60,"slug":61,"role":62,"profile_picture":55},"Daffa Izzuddin","izzudd","Writer",{"id":64,"title":65,"slug":66,"articles":67,"parent_series":81},"18","Menggunakan Script Python","python-pemrograman-dengan-script",[68,78],{"id":69,"title":70,"slug":71,"excerpt":72,"thumbnail_image":73,"tags":75},"90","Menulis dan Menjalankan Script Python","menulis-dan-menjalankan-script-python","Script python merupakan file berisi kode dengan bahasa Python yang biasanya memiliki ekstensi .py",{"id":74},"f6c86d9f-f98b-4c80-a317-b0aa86440434",[51,23,76,77],"tooling","cli",{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":79,"tags":80},{"id":49},[51,52,53],{"id":82,"title":32,"slug":33,"parent_series":83,"children_series":85},"10",{"id":84,"title":22,"slug":23,"parent_series":55},"1",[86,90,94,95,99],{"id":87,"title":88,"slug":89,"cover_image":55},"16","Berkenalan dengan Bahasa Python","python-intro",{"id":91,"title":92,"slug":93,"cover_image":55},"17","Variabel, Tipe Data, dan Operasi","python-variabel-tipe-data",{"id":64,"title":65,"slug":66,"cover_image":55},{"id":96,"title":97,"slug":98,"cover_image":55},"19","Struktur Kontrol","python-struktur-kontrol",{"id":100,"title":101,"slug":102,"cover_image":55},"20","Pemrograman Fungsional dengan Python","python-pemrograman-fungsional","\u003Cp>Sistem \u003Cstrong>input output\u003C/strong>, atau biasa disebut \u003Cstrong>I/O\u003C/strong> merupakan hal yang penting dalam \u003Ca href=\"https://invasikode.com/apa-itu-pemrograman/\">pemrograman\u003C/a>. Untuk melakukan hal ini, Python sudah menyediakan beberapa fungsi yang bisa langsung kita gunakan.\u003C/p>\n\u003Cp>Beberapa fungsi seperti \u003Ccode>print()\u003C/code> dan \u003Ccode>input()\u003C/code>, merupakan fungsi standar yang banyak digunakan untuk melakukan I/O. Mari kita bahas lebih lanjut.\u003C/p>\n\u003Ch2 id=\"sistem-output-pada-python-dengan-fungsi-print\">Sistem Output pada Python dengan Fungsi \u003Ccode>print()\u003C/code>\u003C/h2>\n\u003Cp>Pertama-tama kita akan membahas tentang sistem output terlebih dahulu.\u003C/p>\n\u003Cp>Fungsi ini sebenarnya pernah kita singgung pada kesempatan \u003Ca href=\"https://invasikode.com/sintaks-dasar-bahasa-python/#Mencetak_Teks_Output\">sebelumnya\u003C/a>. Pastinya juga sudah familiar karena sering kita gunakan.\u003C/p>\n\u003Cp>Fungsi \u003Ccode>print()\u003C/code> digunakan untuk mencetak sesuatu di layar terminal.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"print(%22Halo%20Dunia%F0%9F%91%8B%22)%0Aprint(%22Teks%20ini%20akan%20dicetak%20di%20layar%20terminal%22)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Halo Dunia👋\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Teks ini akan dicetak di layar terminal\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika kode tersebut \u003Ca href=\"https://invasikode.com/menjalankan-script-python/#Menjalankan_Script_Python\">dijalankan\u003C/a>, maka akan keluar output seperti ini.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"Halo%20Dunia%F0%9F%91%8B%0ATeks%20ini%20akan%20dicetak%20di%20layar%20terminal\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>Halo Dunia👋\nTeks ini akan dicetak di layar terminal\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Sudah, begitu saja. Simpel kan. Eitss.. belum, ada beberapa lagi yang perlu kita bahas tentang fungsi yang satu ini.\u003C/p>\n\u003Ch3 id=\"mencetak-beberapa-nilai\">Mencetak Beberapa Nilai\u003C/h3>\n\u003Cp>Fungsi \u003Ccode>print()\u003C/code> dapat digunakan untuk mencetak beberapa nilai. Caranya adalah dengan memasukkan beberapa nilai yang dipisahkan dengan tanda koma.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"nama%20%3D%20%22Inva%22%0Aumur%20%3D%2018%0Aprint(%22Halo%20semua%2C%20namaku%22%2C%20nama%2C%20%22umurku%22%2C%20umur%2C%20%22tahun%22)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">nama \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"Inva\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">umur \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 18\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Halo semua, namaku\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, nama, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"umurku\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, umur, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"tahun\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika dijalankan maka akan keluar output sebagai berikut\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"Halo%20semua%2C%20namaku%20Inva%20umurku%2018%20tahun\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>Halo semua, namaku Inva umurku 18 tahun\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Secara default, python akan membubuhkan tanda spasi di antara setiap nilai yang kita berikan sebagai parameter fungsi \u003Ccode>print()\u003C/code>.\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Parameter\u003C/strong> merupakan istilah yang digunakan untuk menyebut \u003Cstrong>nilai\u003C/strong> yang diberikan ke suatu fungsi.\u003C/p>\n\u003Cp>~ Kita akan membahas lebih lanjut tentang parameter pada bagian \u003Cstrong>pemrograman prosedural dengan python\u003C/strong>.\u003C/p>\n\u003C/blockquote>\n\u003Cp>Jika ingin mengubah pemisahnya, maka kita bisa menambahkan parameter \u003Cstrong>sep\u003C/strong> dengan pemisah yang diinginkan.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"nama%20%3D%20%22Inva%22%0Aumur%20%3D%2018%0Aprint(%22Halo%20semua%2C%20namaku%22%2C%20nama%2C%20%22umurku%22%2C%20umur%2C%20%22tahun%22%2C%20sep%3D%22%2B%22)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">nama \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"Inva\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">umur \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 18\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Halo semua, namaku\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, nama, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"umurku\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, umur, \u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"tahun\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#FFAB70\">sep\u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"+\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Maka outputnya akan berubah menjadi:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"Halo%20semua%2C%20namaku%2BInva%2Bumurku%2B18%2Btahun\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>Halo semua, namaku+Inva+umurku+18+tahun\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch3 id=\"output-formatting\">\u003Cem>Output Formatting\u003C/em>\u003C/h3>\n\u003Cp>Kode yang sebelumnya ditulis sepertinya kurang enak dilihat. Ruwet dan terlalu banyak tanda koma di sana.\u003C/p>\n\u003Cp>Untuk menyelesaikan masalah ini, kita dapat melakukan \u003Cem>output formatting\u003C/em> dengan menggunakan method \u003Ccode>format()\u003C/code> yang tersedia pada tipe data string.\u003C/p>\n\u003Cp>Kita coba ubah kode ruwet tersebut menjadi seperti ini:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"nama%20%3D%20%22Inva%22%0Aumur%20%3D%2018%0Aprint(%22Halo%20semua%2C%20namaku%20%7B%7D%20umurku%20%7B%7D%20tahun%22.format(nama%2C%20umur))\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">nama \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> \"Inva\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">umur \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 18\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Halo semua, namaku \u003C/span>\u003Cspan style=\"color:#79B8FF\">{}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> umurku \u003C/span>\u003Cspan style=\"color:#79B8FF\">{}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> tahun\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">.format(nama, umur))\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Jika dijalankan, outputnya akan tetap sama seperti sebelumnya:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"Halo%20semua%2C%20namaku%20Inva%20umurku%2018%20tahun\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>Halo semua, namaku Inva umurku 18 tahun\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Tanda \u003Cstrong>kurung kurawal\u003C/strong> ({}) pada kode tersebut berfungsi sebagai \u003Cem>\u003Cstrong>placeholder\u003C/strong>\u003C/em> atau pengganti nilai yang sebenarnya. Sedangkan, nilai sebenarnya diberikan pada parameter method \u003Ccode>format\u003C/code> secara urut.\u003C/p>\n\u003Cp>Gimana? Jadi lebih bersih kan \u003Cstrong>😎\u003C/strong>\u003C/p>\n\u003Ch2 id=\"sistem-input-pada-python-dengan-fungsi-input\">Sistem Input pada Python dengan Fungsi \u003Ccode>input()\u003C/code>\u003C/h2>\n\u003Cp>Output sudah. Sekarang kita bahas tentang sistem input pada Python 3.\u003C/p>\n\u003Cp>\u003Cstrong>Input\u003C/strong> atau masukan merupakan &#39;sesuatu&#39; yang diberikan oleh pengguna untuk diolah oleh program. Input juga lah yang membuat suatu program dapat berjalan secara dinamis dan fleksibel.\u003C/p>\n\u003Cp>Untuk melakukan proses input, kita dapat menggunakan fungsi \u003Ccode>input()\u003C/code> yang sudah disediakan pada python.\u003C/p>\n\u003Cp>Fungsi ini menerima parameter berupa string yang akan ditampilkan di layar terminal. Fungsi ini juga mengembalikan string input dari pengguna.\u003C/p>\n\u003Cp>mari kita ubah kode yang sebelumnya sehingga menjadi sedikit lebih &#39;dinamis&#39;\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"nama%20%3D%20input(%22masukkan%20nama%3A%20%22)%0Aumur%20%3D%20input(%22masukkan%20umur%3A%20%22)%0Aprint(%22Halo%20semua%20namaku%20%7B%7D%20umurku%20%7B%7D%20tahun%22.format(nama%2C%20umur))\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">nama \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> input\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"masukkan nama: \"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">umur \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> input\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"masukkan umur: \"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#9ECBFF\">\"Halo semua namaku \u003C/span>\u003Cspan style=\"color:#79B8FF\">{}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> umurku \u003C/span>\u003Cspan style=\"color:#79B8FF\">{}\u003C/span>\u003Cspan style=\"color:#9ECBFF\"> tahun\"\u003C/span>\u003Cspan style=\"color:#E1E4E8\">.format(nama, umur))\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Alih-alih memberikan nilai secara langsung pada variabel \u003Cstrong>nama\u003C/strong> dan \u003Cstrong>umur\u003C/strong>. Pada contoh tersebut kita memberikan fungsi \u003Ccode>input()\u003C/code> sebagai nilainya.\u003C/p>\n\u003Cp>Jika dijalankan, maka kita akan diberi 2 kesempatan untuk memasukkan nilai. Tersebut selanjutnya akan dimasukkan kedalam variabel yang bersangkutan.\u003C/p>\n\u003Cp>Bisa dilihat hasil outputnya berikut ini.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"masukkan%20nama%3A%20Udin%0Amasukkan%20umur%3A%2024%0AHalo%20semua%20namaku%20Udin%20umurku%2024%20tahun\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>masukkan nama: Udin\nmasukkan umur: 24\nHalo semua namaku Udin umurku 24 tahun\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch3 id=\"konversi-tipe-data-inputan\">Konversi Tipe Data Inputan\u003C/h3>\n\u003Cp>Walaupun kita memasukkan \u003Cstrong>angka\u003C/strong> sebagai inputan, variabel yang bersangkutan tetap akan bertipe \u003Cstrong>\u003Ca href=\"https://invasikode.com/tipe-data-string-python/\">string\u003C/a>\u003C/strong>.\u003C/p>\n\u003Cp>\u003Cstrong>Contoh\u003C/strong>\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"input_angka%20%3D%20input(%22masukkan%20angka%3A%20%22)%0Aprint(type(input_angka))\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>input_angka = input(\"masukkan angka: \")\nprint(type(input_angka))\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Output:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"masukkan%20angka%3A%2012%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/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>masukkan angka: 12\n&lt;class 'str'&gt;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada contoh tersebut dapat dilihat bahwa variable \u003Cstrong>input_angka\u003C/strong> bertipe string.\u003C/p>\n\u003Cp>\u003Cstrong>Lalu, apa dampaknya?\u003C/strong>\u003C/p>\n\u003Cp>Misalkan saja kita ingin membuat kalkulator sederhana untuk menjumlahkan 2 bilangan yang berasal dari input pengguna.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"bil1%20%3D%20input(%22bilangan%201%3A%20%22)%0Abil2%20%3D%20input(%22bilangan%202%3A%20%22)%0Ahasil%20%3D%20bil1%20%2B%20bil2%0Aprint(%22hasil%20dari%20%7B%7D%20%2B%20%7B%7D%20adalah%20%7B%7D%22.format(bil1%2C%20bil2%2C%20hasil))\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>bil1 = input(\"bilangan 1: \")\nbil2 = input(\"bilangan 2: \")\nhasil = bil1 + bil2\nprint(\"hasil dari {} + {} adalah {}\".format(bil1, bil2, hasil))\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Mungkin kode tersebut terlihat normal-normal saja. Sekarang coba tebak bagaimana hasilnya jika pengguna melakukan input angka \u003Cstrong>12\u003C/strong> dan \u003Cstrong>24\u003C/strong>.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"bilangan%201%3A%2012%0Abilangan%202%3A%2024%0Ahasil%20dari%2012%20%2B%2024%20adalah%201224\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>bilangan 1: 12\nbilangan 2: 24\nhasil dari 12 + 24 adalah 1224\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Hmm...🤔 Seharusnya muncul hasil 36 kan. Kira-kira kenapa bisa begitu?\u003C/p>\n\u003Cp>Pada kode tersebut karena variable \u003Cstrong>bil1\u003C/strong> dan \u003Cstrong>bil2\u003C/strong> bertipe string, maka operasi yang terjadi pada variabel \u003Cstrong>hasil\u003C/strong> adalah \u003Ca href=\"https://invasikode.com/tipe-data-string-python/#Operasi_Penggabungan\">operasi penggabungan\u003C/a>. Sehingga yang kita dapat adalah hasil gabungan dari 2 string.\u003C/p>\n\u003Cp>\u003Cstrong>Jadi, solusinya bagaimana?\u003C/strong>\u003C/p>\n\u003Cp>Pada kasus ini, seharusnya kita melakukan operasi penjumlahan bilangan. Tetapi, operasi penjumlahan hanya dapat dilakukan pada variabel bertipe \u003Ca href=\"https://invasikode.com/tipe-data-numerasi-python/\">angka\u003C/a>. Sehingga kita perlu melakukan konversi tipe data.\u003C/p>\n\u003Cp>Untuk mengubah tipe data \u003Cstrong>string\u003C/strong> menjadi tipe data \u003Cstrong>float\u003C/strong> atau \u003Cstrong>integer\u003C/strong> dapat digunakan fungsi \u003Ccode>float()\u003C/code> atau \u003Ccode>int()\u003C/code>.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"bil1%20%3D%20input(%22bilangan%201%3A%20%22)%0Abil2%20%3D%20input(%22bilangan%202%3A%20%22)%0Ahasil%20%3D%20int(bil1)%20%2B%20int(bil2)%0Aprint(%22hasil%20dari%20%7B%7D%20%2B%20%7B%7D%20adalah%20%7B%7D%22.format(bil1%2C%20bil2%2C%20hasil))\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>bil1 = input(\"bilangan 1: \")\nbil2 = input(\"bilangan 2: \")\nhasil = int(bil1) + int(bil2)\nprint(\"hasil dari {} + {} adalah {}\".format(bil1, bil2, hasil))\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Output:\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C/span>\n    \u003C/div>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"bilangan%201%3A%2012%0Abilangan%202%3A%2024%0Ahasil%20dari%2012%20%2B%2024%20adalah%2036\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/path>\n      \u003C/svg>\n      \u003Cspan class=\"copy-text\">Copy\u003C/span>\n    \u003C/button>\n  \u003C/div>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>bilangan 1: 12\nbilangan 2: 24\nhasil dari 12 + 24 adalah 36\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Yayy🎉🎉\u003C/p>\n\u003Ch2 id=\"penutup\">Penutup\u003C/h2>\n\u003Cp>Sudah, cukup sekian untuk kesempatan kali ini. Semoga bermanfaat.\u003C/p>\n\u003Cp>Pada kesempatan selanjutnya, kita akan lanjut membahas mengenai pemrograman dengan \u003Ca href=\"https://invasikode.com/if-else-python/\">kondisi pada Python 3\u003C/a>\u003C/p>\n\u003Cp>See ya...\u003C/p>\n","",[106,119,134,146],{"id":107,"title":108,"slug":109,"excerpt":110,"thumbnail_image":111,"tags":113},"46","Mengapa C Mulai Ditinggalkan: Duel Filosofi Keamanan Rust vs Kesederhanaan Zig","mengapa-c-mulai-ditinggalkan-duel-filosofi-rust-vs-zig","Pernah denger kalau sekitar 70% celah keamanan kritis software modern itu asalnya dari bahasa C? Iya, bahasa yang udah jadi fondasi internet ini 😅. Yuk, kita bedah duel filosofi Rust vs Zig dan cari tahu mana yang pas buat proyek kalian!",{"id":112},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[114,115,116,117,118],"system-programming","rust","zig","c","memory-safety",{"id":120,"title":121,"slug":122,"excerpt":123,"thumbnail_image":124,"tags":126},"45","Rate Limiting Algorithms: Token Bucket vs Leaky Bucket vs Sliding Window","rate-limiting-algorithms-token-bucket-leaky-bucket-sliding-window","Udah tahu kenapa *rate limiting* itu wajib, tapi masih bingung beda Token Bucket, Leaky Bucket, Fixed Window, dan Sliding Window? Yuk, kita adu empat algoritma ini bareng-bareng dan cari tahu mana yang paling pas buat API kalian!",{"id":125},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[127,128,129,130,131,132,133],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":135,"title":136,"slug":137,"excerpt":138,"thumbnail_image":139,"tags":141},"44","Transactional Outbox Pattern: Solusi Konsistensi Database dan Message Broker Tanpa 2PC","transactional-outbox-pattern-konsistensi-database-message-broker","Pernah nggak kalian lihat pesanan udah masuk database, tapi email konfirmasinya nggak pernah kekirim? Itu gejala *dual-write problem*. Yuk, kita bedah Transactional Outbox Pattern biar data dan *event* kalian nggak lagi berselisih paham!",{"id":140},"e3c617fd-1486-4b82-b937-94fbec846c77",[127,142,132,143,144,128,145],"microservices","database","message-broker","postgresql",{"id":147,"title":148,"slug":149,"excerpt":150,"thumbnail_image":151,"tags":153},"43","Dead Letter Queue (DLQ) & Retry Policy: Menyelamatkan Pesan Nyasar di RabbitMQ Tanpa Bikin Worker Macet","dead-letter-queue-retry-policy-rabbitmq-resilient-messaging","Pernah nggak sih, *worker* kalian nolak satu pesan terus-terusan sampai CPU melonjak 100%? Itu namanya *poison message loop*, jebakan klasik di RabbitMQ. Yuk, kita bahas cara pasang *retry policy* dan *dead letter queue* yang bener!",{"id":152},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[154,144,127,132,142,155,51],"rabbitmq","async",[157,161,165,168,171,174],{"text":158,"depth":159,"id":160},"Sistem Output pada Python dengan Fungsi print()",2,"sistem-output-pada-python-dengan-fungsi-print",{"text":162,"depth":163,"id":164},"Mencetak Beberapa Nilai",3,"mencetak-beberapa-nilai",{"text":166,"depth":163,"id":167},"Output Formatting","output-formatting",{"text":169,"depth":159,"id":170},"Sistem Input pada Python dengan Fungsi input()","sistem-input-pada-python-dengan-fungsi-input",{"text":172,"depth":163,"id":173},"Konversi Tipe Data Inputan","konversi-tipe-data-inputan",{"text":175,"depth":159,"id":176},"Penutup","penutup",1791045067419]