Minggu, 05 Februari 2012

PEMROGRAMAN DELPHI : STRUKTUR PERULANGAN


Dalam menyelesaikan masalah, terkadang kita harus melaku suatu proses yang sama lebih dari satu kali. Untuk itu perlu dibuat suatu algoritma pengulangan. Pascal memberikan tiga alternative pengulangan, yaitu dengan For, While, atau Repeat. Masing-masing memiliki karakteristik, yang akan dipelajari pada modul ini. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan, yaitu:
*      Inisialisasi awal.
*      Nilai akhir pengulangan atau kondisi berhenti.

*    Perulangan For...To...Do
Pengulangan For .. Do merupakan perintah pengulangan yang paling sederhana diantara perintah pengulangan lain yang disediakan oleh Delphi. Pengulangan For .. Do digunakan untuk melaksanakan pengulangan satu pernyataan atau satu blok program beberapa kali yang ditentukan oleh nilai awal dan nilai akhir. Dengan kata lain, jumlah pengulangan yang akan dikerjakan sudah diketahui.
Pada pengulangan dengan For, inisialisasi awal dan kondisi akhir ditentukan dengan menggunakan suatu variable kendali (pencacah) yang nilainya dibatasi dalam suatu range tertentu.
Syntax :
for <pencacah> := <awal> to <akhir> do
<pernyataan>;
Atau :
for <pencacah> := <awal> downto <akhir> do
<pernyataan>;
<pencacah> adalah variabel bertipe ordinal, yaitu variabel yang mempunyai nilai pasti jika dikurangi atau ditambah satu satuan, misalnya byte, integer, dan lain-lain. Nilai <pencacah> tidak boleh diubah dalam <pernyataan>.
Perbedaan antara to dan downto adalah pada kondisi nilai awal dan akhir. Pada to: nilai awal lebih kecil dari nilai akhir, sedangkan pada downto nilai awal lebih besar dari nilai akhir. Perlu diingat, bahwa variable kendali harus dideklarasikan dengan tipe data integer.
Contoh 1 :
for x := 1 to 10 do
ListBox1.items.add(inttostr(x));
Program ini akan menghasilkan bilangan terurut mulai dari 1 sampai 10.
Contoh 2 :
for x := 10 downto 1 do
ListBox1.items.add(inttostr(x));
Program ini akan menghasilkan bilangan terurut mulai dari 10 sampai 1.
Contoh 3 :
for i := 1 to 20 do
Jumlah := Jumlah + 1;
J := 20;
for i := 1 to j do
begin
Jumlah := Jumlah + 1;
j := j + 1;
end;
Contoh 4:
var
a:integer;
begin
listbox1.Items.Clear;
for a:=-1000 to 1000 do
begin
listbox1.Items.Add(inttostr(a));
end;


Text Box: Sama seperti pernyataan if, jika Anda hanya menuliskan satu pernyataan untuk diulang, Anda tidak perlu menambahkan begin dan end. Tetapi jika Anda menuliskan beberapa pernyataan, Anda harus menambahkan begin dan end.
 

*    Perulangan While ... Do
Pernyataan pengulangan ini biasanya digunakan bila Anda belum tahu pasti berapa banyak Anda akan mengulang pernyataan-pernyataan. 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.
Pernyataan pengulangan While .. Do bertugas mengulang satu pernyataan atau suatu blok pernyataan atau selama (while) suatu kondisi (syarat) bernilai True.
Syntax :
while <kondisi> do
<pernyataan>;
begin
<pernyataan_1>;
<pernyataan_2>;
.
.
<pernyataan_n>;
end;

Prosedur alur pengulangan diatas diatas adalah sebagai berikut :
1.    Program akan menguji nilai <kondisi>.
2.    Jika <kondisi> bernilai False maka <pernyataan> tidak dilaksanakan dan program akan menghentikan pengulangan, kemudian menjalankan baris berikutnya.
3.    Jika <kondisi> bernilai True, maka pernyataan akan dilaksanakan satu kali.
4.    Kembali ke prosedur no. 1.
5.    Program menghentikan pengulangan dan menjalankan baris berikutnya. Pada dasarnya pengulangan akan berhenti kalau <kondisi> bernilai False. <pernyataan> bisa berupa satu pernyataan atau blok pernyataan yang diawali dengan begin dan diakhiri dengan end. Penulisan pernyataan harus diakhiri dengan titik koma sebagai tanda akhir dari pernyataan While.
Contoh 1:
x:=0;
while (x < 10) do
begin
x:=x+1;
listbox1.items.add(Inttostr(x));
end;
Program ini akan menghasilkan bilangan terurut mulai dari 1 sampai 10.
Contoh 2:
while Jumlah >= 20 do
Jumlah := Jumlah + 1;
while a >= b do
begin
a := a + 1;
b := b * a;
end;


*    Perulangan Repeat ... Until
Pengulangan ini hampir sama dengan pengulangan While .. Do dan biasanya digunakan jika jumlah pengulangan belum dapat ditentukan pada saat program ditulis.
Perbendaannya, pernyataan Repeat .. Until dan While .. Do terletak pada letak pengecekan kondisi. Jika pada pernyataan While .. Do kondisi dicek pada awal blok pernyataan yang harus diulang, sedangkan pada pernyataan Repeat .. Until, kondisi dicek pada akhir blok pernyataan yang harus diulang.
Syntax :
repeat
<pernyataan_1>;
<pernyataan_2>;
...
<pernyataan_n>;
until <kondisi>
Perbedaan lainnya adalah pernyataan While .. Do mengulang pernyataan selama kondisi masih terpenuhi, tetapi pernyataan Repeat .. Until hanya akan mengulang pernyataan selama kondisi belum terpenuhi. Perbedaan lain yang dapat ditemukan untuk pernyataan Repeat .. Until adalah :
1.    Dapat melaksanakan pengulangan lebih dari satu pernyatan baik berupa kumpulan pernyataan tunggal atau kumpulan blok pernyataan. Jadi bagian yang diulang adalah segala sesuatu yang berda di antara pernyataan Repeat .. Until.
2.    Menjalankan perintah yang berada diantara pernyataan Repeat .. Until karena pengujian terletak di bagian bawah pernyataan, minimal satu kali.
Contoh 1:
repeat
k := i mod j;
i := j;
j := k;
until j = 0;
Contoh 2:
x:=0;
repeat
x:=x+1;
listbox1.items.add(Inttostr(x));
until x = 10;

Reaksi:

0 komentar:

Poskan Komentar

Catatan Kuliah

Syaharuddin Al Musthafa