Selasa, 18 Oktober 2016

Pengulangan Dalam Algoritma

Di dalam pengulangan terdapat beberapa macam struktur dan konstruksi pengulangan yang berbeda. Tahukah kalian apa saja bagian dari struktur dan konstruksi tersebut? Baik saya akan memulai dari struktur pengulangan.
1. Struktur Pengulangan
Secara umum struktur pengulangan didalam program terdiri atas dua bagian penting yaitu:
1. Kondisi pengulangan, yaitu ekspresi bernilai benar atau salah yang harus dipenuhi untuk melaksanakan pengulangan.
2. Body pengulangan, yaitu sekumpulan aksi yang diulang selama kondisi pengulangan dipenuhi.

Selain itu juga struktur pengulangan biasanya disertai dengan bagian:
1. Inisialisasi yang berarti aksi akan dilakukan sebelum pengulangan dilakukan pertama kali
2. Terminasi yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan

Selanjutnya kita beranjak ke macam-macam konstruksi pengulangan. Adapun macam-macam konstruksi pengulangan yang akan saya bahas disini yaitu: konstruksi FOR, konstruksi WHILE, dan konstruksi REPEAT.

1. Konstruksi FOR

Konstruksi ini digunakan untuk melakukan pengulangan sejumlah kali yang telah dispesifikasikan sebelumnya. Untuk mencacah berapa kali pengulangan dilakukan, kita memerlukan sebuah peubah pencacah. peubah ini nilainya selalu bertambah satu secara otomatis setiap kali pengulangan dilakukan, apabila cacah pengulangan telah mencapai jumlah pengulangan yang dispesifikasikan maka proses pengulangan selesai. Bentuk umum konstruksi FOR ada dua yaitu: for ascending dan for descending.
For Ascending : for pencacah ← <nilai_awal> to <nilai_akhir> do
                                aksi
                             end for
sebagai contoh kita akan membuat program  untuk mencetak string " Hello World!" sebanyak 20 kali, agar tidak terlalu banyak menulis write('Hello World') sampai 20 kali kita cukup menggunakan instruksi dari FOR ini. Berikut notasi algoritmanya:
for i ← 1 to 20 do
      write('Hello World!')
end

For Descending : for pencacah ← <nilai_akhir> downto <nilai_awal> do
                                 aksi
                              end
sebagai contoh dalam peluncuran roket yang melakukan penghitungan mundur mulai dari 100,99,98...,1,0. Notasi algoritmanya sebagai berikut:
for i ← 100 downto 0 do
write(i)
end for
write('Go!') {Roket meluncur saat hitungan 0}

2. Konstruksi WHILE

Bentuk umum dari konstruksi WHILE adalah:
while kondisi do
   aksi
end while
yang berarti selama kondisi masih memenuhi, kerjakan aksi. Penjelasan selengkapnya adalah sebagai berikut: Sebelum memasuki body pengulangan, kondisi diperiksa terlebih dulu apakah masih benar atau salah. Aksi dkerjakan berulangkali selama kondisi benar, jika kondisi salah maka body pengulangan tidak akan memasuki yang berarti pengulangan selesai.
untuk contoh saya tetap menggunakan program mencetak hello world diatas, ini adalah notasi algoritma versi while:
Deklarasi:
i : integer
N : integer
Algoritma
read(N)
i←1 {inisialisasi pencacah pengulangan dengan 1}

while i ≤ N do

        write('Hello World!')
        i←i+1
end while
{i > N}

 3. Konstruksi REPEAT
Bentuk umum dari fungsi REPEAT adalah:
repeat
  aksi
until kondisi
yang berarti ulangi aksi sampai kondisi terpenuhi. Penjelasan selengkapnya adalah konsturksi REPEAT merupakan pengulangan kondisi yang bernilai benar/salah. Pemeriksaan kondisi dilakukan pada akhir setiap pengulangan. Aksi dikerjakan berulang-ulang sampai kondisi terpenuhi atau bernilai benar. Jika kondisi bernilai salah proses pengulangan masih terus dilakukan. Karena proses pengulangan suatu saat harus berhenti, maka di dalam body pengulangan harus ada instruksi yang mengubah nilai peubah kondisi.
Seperti contoh algoritma mencetak hello world tadi:
Deklarasi:
i: integer
N: integer
Algoritma:
read(N)
i ← 1 { inisialisasi pencacah pengulangan dengan 1}
repeat
       write('Hello World!')
       i←i+1 {naikkan cacah pengulangan}
until i > N


Sumber: Buku Algoritma dan Pemrograman Dalam Bahasa Pascal,C,dan C++

Tidak ada komentar:

Posting Komentar