[{"data":1,"prerenderedAt":323},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-perulangan-dengan-for-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},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,84,85,86],"pascal","perulangan","loop","struktur-kontrol","\u002Fog\u002Fperulangan-dengan-for-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,137,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":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":133,"authors":134},{"id":89,"title":90,"title_en":91,"slug":92},[135],{"authors_id":136},{"id":113,"name":114,"slug":115,"role":116,"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":81,"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,84,85,86],"\u002Fog\u002Fperulangan-dengan-while-do-loop-pada-pascal.png",{"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 akan membahas tentang FOR loop pada bahasa Pascal. Sesuai namanya, loop memiliki arti perulangan. Fungsinya untuk menjalankan perintah berulang kali sesuai kondisi yang ada.\n\nSebenarnya pada Pascal ada beberapa cara untuk membuat perulangan. Yaitu dengan menggunakan **FOR** loop, [WHILE DO](https:\u002F\u002Finvasikode.com\u002Fwhile-loop-pascal\u002F) loop, dan [REPEAT UNTIL](https:\u002F\u002Finvasikode.com\u002Frepeat-loop-pascal\u002F) loop. Tetapi untuk kali ini kita hanya akan membahas FOR loop saja.\n\n## Penggunaan Perulangan\n\nNamanya juga perulangan, pasti digunakan untuk melakukan pekerjaan berulang. Sekarang coba tuliskan kode berikut ini terlebih dahulu.\n\n```pascal\nprogram perulanganFor;\nuses crt;\nbegin\n  clrscr;\n  writeln('saya berjanji tidak akan terlambat lagi');\n  readln;\nend.\n```\n\nTidak perlu dijalankan pasti sudah terlihat outputnya.\n\nFamiliar? Itu adalah kalimat yang biasa ditulis ketika ada anak terlambat masuk kelas hehe...\n\nBiasanya kalimat tersebut akan ditulis berkali kali, sebagai hukuman agar jera. Nah sekarang kita akan melakukan itu juga. Cukup 5 kali saja. Kalimatnya diganti menjadi \"saya akan belajar pascal\" biar tidak terkesan hukuman :D\n\n```pascal\nprogram perulanganFor;\nuses crt;\nbegin\n  clrscr;\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  readln;\nend.\n```\n\nYayy masalah selesai bukan?\n\nJika kalian jalankan, akan keluar output kalimat tersebut sebanyak 5 kali. Oke selanjutnya saya tantang agar menghasilkan output sebanyak 10 kali. Ah gampang tinggal ketik ketik dikit ya kan...\n\nKalau ingin menghasilkan 20 output? 40 output? atau bahkan 1000 output? bisa bisa tangan jadi keriting nih kalau diketik manual. Nah fungsi perulangan adalah untuk melakukan hal ini secara **efektif dan efisien**.\n\n## Cara Penulisan FOR loop pada Pascal\n\nPada FOR loop kita menginstruksikan komputer untuk menjalankan suatu perintah sebanyak **berapa kali** secara **explisit** (kondisinya bukan [expresi boolean](https:\u002F\u002Finvasikode.com\u002Foperasi-logika-pascal\u002F)).\n\nUntuk format penulisannya adalah sebagai berikut\n\n```\nfor {a} to {n} do\n  begin\n    {perintah yang akan dieksekusi}\n  end;\n```\n\natau\n\n```\nfor {a} downto {n} do\n  begin\n    {perintah yang akan dieksekusi}\n  end;\n```\n\ndengan:\n\n* **a** : batas awal looping berupa variable integer atau assignment variable\n* **n** : batas akhir looping berupa integer (bilangan bulat)\n\nFormat perintah yang pertama untuk menghitung menaik, sedangkan format perintah yang kedua untuk menghitung menurun.\n\n## Contoh Penggunaan FOR loop pada Pascal\n\nUntuk membuat perulangan dengan `for`, beberapa hal yang kita butuhkan adalah sebuah variable, dan batas looping. Variable yang biasa digunakan untuk perulangan adalah **i**, **j**, dan **k**. tapi kalian bebas untuk menentukan ini.\n\nOke sekarang coba ubah kode Pascal yang telah kita buat sebelumnya\n\n```pascal\nprogram perulanganFor;\nuses crt;\nvar\n  i: integer;\nbegin\n  clrscr;\n  for i:=1 to 5 do\n    writeln('saya akan belajar pascal');\n  readln;\nend.\n```\n\nSekarang coba kalian jalankan, maka outputnya kurang lebih akan sebagai berikut\n\n```\nsaya akan belajar pascal\nsaya akan belajar pascal\nsaya akan belajar pascal\nsaya akan belajar pascal\nsaya akan belajar pascal\n```\n\nHasil outputnya akan sama seperti ketika ketik manual. Inilah fungsi dari perulangan FOR loop, sangat amat efisien dan menghemat waktu. Jadi perintah setelah keyword \"do\" akan dijalankan dengan batas awal variable i yang isinya 1 dan batas akhir angka 5.\n\nPada setiap looping, variable **i** akan bertambah nilainya sebanyak 1. Untuk mengeceknya kita bisa menambahkan variable **i** pada output.\n\n```pascal\n....\n  for i := 1 to 3 do\n    writeln(i, '. saya akan belajar pascal');\n  readln;\n....\n```\n\nJika kalian jalankan maka outputnya akan sebagai berikut\n\n```\n1. saya akan belajar pascal\n2. saya akan belajar pascal\n3. saya akan belajar pascal\n```\n\nSebagai eksperimen bisa kalian coba untuk mengganti batas akhir dan batas awalnya. Bisa kalian coba angka angka sebanyak apapun, semisal 1000, atau bahkan 1000000, semakin banyak looping akan memakan waktu lebih lama.\n\n```pascal\n....\n  for i := 1 to 1000 do\n    writeln(i, '. saya akan belajar pascal');\n  readln;\n....\n```\n\nBisa kalian coba juga dengan menggunakan downto, dengan catatan batas awal harus lebih besar dari batas akhir.\n\n## Penutup\n\nCukup sekian untuk tutorial kali ini, Semoga bermanfaat :D Pada tutorial selanjutnya kita akan tetap membahas perulangan namun dengan metode yang berbeda, yaitu [perulangan dengan while do loop](https:\u002F\u002Finvasikode.com\u002Fwhile-loop-pascal\u002F).\n","\u003Cp>Pada kesempatan kali ini kita akan membahas tentang FOR loop pada bahasa Pascal. Sesuai namanya, loop memiliki arti perulangan. Fungsinya untuk menjalankan perintah berulang kali sesuai kondisi yang ada.\u003C\u002Fp>\n\u003Cp>Sebenarnya pada Pascal ada beberapa cara untuk membuat perulangan. Yaitu dengan menggunakan \u003Cstrong>FOR\u003C\u002Fstrong> loop, \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fwhile-loop-pascal\u002F\">WHILE DO\u003C\u002Fa> loop, dan \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Frepeat-loop-pascal\u002F\">REPEAT UNTIL\u003C\u002Fa> loop. Tetapi untuk kali ini kita hanya akan membahas FOR loop saja.\u003C\u002Fp>\n\u003Ch2 id=\"penggunaan-perulangan\">Penggunaan Perulangan\u003C\u002Fh2>\n\u003Cp>Namanya juga perulangan, pasti digunakan untuk melakukan pekerjaan berulang. Sekarang coba tuliskan 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%20perulanganFor%3B%0Auses%20crt%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20writeln('saya%20berjanji%20tidak%20akan%20terlambat%20lagi')%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 perulanganFor;\nuses crt;\nbegin\n  clrscr;\n  writeln('saya berjanji tidak akan terlambat lagi');\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Tidak perlu dijalankan pasti sudah terlihat outputnya.\u003C\u002Fp>\n\u003Cp>Familiar? Itu adalah kalimat yang biasa ditulis ketika ada anak terlambat masuk kelas hehe...\u003C\u002Fp>\n\u003Cp>Biasanya kalimat tersebut akan ditulis berkali kali, sebagai hukuman agar jera. Nah sekarang kita akan melakukan itu juga. Cukup 5 kali saja. Kalimatnya diganti menjadi &quot;saya akan belajar pascal&quot; biar tidak terkesan hukuman :D\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%20perulanganFor%3B%0Auses%20crt%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20writeln('saya%20akan%20belajar%20pascal')%3B%0A%20%20writeln('saya%20akan%20belajar%20pascal')%3B%0A%20%20writeln('saya%20akan%20belajar%20pascal')%3B%0A%20%20writeln('saya%20akan%20belajar%20pascal')%3B%0A%20%20writeln('saya%20akan%20belajar%20pascal')%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 perulanganFor;\nuses crt;\nbegin\n  clrscr;\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  writeln('saya akan belajar pascal');\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Yayy masalah selesai bukan?\u003C\u002Fp>\n\u003Cp>Jika kalian jalankan, akan keluar output kalimat tersebut sebanyak 5 kali. Oke selanjutnya saya tantang agar menghasilkan output sebanyak 10 kali. Ah gampang tinggal ketik ketik dikit ya kan...\u003C\u002Fp>\n\u003Cp>Kalau ingin menghasilkan 20 output? 40 output? atau bahkan 1000 output? bisa bisa tangan jadi keriting nih kalau diketik manual. Nah fungsi perulangan adalah untuk melakukan hal ini secara \u003Cstrong>efektif dan efisien\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch2 id=\"cara-penulisan-for-loop-pada-pascal\">Cara Penulisan FOR loop pada Pascal\u003C\u002Fh2>\n\u003Cp>Pada FOR loop kita menginstruksikan komputer untuk menjalankan suatu perintah sebanyak \u003Cstrong>berapa kali\u003C\u002Fstrong> secara \u003Cstrong>explisit\u003C\u002Fstrong> (kondisinya bukan \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Foperasi-logika-pascal\u002F\">expresi boolean\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>Untuk format penulisannya adalah sebagai berikut\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=\"for%20%7Ba%7D%20to%20%7Bn%7D%20do%0A%20%20begin%0A%20%20%20%20%7Bperintah%20yang%20akan%20dieksekusi%7D%0A%20%20end%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>for {a} to {n} do\n  begin\n    {perintah yang akan dieksekusi}\n  end;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>atau\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=\"for%20%7Ba%7D%20downto%20%7Bn%7D%20do%0A%20%20begin%0A%20%20%20%20%7Bperintah%20yang%20akan%20dieksekusi%7D%0A%20%20end%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>for {a} downto {n} do\n  begin\n    {perintah yang akan dieksekusi}\n  end;\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>dengan:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>a\u003C\u002Fstrong> : batas awal looping berupa variable integer atau assignment variable\u003C\u002Fli>\n\u003Cli>\u003Cstrong>n\u003C\u002Fstrong> : batas akhir looping berupa integer (bilangan bulat)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Format perintah yang pertama untuk menghitung menaik, sedangkan format perintah yang kedua untuk menghitung menurun.\u003C\u002Fp>\n\u003Ch2 id=\"contoh-penggunaan-for-loop-pada-pascal\">Contoh Penggunaan FOR loop pada Pascal\u003C\u002Fh2>\n\u003Cp>Untuk membuat perulangan dengan \u003Ccode>for\u003C\u002Fcode>, beberapa hal yang kita butuhkan adalah sebuah variable, dan batas looping. Variable yang biasa digunakan untuk perulangan adalah \u003Cstrong>i\u003C\u002Fstrong>, \u003Cstrong>j\u003C\u002Fstrong>, dan \u003Cstrong>k\u003C\u002Fstrong>. tapi kalian bebas untuk menentukan ini.\u003C\u002Fp>\n\u003Cp>Oke sekarang coba ubah kode Pascal yang telah kita buat sebelumnya\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%20perulanganFor%3B%0Auses%20crt%3B%0Avar%0A%20%20i%3A%20integer%3B%0Abegin%0A%20%20clrscr%3B%0A%20%20for%20i%3A%3D1%20to%205%20do%0A%20%20%20%20writeln('saya%20akan%20belajar%20pascal')%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 perulanganFor;\nuses crt;\nvar\n  i: integer;\nbegin\n  clrscr;\n  for i:=1 to 5 do\n    writeln('saya akan belajar pascal');\n  readln;\nend.\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sekarang coba kalian jalankan, maka outputnya kurang lebih akan sebagai berikut\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=\"saya%20akan%20belajar%20pascal%0Asaya%20akan%20belajar%20pascal%0Asaya%20akan%20belajar%20pascal%0Asaya%20akan%20belajar%20pascal%0Asaya%20akan%20belajar%20pascal\" 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>saya akan belajar pascal\nsaya akan belajar pascal\nsaya akan belajar pascal\nsaya akan belajar pascal\nsaya akan belajar pascal\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Hasil outputnya akan sama seperti ketika ketik manual. Inilah fungsi dari perulangan FOR loop, sangat amat efisien dan menghemat waktu. Jadi perintah setelah keyword &quot;do&quot; akan dijalankan dengan batas awal variable i yang isinya 1 dan batas akhir angka 5.\u003C\u002Fp>\n\u003Cp>Pada setiap looping, variable \u003Cstrong>i\u003C\u002Fstrong> akan bertambah nilainya sebanyak 1. Untuk mengeceknya kita bisa menambahkan variable \u003Cstrong>i\u003C\u002Fstrong> pada output.\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=\"....%0A%20%20for%20i%20%3A%3D%201%20to%203%20do%0A%20%20%20%20writeln(i%2C%20'.%20saya%20akan%20belajar%20pascal')%3B%0A%20%20readln%3B%0A....\" 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>....\n  for i := 1 to 3 do\n    writeln(i, '. saya akan belajar pascal');\n  readln;\n....\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Jika kalian jalankan maka outputnya akan sebagai berikut\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.%20saya%20akan%20belajar%20pascal%0A2.%20saya%20akan%20belajar%20pascal%0A3.%20saya%20akan%20belajar%20pascal\" 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. saya akan belajar pascal\n2. saya akan belajar pascal\n3. saya akan belajar pascal\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sebagai eksperimen bisa kalian coba untuk mengganti batas akhir dan batas awalnya. Bisa kalian coba angka angka sebanyak apapun, semisal 1000, atau bahkan 1000000, semakin banyak looping akan memakan waktu lebih lama.\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=\"....%0A%20%20for%20i%20%3A%3D%201%20to%201000%20do%0A%20%20%20%20writeln(i%2C%20'.%20saya%20akan%20belajar%20pascal')%3B%0A%20%20readln%3B%0A....\" 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>....\n  for i := 1 to 1000 do\n    writeln(i, '. saya akan belajar pascal');\n  readln;\n....\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Bisa kalian coba juga dengan menggunakan downto, dengan catatan batas awal harus lebih besar dari batas akhir.\u003C\u002Fp>\n\u003Ch2 id=\"penutup\">Penutup\u003C\u002Fh2>\n\u003Cp>Cukup sekian untuk tutorial kali ini, Semoga bermanfaat :D Pada tutorial selanjutnya kita akan tetap membahas perulangan namun dengan metode yang berbeda, yaitu \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fwhile-loop-pascal\u002F\">perulangan dengan while do loop\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},"Penggunaan Perulangan","penggunaan-perulangan",{"text":315,"depth":159,"id":316},"Cara Penulisan FOR loop pada Pascal","cara-penulisan-for-loop-pada-pascal",{"text":318,"depth":159,"id":319},"Contoh Penggunaan FOR loop pada Pascal","contoh-penggunaan-for-loop-pada-pascal",{"text":321,"depth":159,"id":322},"Penutup","penutup",1793295834996]