Anda di halaman 1dari 13

Algoritma dan Pemrograman

(Praktikum Algoritma dan Pemrograman)


http://www.unhas.ac.id/amil/mk/2012_2/AP/
L#2 Amil Ahmad Ilham http://www.unhas.ac.id/amil

PENGULANGAN
Struktur pengulangan terdiri atas dua bagian:
1. Kondisi pengulangan, yaitu ekspresi booleam yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit) Badan (body) pengulangan, yaitu satu atau lebih aksi yang diulang Inisiasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesi dilaksanakan

2.

Struktur pengulangan biasanya disertai dengan:


1. 2.

Notasi Struktur Pengulangan


Di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda. Beberapa struktur yang dapat dipakai untuk masalah yang sama, namun ada notasi pengulangan yang hanya cocok dipakai untuk masalah tertentu. Dalam materi ini akan dibahas 3 jenis notasi struktur pengulangan :
1. struktur WHILE-DO 2. struktur REPEAT-UNTIL 3. Struktur FOR

Struktur WHILE-DO
Bentuk umum
Contoh: Algoritma Cetak_Banyak_Halo {Mencetak Halo sebanyak 10 kali DEKLARASI k:integer {pencacah pengulangan} DESKRIPSI: k 1 while k 10 do write (Halo) k k+1 endwhile While <kondisi> do aksi Endwhile

{inisialisasi}

Aksi (atau runtunan aksi) akan dilaksanakan berulang kali sepanjang <kondisi> boolean masih tetap bernilai true. Jika <kondisi> bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai

Algoritma Hitung_rata_rata DEKLARASI N : intreger {banyak bilangan,>0} x : integer {bilangan yang dibaca dari keyboard} k : integer {pencacah banyak bilangan} jumlah : integer { pencatat jumlah bilangan } rerata : real { rata-rata bilangan } DESKRIPSI read (N) jumlah 0 { inisialisasi } k 1 { inisialisasi pencacah } while k=< N do read (x) jumlah jumlah + x k k+1 endwhile {k>N} Rerata jumlah/N Write (rerata)

Algoritma Hitung_rata_rata DEKLARASI N : intreger {banyak bilangan,>0} x : integer {bilangan yang dibaca dari keyboard} k : integer {pencacah banyak bilangan} jumlah : integer { pencatat jumlah bilangan } rerata : real { rata-rata bilangan } sah : boolean DESKRIPSI { baca dan validasi nilai N) sah false while not sah do read (N) if N =< 0 then write ( N tidak boleh negatif atau 0. Ulangi !) else { N >0, masukan sudah benar } sah true endif endwhile {Perhitungan nilai rata-rata } jumlah 0 { inisialisasi } k 1 { inisialisasi pencacah } while k=< N do read (x) jumlah jumlah + x k k+1 endwhile {k>N} Rerata jumlah/N write (rerata)

Struktur REPEAT-UNTIL
repeat aksi until <kondisi>
Struktut REPEAT-UNTIL memeliki makna yang sama dengan WHILE DO dan dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain. Namun ada perbedan mendasar diantara keduanya. Pada struktur REPEAT-UNTIL, aksi atau sekumpulan aksi dilaksanakan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir pada akhir struktur. Sedangkan pada struktur WHILE-DO kondisi pengulangan diperiksa pada awal struktur sehingga kemunkinan pengulangan tidak akan pernah dilaksanakan bila kondisi pengulangan bernilai false.

Algoritma CETAK_BANYAK_HALO {Mencetak HALO sebanyak 10 Kali} DEKLARASI k: integer { pencacah pengulangan } DESKRIPSI: k 1 {inisialisasi} repeat write (HALO) k k+1 until k >10

Algoritma Jumlah_Deret { menjumlahkan deret 1+2+3 +N, bilangan bulat positif } DEKLARASI N : integer {banyaknya suku deret, nilainya positif} angka : integer {suku deret } jumlah : integer { jumlah deret } DESKRIPSI read (N) jumlah 0 {inisialisasi jumlah deret } angka 1 { suku deret } repeat jumlah jumlah + angka {jumlah deret sekarang} angka angka + 1 {suku deret berikutnya } until angka >N write (jumlah)

Algoritma Hitung_rata_rata DEKLARASI N : intreger {banyak bilangan,>0} x : integer {bilangan yang dibaca dari keyboard} k : integer {pencacah banyak bilangan} jumlah : integer { pencatat jumlah bilangan } rerata : real { rata-rata bilangan } DESKRIPSI read (N) jumlah 0 { inisialisasi } k 1 { inisialisasi pencacah } repeat read (x) jumlah jumlah + x k k+1 until k >N rerata jumlah/N write (rerata)

Struktur FOR
Struktur FOR digunakan untuk emnghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapum. Struktur menyebabkan aksi diulangi sejumlah kali (tertentu) Bentuk umum struktur FOR ada dua macam : menaik (ascending) atau menurun (descending)

FOR Menaik for peubah nilai_awal to nilai_akhir do aksi endfor FOR menurun for peubah nilai_akhir downto nilai_awal do aksi endfor

Contoh AlgoritmaFOR menaik Algoritma CETAK_BANYAK_HALO { Mencetak HALO sebanyak 10 kali } DEKLARASI k : integer {pencacah pengulangan} DESKRIPSI for k 1 to 10 do write ( HALO ) endfor

Contoh Algoritma FOR menurun Algoritma PELUNCURAN_ROKET {Hitung mundur peluncuran roket} DEKLARASI k : integer DESKRIPSI for k 10 downto 0 do write (k) endfor write ( GO ) {roket meluncur}

Algoritma Jumlah Deret


Algoritma Jumlah_Deret { menjumlahkan deret 1+2+3 +N, bilangan bulat positif } DEKLARASI N : integer angka : integer jumlah : integer DESKRIPSI read (N) jumlah {banyaknya suku deret, nilainya positif} {suku deret } { jumlah deret } { banyaknya suku deret} {inisialisasi jumlah deret } {jumlah deret sekarang}

for angka 1 to N jumlah jumlah + angka endfor write (jumlah)

Algoritma Hitung_rata_rata DEKLARASI N : intreger {banyak bilangan,>0} x : integer {bilangan yang dibaca dari keyboard} k : integer {pencacah banyak bilangan} jumlah : integer { pencatat jumlah bilangan } rerata : real { rata-rata bilangan } DESKRIPSI read (N) jumlah 0 { inisialisasi } for k 1 to N do read (x) jumlah jumlah + x k k+1 endfor rerata jumlah/N write (rerata)

Anda mungkin juga menyukai