Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
9. BILANGAN BULAT
2
9.1 Bilangan Bulat Bilangan bulat adalah bilangan cacah (whole number) positif, negatif, atau nol. Sebagai contoh, 3, – 6, 7, 85, 0, atau –56. Sedangkan bilangan-bilangan termasuk bilangan bulat. Himpunan bilangan bulat, dilambangkan dengan Z, didefinisikan sebagai berikut, Z = {..., -3, -2, -1, 0, 1, 2, 3, ...}
3
9.2 Sifat Pembagian Pada Bilangan Bulat
Definisi 9.1 Misal a dan b adalah dua buah bilangan bulat dan a 0. Dikatakan bahwa a habis membagi b (a divides b) jika terdapat bilangan bulat c sedemikian rupa sehingga b = ac Dalam bentuk notasi: a|b jika b = ac, cZ dan a0 a habis membagi b, berarti b adalah kelipatan a
4
Jika hasil pembagian bilangan bulat adalah juga bilangan bulat, maka selalu terdapat:
Hasil bagi dan sisa pembagian Teorema 9.1 Misal m dan n adalah dua 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 syarat 0 r < n Teorema 9.1 diatas disebut teorema Euclidean. Bilangan n disebut pembagi (divisor), m bilangan yang dibagi (divident), q disebut hasil bagi (quotient), dan r disebut sisa (remainder).
5
Opertator yang digunakan untuk mengekspresikan
hasil bagi dan sisa adalah mod dan div seperti berikut: m div n = q m mod n = r Contoh 9.1 1997 dibagi 87 memberikan hasil bagi = 22 dengan sisa 83 dan dapat ditulis menjadi 1997 = (87)(22) + 83 atau 1997 div 87 = 22 1997 mod 87 = 83
6
Contoh 9.2 dibagi 4, dapat ditulis menjadi = atau –47 div 4 = –12 –47 mod 4 = 1 –47 (4)(–12) Sebesar mungkin, tapi tidak melebihi Tidak boleh negatif
7
9.3 Pembagian Bersama Terbesar (PBB)
Greatest Common Divisor (GCD) Pembagi bersama terbesar sering juga disebut dengan istilah “Faktor Persekutuan Terbesar (FPB)“ adalah faktor yang membagi habis dua buah bilangan atau lebih.
8
Contoh 9.3 60 memiliki faktor pembagi : 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60. 48 memiliki faktor pembagi : 1, 2, 3, 4, 6, 8, 12, 24, 48. Faktor pembagi yang sama antara 60 dan 48 adalah: 1, 2, 3, 4, 6, 12. 12 merupakan faktor pembagi yang terbesar antara bilangan 60 dan 48. Jadi PBB (60, 48) = 12
9
Definisi 9.2 Misal a dan b adalah dua buah bilangan bulat 0. PBB dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b, maka PBB (a, b) = d. Sifat-sifat PBB Misal a, b, dan c adalah bilangan bulat. Jika c adalah PBB dari a dan b maka c | (a + b) Jika c adalah PBB dari a dan b maka c | (a – b) Jika c | a, maka c | ab
10
Teorema 9.2 Jika m dan n adalah dua bilangan bulat dengan syarat n > 0 sedemikian sehingga, m = nq + r dengan syarat 0 r < n, maka PBB (m, n) = PBB (n, r) Contoh 9.4 Jika 80 dibagi dengan 12 memberikan hasil 6 dan sisa 8, atau 80 = 12(6) + 8. Menurut teorema 9.2 PBB(80, 12) = PBB (12,8) = 4 Jika 12 dibagi 8 memberikan hasil 1 dan sisa 4, atau 12 = (8)(1) + 4 PBB(12, 8) = PBB (8, 4) = 4
11
9.4 Algoritma Euclidean Algoritma Euclidean adalah cara lain untuk menentukan PBB dua bilangan. Algoritma Euclidean adalah sebagai berikut: Jika n = 0, maka m adalah PBB(m, n); stop. Jika n 0, lanjutkan ke langkah 2. 2. Bagi m dengan n dan misalkan r adalah sisanya. 3. Ganti nilai m dengan n dan nilai n dengan r Catatan Jika m < n, maka pertukarkan nilai m dan n Contoh 9.5 Tentukan PBB (124, 48) dengan menggunakan algoritma Euclidean!
12
Penyelesaian: m = 124, n = 48 m = qn + r 124 = (48) (2) + 28 n = 0 m = 4 48 = (28) (1) + 20 28 = (20) (1) + 8 Jadi PBB (124,48) = 4 20 = (8) (2) + 4 8 = (4) (2) + 0 4 = (0)
13
Teorema 9.3 Misal a dan b adalah dua buah bilangan bulat positif, maka terdapat bilangan bulat m dan n sedemikian sehingga PBB (a, b) = ma + nb Teorema 9.3 menyatakan bahwa PBB dua buah bilangan bulat a dan b dapat dinyatakan sebagai kombinasi lanjat (linear combination) dengan m dan n sebagai koeffisien-koeffisiennya. Misal PBB (80, 12) = 4, dan 4 = (–1) m = –1 n = 7
14
Metode untuk menemukan kombinasi lanjar dari
dua buah bilangan sama dengan PBB-nya adalah dengan melakukan pekerjaan pembagian secara mundur pada algoritma Euclidean. Contoh 9.6 Nyatakan PBB (312, 70) = 2 sebagai kombinasi lanjar dari 312 dan 70 Penyelesian
15
Terapkan algoritma Euclidean untuk memperoleh
PBB (312, 70) = 2 312 = (i) 70 = (ii) 32 = (iii) 6 = (iv) Susun pembagian (iii) menjadi 2 = 32 – (v) Susun pembagian (ii) menjadi 6 = 70 – (vi) Sulihkan (vi) ke (v) menjadi 2 = 32 – 5 (70 – 2. 32) ` = 32 – = – (vii)
16
Susun pembagian (i) menjadi
32 = 312 – (viii) Sulihkan (viii) ke (vii) menjadi 2 = – = 11 ( 312 – 4.70) – 5. 70 = – Jadi PBB (312, 70) = 2 = –
17
Relatif Prima Definisi 9.3 Dua buah bilangan bulat a dan b dikatakan relatif prima (relatively prime) jika PBB (a, b) = 1 Berdasarkan definisi diatas, jika a dan b relatif prima, maka dapat ditemukan bilangan bulat m dan n sedemikian sehingga ma + nb = 1 Contoh 9.7 Buktikan bahwa 20 dan 3 adalah relatif prima. Bukti:
18
20 = (i) 3 = (ii) 2 = (iii) 1 = (iv) Dari (iii) 1 = 2 – 1.1 (v) Dari (ii) 1 = 3 – 1.2 (vi) Sulihkan (vi) ke (v) 1 = 2 – 1 (3 – 1.2 ) = 2 – = 2.2 – (vii) Susun persamaan (i) menjadi 2 = 20 – 6.3 (viii) Sulihkan (viii) ke (vii) 1 = 2(20 – 6.3) – 1 . 3 = – = 1 (terbukti) dengan nilai m = 2 , n = –13
19
9.5 Aritmatika Modulo Definisi 9.4 Misal 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 sedemikian sehingga a = mq + r dengan 0 r < m. Hasil aritmatika modulo m terletak dalam himpunan {0, 1, 2, … , m – 1}
20
Contoh 9. 8 Tentukan hasil operasi aritmatika modulo berikut! 29 mod 6 32 mod 4 7 mod 9 –53 mod 11 –39 mod 13 Penyelesaian 29 mod 6 = 4, sebab 29 dibagi 6 memberikan hasil berupa bilangan bulat (q) = 6 dan sisa (r) = 4 b) 32 mod 4 = 0, sebab 32 dibagi 4 memberikan hasil berupa bilangan bulat (q) = 8 dan sisa (r) = 0 c) 7 mod 9 = 7, sebab 7 dibagi sembilan memberikan hasil berupa bilangan bulat (q) = 0 dan sisa (r) = 7
21
d) –53 mod 11 e) –39 mod 13 Petunjuk. Jika a negatif dan (|a| mod m) 0, maka dapat menggunakan rumus a mod m = m – (|a| mod m) –53 mod 11 = 11 – (|–53| mod 11) = 11 – (53 mod 11) = 11 – 9 = 2 Karena (|a| mod m) = 0, maka tidak bisa menggunakan rumus untuk d). –39 mod 13 = 0, sebab –39 dibagi 13 memberikan hasil berupa bilangan bulat (q) = –3 dan sisa (r) = 0
22
Kongruen Jika dua buah bilangan bulat a dan b mempunyai sisa yang sama apabila dibagi dengan bilangan positf m maka a dan b dikatakan kongruen dan dilambangkan dengan a b (mod m). Lambang “” dibaca kongruen. Jika a dan b tidak kongruen dalam modulo m, maka ditulis a b (mod m). Definisi 9.5 Misal a dan b adalah dua bilangan bulat dan m adalah bilangan > 0, maka dikatakan a b (mod m) jika m habis membagi a – b
23
Contoh 9. 9 Buktikan bahwa: 29 4 (mod 5) –6 14 (mod 4) Bukti 29 – 4 = 25 5 habis membagi 25. Jadi 29 4 (mod 5) – 6 – 14 = –20 4 habis membagi –20. Jadi –6 14 (mod 4)
24
Dari definisi 9.5 Jika a b (mod m), maka dapat ditulis dalam bentuk a = b + km k adalah sembarang bilangan bulat. Dari definisi 9.4 a mod m = r dapat ditulis dalam bentuk a r (mod m) Contoh 9.10 31 mod 4 = 3 dapat ditulis menjadi 31 3 (mod 4) –32 mod 7 = 3 dapat ditulis menjadi –32 3 (mod 4)
25
Teorema 9.4 Misal m adalah bilangan positif, Jika a b (mod m) dan c adalah sembarang bilangan bulat, maka: (i) (a + c ) (b + c) (mod m) (ii) ca 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) ac bd (mod m)
26
Contoh 9.11 Misal 17 2 (mod 3) dan 10 4 (mod 3) , maka menurut teorema 9.4 (mod 3) 22 7 (mod 3) (mod 3) 85 10 (mod 3) (mod 3) 27 6 (mod 3) (mod 3) 170 8 (mod 3)
27
Inversi Modulo Jika a dan m relatif prima dan b > 1, maka dapat ditentukan inversi dari a modulo m. Inversi dari a modulo m adalah bilangan bulat sedemikian sehingga 1 (mod m) a aa Definisi 9.5 Misal a dan b adalah dua bilangan bulat dan m adalah bilangan > 0, maka dikatakan a b (mod m) jika m habis membagi a – b
28
Dari definisi 9.3 dinyatakan bahwa:
Jika a dan m dua bilangan yang relatif prima, maka PBB (a, m) = 1, dan terdapat bilangan bulat p dan q sedemikian sehingga pa + qm = 1 Didapat pa + qm 1 (mod m) Karena qm 0 (mod m), maka pa 1 (mod m) p adalah inversi dari a modulo m.
29
Contoh 9. 12 Tentukan inversi dari: 4 (mod 9) ,17 (mod 7) , dan 18 (mod 10) Penyelesaian Karena PBB (4, 9) = 1, maka inversi 4 (mod 9) ada. Dari alogoritma Euclidean diperoleh bahwa 9 = Susun persamaan diatas menjadi – = 1 Dari persamaan terakhir, didapat –2 adalah inversi dari 4 modulo 9. Hasil tersebut bisa diperiksa melalui: –2 . 4 1 (mod 9).
30
Perlu diketahui bahwa setiap bilangan yang kongruen dengan –2 modulo 9 juga adalah inversi dari 4, misalnya 7, –11, 16, dan seterusnya, karena 7 –2 (mod 9) –11 –2 (mod 9) 16 –2 (mod 9)
31
b) Karena PBB (17, 7) = 1, maka inversi dari
17 (mod 7) ada. Dari algoritma Euclidean diperoleh rangkaian pembagian berikut: 17 = (i) 7 = (ii) 3 = (iii) Susun (ii) menjadi 1 = 7 – (iv) Susun (i) menjadi 3 = 17 – (v) Sulihkan (v) ke (iv) 1 = 7 – 2 (17 – 2. 7 ) = – 2. 17 atau – = 1 Inversi dari 17 (mod 7)
32
Metode lain untuk menentukan inversi adalah dengan
cara sebagai berikut. Dapat ditulis dalam bentuk Contoh 9. 13 Tentukan inversi dari: 4 (mod 9) ,17 (mod 7) , dan 18 (mod 10) Penyelesaian
33
Contoh 9. 12 Tentukan inversi dari: 4 (mod 9) 4 (mod 9)
34
Kekongruenan Lanjar ( Linear Congruences)
Kekongruenan lanjar adalah kongruen yang berbentuk, ax b (mod m) dengan m adalah bilangan positif, a dan b sembarang bilangan bulat, dan x adalah peubah. Nilai x dicari dengan menggunakan hubungan:
35
Contoh 9.13 Tentukan penyelesaian dari 3x 7 (mod 9) Penyelesaian: k x … – 7 – 15 – 4 – 8 – 1 2 6 5 13 Jadi nilai x yang memenuhi 3x 4 (mod 7) adalah: …, –15, –8, –1, 6, 13, …
36
Chinese Remainder Theorem
Sun Tsu, matematikawan asal China mengajukan pertanyaan sebagai berikut: Sebuah bilangan bulat jika dibagi 3 menyisakan 2, jika dibagi 5 menyisakan 3, jika dibagi 7 menyisakan 5. Berapakah bilangan bulat tersebut? Pernyataan diatas dapat ditulis dalam bentuk sistem kongruen lanjar: x 2 ( mod 3) x 3 ( mod 5) x 2 ( mod 7)
37
Teorema 9.5 Misal m1, m2, … , mn adalah bilangan bulat positif sedemikian sehingga PBB (m1, m2) = 1 untuk i j, maka sistem kongruen lanjar, x ak (mod mk) mempunyai solusi yang unik dalam modulo M = m1 . m2 . … . mn Mk = m/mk Mk yk 1 (mod mk) x a1 . M1 . y1 + a2 . M2 . y2 + … + ak . Mk . yk (mod M)
38
Contoh 9.14 Selesaikan tiga buah kongruen berikut! x 2 ( mod 3) x 3 ( mod 5) x 2 ( mod 7) Penyelesaian: m1 = 3, m2 = 5, m3 = 7 M = m1 . m2 . m3 = = 105 M1 = M/m1 = 105/3 = 35 M2 = M/m2 = 105/5 = 21 M3 = M/m3 = 105/7 = 15 a1 = 2, a2 = 3, a3 = 2
39
Mk yk 1 (mod mk) 35 y1 1 (mod 3) y1 = 2 21 y2 1 (mod 5) y2 = 1 15 y3 1 (mod 7) y3 = 1 x (mod M) x 233 (mod 105) 23 (mod 105) Didapat x = 23
40
9.6 Bilangan Prima Definisi 9.6 Bilangan bulat positif p > 1 disebut bilangan prima jika faktor-faktor positif dari p hanya 1 dan p. Dengan kata lain bilangan-bilangan positif yang habis membagi p hanya a dan p. Bilangan positif yang lebih besar dari 1 dan bukan bilangan prima disebut bilangan komposit
41
Sebagai contoh, bilangan 37 adalah bilangan prima karena faktor-faktornya hanya bilangan 1 dan 37.
Sedangkan bilangan 39 adalah bilangan komposit, karena selain 1 dan 39 masih ada faktor-faktor lainnya, yaitu 3 dan 13. Barisan bilangan prima dimulai dari 2, yaitu: 2, 3, 5, 7, 11, 13, …
42
Teorema 9.6 Teorema Dasar Aritmatik (The Fundamental Theorem of Arithmatic) Setiap bilangan positif yang lebih besar atau sama dengan 2 dapat dinyatakan sebagai perkalian satu atau lebih bilangan prima. Secara implisit pernyataan “setiap bilangan positif” pada teorema 9.6 berarti berlaku untuk bilangan prima dan komposit.
43
Contoh 9.15 Faktor prima dari bilangan-bilangan: 100, 64, 641, 999, dan 1024 adalah: 100 = = 64 = = 26 641 = 641 999 = = 1024 = = 210
44
Teorema 9.7 Jika n adalah bilangan komposit, maka n mempunyai faktor prima yang lebih kecil atau sama dengan Untuk menguji apakah n bilangan prima atau komposit, dapat kita uji dengan cara membagi n dengan salah satu bilangan prima 2, 3, …, atau bilangan prima Jika n habis dibagi dengan salah satu bilangan prima tersebut ,maka n adalah bilangan komposit. Jika tidak ada bilangan prima mulai dari 2 sampai dengan yang habis membagi n, maka n adalah bilangan prima
45
Contoh 9.16 Tentukan apakah bilangan-bilangan: 241 dan 1049 adalah bilangan prima atau komposit. Penyelesaian: . Bilangan prima adalah 2, 3, 5, 7, 11, 13. Karena tidak ada bilangan prima yang habis membagi 241, maka bilangan 241 adalah bilangan prima. 2, 3, 5, 7, 11, dan 13. Karena ada salah satu bilangan prima yang , dalam hal ini 11, yang habis membagi 187, maka bilangan 187 adalah bilangan komposit.
46
9.7 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Keamanan pesan diperoleh dengan menyandikannya menjadi pesan yang tidak dimengerti oleh orang yang tidak berkepentingan Pesan yang akan disandikan disebut plainteks. Pesan yang telah disandikan disebut cipherteks. Proses menyandikan pesan dari plainteks menjadi cipherteks disebut enkripsi. Proses mengembalikan cipherteks menjadi plainteks disebut dekripsi.
47
Orang yang melakukan kriptanalisis disebut kriptanalis.
Kriptanalisis adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Orang yang melakukan kriptanalisis disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis. plainteks enkripsi cipherteks dekripsi Proses enkripsi dan dekripsi
48
Notasi Matematis Jika cipherteks dilambangkan dengan C dan plainteks dilambangkan dengan P, maka fungsi enkripsi E memetakan P ke C, E(P) = C (9.1) Pada proses kebalikannya, fungsi enkripsi D memetakan C ke P, D(C) = P (9.2) Dari (9.1) dan (9.2) didapat, D(E(P)) = P (9.3)
49
Contoh 9.1 Plainteks : STRUKTUR DISKRIT Misal sekelompok orang sepakat untuk menyandikan plainteks menggunakan algoritma yang sama. Algoritmanya adalah mempertukarkan posisi tiap dua karakter yang berurutan pada plainteks, maka didapat, Cipherteks : TSURTKRU IDKSIRT Dengan menggunakan algoritma tersebut, maka cipherteks bisa dikembalikan menjadi plainteks.
50
Contoh 9.1 adalah contoh kriptografi yang mengandalkan kerahasiaan algoritma. Algoritma yang mengandalkan kerahasiaan algoritma disebut algoritma restricted. Kelemahan algoritma adalah jika ada satu atau beberapa orang keluar dari kelompoknya, maka algoritma harus diubah, karena kerahasisaannya tidak bisa diandalkan lagi. Pada saat ini kriptografi tidak lagi mengandalkan kerahasiaan algoritmanya. Algoritma boleh diketahui umum.
51
Kekuatan algoritma saat ini terletak pada kunci, yaitu deretan karakter atau bilangan bulat.
Kunci dijaga kerahasiaannya dan hanya orang yang mengetahui kunci yang dapat melakukan enkripsi dan dekripsi. Kunci tersebut sama fungsinya seperti sandi-lewat (password) pada sistem komputer, PIN pada kartu ATM atau kartu kredit. Perbedaannya, jika sandi-lewat atau PIN bertujuan untuk otorisasi akses, sedangkan kunci pada kriptografi digunakan untuk proses enkripsi dan dekripsi.
52
Caesar cipher Caesar cipher adalah teknik kriptografi yang digunakan oleh Kaisar Romawi, Julius Caesar untuk menyandikan pesan yang dikirim kepada para pejabatnya. Pada Caesar cipher tiap huruf ditukarkan dengan huruf ke 3 berikutnya dari susunan alfabet. Kunci dari algoritma ini adalah jumlah pergeseran huruf, yaitu 3.
53
Susunan alfabet setelah digeser sejauh 3 haruf adalah:
Plainteks : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Cipherteks : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Kunci yang digunakan adalah menggeser 3 huruf berikutnya. Artinya tiap huruf disubstitusi dengan huruf ke tiga berikutnya. Dengan mengkodekan setiap huruf dengan integer, yaitu A = 0, B = 1, C = 2, … , Z = 25, maka secara matematis pergeseran 3 huruf alfabet ekivalen dengan melakukan operasi modulo terhadap plainteks p menjadi cipherteks c dengan persamaan, c = E(p) = (p + 3) mod 26
54
Secara umum fungsi enkripsi dan dekripsi pada Caesar cipher dapat dibuat lebih umum dengan menggeser huruf alfabet sejauh K, sehingga Proses enkripsi dilakukan dengan menggunakan rumus c = E(p) = (p + K) mod 26 Sedangkan dekripsi p = D(c) = (c – K) mod 26 Pada persamaan diatas K disebut kunci. Contoh 9.2 Sandikan pesan: AWASI ASTERIX DAN TEMANNYA OBELIX dengan menggunakan Caesar cipher dengan K = 3.
55
Penyelesaian Dengan menggunakan rumus c = E(p) = (p + 3) mod 26 dan mengkonversi alfabet ke bilangan integer, maka cipherteks dapat ditentukan: p1 = A c1 = E(0) = (0 + 3) mod 26 = 3 p2 = W c2 = E(22) = (22 + 3) mod 26 = 25 p3 = A c3 = E(0) = (0 + 3) mod 26 = 3 p4 = S c4 = E(18) = (18 + 3) mod 26 = 21 dst……. Maka diperoleh cipherteks sebagai berikut: AWASI ASTERIX DAN TEMANNYA OBELIX DZDVL DVWHULA GDQ WHPDQQBD REHOLA
56
Sistem Kriptografi Kunci Simetri
plainteks enkripsi cipherteks dekripsi K1 K2 Enkripsi dan Dekripsi pada algoritma kriptografi modern Sistem Kriptografi Kunci Simetri Jika proses enkripsi dan dekripsi menggunakan kunci yang sama (K1 = K2), maka disebut Sistem Kriptografi kunci simetri. Istilah lain yang digunakan adalah Kriptografi kunci pribadi. Contoh algoritma simetri adalah DES (Data Encryption Standard)
57
Sistem Kriptografi Kunci Publik
plainteks enkripsi cipherteks dekripsi K1 K2 Enkripsi dan Dekripsi pada algoritma kriptografi modern Sistem Kriptografi Kunci Publik Jika proses enkripsi dan dekripsi menggunakan kunci yang tidak sama (K1 = K2), maka disebut Sistem Kriptografi kunci publik atau Sistem Kriptografi Nirsimetri. Contoh algoritma kunci publik adalah RSA (Rivest-Shamir-Adleman).
58
Algoritma RSA Algoritma kriptografi RSA termasuk sistem kriptografi kunci publik, karena kunci enkripsi dan dekripsi berbeda. Berikut adalah algoritma RSA. Pembangkitan pasangan kunci Pilih dua buah bilangan prima a dan b sembarang. Jaga kerahasiaan a dan b. 2. Hitung n = a.b. Nilai n tidak perlu dirahasiakan. 3. Hitung m = (a – 1)(b – 1). Setelah m dihitung, a dan b dapat dihapus agar tidak diketahui oleh pihak lain. 4. Pilih sebuah bilangan bulat e untuk kunci publik. Syaratnya adalah e dan m harus relatif prima. 5. Hitung kunci deskripsi d, dengan kekongruenan ed 1 (mod m).
59
Enkripsi Susun pesan menjadi blok-blok plainteks: p1, p2, p3, … , pi. Syaratnya nilai pi harus terletak dalam himpunan nilai (1, 2, 3, … , n–1) untuk menjamin hasil perhitungan tidak berada di luar himpunan. 2. Hitung blok cipherteks ci untuk blok palinteks pi dengan menggunakan persamaan ci = pie mod n e adalah kunci publik. Dekripsi Proses dekripsi dilakukan dengan menggunakan rumus, pi = cid mod n d adalah kunci publik.
60
Contoh 9.3 Lakukan proses enkripsi terhadap plainteks: HARI INI Penyelesaian Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal Pembangkitan pasangan kunci Pilih nilai a dan b masing-masing 47 dan 71. Hitung n = (47)(71) = 3337 Hitung m = (47 – 1)(71 – 1) = 3220 Pilih e = 79. Ingat e dan m harus relatif prima. Hitung d dari rumus ed 1 (mod m). Didapat d = Nilai d harus dirahasiakan.
61
Enkripsi 1. Nyatakan plainteks dalam bentuk blok-blok kecil, misalnya menjadi blok-blok yang berukuran 3 digit. Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal p1 = 726 p4 = 273 p2 = 582 p5 = 787 p2 = 733 p6 = 003 2. Hitung ci = pie mod n c1 = (726)79 mod 3337 = c2 = (582)79 mod 3337 = 776 c3 = (733)79 mod 3337 = c4 = (273)79 mod 3337 = 933 c5 = (787)79 mod 3337 = c6 = (003)79 mod 3337 = 158
62
Dekripsi Proses dekripsi menggunakan rumus, pi = cid mod n P1 = mod 3337 = 726 P2 = mod 3337 = 582 P3 = mod 3337 = 733 P4 = mod 3337 = 273 P5 = mod 3337 = 787 P6 = mod 3337 = 003 Kembali ke tabel ASCII, didapat:
63
Latihan Lakukan proses enkripsi terhadap plainteks: SISTEM INFORMASI Penyelesaian Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal: Pembangkitan pasangan kunci Pilih nilai a dan b masing-masing 37 dan 51. Hitung n = (37)(51) = 1887 Hitung m = (37 – 1)(51 – 1) = 1800 Pilih e = 29. Ingat e dan m harus relatif prima. Hitung d dari rumus ed 1 (mod m). Didapat d = 869. Nilai d harus dirahasiakan.
64
Enkripsi 1. Nyatakan plainteks dalam bentuk blok-blok kecil, misalnya menjadi blok-blok yang berukuran 3 digit. Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal p1 = p5 = p9 = 776 p2 = p6 = p10 = 583 p3 = p7 = p11 = 073 p4 = p8 = 982
65
2. Hitung ci = pie mod n c1 = (837)29 mod 1887 = c7 = (707)29 mod 1887 = 317 c2 = (383)29 mod 1887 = c8 = (982)29 mod 1887 = 217 c3 = (846)29 mod 1887 = c9 = (776)29 mod 1887 = 1775 c4 = (977)29 mod 1887 = c10 = (583)29 mod 1887 = 955 c5 = (327)29 mod 1887 = c11 = (073)29 mod 1887 = 1516 c6 = (378)29 mod 1887 = 837
66
Dekripsi Proses dekripsi menggunakan rumus, pi = cid mod n p1 = mod 1887 = p7 = mod 1887 = 707 p2 = mod 1887 = p8 = mod 1887 = 982 p3 = mod 1887 = p9 = mod 1887 = 776 p4 = mod 1887 = p10 = mod 1887 = 583 p5 = mod 1887 = p11 = mod 1887 = 073 p6 = mod 1887 = 378
67
9.8 Fungsi Hash Data yang disimpan di dalamn memori komputer perlu ditempatkan dalam suatu cara sedemikian sehingga pencariannya apat dilakukan dengan cepat. Setiap data yang berupa record mempunyai field kunci yang unik yang membedakan suatu record dengan record lainnya. Fungsi Hash digunakan untuk menempatkan suatu record yang mempunyai nilai kunci k. Fungsi Hash yang paling umum berbentuk: H(k) = k mod m
68
Misal m = 11, sehingga kita mempunyai sel-sel memori yang diberi indeks 0 sampai 10. Kita akan menyimpan data record yang masingt-masing mempunyai kunci 15, 558, 32, 132, 102, dan 5. Pada mulanya sel-sel memori dalam keadaan kosong. Keenam data record tersebut masing-masing disimpan pada lokasi yang dihitung sebagai berikut: h(15) = 15 mod 11 = 4 h(558) = 558 mod 11 = 8 h(32) = 32 mod 11 = 10 h(132) = 132 mod 11 = 0 h(102) = 102 mod 11 = 3 h(5) = 5 mod 11 = 5
69
Keadaan sel-sel memori setelah penyimpanan keenam data record tersebut digambarkan seperti berikut:
Karena fungsi hash bukan fungsi satu ke satu (beberapa nilai k yang berbeda dapat menghasilkan nilai h(k) yang sama), maka dapat terjadi bentrokan (collision) dalam penempatan suatu data record. Misal kita akan menempatkan data record dengan kunci 257. Perhitungan hash menghasilkan h(257) = 257 mod 11 = 4, Padahal sel memori dengan lokasi 4 sudah terisi. Kita katakan telah terjadi bentrokan. 132 102 15 5 558 32 1 2 3 4 6 7 8 9 10
70
Untuk mengatasi bentrokan perlu diterapkan kebijakan resolusi bentrokan (collision resolution policy). Satu kebijakan resolusi bentrokan adalah mencari sel tak terisi tertinggi berikutnya (dengan 0 diasumsikan mengikuti 10). Jika kita terapkan kebijakan ini, maka data record dengan kunci 257 ditempatkan p[ada posisi 6. Untuk mencari data record tertentu, maka kita gunakan fungsi hash kembali. Misal kita akan mencari data record dengan kunci p, maka kita hitung h(p) = p mod 11, misal h(p) = q. Jika record p sama dengan isi sel pada lokasi q, kita katakan lokasi record p ditemukan. Sebaliknya jika record p tidak sama dengan isi sel pada lokasi q, maka lihat posisi tertinggi berikutnya.
71
9.9 International Standard Book Number (ISBN)
Buku yang diterbitkan oleh penerbit resmi biasanya disertai dengan kode ISBN yang terdiri dari 10 karakter. ISBN terdiri atas 4 bagian kode, yaitu : Kode yang mengidentifikasi bahasa, Kode penerbit, Kode yang diberikan secara unik pada buku tsb., Karakter uji (dapat berupa ngka atau huruf X untuk mempresentasikan angka 10. Karaktewr uji digunakan untuk memvalidasi ISBN, tepatnya untuk mendeteksi kesalahan pada karakter ISBN atau kesalahan karena perpindahan angka-angkanya.
72
Karakter uji dipilih sedemikian rupa, sehingga :
xi adalah karakter uji yang ke I di dalam kode ISBN. Untuk mendapatkan karakter uji, kita cukup menghitung:
73
Untuk kode ISBN 0–3015–4561–8, angka 0 adalah kode kelompok negara berbahasa Inggris, 3015 adalah kode penerbit, 4561 adalah karakter unik untuk buku yang diterbitkan oleh penerbit tersebut, dan 8 adalah karakter uji. Karakter uji didapat melalui perhitungan, 1(0)+2(3)+3(0)+4(1)+5(5)+6(4)+7(5)+8(6)+9(1)=151 Jadi karakter ujinya adalah 151 mod 11 = 8
74
Kode ISBN juga harus memenuhi,
dan 231 mod 11 = 0 atau 231 0 (mod 11) Contoh 9.4 Nomor sebuah buku terbitan penerbit Indonesia adalah 979–939p–04–5. Tentukan p. Penyelesaian:
75
Diketahui karakter uji ISBN adalah 5. Hal ini berarti:
Hitung: = p = p Jadi ( p) mod 11 = 5 p = 11 k + 5 1(9)+2(7)+3(9)+4(9)+5(3)+6(9)+7(p)+8(0)+9(4)
76
k p … –13 47 –6 36 1 25 8 14 15 3 22 Nilai p harus memenuhi 0 p 9
77
Latihan Nomor sebuah buku terbitan penerbit Indonesia adalah 0–07–289p05–0. Tentukan p. Penyelesaian: = 1(0)+2(0)+3(7)+4(2)+5(8)+6(9)+7(p)+8(0)+9(5) = p = p Jadi ( p) mod 11 = 0 p = 11 k + 0
78
k p … 7 –13 14 –2 21 9 28 20 Nilai p harus memenuhi 0 p 9. Jadi p = 9
79
9.10 Pembangkit Bilangan Acak Semu
Bilangan acak (random) banyak digunakan pada program komputer, misalnya untuk program simulasi (misalnya mensimulasikan waktu kedatangan nasabah di bank, pompa bensin, dan seterusnya), program kriptografi, aplikasi statistik, dan sebagainya. Tidak ada komputasi yang benar-benar menghasilkan deret bilangan acak secara sempurna. Bilangan acak yang dihasilkan dengan rumus-rumus matematika adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya dapat diulang kembali.
80
Pembangkit deret bilangan semacam itu disebut Pembangkit Bilangan Acak Semu (Pseudo Random Number Generator) atau PRNG. Salah satu metode untuk membangkitkan bilangan acak adalah dengan pembangkit bilangan acak kongruen lanjar (Linear Congruential Generator) atau disingkat PRNG yang berbentuk, xn = (axn-1 + b) mod m xn = bilangan acak ke –n dari deretnya xn-1 = bilangan acak sebelumnya a = faktor pengali b = increment m = modulus (a, b, m semuanya konstanta)
81
Kunci pembangkit adalah x0 yang disebut umpan atau seed.
LCG mempunyai periode tiodak lebih besar dari m. Jika a, b, dan m dipilih secara tepat (misalnya b seharusnya relatif prima terhadap m), maka LCG akan mempunyai periode maksimal m – 1. Contoh 9.5 Bangkitkanbilangan acak dengan menggunakan LCG. m = 17, a = 7, b = 11, dan x0 = 0.
82
Penyelesaian Persamaan LCG berbentuk, xn = (axn-1 + b) mod m xn = (7xn ) mod 17 Perhitungan selanjutnya, x1 = (7xn ) mod 17 = (7(0) + 11) mod 17 = 11 x2 = (7xn ) mod 17 = (7(11) + 11) mod 17 = 3 dst…..
83
Terlihat pada n = 16 dan x16 = x0 , maka bilangan
xn 6 9 12 5 18 3 1 11 7 13 19 15 2 8 14 10 20 21 4 16 22 17 23 62 Terlihat pada n = 16 dan x16 = x0 , maka bilangan acak berikutnya (x17 , x18 , dst.)
84
Latihan Sembilan angka pertama dari kode ISBN sebuah buku adalah 0–07– Tentukan karakter uji buku tersebut! 2. ISB sebuah buku tentang algoritma adalah 0–471–55p80–8. Berapa nilai p? 3. Tunjukkan bagaimana sekumpulan data dengan kunci-kunci sebagai berikut: 714, 631, 26, 373, 906, 509, 2032, 42, 4, 136, 1028 ditempatkan dalam memori dengan fungsi hash h(k) = k mod 17. 4. Tentukan bilangan acak yang dihasilkan oleh xn+1 = (4xn + 1) mod 7 dengan umpan x0 = 7
85
PENYELESAIAN SOAL UJIAN TENGAH SEMESTER
86
1. Tunjukkan dengan tabel kebenaran bahwa
Penyelesaian 1. Tunjukkan dengan tabel kebenaran bahwa implikasi (p q) q adalah tautologi. p q q p q (p q) (p q) q F T Karena nilai kebenaran (p q) q selalu benar maka terbuti bahwa (p q) q adalah Tautologi
87
2. Diketahui R = {(0,1), (1,1), (1,2), (2,0), (2,2), (3,0)}
adalah relasi pada himpunan A = {0, 1, 2, 3}. Tentukan klosur refleksif dan klosur setangkup dari R. Penyelesaian = {(0,0), (1,1), (2,2), (3,3)} R-1 = {(1,0), (1,1), (2,1), (0,2), (2,2), (0,3)} Klosur Refleksif = R ⋃ = {(0,1), (1,1), (1,2), (2,0), (2,2), (3,0)} ⋃ {(0,0), (1,1), (2,2), (3,3)} = {(0,0), (0,1), (1,1), (1,2), (2,0), (2,2), (3,0), (3,3)} Klosur Setangkup = R ⋃ R-1 ={(0,1), (0,2), (0,3), (1,0), (1,1), (1,2), (2,0), (2,1), (2,2), (3,0)}
88
3. Buktikan melalui induksi matematik bahwa,
Penyelesaian: Langkah Dasar:
89
Langkah Induksi maka berlaku:
90
Pembuktian: (terbukti)
91
4. Tentukan PBB (12345, 54321) dengan menggunakan
algoritma Euclidean! Penyelesaian: 54321 = (4) 12345 = (2) 4941 = (2) 2463 = (164) 15 = (5)3 + 0 Didapat PBB ( 12345, 54321) = 3
92
5. Tentukan inversi dari 7 modulo 26
Penyelesaian
93
S e l e s a i
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.