Perulangan (LOOPING) Jika dibandingkan dengan computer, manusia mempunyai kekurangan. Salah satu kekurangannya adalah manusia tidak mampu melaksanakan suatu perintah berulangkali tanpa mengenal lelah dan bosan. Sedangkan computer sebaliknya, computer mampu melaksanakan suatu perintah berulangkali tanpa mengenal lelah dan bosan. Di dalam algoritma pengulangan/ loop dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai. * Struktur Pengulangan Struktur pengulangan secara umum terdiri dari 2 bagian: Body pengulangan, merupakan bagian algoritma yang diulang. Kondisi pengulangan, merupakan ekspresi Boolean yang wajib dipenuhi untuk melaksanakan pengulangan. Kondisi pengulangan ini dapat dinyatakan secara eksplisit ( pemrogram ) atau inplisit ( dikelola computer itu sendiri ). Dalam struktur pengulangan biasanya disertai dengan bagian: Inisialisasi, maksudnya aksi yang dilakukan sebelum pengulangan pertama kali dilakukan. Terminasi, maksudnya aksi yang dilakukan setelah pengulangan selesai dilakukan. Inisialisasi dan terminasi tidak selalu wajib ada, namun pada berbagai kasus inisialisasi umumnya dibutuhkan.
Struktur Perulangan (LOOPING) ( inisialisasi ) Awal pengulangan adab pengulangan Akhir pengulangan ( terminasi ) (inisialisasi ) dan ( terminasi ) pada struktur umum pengulangan diatas merupakan bagian yang tidak selalu harus dituliskan. Sedangkan, awal dan akhir pengulangan merupakan kata kunci yang bergantung pada kontruksi pengulangan yang digunakan. Di dalam algoritma terdapat bermacam-macam konstrusi yang berbeda. Ada beberapa konstruksi pengulangan yang dapat digunakan/ dipakai untuk masalah yang sama, tetapi ada juga onstruksi pengulangan yang hanya bisa dipakai untuk masalah tertentu. Untuk memilih konstruksi pegulangan yang tepat seharusnya bergantung pada masalah yang akan diprogram. Karena pemilihan konstruksi pengulangan mempengaruhi kebenaran algoritma untuk masalah tertentu.
Struktur Perulangan (LOOPING) Notasi konstruksi pengulangan dalam bentuk pernyataan ada 3 macam, yaitu: a. Pernyataan FOR Merupakan konstruksi pengulangan tanpa kondisi ( unconditional looping ), artinya perintah-perintah yang ada di dalam badan pengulangan diulangi sejumlah kali yang dispesifikasikan oleh pemrogram. Jadi, jumlah pengulangan sudah diketahui/ dapat dtentukan sebelum konstruksi pengulangan eksekusi. Pernyataan dengan to adalah suatu pernyataan yang menjalankan program dengan urut/ semestinya/ dari kecil sampai ke yang besar, misalnya: dari angka 1 sampai angka 5. Example: Example 1. uses wincrt; var a : integer : begin for a := 1 to 5 do writeln(a); end. Example 2. Program CetakBanyak_BelajarYangRajinYa var x : integer ; for x := 1 to 5 do writeln(’Belajar Yang Rajin Ya!’); Struktur Perulangan (LOOPING) Output: 1 2 3 4 5 Output: Belajar Yang Rajin Ya! Belajar Yang Rajin Ya! Belajar Yang Rajin Ya! Belajar Yang Rajin Ya! Belajar Yang Rajin Ya!
Struktur Perulangan (LOOPING) Ada pula pernyataan dengan downto, maksudnya pernyataan yang menjalankan progran secara terbalik yaitu yang besar ke yang kecil, misalnya dari angka 5 ke angka 1. Example: uses wincrt; var y : integer ; begin for y := 5 downto 1 do writeln(y); end. Selain kedua pernyataan diatas, ada juga for di dalam for. Misalnya: var x,y,z : integer ; for x := 1 to 6 do begin writeln(’tidak’, x); writeln; for y := 5 to 9 do begin z := x * 500; writeln(z + y, ’ ’, y); end; readln; Struktur Perulangan (LOOPING) Output: 5 4 3 2 1 Output: tidak 1 505 5 506 6 507 7 508 8 509 9 ……. ……. Tidak 6 3005 5 3006 6 3007 7 3008 8 3009 9
Perulangan (LOOPING) b. Pernyataan WHILE Merupakan pengulangan dengan kondisi ( conditional looping ), maksudnya perintah-perintah yang ada di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi yaitu dengan menentukan kondisi berhenti pengulangan. Tetapi jumlah pengulangan tidak diketahui sebelum eksekusi. Struktur umum pernyataan While: while kondisi do pernyataan endwhile Jadi, pernyataan while akan berjalan berulang terus apabila belum menemukan nilai false, tetapi kalau kondisi bernilai true maka pengulangan akan terus berjalan. Sedangkan, apabila pengulangan berjalan terus tanpa henti berarti pengulangan tersebut pada logika algoritma ma yang salah. Example: uses wincrt: var c : integer ; begin c := 1; while(c<5) do begin writeln(’tidak’, c); a := a + 1; end; end. Perulangan (LOOPING)
tidak 0 tidak 1 tidak 2 tidak 3 tidak 4 c. Pernyataan REPEAT Merupakan pengulangan dengan kondisi ( conditional looping ), maksudnya perintah-perintah yang ada di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi yaitu dengan menentukan kondisi berhenti pengulangan. Tetapi jumlah pengulangan tidak diketahui sebelum eksekusi. Struktur umum pernyataan Repeat: repeat pernyataan until kondisi Jadi, bisa diartikan bahwa apabila program itu dijalankan dengan kondisi bernilai false dan masih saja bernilai false, maka proses akan terus berlangsung. Tetapi apabila kondisi sudah menemukan nilai true maka proses akan berhenti. Karena nilai true yang dicari. Disamping itu, apabila pengulangan tidak berhenti/ berjalan terus tanpa henti maka terdapat logika algoritma yang salah. Example: uses wincrt; var a : integer ; begin writeln(’tidak’, a); until(a=5); end. Perulangan (LOOPING) Output: tidak 0 tidak 1 tidak 2 tidak 3 tidak 4
tidak 0 tidak 1 tidak 2 tidak 3 tidak 4 c. Pernyataan REPEAT Merupakan pengulangan dengan kondisi ( conditional looping ), maksudnya perintah-perintah yang ada di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi yaitu dengan menentukan kondisi berhenti pengulangan. Tetapi jumlah pengulangan tidak diketahui sebelum eksekusi. Struktur umum pernyataan Repeat: repeat pernyataan until kondisi Jadi, bisa diartikan bahwa apabila program itu dijalankan dengan kondisi bernilai false dan masih saja bernilai false, maka proses akan terus berlangsung. Tetapi apabila kondisi sudah menemukan nilai true maka proses akan berhenti. Karena nilai true yang dicari. Disamping itu, apabila pengulangan tidak berhenti/ berjalan terus tanpa henti maka terdapat logika algoritma yang salah. Example: uses wincrt; var a : integer ; begin writeln(’tidak’, a); until(a=5); end. Perulangan (LOOPING) Output: tidak 0 tidak 1 tidak 2 tidak 3 tidak 4
# Dari pernyataan diatas, pada While dan Repeat terlihat jelas ada perbedaan antara kedua pernyataan tersebut. Perbedaan tersebut adalah: a. Pernyataan While while kondisi do pernyataan Endwhile b. Pernyataan Repeat repeat until kondisi Perulangan (LOOPING)