DasProg Modul 07 Perulangan
DasProg Modul 07 Perulangan
Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. Proses yang berulang adalah suatu urut-urutan pernyataan yang akan dieksekusi terus menerus selama kondisi yang disyaratkan terpenuhi. Pengulangan proses merupakan suatu kemampuan yang dimiliki oleh semua compiler bahasa pemrograman. Terdapat banyak jenis pengulangan proses, tetapi paling tidak akan dibahas dua buah bentuk jenis pengulangan :
1. FOR. Pengulangan dengan besarnya nilai integer sebagai kondisi (biasanya berbentuk for) 2. WHILE. Pengulangan dengan kondisi pernyataan boolean (biasanya berbentuk while)
Pernyataan; Pernyataan;
Kondisi di increment
Pernyataan dengan FOR biasanya digunakan untuk pernyataan yang sudah ditentukan jumlah pengulangannya. FOR dengan kondisi numerik yang menaik. Pada looping yang berbentuk seperti ini terdapat pernyataan increment atau penambahan yang berbentuk sebagai berikut : Kondisi = Kondisi + n, dimana n adalah bilangan yang bernilai positif.
Bentuk umum pernyataan for dalam bahasa Pascal adalah sebagai berikut:
FOR pencacah := nilai awal TO nilai akhir do Begin { pernyataan-pernyataan yang akan diulang } end;
Contoh dari pernyataan for dalam bahasa C/C++ diperlihatkan pada contoh berikut :
#include <iostream.h> void main(void) { for (int j = 1 ; j < = 4 ; j = j+1) { cout << I<<endl; } }
Contoh dari pernyataan for dalam bahasa pascal diperlihatkan pada contoh berikut : Program Perulangan1; Var Begin For I := 1 to 4 do Begin WriteLn (I); End; End. I : integer; {* I adalah variabel kontrol *}
Perhatikanlah didalam pengulangan dengan for pernyataan yang berada didalam loop akan dieksekusi sampai kondisi loop tersebut tidak terpenuhi.
Contoh 2 dalam bahasa Pascal : Program Konversi_Celcius_Fahrenheit2; Var x : integer; C, F : real; Begin Writeln (--------------------------------------); Writeln (Celcius Fahrenheit); Writeln (--------------------------------------); C := 0; For x := 1 to 10 do Begin F := 1.8 * C + 32; Writeln (C:8:2, F:14:2); C := C + 0.25; End; Writeln (--------------------------------------); End. statemen { x adalah variabel kontrol}
#include <iostream.h> void main(void) { int x; float C, F; cout << --------------------------------------; cout << Celcius Fahrenheit; cout << --------------------------------------; C := 0; for (x = 1; x <= 10; x++) { F := 1.8 * C + 32; cout << C << C := C + 0.25; } cout << --------------------------------------; End. << F;
Kalang/looping for yang luar (dengan pencacah variable x) akan menjalankan kalang yang dalam (dengan pencacah y) sebanyak 3 kali. Dan pada setiap pengulangan di layar akan dituliskan nilai x dan y.
Pada saat x bernilai 1, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 1 1 dan 1 2. demikian juga pada saat x bernilai 2, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 2 1 dan 2 2. hal yang sama terjadi pada saat x bernilai 3.
Pernyataan pengulangan ini biasanya digunakan bila belum diketahui pasti berapa banyak akan dilakukan pengulangan pernyataan-pernyatan. Berakhirnya pengulangan ini ditentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi, pengulangan akan terus dilakukan.
Bentuk umum pernyataan pengulangan while dalam Pascal adalah sebagai berikut: While kondisi do Begin { pernyataan-pernyataan yang akan diulang } end;
kondisi sendiri merupakan suatu ekspresi boolean, artinya hanya dapat bernilai benar (true) atau salah (false).
Var Begin
I : integer;
Ungkapan logika
Statement
Program yang sama jika dituliskan dalam bahasa C akan berbentuk sebagai berikut :
#include <iostream.h> void main(void) { int j; j = 0; while j < 15 do { cout << j ; j = j + 1; } } Ungkapan logika
Berikut ini adalah contoh dalam bahasa pascal untuk menghitung rata-rata suatu series data yang dimasukkan oleh user.
Program Menghitung_TotalNilai_JumlahData_RataRata; Uses Crt; Var Nilai, Total, RataRata N,I Begin Clrscr; : real; : integer;
{Memasukkan Nilai data dan langsung dihitung totalnya} I := 0; Total := 0; While I < N do Begin I := I + 1; Write (Nilai data ke ,I,?); Readln (Nilai); Total := Total + Nilai; End; {*** Menghitung nilai rata-ratanya ***} RataRata := Total/N;
{*** Menampilkan hasil ***} writeln; writeln (Total nilai =,Total:8:2); =,RataRata:8:2); writeln (Jumlah data =,N:3); writeln (Rata-rata nilai end.
Contoh :
Var Begin I := 10; Repeat Writeln (I); I := I + 1; Until I > 5 End. ungkapan I : integer;
Perbedaan pernyataan repeat..until dan while terletak pada pengecekan kondisi. Jika pada pernyataan while, kondisi dicek pada awal pernyataan repeat..until, kondisi dicek pada akhir kalang. Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat..until mengulang pernyataan selama kondisi belum terpenuhi. kalang, pada