Looping atau Perulangan
Looping adalah proses pengulangan hingga kondisi syarat yang ditentukan tercapai. Ada 3 jenis looping, yaitu for, while dan repeat.
LOOPING DENGAN FOR
Contoh program :
1: Program ulang_for;
2: var i: Integer;
3: Begin
4: For i:=1 to 5 do
5: writeln('ini yang ke ', i);
6: End.
Perhatikan pada baris 4 dan 5. Pada baris tersebut ada satu persyaratan yaitu baris ke 5 akan dieksekusi bila nilai I antara 1 sampai 5, sehingga jika program di Run hasilnya adalah sebagai berikut :
ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4
ini yang ke 5
LOOPING DENGAN FOR
Contoh program :
1: Program ulang_for;
2: var i: Integer;
3: Begin
4: For i:=1 to 5 do
5: writeln('ini yang ke ', i);
6: End.
Perhatikan pada baris 4 dan 5. Pada baris tersebut ada satu persyaratan yaitu baris ke 5 akan dieksekusi bila nilai I antara 1 sampai 5, sehingga jika program di Run hasilnya adalah sebagai berikut :
ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4
ini yang ke 5
Apabila pernyataan for seperti berikut ini : "For i:=10 downto 1 do". Pernyataan itu akan menghitung mundur dari 10 sampai 1.
LOOPING DENGAN WHILE
Contoh program :
1: Program ULANG_while;
2: var i: Integer;
3: Begin
4: i:=1;
5: while i < 5 do
6: begin
7: writeln('ini yang ke ', i);
8: i:=i+1;
9: end;
10: End.
Apa perbedaan mendasar while dengan for? di while dibutuhkan counter (diprogram ini adalah i). Jadi, baris ke-7 dan 8 akan dieksekusi (dijalankan) apabila nilai i < 5. Coba perhatikan baris ke 6, di sana ada "begin" dan "end;" sebagai pasangannya (dibaris ke 9). Bila ada lebih dari satu pernyataan harus di mulai dengan begin untuk kondisi if, case, looping. Jika tidak hanya baris pertama saja yang dieksekusi.
Jika program tersebut di eksekusi maka bagaimanakah outputnya ?
Berikut adalah outputnya :
ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4
Dari listing program diatas apabila baris ke 8 diganti dengan "i:=i-1;" apa yang terjadi? Coba jalankan. Hasilnya aadalah akan terjadi looping terus menerus karena kondisinya memenuhi syarat terus (i selalu kurang dari lima). Tekan control break untuk menghentikannya. Hal inilah yang disebut invinitive loop.
LOOPING DENGAN REPEAT
Contoh program :
1: Program Tutorial3_while;
2: var pilih: char;
3: Begin
4: i:=1;
5: repeat
6: writeln('ini yang ke ',i);
7: i:=i+1;
8: until i<0;
9: End.
Apa outputnya? Hasilnya hanya satu (1) yaitu, "ini yang ke 1". Hal ini disebabkan karena pada baris ke 8 tidak memenuhi persyaratan i<0. Memang tidak memenuhi persyaratan itu, tapi ini adalah keistemewaan repeat. Ia akan mengeksekusi sekali dulu baru dicek persyaratan yang ada dibawah. Gunakan jenis looping yang ada sesuai kebutuhan.