BAB V - Simponi MDP

advertisement
BAB V
ALGORITMA DAN
BILANGAN BULAT
A. ALGORITMA
Sebuah masalah dipecahkan dengan
mendekskripsikan langkah-langkah
penyelesaiannya. Urutan penyelesaian
masalah ini dinamakan Algoritma.
Definisi Algoritma :
Algoritma adalah urutan langkah-langkah
logis penyelesaian masalah yang disusun
secara sistematis.
Contoh :
Jika kita akan menuliskan algoritma
untuk mencari elemen terbesar
(maksimum) dari sebuah himpunan
yang beranggotakan n buah bilangan
bulat. Bilangan-bilangan bulat tersebut
dinyatakan sebagai a1, a2, a3,…an.
Elemen terbesar akan disimpan di dalam
peubah (variabel) yang bernama maks.
Algoritma cari Elemen terbesar :
1. Asumsikan a1 sebagai elemen terbesar
sementara. Simpan a1 ke dalam maks.
2. Bandingkan maks dengan elemen a2,
jika a2 > maks, maka nilai maks deganti
dengan a2
3. Ulangi langkah ke 2 untuk elemenelemen berikutnya (a3, a4, a5,…an)
4. Berhenti jika tidak ada lagi elemen yang
dibandingkan . Dalam hal ini maks berisi
nilai elemen terbesar.
B. BILANGAN BULAT

Bilangan bulat adalah bilangan yang
tidak mempunyai pecahan desimal.
SIFAT PEMBAGIAN PADA BILANGAN
BULAT
1. Misalkan a dan b adalah 2 buah bilangan
bulat dengan syarat a  0. Kita menyatakan
bahwa a habis membagi b jika terdapat
bilangan bulat c sedemikian sehingga b = ac
2. Dengan kata lain, jika b dibagi dengan
a, maka hasil pembagiannya berupa
bilangan bulat.
3. Kadang-kadang pernyataan
“a habis membagi b” ditulis juga
“b kelipatan a”
TEOREMA EUCLIDEAN

Misalkan m dan n adalah dua buah
bilangan bulat dengan syarat n > 0. Jika
m dibagi dengan n maka terdapat dua
buah bilangan bulat unik q(quotient) dan
r(remainder) sedemikian sehingga :
m = nq + r
dengan 0  r <n
Contoh :



1987 = 97 . 20 + 47
24 = 3. 8 + 0
-22 = 3 (-8) + 2
Sisa pembagian tidak boleh negatif,
jadi contoh ke 3 tidak dapat ditulis :
-22 = 3 (-7) – 1
karena r = -1
tidak memenuhi syarat 0  r <n
C. PEMBAGI BERSAMA TERBESAR

Misalkan a dan b adalah dua buah
bilangan bulat tidak nol. Pembagi
bersama terbesar (PBB) dari a dan b
adalah bilangan bulat terbesar d
sedemikian sehingga da dan db.
Dalam hal ini dinyatakan PBB (a,b) = d
Sifat-sifat dari pembagi bersama terbesar
dinyatakan dengan teorema-teorema
berikut :
Misalkan a, b, dan c adalah bilangan
bulat.
a. Jika c adalah PBB dari a dan b, maka
c (a + b )
b. Jika c adalah PBB dari a dan b, maka
c (a - b )
c. Jika c a , maka c ab


Misalkan m dan n adalah dua buah
bilangan bulat dengan syarat n > 0
sedemikian sehingga :
m = nq + r , 0  r <n
maka PBB (m,n) = PBB (n,r)
Contoh :
80 = 12 . 6 + 8
maka PBB (80,12) = PBB (12,8) = 4
3. ALGORITMA EUCLIDEAN
1.
2.
3.
Jika
n = 0, maka
m adalah PBB (m,n);
stop.
Tetapi jika n  0
lanjutkan ke langkah 2.
Bagilah m dengan n dan misalkan r
adalah sisanya.
Ganti nilai m dengan n dan nilai n dengan
r, lalu ulang kembali ke langkah 1.
D. ARITMETIKA MODULO


Misalkan a adalah bilangan bulat dan m
adalah bilangan bulat > 0. Operasi a
mod m (dibaca a modulo m)
memberikan sisa jika a dibagi dengan
m.
Dengan kata lain :
a mod m = r sedemikian sehingga a =
mq + r,
dengan 0  r < m
Kongruen
Jika dua buah bilangan bulat a dan b,
mempunyai sisa yang sama jika dibagi
dengan bilangan bulat positif m, maka a
dan b kongruen dalam modulo m, dan
dilambangkan sebagai :
a  b (mod m)
Jika a tidak kongruen dengan b dalam
modulus m, maka ditulis :
a / b (mod m)
Contoh :
38 mod 5 = 3 , dan
13 mod 5 = 3 , maka :
38  13 ( mod 5)
Definisi dari kongruen :
Misalkan a dan b adalah bilangan bulat
dan m adalah bilangan > 0
maka a  b (mod m)
jika m habis membagi a - b
Kekongruenan
a  b (mod m) dapat
pula dituliskan dalam hubungan
a = b + km
yang dalam hal ini sembarang k adalah
bilangan bulat.

Sifat-sifat pengerjaan hitung pada
aritmetika modulo, khususnya perkalian
dan penjumlahan, dinyatakan dalam
teorema-teorema berikut :
1.Misalkan m adalah bilangan bulat positif.
Jika a  b (mod m) dan c adalah sembarang
bilangan bulat, maka :
(i)
(a + c)  (b + c)(mod m)
(ii)
ac  bc (mod m)
(iii) ap  bp(mod m)
untuk suatu bilangan bulat tak negatif p
2. Jika a  b (mod m) dan c  d (mod m),maka :
(i)
(a+c)  (b+d) (mod m)
(ii)
a c  bd (mod m)
Contoh :
17 + 5
= 2 + 5 (mod 3)  22 = 7 (mod 3)
17 . 5
= 5 . 2 (mod 3)  85 = 10 (mod 3)
17 + 10 = 2 + 4 (mod 3)  27 = 6 (mod 3)
17 . 10 = 2 . 4 (mod 3)  170 = 8 (mod 3)
Balikan Modulo ( Modulo Invers)



Jika a dan m relatif prima dan m > 1,
maka dapat ditemukan balikan (invers)
dari a modulo m.
Balikan dari a modulo m adalah bilangan
bulat a sedemikian sehingga aa  1
(mod m)
Contoh :
Tentukan balikan dari 4 (mod 9), 17 (mod 7),
dan 18 (mod 10).
Kekongruenan Linear




Kekongruenan linear adalah kongruen yang
berbentuk : ax  b (mod m)
Dengan m adalah bilangan bulat positif, a dan b
sembarang bilangan bulat, dan x adalah peubah.
Bentuk kongruen linear berarti menentukan nilainilai x, yang memenuhi kokongruenan tersebut.
ax  b (mod m) dapat ditulis dalam hubungan
ax = b + km
yang dapat disusun menjadi :
b  km
x
a
E. BILANGAN PRIMA




Bilangan bulat positif yang lebih besar
dari 1 yang hanya habis dibagi oleh 1
dan dirinya sendiri.
Definisi :
Bilangan bulat positif p (p>1) disebut
bilangan prima jika pembaginya hanya 1
dan p
Bilangan selain bilangan prima disebut
bilangan komposit.
Teorema Fundamental Aritmetik


Setiap bilangan bulat positif yang lebih besar
atau sama dengan 2 dapat dinyatakan sebagai
perkalian satu atau lebih bilangan prima.
Misal :
9 =3x3
100 = 2 x 2 x 5 x 5
13 = 13 X 1
( 2 buah faktor prima)
( 4 buah faktor prima)
( 2 buah faktor prima)
Faktor Prima dari n selalu lebih kecil
atau sama dengan n

Misalkan a adalah faktor prima dari n,
dengan 1 < a < n, maka a habis membagi
n dengan hasil bagi b sedemikian
sehingga n = ab.
Nilai a dan b haruslah  n agar :
ab >n . n = n
Contoh: Tunjukan apakah 171 dan 199
merupakan bilangan prima atau komposit ?
F. KRIPTOGRAFI


Aritmetika modulo dan bilangan prima
mempunyai banyak aplikasi dalam ilmu
komputer, salah satu aplikasinya yang terpenting
adalah kriptografi.
Kriptografi adalah ilmu sekaligus seni untuk
menjaga kerahasiaan pesan ( data atau
informasi) dengan cara menyamarkan menjadi
bentuk yang tidak mempunyai makna.
Plainteks, Chiperteks, Enkripsi dan
Dekripsi.




Plainteks : pesan yang dirahasiakan,
artinya teks jelas yang dapat dimengerti.
Chiperteks : pesan hasil penyamaran,
artinya teks tersandi.
Enkripsi : Proses penyamaran dari
plainteks ke chiperteks.
Dekripsi : Proses pembalikan dari
chiperteks ke plainteks.
Kriptografer, Kriptanalis, dan
Kriptologi



Kriptografer: orang yang menggunakan
enkripsi untuk merahasiakan pesan dan
mendeskripsikannya kembali.
Kriptanalis : orang yang mempelajari
metode enkripsi dan chiperteks dengan
tujuan menemukan plainteksnya.
Kriptologi : studi mengenai kriptografi
dan kriptanalis.
Notasi Matematis
Jika chiperteks dilambangkan dengan C dan plainteks
dilambangkan dengan P, maka fungsi enkripsi E
memetakan P ke C,
E (P) = C
Pada proses kebalikannya, fungsi deskripsi D
memetakan C ke P,
D (C) = P
Karena proses enkripsi kemudian dekripsi
mengembalikan pesan ke pesan asal, maka kesamaan
berikut harus benar ,
D ( E (P) ) = P
Algoritma Kriptografi ( Chiper)



Algoritma Kriptografi (chiper) adalah fungsi
matematika yang digunakan untuk enkripsi
dan dekripsi.
Kekuatan suatu algoritma Kriptografi
diukur dari banyaknya kerja yang
dibutuhkan untuk memecahkan data
chiperteks menjadi plainteks.
Kriptografi modern tidak lagi mendasarkan
kekuatan pada algoritmanya. Jadi
algoritma tidak dirahasiakan. Kekuatan
kriptografinya terletak pada kunci, yang
berupa deretan karakter atau bilangan
bulat yang dijaga kerahasiaannya.
Secara matematis, pada sistem kriptografi yang
menggunakan kunci K, maka fungsi enkripsi dan dekripsi
menjadi :
EK1 ( P ) = C dan DK2 ( C ) = P
Kedua fungsi ini memenuhi :
DK2 (EK1 ( P )) = P
Jika K1 = K2, maka algoritma
kriptografinya disebut algoritma simetri
( kunci pribadi)
Jika K1  K2 , maka algoritmanya
disebut algoritma nirsimetri ( kunci
publik )
Algoritma RSA
(Rivest – Shamir – Adleman)
Algoritma RSA mendasarkan proses
enkripsi dan dekripsinya pada konsep
bilangan prima dan aritmetika modulo.
Kunci enkripsi dan dekripsi merupakan
bilangan bulat.
Kunci enkripsi tidak dirahasiakan, tetapi
kunci dekripsi bersifat rahasia.
Untuk menemukan kunci dekripsi harus
memfaktorkan suatu bilangan non prima
menjadi faktor primanya.
Secara ringkas, algoritma RSA
adalah sebagai berikut :






Pilih dua buah bilangan prima sembarang, a dan
b, jaga kerahasiaan a dan b.
Hitung n = a x b. Nilai n tidak dirahasiakan.
Hitung m = (a – 1) x (b – 1). Setelah nilai m
diketahui, a dan b dapat dihapus.
Pilih sebuah bilangan bulat e untuk kunci publik,
dimana e relatif prima terhadap m.
Bangkitkan kunci dekripsi, d dengan
kekongruenan
ed  1 (mod m)
Proses dekripsi dilakukan dengan menggunakan
persamaan pi = cid mod n, yang dalam hal ini d
adalah kunci dekripsi.
Download