BAB I PENDAHULUAN
1.1 Latar Belakang Perpustakaan merupakan faktor penting di dalam penunjang transformasi antara sumber ilmu (koleksi) dengan pencari ilmu (pengunjung). Perpustakaan juga sering disebut jantung dari sekolah dimana di dalamnya terdapat kumpulan koleksi, majalah, koran, jurnal, thesis, dan lain sebagainya yang disusun berdasarkan sistem tertentu yang digunakan sebagai media dalam mencari ilmu dan wawasan. Perpustakaan merupakan salah satu pusat informasi, sumber ilmu pengetahuan, penelitian dan rekreasi. Perpustakaan memiliki beberapa tugas pokok, yaitu : mengumpulkan berbagai jenis informasi, melestarikan, memelihara, dan merawat informasi yang ada, serta menyediakan informasi untuk dimanfaatkan dan diberdayakan oleh penggunanya. Dalam kehidupan yang serba modern dan cepat seperti saat ini semua orang membutuhkan informasi sebagai suatu hal yang hakiki. Tanpa informasi atau ketinggalan informasi akan membuat seseorang tersisih dan terbelakang. Disinilah peranan perpustakaan yang paling besar. Perpustakaan menjadi pusat informasi yang tidak pernah habisnya untuk digali, ditimba dan dikembangkan. Melalui perpustakaan seseorang dapat bertukar informasi dan saling memperoleh nilai tambah untuk perkembangan zaman. Koleksi buku-buku atau jurnal dan jenis lainnya yang dimiliki perpustakaan harus memiliki sistem penyimpanan dan pendataan yang tepat dan sesuai, karena ketika pengunjung perpustakaan membutuhkan suatu informasi tertentu bisa lebih mudah dan cepat untuk mendapatkannya, sehingga dibutuhkan suatu sistem aplikasi yang berfungsi untuk pencarian data atau berkas yang dibutuhkan tersebut, khususnya pada perpustakan Universitas Mercu Buana yang masih menggunakan banyak filter untuk mendapatkan data yang diinginkan. Permasalahannya ketika terdapat data inputan judul dan tahun yang diinputkan 1
http://digilib.mercubuana.ac.id/
adalah judul “A” dan tahun “2015”, padahal data yang pengunjung cari itu adalah judul “A” tahun “2014”, maka sistem tidak akan menampilkan yang pengunjung butuhkan. “Penerapan
Algoritma
String
Matching
Knutt-Morris-Pratt
untuk
Pencarian File pada Digital Library Mercubuana” adalah aplikasi yang dibuat untuk memudahkan penggunanya untuk mencari berkas-berkas yang dibutuhkan. Aplikasi tersebut menambahkan fitur word suggestion (saran kata) yaitu fitur pencarian hasil terdekat pada kata yang ingin kita cari seperti yang sering kita lihat pada aplikasi google. Dalam perancangan word suggestion ini membutuhkan algoritma yaitu algoritma pencocokan string (string matching) yang dapat dijadikan sebagai alternatif dalam menyelesaikan permasalahan tersebut. Algoritma string matching tersebut ada beberapa macam, diantaranya Brute Force, Knuth-Morris-Pratt, Boyer-Moore, Karp-Rabin dan lain sebagainya (Lubis, M.R. 2014). Beberapa penelitian yang berkaitan dengan algoritma string matching 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 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
2
http://digilib.mercubuana.ac.id/
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 algorritma String Matching yaitu algoritma Knuth-Morris-Pratt. Algoritma ini
akan membantu pengguna
dalam pencarian berkas yang dibutuhkannya menjadi lebih cepat. Algoritma KMP ini selain dapat memangkas waktu pencarian nama berkas dapat pula menyajikan berkas atau berkas secara tepat dan akurat. 1.2 Rumusan Masalah Rumusan masalah pada penelitian ini adalah : 1. Bagaimana cara melakukan pencarian dengan bantuan word suggestion ? 2. Bagaimana cara menampilkan hasil yang memiliki kesamaan atau kemiripan dengan word suggestion yang dimasukkan oleh pengunjung dengan persentase tingkat kemiripannya yang menggunakan algoritma Knuth-MorrisPratt (KMP) ?
1.3 Batasan Masalah Dari rumusan masalah yang diuraikan, untuk mendapatkan hasil yang lebih baik dan untuk mengurangi ruang lingkuh terjemahan yang terlalu besar, maka batasan masalah dalam penelitian ini, yaitu : 1. Peneliti menggunakan algoritma Knuth-Morris-Pratt (KMP) dan pengurutan kata pada word suggestion dalam textbox pencarian 2. Bahasa pemrograman menggunakan bahasa Java 3. Pengolahan database menggunakan storage penyimpanan MySQL 4. Object-Relation-Mappings (ORM) yang digunakan adalah hibernate 5. Tool aplikasi yang digunakan adalah Spring framework dan Bootstrap 6. Peneliti menggunakan library java script untuk word suggestion dalam textbox pencarian 7. Data atau informasi yang dicari adalah data-data dengan kategori tugas akhir 8. Aplikasi ini dibuat untuk perpustakaan Universitas Mercubuana
3
http://digilib.mercubuana.ac.id/
1.4 Tujuan dan Manfaat Tujuan yang dapat diperoleh dari penelitian ini adalah membuat aplikasi untuk mengaplikasikan algoritma Knuth-Morris-Pratt (KMP) dalam pencarian word suggestion agar dapat membantu pengguna ketika menggetikkan kata atau informasi yang ingin dicari. Penelitian ini diharapkan dapat memberikan manfaat bagi pengguna dalam melakukan pencarian sesuai dengan kemiripan kata yang dicari untuk mendapatkan informasi data atau berkas yang dibutuhkan secara tepat dan akurat.
1.5 Metodologi Penelitian Metode penelitian yang dilakukan dalam pembuatan tugas akhir ini meliputi lima bagian pokok, yaitu Kepustakaan, Analisis dan Perancangan Sistem, Implementasi Sistem, Pengujian Sistem dan Dokumentasi. 1. Kepustakaan -
Library Research, yaitu membaca dan mempelajari buku-buku, jurnal dan lain sebagainya yang merupakan sumber literatur berhubungan dengan Algoritma Knuth-Morris-Pratt (KMP) , word suggestion, dan running time.
-
Internet Browsing, yaitu melakukan pencarian sumber referensi pada situssitus dan dokumen-dokumen elektronik (e-book or journal) yang berkaitan dengan
pembahasan
Algoritma
Knuth-Morris-Pratt
(KMP),
word
suggestion, running time, dan persentase kemiripan dengan masukkan dari word suggestion. 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
4
http://digilib.mercubuana.ac.id/
Mengimplementasikan sistem sesuai hasil analisis dan perancangan ke dalam program komputer menggunakan bahasa pemrograman Java, Hibernate sebagai ORM nya, Spring sebagai framework nya 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.
1.6 Sistematika Penulisan Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut :
BAB I Pendahuluan Bab ini berisi pembahasan masalah yang terdiri dari latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metode penelitian, dan sistematika penulisan laporan.
BAB II Landasan Teori Di dalam bab ini berisi tentang teori-teori yang berkaitan dengan penelitian, diantaranya web, java, algoritma Knuth-Morris-Pratt (KMP). Di dalam bab ini juga menjelaskan tentang teori lain yang berkaitan dengan aplikasi ini.
BAB III Analisa dan Perancangan Sistem Bab ini berisi tentang uraian analisis mengenai proses kerja dari Algoritma Knuth-Morris-Pratt dalam pencarian word suggestion yang terdiri dari Unified Modeling Language (UML) dan perancangan interface aplikasi, perancangan sistem, dan rancangan desain interface aplikasi yang akan dibuat.
5
http://digilib.mercubuana.ac.id/
BAB IV Implementasi dan Pengujian Sistem Bab ini akan menjelaskan tentang implementasi sistem dan coding berdasarkan analisis dan perancangan sistem. Pengujian dilakukan untuk membuktikan perangkat lunak berjalan sesuai dengan spesifikasi yang telah ditentukan pada tahap analisis.
BAB V Kesimpulan dan Saran Bab ini akan menjelaskan kesimpulan atas program aplikasi yang telah dibuat serta saran untuk memgembangkan aplikasi ini lebih luas dan lebih baik lagi.
6
http://digilib.mercubuana.ac.id/