Ilustrasi Pencarian String Algoritma Rabin-Karp

 Bandingakan nilai -13 dan 4, ambil nilai yang paling besar yaitu 4 untuk pergeseran selanjutnya Tabel 2.25 Proses Pencocokan String c 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 O K T A V I A N I P R A D I T A 1 2 3 4 5 6 P R A D I T A 5. Selesai

2.8.4 Algoritma Rabin-Karp

Algorima Rabin-Karp menggunakan metoda hash dalam mencari suatu kata. Algoritma ini dibuat oleh Michael O. Rabin dan Richard M. Karp. Teori ini jarang digunakan untuk mencari kata tunggal, namun teori ini cukup penting dan sangat efektif bila digunakan untuk mencari lebih dari satu kata Andres Saloko 2010

2.8.5 Hashing

Algoritma Rabin-Karp ini tidak melakukan pergeseran yang rumit untuk menyelesaikan masalah, algoritma ini mempercepat pengecekan kata pada suatu teks dengan menggunakan fungsi hash. Fungsi hash adalah fungsi yang mengkonversikan suatu kata menjadi nilai yang disebut nilai hash hashvalue. Contohnya s eperti hash“PRADITA”=9853. Rabin-Karp memiliki fakta bahwa jika suatu kata adalah sama maka nilai hash-nya juga sama. Jadi kita dapat melihat bahwa yang perlu kita lakukan adalah mencari nilai hash dari kata yang kita punya kemudian mencari kata dalam teks yang mempunyai nilai hash yang sama Atmopawiro, 2014.

2.8.5.1 Ilustrasi Pencarian String Algoritma Rabin-Karp

1. Menghitung nilai hash pada pola string [PRADITA] = 9853 cara menghitung hash :  Cari nilai pada tabel ASCII untuk teks “PRADITA” dan beri basis “2”, dimana teks yang paling kiri memiliki nilai terbesar dan teks yang paling kanan memiliki nilai yang terkecil. Universitas Sumatera Utara Tabel 2.26 Mencari Nilai Hash P R A D I T A 80 82 65 68 73 84 65 2 6 2 5 2 4 2 3 2 2 2 1 2  Lakukan perhitungan nilai hash : = 802 6 + 822 5 + 652 4 + 682 3 + 732 2 + 842 1 + 652 = 8064 + 8232 + 6516 + 688 + 734 + 842 + 651 = 5120 + 2624 + 1040 + 544 + 292 + 168 + 65 = 9853  Lakukan hal yang sama untuk pencarian hash pada untuk teks “DIPRADITAO” 2. Memeriksa pencocokan antar string o Langkah-1: Tabel 2.27 Memeriksa Pencocokan String a Y D I P R A D I T A O X P R A D I T A hash {Y[0 .. 6]} = 9093 o langkah-2 : Tabel 2.28 Memeriksa Pencocokan String b Y D I P R A D I T A O X P R A D I T A A hash {Y[1 .. 7]} = 9490 o langkah-3 : Tabel 2.29 Memeriksa Pencocokan String c Y D I P R A D I T A O X P R A D I T A hash {y[2 .. 8]} = 9853 cocok Universitas Sumatera Utara o langkah-4 : Tabel 2.30 Memeriksa Pencocokan String d Y D I P R A D I T A O X P R A D I T A hash {y[3 .. 9]} = 9545 3. Pada perbandingan ketiga didapatkan hasil yang sama dengan nilai hash pada string “PRADITA” = 9853 Carras Thiery 2004. Universitas Sumatera Utara

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Kekerasan terhadap anak adalah tindakan melukai yang berulang-ulang secara fisik dan emosi terhadap anak yang ketergantungan, melalui desakan hasrat, hukuman badan yang tak terkendali, degredasi dan cemoohan permanen atau kekerasan seksual, biasanya dilakukan para orang tua atau pihak lain yang seharusnya merawat anak Abdullah, 2010. Kekerasan terhadap anak sering kali terjadi di Indonesia. Jumlah kasus kekerasan pada anak di Indonesia terus meningkat. Selain tindak kekerasan terhadap anak, anak juga sering menjadi korban eksploitasi pihak yang tidak bertanggung jawab. Eksploitasi anak menunjuk pada sikap diskriminatif atau perlakuan sewenang-wenang terhadap anak yang dilakukan oleh keluarga maupun masyarakat Rahman, 2010. Kebanyakan dari anak Indonesia belum memahami betul apa saja hak-hak dan perlindungan yang sepantasnya mereka dapatkan dari negara. Pentingnya memahami hak-hak dan perlindungan bagi anak merupakan pembekalan yang baik bagi anak untuk melindungi diri dari pelanggaran hak anak. Untuk memberikan solusi tentang masalah undang-undang perlindungan anak, maka penulis mencoba merancang sebuah aplikasi pencarian undang-undang perlindungan anak berbasis android. Terdapat beberapa macam algoritma string matching yang dapat digunakan untuk melakukan pencarian string, diantaranya : algoritma Rabin-Karp dan algoritma Boyer- Moore. Cara kerja algoritma Boyer-Moore yaitu dengan mencocokkan karakter dari kanan teks ke kiri teks. Algoritma ini mencocokkan karakter per karakter pada teks. Jika tidak cocok maka karakter di pattern tidak cocok mismatch. Jika cocok maka algoritma akan memberitahu penemuan posisi ini. Sedangkan algoritma Rabin-Karp merupakan pencocokan string yang menggunakan fungsi hash sebagai pembanding antara string yang dicari m dengan substring pada teksn. Apabila hash value keduanya sama maka akan dilakukan Universitas Sumatera Utara