Archive for Mei 2014
1. Algoritma Euclid
b : r1 = q2 + r2 –> b = q2(r1) + r2
r1 : r2 = q3 + r3 –> r1 = q3(r2) + r3
Demikian seterusnya hingga didapatkan sisa pembagian 0 dan FPB nya adalah sisa pembagian sebelumnya.
Screen Shot Programnya:
Algoritma Euclid merupakan suatu algoritma yang digunakan untuk mencari FPB
dari dua bilangan. Salah satu kelebihan dari cara ini adalah tidak perlu
mencari faktor prima dari kedua bilangan tersebut, hal ini tentu akan sangat
membantu terutama saat mencari FPB dari bilangan-bilangan yang sangat besar. :-D
So, Let’s take a look! :-)
Secara
ringkas, caranya adalah dengan membagi bilangan yang lebih besar (misalkan a)
dengan bilangan yang lebih kecil (b), pembagian tersebut akan menghasilkan
hasil bagi q1 dan sisa r1. Jika r = 0, maka FPB nya
adalah b. Tetapi bila r tidak sama dengan 0, maka prosesnya diulang lagi dengan
membagi b dengan r1. Pembagian tersebut akan menghasilkan hasil bagi
q2 dan sisa r2. Jika r2 = 0, maka FPB nya
adalah r1 (sisa pembagian sebelumnya), jika r2 bukan 0,
maka lakukan pembagian r1 dengan r2.
a : b = q1 + r1
–> a = q1(b)
+ r1b : r1 = q2 + r2 –> b = q2(r1) + r2
r1 : r2 = q3 + r3 –> r1 = q3(r2) + r3
Demikian seterusnya hingga didapatkan sisa pembagian 0 dan FPB nya adalah sisa pembagian sebelumnya.
Screen Shot Programnya:
2. Aritmatika Modular
Aritmatika modular merupakan operasi
matematika yang banyak diimplementasikan pada metode kriptografi. Aritmatika
modulo mengambil bilangan tak berhingga
dan menggulungnya dalam suatu lingkaran terbatas. Semua bilangan yang melintasi
point yang sama pada titik lingkaran adalah kongruen. Contoh:
27 = 3 (mod 12), dengan kata lain
:
27 adalah kongruen dengan 3 dalam
mod 12.
Satu keistimewaan aritmatika modulo yaitu dapat
mengganti bentuk operasi penambahan dan perkalian dengan nilai kongruen, dan
masih dapat diperoleh nilai yang benar.
9835 = 7 (mod 12), dan 1176 = 0
(mod 12) maka
9835 * 1176 = 7
* 0 = 0 (mod 12)
Secara mendasar, a ≡ b (mod n)
jika a = b + kn untuk beberapa bilangan integer
k. Jika a merupakan non-negatif dan b di antara 0 sampai n, dimana b merupakan
sisa hasil bagi dari a ketika dibagi dengan n. Dengan kata lain, b adalah hasil
dari a modulo n. Kadang-kadang a juga disebut kongruen dengan b modulo n.
Operasi a mod n menghasilkan sisa
bagi dari a, dimana sisa bagi merupakan beberapa bilangan integer dari 0 sampai
n – 1. Operasi ini merupakan reduksi modular. Sebagai contoh, 5 mod 3 = 2.
Aritmatika modular mirip dengan
aritmatika biasa, terdapat fungsi komutatif, assosiatif dan distributif.
Fungsi-fungsi tersebut dapat dideklarasikan seperti berikut :
(a + b) mod n = ((a mod n) + (b
mod n)) mod n
(a – b) mod n = ((a mod n) – (b
mod n)) mod n
(a * b) mod n = ((a mod n) * (b
mod n)) mod n
(a * (b + c)) mod n = (((a *
b) mod n) + ((a * c) mod n)) mod n
ScreenShot Programnya:
Source Kode:
Private Sub Command1_Click()
vbil = Val(Text1.Text)
vbil1 = Val(Text2.Text)
For i = 1 To vbil
If vbil Mod i = 0 Then
Text3.Text = Text3.Text + Str(i)
End If
Next i
For n = 1 To vbil1
If vbil1 Mod n = 0 Then
Text4.Text = Text4.Text + Str(n)
End If
Next n
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Dim a, b, c, i, x As Integer
a = Text1.Text
b = Text2.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
Text5.Text = c
End Sub
Private Sub Command4_Click()
Dim jwb As String
jwb = MsgBox("Yakin ingin menutup aplikasi",
vbYesNo, "KONFIRMASI")
If jwb = vbNo Then
Exit Sub
Else: End
End If
End Sub
Private Sub command5_click()
Text8.Text = Val(Text6.Text Mod Text7.Text)
End Sub
Private Sub Command6_Click()
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text6.SetFocus
End Sub
Private Sub Command7_Click()
Dim jwb As String
jwb = MsgBox("Yakin ingin menutup aplikasi",
vbYesNo, "KONFIRMASI")
If jwb = vbNo Then
Exit Sub
Else: End
End If