BILANGAN BULAT (lanjutan 2)
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.
Karakter uji dipilih sedemikian rupa, sehingga : xi adalah karakter uji yang ke i di dalam kode ISBN. Untuk mendapatkan karakter uji, kita cukup menghitung:
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
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:
Diketahui karakter uji ISBN adalah 5. Hal ini berarti: Hitung: = 9 + 14 + 27 + 36 + 15 + 54 + 7p + 0 + 36 = 191 + 7p Jadi (191 + 7p) mod 11 = 5 191 + 7p = 11 k + 5 1(9)+2(7)+3(9)+4(9)+5(3)+6(9)+7(p)+8(0)+9(4)
k p … –13 47 –6 36 1 25 8 14 15 3 22 Nilai p harus memenuhi 0 p 9
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) = 0 + 0 + 21 + 8 + 40 + 54 + 7p + 0 + 45 = 168 + 7p Jadi (168 + 7p) mod 11 = 0 168 + 7p = 11 k + 0
k p … 7 –13 14 –2 21 9 28 20 Nilai p harus memenuhi 0 p 9. Jadi p = 9
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.
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)
Kunci pembangkit adalah x0 yang disebut umpan atau seed. LCG mempunyai periode tidak 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.
Penyelesaian Persamaan LCG berbentuk, xn = (axn-1 + b) mod m xn = (7xn-1 + 11) mod 17 Perhitungan selanjutnya, x1 = (7xn-1 + 11) mod 17 = (7(0) + 11) mod 17 = 11 x2 = (7xn-1 + 11) mod 17 = (7(11) + 11) mod 17 = 3 dst…..
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.)
Latihan Sembilan angka pertama dari kode ISBN sebuah buku adalah 0–07–053965. 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
S e l e s a i