Modul 3
STRUKTUR KENDALI PERULANGAN
LOOPING
Salah satu kelebihan komputer daripada manusia adalah ia tidak
pernah bosan terhadap tugas-tugas rutin. Inilah yang menyebabkan
komputerisasi selalu diterapkan terhadap tugas-tugas yang rutin.
1 Looping Counter
Digunakan untuk proses berulang yang jumlah perulangannya
ditentukan berdasarkan perhitungan (sistem counter).
FOR counter = mulai TO selesai [STEP selisih]
Statement
...
NEXT [counter]
Contoh :
Mencetak nilai faktorial 7, dimana 7!=1x2x3x4x5x6x7
Fak = 1
For I = 2 To 7 Step 1
Fak = Fak * I ' Fak menjadi Fak * I
Next I
Print "Nilai faktorial 7 :", Fak
END
Mencetak 10 suku bilangan fibonanci yang pertama, dimana :
fibo(1) = 1
fibo(2) = 1
fibo(n) = fibo(n-1) + fibo(n-2)
sehingga hasilnya : 1,1,2,3,5,8,13,21,34,55
For I = 1 To 10 Step 1 ' Looping 10 kali
If I = 1 Then ' Jika suku ke 1
fKurangSatu = 1
Print 1
ElseIF I = 2 Then ' Jika suku ke 2
fKurangDua = 1
Print 1
Else ' Untuk suku ke n
fibo = fKurangSatu+fKurangDua
Print fibo
fKurangSatu = fKurangDua
fKurangDua = fibo
End IF
Next I
END
2 Looping Trapping
Perulangan jenis ini ditentukan berdasarkan kondisi tertentu.
Pemeriksaan diawal
DO [{WHILE | UNTIL} ekspresi logika]
Statement
...
LOOP
Contoh :
Mencari KPK dari dua bilangan
Input "Bilangan pertama :", pertama
Input "Bilangan kedua :", kedua
If pertama > kedua Then 'Jika bilangan pertama lebih besar
Lipat = pertama
Bagi = kedua
Else
Lipat = kedua
Bagi = pertama
End IF
N = 1
Do While ((Lipat*N) Mod Bagi) <> 0 'Kelipatan dinaikan jika
N = N + 1 'sisa bagi belum nol
Loop
Print "KPK kedua bilangan adalah :", (Lipat*N)
END
NB : operator matematika MOD adalah untuk sisa bagi
Pemeriksaan diakhir
DO
[statementblock]
LOOP [{WHILE | UNTIL} ekspresi logika]
Contoh :
Program password, program akan terus menanyakan password sampai
jawabannya benar.
password$ = "INDOPROG"
DO
Color 7,0
Print "Password";
Color 0,0
Input pass$
LOOP until pass$ = password$
Print "Selamat bergabung !"
END
Perintah EXIT DO dapat digunakan untuk meninggalkan proses DO -
LOOP
Contoh :
N = 1
password$ = "INDOPROG"
DO
Color 7,0
If N > 3 Then
EXIT DO
End IF
Print "Password";
Color 0,0
Input pass$
N = N + 1
LOOP until pass$ = password$
If N > 3 Then
Print "Akses ditolak !"
Else
Print "Selamat bergabung !"
End IF
END
TUGAS
1. Buatlah program menentukan bilangan yang dimasukkan merupakan
bilangan PRIMA atau tidak.
2. Buatlah program mencetak tabel pertumbuhan simpanan anda di
bank.
Jumlah simpanan ?
Suku bunga bank/tahun ?
Lama simpanan ?
Tabel pertumbuhan
------------------------------------------------------------
Tahun Awal Tahun Bunga/tahun Pajak Akhir Tahun
------------------------------------------------------------
1
2
.
.
.
Awal Tahun 1 = Jumlah simpanan
Bunga/tahun = Awal Tahun * Suku bunga bank/100
Pajak dihitung berdasarkan :
Jika Awal Tahun + Bunga/tahun > 7500000
Pajak = 20% dari Bunga/tahun
Jika tidak
Pajak = 0
Akhir Tahun = Awal Tahun + Bunga/tahun - Pajak
Awal Tahun ke n = Akhir Tahun n - 1