Pengulangan pada PASCAL
00.24
Assalamu’alaikum Wr. Wb.
Kali
ini saya akan memberikan sedikit pengertian tentang perulang dalam bahasa
PASCAL. Struktur pengulangan secara umum terdiri atas dua bagian:
1.
Kondisi pengulangan, yaitu
ekspresi boolean yang harus dipenuhi
untuk melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara
eksplesit oleh pemrogram atau dikelola sendiri oleh komputer (implisit)
2.
Badan (body) pengulangan,
yaitu bagian algoritma yang diulang.
Disamping
itu, struktur pengulangan biasanya disertai denagn bagian:
1.
Inisialisasi, yaitu aksi
yang dilakukan sebelum pengulangan dilakukan pertama kali
2.
Terminasi, yaitu aksi yang
dilakukan setelah pengulangan selesai dilaksanakan.
Inisialisasi
dan terminasi tidak selalu harus ada, namun pada berbagai kasus inisialisasi
umumnya diperlukan.
Struktur
pengulangan secara umum:
<inisialisasi>
Awal pengulangan
Badan pengulangan
Akhir pengulangan
<terminasi>
yang
dalam hal ini awal dan akhir pengulangan dinyatakan sebagai kata kunci yang
bergantung pada konstruksi pengulangan yang digunakan. Selain itu, <inisialisasi>
dan <terminasi> adalah bagian yang opsional (tidak harus dituliskan)
didalam
algoritma terdapat beberapa macam konstruksi pengulangan yang berbeda. Beberapa
konstruksi dapat dipakai untuk masalah yang sama, namun ada konstruksi
pengulangan yang hanya cocok dipakai untuk masalah tertentu. Pemilihan konstruksi
pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran algoritma. Pemilihan
konstruksi pengulangan yang tepat bergantung pada masalah yang akan diprogram. Inilah
beberapa jenis pengulangan yang akan di post kali ini:
1.
Pernyataan FOR-DO;
2.
Pernyataan WHILE-DO;
3.
Pernyataan REPEAT-UNTIL.
Ø Perulangan menggunakan FOR-DO
Pernyataan FOR-DO adalah konstruksi pengulangan tanpa kondisi
(unconditional looping), artinya instruksi-instruksi di dalam badan pengulangan
diulangi sejumlah kali yang dispesifikasikan oleh pemrogram. Dalam hal ini,
jumlah pengulangan sudah diketahui sebelum konstruksi pengulangan eksekusi.
Konstruksi FOR-DO
digunakan untuk menghasilkan pengulangan sejumlah kali pengulangan dilakukan,
kita memerlukan sebuah peubah (variable) pencacah
(counter). Peubah ini nilainya selalu
bertambah satu setiap kali pengulangan dilakukan. Jika cacah pengulangan sudah
mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti.
1. Contoh Pernyataan FOR-DO
FOR <variable> : = <nilai_awal> TO <nilai_akhir>
DO
Syntax FOR di atas digunakan untuk perulangan yang nilai
awalnya terus bertambah hingga nilai akhir. atau dalam pengertian dapat di
rumuskan :
Printah (statement) di dalam FOR akan selalu di jalankan selama nilai_awal masih <= nilai_akhir. Kemudian nilai_awal akan selalu di tambahkan 1 di setiap kali perulangan. Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal > nilai_akhir.
Sebagai contoh :
Printah (statement) di dalam FOR akan selalu di jalankan selama nilai_awal masih <= nilai_akhir. Kemudian nilai_awal akan selalu di tambahkan 1 di setiap kali perulangan. Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal > nilai_akhir.
Sebagai contoh :
1.
Contoh membuat perulangan
dengan menggunakan angka untuk membentuk sebuah segitiga pada perulangan FOR
uses crt;
const
akhir=4;
var
baris,kolom:integer;
begin
for baris:=akhir
downto 1 do
begin
for kolom:=baris
downto 1 do
write(baris,'',kolom);
writeln;
end;
readln;
end.
Hasilnya:
2.
Contoh membuat Bintang
pada FOR :
Uses Crt;
Var
Bintang :
Integer;
Begin
Clrscr;
For
Bintang := 5 to 23 do
Begin
Gotoxy(5,Bintang
);
Writeln('*');
Delay
(100);
End;
For Bintang :=
5 to 75 do
Begin
Gotoxy(Bintang,23
);
Writeln('*');
Delay
(100);
End;
For Bintang :=
23 downto 5 do
Begin
Gotoxy(75,Bintang
);
Writeln('*');
Delay
(100);
End;
For Bintang :=
75 downto 5 do
Begin
Gotoxy(Bintang,5
);
Writeln('*');
Delay
(100);
End;
readln;
End.
Hasilnya :
Ø Perulangan menggunakan
WHILE-DO
Aksi akan dilakukan berulangkali selama kondisi bernilai true. Jika
kondisi bernilai false, badan pengulangan
tidak akan dimasuki, yang berarti pengulangan selesai. Kondisi di akhir
pengulangan (setelah endwhile) disebut
loop invariant yaitu variabel kondisi
yang nilainya sudah tidak berubah lagi.
Yang harus diperhatikan adalah
pengulangan harus berhenti. Pengulangan yang tidak pernah berhenti menandakan
bahwa logika algoritma tersebut salah. Pengulangan berhenti apabila kondisi bernilai false. Agar kondisi suatu
saat bernilai false, maka di dalam
badan pengulangan harus ada instruksi yang mengubah nilai kondisi. Kita memakai kembali enam contoh pengulangan yang sudah
diberikan pada pembahasan pernyataan FOR untuk menggambarkan penggunaan
pernyataan WHILE.
1. Contoh pernyataan WHILE-DO
While kondisi
do
Aksi
Endwhile
Algoritma dalam pengeksekusian scriptnya adalah sebagai
berikut:
- Kondisi di cek terlebih dahulu (WHILE)
- Jika kondisi terpenuhi maka kerjakan statement (DO)
Contoh programnya:
- Kondisi di cek terlebih dahulu (WHILE)
- Jika kondisi terpenuhi maka kerjakan statement (DO)
Contoh programnya:
1.
Cara menampilkan bilangan
genap mulai dari 10 hingga 20
program contoh;
var
x: integer;
begin
x := 10; // nilai
awal x
while x <= 20
do // pengecekan while apakah x <= 20, jika iya kerjakan statment di
bawah :
begin
if (x mod 2) = 0
then // pengecekan sisa hasil bagi 2, jika 0 maka genap
write(x,' ');
x := x + 1; //
counter pertamnbahan x
end;
readln;
end.
Hasilnya :
Ø Pengulangan menggunakan
REPEAT-UNTIL
Notasi
ini mendasarkan pengulangan pada kondisi boolean.
Aksi di dalam badan kalang diulang-ulang sampai kondisi bernilai true. Dengan
kata lain, jika kondisi masih false, proses pengulangan masih terus
dilakukan. Karena proses pengulangan suatu saat harus berhenti, maka di dalam
badan pengulangan harus ada pernyataan yang mengubah nilai peubah kondisi.
Pernyataan
REPEAT memiliki makna yang sama dengan WHILE, dan dalam beberapa masalah kedua
pernyataan tersebut komplemen satu sama lain.
Kita memakai
kembali enam contoh pengulangan yang sudah diberikan pada pembahasan pernyataan
FOR untuk menggambarkan penggunaan pernyataan REPEAT.
1. Contoh pernyataan
REPEAT-UNTIL
Repeat
Aksi
Until kondisi
Algoritma dalam pengeksekusian
scriptnya adalah berkebalikan dengan WHILE-DO, yaitu sebagai berikut:
- Kerjakan statement (REPEAT)
- Kemudian cek kondisi. Jika kondisi belum terpenuhi maka kerjakan statement di atas hingga kondisi terpenuhi (UNTIL)
Jadi statement akan terus di REPEAT (diulang-dikerjakan) UNTIL (hingga) kondisi terpenuhi, dan perulangan berakhir.
- Kerjakan statement (REPEAT)
- Kemudian cek kondisi. Jika kondisi belum terpenuhi maka kerjakan statement di atas hingga kondisi terpenuhi (UNTIL)
Jadi statement akan terus di REPEAT (diulang-dikerjakan) UNTIL (hingga) kondisi terpenuhi, dan perulangan berakhir.
Contoh programnya :
1.
Mengurutkan sebuah program
sederhana menggunakan angka
var i,j
: integer;
begin
j:=1;
write ('Masukan Jumlah Pengulangan :');
readln(i);
writeln ('urutan ke-',j);
j:=j+1;
until(j=i);
readln;
end.
Hasilnya
:
Terimakasih
Atas Kunjungan Anda di Blog saya, semoga pengajaran kali ini dapat bermanfaat
bagi kalian yang membutuhkannya :-)
Sumber
:
1.
Algoritma &
Pemrograman Dalam Bahasa Pascal dan C Edisi Revisi : Rinaldi Munir
2.
http://www.pintarcoding.com/2013/05/perulangan-looping-dengan-while-do-dan.html