3. Pengulangan (repetition/looping).
17
Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil.
Deklarasi : Deklarasi:
A, B, C, D : Integer A, B, C, D : Integer
Algoritma : Algoritma :
1. Read (A,B) 1. Read (A, B)
2. C ← A + B 2. D ← A * B
3. D ← A * B 3. C ← A + B
4. Write (C, D) 4. Write(C, D)
Tetapi jika algoritma di atas urutan no. 1,2 dan 3 diubah (ditukarkan ) maka
menghasil keluaran yang berbeda (tidak sama) seperti berikut :
Deklarasi :
A, B, C, D
Algoritma :
1. C ← A + B
2. D ← A * B
3. Read (A, B)
4. Write (C, D)
Gunakan celemek
endif
Statemen if dengan satu kasus merupakan bentuk yang paling sederhana karena
hanya melibatkan satu kondisi yang akan diperiksa. Aksi hanya akan
dilaksanakan apabila kondisi bernilai benar. Sebaliknya, apabila kondisi bernilai
salah, maka aksi tidak akan dilaksanakan.
aksi/penyataan
endif
Contoh 1:
19
Bentuk umum :
if kondisi then
aksi1
else
aksi2
end if
Contoh 2:
Bentuk umum :
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
aksi3
20
Contoh 3:
Contoh 4:
21
d. Struktur Case
Untuk masalah dengan dua kasus atau lebih, struktur case dapat
menyederhanakan penulisan IF-THEN-ELSE yang bertingkat. Struktur case
adalah sebagai berikut:
case (ekspresi) of
kondisi1 : aksi1
kondisi2 : aksi2
kondisi3 : aksi3
.
.
Kondisin : aksin
[otherwise aksiX]
endcase
Kondisi1, kondisi2,…, kondisiN dapat bernilai benar atau salah. Tiap kondisi
diperiksa nilai kebenarannya mulai dari kondisi pertama sampai ditemukan
kondisi yang bernilai benar. Jika kondisi ke-n dilaksanakan, selanjutnya keluar
dari struktur case. Aksi yang dipasangkan dengan kondisi ke-n dapat lebih dari
satu. Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise
dikerjakan. Perhatikanlah bahwa otherwise optional, artinya boleh ditulis boleh
juga tidak ditulis.
23
Dengan struktur Case, algoritma untuk masalah tersebut dapat dibuat menjadi
lebih singkat sebagai berikut:
Algoritma kata untuk angka
Deklarasi
Angka : integer
Algoritma
Read(angka)
Case angka of
Angka = 1 : write(‘satu’)
Angka = 2 : write(‘dua’)
Angka = 3 : write(‘tiga’)
Angka = 4 : write(‘empat’)
Angka = 5 : write(‘lima’)
Otherwise : write(‘angka yang dimasukan salah’)
end case
a. Pengulangan For Do
Pernyataan pengulangan for digunakan jika kita sudah tahu berapa kali
kita akan mengulang satu atau beberapa pernyataan.
24
For pencacah := nilai_awal to/downto nilai_akhir
do
Aksi/pernyataan
End for
Contoh 1 :
Algoritma program mencetak urutan bilangan dari 1 sampai
ke n
Deklarasi
i, n : integer
Algoritma
Read(n)
for i = 1 to n do
write(n)
end for
end algoritma
Contoh 2:
Algoritma program mencetak 10 kali
Deklarasi
i : integer
Algoritma
for i = 1 to 10 do
write(‘Saya Mahasiswa Unindra’)
end for
end algoritma
25
Contoh 3 :
Algoritma program mencetak urutan bilangan dari 10
sampai 1
Deklarasi
i : integer
Algoritma
for i = 10 downto 1 do
Write(i)
Endfor
End algoritma
Perulangan Bersarang
Perulangan bersarang adalah perulangan yang berbeda di dalam perulangan
yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu
sampai habis, kemudian perulangan yang lebih luar baru akan akan
bertambah. Mengerjakan perulangan yang lebih dalam lagi mulai dari nilai
awalnya dan seterusnya.
Contoh 4 :
Algoritma Program ForBersarang1
Deklarasi
i, j : integer
Algoritma
for i = 1 to 5 do
for j = 1 to 3 do
write(i,j)
endfor
endfor
endalgoritma
output :
1 1 1 2 1 3
2 1 2 2 2 3
3 1 3 2 3 3
4 1 4 2 4 3
5 1 5 2 5 3
Contoh 5:
Algoritma program forbersarang2
Const
Akhir = 4
Deklarasi
Baris, kolom : integer
Algoritma
For baris = 1 to akhir do
for kolom = 1 to baris do
write(baris)
endfor
26
endfor
end algoritma
output :
1
22
333
4444
b. Pengulangan while do
contoh 1 :
contoh 2:
Algoritma Program MencetakSepuluhKali
Deklarasi
i : integer
27
Algoritma
i ← 1
while i <= 10 do
Write(‘Saya Senang Belajar Pascal’)
i← i + 1
Endwhile
{ i > 10 }
end Algoritma
contoh 3:
Algoritma Program PenjumlahanDeret {Menjumlahkan deret
1+2+3+4+5+6 …. +n}
Deklarasi
n : integer {banyaknya suku deret, > 0}
i : integer {suku deret}
jumlah : integer {jumlah deret]}
Algoritma
Read(n)
Jumlah ← 0
i ← 1
while i <= n do {ulangi sebanyak n kali}
Jumlah ← jumlah + i
i ← i + 1
endwhile
{ i > n }
write(jumlah)
contoh 4:
Algoritma Program Peluncuran Roket {Hitung mundur
peluncuran roket}
Deklarasi
i : integer
Algoritma
i ← 10
while i >= 0 do
write(i)
i ← i – 1
endwhile
{ i < 0 }
write(‘Go’)
end Algoritma
28
Bentuk umum pernyataan repeat-until adalah sbb:
Repeat
Aksi
Until kondisi
Tidak seperti pada struktur for yang jumlah pengulangannya diketahui sebelum
pengulangan dilaksanakan, maka untuk struktur repeat-until digunakan jika
jumlah pengulangan tidak dapat diketahui di awal. Namun yang pasti,
pengulangan aksi akan terus dilakukan sampai kondisi berhenti dipenuhi.
Contoh 1:
Algoritma Mencetak kata ‘Unindra’ sebanyak 10 kali
Deklarasi
i : integer {Pencacah pengulangan}
Algoritma
i ← 1 {inisialisasi}
repeat
write(‘Unindra’)
i ← i +1
until i > 10
end algoritma
contoh 2:
Algoritma Program Mencetak angka 1 sampai N
Deklarasi
N, i: integer
Algoritma
read(N)
i ← 1
repeat
write(i)
i ← i + 1
until i > N
end algoritma
29