Faktor dari suatu bilangan adalah bilangan yang habis membagi suatu
bilangan. Yang disebut habis membagi adalah pembagian tanpa menghasilkan sisa
atau bilangan pecahan
Faktor persekutuan dari dua bilangan atau lebih adalah faktor dari
bilangan-bilangan tersebut yang sama.
Faktor persekutuan besar ada faktor-faktor dari suatu bilangan yang
sama dan paling besar
Buatlah form sebagai berikut sebagai langkah awal membuat aplikasi FPB
Keterangan:
- Bil1, Bil2 adalah editbox untuk menampung nilai-nilai yang akan dicari FPB-nya
- Faktor adalah nilai faktor perkalian dari bilangan yang bersangkutan
- Tombol kerjakan adalah tombol untuk memerintahkan software untuk mencari FPB dan hasilnya akan diletakkan di editbox yang disamping kirinya bertuliskan FPB
Faktor dari suatu bilangan dapat dicari dengan membagi bilangan tersebut dengan bilangan-bilangan dari satu sampai pada bilangan tersebut:
function Faktor(Bil: integer): TStringList;
var
i : integer;
begin
result := TStringList.Create;
for i:= 1 to bil do
if (bil mod i) = 0 then
result.Add(IntToStr(i));
end;
Bil adalah variabel untuk menerima bilangan yang akan diketahui faktornya. Fungsi faktor diatas akan mengembalikan kepada program pemanggil sebagai TStringList. Fungsi mod dipergunakan untuk mengetahui apakah pembagian tersebut mempunyai sisa, jika tidak maka bilangan pembagi tersebut adalah faktornya.
Untuk mengetahui FPB dari dua bilangan yang ditanyakan, kita mencari faktor-faktor yang sama terlebih dahulu. Setelah itu kita mencari faktor terbesar dari keduanya. Andai bilangan 1 dan bilangan 2 ditulis pada edit3.text dan edit4.text sedangkan FPB adalah TStringlist untuk menyimpan faktor-faktor yang sama, maka kode programnya dapat berbentuk seperti dibawah ini:
bil1 := StrToInt(trim(edit1.Text));
t1 := Faktor(bil1);
FPB := TStringList.Create;
t1 := Faktor(bil1);
FPB := TStringList.Create;
if t1.Count > 0 then
begin
edit3.Clear;
for i:= 0 to (t1.Count - 1) do
begin
edit3.Text := edit3.Text + t1[i];
if i < (t1.Count - 1) then
edit3.Text := edit3.Text + ',
';
end
end
else
edit3.Text := '0';
Karena
FPB adalah faktor terbesar, sedangkan nilai di TstringList sudah urut dari
kecil ke besar, maka nilai FPB-nya adalah nilai pada TstringList FPB pada
indeks terakhir:
if (t1.Count > 0) and (t2.Count > 0) then
if (t1.Count > 0) and (t2.Count > 0) then
begin
i
:= 0; j:= 0;
while
(i < t1.Count) and (j < t2.Count) do
begin
if t1[i] < t2[j] then
inc(i)
else
if t1[i] > t2[j] then
inc(j)
else
if t1[i] = t2[j] then
begin
FPB.Add(t1[i]);
inc(i);
inc(j);
end;
end;
//tulis di TEdit
if FPB.Count > 0 then
edit5.Text := FPB[FPB.Count-1];
end;
Kode program selengkapnya:
Kode program selengkapnya:
Unduh Kode Program (Delphi 2009)
0 comments:
Posting Komentar