makalah kel.5, print

download makalah kel.5, print

If you can't read please download the document

Transcript of makalah kel.5, print

Dua pokok bahasan, algoritma dan bilangan bulat, merupakan satu kesatuan yang pengolahannya digunakan sekaligus. Dalam bilangan bulat, akan mulai menggunakan terminologi algoritma untuk mendeskripsikan langkah-langkah penyelesaian masalah dengan suatu metode. 1. Algoritma Sebuah masalah dipecahkan dengan mendeskripsikan langkah-langkah

penyelesaiannya. Misalnya masalah pengurutan (sorting) berikut: diberikan sejumlah bilangan bulat, tuliskan semua bilangan bulat tersebut dalam urutan yang menarik. Metode untuk pengurutan data distrik sudah banyak ditemukan orang. Metode pengurutan sering digambarkan dengan sejumlah langkah terbatas yang mengarah pada solusi permasalahan. Urutan langkah-langkah penyelesaian masalah ini dinamakan algoritma. Algoritma merupakan metode perhitungan (komputasi) secara umum, namun masih banyak proses yang digambarkan dalam sutau algoritma (Munir, 2007). Jadi algoritma adalah metode terstruktur (step by step) dalam menyelesaikan masalah (Anonim, 2008a). 1.1 Sejarah Adapun jika ditinjau dari kata-kata. Kata algoritma mempunyai sejarah yang aneh. Kata ini tidak mungkin muncul dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism, yang berarti prosesnya itu dengan angka Arab. Adapun para ahli bahasa berusaha menemukan arti algorism ini, namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal-usul kata tersebut. Kata algorism berasal dari penulis buku Arab yang terkenal, yaitu Abu Jafar Muhammad ibnu Musa al-Khuwarizmi. Al-Khuwarizmi itu dibaca orang barat menjadi algorism (Munir, 2009). 1.2 Definisi Algoritma adalah urutan logis langkah-langkah penyelesaian masalah yang disusun secara sistematis (Munir, 2009).

2.

Notasi untuk Algoritma Algoritma dapat dituliskan dalam berbagai notasi, misalnya dalam notasi dekriptif, dengan cirri khas tertentu (Munir, 2007). Dengan kata lain notasi algoritma memuat judul

yang unik, deskripsi setiap instruksi, input, output, dan instruksi (Anonim, 2008). Selain dengan notasi deskriptif, algoritma juga dapat digambarkan dalam notasi bahasa computer (lebih tepatnya bahasa pemrograman). Seperti notasi if-then-else, while-do, for-end (Munir, 2007). Sehingga wajar, akhir-akhir ini algoritma lebih cenderung dekat dengan komputasi.

3.

Bilangan Bulat 3.1 Definisi Jika ke dalam himpunan bilangan asli dimasukkan bilangan nol (lambangnya 0), akan terjadi himpunan bilangan baru , yang kita sebut balangan cacah. Selanjutnya, jika ke dalam himpunan bilangan cacah ini dimasukkan bilangan asli yang bertanda -, akan terjadilah himpunan bilangan yang disebut himpunan bilangan bulat. Bilangan bulat dapat di simbolkan dengan Z, yang diambil dari huruf deepan kata Zahlen (bahasa Jerman). Ada juga bilangan bulat disimbolkan dengan huruf I, yang diambil dari huruf depan kata Integer (bahasa inggris). Jadi, Z = {,-3,-2,-1,0,1,2,3,} adalah himpunan bilangna bulat (Rawuh, 1983). Adapun pada referensi lain, ada yang berpendapat bahwa himpunan bilangan bulat disimbolkan dengan huruf Z adalah Z = { , -4, -3, -2, -1 , 0, 1, 2, 3, 4, }. Bilangan di sebelah kanan 0 disebut bilangan bulat positif, sedangkan bilangan di sebelah kiri 0 disebut bilangan bulat negatif (Abdussakir, 2009). Bilangan bulat memiliki beberapa sifat, di antaranya sifat ketertutupan, sifat komutatif, sifat assosiatif, terdapat identitas penjumlahan adalah 0 dan identitas pada perkalian adalah 1, dan terdapat invers pada penjumlahannya (Abdussakir, 2009). 3.2 Teorema dan Definisi Teorema 3.2.1 Misalkan a, x Z. a. Jika a + x = a, maka x = 0. b. Jika a + x = 0, maka x = -a. Bukti a. Diketahui a + x = a dan a + 0 = a. Diperoleh a + x = a + 0. Jika kedua ruas samasama ditambah dengan (-a), akan diperoleh x = a.

b. Diketahui a + x = 0 dan a + (-a) = 0. Diperoleh a + x = a + (-a). Jika kedua ruas sama-sama ditambah dengan (-a), akan diperoleh x = -a. Berdasarkan Teorema 3.2.1, dapat disimpulkan bahwa, jika ada x Z yang dapat memenuhi persamaan a + x = a, maka x = 0. Demikian juga, jika ada x Z yang dapat memenuhi persamaan a + x = 0, maka x = (-a). Hal ini berarti bahwa identitas penjumlahan adalah tunggal dan invers penjumlahan dari suatu bilangan bulat adalah tunggal. Pada sistem bilangan bulat terdapat sifat trikotomi, yaitu bahwa jika a adalah suatu bilangan bulat, maka kemungkinan untuk a adalah a > 0, a = 0, atau a < 0. Jika a > 0, a disebut bilangan bulat positif dan jika a < 0, a disebut bilangan bulat negatif. Himpunan semua bilangan bulat positif ditulis dengan simbol Z+, dan himpunan semua bilangan bulat negatif ditulis dengan simbol Z-. Himpunan bilangan bulat positif disebut juga dengan himpunan bilangan asli yang ditulis dengan simbol N. Telah diketahui bahwa invers penjumlahan dari bilangan bulat a ditulis (-a). Jika a adalah bilangan bulat positif, maka (-a) adalah bilangan bulat negatif dan jika a adalah bilangan bulat negatif maka -a adalah bilangan bulat positif. Lebih singkatnya, jika a > 0, maka -a < 0 dan jika a < 0, maka -a > 0. Dengan demikian, jika a adalah sebarang bilangan bulat, maka -(-a) = a. Pembuktian pernyataan ini akan diberikan dalam teorema berikut. Teorema 3.2.2 Misalkan a Z. a. 0a = 0 b. (-1) .a = -a c. -(-a) = a d. (-1)(-1) = 1 Bukti a. Diketahui 0 + 0 = 0. Jika kedua ruas dikalikan a, diperoleh [0 + 0]a = 0a. Sesuai sifat distribut if, maka 0a + 0a = 0a. Jika kedua ruas ditambah dengan (0a), diperoleh 0a = 0.

b. Diketahui bahwa 1 + (-1) = 0. Jika kedua ruas dikalikan a, diperoleh [1 + (-1)]a = 0a. Sesuai sifat distribut if, maka 1a + (-1)a = 0a. Jadi, a + (1)a = 0. Jika kedua ruas dit ambah dengan (a), diperoleh (-1)a = -a. c. Diketahui a+(-a)=0. Jika kedua ruas dikalikan dengan -1, diperoleh [a+(a)].(-1)=0.(-1). Sesuai sifat distribusi, maka a.(-1)+(-a).(-1)=0.(-1), jadi (a)+ (-a).(-1)=0 (sesuai teorema 3.2.2.b). jika kedua ruas ditambah dengan a, diperoleh (-a)+(-a).(-1)+a=0+a, jadi (-a).(-1)=a. Dengan demikian, (a).(-1)=a (-1).(-a)=a (sifat komutat if) (-(-a))=a.

d. Diketahui (-1)+1=0. Jika kedua ruas dikalikan (-1), diperoleh [(-1)+1].(1)=0.(-1). Sesuai sifat distribusi, maka (-1).(-1)+1.(-1)=0.(-1). Jadi, (-1).(1)+(-1)=0 (sesuai teorema 3.2.2.c). Jika kedua ruas ditambah 1, dipero leh (-1).(-1)+(-1)+1=0+1. Jadi, (-1).(-1)=1. Teorema 3.2.3 Misalkan a, b Z. a. a ( - b) = ( - a) b = - (ab) b. (-a)(-b) = ab c. - ( a + b ) = ( - a ) + ( - b) Bukti a. Sesuai teorema 3.2.1.b, maka a ( - b ) = a [ ( - 1) b ] = [ a ( - 1) ] b = [ ( - 1) a]b=( - a) b (-a)b = [( - 1) a] b =( - 1) ( a b) = - ( a b) Jadi, a(-b) = ( - a ) b = - (ab). b. (-a).(-b)=a.b (-1).(a).(-1).(b)=a.b (-1).(-1)-(a).(b)=a.b (sesuai teorema 3.2.2.d) (1).(a).(b)= a.b (sesuai teorema 3.2.2.b) (a).(b)=a.b a.b=a.b Sebagai akhir dari pembahasan singkat sistem bilangan bulat, akan diberikan beberapa definisi berikut ini.

Definisi 3.2.1 Jika a, b Z, maka a - b didefinisikan dengan a + (-b). Definisi 3.2.2 Misal a, b Z. a dikatakan lebih dari b, ditulis a > b, jika a b > 0. a dikatakan kurang dari b, ditulis a < b, jika a b < 0. Definisi 3.2.3 Jika a Z, nilai mutlak dari a, ditulis a, didefinisikan dengan a= a, jika a u 0 dan a= -a, jika a < 0. Sebagai contoh, 5 = 5, karena 5 u 0 dan -4= 4, karena -4 < 0. Untuk selanjutnya pembaca dapat mengecek bahwaa2

=a.

4.

Sifat-sifat Bilangan Bulat 1. Sifat dasar tertutup (closure)x , y Z , x y Z ; x, y Z , xy Z

2. Sifat dasar komutatifx , y Z , x y ! y x ; x, y Z , xy ! yx

3. Sifat dasar asosiatifx , y , r , x ( y r ) ! ( x y ) r ; x , y , r x ( yr ) ! ( xy ) r

4. Sifat dasar distribusi perkalian terhadap penjumlahan x, y , r

5. Sifat dasar identitsa terhadap pengalianx Z , x.1 ! x

6. Terdapat invers penjumlahan Untuk masing-masing a Z , ada (-a) Z Sehingga a + (-a) = (-a) + a = 0 (-a) disebut invers perjumlahan dari a.

5.

Sifat Pembagian 5.1 Definisi

x ( y r ) ! xy xr

Misalkan a dan b adalah dua buah bilangan bulat dengan syarat a { 0. Kita menyatakan bahwa a habis membagi b (a divides b) jika terdapat bilangan bulat c sedemikian sehingga b = ac. Notasi: a | b jika b = ac, c Z dan a { 0. (perlu diingat bahwa Z = himpunan bilangan bulat). Kadang-kadang pernyataan a habis membagi b ditulis juga b kelipatan a. Contoh: 4 | 12 karena 12 4 = 3 (bilangan bulat) atau 12 = 4 v 3. Tetapi 4 | 13 karena 13z 4 = 3.25 (bukan bilangan bulat).

5.2 Teorema 6.2.1 (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 e r < n. Contoh (i) 1987 dibagi dengan 97 memberikan hasil bagi 20 dan sisa 47: 1987 = 97 20 + 47. (ii) 22 dibagi dengan 3 memberikan hasil bagi 8 dan sisa 2: 22 = 3(8) + 2, tetapi 22 = 3(7) 1 salah karena r = 1 tidak memenuhi syarat 0 e r < n. 6. Pembagi Bersama Terbesar (PBB) 6.1 Definisi Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB greatest common divisor atau gcd) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini kita nyatakan bahwa PBB(a, b) = d. 6.2 Teorema 6.2.1 Misalkan a, b dan c adalah bilangan bulat. (i) Jika c adalah PBB dari a dan b, maka c|(a+b) (ii) Jika c adalah PBB dari a dan b, maka c|(a-b) (iii) Jika c|a, maka c|ab. Bukti: (i) Jika . maka merupakan bilangan bulat terbesar yang membagi jadi untuk suatu dari dan , yaitu dan akan didapatkan

maka Akibatnya berlaku Sehingga

untuk suatu dan , yaitu dan akan didapatkan

dan

untuk suatu Jadi (ii) Jika . maka Akibatnya berlaku Sehingga untuk suatu Jadi (iii) . bilangan bulat sehingga Akibatnya berlaku pula bahwa dan maka . jadi untuk suatu untuk suatu

merupakan bilangan bulat terbesar yang membagi dari

bilangan bulat

. Karena

pada bilangan bulat berlaku sifat tertutup pada perkalian, maka terdapat bilangan bulat sehingga berlaku jadi . 6.3 Teorema 6.3.1 Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n>0 sedemikian sehingga m= nq + r, 0 e r < n, maka PBB (m,n) = PBB(n,r). 7. Algoritma Euclidean 7.1 Definisi Algoritma Euclidean adalah algoritma untuk mencari PBB dari dua buah bilangan bulat. Euclid, penemu algoritma Euclidean, adalah seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam bukunya yang terkenal, Element. Diberikan dua buah bilangan bulat tak-negatif m dan n (m u n). Algoritma Euclidean berikut mencari pembagi bersama terbesar dari m dan n.

Algoritma Euclidean 1. Jika n = 0 maka m adalah PBB(m, n); stop. tetapi jika n { 0, lanjutkan ke langkah 2. 2. Bagilah m dengan n dan misalkan r adalah sisanya. 3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkahpertama (1). Contoh: m = 80, n = 12 dan dipenuhi syarat m u n

80 ! 6 12 8

12 ! 1 8 4

8 ! 2 4 0Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB(80, 12) = 4. 7.2 Teorema 7.2.1 Misalkan a dan b adalah dua buah bilangan bulat positif, maka terdapat bilangan bulat m dan n sedemikian sehingga PBB (a, b) = ma +nb.

8.

Relatif Prima 8.1 Definisi Dua buah bilangan bulat a dan b dikatakan relatif prima, jika PBB(a,b)=1. Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga ma + nb = 1 Contoh Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) =1, atau dapat ditulis 2 . 20 + (13) . 3 = 1

dengan m = 2 dan n = 13. Tetapi 20 dan 5 tidak relatif prima karena PBB(20, 5) = 5 { 1 sehingga 20 dan 5 tidak dapat dinyatakan dalam m . 20 + n . 5 = 1.

9.

Aritmetika Modulo Pada aritmetika modulo ini operator yang digunakan adalah mod. Operator mod ini memberikan sisa pembagian misalnya 23 dibagi 5 memberikan hasil = 4 dan sisa =3, sehingga ditulis 23 mod 5 =3. 9.1 Definisi Misalkan a adalah bilangan bulat dan m adalah bilangan bulat . 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 9.2 Notasi a mod m=r sedemikian sehingga a=mq + r, dengan 9.3 Kongruen 9.3.1 Definisi Misalkan a dan b adalah bilangan bulat dan m adalah bilangan > 0, maka a | b (mod m) jika m habis membagi a b. Jika a tidak kongruen dengan b dalam modulus m, maka ditulis a |/ b (mod m). Contoh Misalnya 38 mod 5 = 3 dan 13 mod 5 = 3, maka kita katakan 38 | 13 (mod 5) (baca: 38 kongruen dengan 13 dalam modulo 5). 9.3.2 Teorema 10.3.1 Misalkan m adalah bilangan bulat positif. 1. Jika a | b (mod m) dan c adalah sembarang bilangan bulat maka (i) (a + c) | (b + c) (mod m) Bukti: . .

Menurut definisi pada keterbagian ada bilangan t sehingga: (ii) ac | bc (mod m)

Bukti:

Menurut definisi pada keterbagian ada bilangan t sehingga: dapat dinyatakan

(iii) ap | bp (mod m) untuk suatu bilangan bulat tak negatif p. berarti Menurut definisi pada keterbagian ada bilangan bulat sehingga: dapat dinyatakan Kita mengenal bentuk:

Persamaan tersebut menunjukkan bahwa Ini berarti jadi

2. Jika a | b (mod m) dan c | d (mod m), maka (i) (a + c) | (b + d) (mod m) sehingga: Sehingga Ini berarti (ii) ac | bd (mod m) dan sehingga:

Menurut definisi pada keterbagian ada bilangan bulat

dan

Menurut definisi pada keterbagian bilangan bulat dapat dinyatakan sebagai

Dari (1) dan (2) dijumlahkan sehingga didapat:

Ini berarti

9.4 Inversi Modulo Jika a dan m relatif prima dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat a a | 1 (mod m) Bukti Dari definisi relatif prima diketahui bahwa PBB(a, m) = 1, dan menurut definisi (9.1), terdapat bilangan bulat p dan q sedemikian sehingga pa + qm = 1, yang mengimplikasikan bahwa pa + qm | 1 (mod m). Karena qm | 0 (mod m), maka pa | 1 (mod m). Kekongruenan yang terakhir ini berarti bahwa p adalah balikan dari a modulo m. Contoh Tentukan balikan dari 4 (mod 9), 17 (mod 7), dan 18 (mod 10)! Jawab: (a) Karena PBB(4, 9) = 1, maka balikan dari 4 (mod 9) ada. Dari algoritma Euclidean diperoleh bahwa 9 = 2 4 + 1. Susun persamaan di atas menjadi 2 4 + 1 9 = 1. Dari persamaan terakhir ini kita peroleh 2 adalah balikan dari 4 modulo 9. Periksalah bahwa 2 4 | 1 (mod 9) (9 habis membagi 2 4 1 = 9). (b) Karena PBB(17, 7) = 1, maka balikan dari 17 (mod 7) ada. Dari algoritma Euclidean diperoleh rangkaian pembagian berikut:

a

sedemikian sehingga

17 = 2 7 + 3 (i) 7 = 2 3 + 1 (ii) 3 = 3 1 + 0 (iii) Susun (ii) menjadi: 1=723 (iv) (yang berarti: PBB(17, 7) = 1) )

Susun (i) menjadi 3 = 17 2 7 (v) Sulihkan (v) ke dalam (iv): 1 = 7 2 (17 2 7) = 1 7 2 17 + 4 7 = 5 7 2 17 atau 2 17 + 5 7 = 1 Dari persamaan terakhir ini kita peroleh 2 adalah balikan dari 17 modulo 7. 2 17 | 1 (mod 7) (7 habis membagi 2 17 1 = 35)

(c) Karena PBB(18, 10) = 2 { 1, maka balikan dari 18 (mod 10) tidak ada. 9.5 Kekongruenan Lanjar Kekongruenan lanjar adalah kongruen yang berbentuk ax | b (mod m), dengan m adalah bilangan bulat positif, a dan b sembarang bilangan bulat, dan x adalah peubah bilangan bulat. Nilai-nilai x dicari sebagai berikut: ax = b + km yang dapat disusun menjadi

x!

b km a

dengan k adalah sembarang bilangan bulat. Cobakan untuk k = 0, 1, 2, dan k = 1, 2, yang menghasilkan x sebagai bilangan bulat. Contoh Tentukan solusi: 4x | 3 (mod 9) dan 2x | 3 (mod 4) Jawab: (i) 4x | 3 (mod 9)

x!

3 k 9 4(bukan solusi)

k = 0 x = (3 + 0 9)/4 = 3/4 k = 1 x = (3 + 1 9)/4 = 3

k = 2 x = (3 + 2 9)/4 = 21/4 (bukan solusi) k = 3, k = 4 tidak menghasilkan solusi k = 5 x = (3 + 5 9)/4 = 12 k = 1 x = (3 1 9)/4 = 6/4 k = 2 x = (3 2 9)/4 = 15/4 k = 3 x = (3 3 9)/4 = 6 k = 6 x = (3 6 9)/4 = 15 Nilai-nilai x yang memenuhi: 3, 12, dan 6, 15, (ii) 2x | 3 (mod 4) (bukan solusi) (bukan solusi)

x!

3 k 4 2

Karena 4k genap dan 3 ganjil maka penjumlahannya menghasilkan ganjil, sehingga hasil penjumlahan tersebut jika dibagi dengan 2 tidak menghasilkan bilangan bulat. Dengan kata lain, tidak ada nilai-nilai x yang memenuhi 2x | 3 (mod 5). 9.6 Chinese Remainder Problem Pada abad pertama, seorang matematikawan China yang bernama Sun Tse mengajukan pertanyaan sebagai berikut: Tentukan sebuah bilangan bulat yang bila dibagi dengan 5 menyisakan 3, bila dibagi 7 menyisakan 5, dan bila dibagi 11 menyisakan 7. Pertanyaan Sun Tse dapat dirumuskan kedalam sistem kongruen lanjar: x | 3 (mod 5) x | 5 (mod 7) x | 7 (mod 11)

9.6.1 Teorema 10.6.1.1 (Chinese Remainder Theorem) Misalkan m1, m2, , mn adalah bilangan bulat positif sedemikian sehingga PBB(mi, mj) = 1 untuk i { j. Maka sistem kongruen lanjar x | ak (mod mk), mempunyai sebuah solusi unik modulo m = m1 m2 mn. Contoh Tentukan solusi dari pertanyaan Sun Tse di atas. Jawab: Menurut persamaan (5.6), kongruen pertama, x | 3 (mod 5), memberikan x = 3 + 5k1 untuk beberapa nilai k. Sulihkan ini ke dalam kongruen kedua menjadi 3 + 5k1 | 5 (mod 7), dari sini kita peroleh k1 | 6 (mod 7), atau k1 = 6 + 7k2 untuk beberapa nilai k2. Jadi kita mendapatkan x = 3 + 5k1 = 3 + 5(6 + 7k2) = 33 + 35k2 yang mana memenuhi dua kongruen pertama. Jika x memenuhi kongruen yang ketiga, kita harus mempunyai 33 + 35k2 | 7 (mod 11), yang mengakibatkan k2 | 9 (mod 11) atau k2 = 9 + 11k3. Sulihkan k2 ini ke dalam kongruen yang ketiga menghasilkan x = 33 + 35(9 + 11k3) | 348 + 385k3 (mod 11). Dengan demikian, x | 348 (mod 385) yang memenuhi ketiga konruen tersebut. Dengan kata lain, 348 adalah solusi unik modulo 385. Catatlah bahwa 385 = 5 7 11. Solusi unik ini mudah dibuktikan sebagai berikut. Solusi tersebut modulo m = m1 m2 m3 = 5 7 11 = 5 77 = 11 35. Karena 77 3 | 1 (mod 5), 55 6 | 1 (mod 7), dan 35 6 | 1 (mod 11), solusi unik dari sistem kongruen tersebut adalah x | 3 77 3 + 5 55 6 + 7 35 6 (mod 385) | 3813 (mod 385) | 348 (mod 385) 9.6.2 Teorema Sisa China Teorema sisa china menyebutkan: Jika m1, m2, ,mr Z dan (mi, mj) = 1 untuk i j maka kongruensi simultan

x

a1 (mod m1), xr

a2 (mod m2) ,., x

ar (mod mr) mempunyai selesaian x

mjj !1

m

bj aj (mod m)

Bukti: Misal m = m1m2 mr m/mj (j = 1,2,r) adalah bilangan bulat yang tidak memuat mj. Jika (m/mj) = 1 maka terdapat bilangan builat bj sedemikian hingga: (m/mj)bj 1 (mod mj) yang mempunyai satu penyelesaian. Karena m/mj masih memuat mi, maka untuk i = j berlaku: (m/mj)bj (mod mi). Dengan mengambil x0 = x0 = b1 a1 + 0

j !1

r

1

2

b2 a2 + .+

i

bi ai + . +

Dalam modulo mi (i = 1, 2, ,r), x0 dapat dinyatakan dengan: x0 x01

b1 a1 +

2

b2 a2 + .+

i

bi ai + . +

1

b1 a1 (mod mi) +

2

b2 a2 (mod mi) + +

(mod mi) +.+ karena

r

br ar (mod mi)

j

bj

1 (mod mj), dan untuk i = j berlaku b2 0 (mod mi) ,..,

1

b1

0 (mod mi),

2

i

bi

1 (mod mi) , .... ,

0 (mod mi), sehingga:1 r

b1 a1 br ar

0 (mod mi) , 0 (mod mi)

2

b2 a2

0 (mod mi) , ,

i

bi ai

ai (mod mi), ,

j

bj aj , maka br ar

r

r

br ar bi ai

i

j

bj maka: br

r

Jadi x0 (mod mi)

0 (mod mi) + 0 (mod mi) + + ai (mod mi) + + 0 (mod mi) a1 (mod m1), x0 a2 (mod m2),..,

ai

Karena i = 1, 2, , r , maka x0 x0 ar (mod mr).

Berarti x0 memenuhi semua kongruensi x Karena (mi, mi) = 1 untuk i = j, Maka x0 ai (mod [m1,m2, ., mr]), sebab

ai (mod mi) atau x0 merupakan ai (mod mi)

penyelesaian persekutuan dari semua kongruensi x

[m1,m2, ., mr] = m1,m2, ., mr = m sehingga x0

ai (mod m).

Jadi selesaian persekutuan kongruensi linier simultan adalah:r

x

mjj !1

m

bj aj (mod m) ; x0 = x

Contoh: 1. Selesaikan kongruensi linier simultan x x x 5 (mod 8) 3 (mod 7) 4 (mod 9)

Jawab: a1 = 5, a2 = 3, a3 = 4 m1 = 8, m2 = 7, m3 = 9, m = m1m2m3 = 8.7.9 = 504 (m1,m2) = (8,7) = 1 (m1,m3) = (8,9) = 1 (m2,m3) = (7,9) = 1 Jadi kongruensi simultan ini memenuhi syarat-syarat untuk diselesaikan dengan teorema Sisa China.m b1 m1

1 (mod m1) 1 (mod 8) 1 (mod 8) 7 1 (mod m2)

504 b1 8

1 (mod 8)

63 b1 6 b1 b1m b2 m2

504 b2 7

1 (mod 7)

73 b2 7 b2 b2m b3 m3

1 (mod 7) 1 (mod 7) 4504 b3 9

1 (mod m3) 56 b3 2 b3 b3

1 (mod 9)

1 (mod 9) 1 (mod 9) 5

Jadi x

m m m b1 a1 + b2 a2 + b3 a3 (mod m) m1 m2 m3

63.7.5 + 72.4.3 + 56. 5.4 (mod 504) 4189 (mod 504) 157 (mod 504) 2. Selesaikan kongruensi linier 19x Jawab: Karena 140 = 4.5.7, maka kongruensi dapat diubah menjadi 19x 19x 19x 1 (mod 4) 1 (mod 5) 1 (mod 7) 59 (mod 140). 1 (mod 140)!

Analog dengan contoh 1, maka diperoleh x

10. Bilangan Prima 10.1 Definisi Bilangan bulat positif p (p > 1) disebut bilangan prima jika pembaginya hanya 1 dan p. Contoh: 23 adalah bilangan prima karena ia hanya habis dibagi oleh 1 dan 23. Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan prima dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13, . Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap. Bilangan selain prima disebut bilangan komposit (composite). Misalnya 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, dan 10, selain 1 dan 20 sendiri. 10.2 Teorema-teorema

Teorema 11.2.1 (The Fundamental Theorem of Arithmetic). Setiap bilangan bulat positif yang lebih besar atau sama dengan 2 dapat dinyatakan sebagai perkalian satu atau lebih bilangan prima. Contoh: 9=3v3 100 = 2 v 2 v 5 v 5 13 13 (atau 1 v 13) Teorema 11.2.2 Jika n adalah bilangan komposit, maka n mempunyai factor prima yang lebih kecil atau sama dengan n. Untuk menguji apakah n merupakan bilangan prima atau komposit, kita cukup membagi n dengan sejumlah bilangan prima, mulai dari 2, 3, , bilangan prima e n. Jika n habis dibagi dengan salah satu dari bilangan prima tersebut, maka n adalah bilangan komposit, tetapi jika n tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan prima. Terdapat metode lain yang dapat digunakan untuk menguji keprimaan suatu bilangan bulat, yang terkenal dengan Teorema Fermat. Fermat (dibaca Fair-ma) adalah seorang matematikawan Perancis pada tahun 1640. Teorema 11.2.3 (Teorema Fermat). Jika p adalah bilangan prima dan a adalah bilangan bulat yang tidak habis dibagi dengan p, yaitu PBB(a, p) = 1, maka ap1 | 1 (mod p). Contoh: Kita akan menguji apakah 17 dan 21 bilangan prima atau bukan. Di sini kita mengambil nilai a = 2 karena PBB(17, 2) = 1 dan PBB(21, 2) = 1. Untuk 17, 2171 = 65536 | 1 (mod 17) karena 17 tidak membagi 65536 1 = 65535 Untuk 21, 2211 =1048576 |\ 1 (mod 21) karena 21 tidak habis membagi 1048576 1 = 1048575. Catatan. (65535 z 17 = 3855). (2 buah faktor prima) (4 buah faktor prima) (1 buah faktor prima)

Kelemahan Teorema Fermat: terdapat bilangan komposit n sedemikian sehingga 2n1 | 1 (mod n). Bilangan bulat seperti itu disebut bilangan prima semu (pseudoprimes). Misalnya komposit 341 (yaitu 341 = 11 31) adalah bilangan prima semu karena menurut teorema Fermat, 2340 | 1 (mod 341). Untunglah bilangan prima semu relatif jarang terdapat. 11.3 Fungsi Euler J Fungsi Euler J medefinisikan J(n) untuk n u 1 yang menyatakan jumlah bilangan bulat positif < n yang relatif prima dengan n. Contoh: Tentukan J(20)! Jawab: Bilangan bulat positif yang lebih kecil dari 20 adalah 1 sampai 19. Di antara bilanganbilangan tersebut, terdapat J(20) = 8 buah yang relatif prima dengan 20, yaitu 1, 3, 7, 9, 11, 13, 17, 19. Untuk n = 1, 2, , 10, fungsi Euler adalah J(1) = 0 J(2) = 1 J(3) = 2 J(4) = 2 J(5) = 4 J(6) = 2 J(7) = 6 J(8) = 4 J(9) = 6 J(10) = 4

Jika n prima, maka setiap bilangan bulat yang lebih kecil dari n relatif prima terhadap n. Dengan kata lain, J(n) = n 1 hanya jika n prima. 11.3.1 Teorema-teorema Teorema 11.3.1.1 Jika n = pq adalah bilangan komposit dengan p dan q prima, maka J(n) = J(p) J(q) = (p 1)(q 1). Contoh: Tentukan J(21)! Jawab:

Karena 21 = 7 3, J(21) = J(7) J(3) = 6 2 = 12 buah bilangan bulat yang relatif prima terhadap 21, yaitu 1, 2, 4, 5, 8, 10, 11, 13, 14, 17, 19, 20. Teorema 11.3.1.2 Jika p bilangan prima dan k > 0, maka J(pk) = pk pk-1 = pk-1(p 1). Contoh: Tentukan J(16)! Jawab: Karena J(16) = J(24) = 24 23 = 16 8 = 8, maka ada delapan buah bilangan bulat yang relatif prima terhadap 16, yaitu 1, 3, 5, 7, 9, 11, 13. Teorema 11.3.1.3 (Eulers generalization of Fermat theorem). Jika PBB(a, n) = 1, maka aJ(n) mod n = 1 (atau aJ(n) | 1 (mod n)).

11. Kriptografi Berkat perkembangan teknologi yang begitu pesat memungkinkan manusia dapat berkomunikasi dan saling bertukar informasi/data secara jarak jauh. Antar kota antar wilayah antar negara bahkan antar benua bukan merupakan suatu kendala lagi dalam melakukan komunikasi dan pertukaran data. Seiring dengan itu tuntutan akan sekuritas (keamanan) terhadap kerahasiaan informasi yang saling dipertukarkan tersebut semakin meningkat. Begitu banyak pengguna seperti departemen pertahanan, suatu perusahaan atau bahkan individu-individu tidak ingin informasi yang disampaikannya diketahui oleh orang lain atau kompetitornya atau negara lain. Oleh karena itu dikembangkanlah cabang ilmu yang mempelajari tentang cara-cara pengamanan data atau dikenal dengan istilah Kriptografi. Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal. Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu:

y Algoritma simetris Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama y Algoritma asimetris Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda. Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu: y Algoritma block cipher Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama. y Algoritma stream cipher Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu. Camellia merupakan algoritma kriptografi simetris blok cipher. Dalam Camellia proses enkripsi dan dekripsi dilakukan pada blok data berukuran 128-bit dengan kunci yang dapat berukuran 128-bit, 192-bit, 256-bit. Algoritma Camellia dikembangkan oleh: y y y y y y y Kazumaro Aoki (NTT - Nippon Telegraph and Telephone Corp.) Tetsuya Ichikawa (Mitsubishi electric Corp.) Masayuki Kanda (NTT Nippon Telegraph and Telephone Corp.) Mitsuru Matsui (Mitsubishi electric Corp.) Shiho Moriai (NTT Nippon Telegraph and Telephone Corp.) Junko Nakajima (Mitsubishi electric Corp.) Toshio Tokita (Mitsubishi electric Corp.)

Dimana versi 1.0 pada bulan Juli 2000, versi 2.0 pada September 2001 dan versi 2.1 pada Febuari 2002. 11.1 Definisi Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami

gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure). 11.2 Konsep Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni: y Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihakpihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami. y Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain). y Authentication (keotentikan) yaitu layanan yang berhubungan dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi. y Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya). Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada kerahasiaan algoritma yang digunakan (yang artinya apabila algoritma yang digunakan telah diketahui maka pesan sudah jelas "bocor" dan dapat diketahui isinya oleh siapa saja yang mengetahui algoritma tersebut), kriptografi modern lebih menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma tersebut (oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke kalangan masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya. 11.3 Istilah Pemakaian Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi : y Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli). y Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.

y Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext. y Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli. y Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi. 11.4 Proses Penggunaan Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintext menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti. plaintextenkripsi

ciphertextdekripsi

plaintext

kunci enkripsi

kunci dekripsi

Gambar 1. Diagram proses enkripsi dan dekripsi

Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui. Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C (ciphertext), notasinya: Ee(M) C. Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M (plaintext), notasinya: Dd(C) = M. Sehingga dari dua hubungan diatas berlaku: Dd(Ee(M)) = M. 11.5 Algoritma Simetris dan Asimetris 11.5.1 Algoritma Simetris

Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm.

Plaintextenkripsi

ciphertextdekripsi

plaintext

kunci enkripsi (K)

kunci dekripsi (K)

Gambar 2. Diagram proses enkripsi dan dekripsi algoritma simetris

Sebelum melakukan pengiriman pesan, pengirim dan penerima harus memilih suatu suatu kunci tertentu yang sama untuk dipakai bersama, dan kunci ini haruslah rahasia bagi pihak yang tidak berkepentingan sehingga algoritma ini disebut juga algoritma kunci rahasia (secret-key algorithm). Kelebihan: y Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik. y Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time. Kelemahan: y Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. y Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution problem. Contoh algoritma : TwoFish, Rijndael, Camellia. 11.5.2 Algoritma Asimetris Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci

privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.

Plaintextenkripsi

ciphertextdekripsi

plaintext

kunci enkripsi (K1)

kunci dekripsi (K2)

Gambar 3. Diagram proses enkripsi dan dekripsi algoritma asimetris

Pada umumnya kunci publik (public key) digunakan sebagai kunci enkripsi sementara kunci privat (private key) digunakan sebagai kunci dekripsi. Kelebihan: y Masalah keamanan pada distribusi kunci dapat lebih baik. y Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit. Kelemahan: y Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris. y Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris. Contoh algoritma: RSA, DSA, ElGamal. 11.6 Block Cipher dan Stream Cipher Jika kita melihat berdasarkan ukuran serta format data yang akan diproses, maka algoritma kriptografi dapat dibagi menjadi dua bagian yang utama yaitu: y Block Cipher, algoritma kriptografi ini bekerja pada suatu data yang berbentuk blok/kelompok data dengan panjang data tertentu (dalam beberapa byte), jadi dalam sekali proses enkripsi atau dekripsi data yang masuk mempunyai ukuran yang sama.

y Stream cipher, algoritma yang dalam operasinya bekerja dalam suatu pesan berupa bit tunggal atau terkadang dalam suatu byte, jadi format data berupa aliran dari bit untuk kemudian mengalami proses enkripsi dan dekripsi. Pada algoritma penyandian blok (block cipher), plainteks yang masuk akan diproses dengan panjang blok yang tetap yaitu n, namun terkadang jika ukuran data ini terlalu panjang maka dilakukan pemecahan dalam bentuk blok yang lebih kecil. Jika dalam pemecahan dihasilkan blok data yang kurang dari jumlah data dalam blok maka akan dilakukan proses pading (penambahan beberapa bit). 11.7 Mode Operasi dalam Block Cipher 11.7.1 Electronic Codebook (ECB) Pada mode operasi ECB sebuah blok input plaintext dipetakan secara statis ke sebuah blok output ciphertext. Sehingga tiap plaintext yang sama akan menghasilkan ciphertext yang selalu sama pula. Sifat- sifat dari mode operasi ECB: y Sederhana dan efisien y Memungkinkan implementasi parallel y Tidak menyembunyikan pola plaintext y Dimungkinkan terjadi adanya active attack..

Skema dari mode operasi ECB dapat digambarkan sebagai berikut: SenderP1 E C1 C1

ReceiverE P1

P1

E

C1

C1

E

P1

P1

E

C1

C1

E

P1

Gambar 2.4 Skema Mode Operasi ECB

11.7.2

Cipher Block Chaining (CBC)

Pada mode oparasi ini hasil enkripsi dari blok sebelumnya mempengaruhi hasil enkripsi selanjutnya, atau enkripsi sebeluimnya menjadi feedback pada enkripsi blok saat itu. Jadi tiap blok ciphertext bergantung bukan hanya pada blok plaintext-nya tapi bergantung pula pada blok-blok plaintext sebelumnya. Sehingga untuk plaintext yang sama, belum tentu menghasilkan ciphertext yang sama pula.

Skema dari mode operasi CBC dapat digambarkan sebagai berikut:IV IV

Sender

Receiver

P1

E

C1

C1

E

P1

P1

E

C1

C1

E

P1

P1

E

C1

C

E

P1

Gambar 2.5 Skema Mode Operasi CBC.

Mula-mula sebelum si pengirim hendak mengirimkan pesannya kepada si penerima, dia terlebih dahulu harus meng-XOR plaintext dengan IV (initialization vector) baru kemudian dienkripsi, setelah itu baru dikirimkan ciphertext pertamanya kepada si penerima. Plaintext ke-2 pun demikian, harus di-XOR terlebih dahulu dengan ciphertext sebelumnya sebelum mengalami proses enkripsi baru kemudian dikirimkan ke si penerima sebagai ciphertext 2 dan seterusnya. Sifat-sifat dari mode operasi CBC : y y y Lebih aman dari active attacks dibandingkan mode operasi ECB Error pada satu ciphertext dapat berakibat parah Menutupi pola plaintext

y

Implementasi parallel belum diketahui.

12. Fungsi Hash Hash function atau fungsi hash adalah suatu cara menciptakan fingerprint dari berbagai data masukan. Hash function akan mengganti atau mentranspose-kan data tersebut untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value biasanya digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang terlihat random (data biner yang ditulis dalam notasi heksadesimal). Suatu hash function adalah sebuah fungsi matematika, yang mengambil sebuah panjang variabel string input, yang disebut pre-image dan mengkonversikannya ke sebuah string output dengan panjang yang tetap dan biasanya lebih kecil, yang disebut message digest. Hash function digunakan untuk melakukan fingerprint pada pre-image, yaitu menghasilkan sebuah nilai yang dapat menandai (mewakili) pre-image sesungguhnya.

13. ISBN Apakah kode ISBN 0-306-40615-3 adalah kode yang valid?

Dari ketentuan dapat kita peroleh - Karakter uji adalah 3 - Kemudian dengan mengaplikasikan rumus mod 11 = X maka diperoleh persamaan mod 11 = 3

(1 . 0 + 2 . 3 + 3 . 0 + 4 . 6 + 5 . 4 + 6 . 0 + 7 . 6 + 8 . 1 + 9 . 5) mod 11 = 3

(0 + 6 + 0 + 24 + 20 + 0 + 42 + 8 + 45) mod 11 = 3

145 mod 11 = 3

2=3 Karena 2 3 maka persamaan tersebut salah dan berimplikasi kode ISBN 0-306-40615-3 bukan kode yang valid.

14. Pembangkit Bilangan Acak Semu Pembangkit bilangan acak semu (pseudo random number generator atau PRNG) adalah bilangan acak yang dihasilkan dengan rumbilangan rumus-rumus matematika,karena pembangkitan bilangannya dapat diulang kembali. Metode yang paling umum digunakan untuk membangkitkan bilangan acak adalah dengan pembangkit bilangan acak kongruen-lanjar (linear congruential generator atau LCG) yang berbentuk adalah PNRG yang berbentuk: Xn = ( xn-1 + b+b) mod m Yang dalam hal ini: Xn = bilangan acak ke n dari deretnya Xn-1 = bilangan acak sebelumnya = factor penggali b m =increment =modulus

( ,b dan m semuanya konstanta)

Kunci pembangkit adalah X0 yang disebut umpan (seed).

LCD mempunyai periode tidak lebih besar dari m.jika

,b,dan m dipilih secara tepat

(misalnya b seharusnya relatife prima terhadap m),maka LCG akan mempunyai periode maksimal,yaitu m-1.

Contoh: Bangkitkan bilangan acak dengan menggunakan LCG, m= 17 =7 ,b=11 dan X0=0

Penyelesaian: Persamaaan LCG berbentuk Xn = (7xn-1 + 11) mod 17 Lakukan perhitungn sebagai berikut : X1 =(7x0 +11) mod 17 = (7.0.11) mod 17 = 11 mod 17 =11 X2 =(7x1 +11)mod 17 =(7.11.11) mod 17 =88 mod 17 = 3.