Monday, 25 May 2015

Algoritma Euclid Menggunakan Delphi

Assalamu’alaikum Wr Wb
Salam Dellab ...!

Kali ini kami akan berbagi ilmu kepada Anda tentang sintak membuat program aplikasi Algoritma Euclid menggunakan Delphi.
Sekedar mengingat kembali bahwa Algoritma Euclid digunakan untuk mencari FPB saja, namun Anda bisa kembangkan sintaknya untuk menentukan KPK juga. Karena secara matematik KPK adalah hasil kali dari dua bilangan bulat positif kemudian dibagi dengan FPB-nya. Jadi, kalau FPB bisa ditemukan maka secara otomatis KPK juga bisa ditentukan. Adapun model Algoritma Euclid sebagai berikut:

Misalkan diketahui a, b anggota bilangan bulat positif dan a < b.
b = h1 x a + s1                      Keterangan:
a = h2 x s1 + s2                                h = hasil bagi
s1 = h3 x s2 + s3                              s = sisa
s2 = h4 x s3 + s4
s3 = h5 x s4 + 0

Iterasi ini akan terus berlanjut sampai s = 0. Jika s (sisa) = 0, maka s4 adalah FPB-nya. Perhatikan Gambar berikut.


Pada tombol Hitung, ketikkan sintak berikut ini:

procedure TForm1.Button1Click(Sender: TObject);
//Definisikan Variabel
Var a,b,r:integer; f,h,s,t:real;
begin
listbox1.Clear;
listbox1.Items.Add('--- Algoritma Euclid ---');
//Input Bilangan
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
t:=a;s:=b;
//Jika a <> 0, maka iterasi tetap berjalan
while a<>0 do
begin
r:=b mod a; // Cari Sisa
h:=(b-r)/a; // Cari Hasil Bagi
listbox1.Items.Add(''+inttostr(b)+' = '+floattostr(h)+' x '+inttostr(a)+' + '+inttostr(r));
b:=a;
a:=r;
f:=t*s/b;
end;
listbox1.Items.Add('FPB --> ('+floattostr(s)+' , '+floattostr(t)+') adalah '+inttostr(b));
listbox1.Items.Add('KPK --> ['+floattostr(s)+' , '+floattostr(t)+'] adalah '+floattostr(f));
end;

Kemudian ada satu lagi pengaturan yang harus Anda lakukan yaitu setting edit (tempat input) agar nilai negatif (<0) tidak terbaca. Caranya adalah klik (kunci) edit1 kemudian pilih Event di Object Properties, double klik pada OnKeyPress dan ketikkan sintak ini:

//Setting Input harus > 0
if (Key > #47) and (Key < #58) or (Key = #13) or (Key = #8) then
else
Key := #0;
Begin
//Tekan Enter kursor ke edit2
if key=#13 then
begin
edit2.SetFocus;
end;
end;

Begitu juga pada edit2, ketikkan sintaksis berikut:

//Setting Input harus > 0
if (Key > #47) and (Key < #58) or (Key = #13) or (Key = #8) then
else
Key := #0;
Begin
//Tekan Enter kursor ke tombol Hitung
if key=#13 then
begin
Button1.SetFocus;
end;
end;

OK saudaraku, mungkin ini saja yang bisa kami bagikan dulu semoga bermanfaat, amin. Silahkan download programnya disini.
Sampai jumpa lagi. Salam Dellab...!

Wassalamu’alaikum Wr Wb.

 Penulis: Syaharuddin

No comments:
Write komentar

Syaharuddin. Theme images by MichaelJay. Powered by Blogger.

KOMENTAR ANDA