Algoritma Perulangan
Pada Bab ini anda akan mempelajari
Deskripsi
Read(X)
Y1
YX*Y
YX*Y
YX*Y
Write(Y)
Jika input algoritma (X) adalah 2, maka dengan tabel penyimpanan data
Perintah X Y Ouput
Read(X) 2
Y1 1
YX*Y 4
YX*Y 8
YX*Y 16
Write(Y) 16
1. Pengulangan For-Do
Ada 2 macam pengulangan for-do, yaitu for-do menaik dan for-do menurun. Berikut
ini adalah bentuk umumnya.
For-do menaik
For varnilai_awal to nilai_akhir do
pernyataan
pernyataan
For-do menurun
For variabelnilai_awal downto nilai_akhir do
Pernyataan
pernyataan
Halo
Halo
Halo
Kita dapat membuat output yang sama seperti di atas dengan for-do menurun.
for i3 downto 1 do
Write(‘Halo’)
var 3…1
Write (‘Halo’)
Perbedaannya, pada for-do menaik i berubah dari 1 sebanyak +1 dan berhenti setelah
lebih dari 3, sedangkan pada for-do menurun, i berubah dari 3 sebanyak –1 hingga
akhirnya berhenti saat i kurang dari 1. Coba tentukan bentuk dari algoritma di atas.
Contoh soal
1. Buat algoritma menampilkan deret 1, 2, 3, …, N. N adalah masukan.
Algoritma deret
Deklarasi
N,x : integer
Deskripsi
read(N)
for x=1 to N do
write(x)
Penjelasan
Mula-mula masukkan nilai N, misalnya 3. Setelah itu masuk ke dalam loop
dengan x mula-mula 1. Kemudian Write(x) menghasilkan keluaran 1. Proses diulang
lagi dengan x (=2) Kemudian Write(x) menghasilkan keluaran 2. Demikian
seterusnya. Aksi tidak lagi dikerjakan saat x>N.
Perintah N x Output
Read(N) 3
For x=1 to N do 1 1
Write(x) 2 2
3 3
2. Buat algoritma yang menampilkan jumlah dari deret pada soal no 1 di atas
Algoritma jumlah_deret
Deklarasi
N,x,jum : integer
Deskripsi
read(N)
jum0
for x=1 to N do
jumjum+x
write(jum)
Penjelasan
Mula-mula masukkan nilai N, misalnya 4, kemudian inisialisasi jum=0.
Setelah itu masuk ke dalam loop dengan x mula-mula 1. Kemudian jum = 0 ditambah
dengan x = 1 sehingga diperoleh jum (baru) = 1. Proses diulang lagi dengan x = 2.
Kemudian jum = 1 ditambah dengan x = 2 sehingga diperoleh jum = 3. Demikian
seterusnya. Aksi tidak lagi dikerjakan saat x>N.
Perintah N x jum Output
Read(N) 4
Jum0 0
For x=1 to N do 1 1
Jumjum+x 2 3
3 6
4 10
Write(jum) 10
Latihan : coba masukkan input N yang lain, misalnya 7, kemudian isi tabel
penyimpanan data dan tuliskan nilai keluarannya.
begin
Read
(N)
For x=1
to N
Jum jum+x
write(jum)
end
Perulangan While-Do
while <kondisi> do
begin
pernyataan
end
sedangkan bentuk flowchartnya
t
<kondisi>?
Aksi
loop
Deskripsi
read(N)
x2
while x<=N do
Write(x)
xx+2
begin
read
(N)
x<--2
t
x<=N
write (x)
x<--x+2
End
Read(N) 8
x2 2
Blok pengulangan
aksi
until <kondisi>
t
<kondisi>
Secara umum teks dan flowchart di atas berarti bahwa aksi tidak dikerjakan
lagi jika kondisi bernilai benar.
Contoh soal
Buatlah algoritma dengan keluaran sebagai berikut
1 1
2 3
3 9
4 27
... ...
N ...
Algoritma DeretGanda
Deklarasi
A,B,N : integer
Deskripsi
read(N)
A0, B1
repeat
AA+1
BB+3
writeln (A,B)
until (B=N)
Catatan
Gunakan perintah writeln untuk penulisan deret ke bawah
Begin
Read (N)
A<--0,B<--1
A<--A+1
B<--B*3
writeln (A,B)
A>=N
End
SOAL LATIHAN
1. Buatlah algoritma menghitung menampilkan deret berikut ini
a. 1 2 3 4 5
b. 1 3 5 7 11
c. 3 6 9 12 15
d. 64 32 16 8 4
e. 1 1/2 1/4 1/8 1/16
f. 2 -4 8 -16 32
2. Buatlah algoritma menampilkan tampilan berikut sebanyak N kali (N merupakan
input
Nomor 1
Nomor 2
Nomor 3
....
3. Modifikasi algoritma pada nomor 1 sehingga keluaran algoritma dapat
menghitung jumlah deret tersebut
2 Genap
3 Ganjil
4 Genap
5 Ganjil
... ..........