Show Perulangan (looping) adalah suatu bagian yang digunakan untuk mengulang suatu proses sesuai dengan yang diinginkan. Perulangan dibedakan menjadi tiga, yaitu perulangan for, perulangan while, dan perulangan repeat until (do while). 1. Perulangan ForPerulangan dengan for adalah perulangan yang sudah jelas diketahui berapa banyak pengulangan yang harus dilakukan. Dengan kata lain perulangan ini sudah jelas berapa nilai awal dan berapa nilai akhir (batas) perulangannya. 2. Perulangan WhilePerulangan dengan while adalah perulangan yang belum diketahui berapa banyak pengulangan yang harus dilakukan. Perulangan ini dapat dilakukan jika memenuhi kondisi perulangan. Biasanya kondisi yang digunakan berupa angka dengan nilai awal dan nilai akhir (batas), tetapi dalam beberapa kasus seperti pencarian menggunakan karakter/string sebagai kondisi akhirnya. 3. Perulangan Repeat Until (Do While)Perulangan dengan repeat until (do while) adalah perulangan yang belum diketahui berapa banyak pengulangan yang harus dilakukan. Perulangan ini dilakukan dengan melakukan satu kali proses yang ada di perulangan kemudian mengikuti kondisi, jika memenuhi kondisi maka pengulangan akan dilakukan dan jika tidak memenuhi kondisi maka pengulangan akan berhenti. Biasanya kondisi yang digunakan berupa angka dengan nilai awal dan nilai akhir (batas), tetapi dalam beberapa kasus seperti pencarian menggunakan karakter/string sebagai kondisi akhirnya. Perbedaan Perulangan Berdasarkan Jenisnya
Algoritma PerulanganPengulangan / looping adalah pelaksanaan suatu instruksi berulang kali. Di dalam algoritma, pengulangan dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai.
Struktur PengulanganBentuk Umum: <inisialisasi> awal pengulangan badan pengulangan akhir pengulangan <terminasi>
Macam struktur pengulangan sebelum eksekusi Struktur WHILE pengulangan dengan kondisi (conditional looping) jumlah pengulangan tidak diketahui
sebelum eksekusi program. Yang dapat ditentukan hanya kondisi berhenti berhenti terpenuhi) Struktur FOR
Bentuk umum struktur FOR:– Menaik (ascending) – Menurun (descending) FOR menaik for pencacah <- nilai_awal to nilai_akhir do aksi endfor
Contoh: Mencetak tulisan ‘Informatika’ sebanyak 5 kali Algoritma CETAK_INFORMATIKA
{ Mencetak ‘Informatika’ sebanyak 5 kali }DEKLARASI k : integer { pencacah pengulangan } DESKRIPSI :
for k¬1 to 5 do { ulangi sebanyak 5 kali } write(‘Informatika’) endfor
var k : integer; (* DESKRIPSI *)begin for k := 1 to 5 do writeln(‘Informatika’); (*endfor*) end.
Informatika Informatika
InformatikaInformatika Informatika
Contoh:Menghitung jumlahangka-angka dari 1sampai N.jumlah = 1 + 2 + 3 + ... + NNilai N dibaca terlebihdahulu dari pirantimasukan. Misalnya,jika N = 5, makajumlah angka dari 1sampai 5 adalah deret 1 + 2 + 3 + 4 + 5 = 15
Algoritma PENJUMLAHAN_DERET { Menjumlahkan deret 1 + 2 + 3 + ... + N, dengan N adalah bilangan bulat positif yang dibaca dari piranti masukan }
DEKLARASI k : integer { pencacah pengulangan } N, jumlah : integer
read(N) { banyaknya suku deret }
jumlah ¬ 0for k¬1 to N do { ulangi sebanyak N kali }jumlah ¬ jumlah + kendfor write(jumlah)
{ Menjumlahkan deret 1 + 2 + 3 + ... + N, dengan N adalah bilangan bulat positif yang dibaca dari piranti masukan }(* DEKLARASI *)vark, N, jumlah : integer;(* DESKRIPSI *)beginwrite(‘Masukkan banyaknya suku deret : ‘);readln(N);jumlah := 0;for k := 1 to N dojumlah := jumlah + k;(*endfor*)writeln(jumlah); end.
Contoh:Menghitung nilai rata-rata dari N buah data bilangan bulat yang dibaca dari piranti masukan. Nilai rata-rata adalah jumlah seluruh nilai dibagi dengan banyaknya nilai.Misalkan, N = 5 dan data bilangan yang dibaca berturut-turut adalah 12, 10, 6, 2, 4, maka nilai rataratanyaadalah:(12 + 10 + 6 + 2 + 4)/5 = 34/5 = 6.8
Algoritma HITUNG_RATA_RATA{ Menghitung rata-rata N buah bilangan bulat yang dibaca dari piranti masukan. N > 0. }
DEKLARASIk : integer { pencacah pengulangan }N : integer { jumlah data, > 0 }x : integer { bilangan bulat yangdibaca }jumlah : integer rata : real
DESKRIPSI :read(N) { banyaknya suku deret }jumlah ¬ 0for k¬1 to N do { ulangi sebanyak Nkali }read(x)jumlah ¬ jumlah + xendforrata ¬ jumlah/N write(rata)
Program HITUNG_RATA_RATA;{ Menghitung rata-rata N buah bilangan bulat yang dibaca dari piranti masukan. N > 0. }(* DEKLARASI *)vark, N, x, jumlah : integer;rata : real;(* DESKRIPSI *)beginwrite(‘Masukkan banyaknya suku deret : ‘);readln(N);jumlah := 0;for k := 1 to N dobeginwrite(‘Bilangan ke-’,k,’ : ‘);readln(x);jumlah := jumlah + x;end;rata := jumlah/N;writeln(rata); end.
FOR menurun
for pencacah¬nilai_akhir downto nilai_awal do
Contoh: Mencetak angka 5, 4, …, 1
Algoritma CETAK_ANGKA_TURUN { Mencetak 5, 4, ..., 1 ke piranti keluaran }DEKLARASIk : integer { pencacah pengulangan }DESKRIPSI :for k¬5 downto 1 dowrite(k)endfor Program CETAK_ANGKA_TURUN; { Mencetak 5, 4, ..., 1 ke piranti keluaran }
(* DEKLARASI *)vark : integer;(* DESKRIPSI *)beginfor k := 5 downto 1 dowrite(k,’ ‘);(*endfor*) end.
Pada algoritmaCETAK_ANGKA_TURUN,angka-angka yang dicetak bersesuaian dengan nilai pencacah pengulangan. Keluaran dari algoritma adalah angka 5 yang turun sampai ke angka 1: 5 4 3 2 1 Page 2
|