PENERAPAN STRING MATCHING PADA APLIKASI E-REPOSITORY
BERBASIS WEB DI STMIK BUDI DARMA MEDAN
Abdul Rahman
1, Guidio Leonardo Ginting
2,
Pristiwanto
3 1Mahasiswa Jurusan Teknik Informatika STMIK Budi Darma Medan
2,3Dosen Tetap STMIK Budi Darma Medan
E-mail:
1abdulrahman8195@gmail.com,
2guidio.leonard626@gmail.com,
34nt0.82@gmail.com
ABSTRAK
Repository salah satu sumber informasi dan referensi yang memiliki fungsi penting untuk menunjang proses kegiatan akademik sebuah lembaga atau institusi. Secara sederhana repository diartikan sebagai tempat penyimpanan, dimana dokumen, informasi atau data disimpan, dipelihara dan didigunakan. Sistem repository pada STMIK Budi Darma Medan yang saat ini berjalan melakukan penyimpanan repository dalam bentuk fisik dan disimpan dalam lemari atau ruangan repository. Jika dilihat dari segi ruang, akan membutuhkan persediaan tempat untuk peralatan seperti filling cabinet, map, rak dan lainnya. Hal ini menjadikan space penyimpanan membutuhkan tempat yang luas dan terkadang penataan repository kurang tertata dengan rapi. Dari segi waktu, akan memerlukan watu yang relative lama untuk menemukan kembali repository yang telah lama disimpa.
Repository dokumen dapat dilakukan dengan berbagai metode untuk menghasilkan repository dalam bentuk digital (e-repository). Salah atunya melakukan scanner terhadap setiap dokumen yang ingin dibuat dalam bentuk digital, sehingga akan menghasilkan repository dalam format jpg, pdf, atau docx. Tujuan utama dari proses repository dokumen adalah untuk mempermudah proses pencarian repository, keamanan repository yang sesuai dengan kepentingan dan elastisitas sistem repository yang dirancang dengan pertimbangan perluasan sistem penyimpanan dimasa kini dan dimasa yang akan datang.
Teknik pencarian repository dilakukan dengan mencocokan pola-pola String sehingga mendekati pola atau pattern dari string atau data yang dicari. Dengan menerapkan metode ini data-data yang di input kan menghasilkan output yang lebih cepat dan valid. Sehingga diharapkan dapat memberikan kualitas layanan administrasi kerepositoryan menjadi lebih baik dan efisien.
Kata Kunci : E-Repository, String Matching, Web.
1. Pendahuluan
Repository merupakan salah satu sumber informasi dan referensi yang memiliki fungsi penting untuk menunjang proses kegiatan akademik sebuah lembaga atau institusi. Secara sederhana repository diartikan sebagai tempat penyimpanan, dimana dokumen, informasi atau data disimpan, dipelihara dan didigunakan. Setiap institusi termasuk STMIK Budi Darma Medan tidak terlepas dari proses penciptaan repository, karena pada dasarnya repository merupakan hasil-hasil penelitian, artikel ilmiah, skripsi, tugas akhir, makalah, dan kertas karya yang dihasilkan oleh mahasiswa, atau karya ilmiah yang dihasilkan dosen. Secara umum repository dapat berupa tulisan, maupun gambar.
Sistem repository pada STMIK Budi Darma Medan yang saat ini berjalan melakukan penyimpanan
repository dalam bentuk fisik dan disimpan dalam lemari atau ruangan repository. Jika dilihat dari segi ruang, akan membutuhkan persediaan tempat untuk peralatan seperti
filling cabinet, map, rak dan lainnya. Hal ini menjadikan
space penyimpanan membutuhkan tempat yang luas dan terkadang penataan repository kurang tertata dengan rapi. Dari segi waktu, akan memerlukan watu yang relative
lama untuk menemukan kembali repository yang telah lama disimpan, serta pencarian repository menjadi kurang efektif. Semakin besar dan semakin beragamnya
repository yang terkumpul, maka dituntut adanya
perlakuan yang baik agar dapat memanajemen repository
tersebut.
Permasalahan di atas yang menjadi latar belakang dan alasan utama penulis untuk membangun suatu sistem yang dapat menyajikan informasi repository dalam bentuk digital (e-repository) berbasis web dengan menggunakan
algoritma pencarian atau pencocokan string. Algoritma
pencocokan string (string matching) merupakan bagian dalam proses pencarian string yang memegang peranan penting untuk mendapatkan repository yang sesuai dengan kebutuhan informasi. Algoritma ini akan sangat membantu bila diterapkan pada administrasi repository di mana keadaan repository yang semakin banyak dan selalu bertambah setiap waktu.
2. Landasan Teori
2.1 Penerapan
Dari pendapat para ahli penerapan (implementasi) dapat disimpulkan bahwa penerapan (implementasi) merupakan aktivitas untuk menjalankan suatu program berdasarkan acuan norma tertentu untuk mencapai tujuan kegiatan [1].
2.2 Algoritma
(1976:30) algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.
Adapun definisi algoritma meliputi:
1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis. 2. Suatu prosedur yang jelas untuk menyelesaikan
suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
Kata algoritma sendiri diadaptasi dari nama
ilmuwan muslim Abu Ja’far Muhammad ibn Musa Al -Khawarizmi (780-847 M) yang banyak menghasilkan karya dalam bidang matematika, disamping karya-karyanya dalam bidang lainnya seperti geografi dan musik.
Algoritma Knuth-Morris-Pratt (KMP) merupakan proses pencocokan string. Bila terjadi ketidak cocokan pada saat pattern sejajar dengan teks [i..i + n -1], kita bisa menganggap ketidak cocokan pertama terjadi di antara
teks [i + j] dan pattern [j], dengan <j<n. Berarti, teks [i..i + j]=pattern [0..j + 1] dan a = teks [i+j] tidak sama dengan b = pattern [j], ketika kita.
Dengan kata lain, pencocokan string akan berjalan secara efesien bila kita mempunyai tabel yang menentukan berapa panjang kita seharusnya menggeser seandainya terdeteki ketidak cocokan di karakter ke-j dari
pattern. Tabel itu harus memuat next[j] yang merupakan posisi karakter pattern[j] setelah digeser, sehingga kita menggeser pattern secara besar j-next[j] relatif terhadap
teks.
Secara sistematis, langkah-langkah yang dilakukan
algoritma Knuth-Morris-Pratt pada saat mencocokan
string adalah sebagai berikut [3]:
1. Algoritma Knuth-Morris-Pratt mulai mencocokan
pattern pada awal teks.
2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern, dengan karakter di teks
yang bersesuaian sampai salah satu kondisi berikut terpenuhi:
a.
Karakter di pattern dan diteks yang dibandingkan tidak cocok (mismatch).b.
Semua karakter di pattern cocok. Kemudianalgoritma akan memberitahukan penemuan diposisi ini.
3 Algoritma kemudian menggeser pattern berdasarkan table next, lalu menghitung langkah 2 sampai
pattern berada di unjung teks.
2.5 Repository
Istilah repository institusi atau simpan
kelembagaan merujuk ke sebuah kegiatan menghimpun dan melestarikan koleksi digital yang merupakan hasil karya intelektual dari sebuah komunitas tertentu. Cakupan yang disimpan dalam repository institusi tidak dibatasi hanya pada e-print dari artikel untuk jurnal ilmiah. Ada
yang mengusulkan agar literature abu-abu (grey
literature), bahan ajar, arsip, administrative, dan data
untuk penelitian ikut dimasukan kedalam repository
institusi [4].
3. Analisa Dan Perancangan
3.1 Analisa Masalah
Repository dokumen dapat dilakukan dengan berbagai metode untuk menghasilkan repository dalam bentuk digital (e-repository). Salah atunya melakukan
scanner terhadap setiap dokumen yang ingin dibuat dalam bentuk digital, sehingga akan menghasilkan repository
dalam format jpg, pdf, atau docx. Untuk melakukan pencarian file pada aplikasi e-repository maka penugguna terlebih dahulu diminta untuk memilih jenis atau format yang ingin dicari, lalu pengguna juga diminta untuk menginputkan keyword untuk melakukan pencarian file. Melalui langkah tersebut maka aplikasi e-repository akan melakukan pencarian file susuai dengan kata keyword. Setelah melakukan proses tersebut makan aplikasi akan menampilkan beberapa hasil pencarian sesuai dengan
keyword yang di inputkan.
3.2 Penerapan AlgoritmaKnuth Morris Pratt Proses pencarian repository pada aplikasi e-repository dapat dilakukan dengan salah satu algoritma string yaitu algoritma Knuth Morris-Pratt, dimana hasil pencarian repository akan ditampilkan. Pada bagian proses pencarian data dibutuhkan metode untuk pencarian
string dengan menggunakan algoritma Knuth-Morris-Pratt. AlgoritmaKnuth-Morris-Pratt (KMP) merupakan
algoritma yang digunakan untuk melakukan proses pencocokan string. Contoh penggunaan algoritmaKnuth Morris Pratt untuk pencarian pattern dalam teks :
Text : “SISTEM REPOSITORY” Pattern : “TORY”
Tabel 3.1
Contoh Pencarian Algoritma KMP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-1
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-2
tidak cocok, geser pattern satu langkah ke kanan menuju
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-3
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-4
tidak cocok, geser pattern satu langkah ke kanan menuju indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-5
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-6
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-7
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-8
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-9
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-10
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-11
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
S I S T E M R E P O S I T O R Y
T O R Y
Langkah Ke-12
tidak cocok, geser pattern satu langkah ke kanan menuju
indeks berikutnya,
Aplikasi E-repository yang dirancang merupakan aplikasi berbasis website. Aplikasi E-repository
menggunakan pemrograman PHP. Dimana untuk mengetikan listing program penulis menggunakan editor Dreamwever. Aplikasi E-repository menggunakan
algoritma Knuth Morris-Pratt untuk proses pencarian
repository, dimana algoritmaKnuth Morris-Pratt berguna bagi yang ingin mencari file repository menjadi lebih efesien Berikut ini hasil dari implementasi program yang telah dirancang:
1. Form Menu Utama
Menu utama dapat di katakan sebagai antar muka (user interface) antara user dengan aplikasi. Menu utama menampilkan pilihan menu yang telah tersedia pada aplikasi. Pada menu utama e-repository tersedia tiga pilihan menu yaitu menu home, file dan pencarian, dimana menu file berisikan submenu jurnal, skripsi, tugas akhir, dan laporan kerja praktek.
Gambar 4.1 Tampilan Menu Utama
2. Form Jurnal
Gambar 4.2 Tampilan Menu Jurnal
3. Form Skripsi
Form skripsi merupakan form yang di sediakan untuk melihat filerepository jenis skripsi yang telah tersimpan dalam database.
Gambar 4.3 Tampilan Menu Skripsi
4. Form Tugas Akhir
Form jurnal merupakan form yang di sediakan untuk melihat filerepository jenis tugas akhir yang telah tersimpan dalam database.
Gambar 4.4
Tampilan Menu Tugas Akhir
5. Form Laporan Kerja Praktek
Form jurnal merupakan form yang di sediakan untuk melihat filerepository jenislaporan kerja praktek yang telah tersimpan dalam database.
Gambar 4.5
Tampilan Menu Laporan Kerja Praktek
6. Form Pencarian
Form pencarian merupakan form yang di sediakan untuk mencari repository yang telah tersimpan dalam database. Apabila kata yang dicari tidak ada dalam database, maka proses pencarian akan berhenti dan meminta untuk memasukkan keyword
yang baru.
Gambar 4.6 Tampilan Menu Pencarian
5. Kesimpulan dan Saran
5.1 Kesimpulan
Berdasarkan pembahasan dan hasil yang diperoleh maka dapat disimpulkan hal-hal berikut :
1. Repository dokumen efektif bila disajikan dalam bentuk digital karena proses pencariannya menjadi lebih mudah.
2. Berdasarkan analisa dan pengujian bahwa penerapan
algoritma Knuth Morris Pratt dapat diimplementasikan pada aplikasi pencarian
repository.
3. Berdasarkan analisa dan pengujian bahwa aplikasi cocok dirancang menggunakan bahasa pemograman
5.2 Saran
Berdasarkan kesimpulan diatas, maka dapat dikemukakan saran untuk mengembangkan sekripsi ini lebih lanjut yaitu sebagai berikut:
1. Pencarian pada aplikasi e-repository masih dibatasi hanya untuk konten docx, pdf dan jpg, sehingga untuk pengembangan kedepan bisa ditambahkan pencarian format audio, dan video.
2. AlgoritmaKnuth-Morris-Pratt belum optimal untuk terapkan pada aplikasi pencarian repository, untuk pengembangan selanjutnya diharapkan mencoba
algoritma lain yang mampu melakukan proses pencarian menjadi lebih cepat.
3. Diharapkan untuk kedepanya aplikasi e-repository
dapat dikembangkan menjadi aplikasi berbasis
mobile.
DAFTAR PUSTAKA
[1]
Munir Yusuf. (Diunduh Tanggal 04 April 2017, 04 April) [Online]. www.muniryusuf.org[2]
Rinaldi Munir, Algoritma dan Pemograman dalam Bahasa Pascal dan C. Bandung: CV Informatika, 2001.[3]
Riyanarto Sarno, Yeni Anistyasari, and Rahimi Fitri,Semantic Search. Yogyakarta: Andi, 2012.