Fitur atau Layanan Algoritma

sebuah fasilitas yang membantu pengguna mencari kata dengan cara mengetikkan kata yang diinginkan pada kolom pencarian. Penggunaan kamus elektronik atau kamus digital ini lebih efisien dalam hal waktu dibandingkan dengan kamus buku.

2.2 Fitur atau Layanan

Autocomplete Fitur autocomplete atau word completion merupakan fasilitas yang disediakan oleh berbagai web browser , email-programs , search engine interface, source code editors , database query tools, word processor , dan command line interpreters . Autocomplete juga tersedia untuk atau sudah terintegrasi di dalam text editor . Autocomplete melakukan prediksi terhadap sebuah kata atau frasa yang pengguna ingin tulis tanpa harus menulis keseluruhan kata atau frasa secara lengkap Kusuma, 2012. Autocomplete digunakan untuk mempermudah masalah pada pengetikan, misalnya apabila pengguna tidak dapat mengeja suatu kata dengan baik atau pengguna bingung dan sering sulit mengingat istilah yang tepat. Autocomplete dapat membantu untuk melengkapi kata yang diketikkan oleh pengguna menjadi kata yang mungkin dimaksud oleh pengguna. Dengan begitu, penggunaan autocomplete ini dapat mempersingkat waktu pengguna pada pengetikan kata tersebut Morville Callender, 2010. Autocomplete bekerja ketika pengguna menulis huruf pertama atau beberapa hurufkarakter dari sebuah kata. Program yang melakukan prediksi akan mencari kemungkinan kata sebagai pilihan. Jika kata yang dimaksud ada dalam pilihan itu, maka pengguna dapat memilih itu Kusuma, 2012. Fitur autocomplete dapat dilihat pada Facebook Search ataupun search suggestion pada Google Search , Seacrh engine pada media sosial, pada aplikasi katalog perpustakaan, kamus dan aplikasi pencarian lainnya. Fitur autocomplete ini dapat dilihat pada gambar 2.1. Universitas Sumatera Utara Gambar 2.1 Autocomplete pada Google Search

2.3 Algoritma

Exact String Matching Pencocokan string merupakan bagian terpenting dari sebuah proses pencarian string dalam sebuah dokumen. Pencocokan string melakukan pencarian untuk semua kemunculan string pendek yang disebut pattern terhadap strin g yang lebih panjang atau disebut text . Hasil dari pencarian string dalam dokumen tergantung pada teknik atau cara pencocokan string yang digunakan. Exact string matching , yaitu pencocokan sebuah string secara sangat tepat dengan susunan karakter dalam string yang dicocokkan baik dalam jumlah maupun urutan karakter dalam string nya. Pada proses pencocokan string , digunakan sebuah window yang akan bergeser di text . Window itu memiliki panjang yang sama dengan panjang pattern . Pada awal proses pencocokan string , window diletakkan pada ujung kiri text , lalu karakter-karakter pada window dibandingkan dengan karakter-karakter pada pattern , kemudian window akan digeser ke kanan di text dengan jarak tertentu, dan pergeseran tersebut baru akan berhenti bila window tersebut sampai pada ujung kanan text atau sampai pattern ditemukan cocok. Charras Lecroq, 2001. Algoritma brute force merupakan algoritma paling alami untuk pencocokan string . Algoritma brute force menemukan semua kemunculan karakter dari pattern y dengan panjang n pada text x dengan panjang m dengan waktu O n x m . Beberapa Universitas Sumatera Utara pengembangan dari algoritma brute force dapat diklasifikasikan berdasarkan pada urutan pada saat algortima tersebut melakukan pencocokan antara karakter di pattern dan karakter di text pada setiap tahap pencocokannya Charras Lecroq, 2001. Kategori pertama, arah yang paling alami dalam pencocokan string yaitu dari kiri ke kanan. Algoritma kategori ini melakukan pencocokan string dimulai dari karakter paling kiri pattern seperti yang ditunjukkan pada gambar 2.2. Beberapa algoritma yang termasuk dalam kategori ini adalah algoritma brute force , algoritma Karb-Rabin, dan algoritma Knuth-Morris-Pratt. Gambar 2.2 Pencocokan dari karakter paling kiri ke karakter paling kanan pattern left to right Kategori kedua, algoritma yang melakukan pencocokan dari kanan ke kiri karakter pada pattern seperti yang dapat dilihat pada gambar 2.3. Algoritma yang termasuk dalam kategori ini umumnya dikatakan sebagai algoritma yang menghasilkan hasil terbaik pada praktekmya, yaitu algoritma Boyer-Moore. Gambar 2.3 Pencocokan dari karakter paling kanan ke karakter paling kiri pattern right to left Kategori ketiga yaitu pencocokan dari dua arah yang telah ditentukan oleh tiap algoritma tertentu. Salah satunya seperti yang diterapkan oleh Galil-Seiferas dan Crochemore-Perrin dalam algoritma Two Way , mereka membagi pattern y menjadi dua bagian yaitu y = y 1 y 2 . Seperti yang dapat kita lihat pada gambar 2.4, pertama kali, pencarian terjadi pada y 2 yang dilakukan dari karakter paling kiri ke kanan, apabila selama pencarian pertama tidak terjadi ketidakcocokan atau pattern y 2 cocok dengan Universitas Sumatera Utara text selanjutnya pada pencarian kedua algoritma akan memeriksa pada y 1 yang dilakukan dari kanan ke kiri seperti yang ditunjukkan pada gambar 2.5. Gambar 2.4 Pencocokan pada pattern y 2 dimulai dari karakter paling kiri Gambar 2.5 Pencocokan pada pattern y 1 dimulai dari karakter paling kanan

2.4 Algoritma Boyer-Moore