[{"data":1,"prerenderedAt":323},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-perulangan-dengan-while-do-loop-pada-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},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",3,[83,84,85,86],"pascal","perulangan","loop","struktur-kontrol","\u002Fog\u002Fperulangan-dengan-while-do-loop-pada-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,117,132,146,151,166],{"id":97,"title":98,"title_en":99,"slug":100,"excerpt":101,"excerpt_en":102,"has_translation":12,"published_at":103,"reading_time":104,"hidden_from_listing":15,"tags":105,"thumbnail_image":21,"og_image":108,"series":109,"authors":110},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,106,107,86],"boolean","operator","\u002Fog\u002Fexpresi-boolean-dan-operasi-logika-pada-bahasa-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[111],{"authors_id":112},{"id":113,"name":114,"slug":115,"role":116,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":118,"title":119,"title_en":120,"slug":121,"excerpt":122,"excerpt_en":123,"has_translation":12,"published_at":124,"reading_time":104,"hidden_from_listing":15,"tags":125,"thumbnail_image":21,"og_image":127,"series":128,"authors":129},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,126,86],"percabangan","\u002Fog\u002Fpercabangan-dengan-kondisi-if-dan-else-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[130],{"authors_id":131},{"id":113,"name":114,"slug":115,"role":116,"profile_picture":21},{"id":133,"title":134,"title_en":135,"slug":136,"excerpt":137,"excerpt_en":138,"has_translation":12,"published_at":139,"reading_time":81,"hidden_from_listing":15,"tags":140,"thumbnail_image":21,"og_image":141,"series":142,"authors":143},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",[83,84,85,86],"\u002Fog\u002Fperulangan-dengan-for-loop-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[144],{"authors_id":145},{"id":113,"name":114,"slug":115,"role":116,"profile_picture":21},{"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":147,"authors":148},{"id":89,"title":90,"title_en":91,"slug":92},[149],{"authors_id":150},{"id":113,"name":114,"slug":115,"role":116,"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,84,85,86],"\u002Fog\u002Fperulangan-dengan-repeat-until-loop-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[164],{"authors_id":165},{"id":113,"name":114,"slug":115,"role":116,"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":81,"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,126,86],"\u002Fog\u002Fpercabangan-dengan-case-of-pada-pascal.png",{"id":89,"title":90,"title_en":91,"slug":92},[178],{"authors_id":179},{"id":113,"name":114,"slug":115,"role":116,"profile_picture":21},[],{"id":182,"title":64,"title_en":65,"slug":66,"parent_series":183,"children_series":184},14,{"id":113,"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":113,"name":114,"slug":115,"role":116,"profile_picture":21},"id",[206,204],"en","Pada kesempatan kali ini kita tetap membahas tentang perulangan pada Pascal. Setelah sebelumnya kita memakai [FOR loop](https:\u002F\u002Finvasikode.com\u002Ffor-loop-pascal\u002F), 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\u002F\u002F dalam bahasa pascal\nwhile (adonan_belum_mengembang) do\n  aduk_adonan;\n\n\u002F\u002F 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:\u002F\u002Finvasikode.com\u002Foperasi-logika-pascal\u002F). 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 \u002F\u002F selama i kurang dari atau sama dengan 100\n  begin\n    writeln(i); \u002F\u002F output nilai variable i\n    i := i + 1; \u002F\u002F 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:\u002F\u002Finvasikode.com\u002Frepeat-loop-pascal\u002F).\n","\u003Cp>Pada kesempatan kali ini kita tetap membahas tentang perulangan pada Pascal. Setelah sebelumnya kita memakai \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ffor-loop-pascal\u002F\">FOR loop\u003C\u002Fa>, sekarang kita akan coba menggunakan WHILE DO loop pada Bahasa Pascal.\u003C\u002Fp>\n\u003Ch2 id=\"pengertian-while-do-loop-pada-pascal\">Pengertian WHILE DO loop pada Pascal\u003C\u002Fh2>\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\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Jika FOR loop sebelumnya kita analogikan sebagai minum obat yang sudah \u003Cstrong>pasti\u003C\u002Fstrong> 3 kali sehari, pada WHILE DO loop ini bisa kita analogikan sebagai \u003Cstrong>proses mengaduk adonan roti\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Saat mengaduk adonan roti tidak mungkin kan kita menggunakan bilangan pasti, seperti\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Aduk adonan roti sebanyak 50 kali\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Siapa juga yang mau ngaduk adonan sambil ngitung hehe... sebagai gantinya, biasanya kita jumpai perintah sebagi berikut\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Aduk adonan roti sampai mengembang\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Alih alih menggunakan bilangan seperti \u003Cstrong>50\u003C\u002Fstrong>. Pada perintah tersebut kita menggunakan sebuah kondisi yaitu &quot;sampai roti mengembang&quot;.\u003C\u002Fp>\n\u003Cp>Artinya, selama adonan roti belum mengembang maka pengadukan akan terus berjalan. Namun ketika adonan sudah mengembang maka pengadukan selesai.\u003C\u002Fp>\n\u003Cp>Kurang lebih jika diterjemahkan kedalam bahasa Pascal 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=\"%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\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>\u002F\u002F dalam bahasa pascal\nwhile (adonan_belum_mengembang) do\n  aduk_adonan;\n\n\u002F\u002F atau dalam bahasa indonseia\nselama (adonan_belum_mengembang) lakukan\n  aduk_adonan;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Yah kurang lebih seperti itu penggunaan while pada Pascal. Mungkin jika diterjemahkan kedalam bahasa Indonesia lebih mudah dimengerti hehe....\u003C\u002Fp>\n\u003Ch2 id=\"format-penulisan-while-do-loop-pada-pascal\">Format Penulisan WHILE DO loop pada Pascal\u003C\u002Fh2>\n\u003Cp>Pada WHILE DO loop, komponen paling penting adalah sebuah \u003Cstrong>kondisi\u003C\u002Fstrong> yang berupa \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Foperasi-logika-pascal\u002F\">ekspresi boolean\u003C\u002Fa>. Selanjutnya adalah statement perintah yang akan kita jalankan. Berikut merupakan format penulisan WHILE DO loop\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=\"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\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>while ({kondisi}) do\nbegin\n  {perintah yang akan dijalankan}\nend;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Oke supaya lebih paham, kita lanjut dengan membuat program sederhana menggunakan WHILE DO loop.\u003C\u002Fp>\n\u003Ch2 id=\"contoh-penggunaan-while-do-loop-pada-pascal\">Contoh Penggunaan WHILE DO loop pada Pascal\u003C\u002Fh2>\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\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%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\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 WhileDoLoop;\nuses crt;\nvar\n  i: integer;\nbegin\n  clrscr;\n  i := 1;\n  while (i &lt;= 100) do \u002F\u002F selama i kurang dari atau sama dengan 100\n  begin\n    writeln(i); \u002F\u002F output nilai variable i\n    i := i + 1; \u002F\u002F menambah nilai i sebanyak 1\n  end;\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Kalau dijalankan maka outputnya akan keluar bilangan mulai dari 1 sampai 100. Kurang lebih 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=\"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\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>1\n2\n.\n.\n99\n100\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Output ini dihasilkan karena pada WHILE DO loop kita menggunakan kondisi yaitu \u003Ccode>i &lt;= 100\u003C\u002Fcode>, selanjutnya kita menjalankan perintah \u003Ccode>writeln\u003C\u002Fcode>, dan yang terakhir adalah menambah nilai i sebanyak 1 (\u003Ccode>i := i + 1\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>menambahkan nilai variable \u003Cstrong>i\u003C\u002Fstrong> 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\u002Fcode>.\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=\"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\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>while (true) do\n  ....\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Kode tersebut akan berjalan selamanya :D atau biasa disebut infinite looping\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Invinite looping sangat berguna dalam pemrograman game, karena dalam game terdapat banyak perintah kompleks yang harus terus berjalan\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Seperti biasa untuk eksperimen kalian bisa coba mengganti variable dan bermain dengan kondisinya. Bebas... selamat mencoba hehe..\u003C\u002Fp>\n\u003Ch2 id=\"penutup\">Penutup\u003C\u002Fh2>\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:\u002F\u002Finvasikode.com\u002Frepeat-loop-pascal\u002F\">repeat until loop pada Pascal\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":113,"name":114,"slug":115,"role":116,"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":113,"name":114,"slug":115,"role":116,"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":113,"name":114,"slug":115,"role":116,"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":113,"name":114,"slug":115,"role":116,"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":113,"name":114,"slug":115,"role":116,"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":113,"name":114,"slug":115,"role":116,"profile_picture":21},[311,314,317,320],{"text":312,"depth":159,"id":313},"Pengertian WHILE DO loop pada Pascal","pengertian-while-do-loop-pada-pascal",{"text":315,"depth":159,"id":316},"Format Penulisan WHILE DO loop pada Pascal","format-penulisan-while-do-loop-pada-pascal",{"text":318,"depth":159,"id":319},"Contoh Penggunaan WHILE DO loop pada Pascal","contoh-penggunaan-while-do-loop-pada-pascal",{"text":321,"depth":159,"id":322},"Penutup","penutup",1793295835029]