Lisensi ini mengizinkan setiap orang untuk menggubah ...kc.umn.ac.id/4845/48/HALAMAN AWAL.pdf ·...
Transcript of Lisensi ini mengizinkan setiap orang untuk menggubah ...kc.umn.ac.id/4845/48/HALAMAN AWAL.pdf ·...
Team project ©2017 Dony Pratidana S. Hum | Bima Agus Setyawan S. IIP
Hak cipta dan penggunaan kembali:
Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis dan melisensikan ciptaan turunan dengan syarat yang serupa dengan ciptaan asli.
Copyright and reuse:
This license lets you remix, tweak, and build upon work non-commercially, as long as you credit the origin creator and license it on your new creations under the identical terms.
IMPLEMENTASI METODE CONTENT-BASED FILTERING
PADA APLIKASI REKOMENDASI BUKU MENGGUNAKAN
VECTOR SPACE MODEL
(STUDI KASUS: PERPUSTAKAAN UMN)
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer (S.Kom.)
Richard Firdaus Oeyliawan
13110110011
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN INFORMATIKA
UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2017
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
iv
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa, karena atas berkat dan rahmat-
Nya, skripsi dengan judul “Implementasi Metode Content-based Filtering Pada
Aplikasi Rekomendasi Buku Menggunakan Vector Space Model (Studi Kasus:
Perpustakaan UMN)” ini dapat terselesaikan dengan baik. Laporan ini dibuat
sebagai salah satu syarat kelulusan mata kuliah skripsi pada Program Studi Teknik
Informatika, Fakultas Teknik dan Informatika.
Skripsi ini dapat diselesaikan karena dukungan dan keterlibatan dari
beberapa pihak. Oleh karena itu, ucapan terima kasih layak diucapkan kepada:
1. Dr. Ninok Leksono, selaku Rektor Universitas Multimedia Nusantara yang
memberi inspirasi bagi penulis untuk berprestasi.
2. Maria Irmina Prasetiyowati, S.Kom., M.T., selaku Ketua Program Studi
Teknik Informatika Universitas Multimedia Nusantara, yang telah
mengajarkan banyak hal mengenai perancangan program yang baik selama
berkuliah di UMN.
3. Dennis Gunawan, S.Kom., M.Sc., selaku dosen pembimbing skripsi yang
telah dengan sabar mengajar penulis tata cara menulis karya ilmiah dengan
baik dan benar serta memotivasi penulis untuk menyelesaikan skripsi dengan
baik.
4. Dosen dan staff Universitas Multimedia Nusantara yang telah banyak
membantu dan memberikan pelajaran dalam penulisan laporan skripsi ini.
5. Mas Dony dan Mas Bima selaku staff perpustakaan Universitas Multimedia
Nusantara yang selalu menyempatkan waktunya dalam menjawab pertanyaan
seputar perpustakaan dan penelitian ini.
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
vi
IMPLEMENTASI METODE CONTENT-BASED FILTERING
PADA APLIKASI REKOMENDASI BUKU MENGGUNAKAN
VECTOR SPACE MODEL
(STUDI KASUS: PERPUSTAKAAN UMN)
ABSTRAK
Perpustakaan merupakan salah satu fasilitas penyedia informasi, sumber
ilmu pengetahuan, dan sarana penunjang proses kegiatan belajar mengajar bagi para
pengguna untuk mendapatkan informasi yang diinginkan. Jumlah buku yang
banyak pada sebuah perpustakaan universitas membuat pembaca kerap kali
kesulitan dalam menemukan buku yang diinginkan. Perpustakaan Universitas
Multimedia Nusantara (UMN) menggunakan sistem Senayan Library Management
System (SLiMS) sebagai katalog perpustakaan. SLiMS memiliki beberapa modul
yang membantu pengguna, tetapi fitur rekomendasi koleksi masih belum
dihadirkan dalam sistem SLiMS. Oleh karena itu, dibuatlah sebuah aplikasi
rekomendasi buku yang dapat memberikan rekomendasi buku yang relevan dengan
buku yang dipilih berdasarkan kemiripan deskripsi yang dimiliki setiap buku.
Aplikasi dibangun menggunakan Vector Space Model untuk merepresentasikan
dokumen dalam bentuk vektor. Dalam proses pengujian yang telah dilakukan
dengan nilai batas ambang cosine similarity 0,1 untuk pengujian dengan sampel
relevansi 2 bahasa, diperoleh nilai rata-rata precision sebesar 41,5%, nilai rata-rata
recall sebesar 43,1%, dan F-Measure sebesar 42,3%, sedangkan untuk pengujian
dengan sampel relevansi 1 bahasa diperoleh nilai rata-rata precision sebesar 46,5%,
nilai rata-rata recall sebesar 67,4%, dan F-Measure sebesar 55%.
Kata kunci: Preprocessing data, algoritma porter stemmer, Vector Space Model,
TF-IDF, cosine similarity
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
vii
IMPLEMENTATION OF CONTENT-BASED FILTERING ON
BOOKS RECOMMENDATION APPLICATION USING
VECTOR SPACE MODEL
(CASE STUDY: UMN LIBRARY)
ABSTRACT
Library is one of the facilities that provides information, knowledge
resource, and acts as an academic helper for readers to get the information they
want. The huge number of books that library has, usually make readers find the
books with difficulty. Universitas Multimedia Nusantara uses the Senayan Library
Management System (SLiMS) as the library catalogue. SLiMS has many features
that help readers, but there is still no recommendation feature to help the readers
finding the books which are relevant to the specific book that readers choose based
on the similarity of description that each book has. The application has been built
with Vector Space Model to represent the document in vector model. After testing,
using two languages as the sample of the relevant books, the results are, 41.5% for
precision, 43.1% for recall, and 42.3% for F-Measure. However, with one language
as the sample of relevant books, the results are 46.5% for precision, 67.4% for
recall, and 55% for F-Measure. All of the results are calculated with cosine
similarity formula and threshold above 0.1.
Keyword: Preprocessing data, algoritma porter stemmer, Vector Space Model, TF-
IDF, cosine similarity
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
viii
DAFTAR ISI
LEMBAR PENGESAHAN SKRIPSI ................... Error! Bookmark not defined. PERNYATAAN TIDAK MELAKUKAN PLAGIATError! Bookmark not
defined.
KATA PENGANTAR ........................................................................................... iv ABSTRAK ............................................................................................................. vi ABSTRACT .......................................................................................................... vii DAFTAR ISI ........................................................................................................ viii DAFTAR TABEL ................................................................................................... x
DAFTAR GAMBAR ............................................................................................. xi
BAB I PENDAHULUAN ....................................................................................... 1 1.1 Latar Belakang .............................................................................................. 1
1.2 Rumusan Masalah ......................................................................................... 4 1.3 Batasan Masalah ............................................................................................ 4 1.4 Tujuan Penelitian ........................................................................................... 5 1.5 Manfaat Penelitian ......................................................................................... 5
1.6 Sistematika Penulisan .................................................................................... 6 BAB II TINJAUAN PUSTAKA ............................................................................. 7
2.1 Sistem Rekomendasi ..................................................................................... 7 2.2 Content-based Filtering ................................................................................. 7
2.3 Text Mining ................................................................................................... 9 2.4 Tahapan Preprocessing Data ......................................................................... 9
2.5 Algoritma Porter Stemmer ........................................................................... 13 2.6 Algoritma Porter Stemmer pada Bahasa Indonesia ..................................... 15 2.7 Term Frequency-Inverse Document Frequency (TF-IDF) .......................... 17
2.8 Vector Space Model .................................................................................... 19 2.9 Cosine Similarity ......................................................................................... 21
2.10 Precision, Recall, dan F-Measure .............................................................. 22 BAB III METODOLOGI DAN PERANCANGAN APLIKASI .......................... 24
3.1 Metodologi Penelitian ................................................................................. 24
3.2 Pengumpulan Data ...................................................................................... 25 3.3 Tahapan Preprocessing Data ....................................................................... 26 3.4 Perancangan Aplikasi .................................................................................. 28
3.4.1 Data Flow Diagram............................................................................. 28 3.4.2 Flowchart ............................................................................................ 39
3.4.3 Entity Relationship Diagram .............................................................. 54 3.4.4 Database Schema ................................................................................ 55
3.4.5 Struktur Tabel ..................................................................................... 56 3.4.6 Rancangan Tampilan Antarmuka ....................................................... 60
BAB IV IMPLEMENTASI DAN UJI COBA ...................................................... 65
4.1 Spesifikasi Perangkat .................................................................................. 65 4.2 Implementasi ............................................................................................... 66
4.2.1 Implementasi Algoritma ..................................................................... 66 4.2.2 Tampilan Admin ................................................................................. 66 4.2.3 Implementasi Kode Tampilan Pengguna ............................................ 94
4.2.4 Tampilan Pengguna ............................................................................ 94 4.3 Skenario Uji Coba Aplikasi ......................................................................... 96
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
ix
4.3.1 Pengujian Sampel Buku dengan Dua Bahasa ..................................... 97 4.3.2 Pengujian Sampel Buku dengan Satu Bahasa .................................. 102 4.3.3 Analisis Hasil Pengujian ................................................................... 107
BAB V SIMPULAN DAN SARAN ................................................................... 109 5.1 Simpulan .................................................................................................... 109
5.2 Saran .......................................................................................................... 110 DAFTAR PUSTAKA ......................................................................................... 111 LAMPIRAN ........................................................................................................ 114
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
x
DAFTAR TABEL
Tabel 2.1 Pasangan Confix yang Tidak Diperbolehkan ........................................ 15 Tabel 2.2 Perhitungan Precision dan Recall (Hasugian, 2006) ............................. 23 Tabel 3.1 Struktur Tabel buku_research ............................................................... 56
Tabel 3.2 Struktur Tabel mst_stoplist ................................................................... 57 Tabel 3.3 Struktur Tabel tb_katadasar .................................................................. 58 Tabel 3.4 Struktur Tabel terms_dict...................................................................... 59 Tabel 3.5 Struktur Tabel weight............................................................................ 59 Tabel 3.6 Struktur Tabel similarity ....................................................................... 60
Tabel 4.1 Delimiter Proses Tokenization .............................................................. 71
Tabel 4.2 Daftar Buku Relevan yang Diharapkan ................................................ 98 Tabel 4.3 Perhitungan Precision dan Recall Aplikasi Rekomendasi Buku .......... 99
Tabel 4.4 Rata-rata Precision and Recall ............................................................ 102
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
xi
DAFTAR GAMBAR
Gambar 2.1 Contoh Case Folding ......................................................................... 10 Gambar 2.2 Contoh Tokenizing ............................................................................ 11 Gambar 2.3 Contoh Filtering ................................................................................ 12
Gambar 2.4 Contoh Stemming .............................................................................. 13 Gambar 2.5 Algoritma Porter Stemmer ................................................................ 14 Gambar 2.6 Struktur Morfologi Kata Derivasional pada Bahasa Indonesia ......... 16 Gambar 2.7 Algoritma Porter Stemmer Bahasa Indonesia ................................... 17 Gambar 2.8 Vector Space Model .......................................................................... 20
Gambar 2.9 Matriks term document ..................................................................... 20
Gambar 3.1 DFD Context Diagram Aplikasi Rekomendasi Buku ....................... 29 Gambar 3.2 DFD Level 1 Aplikasi Rekomendasi Buku ....................................... 31
Gambar 3.3 DFD Level 2 Back End Process ........................................................ 34 Gambar 3.4 DFD Level 3 Stopword Process ........................................................ 36 Gambar 3.5 DFD Level 3 Saving Books Data Process ......................................... 37 Gambar 3.6 DFD Level 2 Front End Process ....................................................... 38
Gambar 3.7 DFD level 3 Select Book Process ..................................................... 39 Gambar 3.8 Flowchart Gambaran Sistem Pencarian Buku SLiMS ...................... 41
Gambar 3.9 Flowchart Gambaran Sistem Back End Secara Umum ..................... 42 Gambar 3.10 Flowchart Data Description Google Books API ............................. 43
Gambar 3.11 Flowchart Data Description Goodreads API ................................... 44 Gambar 3.12 Flowchart Menyimpan Stopword .................................................... 44
Gambar 3.13 Flowchart Case Folding dan Tokenization...................................... 45 Gambar 3.14 Flowchart Filtering .......................................................................... 46 Gambar 3.15 Flowchart Stemming ....................................................................... 47
Gambar 3.16 Flowchart Indexing Term ................................................................ 48 Gambar 3.17 Flowchart Menghitung Bobot TF-IDF ............................................ 50
Gambar 3.18 Flowchart Menghitungan Kemiripan Buku .................................... 52 Gambar 3.19 Flowchart View Stopword .............................................................. 53 Gambar 3.20 Flowchart Add New Stopword ........................................................ 53
Gambar 3.21 Flowchart Edit Stopword ................................................................ 54 Gambar 3.22 Entity Relationship Diagram Aplikasi Rekomendasi Buku ............ 55 Gambar 3.23 Database Schema Aplikasi Rekomendasi Buku.............................. 55
Gambar 3.24 Aplikasi rekomendasi buku pada laman detail buku ....................... 62 Gambar 3.25 Laman Pengelolaan Stoplist Admin ................................................ 63
Gambar 3.26 Laman Penambahan Stoplist Admin ............................................... 63 Gambar 3.27 Laman Pengubahan Stoplist Admin ................................................ 64
Gambar 4.1 Potongan Kode Program Pencarian Deskripsi Google Books API ... 67 Gambar 4.2 Potongan Kode File update_description.php .................................... 68 Gambar 4.3 Potongan Kode Program Pencarian Deskripsi Goodreads API ........ 69
Gambar 4.4 Potongan Kode Program Menyimpan Stopword .............................. 70 Gambar 4.5 Potongan Kode Program Tahap Tokenization ................................ 720
Gambar 4.6 Potongan Kode Program Tahap Case Folding .................................. 72 Gambar 4.7 Potongan Kode Fungsi doFiltering() ................................................. 73 Gambar 4.8 Kode Fungsi filtering() ...................................................................... 73
Gambar 4.9 Potongan Kode Fungsi doStemming() .............................................. 74 Gambar 4.10 Potongan Kode Fungsi search_dict() .............................................. 75
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017
xii
Gambar 4.11 Potongan Kode Fungsi hapuspartikel() ........................................... 75 Gambar 4.12 Potongan Kode Fungsi hapuskataganti()......................................... 76 Gambar 4.13 Potongan Kode Fungsi hapusawalan1() .......................................... 77 Gambar 4.14 Potongan kode fungsi hapusawalan2() ............................................ 77 Gambar 4.15 Potongan Kode Fungsi hapusakhiran() ........................................... 78
Gambar 4.16 Potongan Kode Fungsi m() ............................................................. 79 Gambar 4.17 Potongan Kode Fungsi doubleConsonant() .................................... 79 Gambar 4.18 Potongan Kode Fungsi cvc() ........................................................... 80 Gambar 4.19 Potongan Kode Fungsi replace() ..................................................... 80 Gambar 4.20 Potongan Kode Fungsi step1ab() .................................................... 81
Gambar 4.21 Potongan Kode Fungsi step1c() ...................................................... 82
Gambar 4.22 Potongan Kode Fungsi step2() ........................................................ 83 Gambar 4.23 Potongan Kode Fungsi step3() ........................................................ 84
Gambar 4.24 Potongan Kode Fungsi step4() ........................................................ 85 Gambar 4.25 Potongan Kode Fungsi step5() ........................................................ 86 Gambar 4.26 Potongan Kode Fungsi saveTerm() ................................................. 87 Gambar 4.27 Potongan Kode Fungsi checkTerm()............................................... 88
Gambar 4.28 Potongan Kode Proses Pengambilan Data Perhitungan Bobot ....... 89 Gambar 4.29 Potongan Kode Fungsi getIndex()................................................... 89
Gambar 4.30 Potongan Kode Fungsi getTfidf() ................................................... 90 Gambar 4.31 Potongan Kode Vektor Dokumen ................................................... 91
Gambar 4.32 Potongan Kode Menghitung Kemiripan Antar Buku ...................... 91 Gambar 4.33 Laman Admin Stoplist .................................................................... 92
Gambar 4.34 Laman Admin Menambah Stopword .............................................. 92 Gambar 4.35 Laman Admin Mengubah Stopword ............................................... 93 Gambar 4.36 Potongan Kode untuk Membuat View buku_rekomendasi............. 94
Gambar 4.37 Laman Detail Buku pada Sistem SLiMS UMN .............................. 95 Gambar 4.38 Screenshot Tampilan Aplikasi Rekomendasi Buku ........................ 96
Gambar 4.39 Perbandingan Pengujian 1 Bahasa dan Pengujian 2 Bahasa ......... 108
Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017