BAB I PENDAHULUAN 1.1 Latar Belakang Sumber informasi atau referensi sudah merupakan hal yang tidak asing lagi bagi seorang peneliti, terutamanya bagi para mahasiswa yang sedang melakukan penelitian untuk tugas akhir. Dalam penelitian, mahasiswa pastinya melakukan pencarian terhadap jurnal-jurnal terkait penelitian yang sedang dilakukan sebagai referensi. Selain itu, jurnal tersebut juga dapat memperkuat argumen mahasiswa dalam laporan tugas akhirnya. Namun, alangkah baiknya jika jurnal-jurnal yang dijadikan referensi tersebut adalah jurnal penelitian dari mahasiswa, alumni maupun dosen yang sudah pernah melakukan penelitian sebelumnya sehingga dapat dikembangkan pada penelitian selanjutnya. Seiring dengan berkembangnya jumlah penelitian yang dilakukan, dokumen jurnal yang dipublikasikan dari penelitian tersebut tentunya akan semakin bertambah dalam koleksi dokumen. Pencarian secara manual terhadap tumpukan dokumen tentunya menghabiskan banyak tenaga. Selain menghabiskan banyak waktu, dokumen yang kita dapatkan belum tentu relevan dengan apa yang kita inginkan. Meninjau dari permasalah tersebut, terlihat pentingnya suatu sistem pencarian dokumen jurnal yang dapat mempermudah mahasiswa maupun dosen untuk mencari referensi atau untuk kegiatan perkuliahan. Sehingga keberadaan sistem pencarian dokumen jurnal ini sangat di perlukan di lingkungan Jurusan Ilmu Komputer Universitas Udayana. Sistem pencarian yang dimaksud lebih dikenal dengan Sistem Temu Kembali Informasi (STKI). STKI merupakan kegiatan untuk menemukan suatu material (dokumen) dari data yang tidak terstruktur (berbentuk teks) yang dapat memenuhi kebutuhan informasi yang dicari dalam koleksi dokumen yang besar. Informasi yang dikembalikan oleh STKI berupa tumpukan dokumen yang relevan terhadap query yang dimasukkan oleh pengguna (Manning et al, 2008). STKI diperlukan ketika koleksi dokumen yang besar dimana teknik katalog tradisional tidak dapat mengatasinya (Sanderson & Croft, 2012). 1
2
Sampai saat ini terdapat beberapa model-model untuk melakukan pembobotan dokumen dalam STKI, salah satunya adalah model peluang. Model peluang merupakan salah satu model retrieval terbaik (Zhang et al, 2013). Salah satu framework pada model peluang ini adalah BM25 yang dikembangkan oleh (Robertson & Jones, 1976). BM25 memiliki fungsi yang sesuai dengan 3 prinsip pembobotan yang baik, yaitu memiliki inverse document frequecy (IDF), term frequency (TF), dan memiliki fungsi normalisasi dari panjang dokumen (document length normalization). Sampai saat ini, BM25 merupakan fungsi yang memiliki tingkat keberhasilan terbaik (Saputra, 2013). Oleh karenanya fungsi ini masih terus dikembangkan oleh beberapa peneliti. Salah satu pengembangan dari BM25 adalah BM25+ yang dikembangkan oleh (Lv & Zhai, 2011) dimana dalam penelitian tersebut dikatakan bahwa normalisasi TF berdasarkan panjang dokumen tidak dibatasi (lower-bounded) dengan benar. Oleh karena itu dikembangkan fungsi BM25+ yang dapat mengatasi kekurangan dari fungsi aslinya. Dari hasil penelitian didapat bahwa fungsi BM25+ memiliki performa yang lebih baik daripada fungsi BM25. Berdasarkan pemaparan di atas, maka peneliti menggunakan BM25+ sebagai model perangkingan untuk pengembangan sistem pencarian dokumen jurnal di Jurusan Ilmu Komputer Universitas Udayana. Pada tahap pengembangan sistem ini digunakan model proses Waterfall yang merupakan suatu metode pengembangan perangkat lunak yang bersifat berurutan dalam tiap pengerjaan tahapnya (Sommerville, 2011). Tahap dalam model proses ini terdiri dari analisis dan definisi kebutuhan, desain, implementasi, pengujian, dan pemeliharaan sistem. Sesuai dengan pengertiannya, model proses ini dikerjakan secara berurutan, jadi jika pengerjaan pada suatu tahap belum terselesaikan, maka pengerjaan untuk tahap selanjutnya tidak diperbolehkan. Sehingga dapat dihasilkan suatu perangkat lunak dengan kualitas yang baik dan sesuai dengan kebutuhan pengguna.
3
1.2 Rumusan Masalah Berdasarkan latar belakang di atas, maka permasalahan yang akan dibahas dalam penelitian ini yaitu: 1. Bagaimana perancangan dan implementasi sistem pencarian dokumen jurnal menggunakan Metode BM25+. 2. Bagaimana pengaruh modifikasi nilai tuning parameter dari metode BM25+ terhadap tingkat precision, recall dan non interpolated average precision (NIAP) dari sistem pencarian dokumen jurnal.
1.3 Tujuan Penelitian Tujuan dari penelitian ini adalah: 1. Merancang dan mengimplementasikan sistem pencarian dokumen jurnal yang mampu memberikan informasi yang relevan dengan query pengguna menggunakan metode BM25+. 2. Mengetahui pengaruh modifikasi nilai tuning parameter dari metode BM25+ terhadap tingkat precision, recall, dan NIAP dari hasil temu balik informasi pada sistem pencarian dokumen jurnal.
1.4 Batasan Masalah Batasan-batasan masalah yang akan dijadikan acuan dalam penelitian ini adalah: 1. Dokumen jurnal yang digunakan dalam penelitian ini terdiri dari dokumen Jurnal Seminar Nasional Teknologi Informasi dan Aplikasinya (SNATIA) dan dokumen Jurnal Elektronik Ilmu Komputer Universitas Udayana (JELIKU). 2. Dokumen yang dijadikan dataset adalah dokumen berbahasa Indonesia.
1.5 Manfaat Penelitian Adapun manfaat yang diharapkan penulis dari penelitian ini adalah: 1. Menghasilkan sistem pencarian dokumen dengan menggunakan metode BM25+ yang dapat menampilkan informasi dokumen jurnal penelitian di
4
lingkungan jurusan Ilmu Komputer Universitas Udayana yang sesuai dengan query pengguna. 2. Memberikan kemudahan bagi para pengguna terutama mahasiswa yang sedang melakukan penelitian dalam mencari referensi dokumen jurnal penelitian Jurusan Ilmu Komputer Universitas Udayana.
1.6 Metodelogi Penelitian 1.6.1
Desain Penelitian Desain penelitian yang digunakan pada penelitian ini adalah studi kasus.
Studi kasus merupakan penelitian yang memusatkan perhatian pada suatu kasus tertentu dengan menggunakan individu atau kelompok sebagai bahan studinya (Hasibuan Z. A., 2007). Penggunaan penelitian studi kasus ini biasanya difokuskan untuk menggali dan mengumpulkan data yang lebih dalam terhadap obyek yang diteliti untuk dapat menjawab permasalahan yang sedang terjadi. Sehingga bisa dikatakan bahwa penelitian bersifat deskriptif dan eksploratif. Permasalahan yang ingin diselesaikan dalam penelitian ini yaitu bagaimana merancang dan membangun sistem pencarian dokumen jurnal yang dapat digunakan oleh pengguna khususnya bagi para peneliti yang ingin mencari referensi untuk penelitian yang sedang dilakukan. Data dokumen yang digunakan pada penelitian ini adalah jurnal penelitian yang terdapat di lingkungan Jurusan Ilmu Komputer Universitas Udayana. Metode yang digunakan dalam pengembangan sistem adalah model proses waterfall dimana dalam implementasinya model proses ini bersifat sistematis, yaitu tahap pengembangannya dilakukan secara berurutan dan dilakukan evaluasi pada masing-masing tahap untuk memastikan pengembangan sistem berjalan dengan baik. Pada tahap awal, akan dilakukan pendifinisian kebutuhan sistem baik itu kebutuhan fungsional dan non-fungsional. Definisi kebutuhan sistem ini selanjutnya akan dianalisis dan dijadikan sebagai acuan dalam pengembangan sistem.
5
1.6.2
Pengumpulan Data Data yang digunakan pada penelitian ini dibagi menjadi 2 yaitu Data Primer
dan Data Sekunder. Data primer adalah data yang diambil langsung dari obyek penelitian atau merupakan data yang berasal dari sumber asli atau pertama. Data Sekunder adalah data yang tidak didapatkan secara langsung dari objek penelitian, melainkan data yang berasal dari sumber yang telah dikumpulkan oleh pihak lain (Hasibuan Z. A., 2007). Data primer pada penelitian ini diperoleh dengan melakukan wawancara yang ditujukan pada pengguna sistem, yaitu mahasiswa dan dosen. Hal ini dilakukan untuk dapat mendefinisikan kebutuhan pada pengembangan sistem yang terdiri dari kebutuhan fungsional dan non-fungsional. Kebutuhan ini nantinya akan dijadikan acuan dalam pengembangan sistem. Data Sekunder pada penelitian ini menggunakan data dokumen jurnal yang berada di lingkungan Jurusan Ilmu Komputer Universitas Udayana. Dokumen jurnal yang dimaksud dibagi menjadi 2 yaitu dokumen Jurnal Elektronik Ilmu Komputer Universitas Udayana (JELIKU) yang diperoleh dari ketua redaksi jurnal dan dokumen jurnal Seminar Nasional Teknologi Informasi dan Aplikasinya (SNATIA) yang diperoleh dari ketua pelaksana kegiatan seminar.
1.6.3
Pengolahan Data Awal Setelah mendapatkan data primer dan data sekunder terkait penelitian yang
dilakukan, proses selanjutnya yaitu pengolahan data awal. Pengolahan data atau analisa data merupakan proses pra-analisa yang mempunyai tahapan-tahapan sebagai berikut: editing data, pengembangan variable, pengkodean data, cek kesalahan, membuat struktur data, cek preanalisa komputer, dan tabulasi (Hasibuan Z. A., 2007). Pengolahan data ini dilakukan agar data tersebut mudah digunakan dalam pengembangan sistem. Dari data primer yang didapatkan yaitu definisi kebutuhan sistem selanjutnya akan dilakukan analisis lebih lanjut dan mengidentifikasi ke dalam kebutuhan fungsional dan non-fungsional. Sedangkan pada data sekunder yaitu data
6
dokumen jurnal, akan dilakukan text preprocessing yang terdiri dari Case Folding, Tokenizing, Filtering, dan Stemming.
1.6.4
Metode yang digunakan Dalam merancang dan membangun “Sistem Pencarian Dokumen Jurnal
Menggunakan Metode BM25+” akan digunakan model proses Waterfall. Model proses ini terdiri dari 5 fase, yaitu analisis dan definisi kebutuhan, desain, implementasi, pengujian, dan pemeliharaan. Pada tiap fasenya akan dilakukan evaluasi dan dokumentasi apakah fase tersebut sudah dilakukan dengan benar sebelum melanjutkan ke fase berikutnya. Pada fase pengujian sistem akan dilakukan teknik pengujian sistem yaitu Static Testing, White Box Testing, Black Box Testing, dan Performance Testing. Hal ini bertujuan agar perangkat lunak yang dihasilkan sesuai dengan kebutuhan pengguna dan dapat berjalan sebagaimana mesitnya.
1.6.5
Eksperimen dan Pengujian Metode Dalam penelitian ini sistem akan dikembangkan dengan menggunakan
model proses Waterfall yang terdiri dari 5 fase tahapan yaitu: 1.
Requirement analysis and definition Fase ini merupakan pencarian informasi yang akan digunakan sebagai acuan
dalam pembuatan sistem nantinya. Pengumpulan informasi ini dilakukan dengan metode wawancara dengan pengguna baik itu mahasiswa maupun dosen. Definisi kebutuhan ini dapat memberikan gambaran umum sistem yang akan dibangun. Kegiatan selanjutnya yaitu mengidentifikasi definisi kebutuhan tersebut ke dalam kebutuhan fungsional dan non-fungsional yang ditunjukkan pada tabel 1.1. dan 1.2. Tabel 1.1. Rancangan Tabel Kebutuhan Fungsional No Kebutuhan Fungsional 1
Kebutuhan A
2
Kebutuhan B
3
Kebutuhan C
7
Tabel 1.2. Rancangan Tabel Kebutuhan Non-Fungsional No
2.
Kebutuhan Non-Fungsional
Deskripsi
1
Kebutuhan A
Deskripsi A
2
Kebutuhan B
Deskripsi B
3
Kebutuhan C
Deskripsi C
System and software design Pada tahap ini akan dilakukan perancangan sistem sesuai dengan kebutuhan
fungsional dan non-fungsional yang sudah didefinisikan pada fase sebelumnya. Berikut adalah hal-hal yang dilakukan pada fase ini. 1. Memodelkan sistem dengan menggunakan Unified Modeling Language (Use Case Diagram, Class Diagram, Activity Diagram, Sequence Diagram). 2. Perancangan database dengan menggunakan Entity Relationship Diagram (ERD). 3. Perancangan antarmuka.
3.
Implementation and unit testing Pada fase ini, peneliti akan mengimplementasikan rancangan perangkat
lunak yang telah dibuat pada fase sebelumnya ke dalam bahasa pemrograman. Implementasi sistem ini meliputi pembuatan database, antarmuka, hingga persiapan test case yang akan digunakan pada fase pengujian sistem. Dalam fase ini akan digunakan beberapa komponen yaitu: 1. Database server menggunakan MySQL 2. Sistem ini akan dibangun dan diimplementasikan dengan menggunakan framework Codeigniter, PHP, HTML, JQuery, JavaScript, dan AJAX 3. Sublime Text 2 sebagai text editor 4. Metode BM25+ sebagai pembobotan dokumen.
8
4.
Integration and system testing Pada fase ini, akan dilakukan pengujian terhadap sistem pencarian dokumen
jurnal menggunakan BM25+, apakah sistem sudah sesuai dengan definisi kebutuhan yang ditentukan sebelumnya dan memberikan dokumen yang relevan dengan query pengguna. Teknik pengujian sistem yang akan digunakan pada fase ini yaitu Static Testing, White Box Testing, Black Box Testing, dan Performance Testing (Everett & McLeod Jr., 2007). Sedangkan untuk pengujian tingkat akurasi metode BM25+ akan dilakukan perhitungan Precision dan Recall (Manning et al, 2008).
5.
Operation and maintenance Setelah sistem dinyatakan selesai, maka sistem akan dirilis. Para pengguna
sistem akan memberikan feedback setelah menggunakan sistem seperti ditemukan bug pada sistem, maka sistem akan segera di analisis dan diperbaiki. Jika tidak ditemukan permasalahan yang signifikan maka sistem akan dinyatakan selesai dan dirilis sebagai versi 1.0.
1.6.6
Evaluasi dan Validasi Hasil Pada penelitan ini akan dilakukan pengujian dari sisi sistem dan sisi metode
yang digunakan. Untuk pengujian sistem dilakukan 5 pengujian yang berupa Static Testing, Black Box Testing, White Box Testing, dan Performance Testing. Untuk pengujian metode digunakan perhitungan Precision dan Recall. 1.
Static Testing Pada pengembangan sistem ini akan dilakukan static testing dengan
menggunakan metode desk checking. Metode desk checking dilakukan dengan menguji apakah hasil dokumentasi perancangan sistem pada fase System and software design dapat diimplementasikan dengan benar, dan definisi kebutuhan mampu dipenuhi berdasarkan rancangan sistem.
9
Tabel 1.3. Rancangan Tabel Static Testing No
Kebutuhan Sistem Implementasi Sistem
Keterangan
1
Kebutuhan A
Implementasi A
Sesuai
2
Kebutuhan B
Implementasi B
Tidak Sesuai
3
Kebutuhan C
Implementasi C
Kurang Sesuai
2.
Black Box Testing Black Box Testing bertujuan untuk mengetahui tingkah laku sistem apakah
sistem sudah berjalan sesuai yang diinginkan. Pengujian dituangkan dalam bentuk tabel uji (Tabel 1.4) dengan melakukan berbagai macam skenario terdapat sistem dilihat hasilnya dan disimpulkan validasinya.
Tabel 1.4. Rancangan Tabel Black Box Testing No Butir Uji
Skenario
Keluaran
Hasil yang Kesimpulan
pengujian
pengujian
Diharapkan
1
Pengujian 1
Skenario 1
Output 1
Hasil 1
Valid
2
Pengujian 2
Skenario 2
Output 2
Hasil 2
Valid
3
Pengujian 3
Skenario 3
Output 3
Hasil 3
Valid
3.
White Box Testing Pengujian white box pada penelitian ini, akan dilakukan dengan pengujian
basis path atau dikenal dengan Cyclomatic Complexity yang tahapannya terdiri dari (Pressman, 2010): 1.
Menggambar flowgraph yang ditransfer oleh flowchart.
2.
Menghitung Cylomatic Complexity V(G) untuk flowgraph yang telah dibuat.
3.
Menentukan jalur pengujian dari flowgraph yang berjumlah sesuai dengan Cyclomatic Complexity yang telah ditentukan. Cyclomatic Complexity yang tinggi menunjukkan prosedur kompleks yang
sulit untuk dipahami, diuji dan dipelihara.
10
4.
Performance Testing Pengujian akan dilakukan dengan mencatat waktu yang digunakan untuk
memproses sebuah query hingga pengembalian dokumen yang didapat oleh sistem. Pada setiap tahap percobaan query dilakukan penambahan dokumen pada koleksi dokumen untuk mengetahui kinerja sistem apabila koleksi dokumen terus bertambah. Berikut adalah rancangan tabel Performance Testing.
Tabel 1.5. Rancangan Tabel Performance Testing Query
5.
Jumlah dokumen 10
20
30
40
Query 1
0,1 detik
0,2 detik
0,3 detik
0,4 detik
Query 2
0,1 detik
0,2 detik
0,3 detik
0,4 detik
Query 3
0,1 detik
0,2 detik
0,3 detik
0,4 detik
Precision dan Recall Precision dan Recall digunakan untuk menguji tingkat relevansi informasi
hasil pencarian dokumen dengan query pengguna (Manning et al, 2008). Precision dapat dianggap sebagai ukuran ketepatan atau ketelitian, sedangkan recall dapat diartikan sebagai kesempurnaan. Nilai precision adalah proporsi dokumen yang terambil oleh sistem adalah relevan. Nilai recall adalah proporsi dokumen relevan yang terambil oleh sistem. Berikut adalah rancangan tabel pengujian precision dan recall. Tabel 1.6. Rancangan Tabel Precision dan Recall
Query
Dokumen
Tidak
Dokumen
Tidak
Relevan
Relevan
Terambil
Ditemukan
Total Dokumen Recall Precision Relevan
11
1.6.7
Jadwal Pelaksanaan Kegiatan
Tabel 1.7. Jadwal Kegiatan Minggu keNo
Nama Kegiatan
1
Pengumpulan Data
2
Studi Literatur
3
Pengolahan Data
4
Perancangan Sistem
5
Implementasi Sistem
6
Pengujian Sistem
7
Penulisan Laporan
1
2 3
4
5
6
7
8
9
10 11 12