PERNYATAAN PERULANGAN
Pernyataan perulangan adalah pernyataan yang akan menjalankan pernyataan yang
mengikutinya secara berulang sampai syarat tertertentu terpenuhi.
Ada 3 buah pernyataan
perulangan, yaitu FOR, WHILE dan REPEAT.
A. Statement FOR
Statement FOR adalah suatu perintah yang berfungsi untuk melakukan proses
pengulangan, dimana jumlah pengulangannya sudah diketahui. Bentuk dari statement
FOR adalah:
FOR {Variabel} := {Nilai Awal} TO {Nilai Akhir} DO
BEGIN
{Statement 1}
{Statement 2}
....
{Statement n}
END;
FOR {Variabel} := {Nilai Awal} DOWNTO {Nilai Akhir}
DO
BEGIN
{Statement 1}
{Statement 2}
....
{Statement n}
END;
Jika Nilai Awal < Nilai Akhir gunakan statement FOR TO DO. Sedangkan jika Nilai
Awal > Nilai Akhir gunakan statement FOR DOWNTO DO.
Contoh :
Ingin dibuat program untuk menampilkan deret berikut:
1,3,5,7,.......suku ke-n
PROGRAM DERET;
USES WINCRT;
VAR I, N:INTEGER;
BEGIN
READLN(N);
FOR I:=1 TO N DO
WRITELN(2*I-1);
END.
Untuk menangani masalah tertentu, ada kemungkinan statement FOR yang digunakan
lebih dari satu dan statement FOR yang satu dapat berada didalam statement FOR yang
lain. Bentuk yang seperti ini disebut FOR Bersarang (nested FOR)
Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
**
***
****
PROGRAM TAMPIL;
USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
FOR I:=1 TO 4 DO
BEGIN
FOR J:=1 TO I DO
WRITE(‘*’);
WRITELN;
END;
END.
C. Statement WHILE
Statement WHILE adalah suatu perintah yang berfungsi untuk melakukan proses
pengulangan, dimana pengulangan akan terus dilakukan jika kondisi tertentu dipenuhi.
Jika banyaknya pengulangan diketahui tapi kenaikan atau penurunan pengulangan
tidak sebesar satu, statement IF tidak cocok untuk digunakan. Sebagai alternatif dapat
digunakan statement WHILE atau REPEAT. Sedangkan jika banyaknya pengulangan
tidak diketahui maka statement IF tidak dapat digunakan, sehingga harus digunakan
statement WHILE atau REPEAT. Bentuk dari statement WHILE adalah:
WHILE {Kondisi} DO
BEGIN
{Statement 1}
{Statement 2}
....
{Statement n}
END;
Contoh :
Ingin dibuat program untuk menampilkan deret berikut:
1,3,5,7,.......suku ke-n
PROGRAM DERET;
USES WINCRT;
VAR
N,I : INTEGER;
BEGIN
READLN(N);
I:=1;
WHILE I <= N DO
BEGIN
WRITELN(2*I-1);
I:=I+1;
END;
END.
D. Statement WHILE untuk Jumlah Pengulangan Yang Diketahui
Statement WHILE dapat digunakan untuk pengulangan dengan jumlah pengulangan yang
diketahui. Selain untuk pengulangan dengan kenaikan dan penurunan sebesar 1, statement
WHILE dapat digunakan juga pada pengulangan dengan kenaikan dan penurunan tidak
sebesar 1.
Contoh:
Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah:
For i:=1 to 20 do writeln(i)
Program Ulang;
Uses Wincrt;
Var
i:integer;
Begin
I:=1; {nilai awal}
While i<= 20 do
Begin
Writeln(i);
i:=i+1; {menaikkan nilai i}
End;
End.
E. Statement WHILE untuk Jumlah Pengulangan Yang Tidak Diketahui
Dalam proses pengulangan selalu ada kondisi yang mengkontrol pengulangan tersebut
untuk berhenti. Kontrol pengulangan tidak selalu melibatkan variabel penghitung.
Contoh:
Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara berulangulang
hingga karakter ’*’ dimasukkan.
Program Ulang;
Uses Wincrt;
Var
x:char;
Begin
x:=’a’;
While x <> ’*’ do
Begin
Writeln(’Masukkan bilangan: ’);
Readln (x);
End;
End.
F. Statement WHILE Bersarang (Nested WHILE)
Sama halnya dengan statement FOR, untuk menangani masalah tertentu, ada kemungkinan
statement WHILE yang digunakan lebih dari satu dan statement WHILE yang satu dapat
berada didalam statement WHILE yang lain.
Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
**
***
****
PROGRAM TAMPIL;
USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
I:=1;
WHILE I <= 4 DO
BEGIN
J:=1;
WHILE J <=I DO
BEGIN
WRITE(‘*’);
J:=J+1;
END;
WRITELN;
I:=I+1;
END;
END.
G. Statement REPEAT
Statement REPEAT adalah suatu perintah yang berfungsi untuk melakukan proses
pengulangan, dimana pengulangan akan berhenti jika kondisi yang tertulis di akhir
pengulangan dipenuhi. Sintak dari statement REPEAT adalah:
REPEAT
{Statement 1}
{Statement 2}
....
{Statement n}
UNTIL {Kondisi};
Contoh :
Ingin dibuat program untuk menampilkan deret berikut: 1,3,5,7,.......suku ke-n
PROGRAM DERET;
USES WINCRT;
VAR
N,I:INTEGER;
BEGIN
READLN(N);
I:=1;
REPEAT
WRITELN(2*I-1);
I:=I+1;
UNTIL I > N;
END
H. Statement REPEAT untuk Jumlah Pengulangan Yang Diketahui
Statement REPEAT dapat digunakan untuk pengulangan dengan jumlah pengulangan yang
diketahui dan nilai kenaikan atau penurunan sebesar nilai tertentu (sebesar 1 atau tidak
sebesar 1).
Contoh:
Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan
perintah:
For i:=1 to 20 do writeln(i)
Program Ulang;
Uses Wincrt;
Var
i:integer;
Begin
i:=1; {nilai awal}
Repeat
Writeln(i);
i:=i+1; {menaikkan nilai i}
Until i > 20;
End.
I. Statement REPEAT untuk Jumlah Pengulangan Yang Tidak
Diketahui
Jika dalam proses pengulangan tidak diketahui banyaknya pengulangan, maka dapat
digunakan statement WHILE atau REPEAT.
Contoh:
Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara
berulang-ulang hingga karakter ’*’ dimasukkan.
Program Ulang;
Uses Wincrt;
Var
x:char;
Begin
Repeat
Writel(’Masukkan bilangan: ’);
Readln (x);
Until x = ’*’;
End.
J. Statement REPEAT Bersarang (Nested REPEAT)
Sama halnya dengan statement FOR dan WHILE, ada kemungkinan statement REPEAT
yang digunakan lebih dari satu dan statement REPEAT yang satu dapat berada didalam
statement REPEAT yang lain.
Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
**
***
****
PROGRAM TAMPIL;
USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
I:=1;
REPEAT
J:=1;
REPEAT
WRITE(‘*’);
J:=J+1;
UNTIL J > I ;
WRITELN;
I:=I+1;
UNTIL I > 4;
END.
|