Dalam menyelesaikan masalah, terkadang kita harus melakukan suatu proses yang sama lebih dari satu kali. Untuk itu perlu dibuat suatu algoritma pengulangan. Delphi memberikan tiga alternatif pengulangan, yaitu dengan For, While, atau Repeat. Masing-masing memiliki karakteristik, yang akan dipelajari pada bagian ini. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan, yaitu:
• Inisialisasi awal.
• Nilai akhir pengulangan atau kondisi berhenti.
1. For . . . to . . . do
Pada pengulangan dengan For, inisialisasi awal dan kondisi akhir ditentukan dengan menggunakan suatu variable kendali yang nilainya dibatasi dalam suatu range tertentu. Sintaks untuk perintah ini adalah :
For := to do
Begin
… {aksi}
End ;
Atau :
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.
For := downto do
Begin
… {aksi}
End ;
Isikan perintah-perintah berikut pada komponen yang disebutkan dibawah ini sesuai dengan penanganan kejadiannya / event-nya.
Program Lengkapnya adalah :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
MHasil: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n : char;
begin
MHasil.Clear;
for n := 'A' to 'J' do
MHasil.Lines.Append(n);
end;
procedure TForm1.Button2Click(Sender: TObject);
var n : char;
begin
Mhasil.Clear;
for n := 'J' downto 'A' do
MHasil.Lines.Append(n);
end;
end.
Tampak pada program, saat anda mengklik salah satu tombol ada perintah Mhasil.Clear, perintah ini adalah untuk membersihlan komponen Tmemo/MHasil tersebut. Perintah Mhasil.Lines.Append() adalah untuk menambahkan baris pada komponen Mhasil.
2. While . . . do
Pada metoda pengulangan ini aksi hanya akan diproses bila kondisi pengulangan terpenuhi, bentuk sintaks dari pengulangan ini adalah :
Selama kondisi_pengulangan bernilai true maka aksi akan dilakukan, dan baru akan berhenti setelah kondisi pengulangan bernilai false. Karena kondisi pengulangan diperiksa pada bagian awal, maka ada kemungkinan aksi tidak pernah dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true.
While do
Begin
… {aksi}
End
3. Repeat . . . until
Metoda pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan kondisi pengulangan. Hanya saja alur dari pengulangan ini adalah sistem seakan-akan memaksa untuk melakukan pengulangan, sampai di ketahui adanya kondisi berhenti. Bentuk sintaks dari pengulangan ini adalah :
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi_pengulangan bernilai true, pada pengulangan Repeat, sistem akan memproses aksi selama kondisi_berhenti bernilai false. Dengan demikian aksi pasti akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi terus-menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah bernilai true.
Repeat
… {aksi}
Until
Isikan perintah-perintah berikut pada komponen yang disebutkan dibawah ini sesuai dengan penanganan kejadiannya / event-nya.
Contoh program diatas adalah untuk melakukan perulangan dengan menggunakan while . . . do dan repeat . . . until. Pada script diatas tampak sebelum dilakukan perulangan komponen Mhasil ditambah satu baris untuk menampilkan keterangan (Mhasil.Lines.Append(‘Menggunakan While’)) hal ini mengakibatkan keterangan tersebut tidak ikut dilakukan perulangan. Berikut program lengkapnya :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
MHasil: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a : integer;
begin
a := 1;
MHasil.Clear;
MHasil.Lines.Append('Menggunakan While');
while a < a =" 1">
• Inisialisasi awal.
• Nilai akhir pengulangan atau kondisi berhenti.
1. For . . . to . . . do
Pada pengulangan dengan For, inisialisasi awal dan kondisi akhir ditentukan dengan menggunakan suatu variable kendali yang nilainya dibatasi dalam suatu range tertentu. Sintaks untuk perintah ini adalah :
For
Begin
… {aksi}
End ;
Atau :
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.
For
Begin
… {aksi}
End ;
Isikan perintah-perintah berikut pada komponen yang disebutkan dibawah ini sesuai dengan penanganan kejadiannya / event-nya.
Program Lengkapnya adalah :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
MHasil: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n : char;
begin
MHasil.Clear;
for n := 'A' to 'J' do
MHasil.Lines.Append(n);
end;
procedure TForm1.Button2Click(Sender: TObject);
var n : char;
begin
Mhasil.Clear;
for n := 'J' downto 'A' do
MHasil.Lines.Append(n);
end;
end.
Tampak pada program, saat anda mengklik salah satu tombol ada perintah Mhasil.Clear, perintah ini adalah untuk membersihlan komponen Tmemo/MHasil tersebut. Perintah Mhasil.Lines.Append() adalah untuk menambahkan baris pada komponen Mhasil.
2. While . . . do
Pada metoda pengulangan ini aksi hanya akan diproses bila kondisi pengulangan terpenuhi, bentuk sintaks dari pengulangan ini adalah :
Selama kondisi_pengulangan bernilai true maka aksi akan dilakukan, dan baru akan berhenti setelah kondisi pengulangan bernilai false. Karena kondisi pengulangan diperiksa pada bagian awal, maka ada kemungkinan aksi tidak pernah dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true.
While
Begin
… {aksi}
End
3. Repeat . . . until
Metoda pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan kondisi pengulangan. Hanya saja alur dari pengulangan ini adalah sistem seakan-akan memaksa untuk melakukan pengulangan, sampai di ketahui adanya kondisi berhenti. Bentuk sintaks dari pengulangan ini adalah :
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi_pengulangan bernilai true, pada pengulangan Repeat, sistem akan memproses aksi selama kondisi_berhenti bernilai false. Dengan demikian aksi pasti akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi terus-menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah bernilai true.
Repeat
… {aksi}
Until
Isikan perintah-perintah berikut pada komponen yang disebutkan dibawah ini sesuai dengan penanganan kejadiannya / event-nya.
Contoh program diatas adalah untuk melakukan perulangan dengan menggunakan while . . . do dan repeat . . . until. Pada script diatas tampak sebelum dilakukan perulangan komponen Mhasil ditambah satu baris untuk menampilkan keterangan (Mhasil.Lines.Append(‘Menggunakan While’)) hal ini mengakibatkan keterangan tersebut tidak ikut dilakukan perulangan. Berikut program lengkapnya :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
MHasil: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a : integer;
begin
a := 1;
MHasil.Clear;
MHasil.Lines.Append('Menggunakan While');
while a < a =" 1">
sip lah
BalasHapusmas butuh pencerahan dunk saya masih newbie neh..mau nanya klo ngasih perulangan pada mediaplayer yang isinya lagu trus lagu itu diulang sampe misal 3 kali trus pada formshow/formcreatenya koding program pa y???
BalasHapussoalnya saya dah nyoba beberapa kali tapi g jln2 perulangannya contoh saya make repeat-until
var
a:integer;
begin
a:= 3;
mediaplayer1.Play;
repeat
mediaplayer1.Play;
until a = 1;
end;
blok program diatas saya masukkin pada saat formshow....tp g jln perulangannya....ok gitu ja mas repp y thx.....
mas ada gag perulangan repeat until yg kondisinya tidak dapat menggunakan while do
BalasHapusdan ada gag perulangan while do yg gag bisa menggunakan repeat until
kaloo ada ksihh dong listingnyaa