KPK Dua Buah Bilangan

Kelipatan Persekutuan Terkecil (KPK) dari dua buah bilangan atau lebih dapat diselesaikan dengan cara:

– menentukan faktorisasi prima dari masing-masing bilangan
– Ambil faktor yang sama dan yang terbesar (mis A)
– Ambil faktor yang berbeda sama sekali (mis B)
– kalikan faktor-faktor A dan B

sebagai contoh, tentukan KPK dari 8 dan 12
8
2 X 4
2 X 2 X 2 = 2^3

12
2 X 6
2 X 2 X 3 = 2^2 X 3

Faktor yang sama dan terbesar 2^3
Faktor yang tidak sama 3

2^3 X 3
8 X 3 = 24

Sehingga KPK dari 8 dan 12 adalah 24

Misalkan lagi KPK bilangan 7 dan 12 adalah
7
1 X 7

12
2 X 6
2 X 2 X 3 = 2^2X3

Faktor yang sama tidak ada
Faktor yang tidak sama 7 X 2^2 X 3 = 7 X 4 X 3 = 28 X 3 = 84.

Sehingga KPK dari 7 dan 12 adalah 84

Algoritma
1. Mulai
2. Tentukan Bilangan A dan B
3. Ulangi dari 1 Ke 2
Uji Apakah A Bilangan Prima
Jika Ya, Faktornya adalah bilangan itu sendiri dikali 1
Jika Tidak
Kalikan 2 s.d N suatu bilangan hingga sama dengan A dan simpan di C
Sisa bilangan dikembalikan ke A
4. Ulangi Ke 3
5. Kalikan faktor A dan B
6. Cetak Hasil Kali
7. Selesai

Implementasi

Option Base 1
Private Function Prima(ByVal A As Byte) As Boolean
Dim I, Count As Byte
Count = 0
If A = 2 Then Prima = True
For I = 1 To A
   If (A Mod I = 0) Then
     Count = Count + 1
     If Count > 2 Then
       Exit For
     End If
   End If
Next I
If Count = 2 Then
  Prima = True
Else
  Prima = False
End If
End Function

Private Sub Form_Activate()
 Dim Bil(2), Faktor(15), Frek(15), Sama(15), FrekSama(15), N As Byte
 Bil(1) = 8
 Bil(2) = 6
 N = 0
 Y = 0
 For I = 1 To 2 Step 1
   If Prima(Bil(I)) Then
      N = N + 1
      Faktor(N) = Bil(I)
   Else
     A = Bil(I)
     R = 2
      While A > 2
       S = 2
       Kali = 1
         While S < A
          Hasil = R * S
          If (Hasil = A) Then
            If (Y = 0) And (Bil(1)<>2) Then
              Y = 1
              N = N + 1
              Faktor(N) = R
            End If
            N = N + 1
            Faktor(N) = S
            W = S
            Kali = 0
          End If
          S = S + 1
         Wend
         If Kali = 0 Then
           A = W
         Else
           A = 1
         End If
      Wend
   End If
 Next I
 'Inisialisasi Frekwensi
 For I = 1 To N
   Frek(I) = 1
 Next I

 'Cari bilangan yang sama
 For I = 1 To N - 1
  For K = I + 1 To N
    If Faktor(K)  0 Then
    If Faktor(I) = Faktor(K) Then
      Frek(I) = Frek(I) + 1
      Faktor(K) = 0
    End If
    End If
  Next K
 Next I

'Menyatukan faktor bilangan
A = 0
For I = 1 To N
  IF Faktor(I)  0 Then
     A = A + 1
     Sama(A) = Faktor(I)
     FrekSama(A) = Frek(I)
  End If
Next I

'Mengalikan faktor
Hasil = 1
For I = 1 To A
   Print Sama(I);
   Hasil = Hasil * Sama(I)
Next I

Print 'Cetak Baris Baru
For I = 1 To A
  Print Frek(I);
Next I

Print 'Cetak Baris Baru
Print "KPK : ";
For I = 1 To 2
  Print Bil(I);
Next I
Print "Adalah : "; Hasil

End Sub

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: