Flowchart Sistem autocomplete Proses pencarian pada Boyer Moore untuk autocomplete

3.5 Perancangan sistem

3.5.1 Flowchart Sistem autocomplete

Adapun alur kerja yang terdapat pada autocomplete dapat dilihat pada gambar 3.5 tidak ya Gambar.3.5 Flowchart autocomplete dengan algoritma Boyer Moore Mengambil semua judul buku pada database Memodifikasi kata pada judul buku dengan operasi tambahtukarhapus Hitung nilai jarak pada Boyer Moore Mulai Ketika ditemukan kata yang pas Input Judul buku Membandingkan judul buku pada database dengan judul buku yang diinput pengguna selesai Menampilkan Autocomplete Universitas Sumatera Utara

3.5.2 Proses pencarian pada Boyer Moore untuk autocomplete

Algoritma Boyer Moore adalah salah satu algoritma pencarian string yang dipublikasikan oleh Rober S. Boyer an J. Stroher Moore pada tahun 1977. Algoritma Boyer Moore tidak seperti algoritma pencarian string lainnya, algoritma Boyer Moore mulai mencocokkan karakter dari sebelah kanan pattern sehingga pencariannya lebih cepat. Algoritma Boyer Moore dianggap sebagai pencocokan string yang paling efisien dalam berbagai aplikasi. Algoritma ini sering diimplementasi dalam teks editor seperti Microsoft Word untuk fungsi Font dan Replace. Minandar 2009. 1. Sistematika Algoritma Boyer Moore a. Algoritma Boyer Moore mulai mencocokkan pattern pada awal teks. b. Dari kanan ke kiri, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuain sampai salah satu kondisi berikut : - Karakter di pattren dan di teks yang dibandingkan tidak cocok missmatch - Semua karakter dipattern cocok, kemudian algoritma ini akan memberitahukan penemuan di posisi ini. c. Algoritma menggeser pattern dengan memaksimalkan nilai pergeseran Occurrence Heuristic dan pergeseran Math Heuristic untuk melakukan pergeseran seingga menemukan teks yang sama dengan pattern. R Wald,2012 Cara kerja Algoritma Boyer Moore : e l e k T r o n I k Gambar 5.2. Pencocokan 1 Gambar 3.6. Pencocokan 1 R o n I Universitas Sumatera Utara Langkah ke -1 e l e k T r o n I k Gambar 3.7. Pencocokan 2 Langkah ke 2 e l e k t r o n I k Gambar 5.2. Gambar 3.8. Pencocokan 3 Langkah ke-3 Dari gambar 5.2, dapat dilihat bahwa karakter terakhir dari kata kunci adalah huruf “i” yang terakhir dari kata kunci adalah huruf “i” yang dicocokkan dengan huruf “k” pada kata “elektronik”. Karena huruf “i” dan huruf “k” berbeda, maka akan dilakukan pencocokan huruf “k” dengan seluruh karakter pada kata kunci. Karena huruf “k” tidak terdapat pada seluruh karakter pada kata kunci, maka kata kunci bergeser ke kanan sebanyak empat karakter sesuai dengan panjang karakter kata kunci seperti yang tampak pada gambar 5.3. setelah dilakukan pergeseran maka dicocokkan kembali karakter terakhir pada kata kunci yaitu huruf “i” dengan huruf “n” dicocokkan dengan keseluruhan karakter pada kata kunci. Karena pada kata kunci. Karena pada kata kunci terdapat huruf “n”, maka kata kunci akan bergeser sedemikian rupa sehingga huruf “n” pada kata kunci memiliki posisi yang sejajar dengan posisi huruf “n” pada kata yang dicocokkan seperti yang ditujukan pada gambar 5.4. Setelah itu dilakukan kembali pencocokan karakter terkhir kata kunci, yaitu huruf “i” yang terletak sejajar dengan huruf “i” tersebut, karena karakter tersebut sama maka dicocokkan kembali karakter yang berbeda dsebelah kiri huruf “i” sehingga kesluruhan karakter pada kata kunci selesai diperiksa. R o n i r o n I Universitas Sumatera Utara 2. Cara menghitung Tabel Occurrence Heuristic Posisi 1 2 3 4 String R O N I OH 3 2 1 Tabel 3.4. Occurence Heuristic 1. Lakukan pencacahan mulai dari posisi terakhir string sampai ke posisi awal, dimulai dengan nilai 0, catat karakter yang sudah ditemukan dalam contoh ini karakter “I” 2. Mundur ke posisi sebelumnya, nilai pencacah ditambah 1, jika karakter pada posisi ini belum pernah ditemukan, maka nilai pergeserannya adala sama dengan nilai pencacah.dalam contoh ini, karakter “N” belum pernah ditemukan sehingga nilai pergeserannya adalah sebesar nilai pencacah yaitu 1. 3. Mundur ke posisi sebelumnya, karakter”O” nilai pergeserannya 2 4. Mundur lagi, karakter “R” nilai pergeserannya yaitu 3. 5. Begitu seterusnya sampai posisi awal string. 3. Cara menghitung tabel Math Heuristic Posisi 1 2 3 4 String R O N I OH 4 4 4 1 Tabel 3.5 Math Heuristic Universitas Sumatera Utara Nilai MH didapat dari langkah-langkah sebagai berikut : String R O N X A B C D Pattern R O N I R O N I Gambar 3.9. Proses pencarian Math Heuristic 1 Untuk ketidakcocokan karakter pada posisi terakhir posisi 4, karakter “I” maka nilai pergesernnya selalu I String R O X I A B C D Pattern R O N I R O N I Gambar 3.10. Proses pencarian Math Heuristic 2 Jika karakter “I” sudah cocok, tetapi karakter pada posisi 3 sebelum “I” bukan “N” maka geser sebanyak 4 posisi, sehingga posisi string melawati teks. Karena sudah pasti “ ROXI” bukan “RONI” String R X N I A B C D Pattern R O N I R O N I Gambar 3.11. Proses pencarian Math Heuristic 3 Jika karakter “N” sudah cocok, tetapi karakter pada posisi 2 sebelum “N” bukan “O” maka geser sebanyak 4 posisi, sehingga posisi string melewati teks. Karena sudah past “RXNI” bukan “RONI” Universitas Sumatera Utara String X O N I A B C D Pattern R O N I R O N I Gambar 3.12. Proses pencarian Math Heuristic 4 Jika karakter “O” sudah cocok, tetapi karakter posisi 1 sebelum”O” bukan “R” maka geser sebanyak 4 posisi, sehingga posisi string melewati teks. Karena sudah pasti “XONI” bukan “RONI”. Dari proses diatas maka pergeseran Math Heuristic nya ditemukan R=4, O=4, I=1. Hasil pencocokan : String 1 2 3 4 Pattern R O N I OH 3 2 1 MH 4 4 4 1 Tabel 3.6. Tabel nilai OH dan MH Universitas Sumatera Utara

3.5.3 Flowchart Sistem autocorrect