[{"data":1,"prerenderedAt":202},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-statement-break-dan-continue-pada-python-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":138,"renderedTakeaway":139,"latestArticles":140,"toc":191},{"id":43,"title":44,"slug":45,"excerpt":46,"published_at":47,"thumbnail_image":48,"tags":50,"reading_time":55,"takeway":56,"body":57,"authors":58,"series":64},"95","Statement BREAK dan CONTINUE pada Python","statement-break-dan-continue-pada-python","Python memiliki statement break dan continue untuk mengatasi kasus-kasus khusus pada struktur kontrol.","2021-10-28T03:59:18.000Z",{"id":49},"cd09cb1e-7ef2-49a0-bf0a-03ff8c377577",[51,52,53,54],"python","perulangan","loop","struktur-kontrol",3,null,"Berkaitan dengan [perulangan](https://invasikode.com/struktur-kontrol/) pada Python, kadang ada kasus yang mengharuskan kita untuk segera keluar dari perulangan tanpa harus menyelesaikan seluruh iterasi. Ada juga kasus ketika kita harus segera melompat ke iterasi selanjutnya. **Tapi bagaimana caranya?**\n\nPython memiliki statement `break` dan `continue` untuk mengatasi kedua kasus tersebut. KIra-kira bagaimana penggunaannya? mari kita bahas lebih lanjut.\n\n## BREAK Statement pada Python 3\n\nYang pertama ada `break` statement. Statement ini berfungsi untuk keluar dari loop secara paksa. Dengan kata lain ketika terdapat statement `break` maka baris selanjutnya tidak akan dijalankan dan perulangan dinyatakan selesai.\n\nSekarang kita coba masuk ke contoh. Misal kita punya kode untuk mencetak angka 1 sampai 9 mengunakan [`for` loop](https://invasikode.com/for-loop-python/) seperti ini:\n\n```python\nfor i in range(1, 10):\n  print(i)\n```\n\nCoba jalankan kode tersebut.\n\nOutput yang keluar sudah bisa dipastikan ya, angka 1 sampai 9. Sementara tidak ada yang aneh. Nah sekarang kita modifikasi sedikit kode tersebut menjadi seperti ini.\n\n```python\nfor i in range(1, 10):\n  if i == 5:\n    break\n  print(i)\n```\n\nSekarang coba jalankan lagi. Maka kurang lebih outputnya akan seperti ini:\n\n```\n1\n2\n3\n4\n```\n\nBisa dilihat ya, angka yang sebelumnya dicetak 9 kali sekarang hanya menjadi 4 kali saja. Hal ini disebabkan oleh pemanggilan `break` statement ketika nilai i sama dengan 5.\n\nKetika `break` dipanggil maka perintah dibawahnya (dalam kasus ini `print`) tidak akan dieksekusi. Bukan hanya itu saja, perulangan juga dianggap selesai.\n\nTidak hanya untuk `for` loop saja, statement `break` juga dapat digunakan pada [`while` loop](https://invasikode.com/while-loop-python/). Pada kasus nyata, penggunaan `break` ini sangat berguna ketika kita ingin keluar dari infinite loop.\n\nContohnya begini:\n\n```python\nn = 0\nwhile True:   // infinite loop\n  n += 1\n  print(n)\n  if n == 5:\n    break     // keluar paksa dari loop\n```\n\nPada contoh tersebut kita menggunakan nilai `True` sebagai kondisi dari `while` loop, yang artinya perulangan tersebut akan berjalan terus-menerus tak terhingga. Nah, karena kita menggunakan perintah `break` ketika nilai n sama dengan 5, maka perulangan akan dijalankan sebanyak 5 kali saja. Sehingga outputnya menjadi seperti ini:\n\n```\n1\n2\n3\n4\n5\n```\n\nSekarang coba hapus blok if sekaligus statement `break`-nya lalu jalankan dan lihat apa yang terjadi.\n\n## CONTINUE Statement pada Python 3\n\nKalau sebelumnya ada `break` yang berfungsi untuk keluar dari loop, sekarang ada `continue` yang fungsinya adalah untuk lompat ke iterasi selanjutnya tanpa harus mengeksekusi sisa kode yang ada di bawahnya.\n\nPerbedaan utama dari `break` dan `continue` adalah jika `break` akan menghentikan perulangan secara total, sedangkan `continue` hanya akan lompat ke iterasi selanjutnya. Ketika dipanggil, keduanya sama-sama akan mengabaikan semua perintah yang ada di bawahnya.\n\nMari kita lihat contohnya, masih menggunakan kode dengan `for` loop yang sama seperti sebelumnya namun perintah `break` akan kita ganti menjadi `continue`.\n\n```python\nfor i in range(1, 10):\n  if i == 5:\n    continue\n  print(i)\n```\n\nCoba jalankan dan lihat apa yang terjadi. Kurang lebih outputnya akan seperti ini:\n\n```\n1\n2\n3\n4\n6\n7\n8\n9\n```\n\nKalau kita perhatikan outputnya, angka 5 tidak dicetak. **Kira-kira kenapa?**\n\nHal ini disebabkan karena pemanggilan perintah `continue`. Jadi ketika kita memasuki kondisi dimana i sama dengan 5, maka perintah `continue` akan dijalankan. Pemanggilan ini akan menyebabkan iterasi berlanjut ke nilai i selanjutnya secara tiba-tiba. Oleh karena itu semua perintah dibawahnya (dalam hal ini `print`) tidak akan dieksekusi sehingga angka 5 tidak dicetak.\n\nSama seperti `break` statement, `continue` ini juga bisa digunakan pada `while` loop. Untuk contohnya silahkan coba eksperimen sendiri ehehe...\n\n## Penutup\n\nCukup sekian untuk kesempatan kali ini, semoga bermanfaat. Pada kesempatan selanjutnya kita akan membahas tentang [ternary conditional operator pada Python 3](https://invasikode.com/ternary-operator-python/).\n\nSee ya...",[59],{"authors_id":60},{"name":61,"slug":62,"role":63,"profile_picture":56},"Daffa Izzuddin","izzudd","Writer",{"id":65,"title":66,"slug":67,"articles":68,"parent_series":116},"19","Struktur Kontrol","python-struktur-kontrol",[69,78,86,94,97,106],{"id":70,"title":71,"slug":72,"excerpt":73,"thumbnail_image":74,"tags":76},"92","Percabangan dengan IF, ELIF, ELSE pada Python","percabangan-dengan-if-elif-else-pada-python","Conditional statement bertugas untuk menjalankan perintah sesuai kondisi. Pada python, hal ini ditangani oleh if statement.",{"id":75},"1d91ec3b-2446-49fd-82e3-e3446468b70a",[51,77,54],"percabangan",{"id":79,"title":80,"slug":81,"excerpt":82,"thumbnail_image":83,"tags":85},"93","Perulangan dengan FOR Loop pada Python","perulangan-dengan-for-loop-pada-python","for loop merupakan perulangan yang sudah diketahui kapan mulainya dan kapan selesainya.",{"id":84},"930bed49-dd1d-4707-85be-e6b774b65505",[51,52,53,54],{"id":87,"title":88,"slug":89,"excerpt":90,"thumbnail_image":91,"tags":93},"94","Perulangan dengan WHILE Loop pada Python","perulangan-dengan-while-loop-pada-python","Berbeda dengan perulangan for, dengan while kita akan menggunakan kondisi boolean sebagai pengendalinya.",{"id":92},"a3d2cf83-8fff-4592-a62f-0d91d9a7b054",[51,52,53,54],{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":95,"tags":96},{"id":49},[51,52,53,54],{"id":98,"title":99,"slug":100,"excerpt":101,"thumbnail_image":102,"tags":104},"96","Percabangan dengan Ternary Operator pada Python","percobangan-dengan-ternary-operator-pada-python","Pada Python ternary operator untuk mempersingkat assignment yang melibatkan kondisi IF ELSE.",{"id":103},"9bfe4ceb-53ed-43e0-99f6-af44c65ed13b",[51,77,105,54],"operator",{"id":107,"title":108,"slug":109,"excerpt":110,"thumbnail_image":111,"tags":113},"97","List Comprehension Pada Pyhton","list-comprehension-pada-pyhton","list comprehension merupakan ternary operator pada Python untuk mempersingkat proses inisialisasi variable list",{"id":112},"5e8d4c5d-5506-4852-997d-deaa9f979fb5",[51,114,115],"list","list-comprehension",{"id":117,"title":32,"slug":33,"parent_series":118,"children_series":120},"10",{"id":119,"title":22,"slug":23,"parent_series":56},"1",[121,125,129,133,134],{"id":122,"title":123,"slug":124,"cover_image":56},"16","Berkenalan dengan Bahasa Python","python-intro",{"id":126,"title":127,"slug":128,"cover_image":56},"17","Variabel, Tipe Data, dan Operasi","python-variabel-tipe-data",{"id":130,"title":131,"slug":132,"cover_image":56},"18","Menggunakan Script Python","python-pemrograman-dengan-script",{"id":65,"title":66,"slug":67,"cover_image":56},{"id":135,"title":136,"slug":137,"cover_image":56},"20","Pemrograman Fungsional dengan Python","python-pemrograman-fungsional","\u003Cp>Berkaitan dengan \u003Ca href=\"https://invasikode.com/struktur-kontrol/\">perulangan\u003C/a> pada Python, kadang ada kasus yang mengharuskan kita untuk segera keluar dari perulangan tanpa harus menyelesaikan seluruh iterasi. Ada juga kasus ketika kita harus segera melompat ke iterasi selanjutnya. \u003Cstrong>Tapi bagaimana caranya?\u003C/strong>\u003C/p>\n\u003Cp>Python memiliki statement \u003Ccode>break\u003C/code> dan \u003Ccode>continue\u003C/code> untuk mengatasi kedua kasus tersebut. KIra-kira bagaimana penggunaannya? mari kita bahas lebih lanjut.\u003C/p>\n\u003Ch2 id=\"break-statement-pada-python-3\">BREAK Statement pada Python 3\u003C/h2>\n\u003Cp>Yang pertama ada \u003Ccode>break\u003C/code> statement. Statement ini berfungsi untuk keluar dari loop secara paksa. Dengan kata lain ketika terdapat statement \u003Ccode>break\u003C/code> maka baris selanjutnya tidak akan dijalankan dan perulangan dinyatakan selesai.\u003C/p>\n\u003Cp>Sekarang kita coba masuk ke contoh. Misal kita punya kode untuk mencetak angka 1 sampai 9 mengunakan \u003Ca href=\"https://invasikode.com/for-loop-python/\">\u003Ccode>for\u003C/code> loop\u003C/a> 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=\"for%20i%20in%20range(1%2C%2010)%3A%0A%20%20print(i)\" 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:#F97583\">for\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> i \u003C/span>\u003Cspan style=\"color:#F97583\">in\u003C/span>\u003Cspan style=\"color:#79B8FF\"> range\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#79B8FF\">1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#79B8FF\">10\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\">(i)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Coba jalankan kode tersebut.\u003C/p>\n\u003Cp>Output yang keluar sudah bisa dipastikan ya, angka 1 sampai 9. Sementara tidak ada yang aneh. Nah sekarang kita modifikasi sedikit kode 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=\"for%20i%20in%20range(1%2C%2010)%3A%0A%20%20if%20i%20%3D%3D%205%3A%0A%20%20%20%20break%0A%20%20print(i)\" 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:#F97583\">for\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> i \u003C/span>\u003Cspan style=\"color:#F97583\">in\u003C/span>\u003Cspan style=\"color:#79B8FF\"> range\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#79B8FF\">1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#79B8FF\">10\u003C/span>\u003Cspan style=\"color:#E1E4E8\">):\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> i \u003C/span>\u003Cspan style=\"color:#F97583\">==\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 5\u003C/span>\u003Cspan style=\"color:#E1E4E8\">:\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    break\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">  print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(i)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Sekarang coba jalankan lagi. Maka kurang lebih outputnya akan 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=\"1%0A2%0A3%0A4\" 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>1\n2\n3\n4\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Bisa dilihat ya, angka yang sebelumnya dicetak 9 kali sekarang hanya menjadi 4 kali saja. Hal ini disebabkan oleh pemanggilan \u003Ccode>break\u003C/code> statement ketika nilai i sama dengan 5.\u003C/p>\n\u003Cp>Ketika \u003Ccode>break\u003C/code> dipanggil maka perintah dibawahnya (dalam kasus ini \u003Ccode>print\u003C/code>) tidak akan dieksekusi. Bukan hanya itu saja, perulangan juga dianggap selesai.\u003C/p>\n\u003Cp>Tidak hanya untuk \u003Ccode>for\u003C/code> loop saja, statement \u003Ccode>break\u003C/code> juga dapat digunakan pada \u003Ca href=\"https://invasikode.com/while-loop-python/\">\u003Ccode>while\u003C/code> loop\u003C/a>. Pada kasus nyata, penggunaan \u003Ccode>break\u003C/code> ini sangat berguna ketika kita ingin keluar dari infinite loop.\u003C/p>\n\u003Cp>Contohnya begini:\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=\"n%20%3D%200%0Awhile%20True%3A%20%20%20%2F%2F%20infinite%20loop%0A%20%20n%20%2B%3D%201%0A%20%20print(n)%0A%20%20if%20n%20%3D%3D%205%3A%0A%20%20%20%20break%20%20%20%20%20%2F%2F%20keluar%20paksa%20dari%20loop\" 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\">n \u003C/span>\u003Cspan style=\"color:#F97583\">=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 0\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">while\u003C/span>\u003Cspan style=\"color:#79B8FF\"> True\u003C/span>\u003Cspan style=\"color:#E1E4E8\">:   \u003C/span>\u003Cspan style=\"color:#F97583\">//\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> infinite loop\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">  n \u003C/span>\u003Cspan style=\"color:#F97583\">+=\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 1\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">  print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(n)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> n \u003C/span>\u003Cspan style=\"color:#F97583\">==\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 5\u003C/span>\u003Cspan style=\"color:#E1E4E8\">:\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    break\u003C/span>\u003Cspan style=\"color:#F97583\">     //\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> keluar paksa dari loop\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pada contoh tersebut kita menggunakan nilai \u003Ccode>True\u003C/code> sebagai kondisi dari \u003Ccode>while\u003C/code> loop, yang artinya perulangan tersebut akan berjalan terus-menerus tak terhingga. Nah, karena kita menggunakan perintah \u003Ccode>break\u003C/code> ketika nilai n sama dengan 5, maka perulangan akan dijalankan sebanyak 5 kali saja. Sehingga outputnya 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\">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=\"1%0A2%0A3%0A4%0A5\" 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>1\n2\n3\n4\n5\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Sekarang coba hapus blok if sekaligus statement \u003Ccode>break\u003C/code>-nya lalu jalankan dan lihat apa yang terjadi.\u003C/p>\n\u003Ch2 id=\"continue-statement-pada-python-3\">CONTINUE Statement pada Python 3\u003C/h2>\n\u003Cp>Kalau sebelumnya ada \u003Ccode>break\u003C/code> yang berfungsi untuk keluar dari loop, sekarang ada \u003Ccode>continue\u003C/code> yang fungsinya adalah untuk lompat ke iterasi selanjutnya tanpa harus mengeksekusi sisa kode yang ada di bawahnya.\u003C/p>\n\u003Cp>Perbedaan utama dari \u003Ccode>break\u003C/code> dan \u003Ccode>continue\u003C/code> adalah jika \u003Ccode>break\u003C/code> akan menghentikan perulangan secara total, sedangkan \u003Ccode>continue\u003C/code> hanya akan lompat ke iterasi selanjutnya. Ketika dipanggil, keduanya sama-sama akan mengabaikan semua perintah yang ada di bawahnya.\u003C/p>\n\u003Cp>Mari kita lihat contohnya, masih menggunakan kode dengan \u003Ccode>for\u003C/code> loop yang sama seperti sebelumnya namun perintah \u003Ccode>break\u003C/code> akan kita ganti menjadi \u003Ccode>continue\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\">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=\"for%20i%20in%20range(1%2C%2010)%3A%0A%20%20if%20i%20%3D%3D%205%3A%0A%20%20%20%20continue%0A%20%20print(i)\" 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:#F97583\">for\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> i \u003C/span>\u003Cspan style=\"color:#F97583\">in\u003C/span>\u003Cspan style=\"color:#79B8FF\"> range\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(\u003C/span>\u003Cspan style=\"color:#79B8FF\">1\u003C/span>\u003Cspan style=\"color:#E1E4E8\">, \u003C/span>\u003Cspan style=\"color:#79B8FF\">10\u003C/span>\u003Cspan style=\"color:#E1E4E8\">):\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">  if\u003C/span>\u003Cspan style=\"color:#E1E4E8\"> i \u003C/span>\u003Cspan style=\"color:#F97583\">==\u003C/span>\u003Cspan style=\"color:#79B8FF\"> 5\u003C/span>\u003Cspan style=\"color:#E1E4E8\">:\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    continue\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">  print\u003C/span>\u003Cspan style=\"color:#E1E4E8\">(i)\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Coba jalankan dan lihat apa yang terjadi. Kurang lebih outputnya akan 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=\"1%0A2%0A3%0A4%0A6%0A7%0A8%0A9\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/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>1\n2\n3\n4\n6\n7\n8\n9\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Kalau kita perhatikan outputnya, angka 5 tidak dicetak. \u003Cstrong>Kira-kira kenapa?\u003C/strong>\u003C/p>\n\u003Cp>Hal ini disebabkan karena pemanggilan perintah \u003Ccode>continue\u003C/code>. Jadi ketika kita memasuki kondisi dimana i sama dengan 5, maka perintah \u003Ccode>continue\u003C/code> akan dijalankan. Pemanggilan ini akan menyebabkan iterasi berlanjut ke nilai i selanjutnya secara tiba-tiba. Oleh karena itu semua perintah dibawahnya (dalam hal ini \u003Ccode>print\u003C/code>) tidak akan dieksekusi sehingga angka 5 tidak dicetak.\u003C/p>\n\u003Cp>Sama seperti \u003Ccode>break\u003C/code> statement, \u003Ccode>continue\u003C/code> ini juga bisa digunakan pada \u003Ccode>while\u003C/code> loop. Untuk contohnya silahkan coba eksperimen sendiri ehehe...\u003C/p>\n\u003Ch2 id=\"penutup\">Penutup\u003C/h2>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, semoga bermanfaat. Pada kesempatan selanjutnya kita akan membahas tentang \u003Ca href=\"https://invasikode.com/ternary-operator-python/\">ternary conditional operator pada Python 3\u003C/a>.\u003C/p>\n\u003Cp>See ya...\u003C/p>\n","",[141,154,169,181],{"id":142,"title":143,"slug":144,"excerpt":145,"thumbnail_image":146,"tags":148},"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":147},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[149,150,151,152,153],"system-programming","rust","zig","c","memory-safety",{"id":155,"title":156,"slug":157,"excerpt":158,"thumbnail_image":159,"tags":161},"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":160},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[162,163,164,165,166,167,168],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":170,"title":171,"slug":172,"excerpt":173,"thumbnail_image":174,"tags":176},"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":175},"e3c617fd-1486-4b82-b937-94fbec846c77",[162,177,167,178,179,163,180],"microservices","database","message-broker","postgresql",{"id":182,"title":183,"slug":184,"excerpt":185,"thumbnail_image":186,"tags":188},"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":187},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[189,179,162,167,177,190,51],"rabbitmq","async",[192,196,199],{"text":193,"depth":194,"id":195},"BREAK Statement pada Python 3",2,"break-statement-pada-python-3",{"text":197,"depth":194,"id":198},"CONTINUE Statement pada Python 3","continue-statement-pada-python-3",{"text":200,"depth":194,"id":201},"Penutup","penutup",1791045069293]