MENENTUKAN FPB DENGAN ALGORITMA EUCLID DENGAN PROGRAM VISUAL BASIC

Nama  : Esti Yuliana
NIM   : SIR200938
Dosen : Nahar Mardiyanto, M. Kom
Kuliah : Pemrograman Matematika
STMIK WIDYA UTAMA PURWOKERTO



1.Pengertian FPB :
Kepanjangan : Faktor persekutuan terbesar
Artinya : Merupakan faktor-faktor pembagi yang paling besar dari suatu bilangan.
Apa sih arti faktor pembagi itu : Angka-angka yang dapat membagi suatu bilangan.
misalnya : faktor pembagi dari angka 10 adalah (cari angka yang dapat membagi angka tersebut) 1, 2, 5, 10
Lihat : faktor pembagi angka 10 = 1, 2, 5, 10 (angka 10 dapat dibagi angka 1, angka 10 dapat dibagi angka 2, angka 10 dapat dibagi angka 5, dan angka 10 dapat dibagi oleh angka 10)

2.Contoh soal :
Tentukan FPB dari 12 dan 18
Faktor 12 = 1, 2, 3, 4, 6, 12. (setuju kan angka 12 dapat dibagi oleh angka 1, 2, 3, 4, 6, 12)
Faktor 18 = 1, 2, 3, 6, 9, 18.  (setuju kan angka 18 dapat dibagi oleh angka 1, 2, 3, 6, 9, 18)
Nah, sampai sini kita cari faktor pembagi yang sama dari kedua bilangan tersebut:
yang sama adalah 1, 2, 3, dan 6. (maksudnya faktor pembagi yang kedua bilangan 12 dan 18 sama-sama punya)
Selanjutnya, sesuai definisi awal bahwa FPB adalah Faktor Persekutuan Terbesar maka kita cari yang nilainya paling besar, yaitu : 6
Maka FPB dari 12 dan 18 adalah 6
Contoh lain :
Tentukan FPB dari 24 dan 32
Faktor 24 = 1, 2, 3, 4, 6, 8, 12, 24.
Faktor 32 = 1, 2, 4, 8, 16, 32.
Yang sama = 1, 2, 4, 8.
FPB = 8
Jadi FPB dari 24 dan 32 adalah 8
Contoh lain :
Tentukan FPB dari 9 dan 12
Faktor 9 = 1, 3, 9.
Faktor 12 = 1, 2, 3, 4, 6, 12.
Yang sama = 1, 3.
FPB = 3
Jadi FPB dari 9 dan 12 adalah 3

3.Menentukan FPB dengan program Visual Basic
a.Pengertian Algoritma Euclid
Salah satu cara mencari FPB adalah dengan algoritma Euclid. Tahun 1950, algoritma pertama kali di gunakan pada “Algoritma Euclidean (Euclid’s algorithm)“.
Euclid, matematikawan Yunani (lahir 350 SM), buku Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n.
pembagi bersama terbesar dari dua buah bilangan bulat tak negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.

Misalnya, m = 80 dan n = 12.
Semua faktor pembagi 80 adalah 1, 2, 4, 5, 8, 10, 16, 20, 40, 80
Semua faktor pembagi 12 adalah 1, 2, 3, 4, 6, 12
maka gcd(80,12) = 4
Langkah-langkah mencari gcd(80,12) dengan algoritma euclidean sbb :
1.80 di bagi 12 = 6, sisa 8 ( atau 80 = 6 * 12 + 8 )
2.12 di bagi 8 = 1, sisa 4 (atau 12 = 1 * 8 + 4)
3.8 di bagi 4 = 2, sisa 0 (atau 8 = 4 * 2 + 0)
Pembagian terkahir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu 4, menjadi gcd(80,12). Jadi gcd(80,12) = gcd(12,8) = gcd(8,4) = gcd(4,0) =4.
Proses mencari gcd dari 80 dan 12 juga dapat di ilustrasikan dalam diagram berikut ini :













b. Membuat Flowchart
     Sebelum membuat program kita buat flowchartnya terlebih dahulu


C. Bentuk program

 
Private Sub Command1_Click() (perintah : PROSES)

Dim a, b, c, i, x As Integer (Definisi variable)
a = angka1.Text (persamaan variabel)
b = angka2.Text (persamaan variabel)

If Val(a) > Val(b) Then
x = a
(jika nilai a [dalam hal ini angka yang dimasukkan dalam angka1.text] lebih besar daripada nilai b [dalam hal ini angka yang dimasukkan dalam angka2.text] maka definisikanlah x (yang berfungsi sebagai variabel Bantu) adalah a.
ElseIf Val(b) > Val(a) Then
x = b
(jika nilai b [dalam hal ini angka yang dimasukkan dalam angka2.text] lebih besar daripada nilai a [dalam hal ini angka yang dimasukkan dalam angka1.text] maka definisikanlah x (yang berfungsi sebagai variabel Bantu) adalah b.
End If (penutup fungsi If)

For i = 1 To x
(untuk i [yang berfungsi sebagai variabel bantu] adalah 1 sampai dengan x lakukan perintah If dibawah ini)

If a Mod i = 0 And b Mod i = 0 Then
c = i
End If
(jika sisa hasil bagi a dengan i adalah 0 dan sisa hasil bagi b dengan i adalah 0 maka c [variabel bantu] adalah i)

Next i (lakukanlah perulangan fungsi i)
fpb.Text = c (cetaklah c kedalam fpb.text)

End Sub

Private Sub Command2_Click() (Perintah : “lagi”)
angka1.Text = ""
angka2.Text = ""
fpb.Text = ""
angka1.SetFocus
End Sub
(lihat postingan saya sebelumnya tentang visual basic untuk memahami fungsi ini)

Private Sub Command3_Click() (Perintah : “keluar”)
End
End Sub
(lihat postingan saya sebelumnya tentang visual basic untuk memahami fungsi ini)

Inilah hasil program apabila program mencari himpunan persekutuan (lihat postingan saya tentang mencari himpunan persekutuan) setelah digabung dengan program mencari fpb).




Private Sub Command1_Click() (Proses : Cari himpunan persekutuan)
vbil = Val(angka1.Text)
vbil1 = Val(angka2.Text)
For i = 1 To vbil
If vbil Mod i = 0 Then
hasil1.Text = hasil1.Text + Str(i)
End If
Next i

For n = 1 To vbil1
If vbil1 Mod n = 0 Then
hasil2.Text = hasil2.Text + Str(n)
End If
Next n

End Sub

Private Sub Command3_Click() (Proses : Cari FPB)
Dim a, b, c, i, x As Integer
a = angka1.Text
b = angka2.Text

If Val(a) > Val(b) Then
x = a
ElseIf Val(b) > Val(a) Then
x = b
End If

For i = 1 To x

If a Mod i = 0 And b Mod i = 0 Then
c = i
End If
Next i
fpb.Text = c

End Sub

Private Sub Command4_Click() (Proses : “lagi” untuk cari FPB)
angka1.Text = ""
angka2.Text = ""
hasil1.Text = ""
hasil2.Text = ""
fpb.Text = ""
angka1.SetFocus
End Sub

Private Sub Command5_Click() (Proses : “keluar”)
End
End Sub

Private Sub Command6_Click() (Proses : “Lagi” untuk proses cari himpunan persekutuan)
angka1.Text = ""
angka2.Text = ""
hasil1.Text = ""
hasil2.Text = ""
angka1.SetFocus

End Sub

Apabila anda kurang memahami program ini anda dapat membuka postingan saya sebelumnya tentang cara mencari himpunan persekutuan. Saran yang membangun selalu saya terima dengan senang hati demi kemajuan bersama. Semoga bermanfaat. Sampai jumpa pada postingan saya berikutnya ^_^. Brr… cuaca disini dingin sekali membuat saya ngantuk saja (_ _; )Zzzzz…ooOO







---------------------------------------------------------------------------------------------------------------------------------------------------------
Ranking: 5
 
© Bosan Kuliah All Rights Reserved