Jika mengulang sesuatu terasa membosankan bagi manusia, itu jelas tidak berlaku bagi komputer. Komputer bisa mengulang-ulang proses yang sama sebanyak-banyaknya.
Komputer mempermudah perulangan saat perulangan tersebut dituliskan dengan pola tertentu dalam bahasa pemrograman. Dalam Pascal, ada beberapa macam perulangan. Perulangan-perulangan tersebut, yaitu :
Jika "for to do" menggunakan rentang nilai tertentu untuk mengubah nilai variabelnya secara berurutan, perulangan selain for to do menggunakan variabel yang terus menerus berubah nilainya hingga kondisi terpenuhi. Saat kondisi sudah terpenuhi, perulangan akan berhenti. Pada contoh di atas nilai variabel adalah 1 sampai dengan 10. Hal ini juga bisa dilakukan dengan while do.
Perhatikan "begin dan end;" diatas. Begin dan end digunakan jika ada lebih satu pernyataan dalam percabangan atau perulangan selain repeat until. Kode program di bawah ini menggunakan repeat until tapi hasilnya sama dengan program di atas.
Perbedaan while do dan repeat until adalah pada pengecekan syarat perulangannya yang merupakan kebalikan dari while do. Berbeda dengan while do (yang diulang saat syarat masih terpenuhi), Isi repeat until diulang saat syarat belum terpenuhi. Repeat until berbeda dengan while do yang bisa saja tidak melaksanakan apapun yang merupakan bagian dari perulangan karena pengecekannya di awal. Repeat until akan minimal melaksanakan satu kali putaran karena pengecekannya ada di akhir perulangan.
For to do kebalikannya adalah for down to do. Jika for to do urutannya naik, maka for down to urutannya adalah menurun. Untuk lebih jelasnya, bandingkan kode program di bawah ini dengan for to do yang sudah saya tulis di atas!
Contoh di atas adalah perulangan yang mengubah nilai "variabel i" dari 10 sampai dengan 1. Artinya perulangan terjadi sebanyak 10 kali dan di setiap perulangan nilai variabel i berkurang secara berurutan. Hasilnya adalah kebalikan dari "for i:=1 to 10 do".
Begin dan end akan dibutuhkan jika ada lebih dari satu pernyataan /
statement dalam perulangan / loop. Kalau kalian tidak tahu atau lupa apa
dengan apa yg dimaksud sebagai statement dalam perulangan, anggap saja statement
adalah semua bagian program yang diakhiri dg titik koma (;).
Perulangan dalam Perulangan
Mari kita lanjutkan pembahasan kita tentang perulangan. Sekarang kita akan coba membuat perulangan di dalam perulangan. Kali ini yang akan kita cetak bukan nilai "variabel i", tapi kita akan mencetak pola bintang (*) menggunakan for to do. Walaupun begitu, perlu diingat bahwa apapun yang dicetak dan dilakukan nilai "variabel i" akan berubah di setiap perulangan for to do dan for down to do. Ayo kita buat kode program tersebut!
Perulangan bisa kita letakkan dalam perulangan. Perulangan yang ada di dalam perulangan akan diselesaikan lebih dahulu sebelum perulangan bagian luar dilanjutkan. Perulangan tidak mengulang pola tapi yang diulang adalah statement dalam perulangan. Perhatikan contoh berikut ini!
Break dan Continue
Komputer mempermudah perulangan saat perulangan tersebut dituliskan dengan pola tertentu dalam bahasa pemrograman. Dalam Pascal, ada beberapa macam perulangan. Perulangan-perulangan tersebut, yaitu :
- While ... do
- For ... to ... do
- For ... downto ... do
- Repeat ... until
Perhatikan contoh berikut ini :
Program Perulangan;
uses crt;
var i:integer=0;
Begin
clrscr;
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
i:=i+1;Writeln(i);
Readln
end.
Bandingkan kode program di atas dengan kode program berikut ini!Program Perulangan;
uses crt;
Var i : integer;
Begin
clrscr;
for i:=1 to 10 do writeln (i);
Readln
end.
Hasil
kode program dengan for to do di atas sama dengan program sebelumnya.
Perulangan dengan for to do digunakan untuk melakukan perulangan yang
menambahkan nilai variabel dengan satu (1) setiap kali statement
diulang. Perulangan itu dimulai dari nilai tertentu dan berakhir saat
nilai tertentu.Jika "for to do" menggunakan rentang nilai tertentu untuk mengubah nilai variabelnya secara berurutan, perulangan selain for to do menggunakan variabel yang terus menerus berubah nilainya hingga kondisi terpenuhi. Saat kondisi sudah terpenuhi, perulangan akan berhenti. Pada contoh di atas nilai variabel adalah 1 sampai dengan 10. Hal ini juga bisa dilakukan dengan while do.
Program Perulangan;
uses crt;
Var i:integer=1;
Begin
clrscr;
while (i<=10) do
begin
writeln (i);
i:=i+1;
end;
Readln
end.
Nilai
variabel dalam while do tidak otomatis berubah kecuali ada perubahan
nilai yang dilakukan pada variabel yang ada. While do bisa menggunakan
lebih dari satu "syarat" untuk melakukan perulangan. Jika "for to do"
mengubah nilai variabel secara berurutan, perubahan nilai variabel pada
while do bisa dengan bebas kita ubah sesuai pola yang kita inginkan.Perhatikan "begin dan end;" diatas. Begin dan end digunakan jika ada lebih satu pernyataan dalam percabangan atau perulangan selain repeat until. Kode program di bawah ini menggunakan repeat until tapi hasilnya sama dengan program di atas.
Perbedaan while do dan repeat until adalah pada pengecekan syarat perulangannya yang merupakan kebalikan dari while do. Berbeda dengan while do (yang diulang saat syarat masih terpenuhi), Isi repeat until diulang saat syarat belum terpenuhi. Repeat until berbeda dengan while do yang bisa saja tidak melaksanakan apapun yang merupakan bagian dari perulangan karena pengecekannya di awal. Repeat until akan minimal melaksanakan satu kali putaran karena pengecekannya ada di akhir perulangan.
Program Perulangan;
uses crt;
Var i : integer=1;
Begin
clrscr;
Repeat
writeln (i);
i:=i+1;
until(i>10);
Readln
end.
For to do kebalikannya adalah for down to do. Jika for to do urutannya naik, maka for down to urutannya adalah menurun. Untuk lebih jelasnya, bandingkan kode program di bawah ini dengan for to do yang sudah saya tulis di atas!
Program Perulangan;
uses crt;
Var i : integer;
Begin
clrscr;
For i:=10 downto 1 do writeln (i);
Readln
end.
Contoh di atas adalah perulangan yang mengubah nilai "variabel i" dari 10 sampai dengan 1. Artinya perulangan terjadi sebanyak 10 kali dan di setiap perulangan nilai variabel i berkurang secara berurutan. Hasilnya adalah kebalikan dari "for i:=1 to 10 do".
Perulangan dalam Perulangan
Mari kita lanjutkan pembahasan kita tentang perulangan. Sekarang kita akan coba membuat perulangan di dalam perulangan. Kali ini yang akan kita cetak bukan nilai "variabel i", tapi kita akan mencetak pola bintang (*) menggunakan for to do. Walaupun begitu, perlu diingat bahwa apapun yang dicetak dan dilakukan nilai "variabel i" akan berubah di setiap perulangan for to do dan for down to do. Ayo kita buat kode program tersebut!
program perulangan;
uses crt;
Var i, j: integer;
Begin
clrscr;
For i := 1 to 10 do
Begin
For j :=1 to 10 do write('*');
Writeln;
End;
readln;
End.
Perulangan bisa kita letakkan dalam perulangan. Perulangan yang ada di dalam perulangan akan diselesaikan lebih dahulu sebelum perulangan bagian luar dilanjutkan. Perulangan tidak mengulang pola tapi yang diulang adalah statement dalam perulangan. Perhatikan contoh berikut ini!
Program Polasegitiga;
uses crt;
var i,j:integer;
begin
clrscr;
for i:=1 to 9 do
begin
for j:=1 to i do write(i);
writeln;
end;
readln;
end.
Break dan Continue
Ada dua "perintah khusus" dalam perulangan
yaitu break dan Continue. Break digunakan untuk menghentikan perulangan
dan melewatkan semua baris di bawahnya yg termasuk bagian dari
perulangan tersebut. Sedangkan continue digunakan untuk mengulang dari
awal perulangan tapi baris dibawahnya diabaikan.
Program Perulangan;
uses crt;
Var i : integer;
Begin
clrscr;
For i:=10 downto 1 do
begin
writeln (i);
break;
write('baris ini tidak dikerjakan')
end;
Readln
end.
Bandingkan hasilnya dengan kode program di bawah ini!Program Perulangan;
uses crt;
Var i : integer;
Begin
clrscr;
For i:=10 downto 1 do
begin
writeln (i);
continue;
write('baris ini tidak dikerjakan')
end;
Readln
end.
Untuk
lebih memahami tentang perulangan kalian bisa mencoba mengubah angka
yang digunakan untuk menentukan jumlah perulangan dan apa yang ditulis
dalam perulangan tersebut.