Perulangan dengan REPEAT UNTIL loop pada Pascal
Setelah sebelumnya kita membahas tentang FOR loop, dan WHILE DO loop pada Pascal. Sekarang kita akan membahas tentang REPEAT UNTIL loop.
Pengertian REPEAT UNTIL loop pada Pascal
REPEAT UNTIL loop memiliki kemiripan dengan WHILE DO loop. Keduanya sama sama menggunakan ekspresi boolean sebagai kondisinya. Perbedaannya terletak pada letak kondisi, dan juga waktu berhentinya.
Pada REPEAT UNTIL loop, pengecekan kondisi dilakukan pada akhir perintah dan perulangan akan terus berjalan selama kondisi masih bernilai false
. Ini kebalikan dari WHILE DO loop yang pengecekan kondisi berada di awal dan perulangan berjalan selama kondisi bernilai true
.
Mari kita lihat contoh sederhananya, tetap dengan mengaduk adonan roti hehe...
// dalam bahasa pascal
repeat
aduk_adonan;
until (roti_mengembang);
// atau dalam bahasa Indonesia
ulangi
aduk_adonan;
sampai (roti_mengembang);
Pada perulangan REPEAT UNTIL tersebut, perintah aduk_adonan
akan terus berjalan selama roti belum mengembang. Namun ketika roti telah mengembang, perulangan akan berhenti.
Format Penulisan REPEAT UNTIL loop pada Pascal
Sama seperti WHILE DO loop, komponen terpenting dari REPEAT UNTIL loop terletak pada kondisi dan perintah yang akan dijalankan. Untuk format penulisannya sebagai berikut.
repeat
{perintah yang akan dijalankan}
until ({kondisi});
Oke supaya lebih paham, kita lanjut dengan membuat program sederhana menggunakan REPEAT UNTIL loop.
Contoh Penggunaan REPEAT UNTIL loop pada Pascal
Pada contoh kali ini kita akan coba membuat program untuk mengeluarkan output bilangan kelipatan 2 dengan mengunakan REPEAT UNTIL loop. Silahkan ketikkan kode berikut.
program WhileDoLoop;
uses crt;
var
i: integer;
begin
clrscr;
i := 2;
writeln('Bilangan kelipatan 2');
repeat
write(i, ', ');
i := i+2; // menambah i sebanyak 2
until(i > 100); // perulangan sampai i lebih dari 100
readln;
end.
Silahkan kalian jalankan, maka kurang lebih outputnya akan seperti ini.
Bilangan kelipatan 2
2 4 6 8 ... 98 100
Pada program tersebut perintah write(i, ' ')
dijalankan sebanyak 50 kali karena variable i ditambah 2 setiap perulangannya. Setelah variable i lebih dari 100 maka perulangan akan berhenti dan program selesai.
Sekarang coba kalian ubah sedikit kondisinya menjadi sebagai berikut.
....
until (i >= 100);
....
Kalau sudah coba kalian jalankan. Jika kalian perhatikan, hasil outpunya tidak akan sampai 100, hanya sampai angka 98 saja. Kira kira kenapa?
Ini karena saat nilai variable i sudah mencapai angka 100 perulangan telah berhenti. karena 100 >= 100
menghasilkan value true
. Ini perlu diperhatikan dalam penulisan kondisi, karena jika terjadi kesalahan maka logika program juga akan ikut salah.
Oh iya, perulangan REPEAT UNTIL ini juga dapat menghasilkan infinite loop, apabila logikanya selalu bernilai false. Contohnya saja.
....
until (false); // akan menghasilkan infinite loop
....
Jadi selalu ingat untuk memberikan perintah logika agar tidak terjadi infinite loop hehe...
Seperti biasanya, silahkan kalian bereksperimen dengan mengubah variable dan kondisi perulangannya. Selamat mencoba...
Penutup
Cukup sekian untuk tutorial kali ini, semoga bermanfaat