[{"data":1,"prerenderedAt":323},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-expresi-boolean-dan-operasi-logika-pada-bahasa-pascal-id":72},{},{"featuredPost":5,"navigations":29},{"id":6,"title":7,"title_en":8,"slug":9,"excerpt":10,"excerpt_en":11,"has_translation":12,"published_at":13,"reading_time":14,"hidden_from_listing":15,"tags":16,"thumbnail_image":21,"og_image":22,"series":23,"authors":28},110,"Ketika Pilih Framework Cuma Biar Kelihatan Beda","When You Pick a Framework Just to Look Different","ketika-pilih-framework-cuma-biar-kelihatan-beda","Terakhir kali kamu milih framework atau library baru, itu karena masalahmu butuh alat itu, atau karena alatnya kedengaran keren dan belum banyak yang pakai? Pertanyaan ini nggak enak dijawab. Soalnya keputusan teknologi sering diambil dengan alasan yang nggak pernah ditulis di dokumen teknis mana pun.","The last time you chose a new framework or library, was it because your problem needed that tool, or because it sounded cool and few people around you were using it? That question is uncomfortable. Technology decisions are often made for reasons that never appear in any technical document.",true,"2026-10-06T15:25:21.000Z",5,false,[17,18,19,20],"karier","framework","opini","pengalaman",null,"\u002Fog\u002Fketika-pilih-framework-cuma-biar-kelihatan-beda.png",{"id":24,"title":25,"title_en":26,"slug":27},9,"Artikel","Articles","all",[],[30,46,67],{"collection":31,"item":32},"series",{"__typename":31,"title":25,"title_en":26,"slug":27,"children_series":33},[34,38,42],{"title":35,"title_en":36,"slug":37},"Kecerdasan Artifisial","Artificial Intelligence","kecerdasan-artifisial",{"title":39,"title_en":40,"slug":41},"Konsep Dasar Pemrograman","Programming Fundamentals","konsep-dasar-pemrograman",{"title":43,"title_en":44,"slug":45},"Algoritma dan Struktur Data","Algorithms and Data Structures","algoritma-struktur-data",{"collection":31,"item":47},{"__typename":31,"title":48,"title_en":48,"slug":49,"children_series":50},"Tutorial","tutorial",[51,55,59,63],{"title":52,"title_en":53,"slug":54},"Belajar Python","Learning Python","belajar-python",{"title":56,"title_en":57,"slug":58},"Belajar Golang","Learning Go","belajar-golang",{"title":60,"title_en":61,"slug":62},"Belajar Java","Learning Java","belajar-java",{"title":64,"title_en":65,"slug":66},"Belajar Pascal","Learning Pascal","belajar-pascal",{"collection":31,"item":68},{"__typename":31,"title":69,"title_en":69,"slug":70,"children_series":71},"Lab","lab",[],{"article":73,"renderedBody":208,"renderedTakeaway":209,"latestArticles":210,"toc":310},{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":87,"series":88,"authors":201,"body_locale":204,"available_locales":205,"body":207,"takeway":21,"prerequisite":21},67,"Expresi Boolean dan Operasi Logika pada Bahasa Pascal","Boolean Expressions and Logical Operations in Pascal","expresi-boolean-dan-operasi-logika-pada-bahasa-pascal","Dalam penyusunan algoritma pemrograman, perlu yang namanya expresi boolean. Expresi boolean dapat berupa operasi logika dan perbandingan.","Building a programming algorithm needs boolean expressions, and a boolean expression can be a logical operation or a comparison.","2020-11-05T14:29:24.000Z",4,[83,84,85,86],"pascal","boolean","operator","struktur-kontrol","\u002Fog\u002Fexpresi-boolean-dan-operasi-logika-pada-bahasa-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92,"description":93,"description_en":94,"articles":95,"children_series":180,"parent_series":181},24,"Struktur Kontrol","Control Structures","pascal-struktur-kontrol","Ekspresi boolean, percabangan if-else dan case-of, plus tiga jenis perulangan yang Pascal punya.","Boolean expressions, if-else and case-of branching, and the three kinds of loop Pascal gives you.",[96,105,120,137,151,166],{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":87,"series":97,"authors":98},{"id":89,"title":90,"title_en":91,"slug":92},[99],{"authors_id":100},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":106,"title":107,"title_en":108,"slug":109,"excerpt":110,"excerpt_en":111,"has_translation":12,"published_at":112,"reading_time":81,"hidden_from_listing":15,"tags":113,"thumbnail_image":21,"og_image":115,"series":116,"authors":117},68,"Percabangan dengan Kondisi IF dan ELSE pada Pascal","Branching with IF and ELSE Conditions in Pascal","percabangan-dengan-kondisi-if-dan-else-pada-pascal","Pada kesempatan kali ini kita akan membahas sebuah kondisi percabangan dengan menggunakan keyword IF ELSE.","This time we'll walk through branching conditions in Pascal using the IF ELSE keyword.","2020-11-09T14:33:48.000Z",[83,114,86],"percabangan","\u002Fog\u002Fpercabangan-dengan-kondisi-if-dan-else-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[118],{"authors_id":119},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":121,"title":122,"title_en":123,"slug":124,"excerpt":125,"excerpt_en":126,"has_translation":12,"published_at":127,"reading_time":128,"hidden_from_listing":15,"tags":129,"thumbnail_image":21,"og_image":132,"series":133,"authors":134},69,"Perulangan dengan FOR loop pada Pascal","Loops with the FOR Loop in Pascal","perulangan-dengan-for-loop-pada-pascal","Pada FOR loop kita menginstruksikan komputer untuk menjalankan suatu perintah sebanyak berapa kali secara explisit.","In a FOR loop we tell the computer to run a statement a specific number of times, spelled out up front.","2020-11-11T12:16:50.000Z",3,[83,130,131,86],"perulangan","loop","\u002Fog\u002Fperulangan-dengan-for-loop-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[135],{"authors_id":136},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":138,"title":139,"title_en":140,"slug":141,"excerpt":142,"excerpt_en":143,"has_translation":12,"published_at":144,"reading_time":128,"hidden_from_listing":15,"tags":145,"thumbnail_image":21,"og_image":146,"series":147,"authors":148},70,"Perulangan dengan WHILE DO loop pada Pascal","Loops with the WHILE DO Loop in Pascal","perulangan-dengan-while-do-loop-pada-pascal","WHILE DO loop merupakan perulangan pada Pascal yang menggunakan kondisi berupa ekspresi boolean sebagai penanda perulangannya.","A WHILE DO loop is a Pascal loop that uses a boolean expression as the marker for repeating, and it keeps going as long as that condition is true.","2020-11-13T12:29:04.000Z",[83,130,131,86],"\u002Fog\u002Fperulangan-dengan-while-do-loop-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[149],{"authors_id":150},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":152,"title":153,"title_en":154,"slug":155,"excerpt":156,"excerpt_en":157,"has_translation":12,"published_at":158,"reading_time":159,"hidden_from_listing":15,"tags":160,"thumbnail_image":21,"og_image":161,"series":162,"authors":163},71,"Perulangan dengan REPEAT UNTIL loop pada Pascal","Loops with the REPEAT UNTIL Loop in Pascal","perulangan-dengan-repeat-until-loop-pada-pascal","Pada REPEAT UNTIL loop, pengecekan kondisi dilakukan pada akhir perintah dan perulangan akan terus berjalan selama kondisi masih bernilai `false`.","A REPEAT UNTIL loop checks its condition at the end of the statement and keeps running as long as that condition is still false.","2020-11-15T12:34:28.000Z",2,[83,130,131,86],"\u002Fog\u002Fperulangan-dengan-repeat-until-loop-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[164],{"authors_id":165},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":167,"title":168,"title_en":169,"slug":170,"excerpt":171,"excerpt_en":172,"has_translation":12,"published_at":173,"reading_time":128,"hidden_from_listing":15,"tags":174,"thumbnail_image":21,"og_image":175,"series":176,"authors":177},72,"Percabangan dengan CASE OF pada Pascal","Branching with CASE OF in Pascal","percabangan-dengan-case-of-pada-pascal","CASE OF pada Pascal merupakan percabangan yang menggunakan variable dan nilainya untuk menentukan sebuah kondisi","CASE OF in Pascal is branching that uses a variable and its values to decide which condition applies.","2020-11-17T12:41:17.000Z",[83,114,86],"\u002Fog\u002Fpercabangan-dengan-case-of-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[178],{"authors_id":179},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},[],{"id":182,"title":64,"title_en":65,"slug":66,"parent_series":183,"children_series":184},14,{"id":101,"title":48,"title_en":48,"slug":49},[185,190,191,196],{"id":186,"title":187,"title_en":188,"slug":189,"cover_image":21},23,"Berkenalan dengan Bahasa Pascal","Getting Started with Pascal","pascal-intro",{"id":89,"title":90,"title_en":91,"slug":92,"cover_image":21},{"id":192,"title":193,"title_en":194,"slug":195,"cover_image":21},25,"Tipe Data Bentukan","Composite Types","pascal-tipe-data-bentukan",{"id":197,"title":198,"title_en":199,"slug":200,"cover_image":21},26,"Pemrograman Prosedural","Procedural Programming","pascal-pemrograman-prosedural",[202],{"authors_id":203},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},"id",[206,204],"en","Dalam penyusunan algoritma pemrograman, perlu yang namanya expresi boolean. Expresi boolean dapat berupa operasi **logika** dan **perbandingan**. Expresi boolean ini akan sangat berguna dalam penyusunan kondisi dan perulangan yang akan kita bahas pada kesempatan selanjutnya.\n\nNah pada kesempatan kali ini kita akan coba belajar tentang operasi logika dan perbandingan pada Pascal. Tapi sebelumnya kita perlu tahu tentang tipe data boolean dulu.\n\n## Tipe Data Boolean pada Pascal\n\nOperasi logika sangat erat kaitannya dengan **kondisi logis**. Nah kondisi logis ini punya tipe datanya sendiri yaitu **Boolean**. [Tipe data](https:\u002F\u002Finvasikode.com\u002Ftipe-data-pascal\u002F) boolean hanya dapat berisi 2 nilai yaitu `true` dan `false`.\n\nOperasi yang ada pada tipe data boolean disebut **ekspresi boolean** yang singkatnya terdiri dari 2 jenis yaitu **operasi perbandingan** dan **operasi logika**.\n\nKira kira apa itu operasi perbandingan dan logika? Sebelumnya coba kalian ketikkan kode berikut ini terlebih dahulu.\n\n```pascal\nprogram OperasiLogika;\nuses crt;\nvar\n  a, b: boolean;\nbegin\n  clrscr;\n  a := true;\n  b := false;\n  writeln('a: ', a);\n  writeln('b: ', b);\n  readln;\nend.\n```\n\nJika kalian jalankan maka outputnya akan seperti ini\n\n```\na: true\nb: false\n```\n\nSudah jelas terlihat bahwa nilai **a** adalah `true` dan **b** adalah `false`. Jadi kurang lebih seperti itu cara penulisan variable boolean. Jangan dihapus dulu kodenya nanti akan kita modifikasi lagi, sekarang lanjut ke operasi perbandingan pada Pascal.\n\n## Operasi Perbandingan pada Pascal\n\nOperasi perbandingan merupakan operasi untuk membandingkan sesuatu yang ada pada **ruas kiri** dengan yang ada pada **ruas kanan** dan mengembalikan **kondisi logisnya**. Dari kecil kalian pasti sudah tau apa itu operasi perbandingan.\n\nOperator perbandingan ada 6 yaitu **kurang dari**, **lebih dari**, **kurang dari** **sama dengan**, **lebih dari sama dengan**, **sama dengan**, dan **tidak sama dengan**. Untuk lebih jelasnya tentang simbol dan Keterangan bisa kalian lihat pada tabel berikut.\n\n| Operasi                 | Operator | Keterangan                                                             |\n| ----------------------- | -------- | ---------------------------------------------------------------------- |\n| Kurang dari             | `\u003C`      | true jika ruas kiri kurang dari ruas kanan                             |\n| Lebih dari              | `>`      | true jika ruas kiri lebih dari ruas kanan                              |\n| Kurang dari sama dengan | `>=`     | seperti kurang dari, namun jika kiri dan kanan sama akan bernilai true |\n| Lebih dari sama dengan  | `\u003C=`     | seperti lebih dari, namun jika kiri dan kanan sama akan bernilai true  |\n| Sama dengan             | `=`      | true jika ruas kiri dan kanan sama                                     |\n| Tidak sama dengan       | `\u003C>`     | true jika ruas kiri dan kanan tidak sama                               |\n\nFungsi operator perbandingan sama seperti operator artimatika. Kita bisa menggunakannya dalam pengisian nilai variable. Hanya saja nilai yang dikembalikan dalam bentuk `true` dan `false`.\n\nUntuk tahu lebih lanjut coba kita modifikasi sedikit kode yang telah kita buat sebelumnya. Coba kalian ganti isi dari variable **a** dan **b**\n\n```pascal\nprogram OperasiLogika;\nuses crt;\nvar\n  a, b: boolean;\nbegin\n  clrscr;\n  a := 9 > 10; \u002F\u002F false karena 9 tidak lebih dari 10\n  b := 8 = 8; \u002F\u002F true karena 8 sama dengan 8\n  writeln('a: ', a);\n  writeln('b: ', b);\n  readln;\nend.\n```\n\nJika kalian jalankan maka outputnya akan terlihat seperti ini\n\n```\na: false\nb: true\n```\n\nVariable **a** dan **b** tersebut kita isikan dengan menggunakan konsisi perbandingan. variable **a** bernilai `false` karena `9 > 10` itu **salah**, sedangkan variable **b** bernilai `true` karena `8 = 8` itu **benar**.\n\nUntuk eksperimen, kalian bisa coba coba ganti angka dan operator perbandingannya.\n\n## Operasi Logika pada Pascal\n\nOperasi logika merupakan operasi yang berguna untuk mengambil kesimpulan dari 2 **kondisi logis** (true atau false).\n\nOperator pada operasi logika ada 4 yaitu `AND`, `OR`, `XOR`, dan `NOT`. Mungkin operator ini juga ada pada matematika logika seperti **konjungsi**, **disjungsi**, **implikasi**, dan **negasi**.\n\nUntuk lebih jelasnya tentang operator pada bahasa pascal bisa lihat pada tabel berikut ini.\n\n| Operator | Padanan            | Keterangan                                       |\n| -------- | ------------------ | ------------------------------------------------ |\n| `AND`    | konjungsi          | True jika ruas kiri dan ruas kanan bernilai true |\n| `OR`     | disjungsi          | False jika kedua ruas bernilai false             |\n| `XOR`    | negasi biimplikasi | False jika kedua ruas bernilai sama              |\n| `NOT`    | negasi             | Membalikkan nilai (true menjadi false)           |\n\nPenulisan operasi logika sama seperti operasi perbandingan, hanya saja kedua ruas sudah harus bertipe boolean. Untuk lebih jelasnya coba modifikasi lagi kode yang telah kita buat sebelumnya. Silahkan tambahkan 2 variable lagi bertipe boolean dengan nama **c** dan **d**. Selanjutnya isikan nilai variable seperti contoh dibawah.\n\n```pascal\nprogram OperasiLogika;\nuses crt;\nvar\n  a, b: boolean;\n  c, d: boolean; \u002F\u002F tambahkan variable baru\nbegin\n  clrscr;\n  a := 9 > 10; \u002F\u002F false\n  b := 8 = 8; \u002F\u002F true\n  c := a AND b; \u002F\u002F true AND false = false\n  d := a OR b; \u002F\u002F true OR false = true\n  writeln('a: ', a);\n  writeln('b: ', b);\n  writeln('c: ', c);\n  writeln('d: ', d);\n  readln;\nend.\n```\n\nJika sudah coba kalian jalankan maka kurang lebih outputnya akan seperti ini.\n\n```\na: false\nb: true\nc: false\nd: true\n```\n\nPada contoh tersebut variable **a** bernilai `true`, variable **b** bernilai `false`. Lalu kita menggunakan nilai tersebut untuk melakukan operasi logika pada variable **c** dan **d**.\n\nPada variable **c** kita melakukan operasi `AND`. Sehingga `a AND b` bisa kita terjemahkan menjadi `true AND false`, hasilnya adalah `false`.\n\nUntuk variable **d** kita melakukan operasi `OR`. Sehingga `a OR b` bisa kita terjemahkan menjadi `true OR false`, hasilnya adalah `true`.\n\n> Operasi `not` hanya membutuhkan satu operand di kanan tanda (fungsi dan penulisannya seperti tanda negatif)\n\n## Penutup\n\nCukup sekian untuk tutorial kali ini semoga bermanfaat :D Ekspresi boolean ini akan banyak kita gunakan pada tutorial selanjutnya dalam penyusunan konsidisi dan perulangan. Pada tutorial selanjutnya kita akan belajar tentang [kondisi percabangan dengan if else](https:\u002F\u002Finvasikode.com\u002Fif-else-pascal\u002F).\n","\u003Cp>Dalam penyusunan algoritma pemrograman, perlu yang namanya expresi boolean. Expresi boolean dapat berupa operasi \u003Cstrong>logika\u003C\u002Fstrong> dan \u003Cstrong>perbandingan\u003C\u002Fstrong>. Expresi boolean ini akan sangat berguna dalam penyusunan kondisi dan perulangan yang akan kita bahas pada kesempatan selanjutnya.\u003C\u002Fp>\n\u003Cp>Nah pada kesempatan kali ini kita akan coba belajar tentang operasi logika dan perbandingan pada Pascal. Tapi sebelumnya kita perlu tahu tentang tipe data boolean dulu.\u003C\u002Fp>\n\u003Ch2 id=\"tipe-data-boolean-pada-pascal\">Tipe Data Boolean pada Pascal\u003C\u002Fh2>\n\u003Cp>Operasi logika sangat erat kaitannya dengan \u003Cstrong>kondisi logis\u003C\u002Fstrong>. Nah kondisi logis ini punya tipe datanya sendiri yaitu \u003Cstrong>Boolean\u003C\u002Fstrong>. \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-pascal\u002F\">Tipe data\u003C\u002Fa> boolean hanya dapat berisi 2 nilai yaitu \u003Ccode>true\u003C\u002Fcode> dan \u003Ccode>false\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Operasi yang ada pada tipe data boolean disebut \u003Cstrong>ekspresi boolean\u003C\u002Fstrong> yang singkatnya terdiri dari 2 jenis yaitu \u003Cstrong>operasi perbandingan\u003C\u002Fstrong> dan \u003Cstrong>operasi logika\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Kira kira apa itu operasi perbandingan dan logika? Sebelumnya coba kalian ketikkan kode berikut ini terlebih dahulu.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20OperasiLogika%3B%0Auses%20crt%3B%0Avar%0A%20%20a%2C%20b%3A%20boolean%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20a%20%3A%3D%20true%3B%0A%20%20b%20%3A%3D%20false%3B%0A%20%20writeln('a%3A%20'%2C%20a)%3B%0A%20%20writeln('b%3A%20'%2C%20b)%3B%0A%20%20readln%3B%0Aend.\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program OperasiLogika;\nuses crt;\nvar\n  a, b: boolean;\nbegin\n  clrscr;\n  a := true;\n  b := false;\n  writeln('a: ', a);\n  writeln('b: ', b);\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Jika kalian jalankan maka outputnya akan seperti ini\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"a%3A%20true%0Ab%3A%20false\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>a: true\nb: false\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sudah jelas terlihat bahwa nilai \u003Cstrong>a\u003C\u002Fstrong> adalah \u003Ccode>true\u003C\u002Fcode> dan \u003Cstrong>b\u003C\u002Fstrong> adalah \u003Ccode>false\u003C\u002Fcode>. Jadi kurang lebih seperti itu cara penulisan variable boolean. Jangan dihapus dulu kodenya nanti akan kita modifikasi lagi, sekarang lanjut ke operasi perbandingan pada Pascal.\u003C\u002Fp>\n\u003Ch2 id=\"operasi-perbandingan-pada-pascal\">Operasi Perbandingan pada Pascal\u003C\u002Fh2>\n\u003Cp>Operasi perbandingan merupakan operasi untuk membandingkan sesuatu yang ada pada \u003Cstrong>ruas kiri\u003C\u002Fstrong> dengan yang ada pada \u003Cstrong>ruas kanan\u003C\u002Fstrong> dan mengembalikan \u003Cstrong>kondisi logisnya\u003C\u002Fstrong>. Dari kecil kalian pasti sudah tau apa itu operasi perbandingan.\u003C\u002Fp>\n\u003Cp>Operator perbandingan ada 6 yaitu \u003Cstrong>kurang dari\u003C\u002Fstrong>, \u003Cstrong>lebih dari\u003C\u002Fstrong>, \u003Cstrong>kurang dari\u003C\u002Fstrong> \u003Cstrong>sama dengan\u003C\u002Fstrong>, \u003Cstrong>lebih dari sama dengan\u003C\u002Fstrong>, \u003Cstrong>sama dengan\u003C\u002Fstrong>, dan \u003Cstrong>tidak sama dengan\u003C\u002Fstrong>. Untuk lebih jelasnya tentang simbol dan Keterangan bisa kalian lihat pada tabel berikut.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Operasi\u003C\u002Fth>\n\u003Cth>Operator\u003C\u002Fth>\n\u003Cth>Keterangan\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Kurang dari\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>&lt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>true jika ruas kiri kurang dari ruas kanan\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Lebih dari\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>true jika ruas kiri lebih dari ruas kanan\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Kurang dari sama dengan\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>&gt;=\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>seperti kurang dari, namun jika kiri dan kanan sama akan bernilai true\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Lebih dari sama dengan\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>&lt;=\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>seperti lebih dari, namun jika kiri dan kanan sama akan bernilai true\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Sama dengan\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>=\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>true jika ruas kiri dan kanan sama\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Tidak sama dengan\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>&lt;&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>true jika ruas kiri dan kanan tidak sama\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Fungsi operator perbandingan sama seperti operator artimatika. Kita bisa menggunakannya dalam pengisian nilai variable. Hanya saja nilai yang dikembalikan dalam bentuk \u003Ccode>true\u003C\u002Fcode> dan \u003Ccode>false\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Untuk tahu lebih lanjut coba kita modifikasi sedikit kode yang telah kita buat sebelumnya. Coba kalian ganti isi dari variable \u003Cstrong>a\u003C\u002Fstrong> dan \u003Cstrong>b\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20OperasiLogika%3B%0Auses%20crt%3B%0Avar%0A%20%20a%2C%20b%3A%20boolean%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20a%20%3A%3D%209%20%3E%2010%3B%20%2F%2F%20false%20karena%209%20tidak%20lebih%20dari%2010%0A%20%20b%20%3A%3D%208%20%3D%208%3B%20%2F%2F%20true%20karena%208%20sama%20dengan%208%0A%20%20writeln('a%3A%20'%2C%20a)%3B%0A%20%20writeln('b%3A%20'%2C%20b)%3B%0A%20%20readln%3B%0Aend.\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program OperasiLogika;\nuses crt;\nvar\n  a, b: boolean;\nbegin\n  clrscr;\n  a := 9 &gt; 10; \u002F\u002F false karena 9 tidak lebih dari 10\n  b := 8 = 8; \u002F\u002F true karena 8 sama dengan 8\n  writeln('a: ', a);\n  writeln('b: ', b);\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Jika kalian jalankan maka outputnya akan terlihat seperti ini\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"a%3A%20false%0Ab%3A%20true\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>a: false\nb: true\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Variable \u003Cstrong>a\u003C\u002Fstrong> dan \u003Cstrong>b\u003C\u002Fstrong> tersebut kita isikan dengan menggunakan konsisi perbandingan. variable \u003Cstrong>a\u003C\u002Fstrong> bernilai \u003Ccode>false\u003C\u002Fcode> karena \u003Ccode>9 &gt; 10\u003C\u002Fcode> itu \u003Cstrong>salah\u003C\u002Fstrong>, sedangkan variable \u003Cstrong>b\u003C\u002Fstrong> bernilai \u003Ccode>true\u003C\u002Fcode> karena \u003Ccode>8 = 8\u003C\u002Fcode> itu \u003Cstrong>benar\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Untuk eksperimen, kalian bisa coba coba ganti angka dan operator perbandingannya.\u003C\u002Fp>\n\u003Ch2 id=\"operasi-logika-pada-pascal\">Operasi Logika pada Pascal\u003C\u002Fh2>\n\u003Cp>Operasi logika merupakan operasi yang berguna untuk mengambil kesimpulan dari 2 \u003Cstrong>kondisi logis\u003C\u002Fstrong> (true atau false).\u003C\u002Fp>\n\u003Cp>Operator pada operasi logika ada 4 yaitu \u003Ccode>AND\u003C\u002Fcode>, \u003Ccode>OR\u003C\u002Fcode>, \u003Ccode>XOR\u003C\u002Fcode>, dan \u003Ccode>NOT\u003C\u002Fcode>. Mungkin operator ini juga ada pada matematika logika seperti \u003Cstrong>konjungsi\u003C\u002Fstrong>, \u003Cstrong>disjungsi\u003C\u002Fstrong>, \u003Cstrong>implikasi\u003C\u002Fstrong>, dan \u003Cstrong>negasi\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Untuk lebih jelasnya tentang operator pada bahasa pascal bisa lihat pada tabel berikut ini.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Operator\u003C\u002Fth>\n\u003Cth>Padanan\u003C\u002Fth>\n\u003Cth>Keterangan\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>AND\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>konjungsi\u003C\u002Ftd>\n\u003Ctd>True jika ruas kiri dan ruas kanan bernilai true\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>OR\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>disjungsi\u003C\u002Ftd>\n\u003Ctd>False jika kedua ruas bernilai false\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>XOR\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>negasi biimplikasi\u003C\u002Ftd>\n\u003Ctd>False jika kedua ruas bernilai sama\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>NOT\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>negasi\u003C\u002Ftd>\n\u003Ctd>Membalikkan nilai (true menjadi false)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Penulisan operasi logika sama seperti operasi perbandingan, hanya saja kedua ruas sudah harus bertipe boolean. Untuk lebih jelasnya coba modifikasi lagi kode yang telah kita buat sebelumnya. Silahkan tambahkan 2 variable lagi bertipe boolean dengan nama \u003Cstrong>c\u003C\u002Fstrong> dan \u003Cstrong>d\u003C\u002Fstrong>. Selanjutnya isikan nilai variable seperti contoh dibawah.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"program%20OperasiLogika%3B%0Auses%20crt%3B%0Avar%0A%20%20a%2C%20b%3A%20boolean%3B%0A%20%20c%2C%20d%3A%20boolean%3B%20%2F%2F%20tambahkan%20variable%20baru%0Abegin%0A%20%20clrscr%3B%0A%20%20a%20%3A%3D%209%20%3E%2010%3B%20%2F%2F%20false%0A%20%20b%20%3A%3D%208%20%3D%208%3B%20%2F%2F%20true%0A%20%20c%20%3A%3D%20a%20AND%20b%3B%20%2F%2F%20true%20AND%20false%20%3D%20false%0A%20%20d%20%3A%3D%20a%20OR%20b%3B%20%2F%2F%20true%20OR%20false%20%3D%20true%0A%20%20writeln('a%3A%20'%2C%20a)%3B%0A%20%20writeln('b%3A%20'%2C%20b)%3B%0A%20%20writeln('c%3A%20'%2C%20c)%3B%0A%20%20writeln('d%3A%20'%2C%20d)%3B%0A%20%20readln%3B%0Aend.\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>program OperasiLogika;\nuses crt;\nvar\n  a, b: boolean;\n  c, d: boolean; \u002F\u002F tambahkan variable baru\nbegin\n  clrscr;\n  a := 9 &gt; 10; \u002F\u002F false\n  b := 8 = 8; \u002F\u002F true\n  c := a AND b; \u002F\u002F true AND false = false\n  d := a OR b; \u002F\u002F true OR false = true\n  writeln('a: ', a);\n  writeln('b: ', b);\n  writeln('c: ', c);\n  writeln('d: ', d);\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Jika sudah coba kalian jalankan maka kurang lebih outputnya akan seperti ini.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"a%3A%20false%0Ab%3A%20true%0Ac%3A%20false%0Ad%3A%20true\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>a: false\nb: true\nc: false\nd: true\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Pada contoh tersebut variable \u003Cstrong>a\u003C\u002Fstrong> bernilai \u003Ccode>true\u003C\u002Fcode>, variable \u003Cstrong>b\u003C\u002Fstrong> bernilai \u003Ccode>false\u003C\u002Fcode>. Lalu kita menggunakan nilai tersebut untuk melakukan operasi logika pada variable \u003Cstrong>c\u003C\u002Fstrong> dan \u003Cstrong>d\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Pada variable \u003Cstrong>c\u003C\u002Fstrong> kita melakukan operasi \u003Ccode>AND\u003C\u002Fcode>. Sehingga \u003Ccode>a AND b\u003C\u002Fcode> bisa kita terjemahkan menjadi \u003Ccode>true AND false\u003C\u002Fcode>, hasilnya adalah \u003Ccode>false\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Untuk variable \u003Cstrong>d\u003C\u002Fstrong> kita melakukan operasi \u003Ccode>OR\u003C\u002Fcode>. Sehingga \u003Ccode>a OR b\u003C\u002Fcode> bisa kita terjemahkan menjadi \u003Ccode>true OR false\u003C\u002Fcode>, hasilnya adalah \u003Ccode>true\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Operasi \u003Ccode>not\u003C\u002Fcode> hanya membutuhkan satu operand di kanan tanda (fungsi dan penulisannya seperti tanda negatif)\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"penutup\">Penutup\u003C\u002Fh2>\n\u003Cp>Cukup sekian untuk tutorial kali ini semoga bermanfaat :D Ekspresi boolean ini akan banyak kita gunakan pada tutorial selanjutnya dalam penyusunan konsidisi dan perulangan. Pada tutorial selanjutnya kita akan belajar tentang \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fif-else-pascal\u002F\">kondisi percabangan dengan if else\u003C\u002Fa>.\u003C\u002Fp>\n","",[211,230,243,256,269,290],{"id":212,"title":213,"title_en":21,"slug":214,"excerpt":215,"excerpt_en":21,"has_translation":15,"published_at":216,"reading_time":217,"hidden_from_listing":15,"tags":218,"thumbnail_image":21,"og_image":221,"series":222,"authors":227},133,"Python Strings: the Badge That Only Worked for One Name","python-strings","The badge script printed the right name for the person who wrote it and the wrong name for everybody else. Slicing counts characters, and a name is words.","2026-10-28T13:00:00.000Z",6,[219,220],"python","string","\u002Fog\u002Fpython-strings.png",{"id":223,"title":224,"title_en":225,"slug":226},30,"Koleksi dan String","Collections and Strings","python-collections",[228],{"authors_id":229},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":231,"title":232,"title_en":21,"slug":233,"excerpt":234,"excerpt_en":21,"has_translation":15,"published_at":235,"reading_time":217,"hidden_from_listing":15,"tags":236,"thumbnail_image":21,"og_image":238,"series":239,"authors":240},132,"Python Tuples: Why All Three Points Are the Same Point","python-tuples","Three points walk into a loop and come out identical. The list was never copied three times; the name was. A tuple makes that bug impossible.","2026-10-28T12:00:00.000Z",[219,237],"tuple","\u002Fog\u002Fpython-tuples.png",{"id":223,"title":224,"title_en":225,"slug":226},[241],{"authors_id":242},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":244,"title":245,"title_en":21,"slug":246,"excerpt":247,"excerpt_en":21,"has_translation":15,"published_at":248,"reading_time":217,"hidden_from_listing":15,"tags":249,"thumbnail_image":21,"og_image":251,"series":252,"authors":253},131,"Python Sets: the Duplicate That Keeps Coming Back","python-sets","A de-duplication loop that works on clean data leaves four tags where there should be two. The bug is case, and the fix is a `set`.","2026-10-28T11:00:00.000Z",[219,250],"set","\u002Fog\u002Fpython-sets.png",{"id":223,"title":224,"title_en":225,"slug":226},[254],{"authors_id":255},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":257,"title":258,"title_en":21,"slug":259,"excerpt":260,"excerpt_en":21,"has_translation":15,"published_at":261,"reading_time":217,"hidden_from_listing":15,"tags":262,"thumbnail_image":21,"og_image":264,"series":265,"authors":266},130,"Python Dictionaries: the Key That Isn't There","python-dictionary","A word counter dies the first time it meets a word twice. The fix is one line; what takes longer is knowing which of a dict's three lookups to reach for.","2026-10-28T10:00:00.000Z",[219,263],"dictionary","\u002Fog\u002Fpython-dictionary.png",{"id":223,"title":224,"title_en":225,"slug":226},[267],{"authors_id":268},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":270,"title":271,"title_en":272,"slug":273,"excerpt":274,"excerpt_en":275,"has_translation":12,"published_at":276,"reading_time":14,"hidden_from_listing":15,"tags":277,"thumbnail_image":21,"og_image":284,"series":285,"authors":287},129,"Biar RAG nggak kena 504: pisahin jalur query dan ingestion","So Your RAG Stops Hitting 504: Split the Query Path From Ingestion","rag-pisah-jalur-query-dan-ingestion","Satu service RAG yang merangkap parsing dan menjawab kueri bakal tumbang pas ada yang upload PDF 200 halaman. Obatnya dua jalur dan satu queue.","One RAG service that both parses uploads and answers queries will fall over the moment someone uploads a 200-page PDF. The cure is two paths and one queue.","2026-10-22T01:30:00.000Z",[278,279,280,281,282,283],"rag","cloud-run","cloud-tasks","gcp","serverless","arsitektur","\u002Fog\u002Frag-pisah-jalur-query-dan-ingestion.png",{"id":286,"title":35,"title_en":36,"slug":37},8,[288],{"authors_id":289},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},{"id":291,"title":292,"title_en":293,"slug":294,"excerpt":295,"excerpt_en":296,"has_translation":12,"published_at":297,"reading_time":217,"hidden_from_listing":15,"tags":298,"thumbnail_image":21,"og_image":305,"series":306,"authors":307},128,"Linear atau graf: cara mengatur banyak agent tanpa loop abadi","Linear or Graph: How to Run Many Agents Without an Eternal Loop","multi-agen-linear-atau-grafik","Satu agent dengan dua puluh tool gampang kacau. Begitu beberapa agent saling revisi, kamu butuh graf yang mendukung cycle dan angka yang membuatnya berhenti.","One agent with twenty tools gets messy fast. Once several agents revise each other, you need a graph that allows cycles and a number that makes it stop.","2026-10-21T16:05:00.000Z",[299,300,301,302,303,304],"multi-agent","langgraph","autogen","orkestrasi","checkpoint","llm","\u002Fog\u002Fmulti-agen-linear-atau-grafik.png",{"id":286,"title":35,"title_en":36,"slug":37},[308],{"authors_id":309},{"id":101,"name":102,"slug":103,"role":104,"profile_picture":21},[311,314,317,320],{"text":312,"depth":159,"id":313},"Tipe Data Boolean pada Pascal","tipe-data-boolean-pada-pascal",{"text":315,"depth":159,"id":316},"Operasi Perbandingan pada Pascal","operasi-perbandingan-pada-pascal",{"text":318,"depth":159,"id":319},"Operasi Logika pada Pascal","operasi-logika-pada-pascal",{"text":321,"depth":159,"id":322},"Penutup","penutup",1793295834075]