1 / 51

BAB V

BAB V. ALGORITMA DAN BILANGAN BULAT. A. ALGORITMA Sebuah masalah dipecahkan dengan mendekskripsikan langkah-langkah penyelesaiannya . Urutan penyelesaian masalah ini dinamakan Algoritma . Definisi Algoritma :

gilon
Télécharger la présentation

BAB V

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BAB V ALGORITMA DAN BILANGAN BULAT

  2. A. ALGORITMA Sebuahmasalahdipecahkandenganmendekskripsikanlangkah-langkahpenyelesaiannya. UrutanpenyelesaianmasalahinidinamakanAlgoritma. DefinisiAlgoritma : Algoritmaadalahurutanlangkah-langkahlogispenyelesaianmasalah yang disusunsecarasistematis.

  3. 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.

  4. Algoritma cari Elemen terbesar : • Asumsikan a1sebagaielementerbesarsementara. Simpan a1kedalammaks. • Bandingkanmaksdenganelemen a2, jika a2 > maks, makanilaimaksdegantidengan a2 • Ulangilangkahke 2 untukelemen-elemenberikutnya (a3, a4, a5,…an) • Berhentijikatidakadalagielemen yang dibandingkan . Dalamhalinimaksberisinilaielementerbesar.

  5. B. BILANGAN BULAT • Bilanganbulatadalahbilangan yang tidakmempunyaipecahandesimal. SIFAT PEMBAGIAN PADA BILANGAN BULAT • Misalkan a dan b adalah 2 buahbilanganbulatdengansyarat a  0. Kita menyatakanbahwa a habismembagi b jikaterdapatbilanganbulat c sedemikiansehingga b = ac

  6. Dengan kata lain, jika b dibagi dengan a, maka hasil pembagiannya berupa bilangan bulat. • Kadang-kadang pernyataan “a habis membagi b” ditulis juga “b kelipatan a”

  7. 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

  8. Contoh : • 1987 = 97 . 20 + 47 • 24 = 3. 8 + 0 • -22 = 3 (-8) + 2 Sisapembagiantidakbolehnegatif, jadicontohke 3 tidakdapatditulis : -22 = 3 (-7) – 1 karena r = -1 tidakmemenuhisyarat0  r <n

  9. 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

  10. Sifat-sifatdaripembagibersamaterbesardinyatakandenganteorema-teoremaberikut : • Misalkan a, b, dan c adalah bilangan bulat. • 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

  11. 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

  12. 3. ALGORITMA EUCLIDEAN • 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.

  13. 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

  14. Kongruen Jikaduabuahbilanganbulat a dan b, mempunyaisisa yang samajikadibagidenganbilanganbulatpositif m, maka a dan b kongruendalam modulo m, dandilambangkansebagai : a  b (mod m) Jika a tidakkongruendengan b dalam modulus m, makaditulis : a / b (mod m)

  15. Contoh : 38 mod 5 = 3 , dan 13 mod 5 = 3 , maka : •  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

  16. Kekongruenan a  b (mod m) dapat pula dituliskan dalam hubungan a = b + km yang dalam hal ini sembarang k adalah bilangan bulat.

  17. Sifat-sifatpengerjaanhitungpadaaritmetika modulo, khususnyaperkaliandanpenjumlahan, dinyatakandalamteorema-teoremaberikut : • Misalkan m adalahbilanganbulatpositif. Jika a  b (mod m) dan c adalahsembarangbilanganbulat, maka : (i) (a + c)  (b + c)(mod m) (ii) ac  bc (mod m) (iii) ap  bp(mod m) untuksuatubilanganbulattaknegatif p

  18. Jika a  b (mod m) danc  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)

  19. 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).

  20. Kekongruenan Linear • Kekongruenan linear adalahkongruen yang berbentuk : ax  b (mod m) • Dengan m adalahbilanganbulatpositif, a dan b sembarangbilanganbulat, dan x adalahpeubah. • Bentukkongruen linear berartimenentukannilai-nilai x, yang memenuhikokongruenantersebut. • ax  b (mod m) dapatditulisdalamhubungan ax = b + km yang dapatdisusunmenjadi :

  21. 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.

  22. Teorema Fundamental Aritmetik • Setiapbilanganbulatpositif yang lebihbesaratausamadengan 2 dapatdinyatakansebagaiperkaliansatuataulebihbilangan prima. • Misal : 9 = 3 x 3 ( 2 buahfaktor prima) 100 = 2 x 2 x 5 x 5 ( 4 buahfaktor prima) 13 = 13 X 1 ( 1 buahfaktor prima)

  23. Faktor Prima dari n selalu lebih kecil atau sama dengan n • Misalkan a adalahfaktor prima dari n, dengan 1 < a < n, maka a habismembagi n denganhasilbagi b sedemikiansehingga n = ab. Nilai a dan b haruslah n agar : ab >n . n = n Contoh:Tunjukanapakah 171 dan 199 merupakanbilangan prima ataukomposit ?

  24. F. KRIPTOGRAFI • Aritmetika modulo danbilangan prima mempunyaibanyakaplikasidalamilmukomputer, salahsatuaplikasinya yang terpentingadalahkriptografi. • Kriptografiadalahilmusekaligusseniuntukmenjagakerahasiaanpesan ( data atauinformasi) dengancaramenyamarkanmenjadibentuk yang tidakmempunyaimakna.

  25. 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.

  26. Kriptografer, Kriptanalis, dan Kriptologi • Kriptografer: orang yang menggunakanenkripsiuntukmerahasiakanpesandanmendeskripsikannyakembali. • Kriptanalis : orang yang mempelajarimetodeenkripsidanchiperteksdengantujuanmenemukanplainteksnya. • Kriptologi : studimengenaikriptografidankriptanalis.

  27. Notasi Matematis Jikachiperteksdilambangkandengan C danplainteksdilambangkandengan P, makafungsienkripsi E memetakan P ke C, E (P) = C Padaproseskebalikannya, fungsideskripsi D memetakan C ke P, D (C) = P Karenaprosesenkripsikemudiandekripsimengembalikanpesankepesanasal, makakesamaanberikutharusbenar , D ( E (P) ) = P

  28. 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.

  29. Secaramatematis, padasistemkriptografi yang menggunakankunci K, makafungsienkripsidandekripsimenjadi : EK1 ( P ) = C dan DK2 ( C ) = P Keduafungsiinimemenuhi : DK2 (EK1 ( P )) = P Jika K1 = K2, makaalgoritmakriptografinyadisebutalgoritmasimetri ( kuncipribadi) Jika K1  K2 , makaalgoritmanyadisebutalgoritmanirsimetri ( kuncipublik )

  30. Algoritma RSA(Rivest – Shamir – Adleman) Algoritma RSA mendasarkanprosesenkripsidandekripsinyapadakonsepbilangan prima danaritmetika modulo. Kuncienkripsidandekripsimerupakanbilanganbulat. Kuncienkripsitidakdirahasiakan, tetapikuncidekripsibersifatrahasia. Untukmenemukankuncidekripsiharusmemfaktorkansuatubilangan non prima menjadifaktorprimanya.

  31. Secara ringkas, algoritma RSA adalah sebagai berikut : PembangkitanPasanganKunci • Pilihduabuahbilangan prima sembarang, a dan b, jagakerahasiaan a dan b. • Hitungn = a x b. Nilai n tidakdirahasiakan. • Hitungm = (a – 1) x (b – 1).Setelahnilai m diketahui, a dan b dapatdihapus. • Pilihsebuahbilanganbulateuntukkuncipublik, dimana e relatif prima terhadap m. • Bangkitkankuncidekripsi, d dengankekongruenan ed 1 (mod m)

  32. Enkripsi • Plainteksdinyatakandalamkode ASCII. • Nyatakanpesanmenjadiblok-blokplainteks: p1,p2,p3,… [syarat: nilai piharusdalamnilai 0,1,2,…,n-1] • Hitungcidenganpersamaanci= pie mod n yang dalamhalini e adalahkuncipublik.

  33. Dekripsi • Proses dekripsi dilakukan dengan menggunakan persamaan pi = cid mod n yang dalam hal ini d adalah kunci dekripsi.

  34. ContohSoalAlgoritma RSA 1) EnkripsikanpesanSAYA menggunakanalgoritma RSA dengan a=5, b=7, dan e=5 Solusi: n =a.b=35 m= (a-1)(b-1)=24 e = 5

  35. SAYA  diubahkedesimal ASCII S = 83 A = 65 Y = 89 A = 65 83658965

  36. Buatblok-blokdari plaintext83658965 Nyatakanpesanmenjadiblok-blokplainteks: p1,p2,p3,… [syarat: nilai piharusdalamnilai0,1,2,…,n-1] n = 35  n-1 = 34 p1 = 8 p5= 8 p2 =3 p6= 9 p3 = 6 p7= 6 p4 = 5 p8= 5

  37. Menentukanchipertextdari83658965 Hitungcidenganpersamaanci= pie mod n ci= pie mod n  c1 =85mod 35= 8 c2 =35mod 35= 33 c3 =65mod 35= 6 c4 =55mod 35= 10 c5 =85 mod 35= 8 c6 =95mod 35= 4 c7 =65mod 35= 6 c8 =55mod 35= 10 Jadichipertextnyaadalah8 33 6 10 8 4 6 10 [ket: e=5 dan n=35]

  38. ContohSoalAlgoritma RSA 2) Dekripsikanpesan8 33 6 10 8 4 6 10menggunakanalgoritma RSA dengan a=5, b=7, dan e=5 Solusi: Jika d tidakdiketahui, makaharusditentukanduludengancara: ed 1 (mod m) ed =1+km 

  39. Menentukan d m= 24 e = 5 k = …,-2,-1,0,1,2,… Untuk k=1, diperoleh d bilanganbulat:

  40. Menentukan plaintext dari8 33 6 10 8 4 6 10 Hitungdidenganpersamaanpi = cidmod n pi= cid mod n  p1 =85mod 35= 8 p2 =335mod 35= 3 p3 =65mod 35= 6 p4 =105mod 35= 5 p5 =85 mod 35= 8 p6 =45mod 35= 9 p7 =65mod 35= 6 p8 =105mod 35= 5 Jadiplaintextnyaadalah83658965 [ket: d=5 dan n=35]

  41. 83658965  lihatdesimal ASCII 83 = S 65 = A 89 = Y 65 = A JadiplaintextnyaadalahSAYA

  42. ContohSoalAlgoritma RSA 3)Dekripsikanpesan7 6 6 4 6 6 6 10 8 4 menggunakanalgoritma RSA dengan a=5, b=7, dand=5! 4) Enkripsikanpesan HELLO WORLD denganalgoritma RSA, a=23, b=31, dan e=29!

  43. TABEL ASCII

  44. G. FUNGSI HASH • Data yg disimpan di dlm memori komputer perlu ditempatkan dalam suatu cara sedemikian sehingga pencariannya dapat 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.

  45. Fungsi hash yg paling umum berbentuk h(k) = k mod m Yang dalam hal ini m adalah jumlah lokasi memori yang tersedia. Fungsi h diatas menempatkan record dengan kunci k pada lokasi memori yang beralamat h(k).

  46. ContohSoalFungsi Hash • Tunjukkanbagaimanasekumpulan data dengankunci-kuncisebagaiberikut: 15,558,32,132,102, dan 5 ditempatkandidalammemoridenganfungsi hash h(k)=k mod 11!

  47. Solusi: Keenam data record tersebutmasing-masingdisimpanpadalokasi yang dihitungsbb: h(15)=15 mod 11 = 4 h(558)=15 mod 11 = 8 h(32)=15 mod 11 = 10 h(132)=15 mod 11 = 0 h(102)=15 mod 11 = 3 h(5)=15 mod 11 = 5

  48. ContohSoalFungsi Hash • Tunjukkanbagaimanasekumpulan data dengankunci-kuncisebagaiberikut: 15,558,32,132,102,5, dan 257 ditempatkandidalammemoridenganfungsi hash h(k)=k mod 11!

  49. Solusi: Keenam data record tersebutmasing-masingdisimpanpadalokasi yang dihitungsbb: h(15)=15 mod 11 = 4 h(558)=15 mod 11 = 8 h(32)=15 mod 11 = 10 h(132)=15 mod 11 = 0 h(102)=15 mod 11 = 3 h(5)=15 mod 11 = 5 h(257)=15 mod 11 = 4

  50. SoalFungsi Hash • Tunjukkanbagaimanasekumpulan data dengankunci-kuncisebagaiberikut: 714,631,26,373,775,906,509,2032, 42,4,136,1028 ditempatkandidalammemoridenganfungsi hash h(k)=k mod 17!

More Related