LOOPING dalam pascal


Looping? apa hayoo...? masih ingatkan pelajaran fisika SMU, adakan pelajaran tentang looping dirangkaian elektronik. Looping adalah proses pengulangan hingga kondisi syarat yang ditentukan tercapai. Sekarang kita ngebahas 3 jenis looping, for, while dan repeat. Perhatikan contoh di bawah ini:


1: Program Tutorial3_for;
2: var i: Integer;
3: Begin
4:   For i:=1 to 5 do
5:     writeln('ini yang ke ', i);
6: End.
Perhatikan baris 4 dan 5. Di sana ada satu persyaratan, yaitu baris ke-5 akan dieksekusi bila nilai i antara 1 sampai 5. Apa output yang tercetak dilayar?


ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4
ini yang ke 5

Bagaimana kalo mau pake while? Perhatikan contoh:

1: Program Tutorial3_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? yup, di while dibutuhkan counter (diprogram ini adalah i). Jadi, baris ke-7 dan 8 akan dieksekusi (dijalankan) apabila nilai i < 5. Coba liat 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. Apa outputnya?

ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4

Coba baris ke 8 kamu ganti dengan "i:=i-1;" apa yang terjadi? Coba jalankan. 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. Sekarang kita coba dengan repeat.

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? cuman 1, "ini yang ke 1". Loh kok bisa, kan pada baris ke 8 tidak memenuhi persyaratan i<0 ? Memang nggak memenuhi persyaratan itu, tapi ini adalah keistemewaan repeat. Ia akan mengeksekusi sekali dulu baru dicek persyaratan yang ada dibawah.

Kelar juga ngebahas looping. Gunakan jenis looping yang ada seseuai kebutuhan. O iya, apa yang dilakukan bila tertulis seperti ini? "For i:=10 downto 1 do". Pernyataan itu akan menghitung mundur dari 10 sampai 1.