[{"data":1,"prerenderedAt":208},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-tipe-data-boolean-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":140,"renderedTakeaway":141,"latestArticles":142,"toc":193},{"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},"88","Tipe Data Boolean pada Python 3","tipe-data-boolean-pada-python-3","Boolean adalah tipe data yang hanya dapat memuat 2 nilai yaitu true dan false. Tipe data ini berguna saat kita berurusan dengan struktur kontrol.","2021-03-18T14:36:11.000Z",{"id":49},"5ac49a12-9fa1-4642-be34-7b0a4c509587",[51,52,53],"python","tipe-data","boolean",3,null,"Sipp.. sekarang kita lanjut lagi. Setelah sebelumnya kita membahas tentang tipe data [String](https://invasikode.com/tipe-data-string-python/), pada kesempatan kali ini kita akan membahas tipe data paling simpel yang ada pada bahasa pemrograman. Yaitu tipe data boolean pada python.\n\n**Kenapa bisa paling simpel?**🤔\n\nIni karena tipe data boolean hanya menerima 2 macam nilai yaitu **true** dan **false**. Hmm... Oke langsung saja kita bahas lebih lanjut...\n\n## Tentang Tipe Data Boolean\n\nSeperti yang telah disebutkan sebelumnya, boolean merupakan tipe data yang hanya dapat memuat 2 nilai yaitu true dan false. Tipe data ini sangat berguna dalam penyusunan algoritma pemrograman khususnya ketika kita mulai berurusan dengan kondisi dan perulangan.\n\nBoolean juga biasa disebut dengan tipe data logika. Ini karena tipe data boolean juga dapat menerima operasi logika seperti yang ada pada matematika (konjungsi, disjungsi, negasi, dll) walaupun namanya berbeda. Tenang... pemrograman tidak sesulit matematika🙃\n\nTipe data boolean mengenal yang namanya *comparison operator* dan *logical operator*—apaan lagi tuh😢. Operator ini berfungsi untuk mendapatkan nilai boolean dari suatu kondisi. Santai akan kita bahas lebih lanjut nanti.\n\n## Tipe Data Boolean pada Python 3\n\nUntuk membuat variabel boolean pada Python kita bisa langsung membuat deklarasi variabel dengan nilai `True` atau `False`.\n\n```\n>>> a = True\n>>> b = False\n>>> type(a)\n\u003Cclass 'bool'>\n>>> type(b)\n\u003Cclass 'bool'>\n```\n\nPerlu diperhatikan di sini, untuk penulisan nilai boolean harus diawali dengan **huruf kapital**. Kalau kita coba menuliskan `true` atau `false` maka akan keluar error.\n\n```\n>>> a = true\nTraceback (most recent call last):\n  File \"\u003Cstdin>\", line 1, in \u003Cmodule>\nNameError: name 'true' is not defined\n```\n\nPengisian variable boolean juga dapat dilakukan dengan menggunakan operasi perbandingan maupun operasi logika.\n\n```\n>>> a = 3 > 1 # 3 lebih dari 1 = benar (True)\n>>> print(a)\nTrue\n>>> b = 3 \u003C 1 # 3 kurang dari 1 = salah (False)\n>>> print(b)\nFalse\n```\n\nContoh di atas merupakan penerapan dari operasi perbandingan. Output boolean akan berisi kebenaran dari sebuah pernyataan.\n\n## Operasi Perbandingan Boolean pada Python\n\nTipe data boolean mengenal yang namanya operasi perbandingan. Operasi ini sederhana, persis seperti yang ada di matematika. Untuk lebih jelasnya bisa dilihat di tabel berikut.\n\n| Nama Operasi            | Pada Matematika | Pada Python |\n| ----------------------- | --------------- | ----------- |\n| Lebih dari              | \\>              | \\>          |\n| Lebih dari sama dengan  | ≥               | \\>=         |\n| Kurang dari             | \u003C               | \u003C           |\n| Kurang dari sama dengan | ≤               | \u003C=          |\n| Sama dengan             | \\=              | \\==         |\n| Tidak sama dengan       | ≠               | !=          |\n\nSatu hal yang menarik tentang interpreter python. Jadi sang interpreter ini bukan cuma bisa dipakai untuk kalkulator angka, tetapi juga bisa dipakai sebagai kalkulator logika 🤩. Mari kita coba.\n\n```\n>>> 20 > 19\nTrue\n>>> 20 \u003C 19\nFalse\n```\n\nTerlihat ya, setelah operasi perbandingan di tulis, akan langsung keluar hasilnya (True atau False)\n\nOperasi perbandingan ini bukan cuma bisa dipakai untuk membandingkan angka saja, tetapi [operasi bilangan](https://invasikode.com/tipe-data-numerasi-python/) dan [string](https://invasikode.com/tipe-data-string-python/) juga bisa dikenai perbandingan.\n\n```\n>>> 9*9 == 3**4\nTrue\n>>> \"Inva\" == \"Inva\"\nTrue\n>>> 900 \u003C= 9**3\nFalse\n>>> \"Soto\" != \"Sate\"\nTrue\n```\n\n## Operasi Logika Boolean pada Python\n\nSelanjutnya adalah operasi logika boolean. Operasi ini berfungsi untuk membandingkan beberapa pernyataan logika—padanan pada metematikanya seperti konjungsi, negasi, dll. Untuk operand atau tanda operasi logika bisa dilihat pada tabel di bawah ini.\n\n| Operand | Keterangan                                |\n| ------- | ----------------------------------------- |\n| and     | True jika dan hanya jika kedua ruas True  |\n| or      | True jika salah satu atau kedua ruas True |\n| not     | Membalikkan nilai boolean                 |\n\n```\n>>> True and True\nTrue\n>>> 2>0 and 9\u003C10 # True AND True = True\nTrue\n>>> 2\u003C0 and 9>10 # False AND True = False\nFalse\n>>> 2\u003C0 or 9>10 # False OR True = True\nTrue\n>>> not(True or False) # not(True) = False\nFalse\n```\n\n## Penutup\n\nMemang penggunaan boolean masih belum terlalu terlihat untuk saat ini, tetapi boolean ini merupakan konsep yang sangat penting dalam proses penyusunan logika pemrograman. Khususnya pada perulangan dan Kondisi.\n\nUntuk sementara cukup sekian tentang tipe data boolean pada Python. Pada kesempatan berikutnya kita akan membahas tentang [tipe data list pada python 3](https://invasikode.com/tipe-data-list-python/).",[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":118},"17","Variabel, Tipe Data, dan Operasi","python-variabel-tipe-data",[68,78,87,97,106,109],{"id":69,"title":70,"slug":71,"excerpt":72,"thumbnail_image":73,"tags":75},"84","Membuat dan Menggunakan Variabel pada Python","membuat-dan-menggunakan-variabel-pada-python","Saking simpelnya, bahasa python tidak memiliki aturan khusus untuk membuat variable. Variabel otomatis terbuat ketika melakukan assignment.",{"id":74},"0baa43ef-35ab-49f0-8bcb-f02689edad1c",[51,76,77],"variabel","dasar",{"id":79,"title":80,"slug":81,"excerpt":82,"thumbnail_image":83,"tags":85},"85","Mengenal Tipe Data pada Python 3","mengenal-tipe-data-pada-python-3","Tipe data merupakan atribut yang menandakan perlakuan apa saja yang dapat dilakukan terhadap variabel tersebut.",{"id":84},"89348b31-9609-44b9-b5a7-4a7bc3a00624",[51,52,77,86],"konsep",{"id":88,"title":89,"slug":90,"excerpt":91,"thumbnail_image":92,"tags":94},"86","Tipe Data Numerik pada Python 3","tipe-data-numerik-pada-python-3","Pada python ada beberapa tipe data numerik. Seperti int, float, dan complex. Mari kita bahas lebih lanjut.",{"id":93},"08ffa42a-54a8-4180-b6a4-4b92bb4792b5",[51,52,95,96],"integer","float",{"id":98,"title":99,"slug":100,"excerpt":101,"thumbnail_image":102,"tags":104},"87","Tipe Data String pada Python 3","tipe-data-string-pada-python-3","String pada Python merupakan tipe data yang memuat sebuah atau sekumpulan karakter. String ditandai dengan tanda petik.",{"id":103},"7c605edf-c8bd-4b23-b505-7e9882897e2c",[51,52,105],"string",{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":107,"tags":108},{"id":49},[51,52,53],{"id":110,"title":111,"slug":112,"excerpt":113,"thumbnail_image":114,"tags":116},"89","Tipe Data List pada Python 3","tipe-data-list-pada-python-3","Pada Python, list merupakan tipe data yang dapat memuat banyak nilai. Dalam bahasa lain mungkin lebih familiar dengan sebutan array.",{"id":115},"0273fee7-cfd4-4035-81a8-9de49586fee7",[51,52,117],"list",{"id":119,"title":32,"slug":33,"parent_series":120,"children_series":122},"10",{"id":121,"title":22,"slug":23,"parent_series":55},"1",[123,127,128,132,136],{"id":124,"title":125,"slug":126,"cover_image":55},"16","Berkenalan dengan Bahasa Python","python-intro",{"id":64,"title":65,"slug":66,"cover_image":55},{"id":129,"title":130,"slug":131,"cover_image":55},"18","Menggunakan Script Python","python-pemrograman-dengan-script",{"id":133,"title":134,"slug":135,"cover_image":55},"19","Struktur Kontrol","python-struktur-kontrol",{"id":137,"title":138,"slug":139,"cover_image":55},"20","Pemrograman Fungsional dengan Python","python-pemrograman-fungsional","\u003Cp>Sipp.. sekarang kita lanjut lagi. Setelah sebelumnya kita membahas tentang tipe data \u003Ca href=\"https://invasikode.com/tipe-data-string-python/\">String\u003C/a>, pada kesempatan kali ini kita akan membahas tipe data paling simpel yang ada pada bahasa pemrograman. Yaitu tipe data boolean pada python.\u003C/p>\n\u003Cp>\u003Cstrong>Kenapa bisa paling simpel?\u003C/strong>🤔\u003C/p>\n\u003Cp>Ini karena tipe data boolean hanya menerima 2 macam nilai yaitu \u003Cstrong>true\u003C/strong> dan \u003Cstrong>false\u003C/strong>. Hmm... Oke langsung saja kita bahas lebih lanjut...\u003C/p>\n\u003Ch2 id=\"tentang-tipe-data-boolean\">Tentang Tipe Data Boolean\u003C/h2>\n\u003Cp>Seperti yang telah disebutkan sebelumnya, boolean merupakan tipe data yang hanya dapat memuat 2 nilai yaitu true dan false. Tipe data ini sangat berguna dalam penyusunan algoritma pemrograman khususnya ketika kita mulai berurusan dengan kondisi dan perulangan.\u003C/p>\n\u003Cp>Boolean juga biasa disebut dengan tipe data logika. Ini karena tipe data boolean juga dapat menerima operasi logika seperti yang ada pada matematika (konjungsi, disjungsi, negasi, dll) walaupun namanya berbeda. Tenang... pemrograman tidak sesulit matematika🙃\u003C/p>\n\u003Cp>Tipe data boolean mengenal yang namanya \u003Cem>comparison operator\u003C/em> dan \u003Cem>logical operator\u003C/em>—apaan lagi tuh😢. Operator ini berfungsi untuk mendapatkan nilai boolean dari suatu kondisi. Santai akan kita bahas lebih lanjut nanti.\u003C/p>\n\u003Ch2 id=\"tipe-data-boolean-pada-python-3\">Tipe Data Boolean pada Python 3\u003C/h2>\n\u003Cp>Untuk membuat variabel boolean pada Python kita bisa langsung membuat deklarasi variabel dengan nilai \u003Ccode>True\u003C/code> atau \u003Ccode>False\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=\"%3E%3E%3E%20a%20%3D%20True%0A%3E%3E%3E%20b%20%3D%20False%0A%3E%3E%3E%20type(a)%0A%3Cclass%20'bool'%3E%0A%3E%3E%3E%20type(b)%0A%3Cclass%20'bool'%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>&gt;&gt;&gt; a = True\n&gt;&gt;&gt; b = False\n&gt;&gt;&gt; type(a)\n&lt;class 'bool'&gt;\n&gt;&gt;&gt; type(b)\n&lt;class 'bool'&gt;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Perlu diperhatikan di sini, untuk penulisan nilai boolean harus diawali dengan \u003Cstrong>huruf kapital\u003C/strong>. Kalau kita coba menuliskan \u003Ccode>true\u003C/code> atau \u003Ccode>false\u003C/code> maka akan keluar error.\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=\"%3E%3E%3E%20a%20%3D%20true%0ATraceback%20(most%20recent%20call%20last)%3A%0A%20%20File%20%22%3Cstdin%3E%22%2C%20line%201%2C%20in%20%3Cmodule%3E%0ANameError%3A%20name%20'true'%20is%20not%20defined\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C/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>&gt;&gt;&gt; a = true\nTraceback (most recent call last):\n  File \"&lt;stdin&gt;\", line 1, in &lt;module&gt;\nNameError: name 'true' is not defined\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Pengisian variable boolean juga dapat dilakukan dengan menggunakan operasi perbandingan maupun operasi logika.\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=\"%3E%3E%3E%20a%20%3D%203%20%3E%201%20%23%203%20lebih%20dari%201%20%3D%20benar%20(True)%0A%3E%3E%3E%20print(a)%0ATrue%0A%3E%3E%3E%20b%20%3D%203%20%3C%201%20%23%203%20kurang%20dari%201%20%3D%20salah%20(False)%0A%3E%3E%3E%20print(b)%0AFalse\" 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>&gt;&gt;&gt; a = 3 &gt; 1 # 3 lebih dari 1 = benar (True)\n&gt;&gt;&gt; print(a)\nTrue\n&gt;&gt;&gt; b = 3 &lt; 1 # 3 kurang dari 1 = salah (False)\n&gt;&gt;&gt; print(b)\nFalse\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Contoh di atas merupakan penerapan dari operasi perbandingan. Output boolean akan berisi kebenaran dari sebuah pernyataan.\u003C/p>\n\u003Ch2 id=\"operasi-perbandingan-boolean-pada-python\">Operasi Perbandingan Boolean pada Python\u003C/h2>\n\u003Cp>Tipe data boolean mengenal yang namanya operasi perbandingan. Operasi ini sederhana, persis seperti yang ada di matematika. Untuk lebih jelasnya bisa dilihat di tabel berikut.\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Nama Operasi\u003C/th>\n\u003Cth>Pada Matematika\u003C/th>\n\u003Cth>Pada Python\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Lebih dari\u003C/td>\n\u003Ctd>&gt;\u003C/td>\n\u003Ctd>&gt;\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Lebih dari sama dengan\u003C/td>\n\u003Ctd>≥\u003C/td>\n\u003Ctd>&gt;=\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Kurang dari\u003C/td>\n\u003Ctd>&lt;\u003C/td>\n\u003Ctd>&lt;\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Kurang dari sama dengan\u003C/td>\n\u003Ctd>≤\u003C/td>\n\u003Ctd>&lt;=\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Sama dengan\u003C/td>\n\u003Ctd>=\u003C/td>\n\u003Ctd>==\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Tidak sama dengan\u003C/td>\n\u003Ctd>≠\u003C/td>\n\u003Ctd>!=\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Cp>Satu hal yang menarik tentang interpreter python. Jadi sang interpreter ini bukan cuma bisa dipakai untuk kalkulator angka, tetapi juga bisa dipakai sebagai kalkulator logika 🤩. Mari kita coba.\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=\"%3E%3E%3E%2020%20%3E%2019%0ATrue%0A%3E%3E%3E%2020%20%3C%2019%0AFalse\" 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>&gt;&gt;&gt; 20 &gt; 19\nTrue\n&gt;&gt;&gt; 20 &lt; 19\nFalse\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Terlihat ya, setelah operasi perbandingan di tulis, akan langsung keluar hasilnya (True atau False)\u003C/p>\n\u003Cp>Operasi perbandingan ini bukan cuma bisa dipakai untuk membandingkan angka saja, tetapi \u003Ca href=\"https://invasikode.com/tipe-data-numerasi-python/\">operasi bilangan\u003C/a> dan \u003Ca href=\"https://invasikode.com/tipe-data-string-python/\">string\u003C/a> juga bisa dikenai perbandingan.\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=\"%3E%3E%3E%209*9%20%3D%3D%203**4%0ATrue%0A%3E%3E%3E%20%22Inva%22%20%3D%3D%20%22Inva%22%0ATrue%0A%3E%3E%3E%20900%20%3C%3D%209**3%0AFalse%0A%3E%3E%3E%20%22Soto%22%20!%3D%20%22Sate%22%0ATrue\" 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>&gt;&gt;&gt; 9*9 == 3**4\nTrue\n&gt;&gt;&gt; \"Inva\" == \"Inva\"\nTrue\n&gt;&gt;&gt; 900 &lt;= 9**3\nFalse\n&gt;&gt;&gt; \"Soto\" != \"Sate\"\nTrue\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch2 id=\"operasi-logika-boolean-pada-python\">Operasi Logika Boolean pada Python\u003C/h2>\n\u003Cp>Selanjutnya adalah operasi logika boolean. Operasi ini berfungsi untuk membandingkan beberapa pernyataan logika—padanan pada metematikanya seperti konjungsi, negasi, dll. Untuk operand atau tanda operasi logika bisa dilihat pada tabel di bawah ini.\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Operand\u003C/th>\n\u003Cth>Keterangan\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>and\u003C/td>\n\u003Ctd>True jika dan hanya jika kedua ruas True\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>or\u003C/td>\n\u003Ctd>True jika salah satu atau kedua ruas True\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>not\u003C/td>\n\u003Ctd>Membalikkan nilai boolean\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\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=\"%3E%3E%3E%20True%20and%20True%0ATrue%0A%3E%3E%3E%202%3E0%20and%209%3C10%20%23%20True%20AND%20True%20%3D%20True%0ATrue%0A%3E%3E%3E%202%3C0%20and%209%3E10%20%23%20False%20AND%20True%20%3D%20False%0AFalse%0A%3E%3E%3E%202%3C0%20or%209%3E10%20%23%20False%20OR%20True%20%3D%20True%0ATrue%0A%3E%3E%3E%20not(True%20or%20False)%20%23%20not(True)%20%3D%20False%0AFalse\" 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>&gt;&gt;&gt; True and True\nTrue\n&gt;&gt;&gt; 2&gt;0 and 9&lt;10 # True AND True = True\nTrue\n&gt;&gt;&gt; 2&lt;0 and 9&gt;10 # False AND True = False\nFalse\n&gt;&gt;&gt; 2&lt;0 or 9&gt;10 # False OR True = True\nTrue\n&gt;&gt;&gt; not(True or False) # not(True) = False\nFalse\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Ch2 id=\"penutup\">Penutup\u003C/h2>\n\u003Cp>Memang penggunaan boolean masih belum terlalu terlihat untuk saat ini, tetapi boolean ini merupakan konsep yang sangat penting dalam proses penyusunan logika pemrograman. Khususnya pada perulangan dan Kondisi.\u003C/p>\n\u003Cp>Untuk sementara cukup sekian tentang tipe data boolean pada Python. Pada kesempatan berikutnya kita akan membahas tentang \u003Ca href=\"https://invasikode.com/tipe-data-list-python/\">tipe data list pada python 3\u003C/a>.\u003C/p>\n","",[143,156,171,183],{"id":144,"title":145,"slug":146,"excerpt":147,"thumbnail_image":148,"tags":150},"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":149},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[151,152,153,154,155],"system-programming","rust","zig","c","memory-safety",{"id":157,"title":158,"slug":159,"excerpt":160,"thumbnail_image":161,"tags":163},"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":162},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[164,165,166,167,168,169,170],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":172,"title":173,"slug":174,"excerpt":175,"thumbnail_image":176,"tags":178},"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":177},"e3c617fd-1486-4b82-b937-94fbec846c77",[164,179,169,180,181,165,182],"microservices","database","message-broker","postgresql",{"id":184,"title":185,"slug":186,"excerpt":187,"thumbnail_image":188,"tags":190},"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":189},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[191,181,164,169,179,192,51],"rabbitmq","async",[194,198,199,202,205],{"text":195,"depth":196,"id":197},"Tentang Tipe Data Boolean",2,"tentang-tipe-data-boolean",{"text":44,"depth":196,"id":45},{"text":200,"depth":196,"id":201},"Operasi Perbandingan Boolean pada Python","operasi-perbandingan-boolean-pada-python",{"text":203,"depth":196,"id":204},"Operasi Logika Boolean pada Python","operasi-logika-boolean-pada-python",{"text":206,"depth":196,"id":207},"Penutup","penutup",1791045069756]