1 BAB I PENDAHULUAN 1.1. Latar Belakang Perkembangan dunia IT (Information Technology) dengan hadirnya mesin pencarian (Search Engine) di dalam sistem komputer yang merupakan salah satu fasilitas internet melalui browser telah memudahkan pengguna komputer untuk mencari informasi yang diinginkan pada masa sekarang ini, seperti pada situs-situs terkenal Google, Yahoo dan Youtube untuk mencari situs-situs yang isinya berupa berita, artikel, gambar, video dan lainnya serta pada berbagai situs jejaring sosial dimana pengguna mencari informasi tentang interaksi dari antar penggunanya. Atau dapat dikatakan suatu program yang dirancang untuk membantu pengguna menemukan filefile yang disimpan dalam komputer. Beberapa Search Engine tersebut, untuk memudahkan penggunanya melakukan pencarian yaitu dengan menambahkan fitur Word Suggestion (Saran Kata) yaitu fitur pencarian sugesti hasil terdekat pada kata yang ingin kita cari (Januardi, A. 2013) Dalam perancangan Word Suggestion ini membutuhkan algoritma yaitu algoritma pencocokan string (String Matching) dapat dijadikan alternatif dalam menyelesaikan permasalahan tersebut. Terdapat banyak algoritma string matching yang telah dikembangkan diantaranya seperti Brute Force, Knuth-Morris-Pratt, Boyer-Moore, Karp-Rabin dan lain sebagainya (Lubis, M. R. 2014). Beberapa penelitian yang berkaitan dengan masalah ini diantaranya yaitu penelitian yang pernah dilakukan oleh Januardi, A. (2013). Dalam melakukan pencarian Word Suggestion, Algoritma Brute Force dan Algoritma Boyer Moore dapat diterapkan dengan baik. Pada penerapannya algoritma Brute Force melakukan pencocokan karakter dengan melakukan pemeriksaan terhadap setiap karakter yang
2 dimulai dari sebelah kiri ke sebelah kanan, sedangkan algoritma Boyer Moore melakukan pencocokan karakter dengan melakukan pemeriksaan karakter dari sebelah kanan. Hal ini membuktikan bahwa dalam perancangannya Word Suggestion dapat dibuat menggunakan algoritma String Matching baik itu yang mencari karakter dari sebelah kiri dan dari sebelah kanan. Dan hasil dari penelitiannya tersebut di peroleh bahwa Algoritma Boyer Moore yang tercepat dalam melakukan pencarian Word Suggestion, hal ini ditunjukkan dengan kecilnya nilai yang didapat oleh algoritma tersebut sehingga jumlah rata-rata iterasinya kecil. Penelitian berikutnya adalah yang berkaitan dengan penelitian ini membuat aplikasi pencarian string Knuth-Morris-Pratt dalam permainan Word Search Oleh Ekaputri, G.H., Sinaga,.Y.A.(2006) dimana hasil penelitian menggunakan Algoritma Knuth-Morris-Pratt adalah algoritma KMP menyimpan sebuah informasi yang digunakan untuk melakukan jumlah pergeseran, sehingga algoritma ini melakukan pergeseran lebih jauh (tidak hanya bergeser satu karakter seperti dalam brute force). Dengan ini penggunaan algoritma KMP dapat mempersingkat waktu pencocokan string. Dalam penelitian ini, penulis menggunakan dua variasi dari algoritma string matching yaitu algoritma Brute Force dan algoritma Knuth-Morris-Pratt sehingga jika diterapkan dalam pencarian Word Suggestion akan membuat kecepatan dalam pencariannya berbeda, dan kecepatan pencarian informasi juga menjadi berbeda pula. Masalah yang akan timbul dalam penelitian ini adalah manakah algoritma yang paling cepat dalam pencarian Word Suggestion, untuk itu perlu adanya sebuah implementasi algoritma string matching ini dalam pencarian Word Suggestion.
3 1.2. Rumusan Masalah Adapun Rumusan Masalah pada Penelitian ini adalah bagaimana Algoritma Brute Force dan Algoritma Knuth-Morris-Pratt (KMP) melakukan pencarian dalam Word Suggestion? 1.3. Ruang Lingkup Penelitian Untuk mengurangi ruang lingkup terjemahan yang terlalu besar, maka batasan masalah dalam penelitian ini, yaitu: 1. Peneliti hanya menerapkan dua algoritma yaitu, algoritma Brute Force dengan algoritma Knuth-Morris-Pratt pada Word Suggestion dalam Search Engine. 2. Kata yang digunakan berdasarkan kamus istilah komputer 1715 kata dan dapat di tambah. 3. Untuk analisis perbandingan penelitian hanya mengkaji pada sisi running time, jumlah iterasi dan jumlah huruf pada pattern dari setiap proses. 4. Perancangan aplikasi untuk implementasi algoritma menggunakan pemrograman PHP (Hypertext Prepocessor) dan Mysql sebagai Database Management System (DBMS) 1.4. Tujuan Penelitian Adapun tujuan yang dapat diperoleh dari penelitian ini adalah membuat aplikasi untuk mensimulasikan algoritma Brute Force dan Algoritma Knuth-Morris-Pratt (KMP) dalam pencarian Word Suggestion agar dapat membantu pengguna ketika mengetikkan kata atau informasi yang ingin dicari.
4 1.5. Manfaat Penelitian Penelitian ini diharapkan dapat memberikan manfaat bagi peneliti, pembaca dan para peneliti lainnya, yaitu: 1. Untuk dapat mengetahui perbedaaan kecepatan antara Algoritma Brute Force dan Algoritma Knuth-Morris-Pratt (KMP) dalam pencarian Word Suggestion. 2. Dapat dijadikan sebagai acuan dalam memilih antara Algoritma Brute Force atau Algoritma Knuth-Morris-Pratt (KMP) untuk dijadikan sebagai algoritma dalam pencarian Word Suggestion 3. Untuk menghasilkan aplikasi yang dapat mengimplementasikan algoritma Brute Force dan Algoritma Knuth-Morris-Pratt (KMP) dalam pencarian Word Suggestion.
5 1.6. Metodologi Penelitian Metode yang digunakan dalam penulisan skripsi ini meliputi lima bagian pokok yaitu Kepustakaan, Analisis dan Perancangan Sistem, Implementasi Sistem, Pengujian Sistem dan Dokumentasi. 1. Kepustakaan a. Library Research, yaitu membaca dan mempelajari buku-buku sumber literatur yang berhubungan dengan Algoritma Brute Force, Algoritma Knuth-Morris-Pratt,Word Suggestion, dan Running Time. b. Internet Browsing, yaitu melakukan pencarian sumber referensi pada situssitus dan dokumen-dokumen elektronik (e-book/e-journal) yang berkaitan dengan pembahasan Algoritma Brute Force, Algoritma Knuth-Morris- Pratt, Word Suggestion, dan Running Time. 2. Analisis dan Perancangan Sistem Pada tahap ini hasil analisis akan menjadi dasar perancangan aplikasi sistem operasi pada komputer. Rancangan sistem dibuat menggunakan Unified Modeling Language (UML) dalam bentuk use case diagram, activity diagram, dan sequence diagram disertai pembuatan flowchart dan design interface. 3. Implementasi Sistem Mengimplementasikan sistem sesuai hasil analisis dan perancangan ke dalam program komputer menggunakan bahasa pemrograman PHP (Hypertext Prepocessor) dan Mysql sebagai Database Management System (DBMS). 4. Pengujian Sistem Pada tahap ini dilakukan pengujian sistem, apakah implementasi telah sesuai dengan tujuan penelitian. 5. Dokumentasi Metode ini dilaksanakan dengan membuat dokumentasi dalam bentuk laporan tugas akhir.
6 1.7. Sistematika Penulisan Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama sebagai berikut: BAB I PENDAHULUAN Bab ini berisi mengenai latar belakang pemilihan judul skripsi Implementasi Algoritma Brute Force dan Algoritma Knuth-Morris-Pratt dalam Pencarian Word Suggestion, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan. BAB II LANDASAN TEORI Bab ini berisi tentang teori-teori yang berkaitan dengan penelitian, antara lain definisi Algortima, Algoritma String Matching, Algoritma Brute Force, Algoritma Knuth-Morris-Pratt dan Word Suggestion. BAB III ANALISIS DAN PERANCANGAN Bab ini berisi tentang uraian analisis mengenai proses kerja dari Algoritma Brute Force dan Algoritma Knuth-Morris-Pratt dalam pencarian Word Suggestion yang terdiri dari flowchart,unified Modeling Language (UML) dan perancangan interface aplikasi. BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini berisi implementasi sistem dan coding berdasarkan hasil analisis dan perancangan. Pengujian dilakukan untuk membuktikan perangkat lunak berjalan sesuai dengan spesifikasi yang telah ditentukan pada tahap analisis. BAB V KESIMPULAN DAN SARAN Bab ini berisi mengenai kesimpulan dari keseluruhan uraian dari bab-bab sebelumnya dan saran-saran dari hasil yang telah diperoleh yang kedepannya diharapkan dapat bermanfaat dalam pengembangan selanjutnya.