Sunday - July 20, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 7 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Informasi yang Berlebihan (2060)

»

Menampilkan Statistik Web awstats Anda Kepada Publik (1940)

»

Memajukan Perusahaan dengan Knowledge (2344)

»

8 Tips Keamanan Jaringan Nirkabel di Rumah Anda (5237)

»

Instalasi QReport pada Delphi 7 (3811)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mengenal Mekanisme Looping Pada Borland Delphi

Author: Ratih Kusumawati
Published: June 07, 2004
Visits: 4489 - Category: 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.

Demikanlah sedikit penjelasan mengenai mekanisme looping yang tersedia pada Borland Delphi, semoga bisa bermanfaat bagi kita semua. Jika ada saran atau komentar bisa dikirimkan ke bluesnow_ratih@yahoo.com. Untuk membaca tulisan menarik lainnya silakan ke www.sony-ak.com.

Terimakasih.




 Recommended articles
 

»

Memasang Kabel Jaringan: Kabel UTP (27102)

»

Tips Merawat Laptop Anda (5633)

»

Mengenal Memory pada Komputer (8290)

»

Menampilkan Alamat IP (IP Address) dan HostName dengan Menggunakan Delphi (4295)

»

Mengenal Firewall Pada Linux (5936)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com