LOOPING DALAM PASCAL
C. PERULANGAN REPEAT..UNTIL
Repeat..Until adalah proses looping suatu statement secara terus menerus hingga
ekspresi yang ada di dalam until bernilai false atau sudah terpenuhi. Dengan kata lain
looping repeat..until prosesnya berkebalikan dengan looping while-do. Bentuknya:
Repeat statement; until ekspresi_logika/relasi;
Perhatikan contoh berikut :
Program repeat_until;
useswincrt;
var i:byte;
begin
i:=0;
repeat
i:=i+1;
writeln(i);
until i=5;
end.
Output yang dihasilkanadalah :
12345
Proses looping akan terus dilakukan
Hingga ekspresi terpenuhi. Pada contoh,
Penambahan i terus dilakukan hinggai=5.
Sekarang pada program repeat_until, coba anda ganti ekspresi di dalam until
Menjadi i>5. Kemudian anda compile dan apa yang terjadi ??! Coba bandingkan contoh
Looping menggunakan repeat..until dengan looping while-do ini!!
Program sample_repeat;
useswincrt;
var i:integer;
begin
i:= 10;
repeat
writeln(i);
i:=i + 1;
until i>5;
end.
Output :
11
Program sample_while;
useswincrt;
var i:integer;
begin
i:= 10;
while i<5 do
begin
writeln(i);
i:=i+1;
end;
end.
Output : Tidakadahasil
Dari kedua contoh diatas dapat disimpulkan perbedaan kedua operasi tersebut :
Ø Paling sediki statement di dalam looping repeat diprosessekali, karena pemenuhan
syarat until terletak setelah statement. Sedangkan looping while statement-nya paling
sedikit dikerjakan nol kali, karena pemenuhan syarat while terletak sebelum statement.
Ø Looping repeat tidak memerlukan blok statement (begin..end;) pada statement yang
Lebih dari satu, karena batasnya sudah ditunjukkan oleh repeat..until. Sedangkanwhile
Memerlukan blok statement (begin..end;) jika statementnya lebih dari satu.
Didalam looping repeat..unti ljuga terdapat looping tersarang (nested repeat). Sama
sepertinested for dannested while dalam halaturan, yaitu di dalam looping terdapat
looping yang lain. Perhatikan code program berikut yang menggunakan nested repeat.
Program ini akan menghitung sisi-sisi segitiga siku-siku dengan menggunakan rumus
Phytagoras yaitu C = A2 + B2.
programphytagoras; uses wincrt;
vara,b,c:real;
begin
writeln(‘----------------------‘);
writeln(‘Sisi A Sisi B Sisi C’);
writeln(‘----------------------‘);
a:=1;
repeat
b:=0;
repeat
c:=sqrt(a*a + b*b);
writeln(a:5:2,b:8:2,c:8:2);
b:=b + 1;
until b>4;
a:=a + 1;
until a>4;
end.
Setelah anda memahami program tersebut, coba anda analisis proses dari program
berikutini :
programbengong; uses wincrt;
vara,b:byte;
begin
a:=10;
b:=0;
repeat
b:=b+1;
a:=a-b;
until a>b;
writeln(a,’ ‘,b);
Artikel keren lainnya:
Belum ada tanggapan untuk "looping perulangan repeat..until"
Post a Comment