Anda di halaman 1dari 22

ALGORITMA

DAN PEMROGRAMAN 1
Semester Ganjil 2013 - 2014

Logika Perulangan
Beni Suranto, S.T., M.SoftEng

Contoh kasus
Contoh 1:
Mencetak bilangan dari 1 sampai dengan 10.
Contoh 2:
Menghitung total bilangan genap antara 5 sampai dengan 45
Contoh 3:
Menghitung banyaknya karakter 'a' dari 25 karakter yang
diinputkan lewat piranti masukan
Contoh 4:
Mencetak n bilangan asli pertama. Nilai n ditentukan dari
piranti masukan.

Algoritma Contoh 1
output(1)
output(2)
output(3)
output(4)
output(5)
output(6)
output(7)
output(8)
output(9)
output(10)

Algoritma Contoh 2
total 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20
+ 22 + 24 + 26 + 28 + 30
+ 32 + 34 + 36 + 38 + 40 + 42 + 44
output(total)

Algoritma Contoh 3
n_a 0
input(karakter)
if (karakter = 'a') then
n_a n_a + 1
{dst.... Diulangi sampai 25 kali}

output(n_a)

Problem
Ada sekumpulan statement yang perlu dilakukan
berulang-ulang.
Banyaknya perulangan tergantung dari persoalan
Bagaimana kalau ada 1000 bilangan?
Atau 10000, dst?
Sebuah perulangan dalam algoritma, harus dijamin
berhenti.
Sesuai sifat algoritma harus berhenti

Algoritma untuk Contoh 1


i 1
while (i<10) do
output(i)
i i + 1

Algoritma untuk Contoh 2


bil_genap 6
total 0
while (bil_genap < 45) do
total total + bil_genap
bil_genap bil_genap + 2
output(total)

10/25/2013

Nama Mata Kuliah

Algoritma untuk Contoh 3


n_a 0
pencacah 1
while (pencacah < 25) do
input(karakter)
{baca karakter}
if(karakter = 'a') then n_a n_a + 1
pencacah pencacah + 1
output(n_a)

Perulangan
Terdiri dari 2 bagian:
Kondisi berhenti
Kondisi yang mengakibatkan perulangan berhenti
Dinyatakan dalam ekspresi logika
Baik eksplisit maupun implisit
Badan perulangan
Statement-statement yang akan diulang
Pengulangan statement tsb akan dilakukan jika kondisi
berhenti belum terpenuhi

While-do
Berdasarkan kondisi perulangan
Format Penulisan
while <Kondisi-perulangan> do
<Statement>
<Statement> akan diulang jika <kondisi-perulangan> terpenuhi
(bernilai true)
<Kondisi-perulangan> adalah ekspresi logika

Kasus :
1. Menerima 50 data suhu air, kemudian mencetak pesan
di layar monitor tentang bentuk air sesuai dengan data
suhu yang dimasukkan.
2. Menerima 100 bilangan, kemudian mencetak pesan di
layar monitor apakah bilangan yang dimasukkan
ganjil/genap.
3. Menerima 100 karakter huruf, kemudian mencetak
pesan di layar monitor apakah karakter yang
dimasukkan adalah huruf vokal atau bukan.

Algoritma untuk Soal 1


i 1
while (i<50) do
input(T)
if T 0 then
output air membeku
else
if T 99 then
output air dalam bentuk cair
else output air menguap
i i + 1

Algoritma untuk Soal 2


i 1
while (i<100) do
input(bil)
if bil mod 2 = 0 then
output bilangan genap
else
output bilangan ganjil
i i + 1

Algoritma untuk Soal 3


i 1
while (i<100) do
input(karakter)
if karakter == A or U or I or E or O
then output huruf vokal
else
output bukan huruf vokal

i i + 1

Do-While
Berdasarkan kondisi perulangan
Format Penulisan
do <Statement>
while <Kondisi-perulangan>
<Statement> akan diulang jika <kondisi-perulangan>
terpenuhi (bernilai true)
<Kondisi-perulangan> adalah ekspresi logika

Algoritma untuk soal 1 (benar?)


i 1
do
input(T)
if T 0 then
output air membeku
else
if T 1 and T 99 then
output air dalam bentuk cair
else output air menguap
while (i 50 ) do
i i + 1

Algoritma untuk soal 2


i 1
do
input(bil)
if bil mod 2 = 0 then
output bilangan genap
else
output bilangan ganjil
i i + 1
while (i < 100)

Algoritma untuk Contoh 3


i 1
do
input(karakter)
if karakter == A or U or I or E or O
then output huruf vokal
else
output bukan huruf vokal
i i + 1
while (i < 25)

Tugas

Menerima dua buah bilangan bulat antara 1..100.


Buatlah algoritma untuk menghitung total
penjumlahan bilangan-bilangan ganjil antara 2
bilangan tersebut.

Menggunakan skema:
while do
Boleh ada percabangan (if-then)

Solusi :
input (bil_1)
input (bil_2)
bil_ganjil bil_1
if (bil_1 mod 2 == 0) then
bil_ganjil bil_ganjil + 1
total 0
while (bil_ganjil < bil_2) do
total total + bil_ganjil
bil_ganjil bil_ganjil + 2
output(total)

Terima kasih..

Anda mungkin juga menyukai