Tutorial Pascal - Struktur Perulangan
PERULANGAN REPEAT – UNTIL
Digunakan untuk mengulang (repeat) statement-statement atau blok statement hingga (until)
kondisi yang diseleksi di Until tidak terpenuhi. Sintaks dari statement ini bila digambarkan
dalam bentuk diagram akan berbentuk :
Bentuk Umum : REPEAT sequence statement
UNTIL condition
Contoh :
1.
digit := 1;
REPEAT
write (digit);
digit := digit + 1
UNTIL digit > 5 ;
2.
Var
I : integer;
Begin
I := 0;
Repeat
I := I + 1;
Writeln(I);
Until I = 5;
End.
Hasilnya:
1
2
3
4
5
PERULANGAN WHILE-DO
Perulangan WHILE-DO tidak dilakukan kalau kondisi tidak terpenuhi
Contoh :
USES CRT;
VAR i : INTEGER;
BEGIN
i := 0;
WHILE i < 5 do
BEGIN
WRITE(i:3);
INC(i); { sama dengan i:=i+1 }
END;
END.
Hasilnya :
0 1 2 3 4
Perbedaan antara struktur REPEAT-UNTIL dengan WHILE-DO ialah sebagai berikut :
1. Paling sedikit statement-statement di dalam perulangan REPEAT-UNTIL diproses sekali, alasannya ialah seleksi kondisi ada pada statement Until yang terletak dibawah. Sedang pada struktur WHILE-DO paling sedikit dikerjakan nol kali, karena seleksi kondisi ada apada statement While yang terletak diatas, sehingga kalau kondisi sudah tidak terpenuhi, maka tidak akan masuk ke dalam lingkungan perulangan
2. Pada REPEAT-UNTIL sanggup tidak dipergunakan blok statement (tidak diharapkan Begin dan End untuk menunjukkan batas perulangannya), karena batas perulangannya sudah ditunjukkan oleh Repeat hingga dengan Until (Repeat dan Until sebagai pengganti Begin dan End).
STRUKTUR FOR
Digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan.
Bentuk Umum :
FOR id := v1 TO v2 DO statement
FOR id := v1 DOWNTO v2 DO statement
Contoh :
Var I : integer;
Begin
For I := 1 to 5 Do Writeln(‘Pascal’);
End.
Hasilnya : Pascal
Pascal
Pascal
Pascal
Pascal
Penulisan statement yang akan diproses berulang kali tersebut sanggup juga ditulis dalam bentuk blok statement (diawali dengan Begin dan diakhiri dengan And), walaupun hanya berisi sebuah statement saja, sebagai berikut :
Var
I : integer;
Begin
For I := 1 to 5 Do
Begin
WriteLn(‘Pascal’);
End;
End.