Perulangan (Looping)
Pengulangan digunakan untuk menjalankan satu atau
beberapa pernyataan sebanyak beberapa kali. Dengan kata lain, pengulangan
memungkinkan kita untuk menjalankan beberapa pernyataan hanya dengan menuliskan
pernyataan tersebut satu kali saja.
Bentuk flowchartnya sebagai berikut :
A. Pernyataan For
Merupakan pernyataan perulangan yang paling sering
digunakan. Pernyataan ini duganakan jika kita telah mengetahui berapa kali kita
akan mengulang satu atau beberapa pernyataan.
Bentuk umum pernyataan ini adalah sebagai berikut :
For pencacah := nilai_awal to
nilai_akhir do
begin
(pernyataan-pernyataan
yang akan diulang)
end;
Blok berisi pernyataan-pernyataan yang harus diulang
sering disebut juga kalang (loop).
1. Pernyataan
For Positif
Contoh
:
uses crt;
var
i : integer;
begin
for i := 1 to 5
do
writeln (‘Belajar
Pemrograman’);
readln;
end.
Hasilnya :
Belajar Pemrograman
Belajar Pemrograman
Belajar Pemrograman
Belajar Pemrograman
Belajar Pemrograman
Penjelasan : Berarti statemen
belajar pemrograman akan diulang
sebanyak 5 kali yaitu dengan menghitung nilai dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
sebanyak 5 kali yaitu dengan menghitung nilai dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
2. Pernyataan
For Negatif
Adalah perulangan dengan menghitung
(counter) dari besar ke kecil. Statement yang digunakan adalah For-DownTo-Do
Contoh :
Uses crt;
Var
i :
integer;
begin
for i :=
10 downto 1 do
write (i:3);
end.
Hasil :
10 9 8 7 6 5 4 3 2 1
uses crt;
var
i:integer;
begin
clrscr;
for i:=15 downto 1 do
begin
if i mod 2=1 then
write(i:4);
end;
readln;
end.
Outputnya :
Contoh lain :
uses crt;
var
n,p,deret:integer;
begin
clrscr;
write('masukkan Jumlah deret :
');readln(p);
deret:=3;
for n:= 1 to p do
begin
write(deret:4);
deret:=deret * 3;
end;
readln;
end.
Outputnya :
B.
Pernyataan
For Bersarang
Pada
pernyataan ini kita dapat meuliskan for didalam pernyataan for. Konstruksi
semacam ini sering disebut dengan pernyataan for bersarang.
Contoh
:
For x := 1 to 3 do
For
y := 1 to 2 do
Writeln (x, ‘ ‘,
y);
For
yang luar (dengan pencacah variabel x) akan menjalankan for yang dalam (dengan
pencacah y) sebanyak 3 kali. Dan pada setiap pengulangan di layar akan dituliskan
nilai x dan y. Berikut ini adalah keluaran dari program di atas :
1 1
1 2
2 1
2 2
3 1
3 2
Pada
saat x bernilai 1, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 1 1
dan 1 2. Demikian juga pada saat x bernilai 2, y diulang sebanyak 2 kali. Jadi
pada layar akan tertulis 2 1 dan 2 2. Hal yang sama terjadi pada saat x bernilai 3, y diulang sebanyak 2 kali,
sehingga pada layar tertulis 3 1 dan 3 2.
Contoh
lain:
uses crt;
type pas=array[1..20,1..20] of longint;
var pascal:pas;
i,j,n :integer;
begin
clrscr;
pascal[1,1]:=1;
write ('Banyak Level : ');readln(n);{:=10;}
for i:=2 to n do
begin
pascal[i,1]:=1;
pascal[i,i]:=1;
for j:=2 to i-1
do
pascal[i,j]:=pascal[i-1,j-1]+pascal[i-1,j];
end;
{write(pascal[2,1], ' ');
writeln;}
for i:=1 to n do
begin
for j:=1 to i do
write(pascal[i,j],' ');
readln;
writeln;
end
end.
C.
Pernyataan
While - Do
Biasa
digunakan bila kita belum tahu pasti berapa banyak kita akan mengulang
pernyataan-pernyataan. Berakhirnya pengulangan ini ditentukan oleh suatu
kondisi, bila kondisi sudah tidak terpenuhi maka pengulangan akan berakhir.
Dengan kata lain, selama kondisi masih terpenuhi pengulangan akan terus
dilakukan. Bentuk umum pernyataan pengulangan while adalah sebagai berikut :
while kondisi do
begin
(pernyataan-pernyataan
yang akan diulang)
end;
Kondisi
sendiri merupakan suatu ekspresi bertipe
Boolean, artinya hanya dapat bernilai benar (true) atau salah (false).
Contoh
:
while (x > 0) do
begin
x := x – 1;
y := y – 1;
end;
Program
ini akan mengulang dua pernyataan :
(x := x – 1) dan (y := y –
1)
Selama
nilai x masih positif.
Contoh lain :
uses crt;
var n,p,deret:integer;
begin
clrscr;
write('masukkan Jumlah deret : ');readln(p);
deret:=3;
n:=1;
while n<=p do
begin
write(deret:4);
n:=n+1;
deret:=deret * 3;
end;
readln;
end.
end.
Outputnya :
D.
Pernyataan
While – Do Tersarang
Merupakan
perulangan While – Do yang satu di dalam perulangan While – Do yang lainnya.
Contoh
:
uses crt;
var
a,b :
integer;
begin
clrscr;
a:=1;
b:=1;
while a<4 do {loop selama a masih lebih
kecil dari4}
begin
a:=a + 1;
while b<3 do {loop selama b masih lebih
kecil dari 3}
begin
write (a:3,b:2);
b:=b+1;
end;
end;
readln;
end.
Outputnya :
E.
Pernyataan
Repeat .. Until
Pernyataan pengulangan ini hampir sama
dengan pernyataan pengulangan while, dan biasanya digunakan bila jumlah
pengulangan belum dapat ditentukan pada saat program ditulis. Perbedaan
pernyataan repeat .. until dan while terletak pada letak pengecekan kondisi.
Jika pada pernyataan while, kondisi
dicek pada awal kalang, sedangkan pada pernyataan repeat .. until, kondisi
dicek pada akhir kalang.
Perbedaan yang lain, bila pernyataan
while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat ..
until mengulang peryataan selama kondisi belum terpenuhi.
Bentuk
umum pernyataan ini adalah sebagai berikut :
repeat
(pernyataan-pernyataan
yang akan diulang)
until kondisi
Contoh :
Repeat
x := x – 1;
y := y – 1;
until (x <= 0);
Program ini akan mengulang
dua pernyataan (x := x – 1) dan (y := y – 1) sampai nilai x lebih kecil atau
sama dengan 0.
Contoh lain:
uses crt;
var i,n :integer;
begin
clrscr;
i:=15;
repeat
begin
write(i:6);
i:=i-2;
end;
until n>=i;
readln;
end.
Outputnya :
F.
Repeat – Until Tersarang
Adalah suatu perulangan Repeat – Until
yang satu berada didalam perulangan Repeat – Until yang lainnya.
Contoh :
uses crt;
var
a,b,c : real;
begin
clrscr;
writeln('==========================');
writeln('sisi a sisi b sisi c ');
writeln('==========================');
a := 1;
repeat { perulangan luar }
b := 0;
repeat { perulangan dalam }
c := sqrt (a * a + b * b);
writeln (a:6:2, b:9:2, c:9:2);
b := b + 5;
until b > 25;
a := a + 1;
until a > 3;
writeln('==========================');
readln;
end.
Outputnya :
Komentar
Posting Komentar