Lisensi ini mengizinkan setiap orang untuk menggubah ...kc.umn.ac.id/4845/48/HALAMAN AWAL.pdf ·...

13
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.

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

ii

Implementasi Metode Content..., Richard Firdaus Oeyliawan, FTI, 2017

iii

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

v

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