Mengenal Mekanisme Looping Pada Borland Delphi

Dalam bahasa pemrograman apapun pasti dikenal suatu mekanisme looping atau perulangan. Looping disini sangat berguna sekali untuk mengontrol jalannya program, terutama jika ada aktivitas yang berulang-ulang dan bahkan ada suatu kondisi tertentu di dalam looping tersebut. Nah, kali ini kita akan bahas mengenai mekanisme looping apa saja yang terdapat dalam Borland Delphi.

Dalam penulisan program Delphi ada kalanya tidak membutuhkan program yang terlalu panjang ketika hanya terdiri dari pengulangan dari program yang sebelumnya. Proses pengulangan suatu proses dalam batas tertentu tersebut dapat ditulis secara singkat dengan menggunakan looping. Jenis-jenis dari looping dapat dibagi sebagai berikut:

1. for…to..do dan for…downto…do
2. repeat…until
3. while…do

Untuk lebih jelasnya akan dibahas masing – masing dari proses looping tersebut beserta contoh sederhana yang akan memudahkan dalam pengaplikasiannya.

1. for…to…do dan for…down…to
Perulangan for dibagi lagi menjadi 2 jenis yaitu:

a. for…to…do
b. for…downto…do

Keduanya mempunyai fungsi yang sama dengan sintaks program seperti berikut ini.

for variable := nilai_awal to nilai_akhir do pernyataan

for variable := nilai_awal downto nilai_akhir do pernyataan

Looping for bisa digunakan untuk beberapa jenis proses pengulangan yaitu jenis pengulangan integer, pengulangan character dan pengulangan enumeration.

Contoh program:

— Pengulangan pada jenis variabel integer

var
i : integer;
begin
for i:= 1 to 5 do
showmessage (‘nilai i =’ + inttostr(i));
end;

ketika di-run:

nilai i = 1
nilai i = 2
nilai i = 3
nilai i = 4
nilai i = 5

— Pengulangan pada jenis variable character

var
i : char;
begin
for i:= ‘a’ to ‘e’ do
showmessage(‘nilai i =’ + i);
end;

ketika di-run:

nilai i = a
nilai i = b
nilai i = c
nilai i = d
nilai i = e

— Pengulangan pada jenis variable enumeration

var
kota: (surabaya,jakarta,bandung,jogja,sidoarjo);
begin
for kota:= bandung to sidoarjo do
showmessage(‘kota i =’ + inttostr(ord(kota)));
end;

ketika di-run:

kota i = 2
kota i = 3
kota i = 4

Pada enumeration akan diberikan nomor urut (ordinal type) pada masing – masing isi dari kota saat pendeklarasiannya pada bagian var. Nomor urut dimulai dari 0 sampai 4. Nomor urut surabaya adalah 0,nomor urut dari jakarta adalah 1 dan seterusnya. Karena looping dimulai dari bandung yang bernomor urut 2 maka ketika dirun yang pertama kali muncul adalah kota i = 2.

Untuk jenis looping for… downto…do hampir sama hanya saja pengulangan dilakukan secara hitungan turun.

Contoh program:

var
i : char;
begin
for i:= ‘f’ downto ‘c’ do
showmessage(‘nilai i =’ + i);
end;

ketika di-run:

nilai i = f
nilai i = e
nilai i = d
nilai i = c

2. repeat…until
Jenis looping ini digunakan untuk looping dengan sampai dengan batas yang ditentukan setelah pernyataan until. Sintaks dari jenis looping ini dapat dilihat seperti dibawah ini:

repeat pernyataan until syarat

Contoh program:

var
i,a : integer;
begin
i:=1;
repeat
a:=i*5;
showmessage(‘nilai ‘+ inttostr(i)+’ * 5 = ‘+inttostr(a));
inc(i); // inc(i)===> i=i+1
until i > 5;
end;

ketika di-run:

nilai 1 * 5 =5
nilai 2 * 5 =10
nilai 3 * 5 =15
nilai 4 * 5 =20
nilai 5 * 5 =25

Pada jenis looping repeat, nilai i diberi nilai awal dahulu sebelum masuk ke looping. Untuk menaikkan nilai i diperlukan pernyataan tambahan inc(i) atau i = i + 1, tidak seperti dalam looping jenis for yang tidak membutuhkan pernyataan untuk menaikkan nilai i.

3. while…do
Jenis looping ini hampir sama dengan jenis looping repeat…until. Beda dari kedua jenis looping ini adalah jika pada looping repeat…until dilakukan proses dahulu baru dilihat syarat mengakhiri looping masih memenuhi atau tidak. Jika memenuhi maka proses looping akan berhenti tapi kalau tidak maka looping akan terus berjalan sedangkan pada jenis looping while…do syarat melakukan looping diajukan terlebih dahulu jika memenuhi maka proses akan dilakukan tapi jika tidak maka looping tidak dilakukan.

Sintaks dari jenis looping ini adalah sebagai berikut:

while syarat do pernyataan

Contoh program:

var
i,a : integer;
begin
i:=1;
while i<6 do
begin
a:=i*i;
showmessage(‘nilai kuadrat dari ‘+ inttostr(i)+’ adalah ‘ + inttostr(a));
inc(i); // inc(i)===> i=i+1
end;
end;

ketika di-run:

nilai kuadrat dari 1 adalah 1
nilai kuadrat dari 2 adalah 4
nilai kuadrat dari 3 adalah 9
nilai kuadrat dari 4 adalah 16
nilai kuadrat dari 5 adalah 25

Menghentikan proses looping

Ketika proses looping masih dilakukan kadang kala kita perlu untuk keluar dari looping berdasarkan suatu kondisi tertentu, untuk itu ada 3 cara untuk menghentikan proses looping tersebut yaitu dengan menggunakan:

1. goto
Biasanya penghentian looping dengan menggunakan sintak ini jarang digunakan. Penghentian looping dilakukan dengan pernyataan if. Jika syarat if terpenuhi maka looping berhenti dengan melompat ke label yang dibuat secara terpisah dengan program proses looping.

Contoh program:

var
i,a : integer;

label
berhenti;

begin
i:=1;
for i:=1 to 17 do
begin
a:=i*i;
showmessage (‘nilai kuadrat dari ‘+ inttostr(i)+’ adalah ‘ + inttostr(a));
if a>15 then goto berhenti;
end;

berhenti:
showmessage(‘loop berhenti saat i = ‘+inttostr(i)+’ dan kuadratnya adalah ‘+inttostr(a));
end;

ketika di-run:

nilai kuadrat dari 1 adalah 1
nilai kuadrat dari 2 adalah 4
nilai kuadrat dari 3 adalah 9
nilai kuadrat dari 4 adalah 16
loop berhenti saat i = 4 dan kuadratnya adalah 16

Pada proses tersebut looping tidak dilakukan sampai i ke-17 seperti perintah looping for…to…do, tetapi hanya hingga nilai a lebih dari 15 untuk pertama kalinya. Looping berhenti dan program melompat pada pernyataan dalam label.

2. continue
Penghentian loop ini digunakan dengan menggunakan pernyataan if . Jika pernyataan if dipenuhi maka looping tidak akan mengambil nilai tersebut tetapi meneruskan loop berikutnya.

Contoh program:

var
i : integer;
a : string;
begin
for i:=5 to 10 do
begin
if (i=6) or (i=9) then continue;
a:=a+’ ‘ +inttostr(i);
showmessage(‘a =’ + a);
end;
end;

ketika di-run:

a = 5
a = 5 7
a = 5 7 8
a = 5 7 8 10

Pada saat i = 6 maka looping tidak dilakukan, looping dilakukan kembali untuk nilai i = 7. Begitu pula pada saat i = 9.

3. break
Pernyataan ini digunakan untuk keluar dari proses looping, tanpa masuk ke pernyataan lain seperti pada goto dan juga tanpa meneruskan looping dengan menggunakan nilai selanjutnya seperti pada continue.

Contoh program:

var
i : integer;
begin
for i:=1 to 12 do
begin
if i=6 then
break;
showmessage(‘nilai i =’ + inttostr(i));
end;
end;

ketika di-run:

nilai i = 1
nilai i = 2
nilai i = 3
nilai i = 4
nilai i = 5

Looping dilakukan hanya sampai nilai i = 5. Ketika nilai i = 6 perintah break menghentikan looping.

3 thoughts on “Mengenal Mekanisme Looping Pada Borland Delphi

  1. hackinds 29 Januari 2008 pukul 8:32 am

    ok..
    gw cobain ya..

  2. eksa 23 Agustus 2008 pukul 8:53 pm

    siipp..lama nih aku ga nge-blog lagi

  3. Arie 12 November 2009 pukul 7:52 am

    salam kenal mas, saya baru belajar delphi. bagaimana kalau perulanggannya dilakukan untuk mengakses data yang ada pada memo (isinya beberapa baris) dengan mengulang query tetapi hasilnya hanya baris pertama saja tidak semuanya.
    dan kenapa pula setelah menggunakan perintah group by tidak bisa jalan ya di delphi, padahal di databasenya jalan.
    berikut potongan source-nya:
    q.Close;
    q.SQL.Clear;
    q.SQL.Add(‘SELECT NPM,NAMA,sum(nilai) FROM nilai WHERE NPM in (:ID) group by npm,nama’);
    for i:=0 to q.Parameters.Count-1 do
    begin
    q.Parameters.Items[i].Value:=memo1.Lines.Strings[i];
    // Q.Parameters.ParamByName(‘id’).Value:=memo1.Lines.Strings[i];
    end;
    q.Open

    Terima kasih atas masukkannya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: