Anda di halaman 1dari 18

PERULANGAN

Pertemuan VI
Struktur Pengulangan
• Secara alamiah, suatu proses bisa berupa proses
berurutan dari awal hingga selesai, pilihan
berdasarkan kondisi tertentu atau pengulangan
bedasarkan batasan tertentu pula. PASCAL
menyediakan beberapa konstruksi perintah untuk
melakukan proses-proses itu, yaitu:
1. For ... to ... do
2. While ... do
3. Repeat ... until

Beberapa kemungkinan proses pengulangan adalah


jumlah pengulangan sudah tertentu atau ditentukan
dalam program atau jumlah pengulangan tidak tentu
tergantung banyak data yang harus diproses atau
kenginan pemakai.
Perulangan FOR
Digunakan bila jumlah pengulangan sudah diketahui atau
sudah tertentu.

Statement FOR FOR Variabel kontrol := Nilai-awal

TO

Nilai-akhir DO Statement
DOWN TO
• Contoh: Misalkan i adalah suatu variabel dalam
integer

For i:=1 to 5 do
begin
writeln(‘mari membuat program’);
end;

Akan Menghasilkan :
mari membuat program
mari membuat program
mari membuat program
mari membuat program
mari membuat program
• sebanyak lima baris, kemudian berhenti. Apabila
kita akan melakukan pengulangan secara ‘cacah
mundur’ kita bisa memakai kata kunci ‘downto’
SYNTAX :
for variabel:= <awal> downto <akhir> do
begin
:
:
perintah;
:
:
end;

For i:=5 downto 1 do


begin
writeln(‘mari membuat program’);
end;
Contoh :
Minggu ke pengeluaran
Setiap akhir minggu Melly, seorang
mahasiswa yang mendapatkan
1 170000
kiriman biaya hidup bulanan dengan
jumlah agak pas-pasan, selalu
2 175000
mencatat pengeluarannya per-
minggu di luar sewa kamar selama 3 175000
satu bulan. Di akhir bulan ia
menghitung total pengeluarannya 4 185000
selama sebulan dan menghitung
rerata pengeluarannya per minggu
selama bulan itu. Bila sebulan
dianggap 4 minggu, buat program
komputer untuk menghitung
pengeluaran Tertib seperti itu.
Penyelesaian:
1. Rumus penyelesaian:
rerataOHM = SUM( ongkosHPM[i] )/m; i = 1 .. m, m = 4.

2. Algoritma:
2.1 Kosongkan variabel penjumlah (accumulator)
jumlahOHB - total ongkos hidup perbulan.
2.2 Baca data ongkosHPM - ongkos hidup minggu ke i.
2.3 Tambahkan ongkosHPM ke jumlahOHB, jumlahOHB =
jumlahOHB + ongkosHPM.
2.4 Ulangi 2.2 dan 2.3 hingga 4 kali.
2.5 rerataOHM = jumlahOHB / 4.
program hitung_rerataOHB;
uses winCRT;
var ongkosHPM, jumlahOHB, rerataOHM : real;
i, m : integer;
begin
jumlahOHB := 0.0; { Nilai awal penjumlah }
m := 4; { Jumlah minggu dalam sebulan dianggap 4 }
for i := 1 to m do
begin
write('Data minggu ke : ', i,' : ');
readln(ongkosHPM);
jumlahOHB := jumlahOHB + ongkosHPM;
end;
rerataOHM := jumlahOHB/m;
writeln('Total ongkos hidup per bulan = Rp ',jumlahOHB:7:2);
writeln('Rerata ongkos hidup per minggu =Rp ',rerataOHM:7:2);
end.
Output :
Perulangan tersarang (nesteed loop)
Perulangan yang berada dalam perulangan yang lainnya.
Perulangan yang lebih dalam akan di proses terlebih
dahulu sampai habis, kemuadian perulangan yang
lebih luar baru akan bertambah, mengerjakan
perulangan yang lebih dalam lagi mulai dari nilai
awalnya dan seterusnya.
uses wincrt;
var
i,j : integer;
begin
for i:=1 to 5 do
begin
for j:=1 to 5 do
write (i:8,j:3);
writeln;
end;
end.
Struktur WHILE <Ekspresi Boolean>
DO <Statement>
• Perintah-perintah akan dilaksanakan apabila
ekspresi boolean dalam keadan benar. Di dalam
loop ada nilai yang mengontrol loop, yang nilainya
harus berubah sehingga pada akhirnya program
akan keluar dari loop.
while <ekspresi boolean> do
begin
:
:
perintah;
:
:
end;
uses wincrt;
var
i: integer;
begin
i:=0;
while i<5 do
begin
writeln (i);
i:=i+1;
end;
end.

Contoh lain : buku Yogiyanto, hal 132.


Struktur REPEAT... UNTIL
Pernyataan repeat...until hampir sama dengan
pernyataan while...do, tetapi dengan pernyataan
repeat, akan terjadi paling tidak akan terjadi satu
kali eksekusi statemen. Logika dari struktur ini
adalah seperti berikut:
repeat uses wincrt;
: var
: i: integer;
perintah; begin
: i:=0;
: repeat
until <ekspresi boolean>; i:=i+1;
writeln (i);
until i=5;
end.
Perbedaan Repeat…Until dan
While-Do
• Paling sedikit statement-statement di dalam
perulangan Repeat…Until diproses sekali, karena
seleksi kondisi ada pada statement Until yang
terletak di bawah. Sedang pada struktur While-Do
paling sedikit dikerjakan nol kali, karena seleksi
kondisi ada pada statement While yang terletak
diatas, sehingga kalau kondisi sudah tidak
terpenuhi maka tidak akan masuk ke dalam
lingkungan perulangannya.
• Pada Repeat…Until dapat tidak dipergunakan blok
statement (tidak diperlukan Begin dan End untuk
menunjukkan batas perulangannya), karena batas
perulangan sudah ditunjukkan oleh Repeat sampai
dengan Until (Repeat dan Until sebagai pengganti
Begin dan End).

Anda mungkin juga menyukai