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