Senin, 07 Januari 2013

Looping


STRUKTUR DASAR PENGULANGAN (LOOPING)
Struktur pengulangan terdiri atas 2 bagian yaitu :
*      Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ada yang dinyatakan secara explisit oleh pemrogram.
*      Badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang
Stuktur pengulangan biasanya disertai dengan :
  • Inisialisasi yaitu ; Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
  • Terminasi yaitu ; Aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
.
Didalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda, beberapa struktur dapat dipakai untuk masalah yang sama, namun ada notasi pengulangan yang hanya cocok dipakai untuk masalah tertentu, struktur pengulangan tersebut adalah :
  1. Struktur WHILE-DO
Bentuk umum struktur WHILE-DO adalah
while <kondisi> do
Aksi
endwhile
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.
Contoh :
Tuliskan algoritma untuk mencetak banyak HALO sebanyak 10 kali .
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
K 1 {inisialisasi}
While k ≤ 10 do
Write (‘HALO’)
K K+1
Endwhile
{kondisi berhenti : k > 10}
Contoh :
Tuliskan Algoritma untuk mencetak urutan angka 1 s/d 10
Algoritma cetak_angka
Deklarasi
Angka : integer
Deskripsi
Angka 1
While angka ≤ 10 do
Write (angka)
angka angka +1
Endwhile
  1. Struktur REPEAT-UNTIL
Bentuk umum struktur REPEAT-UNTIL adalah :
Repeat
Aksi
Until <kondisi>
Struktur REPEAT-UNTIL memiliki makna yang sama dengan WHILE-DO namun ada perbedaan mendasar diantara keduanya. Pada struktur REPEAT-UNTIL aksi (atau sekumpulan aksi) dilaksanakan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir struktur, sedangkan pada struktur WHILE-DO kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak pernah dilaksanakan bila kondisi pengulangan bernilai false.
Ini adalah contoh pada contoh WHILE-DO
Contoh :
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
K 1 {inisialisasi}
Repeat
Write (‘HALO’)
K K+1
Until k > 10
{kondisi berhenti : k > 10}
Contoh 2 :
Tuliskan Algoritma untuk mencetak urutan angka 1 s/d 10
Algoritma cetak_angka
Deklarasi
Angka : integer
Deskripsi
Angka 1
Repeat
Write (angka)
angka angka +1
until angka > 10
v  Perbedaan Repeat…until pada algoritma dengan do…while pada bahasa C++
adalah : pada bagian keadaan/kondisi pengecekannya. Pada repeat…until
loop akan dikerjakan kembali jika kondisi masih salah dan berhenti jika kondisi benar, tetapi kalau do…while kebalikannya.
  1. Struktur FOR
Struktur FOR digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapu, struktur ini menyebabkan aksi diulangi sejumlah kali (tertentu)
Bentuk umum struktur FOR ada 2 macam : menaik (ascending) dan menurun (descending)
FOR menaik :
For peubah nilai_awal to nilai_akhir do
Aksi
Endfor
Keterangan :
    • peubah : haruslah bertipe sederhana
    • nilai_awal : haruslebih kecil atau sama dengan nilai_akhir
    • pada awalnya, peubah diinisialisasi dengan nilai_awal. Nilai peubah secara otomatis bertambah satru setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_akhir
Ini adalah contoh pada contoh WHILE-DO
Contoh 1 :
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
For K 1 to 10 do
Write (‘HALO’)
Endfor
{kondisi berhenti : k > 10}
Contoh 2 :
Tuliskan Algoritma untuk mencetak urutan angka 1 s/d 10
Algoritma cetak_angka
Deklarasi
Angka : integer
Deskripsi
For angka 1 to 10 do
Write (angka)
Endfor
FOR menurun :
For peubah nilai_akhir downto nilai_awal do
Aksi
Endfor
Keterangan :
    • Peubah : haruslah bertipe sederhana
    • Nilai_akhir : harus lebih besar atau sama dengan nilai_awal
    • Pada awalnya, peubah diinisialisasi dengan nilai_akhir. Nilai peubah secara otomatis berkurang satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_awal
Contoh :
algoritma peluncuran roket dengan hitungan mundur, muali dari 100, 99, 98, …. 0
Algoritma peluncuran_roket
Deklarasi
K : integer
Deskripsi
For k 100 downto 0 do
Write (k)
Endfor
Write (‘GO!’) {roket meluncur}
Perbedaan FOR dengan WHILE..DO
ü  FOR digunakan untuk proses pengulangan yang jumlah pengulangannya
dapat diketahui di awal.
ü  WHILE..DO selain dapat berfungsi seperti FOR juga dapat digunakan untuk proses yang jumlah pengulangannya tidak dapat diketahui.

Tidak ada komentar:

Posting Komentar