Label

Case..Of (1) Delphi (3) ELSE (1) Event (1) form (1) form..to (1) Linux (1) Object (1) Percabangan IF (1) program (2) Repeat..until (1) THEN (1) while..do (1) windows (1)

Sabtu, 12 Desember 2009

3. LOGIKA PERULANGAN

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">

3 komentar:

  1. mas 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???

    soalnya 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.....

    BalasHapus
  2. mas ada gag perulangan repeat until yg kondisinya tidak dapat menggunakan while do
    dan ada gag perulangan while do yg gag bisa menggunakan repeat until

    kaloo ada ksihh dong listingnyaa

    BalasHapus