[{"data":1,"prerenderedAt":201},["ShallowReactive",2],{"site-header":3,"site-footer-license":37,"article-perulangan-dengan-while-do-loop-pada-pascal-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":133,"renderedTakeaway":134,"latestArticles":135,"toc":187},{"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},"70","Perulangan dengan WHILE DO loop pada Pascal","perulangan-dengan-while-do-loop-pada-pascal","WHILE DO loop merupakan perulangan pada Pascal yang menggunakan kondisi berupa ekspresi boolean sebagai penanda perulangannya.","2020-11-13T12:29:04.000Z",{"id":49},"a0a6e8a4-08ae-448f-b8a1-b3ca3b24c559",[51,52,53,54],"pascal","perulangan","loop","struktur-kontrol",3,null,"Pada kesempatan kali ini kita tetap membahas tentang perulangan pada Pascal. Setelah sebelumnya kita memakai [FOR loop](https://invasikode.com/for-loop-pascal/), sekarang kita akan coba menggunakan WHILE DO loop pada Bahasa Pascal.\n\n## Pengertian WHILE DO loop pada Pascal\n\nWHILE DO loop merupakan perulangan pada Pascal yang menggunakan kondisi berupa ekspresi boolean sebagai penanda perulangannya. Perulangan dengan WHILE DO loop ini tidak akan berhenti selama kondisinya masih bernilai `true`.\n\nJika FOR loop sebelumnya kita analogikan sebagai minum obat yang sudah **pasti** 3 kali sehari, pada WHILE DO loop ini bisa kita analogikan sebagai **proses mengaduk adonan roti**.\n\nSaat mengaduk adonan roti tidak mungkin kan kita menggunakan bilangan pasti, seperti\n\n> Aduk adonan roti sebanyak 50 kali\n\nSiapa juga yang mau ngaduk adonan sambil ngitung hehe... sebagai gantinya, biasanya kita jumpai perintah sebagi berikut\n\n> Aduk adonan roti sampai mengembang\n\nAlih alih menggunakan bilangan seperti **50**. Pada perintah tersebut kita menggunakan sebuah kondisi yaitu \"sampai roti mengembang\".\n\nArtinya, selama adonan roti belum mengembang maka pengadukan akan terus berjalan. Namun ketika adonan sudah mengembang maka pengadukan selesai.\n\nKurang lebih jika diterjemahkan kedalam bahasa Pascal akan seperti ini\n\n```\n// dalam bahasa pascal\nwhile (adonan_belum_mengembang) do\n  aduk_adonan;\n\n// atau dalam bahasa indonseia\nselama (adonan_belum_mengembang) lakukan\n  aduk_adonan;\n```\n\nYah kurang lebih seperti itu penggunaan while pada Pascal. Mungkin jika diterjemahkan kedalam bahasa Indonesia lebih mudah dimengerti hehe....\n\n## Format Penulisan WHILE DO loop pada Pascal\n\nPada WHILE DO loop, komponen paling penting adalah sebuah **kondisi** yang berupa [ekspresi boolean](https://invasikode.com/operasi-logika-pascal/). Selanjutnya adalah statement perintah yang akan kita jalankan. Berikut merupakan format penulisan WHILE DO loop\n\n```\nwhile ({kondisi}) do\nbegin\n  {perintah yang akan dijalankan}\nend;\n```\n\nOke supaya lebih paham, kita lanjut dengan membuat program sederhana menggunakan WHILE DO loop.\n\n## Contoh Penggunaan WHILE DO loop pada Pascal\n\nPada contoh kali ini kita akan coba mengeluarkan output bilangan antara 1 sampai 100 dengan perulangan WHILE DO. Oke coba kalian ketikkan kode berikut ini.\n\n```pascal\nprogram WhileDoLoop;\nuses crt;\nvar\n  i: integer;\nbegin\n  clrscr;\n  i := 1;\n  while (i \u003C= 100) do // selama i kurang dari atau sama dengan 100\n  begin\n    writeln(i); // output nilai variable i\n    i := i + 1; // menambah nilai i sebanyak 1\n  end;\n  readln;\nend.\n```\n\nKalau dijalankan maka outputnya akan keluar bilangan mulai dari 1 sampai 100. Kurang lebih seperti ini\n\n```\n1\n2\n.\n.\n99\n100\n```\n\nOutput ini dihasilkan karena pada WHILE DO loop kita menggunakan kondisi yaitu `i \u003C= 100`, selanjutnya kita menjalankan perintah `writeln`, dan yang terakhir adalah menambah nilai i sebanyak 1 (`i := i + 1`)\n\nmenambahkan nilai variable **i** ini sangat penting, karena jika tidak ada maka WHILE DO loop akan berjalan selamanya, dan output yang dikeluarkan hanya angka 1 saja. Hal ini juga bisa didapat ketika kodisi pada while kita isikan nilai `true`.\n\n```pascal\nwhile (true) do\n  ....\n```\n\nKode tersebut akan berjalan selamanya :D atau biasa disebut infinite looping\n\n> Invinite looping sangat berguna dalam pemrograman game, karena dalam game terdapat banyak perintah kompleks yang harus terus berjalan\n\nSeperti biasa untuk eksperimen kalian bisa coba mengganti variable dan bermain dengan kondisinya. Bebas... selamat mencoba hehe..\n\n## Penutup\n\nCukup sekian untuk tutorial kali ini, semoga bermanfaat :D pada tutorial selanjutnya kita masih tetap akan membahas seputar looping, jadi jangan bosen ya hehe... Selanjutnya kita akan membahas tentang [repeat until loop pada Pascal](https://invasikode.com/repeat-loop-pascal/).",[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":115},"24","Struktur Kontrol","pascal-struktur-kontrol",[69,79,88,96,99,107],{"id":70,"title":71,"slug":72,"excerpt":73,"thumbnail_image":74,"tags":76},"67","Expresi Boolean dan Operasi Logika pada Bahasa 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.",{"id":75},"0d7b8bac-d407-4c10-adac-9629c054e44a",[51,77,78,54],"boolean","operator",{"id":80,"title":81,"slug":82,"excerpt":83,"thumbnail_image":84,"tags":86},"68","Percabangan dengan Kondisi IF dan ELSE pada Pascal","percabangan-dengan-kondisi-if-dan-else-pada-pascal","Pada kesempatan kali ini kita akan membahas sebuah kondisi percabangan dengan menggunakan keyword IF ELSE.",{"id":85},"12176154-b51a-40f7-92c9-76bd22f27edd",[51,87,54],"percabangan",{"id":89,"title":90,"slug":91,"excerpt":92,"thumbnail_image":93,"tags":95},"69","Perulangan dengan FOR loop pada Pascal","perulangan-dengan-for-loop-pada-pascal","Pada FOR loop kita menginstruksikan komputer untuk menjalankan suatu perintah sebanyak berapa kali secara explisit.",{"id":94},"add308c3-92a3-46cf-b748-c088955b16ac",[51,52,53,54],{"id":43,"title":44,"slug":45,"excerpt":46,"thumbnail_image":97,"tags":98},{"id":49},[51,52,53,54],{"id":100,"title":101,"slug":102,"excerpt":103,"thumbnail_image":104,"tags":106},"71","Perulangan dengan REPEAT UNTIL loop pada 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`.",{"id":105},"7c6b59b4-5fc4-432f-9bb2-388b761240b4",[51,52,53,54],{"id":108,"title":109,"slug":110,"excerpt":111,"thumbnail_image":112,"tags":114},"72","Percabangan dengan CASE OF pada Pascal","percabangan-dengan-case-of-pada-pascal","CASE OF pada Pascal merupakan percabangan yang menggunakan variable dan nilainya untuk menentukan sebuah kondisi",{"id":113},"7e66c22e-799f-4e20-bccb-f386d45987ba",[51,87,54],{"id":116,"title":29,"slug":30,"parent_series":117,"children_series":119},"14",{"id":118,"title":22,"slug":23,"parent_series":56},"1",[120,124,125,129],{"id":121,"title":122,"slug":123,"cover_image":56},"23","Berkenalan dengan Bahasa Pascal","pascal-intro",{"id":65,"title":66,"slug":67,"cover_image":56},{"id":126,"title":127,"slug":128,"cover_image":56},"25","Tipe Data Bentukan","pascal-tipe-data-bentukan",{"id":130,"title":131,"slug":132,"cover_image":56},"26","Pemrograman Prosedural","pascal-pemrograman-prosedural","\u003Cp>Pada kesempatan kali ini kita tetap membahas tentang perulangan pada Pascal. Setelah sebelumnya kita memakai \u003Ca href=\"https://invasikode.com/for-loop-pascal/\">FOR loop\u003C/a>, sekarang kita akan coba menggunakan WHILE DO loop pada Bahasa Pascal.\u003C/p>\n\u003Ch2 id=\"pengertian-while-do-loop-pada-pascal\">Pengertian WHILE DO loop pada Pascal\u003C/h2>\n\u003Cp>WHILE DO loop merupakan perulangan pada Pascal yang menggunakan kondisi berupa ekspresi boolean sebagai penanda perulangannya. Perulangan dengan WHILE DO loop ini tidak akan berhenti selama kondisinya masih bernilai \u003Ccode>true\u003C/code>.\u003C/p>\n\u003Cp>Jika FOR loop sebelumnya kita analogikan sebagai minum obat yang sudah \u003Cstrong>pasti\u003C/strong> 3 kali sehari, pada WHILE DO loop ini bisa kita analogikan sebagai \u003Cstrong>proses mengaduk adonan roti\u003C/strong>.\u003C/p>\n\u003Cp>Saat mengaduk adonan roti tidak mungkin kan kita menggunakan bilangan pasti, seperti\u003C/p>\n\u003Cblockquote>\n\u003Cp>Aduk adonan roti sebanyak 50 kali\u003C/p>\n\u003C/blockquote>\n\u003Cp>Siapa juga yang mau ngaduk adonan sambil ngitung hehe... sebagai gantinya, biasanya kita jumpai perintah sebagi berikut\u003C/p>\n\u003Cblockquote>\n\u003Cp>Aduk adonan roti sampai mengembang\u003C/p>\n\u003C/blockquote>\n\u003Cp>Alih alih menggunakan bilangan seperti \u003Cstrong>50\u003C/strong>. Pada perintah tersebut kita menggunakan sebuah kondisi yaitu &quot;sampai roti mengembang&quot;.\u003C/p>\n\u003Cp>Artinya, selama adonan roti belum mengembang maka pengadukan akan terus berjalan. Namun ketika adonan sudah mengembang maka pengadukan selesai.\u003C/p>\n\u003Cp>Kurang lebih jika diterjemahkan kedalam bahasa Pascal 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=\"%2F%2F%20dalam%20bahasa%20pascal%0Awhile%20(adonan_belum_mengembang)%20do%0A%20%20aduk_adonan%3B%0A%0A%2F%2F%20atau%20dalam%20bahasa%20indonseia%0Aselama%20(adonan_belum_mengembang)%20lakukan%0A%20%20aduk_adonan%3B\" 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>// dalam bahasa pascal\nwhile (adonan_belum_mengembang) do\n  aduk_adonan;\n\n// atau dalam bahasa indonseia\nselama (adonan_belum_mengembang) lakukan\n  aduk_adonan;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Yah kurang lebih seperti itu penggunaan while pada Pascal. Mungkin jika diterjemahkan kedalam bahasa Indonesia lebih mudah dimengerti hehe....\u003C/p>\n\u003Ch2 id=\"format-penulisan-while-do-loop-pada-pascal\">Format Penulisan WHILE DO loop pada Pascal\u003C/h2>\n\u003Cp>Pada WHILE DO loop, komponen paling penting adalah sebuah \u003Cstrong>kondisi\u003C/strong> yang berupa \u003Ca href=\"https://invasikode.com/operasi-logika-pascal/\">ekspresi boolean\u003C/a>. Selanjutnya adalah statement perintah yang akan kita jalankan. Berikut merupakan format penulisan WHILE DO loop\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=\"while%20(%7Bkondisi%7D)%20do%0Abegin%0A%20%20%7Bperintah%20yang%20akan%20dijalankan%7D%0Aend%3B\" 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>while ({kondisi}) do\nbegin\n  {perintah yang akan dijalankan}\nend;\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Oke supaya lebih paham, kita lanjut dengan membuat program sederhana menggunakan WHILE DO loop.\u003C/p>\n\u003Ch2 id=\"contoh-penggunaan-while-do-loop-pada-pascal\">Contoh Penggunaan WHILE DO loop pada Pascal\u003C/h2>\n\u003Cp>Pada contoh kali ini kita akan coba mengeluarkan output bilangan antara 1 sampai 100 dengan perulangan WHILE DO. Oke coba kalian ketikkan kode berikut ini.\u003C/p>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black/40 inline-block\">\u003C/span>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PASCAL\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=\"program%20WhileDoLoop%3B%0Auses%20crt%3B%0Avar%0A%20%20i%3A%20integer%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20i%20%3A%3D%201%3B%0A%20%20while%20(i%20%3C%3D%20100)%20do%20%2F%2F%20selama%20i%20kurang%20dari%20atau%20sama%20dengan%20100%0A%20%20begin%0A%20%20%20%20writeln(i)%3B%20%2F%2F%20output%20nilai%20variable%20i%0A%20%20%20%20i%20%3A%3D%20i%20%2B%201%3B%20%2F%2F%20menambah%20nilai%20i%20sebanyak%201%0A%20%20end%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/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>program WhileDoLoop;\nuses crt;\nvar\n  i: integer;\nbegin\n  clrscr;\n  i := 1;\n  while (i &lt;= 100) do // selama i kurang dari atau sama dengan 100\n  begin\n    writeln(i); // output nilai variable i\n    i := i + 1; // menambah nilai i sebanyak 1\n  end;\n  readln;\nend.\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Kalau dijalankan maka outputnya akan keluar bilangan mulai dari 1 sampai 100. Kurang lebih 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%0A.%0A.%0A99%0A100\" 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\n.\n.\n99\n100\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Output ini dihasilkan karena pada WHILE DO loop kita menggunakan kondisi yaitu \u003Ccode>i &lt;= 100\u003C/code>, selanjutnya kita menjalankan perintah \u003Ccode>writeln\u003C/code>, dan yang terakhir adalah menambah nilai i sebanyak 1 (\u003Ccode>i := i + 1\u003C/code>)\u003C/p>\n\u003Cp>menambahkan nilai variable \u003Cstrong>i\u003C/strong> ini sangat penting, karena jika tidak ada maka WHILE DO loop akan berjalan selamanya, dan output yang dikeluarkan hanya angka 1 saja. Hal ini juga bisa didapat ketika kodisi pada while kita isikan nilai \u003Ccode>true\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\">PASCAL\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=\"while%20(true)%20do%0A%20%20....\" 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>while (true) do\n  ....\u003C/code>\u003C/pre>\n  \u003C/div>\n\u003C/div>\u003Cp>Kode tersebut akan berjalan selamanya :D atau biasa disebut infinite looping\u003C/p>\n\u003Cblockquote>\n\u003Cp>Invinite looping sangat berguna dalam pemrograman game, karena dalam game terdapat banyak perintah kompleks yang harus terus berjalan\u003C/p>\n\u003C/blockquote>\n\u003Cp>Seperti biasa untuk eksperimen kalian bisa coba mengganti variable dan bermain dengan kondisinya. Bebas... selamat mencoba hehe..\u003C/p>\n\u003Ch2 id=\"penutup\">Penutup\u003C/h2>\n\u003Cp>Cukup sekian untuk tutorial kali ini, semoga bermanfaat :D pada tutorial selanjutnya kita masih tetap akan membahas seputar looping, jadi jangan bosen ya hehe... Selanjutnya kita akan membahas tentang \u003Ca href=\"https://invasikode.com/repeat-loop-pascal/\">repeat until loop pada Pascal\u003C/a>.\u003C/p>\n","",[136,149,164,176],{"id":137,"title":138,"slug":139,"excerpt":140,"thumbnail_image":141,"tags":143},"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":142},"1942a5c9-c1f6-476d-9913-768f78d9d8eb",[144,145,146,147,148],"system-programming","rust","zig","c","memory-safety",{"id":150,"title":151,"slug":152,"excerpt":153,"thumbnail_image":154,"tags":156},"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":155},"0e0ed26d-20c6-443c-bde1-4a6200f6f801",[157,158,159,160,161,162,163],"backend","system-design","rate-limiting","redis","api-gateway","architecture","traffict-management",{"id":165,"title":166,"slug":167,"excerpt":168,"thumbnail_image":169,"tags":171},"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":170},"e3c617fd-1486-4b82-b937-94fbec846c77",[157,172,162,173,174,158,175],"microservices","database","message-broker","postgresql",{"id":177,"title":178,"slug":179,"excerpt":180,"thumbnail_image":181,"tags":183},"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":182},"6c0a7ead-4841-4073-b29e-df7ae0f2aa3c",[184,174,157,162,172,185,186],"rabbitmq","async","python",[188,192,195,198],{"text":189,"depth":190,"id":191},"Pengertian WHILE DO loop pada Pascal",2,"pengertian-while-do-loop-pada-pascal",{"text":193,"depth":190,"id":194},"Format Penulisan WHILE DO loop pada Pascal","format-penulisan-while-do-loop-pada-pascal",{"text":196,"depth":190,"id":197},"Contoh Penggunaan WHILE DO loop pada Pascal","contoh-penggunaan-while-do-loop-pada-pascal",{"text":199,"depth":190,"id":200},"Penutup","penutup",1791045069054]