perbandingan sistem rekomendasi film metode user- … · 2018-09-06 · perbandingan sistem...

197
PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Guna Memperoleh Gelar Sarjana Komputer Pada Progam Studi Teknik Informatika Oleh : Imam Dwicahya 14 5314 111 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2018 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 13-Feb-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER-

BASED DAN ITEM-BASED COLLABORATIVE FILTERING

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Guna Memperoleh Gelar Sarjana Komputer

Pada Progam Studi Teknik Informatika

Oleh :

Imam Dwicahya

14 5314 111

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2018

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

COMPARISON OF THE FILM RECOMMENDER SYSTEM BETWEEN

USER-BASED AND ITEM-BASED COLLABORATIVE FILTERING

METHODS

THESIS

Present as Partial Fulfillment of Requirement

To Obtain the Sarjana Komputer Degree

In Informatics Engineering Study Program

By :

Imam Dwicahya

14 5314 111

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTIY OF SCIENSE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2018

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

iii

HALAMAN PERSETUJUAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

iv

HALAMAN PENGESAHAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

v

HALAMAN PERSEMBAHAN

“ Just do the best. Let God do the rest. “

Tugas akhir ini saya persembahkan kepada :

Allah SWT

Ibu dan Ayah tercinta

Keluarga terkasih

Teman-teman seperjuangan Teknik Informatika 2014

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak

memuat karya atau bagian orang lain, kecuali yang telah disebutkan dalam kutipan

daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 24 Juli 2018

Penulis,

Imam Dwicahya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Imam Dwicahya

NIM : 14 5314 111

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER-

BASED DAN ITEM-BASED COLLABORATIVE FILTERING

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,

mengalihkan dalam bentuk media lain untuk kepentingan akademis tanpa perlu

meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap

mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya

Dibuat di Yogyakarta

Pada tanggal 24 Juli 2018

Yang menyatakan,

Imam Dwicahya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

viii

ABSTRAK

Sistem rekomendasi adalah sistem yang mampu memberikan rekomendasi

item-item yang mungkin disukai oleh pengguna. Metode Collaborative Filtering

merupakan salah satu metode pada sistem rekomendasi. Metode ini memanfaatkan

penilaian pengguna lain berupa rating atau umpan balik lain untuk memprediksi

item yang mungkin diminati. Collaborative filtering (CF) memiliki 2 metode umum

yaitu user-based CF dan item-based CF.

Dalam tugas akhir ini, penulis melakukan penelitian terhadap keakuratan

dari metode user-based CF dan item-based CF untuk mengetahui metode yang

lebih baik diantara keduanya. Skenario pengujian adalah dengan mengubah-ubah

jumlah maksimal neighbor untuk mendapatkan nilai prediksi. Perhitungan

similaritas antar pengguna atau antar item dilakukan dengan menggunakan

perhitungan Pearson Correlation. Kesalahan dari hasil prediksi rating terhadap

rating sesungguhnya dihitung dengan menggunakan perhitungan Mean Absolute

Error (MAE). Data set yang penulis gunakan adalah data set dari MovieLens.org

berupa 100.000 rating yang diberikan oleh pengguna terhadap film. Data tersebut

dibagi menjadi data training dan testing.

Hasil akhir pengujian menunjukkan bahwa metode item-based CF lebih

akurat dalam hal memberikan rekomendasi dibanding metode user-based CF. Hal

itu dibuktikan dengan hasil uji MAE pada kedua metode, dari 6 skenario pengujian,

metode item-based CF mengungguli pembandingnya sebanyak 5 skenario. Metode

item-based CF memberikan prediksi rating paling baik pada jumlah maksimal

neighbor 100 dengan nilai MAE sebesar 0.793895061, sedangkan user-based CF

pada jumlah maksimal neighbor 70 dengan nilai MAE sebesar 0.800633522.

Kata kunci : Collaborative Filtering; Item-based Collaborative Filtering;

Neighbor; Pearson Correlation; Sistem Rekomendasi; User-based Collaborative

Filtering;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

ix

ABSTRACT

The recommender system is a system that capable of provided

recommendations for items that users may liked. Collaborative Filtering (CF)

method is one of the methods of recommendation system. The users provided

recommendations by utilized other user ratings in the form of ratings or similar

feedbacks to predict items that may be liked or desirable. The Collaborative

Filtering has two general methods, named user-based CF and item-based CF. The

researcher investigated the accuracy of these two methods, then compared the

accuracies of the two methods. The testing scenario was varying the maximum

number of neighbors in getting predicted values.

The researcher calculated the similarity between users or between items by

using Pearson Correlation calculations. The error of the prediction was calculated

by using Mean Absolute Error (MAE) calculation. The researcher used 100.000

rating data sets from Movilens.org. The data set were divided into training and

testing data. The result shows that item-based CF method is more accurate in terms

of providing recommendations than user-based CF method. It was showed by the

MAE of both methods. Out of 6 testing scenarios, the item-based CF method

outperforms the comparison in 5 scenarios. The item-based CF method provides

the best rating prediction on the maximum number of neighbor 100 with MAE value

of 0.793895061, while the user-based CF on the maximum number of neighbor 70

with the MAE value of 0.800633522.

Keywords: Collaborative Filtering; Item-based Collaborative Filtering; Neighbor;

Pearson Correlation; Recommendation System; User-based Collaborative Filtering;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

x

KATA PENGANTAR

Alhamdulillahirabbil’alamin, puji syukur atas segala limpahan nikmat dan

karunia Allah SWT, Tuhan yang Maha Kuasa. Hanya dengan petunjuk, rahmat dan

ridho-Nya, sehingga penulis dapat menyelesaikan tugas akhir dengan judul

“PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER-

BASED DAN ITEM-BASED COLLABORATIVE FILTERING”.

Ucapan terima kasih yang besar dan penghargaan yang tinggi penulis

sampaikan kepada yang terhormat Ibu P. H. Prima Rosa, S.Si., M.Sc. selaku

pembimbing pertama dan Bapak Robertus Adi Nugroho, S.T., M.Eng. selaku

pembimbing kedua, yang dengan penuh perhatian, dan kesabaran selalu

meluangkan waktu, memberikan pengarahan serta semangat dalam pengerjaan

tugas akhir ini.

Penulis sadar, adapun dalam proses pengerjaan tugas akhir ini sampai

dengan selesai, tidak terlepas dari dukungan, bantuan, dan doa dari berbagai pihak.

Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terima kasih yang

tulus kepada :

1. Kedua orang tua penulis, Ayah dan Ibu yang sangat memberikan

dukungan penuh dan doa restu, juga motivasi yang begitu dibutuhkan

oleh penulis.

2. Bapak Sudi Mungkasi, S. Si., M.Mat., Ph.D. selaku Dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma.

3. Ibu Dr. Anastasia Rita Widiarti, S.Si., M.Kom. selaku Ketua Program

Studi Teknik Informatika Universitas Sanata Dharma.

4. Bapak Henricus Agung Hernawan, S.T., M.Kom. selaku Dosen

Pembimbing Akademik.

5. Seluruh dosen Teknik Informatika Universitas Sanata Dharma yang

telah memberikan ilmu, mengajarkan pengetahuan dan pengalaman

berharga selama proses perkuliahan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xi

6. Sahabat-sahabat penulis, antara lain :

- Lae Babat yang tidak henti-hentinya menyemangati penulis untuk

terus berjuang mengejar ketertinggalan.

- Dik Sin yang memotivasi penulis dan memberikan suntikan

semangat yang ekstra.

- Keluarga Ipul yang selalu ada dan mendorong penulis untuk maju

dan tidak menyerah dengan keadaan.

- Kecambah Squad 2017 yang selalu ada berbagi kebahagiaan di sela-

sela tekanan akhir semester.

- Sekelik brother stone yang selalu menanyakan kabar dan memberi

dukungan dari luar Yogyakarta.

7. Teman-teman seperjuangan Teknik Informatika 2014 yang

menyemangati satu sama lain, berjuang selama proses perkuliahan dan

memberikan pengalaman serta kesan yang tidak akan terlupakan.

Penulis berharap penelitian ini dapat berguna dan membantu bagi pembaca.

Penulis menyadari bahwa tugas akhir ini tidak sepenuhnya sempurna, oleh karena

itu penulis mengharapkan kritik dan saran agar penelitian ini dapat berkembang dan

menjadi penelitian yang lebih baik untuk ke depan.

Yogyakarta, 24 Juli 2018

Penulis,

Imam Dwicahya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xii

DAFTAR ISI

HALAMAN PERSETUJUAN ............................................................................... iv

HALAMAN PENGESAHAN ................................................................................ iv

HALAMAN PERSEMBAHAN ............................................................................. v

PERNYATAAN KEASLIAN KARYA ................................................................ vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI................................ vii

ABSTRAK ........................................................................................................... viii

ABSTRACT ........................................................................................................... ix

KATA PENGANTAR ............................................................................................ x

DAFTAR ISI ......................................................................................................... xii

DAFTAR GAMBAR ........................................................................................... xvi

DAFTAR TABLE ............................................................................................... xxii

DAFTAR RUMUS ............................................................................................ xxiii

DAFTAR QUERY ............................................................................................. xxiv

BAB I PENDAHULUAN ....................................................................................... 1

1.1. Latar Belakang ............................................................................................. 1

1.2. Rumusan Masalah ........................................................................................ 3

1.3. Batasan Masalah........................................................................................... 3

1.4. Tujuan Penelitian ......................................................................................... 4

1.5. Manfaat Penelitian ....................................................................................... 4

1.6. Sistematika Penulisan .................................................................................. 4

BAB II LANDASAN TEORI ................................................................................. 6

2.1. Sistem Rekomendasi .................................................................................... 6

2.2. Collaborative Filtering ................................................................................ 7

2.3.1. User-based Collaborative Filtering ................................................... 9

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xiii

2.3.2. Item-based Collaborative Filtering.................................................... 9

2.3.3. Alur Penerapan Metode Collaborative Filtering sampai Prediksi

Rating 10

2.3. Pearson Correlation .................................................................................. 11

2.4. Perhitungan Prediksi .................................................................................. 12

2.5. Mean Absolute Error (MAE) ..................................................................... 13

2.6. MovieLens .................................................................................................. 14

BAB III METODOLOGI PENELITIAN.............................................................. 15

3.1. Alur Penelitian ........................................................................................... 15

3.2. Penjelasan Tahap Penelitian ....................................................................... 16

3.2.1. Penelitian Pendahulan ...................................................................... 16

3.2.1.1. Identifikasi Masalah .................................................................... 16

3.2.1.2. Penetapan Tujuan dan Manfaat Penelitian .................................. 16

3.2.2. Studi Pustaka .................................................................................... 16

3.2.3. Pengambilan Data ............................................................................ 16

3.2.4. Perancangan dan Implementasi Sistem ............................................ 18

3.2.5. Pengujian Sistem .............................................................................. 18

3.2.6. Analisa Hasil .................................................................................... 19

3.2.7. Kesimpulan dan Saran...................................................................... 19

3.3. Spesifkasi Software dan Hardware ............................................................ 20

BAB IV PERANCANGAN PERANGKAT LUNAK .......................................... 21

4.1. Perancangan Umum ................................................................................... 21

4.1.1. Diagram Use Case............................................................................ 21

4.1.2. Narasi Use Case ............................................................................... 22

4.2. Perancangan Input ...................................................................................... 22

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xiv

4.2.1. Model Konseptual (ER Diagram) .................................................... 23

4.2.2. Model Logikal (Relasi) .................................................................... 24

4.2.3. Model Fisikal ................................................................................... 25

4.3. Perancangan Proses .................................................................................... 27

4.3.1. Algoritma Setiap Blok Proses .......................................................... 32

4.3.2. Contoh Perhitungan Metode ............................................................ 58

4.3.2.1. Metode User-based CF ............................................................... 58

4.3.2.2. Metode Item-based CF ................................................................ 62

4.3.2.3. Perhitungan MAE ....................................................................... 67

4.3.3. Diagram Kelas Disain ...................................................................... 69

4.3.3.1. Kelas View .................................................................................. 70

4.3.3.2. Kelas Control .............................................................................. 71

4.3.3.3. Kelas Model ................................................................................ 72

4.4. Perancangan Output ................................................................................... 76

4.4.1. Halaman Utama ................................................................................ 77

4.4.2. Halaman User-based ........................................................................ 78

4.4.3. Halaman Item-based......................................................................... 79

4.4.4. Halaman Hasil Prediksi .................................................................... 81

4.4.5. Halaman Pencarian........................................................................... 82

4.4.6. Halaman Daftar Rating .................................................................... 83

BAB V IMPLEMENTASI DAN ANALISA HASIL ........................................... 84

5.1. Implementasi Input..................................................................................... 84

5.2. Implementasi Proses................................................................................... 89

5.2.1. Blok Proses pada Kelas .................................................................... 89

5.2.2. Implementasi Blok Proses dalam Koding ........................................ 90

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xv

5.3. Implementasi Output ................................................................................ 119

5.3.1. Halaman Utama .............................................................................. 119

5.3.2. Halaman User-based ...................................................................... 119

5.3.3. Halaman Item-based....................................................................... 123

5.3.4. Halaman Hasil Prediksi .................................................................. 125

5.3.5. Halaman Pencarian......................................................................... 129

5.3.6. Halaman Daftar Rating .................................................................. 131

5.4. Analisis Hasil dan Pembahasan ............................................................... 133

5.4.1. Hasil Uji Validasi Program ............................................................ 133

5.4.2. Hasil Uji MAE Pada Metode User-based CF ................................ 133

5.4.3. Hasil Uji MAE Pada Metode Item-based CF ................................ 136

5.4.4. Perbadingan Metode User-based CF dan Item-based CF ............. 139

BAB VI PENUTUP ............................................................................................ 145

6.1. Kesimpulan .............................................................................................. 145

6.2. Saran ......................................................................................................... 146

DAFTAR PUSTAKA ......................................................................................... 147

LAMPIRAN 1 : Narasi Use Case ....................................................................... 150

LAMPIRAN 2 : Hasil Uji Validasi Program ...................................................... 157

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xvi

DAFTAR GAMBAR

Gambar 2.1 Konsep Collaborative Filtering (Hakim, 2010). .................................. 7

Gambar 2.2 Matriks preferensi rating dari pengguna kepada item (McDonald,

2015) ........................................................................................................................ 8

Gambar 2.3 Konsep user-based filltering (Marafi, 2014)........................................ 9

Gambar 2.4 Konsep item-based filltering (Marafi, 2014)...................................... 10

Gambar 2.5 Alur penerapan Collaborative Filtering (Richi and Saphira, 2011) .. 10

Gambar 3.1 Diagram Alur Penelitian..................................................................... 15

Gambar 4.1 Diagram Use Case .............................................................................. 21

Gambar 4.2 Contoh data set pada table ratings ...................................................... 22

Gambar 4.3 Rancangan ER Diagram pada sistem ................................................. 23

Gambar 4.4 Model logikal dari rancangan basis data pada sistem ........................ 24

Gambar 4.5 Flowchart diagram tentang perancangan proses ................................ 28

Gambar 4.6 Diagram kelas disain .......................................................................... 69

Gambar 4.7 Halaman utama yang terdapat pada sistem ........................................ 77

Gambar 4.8 Halaman user-based ........................................................................... 78

Gambar 4.9 Halaman user-based ........................................................................... 79

Gambar 4.10 Halaman item-based ......................................................................... 79

Gambar 4.11 Halaman item-based ......................................................................... 80

Gambar 4.12 Halaman hasil prediksi ..................................................................... 81

Gambar 4.13 Halaman pencarian ........................................................................... 82

Gambar 4.14 Perbedaan informasi pada halaman daftar rating ............................. 83

Gambar 5.2 Source code method getUserById(int) ............................................... 91

Gambar 5.3 Source code method inputDataRatingTesting(Rating) ....................... 91

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xvii

Gambar 5.4 Source code method pilihDataTesting() ............................................. 92

Gambar 5.5 Source code method main() ................................................................ 92

Gambar 5.6 Lama running pemilihan data testing ................................................. 93

Gambar 5.7 Result query untuk validasi rating pengguna ..................................... 94

Gambar 5.8 Result query untuk validasi rating film .............................................. 95

Gambar 5.9 Ilustrasi data testing tidak memiliki neighbor pada metode user-based

CF ........................................................................................................................... 97

Gambar 5.10 Ilustrasi data testing tidak memiliki neighbor pada metode item-based

CF ........................................................................................................................... 97

Gambar 5.11 Total data dari table rating_testing ................................................. 100

Gambar 5.12 Source code method getUserRating(String) ................................... 101

Gambar 5.13 Source code method getAvg(String) .............................................. 101

Gambar 5.14 Source code method getBagianAtas(List<Rating>, List<Rating>,

Double, Double) ................................................................................................... 102

Gambar 5.15 Source code method getBagianBawah(List<Rating>, List<Rating>,

Double, Double) ................................................................................................... 102

Gambar 5.16 Source code method similaritasPearsonCorrealtion(String, String)

.............................................................................................................................. 103

Gambar 5.17 Source code method inputUserSimilarity(UserBased) ................... 103

Gambar 5.18 Source code method main() ............................................................ 104

Gambar 5.19 Lama running perhitungan similaritas antara pengguna ................ 104

Gambar 5.20 Total data dari table user_similarity ............................................... 105

Gambar 5.21 Source code method getItemRating(String) ................................... 106

Gambar 5.22 Source code method getAvg(String) .............................................. 106

Gambar 5.23 Source code method getBagianAtas(List<Rating>, List<Rating>,

Double, Double) ................................................................................................... 106

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xviii

Gambar 5.24 Source code method getBagianBawah(List<Rating>, List<Rating>,

Double, Double) ................................................................................................... 107

Gambar 5.25 Source code method similaritasPearsonCorrealtion(String, String)

.............................................................................................................................. 107

Gambar 5.26 Source code method inputMovieSimilarity(UserBased) ................ 108

Gambar 5.27 Source code method main() ............................................................ 108

Gambar 5.28 Lama running perhitungan similaritas antara pengguna ................ 109

Gambar 5.29 Total data dari table movie_similarity ........................................... 109

Gambar 5.30 Source code method getRatingTesting() ........................................ 110

Gambar 5.31 Source code method inputPrediction(Prediction) ........................... 111

Gambar 5.32 Source code method getRatingAndUserSimilaritySort(String, String)

.............................................................................................................................. 111

Gambar 5.33 Source code method hasilPrediksiUserBased1(Rating, int) ........... 112

Gambar 5.34 Source code method main() ............................................................ 113

Gambar 5.35 Lama waktu running hitung prediksi user-based CF .................... 113

Gambar 5.36 Source code method getRatingAndMovieSimilaritySort(String,

String) ................................................................................................................... 114

Gambar 5.37 Source code method hasilPrediksiItemBased1(Rating, int) ........... 115

Gambar 5.38 Source code method main() ............................................................ 116

Gambar 5.39 Lama waktu running hitung prediksi item-based CF .................... 116

Gambar 5.40 Total data pada table prediction ..................................................... 117

Gambar 5.41 Source code method showPrediction(String, String) ..................... 118

Gambar 5.42 Halaman Utama .............................................................................. 119

Gambar 5.43 Halaman User-based ...................................................................... 119

Gambar 5.44 Pop-up untuk konfirmasi perhitungan similaritas antara pengguna

.............................................................................................................................. 120

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xix

Gambar 5.45 Pop-up untuk melakukan pencarian nilai similaritas ..................... 121

Gambar 5.46 Hasil pencarian nilai similaritas 1 pengguna dengan pengguna lainnya

.............................................................................................................................. 121

Gambar 5.47 Hasil pencarian nilai similaritas antara 2 pengguna ....................... 122

Gambar 5.48 Halaman Item-based ....................................................................... 123

Gambar 5.49 Pop-up untuk konfirmasi perhitungan similaritas antar semua film

.............................................................................................................................. 124

Gambar 5.50 Pop-up untuk melakukan pencarian nilai similaritas ..................... 124

Gambar 5.51 Hasil pencarian nilai similaritas pengguna dengan user_id tertentu

dengan pengguna lainnya ..................................................................................... 124

Gambar 5.52 Hasil pencarian nilai similaritas antara 2 pengguna secara spesifik

.............................................................................................................................. 125

Gambar 5.53 Halaman Hasil Prediksi untuk metode user-based CF .................. 125

Gambar 5.54 Pop-up untuk menampilkan nilai prediksi ..................................... 126

Gambar 5.55 Halaman tampilan hasil prediksi .................................................... 126

Gambar 5.56 Halaman Hasil Prediksi untuk metode item-based CF .................. 127

Gambar 5.57 Pop-up untuk menampilkan nilai prediksi ..................................... 127

Gambar 5.58 Halaman tampilan hasil prediksi .................................................... 128

Gambar 5.59 Halaman Pencarian ......................................................................... 129

Gambar 5.60 Pencarian film berdasarkan genre film........................................... 129

Gambar 5.61 Pencarian film berdasarkan judul film ........................................... 130

Gambar 5.62 Halaman Daftar Rating................................................................... 131

Gambar 5.63 Pop-up untuk menampilkan semua data training ........................... 131

Gambar 5.64 Pop-up untuk menampilkan semua data testing ............................. 132

Gambar 5.65 Format layout halaman yang menampilkan data rating ................. 132

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xx

Gambar 5.66 Grafik garis hasil MAE terhadap jumlah maksimal neighbor pada

metode user-based CF ......................................................................................... 134

Gambar 5.67 Source code pada method main() di kelas Prediction.java yang sudah

dimodifikasi pada hasil prediksi metode user-based CF ..................................... 135

Gambar 5.68 Data testing nilai MAE di atas 2, maksimal neighbor = 10 ........... 136

Gambar 5.69 Data testing nilai MAE di atas 2, maksimal neighbor = 70 ........... 136

Gambar 5.70 Grafik garis hasil MAE terhadap jumlah maksimal neighbor pada

metode item-based CF ......................................................................................... 137

Gambar 5.71 Source code pada method main() di kelas Prediction.java yang sudah

dimodifikasi pada hasil prediksi metode item-based CF ..................................... 138

Gambar 5.72 Data testing nilai MAE di atas 2, maksimal neighbor = 10 ........... 139

Gambar 5.73 Data testing nilai MAE di atas 2, maksimal neighbor = 70 ........... 139

Gambar 5.74 Grafik garis hasil MAE terhadap jumlah maksimal neighbor pada

kedua metode ....................................................................................................... 139

Gambar 5.75 Grafik garis lama waktu running terhadap jumlah maksimal neighbor

pada kedua metode ............................................................................................... 140

Gambar 5.76 Menampilkan data testing yang memiliki nilai MAE lebih dari 2 . 141

Gambar 5.77 Menampilkan data neighbor dari pengguna 166 ............................ 142

Gambar 5.78 Menampilkan interseksi rating antara pengguna 166 dan pengguna

456 ........................................................................................................................ 144

Gambar 5.79 Hasil eksekusi query rata-rata rating pengguna 1 (kiri) dan penguna

2 (kanan)............................................................................................................... 158

Gambar 5.80 Eksekusi query mencari interseksi rating pengguna 1 dan 2 ......... 158

Gambar 5.81 Skenario pencarian nilai similaritas antara pengguna 1 dan 2 ....... 161

Gambar 5.82 Hasil pencarian skenario ................................................................ 161

Gambar 5.83 Sampel data testing......................................................................... 162

Gambar 5.84 Rating dan nilai similaritas 10 neighbor ........................................ 163

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xxi

Gambar 5.85 Prediksi rating untuk ID testing 10 ................................................ 165

Gambar 5.86 Hasil eksekusi query rata-rata rating film 1 (kiri) dan film 6 (kanan)

.............................................................................................................................. 166

Gambar 5.87 Eksekusi query mencari interseksi rating pengguna 1 dan 2 ......... 167

Gambar 5.88 Skenario pencarian nilai similaritas antara film 1 dan 6 ................ 170

Gambar 5.89 Hasil pencarian skenario ................................................................ 170

Gambar 5.90 Rating dan nilai similaritas 10 neighbor ........................................ 172

Gambar 5.91 Prediksi rating untuk ID testing 10 ................................................ 173

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xxii

DAFTAR TABLE

Table 3.1 Matrix user-item pada data set. .............................................................. 17

Table 3.2 Record yang terdapat di basis data yang memuat informasi tentang data

set matrix user-item. ............................................................................................... 18

Table 4.1 Rancangan implementasi blok proses pada kelas .java ......................... 28

Table 4.2 Sampel data rating untuk contoh perhitungan metode user-based CF .. 58

Table 4.3 Interseksi rating antara John dan Lucy .................................................. 59

Table 4.4 Matrix user similarity dari hasil perhitungan similaritas antar pengguna.

................................................................................................................................ 60

Table 4.5 Sampel data testing pada metode user-based CF .................................. 60

Table 4.6 Sampel data rating untuk contoh perhitungan metode item-based CF .. 63

Table 4.7 Interseksi rating antara The Matrix dan Forrest Gump ......................... 63

Table 4.8 Matrix movie similarity dari hasil perhitungan similaritas antar film. ... 64

Table 4.9 sampel data testing pada metode item-based CF ................................... 65

Table 5.1 Implementasi Blok Proses pada Kelas Java ........................................... 90

Table 5.2 Hasil MAE dari skenario mengubah batas jumlah maksimal neighbor

metode user-based CF ......................................................................................... 133

Table 5.3 Hasil MAE dari skenario mengubah batas jumlah maksimal neighbor

metode item-based CF ......................................................................................... 136

Table 5.4 Interseksi rating antara pengguna 1 dan 2 ............................................ 159

Table 5.5 Interseksi rating antara film 1 dan 6..................................................... 168

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xxiii

DAFTAR RUMUS

Rumus Pearson Correlation Metode User-based CF (2.1) ..................................... 11

Rumus Pearson Correlation Metode Item-based CF (2.2) ..................................... 12

Rumus perhitungan prediksi metode user-based CF (2.3) ..................................... 13

Rumus perhitungan prediksi metode item-based CF (2.4) .................................... 13

Rumus MAE (2.5) .................................................................................................. 14

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

xxiv

DAFTAR QUERY

Query 5.1 Menampilkan pengguna yang tidak me-rating film.............................. 94

Query 5.2 Menampilkan film yang tidak di-rating pengguna ............................... 95

Query 5.3 Insert data ke table ratings .................................................................... 96

Query 5.4 Hapus data dari table ratings_testing .................................................... 96

Query 5.5 Insert 12 data ke table ratings ............................................................... 98

Query 5.6 Hapus 12 data dari table ratings_testing ............................................... 99

Query 5.7 Menampilkan prediksi dengan MAE di atas 2 .................................... 142

Query 5.8 Menampilkan neighbor pengguna 166................................................ 143

Query 5.9 Menampilkan interseksi rating pengguna 166 dan 456 ...................... 143

Query 5.10 Mengambil nilai rata-rata .................................................................. 157

Query 5.11 Mengambil interseksi rating pengguna 1 dan 2 ................................ 158

Query 5.12 Menampil neighbor pengguna 6 yang memenuhi syarat perhitungan

prediksi ................................................................................................................. 163

Query 5.13 Mengambil nilai rata-rata .................................................................. 166

Query 5.14 Mengambil interseksi rating film 1 dan 6 ......................................... 167

Query 5.15 Menampil neighbor film 86 yang memenuhi syarat perhitungan

prediksi ................................................................................................................. 171

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

1

BAB I PENDAHULUAN

1.1. Latar Belakang

Secara perlahan komunikasi telah mengalami banyak perubahan di

berbagai teknologi dari yang awalnya hanya sebuah lembar pengumuman,

hingga menjadi berita online, dari berupa fotografi, berubah menjadi video

bergerak di televisi, sampai akhirnya pada era digital ini, semua media

informasi tersebut bisa diakses melalui internet (Lister, 2009). Mulai

bergesernya landasan berfikir serta kebutuhan manusia dari informasi yang

berbentuk fisik menjadi informasi dalam bentuk digital merupakan suatu hal

yang merepresentasikan era digital. Internet menyediakan sumber informasi

berupa data digital dengan kemudahan akses dari berbagai perangkat

teknologi informasi dan komunikasi secara cerdas, cepat, praktis dan

terintegrasi.

Banyaknya informasi serta konten yang ada di internet

menyebabkan sebuah tumpukan informasi yang sangat besar. Hal itu

memunculkan tantangan bagi manusia di era ini untuk menemukan

informasi yang ingin dicari dalam tumpukan informasi tersebut. Search

engine adalah istilah untuk mesin pencari yang mampu menjawab tantangan

zaman itu. Namun seiring waktu berjalan, mesin rekomendasi muncul

sebagai jawaban lebih atas mesin pencari. Sistem rekomendasi adalah

sistem yang bertanggung jawab atas mesin rekomendasi. Sistem ini mampu

mengidentifikasi serta memberikan konten yang berpotensi besar untuk

dipilih atau digunakan oleh pengguna berdasarkan penyaringan, pemilahan

item dan informasi yang mengambil preferensi dari perilaku maupun

riwayat pengguna (user) (Asanov, 2015).

Dua pendekatan yang umum digunakan pada sistem rekomendasi

adalah Content-based Filtering dan Collaborative Filtering (Adomavicius

dan Tuzhilin, 2005). Pendekatan Content-based Filtering memiliki

keterbatasan ketika seorang user meminta rekomendasi suatu item yang

memiliki jenis konten yang berbeda dengan item yang sudah pernah dipilih.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

2

Pendekatan ini hanya mengandalkan riwayat item yang pernah di-rating,

sehingga item yang direkomendasi bersifat monoton. Kekurangan yang

terdapat pada pendekatan Content-based Filtering memunculkan

pendekatan Collaborative Filtering untuk menyempurnakan kekurangan

tersebut. Pendekatan ini memanfaatkan opini atau penilaian pengguna lain

berupa rating atau feedback lain yang ada untuk memprediksi item yang

mungkin akan disukai/diminati oleh seorang pengguna. Namun pendekatan

ini memiliki kelemahan di saat suatu item yang baru masuk dan sama sekali

belum ada yang memberi rating, item tersebut tidak akan pernah

direkomendasikan ke user mana pun.

Pendekatan Collaborative Filtering memiliki dua metode yaitu

User-based Collaborative Filtering (CF) serta Item-based Collaborative

Filtering (CF). Metode user-based CF mengasumsikan bahwa untuk

mencari sesuatu yang akan digemari oleh pengguna A, maka harus mencari

pengguna lain dengan kecenderungan yang sama. Pengguna lain yang

memiliki ketertarikan akan sesuatu yang sama dengan pengguna A disebut

dengan neighbors. Sementara metode item-based CF menampung segala

item yang telah disukai oleh pengguna A terlebih dahulu dan kemudian

menelusuri item lain yang akan disukai oleh pengguna A. Perbedaan user-

based CF dan item-based CF terletak pada titik awal dalam mencari

rekomendasi dan jenis neighbor-nya. (Arvid dkk, 2016), (Lops dkk, 2011),

(Sarwar dkk, 2001).

Belum adanya penetapan jumlah neighbor dalam menentukan

prediksi rating dari pengguna (Dewanto & Wibowo, 2015) membuat

penulis ingin mengetahui berapakah jumlah neighbor yang baik pada data

set yang penulis gunakan yaitu data set dari MovieLens.org. Pada penelitian

ini penulis menerapkan pendekatan Collaborative Filtering dengan metode

user-based CF serta item-based CF. Kedua metode akan dibandingkan hasil

prediksi rating-nya terhadap rating real yang ada di data testing yang

dibentuk dari data set. Perbandingan kedua metode adalah berdasarkan

jumlah maksimal neighbor dari pengguna (user) dan item terhadap nilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

3

kesalahan predikisi. Nilai kesalahan prediksi dihitung dengan menggunakan

perhitungan Mean Absolute Error (MAE).

Item yang menjadi objek rekomendasi adalah film dari data set

MovieLens.org yang telah di-rating oleh user. MovieLens.org merupakan

merupakan data set terbuka untuk pengembangan dan penelitian bidang

sistem rekomendasi yang dikelola dan dijalankan oleh GroupLens, sebuah

laboratorium penelitian di University of Minnesota (https://movielens.org/).

Metode pengukuran neighbors terdekat yang digunakan nantinya adalah

Pearson-Correlation untuk mencari neighbors dengan kemiripan dan

kecenderungan yang sama terhadap user tertentu.

1.2. Rumusan Masalah

1. Bagaimana menerapkan metode user-based CF dan item-based CF pada

sistem rekomendasi film?

2. Bagaimana pengaruh jumlah maksimal neighbor terhadap akurasi

metode user-based CF dan item-based CF pada sistem rekomendasi

film?

1.3. Batasan Masalah

Agar penelitian ini lebih terarah, maka perlu adanya batasan

penelitian. Adapun batasan tersebut adalah :

1. Data set yang digunakan diambil dari situs open datasets pada

MovieLens.org.

2. Pengujian mesin dilakukan di localhost tidak pada web service berbayar.

3. Metode yang digunakan pada sistem rekomendasi metode user-based

CF dan item-based CF dengan perhitungan similaritas Pearson

Correlation.

4. Penentuan parameter jumlah maksimal neighbor untuk perhitungan

prediksi adalah 10, 30, 50, 70, 100, dan semua neighbor dengan kondisi

yang ditetapkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

4

1.4. Tujuan Penelitian

1. Menerapkan sistem rekomendasi film dengan menggunakan metode

user-based CF dan item-based CF.

2. Mengetahui bagaimana keakuratan metode user-based CF dan item-

based CF dalam memberikan hasil rekomendasi film yang baik dengan

jumlah maksimal neighbor sebagai aspek yang mempengaruhi

perbandingan keduanya.

1.5. Manfaat Penelitian

Dalam penelitian ini diharapkan dapat memberikan manfaat,

diantaranya adalah sebagai berikut :

1. Bagi GroupLens dan peneliti bidang sistem rekomendasi :

Hasil yang diperoleh dari penelitian dapat digunakan untuk menjadi

bahan pengembangan alat untuk eksplorasi data dan rekomendasi

kepada user yang diharapakan mampu meningkatkan kualitas

rekomendasi.

2. Bagi penulis :

Penulis dapat mengimplementasikan ilmu yang diperoleh dari

perkuliahan di Universitas Sanata Dharma dan dapat dijadikan sebagai

pengalaman baru. Dalam hal ini adalah ilmu tentang mata kuliah sistem

rekomendasi.

1.6. Sistematika Penulisan

1. BAB I : PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan

penelitian, manfaat penelitian dan sistematika penulisan.

2. BAB II : LANDASAN TEORI

Bab ini akan menjelaskan mengenai teori yang berkaitan dengan judul

atau masalah pada tugas akhir.

3. BAB III : METODOLOGI PENELITIAN

Bab ini berisi mengenai data, spesifikasi alat dan tahapan penelitian.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

5

4. BAB IV : PERANCANGAN PERANGKAT LUNAK

Bab ini berisi langkah-langkah mengenai perancangan awal dan

perancangan perangkat lunak pada mesin rekomendasi yang akan

dibuat.

5. BAB V : IMPLEMENTASI DAN ANALISA HASIL

Bab ini akan menjelaskan mengenai implementasi proses pengujian

sistem dan analisis dari hasil pengujian tersebut.

6. BAB VI : PENUTUP

Bab ini berisi tentang kesimpulan dari pembuatan sistem dan saran

untuk pengembang kedepan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

6

BAB II LANDASAN TEORI

Pada bab ini akan dipaparkan teori serta informasi-informasi yang telah

diperoleh penulis untuk menyokong pengerjaan tugas akhir dan juga akan

dijelaskan mengenai pengertian dan metode yang akan digunakan oleh penulis.

2.1. Sistem Rekomendasi

Sistem rekomendasi adalah sistem yang dirancang dengan tujuan untuk

membantu pengguna untuk mendapatkan hal yang mereka mungkin sukai,

dengan cara memberikan rekomendasi kepada pengguna ketika pengguna

dihadapkan dengan jumlah informasi yang besar. Rekomendasi yang

diberikan diharapkan dapat membantu pengguna dalam proses

pengambilan keputusan, seperti barang apa yang akan dibeli, buku apa

yang akan dibaca, atau musik apa yang akan didengar, film apa yang akan

ditonton, dan lainnya (Ricci dan Saphira, 2011).

Cara pencarian item yang akan direkomendasikan kepada penguna dapat

dilakukan berdasarkan kemiripan, baik berupa kemiripan suatu item

dengan item lainnya berdasarkan konten atau kemiripan selera suatu

pengguna dengan pengguna lain berdasarkan rating yang diberikan pada

item.

Pada pertengahan 1990 banyak riset tentang sistem rekomendasi untuk

menemukan pendekatan-pendekatan baru dalam mengatasi masalah yang

muncul karena membanjirnya informasi di Internet (Adomavicius dan

Tuzhilin, 2005). Pendekatan sistem rekomendasi yang paling umum

digunakan pada sistem rekomendasi adalah pendekatan Content-based

Filtering dan Collaborative Filtering (Ricci dan Saphira, 2011). Kedua

pendekatan tersebut memiliki kelebihan dan kekurangan masing-masing

dalam merekomendasikan item kepada pengguna, seperti pada pendekatan

Content-based yang merekomendasikan item hanya berdasarkan riwayat

pengguna, sehingga hasil rekomendasian cenderung monoton, sedangkan

Collaborative Filtering memiliki masalah ketika terdapat suatu item baru.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

7

Namun keduanya memiliki keunggulan pada kasus-kasus tertentu yang

bersangkutan pada masalah efisiensi waktu, keakuratan prediksi rating, dll.

2.2. Collaborative Filtering

Metode ini membuat rekomendasi kepada pengguna aktif berdasarkan item

yang disukai oleh pengguna lain yang memiliki selera serupa dengannya.

Kemiripan selera antara pengguna aktif dengan pengguna lainnya dapat

dilihat dari tingkah laku pengguna, seperti riwayat preferensi rating yang

telah diberikan kepada beberapa item. Pemberian rekomendasi dilakukan

dengan harapan bahwa item yang direkomendasikan sesuai dengan

kesukaan pengguna aktif. Berikut adalah ilustrasi dari Collaborative

Filtering pada gambar 2.1.

Gambar 2.1 Konsep Collaborative Filtering (Hakim, 2010).

Dari Gambar 2.1 terlihat konsep dari Collaborative Filtering dalam

merekomendasikan suatu item kepada pengguna. Untuk melihat item film

yang kemungkinan disukai oleh pengguna A, maka sistem harus mencari

pengguna lain yang memiliki selera yang sama dengan pengguna A. Dilihat

dari riwayat rating-nya, pengguna B adalah pengguna yang memiliki selera

yang sama dengan pengguna A. Oleh karena itu, film yang disukai oleh

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

8

pengguna B yang belum ditonton oleh pengguna A, akan

direkomendasikan kepada pengguna A. Film tersebut adalah film “Captain

America”, maka “Captain America” akan direkomendasikan kepada

pengguna A, dengan harapan film tersebut sesuai dengan kesukaan

pengguna A.

Rating yang telah diberikan oleh pengguna kepada item-item akan

disimpan dalam matriks preferensi rating. Contoh dari matriks preferensi

rating tersebut ada pada gambar 2.2.

Gambar 2.2 Matriks preferensi rating dari pengguna kepada item

(McDonald, 2015)

Walaupun dalam beberapa riset Collaborative Filtering terbukti dapat

menutupi beberapa kekurangan pendekatan Content-based, namun

pendekatan ini memiliki beberapa kekurangan, antara lain (Adomavicius

dan Tuzhilin, 2005) (Li dan Kim, 2003) (Vozalis dan Margaritis, 2003):

1. Cold-start problem

Pendekatan Collaborative Filtering melakukan prediksi berdasarkan

rating yang diberikan pengguna pada item, akan menjadi masalah

ketika suatu item baru masuk ke dalam sistem dan belum di-rating

sama sekali oleh pengguna. Akibatnya item tersebut tidak akan pernah

direkomendasikan kepada pengguna.

2. Sparsity

Untuk ukuran data yang besar, banyak item yang baru sedikit di-rating

oleh pengguna, akibatnya item tersebut memiliki nilai prediksi yang

relatif tidak akurat dan menghasilkan rekomendasi yang buruk.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

9

Terdapat dua jenis pendekatan yang digunakan dalam Collaborative

filtering yaitu user-based CF dan item-based CF.

2.3.1. User-based Collaborative Filtering

User-based CF bekerja berdasarkan asumsi bahwa setiap pengguna

merupakan bagian dari kelompok yang memiliki kesamaan dengan

pengguna lainnya (Pantreath, 2015). Untuk mencari sesuatu yang akan

digemari oleh pengguna A, maka harus mencari pengguna lain yang

memiliki kegemaran yang sama dengan penggua A. Ilustrasi metode

user-based CF dalam memberikan rekomendasi dapat dilihat pada

gambar 2.3 berikut.

Gambar 2.3 Konsep user-based filltering (Marafi, 2014).

2.3.2. Item-based Collaborative Filtering

Item-based CF berasumsi bahwa jika mayoritas pengguna memberi

penilaian beberapa item secara serupa, pengguna aktif yang ditargetkan

juga akan memberi penilaian terhadap item-item tersebut secara serupa

pula (Pantreath, 2015). Metode ini bekerja berdasarkan asumsi bahwa

kedua item yang di-rating dengan pola yang sama oleh beberapa

pengguna, maka kedua item ini memiliki kemiripan yang besar tanpa

memikirkan kemiripan tersebut berdasarkan konten yang dimilikinya.

Ilustrasi metode item-based CF dalam memberikan rekomendasi dapat

dilihat pada gambar 2.4 berikut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

10

Gambar 2.4 Konsep item-based filltering (Marafi, 2014).

2.3.3. Alur Penerapan Metode Collaborative Filtering sampai Prediksi

Rating

Pada penerapannya, metode Collaborative Filtering digunakan untuk

memberikan hasil prediksi rating baik dengan pendekatan user-based

CF ataupun dengan item-based CF. Berikut adalah langkah metode

Collaborative Filtering pada gambar 2.5 :

Gambar 2.5 Alur penerapan Collaborative Filtering (Richi and

Saphira, 2011)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

11

Langkah pertama dilakukan dengan perhitungan similaritas antar

pengguna / item menggunakan metode perhitungan Pearson

Correlation. Lalu selanjutnya adalah penentuan jumlah neighbor yang

ditentukan oleh penulis dan menjadi penelitian kali ini (Dewanto &

Wibowo, 2015). Perhitungan prediksi rating adalah proses akhir dari

metode Collaborative Filtering.

2.3. Pearson Correlation

Salah satu cara untuk menghitung kemiripan diantara para pengguna itu

sendiri ataupun antar item yang telah di-rating oleh pengguna adalah

dengan menggunakan metode perhitungan similaritas Pearson

Correlation.

Metode perhitungan Pearson Correlation menghitung nilai kemiripan

(similaritas) berdasarkan korelasi antara kedua himpunan bilangan objek.

Korelasi adalah sebuah teknik pengukuran yang menentukan seberapa

dekat / mirip relasi antar dua himpunan bilangan yang berbeda. Korelasi

tersebut dapat dihitung dengan syarat himpunan bilangan antar kedua objek

harus memiliki urutan yang tetap dan berpasangan satu dengan lainnya.

Hasil pengukuran dapat berupa relasi positif ataupun relasi negatif. Relasi

positif menunjukkan bahwa kedua himpunan memiliki kecenderungan

kenaikan atau penambahan nilai yang sejajar. Sedangkan relasi negatif

menunjukkan kedua himpunan memiliki kecenderungan penurunan atau

pengurangan nilai yang sejajar (Arvid dkk, 2016). Berikut rumus (2.1)

untuk mengetahui nilai kemiripan antar pengguna.

……………..(2.1)

Dimana :

o adalah nilai kemiripan (similarity) antara pengguna u dan

pengguna v dengan perhitungan Pearson Correlation

o dan adalah rating pengguna u dan v pada item i

o dan adalah rata-rata rating pengguna u dan v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

12

Sementara untuk mengetahui nilai kemiripan item yang telah di-rating oleh

pengguna, rumus Pearson Correlation-nya seperti dalam rumus berikut

(2.2)

……………..(2.2)

Dimana :

o PC(i,j) adalah nilai kemiripan (similarity) antara item i dan item j

dengan perhitungan Pearson Correlation

o dan adalah rating pengguna u pada item i dan item j

o dan adalah rata-rata rating pada item i dan j

Nilai kemiripan memiliki rentang antara 1 sampai dengan -1. Jika nilai

kemiripan bernilai 0 maka kedua objek tidak memiliki relasi sama sekali.

Jika nilai di atas 0 dapat diartikan kedua objek memiliki penambahan nilai

yang sejajar atau ada kecenderungan mirip. Beda halnya ketika nilai di

bawah 0, hal ini terjadi akibat adanya objek yang mengalami penambahan

nilai namun objek lainnya mengalami penurunan nilai, dalam arti keduanya

saling bertolak belakang dan disimpulkan bahwa kedua objek benar-benar

lebih ke arah tidak mirip sama sekali. Nilai similaritas dari 0 – 1

merepresentasikan bahwa similaritas tersebut memiliki kemiripan paling

kuat berdasarkan korelasinya dan mampu memberikan prediksi yang lebih

terpercaya (Ricci dan Saphira, 2011).

2.4. Perhitungan Prediksi

Perhitungan prediksi digunakan untuk melihat kemungkinan nilai rating

yang akan diberikan pengguna terhadap item tertentu. Perhitungan prediksi

ini dilaksanakan sebagai langkah akhir dari pendekatan Collaborative

Filtering dalam memberikan hasil prediksi rating. Setelah nilai similaritas

antar pengguna ataupun item sudah didapatkan, langkah selanjutnya ialah

menentukan banyaknya neighbor dalam penentuan nilai prediksi. Salah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

13

satu metode perhitungan prediksi rating ialah metode weighted sum baik

untuk prediksi pada metode user-based CF maupun item-based CF (Ricci

dan Saphira, 2011).

Rumus weighted sum untuk menghitung prediksi pada metode user-based

CF adalah seperti rumus (2.3) berikut :

𝑃(𝑢,𝑖) = ∑ 𝑅𝑣,𝑖 × 𝑠𝑖𝑚(𝑢,𝑣)𝑛

𝑖=1

∑ | 𝑠𝑖𝑚(𝑢,𝑣) |𝑛𝑖=1

…………….. (2.3)

Dimana :

o 𝑃(𝑢,𝑖) adalah prediksi rating pada item i untuk user u

o n adalah jumlah neighbor (tetangga)

o 𝑅𝑣,𝑖 adalah rating yang diberikan user v kepada item i

o 𝑠𝑖𝑚(𝑢, 𝑣) adalah nilai similarity antara user u dengan user v

Sementara rumus weighted sum untuk prediksi metode item-based CF

adalah seperti rumus (2.4) berikut :

𝑃(𝑢,𝑖) = ∑ 𝑅𝑢,𝑗 × 𝑠𝑖𝑚(𝑖,𝑗)𝑛

𝑖=1

∑ | 𝑠𝑖𝑚(𝑖,𝑗) |𝑛𝑖=1

……………..(2.4)

Dimana :

o 𝑃(𝑢,𝑖) adalah prediksi rating pada item i untuk user u

o n adalah jumlah neighbor (tetangga)

o 𝑅𝑢,𝑗 adalah rating yang diberikan user u kepada item j

o 𝑠𝑖𝑚(𝑖, 𝑗) adalah nilai similarity antara item i dengan item j

2.5. Mean Absolute Error (MAE)

MAE adalah formula untuk menghitung tingkat akurasi berdasarkan besar

error hasil prediksi rating dari sistem terhadap rating sebenarnya yang user

berikan terhadap suatu item (Herlocker, 2001) (Vozalis dan Margaritis,

2003).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

14

MAE diperoleh dengan menghitung error absolut dari N pasang rating asli

dan prediksi, kemudian menghitung rata-rata, seperti pada rumus (2.5).

……………….(2.5)

Dimana :

o MAE adalah nilai besarnya error dari hasil prediksi rating.

o adalah rating yang diprediksi.

o adalah rating yang sebenarnya.

o N adalah banyak pasang rating asli dan prediksi.

Hasil MAE yang menghasilkan angka mendekati 0, menunjukkan bahwa

prediksi dari sebuah perhitungan metode memiliki keakuratan lebih baik

karena nilai kesalahannya hamper 0 atau tidak ada.

2.6. MovieLens

Movielens adalah situs rekomendasi film personal yang disusun

berdasarkan rating yang diberikan pengguna terhadap sebuah film.

MovieLens dijalankan oleh GroupLens, sebuah laboratorium penelitian di

University of Minnesota (https://movielens.org/). Dengan menggunakan

MovieLens, pengguna turut membantu GroupLens mengembangkan alat

dan eksperimental baru untuk eksplorasi data dan rekomendasi. MovieLens

tidak komersial, dan bebas dari laba. Movielens menerbitkan data set-nya

secara cuma-cuma untuk pengembangan dan penelitian bildang sistem

rekomendasi. Penelitian terpublikasi yang terdeksi menggunakan data set

dari Movielens diindex dan dijadikan referensi bagi grup riset grouplens

dan masyarakat yang tertarik pada pengembangan dan penelitian sistem

rekomendasi (https://movielens.org/).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

15

BAB III METODOLOGI PENELITIAN

Berikut penjelasan urutan langkah dalam penelitian yang dilakukan penulis

serta cara mengambil dan menganalisis data yang digunakan dalam penelitian,

sehingga dapat memberikan gambaran bagaimana menerapkan metode user-based

CF dan item-based CF yang kemudian akan dibandingkan hasil prediksinya :

3.1. Alur Penelitian

Alur penelitian yang digunakan dalam penelitian ini terdiri dari 7 tahap

yang digambarkan pada gambar 3.1

Gambar 3.1 Diagram Alur Penelitian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

16

3.2. Penjelasan Tahap Penelitian

Berikut adalah penjelasan untuk setiap tahap yang ada pada gambar 3.1

tentang diagram alur penelitian :

3.2.1. Penelitian Pendahulan

Pada tahap ini, penulis melakukan observasi langsung atas

beberapa kasus yang mungkin dijadikan objek penelitian, lalu

mencari dan mempertimbangkan permasalahan pada suatu

bidang ilmu yang bisa dijadikan penelitian. Pada tahap ini

penulis melakukan langkah-langkah berikut :

3.2.1.1. Identifikasi Masalah

Ketika telah menentukan bidang ilmu sistem

rekomendasi sebagai bidang ilmu yang akan diteliti

dan diimplementasikan, penulis melakukan

observasi untuk mencari permasalahan pada bidang

ilmu terkait.

3.2.1.2. Penetapan Tujuan dan Manfaat Penelitian

Pada tahapan ini, penulis menentukan tujuan apa

yang ingin dicapai pada penelitian, serta manfaat

yang dapat dirasakan bagi penulis sendiri maupun

pihak dari bidang ilmu terkait.

3.2.2. Studi Pustaka

Mencari sumber-sumber referensi dengan permasalahan yang

diambil melalui buku-buku atau sumber terkait yang valid

seperti jurnal dan thesis. Selain itu data pendukung juga didapat

dari internet.

3.2.3. Pengambilan Data

Data set diambil dari Movielens.org sebuah lembaga riset yang

memfokuskan kajian tentang mesin rekomendasi

(https://movielens.org/). Data set yang dipilih adalah Movielens

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

17

yaitu riwayat transaksi rental film online. Data ini terdiri dari 943

user, 1682 item (film), 100.000 rating, serta info konten item

berupa genre. Nilai rating yang terdapat pada data set adalah 1,

2, 3, 4, dan 5. Dari 100.000 rating. Untuk mempermudah proses

komputasi, Tiap user memiliki minimal 20 rating item yang

dapat digunakan sebagai data history untuk menghitung prediksi

dan menghasilkan rekomendasi. Sebagian besar pola user

memberi rating tersebar dari 1 hingga 5 sehingga

menggambarkan preferensi user terhadap item.

Data set yang diambil adalah berupa matrix user-item yang

terbentuk dari aktivitas user yang telah memberikan rating

terhadap film. Aktivitas itulah yang disimpan dan dikelola oleh

MovieLens seperti pada table 3.1.

Table 3.1 Matrix user-item pada data set.

Penggunaan metode Collaborative Filtering adalah untuk

memprediksi kolom rating yang masih kosong (kolom merah)

pada table 3.1.

Matrix user-item akan direpresentasikan kedalam data record

pada table di basis data yang dibangun. Table 3.2 menunjukkan

data record yang disimpan dari informasi yang terdapat di matrix

user-item

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

18

Table 3.2 Record yang terdapat di basis data yang memuat

informasi tentang data set matrix user-item.

User ID Movie ID Rating

1 (John) 1 (the matrix) 5

1 (John) 2 (titanic) 1

2 (Lucy) 1 (the matrix) 1

2 (Lucy) 2 (titanic) 5

3 (Eric) 1 (the matrix) 2

3 (Eric) 3 (die hard) 3

Data set berupa 100.000 rating film akan dibagi menjadi data

training dan data testing untuk melakukan penelitian.

3.2.4. Perancangan dan Implementasi Sistem

Dengan data-data yang ada, penulis mencoba untuk membangun

sistem menggunakan arsitektur client-server berbasis web

dengan bahasa jsp. Pada tahap ini juga penulis melakukan

perancangan terhadap basis data film dari data set

MovieLens.org, serta melakukan perancangan sistem baik

didalamnya memuat tentang perancangan proses untuk

menerapkan metode user-based CF dan item-based CF dalam

sistem.

3.2.5. Pengujian Sistem

Pengujian sistem adalah dengan cara menguji dan mencocokkan

hasil perhitungan metode-metode yang diterapkan pada sistem

dengan perhitungan manual yang dilakukan penulis pada

beberapa sampel perhitungan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

19

3.2.6. Analisa Hasil

Ditahap ini penulis menganalisa hasil yang sudah didapatkan

berdasarkan tahap pengujian dalam bentuk grafik garis. Analisa

hasil implementasi sistem berupa perbandingan hasil prediksi

pada kedua metode yang digunakan pada sistem yang dibangun,

sehingga dapat diketahui metode mana yang lebih baik dalam

memberikan prediksi rating yang akurat.

Analisa hasil dilakukan terhadap sistem dengan skenario yaitu

pengaruh jumlah neighbor terhadap prediksi rating. Tujuan

pengujian ini adalah untuk mengetahui pengaruh jumlah

maksimal neighbor di masing-masing metode pada prediksi

rating. Jumlah maksimal neighbor yang diuji adalah 10, 30, 50,

70, 100 dan semua neighbor dengan kondisi :

1. Untuk item-based CF ; Neighbor (film) tersebut telah di-

rating seperti film yang akan dihitung prediksi rating-nya.

2. Untuk user-based CF ; Neighbor (user) tersebut telah me-

rating film yang akan diprediksi nilai rating-nya.

3. Nilai similaritas antara item / user yang akan diprediksi

rating dengan neighbor-nya adalah diatas 0.

Keseluruhan hasil prediksi dihitung nilai MAE nya terhadap

nilai rating aktual (sebenarnya).

3.2.7. Kesimpulan dan Saran

Menarik kesimpulan dari keefektifan metode yang digunakan

pada pembangunan sistem sehingga dapat mewujudkan tujuan

dan manfaat yang ingin dicapai pada penelitian serta

menyampaikan saran di dokumen penelitian seputar topik atau

kesalahan yang bisa diangkat untuk dijadikan penelitian (jika

ada), sehingga peneliti lain bisa melanjutkan penelitian yang

sudah didapat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

20

3.3. Spesifkasi Software dan Hardware

Spesifikasi software dan hardware yang di gunakan dalam

pengimplementasian sistem ini adalah :

3.3.1. Software

1. Sistem operasi yang di gunakan adalah Microsoft Windows

10 64 – bit.

2. Bahasa pemograman yang di gunakan adalah jsp (java)

dengan aplikasi Netbeans.

3. Web server yang digunakan adalah Apache Tomcat pada

aplikasi XAMPP.

4. Database yang akan di gunakan adalah MySQL.

3.3.2. Hardware

Terdapat 2 perangkat keras yang digunakan penulis dalam

melakukan penelitian, berikut spesifikasinya :

1. Processor yang di gunakan yaitu :

a. Intel® 𝐶𝑜𝑟𝑒𝑇𝑀 i7–6700HQ CPU @ 3,40GHz (8 CPUs),

~3,4 GHz.

b. Intel® 𝐶𝑜𝑟𝑒𝑇𝑀 i7–6700HQ CPU @ 2,60GHz (8 CPUs),

~2,6 GHz.

2. Memori (RAM) pada kedua perangkat keras yang di

gunakan yaitu 8.00 GB.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

21

BAB IV PERANCANGAN PERANGKAT LUNAK

Berikut penjelasan mengenai perancangan awal dan perancangan perangkat

lunak berorientasi objek pada sistem rekomendasi yang akan dibuat.

4.1. Perancangan Umum

Bentuk sistem rekomendasi yang dibangun menggunakan arsitektur

client-server berbasis web. Sistem website yang dibangun akan

digunakan oleh administrator yang adalah aktor. Sistem akan

melakukan perhitungan similaritas antar user maupun antar item, serta

menghitung nilai prediksi rating yang akan diberikan user terhadap fim

tertentu pada data testing yang terletak pada sisi server. Aplikasi antar

muka (GUI) memberikan action kepada administrator untuk

mengetahui nilai prediksi rating.

4.1.1. Diagram Use Case

Terdapat 8 aksi yang dapat dilakukan aktor dalam

menggunakan sitem yang dibangun. Berikut adalah diagram

use case yang menggambarkan aksi-aksi tersebut pada

gambar 4.1.

Gambar 4.1 Diagram Use Case

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

22

4.1.2. Narasi Use Case

Narasi use case berisikan tentang serangkaian langkah-

langkah yang dilakukan oleh aktor (administrator) terhadap

sistem dan proses yang berjalan pada sistem berupa reaksi

sistem terhadap aktor pada setiap use case-nya. Narasi use

case terlampir pada lampiran 1.

4.2. Perancangan Input

Data set bersumber dari Movielens.org yang merupakan sebuah data set

terbuka untuk penelitian di bidang sistem rekomendasi. Data set tersebut

tersimpan dalam file dengan format .sql yang diambil dari

https://github.com/ankane/movielens.sql yang merujuk kepada website

Movielens.org. Berikut adalah rincian data yang terdapat pada data set

tersebut :

1. Data pengguna (user) sebanyak 943 dalam table user.

2. Data film (movie) sebanyak 1.682 dalam table movies.

3. Data rating oleh pengguna kepada film sebanyak 100.000, jangka

rating yang diberikan adalah 1 – 5 dalam table ratings.

4. Data genre sebanyak 18 dalam table genres.

5. Data genre dari film-film sebanyak 2.891 dalam table

genres_movies.

6. Data profesi dari pengguna sebanyak 21 dalam table occupations.

Gambar 4.2 Contoh data set pada table ratings

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

23

Pada gambar 4.2 memperlihatkan contoh data set yang penulis gunakan

untuk penelitain. Gambar 4.2 adalah record yang tersimpan dalam table

ratings.

Data set tersebut nantinya akan disimpan dalam basis data pada aplikasi

MySQL dimana perancangan basis data-nya akan disesuaikan dengan

kebutuhan perangkat lunak yang akan dibangun. Berikut perancangan

basis data pada penelitian ini :

4.2.1. Model Konseptual (ER Diagram)

Berikut adalah rancangan konsep basis data tergambarkan

dalam ER Diagram pada gambar 4.3.

Gambar 4.3 Rancangan ER Diagram pada sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

24

4.2.2. Model Logikal (Relasi)

Berikut adalah model logikal dari rancangan konsep ER

Diagram pada gambar 4.4 di bawah ini.

Gambar 4.4 Model logikal dari rancangan basis data pada

sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

25

4.2.3. Model Fisikal

Berikut adalah model fisikal dari masing-masing table.

4.2.3.1. Table Movie

No. Atribut Type Length Constraint

1. Movie_ID int 11 NOT NULL,

PRIMARY KEY

2. Title varchar 255

3. Release_Date date

4.2.3.2. Table Genre

No. Atribut Type Length Constraint

1. Genre_ID int 11 NOT NULL,

PRIMARY KEY

2. Name varchar 255

4.2.3.3. Table Movie_Similarity

No. Atribut Type Length Constraint

1. Movie_Similarity_ID int 11

NOT NULL,

PRIMARY

KEY, AUTO

INCREMENT

2. Movie_ID_1 int 11

NOT NULL,

FOREIGN

KEY

3. Movie_ID_1 int 11

NOT NULL,

FOREIGN

KEY

4. Movie_Similarity_Value double NOT NULL

4.2.3.4. Table Genre_Movie

No. Atribut Type Length Constraint

1. ID int 11 NOT NULL,

PRIMARY KEY

2. Movie_ID int 11 FOREIGN KEY

3. Genre_ID Int 11 FOREIGN KEY

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

26

4.2.3.5. Table Occupation

No. Atribut Type Length Constraint

1. Occupation_ID int 11 NOT NULL,

PRIMARY KEY

2. Name varchar 255

4.2.3.6. Table User

No. Atribut Type Length Constraint

1. User_ID int 11 NOT NULL,

PRIMARY KEY

2. Age int 11

3. Gender char 1

4. Occupation_ID int 11 FOREIGN KEY

5. Zip_Code varchar 255

4.2.3.7. Table User_Similarity

No. Atribut Type Length Constraint

1. User_Similari

ty_ID int 11

NOT NULL,

PRIMARY

KEY, AUTO

INCREMENT

2. User_ID_1 int 11

NOT NULL,

FOREIGN

KEY

3. User_ID_1 int 11

NOT NULL,

FOREIGN

KEY

4. User_Similari

ty_Value double NOT NULL

4.2.3.8. Table Rating

No. Atribut Type Length Constraint

1. ID int 11 NOT NULL,

PRIMARY KEY

2. User_ID int 11 FOREIGN KEY

3. Movie_ID int 11 FOREIGN KEY

4. Rating int 11

5. Rated_At timestamp NOT NULL

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

27

4.2.3.9. Table Rating_Testing

No. Atribut Type Length Constraint

1. ID_Testing int 11 NOT NULL,

PRIMARY KEY

2. User_ID int 11 FOREIGN KEY

3. Movie_ID int 11 FOREIGN KEY

4. Rating int 11

5. Rated_At timestamp NOT NULL

4.2.3.10. Table Prediction

No. Atribut Type Length Constraint

1. Prediction_ID int 11

NOT NULL,

PRIMARY

KEY, AUTO

INCREMENT

2. ID_Testing int 11 FOREIGN KEY

3. Top_N int 11

4. Prediction_Value double

5. Method_Type varchar 1 NOT NULL

4.3. Perancangan Proses

Pada bagian ini akan dijelaskan tentang diagram flowchart umum dari

perangkat lunak beserta setiap proses yang berjalan Proses untuk

mendapatkan hasil prediksi dengan kedua metode yaitu user-based CF

dan item-based CF memiliki beberapa tahap, yakni sebagai berikut :

1. Menyimpan data set yang berupa file berextensi .sql ke dalam basis

data.

2. Proses memilih data testing pada data rating.

3. Proses menghitung similarity antar pengguna untuk metode user-

based CF; antar film untuk metode item-based CF.

4. Proses memprediksi rating pada data testing.

5. Proses menghitung nilai kesalahan dari hasil prediksi dengan MAE.

Proses umum dari perangkat lunak digambarkan dengan diagram

flowchart pada gambar 4.5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

28

Gambar 4.5 Flowchart diagram tentang perancangan proses

Implementasi blok proses yang terdapat pada diagram flowchart

membutuhkan 5 kelas pada file projek perangkat lunak. Blok proses

tersebut diterapkan pada kelas-kelas program berikut yang tertera pada

table 4.1 di bawah ini :

Table 4.1 Rancangan implementasi blok proses pada kelas .java

No. Nama Blok Proses Kelas.java

1. Memilih data testing Rating.java

2. Menghitung similarity UserBased.java

ItemBased.java

3. Memprediksi rating Prediction.java

4. Menghitung MAE MAE.java

Berikut adalah atribut-atribut beserta method-method yang terdapat

pada setiap kelasnya untuk menjalankan blok proses.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

29

Rating.java

- ratingId : string

- movieId: string

- movieTitle : string

- userId : string

- rating : Double

- rateAt : string

- conn : Connection

+ Rating() <<konstruktor>>

+ Rating(Connection) <<konstruktor>>

+ getKoneksi() : static Rating

+ getRatingId() : String

+ setRatingId(String) : void

+ getMovieId() : String

+ setMovieId(String) : void

+ getMovieTitle() : String

+ setMovieTitle(String) : void

+ getUserId() : String

+ setUserId(String) : void

+ getRating() : Double

+ setRating(Double) : void

+ getRateAt() : String

+ setRateAt(String) : void

+ getTotalUserRated() : int

+ getUserById(int) : List<Rating>

+ inputDataRatingTesting(Rating) : void

+ pilihDataTesting() : void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

30

UserBased.java

- userSimilarityId : string

- userID_1: string

- userID_2 : string

- similarityValue : Double

- conn : Connection

+ UserBased() <<konstruktor>>

+ UserBased(Connection) <<konstruktor>>

+ getKoneksi() : static UserBased

+ getUserSimilarityId() : String

+ setUserSimilarityId(String) : void

+ getUserID_1() : String

+ setUserID_1(String) : void

+ getUserID_2() : String

+ setUserID_2(String) : void

+ getSimilarityValue() : Double

+ setSimilarityValue(Double) : void

+ getUserRating(String) : List<Rating>

+ getAvg(String) : Double

+ getBagianAtas(List<Rating>, List<Rating>, Double, Double) : Double

+ getBagianBawah(List<Rating>, List<Rating>, Double, Double) :

Double

+ similaritasPearsonCorrelation(Sting, String) : Double

+ inputUserSimilarity(UserBase) : void

ItemBased.java

- movieSimilarityId : string

- movieID_1: string

- movieID_2 : string

- similarityValue : Double

- conn : Connection

+ ItemBased() <<konstruktor>>

+ ItemBased(Connection) <<konstruktor>>

+ getKoneksi() : static ItemBased

+ getMovieSimilarityId() : String

+ setMovieSimilarityId(String) : void

+ getMovieID_1() : String

+ setMovieID_1(String) : void

+ getMovieID_2() : String

+ setMovieID_2(String) : void

+ getSimilarityValue() : Double

+ setSimilarityValue(Double) : void

+ getItemRating(String) : List<Rating>

+ getAvg(String) : Double

+ getBagianAtas(List<Rating>, List<Rating>, Double, Double) : Double

+ getBagianBawah(List<Rating>, List<Rating>, Double, Double) :

Double

+ similaritasPearsonCorrelation(Sting, String) : Double

+ inputMovieSimilarity(ItemBased) : void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

31

Prediction.java

- predictionID : string

- ratingId: string

- topN : int

- predictionValue : Double

- methodType : String

- objek1 : String

- objek2 : String

- rating : double

- similarityValue : double

- conn : Connection + Prediction() <<konstruktor>>

+ Prediction(Connection) <<konstruktor>>

+ getKoneksi() : static Prediction

+ getPredictionID() : String

+ setPredictionID (String) : void

+ getRatingId() : String

+ setRatingId(String) : void

+ getTopN() : int

+ setTopN(String) : void

+ getPredictionValue() : Double

+ setPredictionValue(Double) : void

+ getMethodType() : String

+ setMethodType(String) : void

+ getObjek1() : String

+ setObjek1(String) : void

+ getObjek2() : String

+ setObjek2(String) : void

+ getSimilarityValue() : Double

+ setSimilarityValue(Double) : void

+ getRatingTesting() : List<Rating>

+ getRatingAndUserSimilaritySort(String, String) : List<Prediction>

+ hasilPrediksiUserBased(Rating, int) : double

+ getRatingAndMovieSimilaritySort (String, String) : List<Prediction>

+ hasilPrediksiItemBased(Rating, int) : double

+ inputPrediction(Prediction) : void

MAE.java

- MAE : Double

- listPrediksi : List<Prediction>

- conn : Connection + MAE() <<konstruktor>>

+ MAE(Connection) <<konstruktor>>

+ getKoneksi() : static MAE

+ getMAE() : double

+ setMAE(double) : void

+ getListPrediksi() : List<Prediction>

+ setListPrediksi(List<Prediction>) : void

+ showPrediction(String, Stirng) : MAE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

32

4.3.1. Algoritma Setiap Blok Proses

Masing-masing blok proses yang terdapat pada gambar 4.5

memiliki algoritma tersendiri, berikut adalah perancangan

algoritma pada setiap blok proses :

1. Memilih Data Testing :

Setiap pengguna, akan diambil 5 data rating-nya untuk

dijadikan data testing. Total pengguna yang tersimpan

di basis data adalah 943 orang. Jadi data testing akan

berjumlah 943 x 5 = 4715 data testing.

Blok proses “Memilih Data Testing” ini diterapkan pada

kelas Rating.java. Terdapat 4 method yang dijalankan

untuk menerapkan blok proses ini. Berikut adalah

penjabaran algoritma dari 4 method tersebut :

➢ Method getTotalUserRated()

Digunakan untuk mengetahui total pengguna yang telah

melakukan pemberian rating.

1. Bangun koneksi ke basis data MySQL.

2. Deklarasi query untuk melakukan perintah

select total jumlah rating oleh masing-masing

pengguna dengan fungsi GROUP BY

pengguna pada table rating.

3. Eksekusi query.

4. Deklarasi variable integer bernama

totalUser.

5. Lakukan perulangan selama result dari

eksekusi query masih ada :

a. Hitung total baris pada result dengan

mendeklarasi totalUser++.

6. Tutup koneksi dari basis data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

33

7. Kembalikan variable totalUser sebagai nilai

return method.

➢ Method getUserById(int)

Digunakan untuk menampung semua riwayat rating

yang pernah diberikan oleh pengguna.

1. Membaca parameter int pada method sebagai

user_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select semua data riwayat rating yang pernah

diberikan oleh pengguna dengan user_id

sesuai parameter dari table rating.

4. Eksekusi query.

5. Deklarasi objek ArrayList rating dari kelas

model Rating dengan nama listRatingusers.

6. Lakukan perulangan selama result dari

eksekusi query masih ada :

a. Deklarasi objek dari kelas Rating.

b. Simpan semua data result query pada

objek tersebut.

c. Tambahkan objek dari kelas Rating

tersebut ke dalam objek ArrayList

rating.

7. Tutup koneksi dari basis data.

8. Kembalikan objek ArrayList listRatingusers

sebagai nilai return method.

➢ Method inputDataRatingTesting(Rating)

Digunakan untuk menginputkan data rating training ke

dalam table rating testing.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

34

1. Membaca parameter objek kelas Rating pada

method.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk input data ke table

rating_testing sesuai dengan isi variable yang

dibawa dari objek Rating.

4. Eksekusi query.

5. Deklarasi query untuk menghapus data rating

pada table rating yang telah dimasukkan ke

dalam table rating_testing.

6. Eksekusi query.

7. Tutup koneksi dari basis data.

➢ Method pilihDataTesting()

Digunakan untuk menjalankan proses pemilihan dan

penginputan data rating training ke rating testing secara

keseluruhan.

1. Panggil method getTotalUserRated() lalu

tampung nilai return ke dalam variable

integer totalUserRated.

2. Lakukan perulangan sebanyak

totalUserRated :

a. Panggil method getUserByID(int) lalu

tampung nilai return ke dalam objek

ArrayList dari kelas Rating.

b. Lakukan perulangan sebanyak 5 kali :

i. Panggil method

inputDataRatingTesting(Rating) dan

isikan parameter method tersebut

dengan objek Rating dari ArrayList

kelas Rating.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

35

2. Menghitung Similarity

Perhitungan similaritas memiliki langkah yang berbeda

pada masing-masing metodenya, terutama untuk istilah

neighbor. Pada metode user-based CF, istilah neighbor

merujuk kepada pengguna dengan pengguna lainnya.

Sedangkan pada metode item-based CF adalah film

dengan film lainnya. Blok proses ini diterapkan pada

kelas UserBased.java dan ItemBased.java. Terdapat 6

method yang dijalankan untuk menerapkan blok proses

pada masing-masing kelasnya. Berikut adalah

penjabaran algoritma dari 6 method dari kedua kelas

tersebut :

Method-method pada kelas UserBased.java :

➢ Method getUserRating(String)

Digunakan untuk menampung semua riwayat rating

yang pernah diberikan oleh pengguna tertentu.

1. Membaca parameter String pada method

sebagai user_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select semua data riwayat rating yang pernah

diberikan oleh pengguna dengan user_id

sesuai parameter dari table rating.

4. Eksekusi query.

5. Deklarasi objek ArrayList rating dari kelas

model Rating dengan nama ratingUser.

6. Lakukan perulangan selama result dari

eksekusi query masih ada :

a. Deklarasi objek dari kelas Rating.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

36

b. Simpan semua data result query pada

objek tersebut.

c. Tambahkan objek dari kelas Rating

tersebut ke dalam objek ArrayList

rating.

7. Tutup koneksi dari basis data.

8. Kembalikan objek ArrayList ratingUser

sebagai nilai return method.

➢ Method getAvg(String)

Digunakan untuk mendapatkan nilai rata-rata dari

semua rating yang telah diberikan oleh pengguna.

1. Membaca parameter String pada method

sebagai user_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select nilai rata-rata dari keseluruhan rating

berdasarkan pengguna user_id dari table

rating.

4. Eksekusi query.

5. Deklarasi variable double dengan nama avg.

6. Lakukan perulangan selama result dari

eksekusi query masih ada :

a. Tampung nilai rata-rata dalam

variable avg.

7. Tutup koneksi dari basis data.

8. Kembalikan variable avg sebagai nilai return

method.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

37

➢ Method getBagianAtas(List<Rating>,

List<Rating>, Double, Double)

Pada rumus 2.1 adalah rumus yang membagi pembilang

dengan penyebut dengan rumus yang tertera. Penulis

memisahkan perhitungan pembilang dan perhitungan

penyebut dalam dua method pada kelas UserBased.java.

Method ini digunakan untuk menghitung bagian

pembilang.

1. Membaca parameter 2 objek ArrayList dari

kelas Rating yang masing-masing

menampung data rating dari pengguna

tertentu terhadap film tertentu, dan juga

membaca 2 parameter Double yang masing-

masing merupakan nilai rata-rata dari

himpunan nilai rating oleh 2 pengguna pada

method.

2. Deklarasi variable bertipe double bernama

perkalianUser dan totalPerkalianUser.

3. Lakukan perulangan sebanyak jumlah index

ArrayList nilai rating pengguna 1 :

a. Lakukan perulangan sebanyak jumlah

index ArrayList nilai rating pengguna

2 :

i. Cek interseksi rating antara 2

pengguna. Jika kedua pengguna

me-rating film yang sama :

• Lakukan pengurangan antara

nilai rating dengan rata-rata

nilai rating untuk masing-

masing kedua pengguna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

38

• Lakukan perkalian antara 2

hasil pengurangan tersebut.

Hasil perkalian disimpan

dalam variable

perkalianUser.

• totalPerkalianUser =

totalPerkalianUser +

perkalianUser;

4. Kembalikan variable totalPerkalianUser

sebagai nilai return method.

➢ Method getBagianBawah(List<Rating>,

List<Rating>, Double, Double)

Method ini digunakan untuk menghitung bagian

penyebut dari rumus 2.1.

1. Membaca parameter 2 objek ArrayList dari

kelas Rating yang masing-masing

menampung data rating dari pengguna

tertentu terhadap film tertentu, dan juga

membaca 2 parameter Double yang masing-

masing merupakan nilai rata-rata dari

himpunan nilai rating oleh 2 pengguna pada

method.

2. Deklarasi variable bertipe double bernama :

a. ratingMinAvg1

b. totalRatingMinAvg1

c. ratingMinAvg2

d. totalRatingMinAvg2

e. perkalianPangkat

f. akarPerkalianJumlahRatingMinA

vg

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

39

3. Lakukan perulangan sebanyak jumlah index

ArrayList nilai rating pengguna 1 :

a. Lakukan perulangan sebanyak jumlah

index ArrayList nilai rating pengguna

2 :

i. Cek interseksi rating antara 2

pengguna. Jika kedua pengguna

me-rating film yang sama :

• Lakukan pengurangan antara

nilai rating dengan rata-rata

nilai rating pengguna 1

kemudian dikuadratkan. Lalu

tampung hasil kuadrat tersebut

dalam variable

ratingMinAvg1.

• totalRatingMinAvg1 =

totalRatingMinAvg1 +

ratingMinAvg1;

• Lakukan pengurangan antara

nilai rating dengan rata-rata

nilai rating pengguna 2

kemudian dikuadratkan. Lalu

tampung hasil kuadrat tersebut

dalam variable

ratingMinAvg2.

• totalRatingMinAvg2 =

totalRatingMinAvg2 +

ratingMinAvg2;

4. Lakukan perkalian antara variable

totalRatingMinAvg1 dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

40

totalRatingMinAvg2. Lalu tampung

hasilnya di variable perkalianPangkat.

5. Lakukan fungsi akar dari variable

perkalianPangkat. Lalu tampung di

akarPerkalianJumlahRatingMinAvg

6. Kembalikan

akarPerkalianJumlahRatingMinAvg

sebagai nilai return method.

➢ Method similaritasPearsonCorrelation(String,

String)

Digunakan untuk menghitung nilai similaritas antara 2

pengguna dengan menggunakan rumus 2.1.

1. Membaca parameter pada method, yaitu 2

String yang masing-masing merupakan

user_id dari 2 pengguna yang berbeda.

2. Deklarasi variable bertipe double bernama

hasilSimilaritas, avg1 dan avg2.

3. Cek apakah parameter String user_id 1 sama

dengan user_id 2.

a. Jika sama : isikan variable

hasilSimilaritas = 1.

b. Jika tidak sama :

i. Deklarasi objek ArrayList dari

kelas Rating bernama user1

untuk menampung himpunan

riwayat rating user_id 1

(pengguna 1). Panggil method

getUserRating(String) dan

tampung nilai return-nya

dalam objek user1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

41

ii. Deklarasi objek ArrayList dari

kelas Rating bernama user2

untuk menampung himpunan

riwayat rating user_id 2

(pengguna 2). Panggil method

getUserRating(String) dan

tampung nilai return-nya

dalam objek user2.

iii. Panggil method

getAvg(String) untuk

mengetahui rata-rata nilai

rating dari kedua himpunan

rating pengguna. Lalu

tampung nilai return method

pada variable avg1 dan avg2.

iv. Panggil method

getBagianAtas() dan

getBagianBawah() lalu

tampung nilai return

keduanya pada masing-

masing variable double.

v. Isikan variable

hasilSimilaritas =

bagianAtas / bagianBawah.

vi. Cek apakah hasil variable

hasilSimilaritas adalah NaN.

Jika hasilnya adalah NaN

maka ubah hasilSimilaritas =

0.

4. Kembalikan hasilSimilaritas sebagai nilai

return method.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

42

➢ Method inputUserSimilarity(UserBased)

Digunakan untuk menginputkan nilai kemiripan

(similaritas) antara 2 pengguna ke dalam table

user_similarity.

1. Membaca parameter objek kelas UserBased

pada method.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk input data ke table

user_similarity sesuai dengan isi variable

yang dibawa dari objek UserBased.

4. Eksekusi query.

5. Tutup koneksi dari basis data.

Method-method pada kelas ItemBased.java :

➢ Method getItemRating(String)

Digunakan untuk menampung semua nilai rating yang

dimiliki oleh film tertentu.

1. Membaca parameter String pada method

sebagai movie_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select semua data rating yang dimiliki oleh

film tertentu berdasarkan movie_id sesuai

parameter dari table rating.

4. Eksekusi query.

5. Deklarasi objek ArrayList rating dari kelas

model Rating dengan nama ratingItem.

6. Lakukan perulangan selama result dari

eksekusi query masih ada :

a. Deklarasi objek dari kelas Rating.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

43

b. Simpan semua data result query pada

objek tersebut.

c. Tambahkan objek dari kelas Rating

tersebut ke dalam objek ArrayList

rating.

7. Tutup koneksi dari basis data.

8. Kembalikan objek ArrayList ratingItem

sebagai nilai return method.

➢ Method getAvg(String)

Digunakan untuk mendapatkan nilai rata-rata dari

semua nilai rating yang dimiliki film.

1. Membaca parameter String pada method

sebagai movie_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select nilai rata-rata dari keseluruhan rating

berdasarkan pengguna movie_id dari table

rating.

4. Eksekusi query.

5. Deklarasi variable double dengan nama avg.

6. Lakukan perulangan selama result dari

eksekusi query masih ada :

a. Tampung nilai rata-rata dalam

variable avg.

7. Tutup koneksi dari basis data.

8. Kembalikan variable avg sebagai nilai return

method.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

44

➢ Method getBagianAtas(List<Rating>,

List<Rating>, Double, Double)

Method ini digunakan untuk menghitung bagian

pembilang pada rumus perhitungan similaritas Pearson

Correlation.

1. Membaca parameter 2 objek ArrayList dari

kelas Rating yang masing-masing

menampung data rating yang dimiliki oleh

film tertentu dari semua pengguna yang telah

me-rating nya, dan juga membaca 2

parameter Double yang masing-masing

merupakan nilai rata-rata dari himpunan nilai

rating 2 film pada method.

2. Deklarasi variable bertipe double bernama

perkalianItem dan totalPerkalianItem.

3. Lakukan perulangan sebanyak jumlah index

ArrayList nilai rating film 1 :

a. Lakukan perulangan sebanyak jumlah

index ArrayList nilai rating film 2 :

i. Cek interseksi rating antara 2

film. Jika kedua pengguna film di-

rating oleh pengguna yang sama :

• Lakukan pengurangan antara

nilai rating dengan rata-rata

nilai rating untuk masing-

masing kedua film.

• Lakukan perkalian antara 2

hasil pengurangan tersebut.

Hasil perkalian disimpan

dalam variable

perkalianItem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

45

• totalPerkalianItem=

totalPerkalianItem+

perkalianItem;

4. Kembalikan variable totalPerkalianItem

sebagai nilai return method.

➢ Method getBagianBawah(List<Rating>,

List<Rating>, Double, Double)

Method ini digunakan untuk menghitung bagian

penyebut dari rumus 2.1.

1. Membaca parameter 2 objek ArrayList dari

kelas Rating yang masing-masing

menampung data rating yang dimiliki oleh

film tertentu dari semua pengguna yang telah

me-rating nya, dan juga membaca 2

parameter Double yang masing-masing

merupakan nilai rata-rata dari himpunan nilai

rating 2 film pada method.

2. Deklarasi variable bertipe double bernama :

a. ratingMinAvg1

b. totalRatingMinAvg1

c. ratingMinAvg2

d. totalRatingMinAvg2

e. perkalianPangkat

f. akarPerkalianJumlahRatingMinA

vg

7. Lakukan perulangan sebanyak jumlah index

ArrayList nilai rating film 1 :

a. Lakukan perulangan sebanyak jumlah

index ArrayList nilai rating film 2 :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

46

i. Cek interseksi rating antara 2

film. Jika kedua film di-rating

oleh pengguna yang sama :

• Lakukan pengurangan antara

nilai rating dengan rata-rata

nilai rating film 1 kemudian

dikuadratkan. Lalu tampung

hasil kuadrat tersebut dalam

variable ratingMinAvg1.

• totalRatingMinAvg1 =

totalRatingMinAvg1 +

ratingMinAvg1;

• Lakukan pengurangan antara

nilai rating dengan rata-rata

nilai rating film 2 kemudian

dikuadratkan. Lalu tampung

hasil kuadrat tersebut dalam

variable ratingMinAvg2.

• totalRatingMinAvg2 =

totalRatingMinAvg2 +

ratingMinAvg2;

8. Lakukan perkalian antara variable

totalRatingMinAvg1 dan

totalRatingMinAvg2. Lalu tampung

hasilnya di variable perkalianPangkat.

9. Lakukan fungsi akar dari variable

perkalianPangkat. Lalu tampung di

akarPerkalianJumlahRatingMinAvg

10. Kembalikan

akarPerkalianJumlahRatingMinAvg

sebagai nilai return method.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

47

➢ Method similaritasPearsonCorrelation(String,

String)

Digunakan untuk menghitung nilai similaritas antara 2

film dengan menggunakan rumus 2.1.

1. Membaca parameter pada method, yaitu 2

String yang masing-masing merupakan

movie_id dari 2 film yang berbeda.

2. Deklarasi variable bertipe double bernama

hasilSimilaritas, avg1 dan avg2.

3. Cek apakah parameter String movie_id 1

sama dengan movie_id 2.

a. Jika sama : isikan variable

hasilSimilaritas = 1.

b. Jika tidak sama :

i. Deklarasi objek ArrayList dari

kelas Rating bernama movie1

untuk menampung himpunan

rating yang dimiliki oleh

movie_id 1 (film 1). Panggil

method getItemRating(String)

dan tampung nilai return-nya

dalam objek movie1.

ii. Deklarasi objek ArrayList dari

kelas Rating bernama movie2

untuk menampung himpunan

riwayat rating yang dimiliki

oleh movie_id 2 (film 2).

Panggil method

getItemRating(String) dan

tampung nilai return-nya

dalam objek movie2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

48

iii. Panggil method

getAvg(String) untuk

mengetahui rata-rata nilai

rating dari kedua himpunan

rating film. Lalu tampung

nilai return method pada

variable avg1 dan avg2.

iv. Panggil method

getBagianAtas() dan

getBagianBawah() lalu

tampung nilai return

keduanya pada masing-

masing variable double.

v. Isikan variable

hasilSimilaritas =

bagianAtas / bagianBawah.

vi. Cek apakah hasil variable

hasilSimilaritas adalah NaN.

Jika hasilnya adalah NaN

maka ubah hasilSimilaritas =

0.

5. Kembalikan hasilSimilaritas sebagai nilai

return method.

➢ Method inputMovieSimilarity(ItemBased)

Digunakan untuk menginputkan nilai kemiripan

(similaritas) antara 2 film ke dalam table

movie_similarity.

1. Membaca parameter objek kelas ItemBased

pada method.

2. Bangun koneksi ke basis data MySQL.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

49

3. Deklarasi query untuk input data ke table

movie_similarity sesuai dengan isi variable

yang dibawa dari objek ItemBased.

4. Eksekusi query.

5. Tutup koneksi dari basis data.

3. Memprediksi Rating

Sama halnya pada perhitungan similaritas, perhitungan

prediksi juga memiliki langkah yang berbeda pada

masing-masing metodenya. Metode user-based CF

menggunakan rating dari pengguna lain dan nilai

similaritas antar pengguna dalam memprediksi sebuah

rating dari data testing. Sedangkan item-based CF

menggunakan rating pada film lain dan nilai similaritas

antar film dalam memprediksi sebuah rating. Blok

proses ini diterapkan pada kelas Prediction.java.

Terdapat 6 method yang dijalankan untuk menerapkan

blok proses ini. Berikut adalah penjabaran algoritma

dari 6 method tersebut :

➢ Method getRatingTesting()

Digunakan untuk mengambil semua data rating testing

yang akan diprediksi.

1. Bangun koneksi ke basis data MySQL.

2. Deklarasi query untuk melakukan perintah

select all data dari table rating_testing

3. Eksekusi query.

4. Deklarasi objek ArrayList dari kelas Rating.

5. Lakukan perulangan selama data result query

masih ada :

a. Deklarasi objek kelas Rating

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

50

b. Tampung data result query ke dalam

objek tersebut.

c. Tambahkan objek Rating tersebut ke

dalam objek ArrayList Rating.

6. Tutup koneksi dari basis data.

7. Kembalikan objek ArrayList dari kelas

Rating sebagai nilai return method.

Method inputPrediction(Prediction)

Digunakan untuk menginputkan nilai prediksi terhadap

rating real pada data testing ke dalam table prediction.

1. Membaca parameter objek kelas Prediction

pada method.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk input data ke table

prediction sesuai dengan isi variable yang

dibawa dari objek Prediction.

4. Eksekusi query.

5. Tutup koneksi dari basis data.

➢ Method getRatingAndUserSimilaritySort(String,

String)

Digunakan untuk menampung semua data rating dari

pengguna lain yang ber-interseksi dengan pengguna 1

dan nilai similaritas antara pengguna 1 dengan

pengguna 2.

1. Baca 2 parameter String sebagai user_id dan

movie_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select nilai similaritas pengguna lain yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

51

bernilai di atas 0, terhadap pengguna dengan

user_id tertentu dan telah me-rating film

dengan movie_id tertentu yang akan

diprediksi nilai rating-nya.

4. Eksekusi query.

5. Deklarasi objek ArrayList dari kelas

Prediction bernama otherUserRatingSort.

6. Lakukan perulangan selama data result query

masih ada :

a. Deklarasi objek Prediction.

b. Tampung semua data result ke dalam

objek tersebut.

c. Deklarasi query untuk mengambil

nilai rating yang diberikan oleh

pengguna lain kepada film dengan

movie_id tertentu.

d. Eksekusi query.

e. Tampung result query ke dalam objek

Prediction yang sudah dideklarasi

diawal.

f. Tambahkan objek Prediction tersebut

ke dalam objek ArrayList dari kelas

Prediction.

7. Tutup koneksi.

8. Kembalikan objek ArrayList Prediction

sebagai nilai return dari method.

➢ Method hasilPrediksiUserBased(Rating, int)

Digunakan untuk menghitung nilai prediksi rating

dengan menggunakan metode user-based CF dengan

jumlah maksimal neighbor yang ditentukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

52

1. Baca parameter objek Rating yang berisi data

testing sebuah record dan integer yang adalah

nilai top-N (batas jumlah maksimal neighbor)

pada method.

2. Deklarasi objek ArrayList dari kelas

Prediction dengan nama

otherUserRatingSort lalu isikan objek

dengan nilai return method

getRatingAndUserSimilaritySort(String,

String).

3. Terapkan rumus 2.3 dalam perhitungan

prediksi. Deklarasikan variable double

berikut ini :

a. RatingXUserSimilarityValue

b. totalRatingXUserSimilarityValue

c. totalUserSimilarityValue

d. prediction

4. Lakukan perulangan sebanyak parameter

integer top-N :

a. Lakukan perkalian antara nilai rating

dengan nilai similaritas pengguna

pada data testing dengan pengguna

lainnya. Simpan hasil perkalian ke

dalam variable

RatingXUserSimilarityValue.

b. totalRatingXUserSimilarityValue

= totalRatingXUserSimilarityValue +

RatingXUserSimilarityValue;

c. totalUserSimilarityValue =

totalUserSimilarityValue +

similarityValue;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

53

5. Isikan variable prediction =

totalRatingXUserSimilarityValue /

totalUserSimilarityValue;

6. Deklarasi objek kelas Prediction dengan

nama p. Simpan data ID_testing, jumlah

maksimal neighbor (top-N), nilai hasil

prediksi, dan jenis metode ke dalam objek.

7. Panggil method inputPrediction(Prediction)

lalu isikan parameternya dengan objek p.

8. Kembalikan prediction sebagai nilai return

dari method.

➢ Method getRatingAndMovieSimilaritySort

(String, String)

Digunakan untuk menampung semua data rating yang

dimiliki oleh film lain yang ber-interseksi dengan film

1 dan nilai similaritas antara film 1 dengan film 2.

1. Baca 2 parameter String sebagai user_id dan

movie_id.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk melakukan perintah

select nilai similaritas film lain yang bernilai

di atas 0, terhadap film dengan movie_id

tertentu dan film tersebut telah di-rating oleh

pengguna dengan user_id tertentu yang akan

diprediksi nilai rating-nya.

4. Eksekusi query.

5. Deklarasi objek ArrayList dari kelas

Prediction bernama otherMovieRatingSort.

6. Lakukan perulangan selama data result query

masih ada :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

54

a. Deklarasi objek Prediction.

b. Tampung semua data result ke dalam

objek tersebut.

c. Deklarasi query untuk mengambil

nilai rating yang dimiliki film lain

oleh pengguna dengan user_id

tertentu.

d. Eksekusi query.

e. Tampung result query ke dalam objek

Prediction yang sudah dideklarasi

diawal.

f. Tambahkan objek Prediction tersebut

ke dalam objek ArrayList dari kelas

Prediction.

7. Tutup koneksi.

8. Kembalikan objek ArrayList Prediction

sebagai nilai return dari method.

➢ Method hasilPrediksiItemBased(Rating, int)

Digunakan untuk menghitung nilai prediksi rating

dengan menggunakan metode item-based CF dengan

jumlah maksimal neighbor yang ditentukan.

1. Baca parameter objek Rating yang berisi data

testing sebuah record dan integer yang adalah

nilai top-N (batas jumlah maksimal neighbor)

pada method.

2. Deklarasi objek ArrayList dari kelas

Prediction dengan nama

otherMovieRatingSort lalu isikan objek

dengan nilai return method

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

55

getRatingAndMovieSimilaritySort(String,

String).

3. Terapkan rumus 2.5 dalam perhitungan

prediksi. Deklarasikan variable double

berikut ini :

a. RatingXMovieSimilarityValue

b. totalRatingXMoveSimilarityValue

c. totalMovieSimilarityValue

d. prediction

4. Lakukan perulangan sebanyak parameter

integer top-N :

a. Lakukan perkalian antara nilai rating

dengan nilai similaritas pengguna

pada data testing dengan pengguna

lainnya. Simpan hasil perkalian ke

dalam variable

RatingXMovieSimilarityValue.

b. totalRatingXMoveSimilarityValue

= totalRatingXMoveSimilarityValue

+ RatingXMovieSimilarityValue;

c. totalMovieSimilarityValue =

totalMovieSimilarityValue +

similarityValue;

5. Isikan variable prediction =

totalRatingXMovieSimilarityValue /

totalMovieSimilarityValue;

6. Deklarasi objek kelas Prediction dengan

nama p. Simpan data ID_testing, jumlah

maksimal neighbor (top-N), nilai hasil

prediksi, dan jenis metode ke dalam objek.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

56

7. Panggil method inputPrediction(Prediction)

lalu isikan parameternya dengan objek p.

8. Kembalikan prediction sebagai nilai return

dari method.

4. Menghitung MAE

Blok proses ini diterapkan pada kelas MAE.java.

Terdapat 1 method yang dijalankan untuk menerapkan

blok proses. Berikut adalah penjabaran algoritmanya :

➢ Method showPrediction(String, String)

Digunakan untuk menampung data rating prediksi dari

data testing serta mendapatkan nilai kesalahan atas

perhitungan metode (MAE).

1. Baca parameter jumlah maksimal neighbor

dan tipe metode.

2. Bangun koneksi ke basis data MySQL.

3. Deklarasi query untuk mengambil semua data

yang memiliki jumlah maksimal neighbor

(top-N) dan jenis metode (user/item-based)

sesuai dengan parameter.

4. Eksekusi query.

5. Deklarasi objek ArrayList dari kelas

Prediction bernama predictionList.

6. Deklarasi variable double bernama

bantuMAE.

7. Lakukan perulangan selama result query

masih ada :

a. Deklarasi objek kelas Prediction.

b. Simpan data hasil eksekusi query ke

dalam objek tersebut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

57

c. Tambahkan objek tersebut ke dalam

ArrayList predictionList.

d. Tampung total nilai absolut dari

pengurangan rating asli dikurangi

prediksi. Dengan rumus :

bantuMAE = bantuMAE +

Math.abs(p.getRating() -

p.getPredictionValue());

8. Deklarasi variable double bernama MAE.

Isikan MAE = bantuMAE /

predictionList.size();

9. Deklarasi objek dari kelas MAE bernama

predictionListWithMAE.

10. Simpan objek ArrayList bernama

predictionList dan variable MAE dalam

predictionListWithMAE.

11. Kembalikan predictionListWithMAE

sebagai nilai return dari method.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

58

4.3.2. Contoh Perhitungan Metode

Penulis menjabarkan tentang penerapan perhitungan

metode pada beberapa sampel data yang digunakan untuk

contoh perhitungan. Contoh perhitungan dibagi dalam 2 sub

bagian, yaitu bagian perhitungan metode user-based CF

dan metode item-based CF.

4.3.2.1. Metode User-based CF

Perhitungan pertama yang dilakukan adalah

perhitungan untuk mengetahui nilai similaritas antar

pengguna berdasarkan cara pengguna tersebut me-

rating film.

Pada table 3.1, penulis akan menghitung nilai

similaritas antara kedua pengguna yaitu John dan

Lucy.

Penulis tidak melibatkan 1 data rating yaitu rating

Diane terhadap Forrest Gump dalam perhitungan

similaritas. Data tersebut dijadikan sebagai data testing

untuk kebutuhan perhitungan prediksi.

1. Langkah pertama yang dilakukan adalah

mengambil semua data film yang telah John dan

Lucy rating. Data rating keduanya dapat dilihat

pada table 4.2 berikut.

Table 4.2 Sampel data rating untuk contoh perhitungan

metode user-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

59

2. Lalu dengan perhitungan similaritas Pearson

Correlation sesuai dengan rumus 2.1, penulis

mencari nilai similaritas diantara keduanya (John

& Lucy) :

a. Hitung rata-rata rating :

Rata-rata rating John = 5+1+2+2

4 = 2.5

Rata-rata rating Lucy = 1+5+2+5+5

5 =

3.6

b. Ambil semua interseksi rating antara John

dan Lucy. Interseksi antara keduanya dapat

dilihat pada table 4.3 :

Table 4.3 Interseksi rating antara John dan

Lucy

Diketahui hanya ada 4 film yang sudah di-

rating oleh keduanya (interseksi).

c. Lalu mulai lakukan perhitungan similaritas

menggunakan Pearson Correlation :

PC(John, Lucy) =

(5 − 2.5)(1 − 3.6) + (1 − 2.5)(5 − 3.6) + (2 − 2.5)(5 − 3.6) + (2 − 2.5)(5 − 3.6)

√(5 − 2.5)2 + (1 − 2.5)2 + (2 − 2.5)2 + (2 − 2.5)2 √(1 − 3.6)2 + (5 − 3.6)2 + (5 − 3.6)2 + (5 − 3.6)2

PC(John, Lucy) = −10

10.66583

PC(John, Lucy) = -0.93757

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

60

Didapatkan nilai similaritas antara John

dan Lucy sebesar -0.93757. Dengan

langkah perhitungan yang sama, hal

tersebut dilakukan untuk menghitung nilai

similaritas antara 1 pengguna dengan

pengguna lainnya, sehingga menghasilkan

sebuah matix user similarity seperti pada

table 4.4 berikut.

Table 4.4 Matrix user similarity dari hasil perhitungan similaritas antar pengguna.

Perhitungan Prediksi pada Metode User-based CF

Tahap ini adalah tahap akhir dari metode, yang mana

hasil prediksi rating akan dibandingkan dengan rating

asli dari sebuah data.

Skenario perhitungan prediksi adalah sebagai berikut :

1. Pada table 3.1 penulis mengasumsikan bahwa

rating Diane terhadap Forrest Gump belum

pernah dilakukan, sehingga data tersebut

dijadikan sebuah data testing.

Table 4.5 Sampel data testing pada metode user-

based CF

?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

61

Diketahui pada table 4.5 bahwa rating yang telah

diberikan Diane dianggap belum pernah

dilakukan. Pada kenyataannya rating yang telah

diberikan Diane terhadap film Forrest Gump

adalah 3.

1. Lalu menentukan jumlah maksimal neighbor

untuk menghitung hasil prediksi. Pada contoh ini

penulis menetapkan 2 neighbor untuk dilibatkan

dalam perhitungan prediksi.

2. Kemudian menetapkan beberapa kondisi untuk

melakukan perhitungan prediksi, diantaranya

adalah :

a. Neighbor lain telah me-rating film yang akan

diprediksi nilai rating nya. Dalam hal ini

semua neighbor telah memenuhi kondisi

pertama karena semua neighbor telah me-

rating film Forrest Gump.

b. Similaritas antara Diane dengan neighbor-

nya adalah bernilai di atas 0. Pada table 4.4

dapat dilihat bahwa hanya ada 1 neighbor

yang memiliki similaitas di atas 0 yaitu John.

Secara otomatis hanya ada 1 neighbor yang

boleh dilibatkan dalam perhitungan prediksi

yaitu John, dengan similaritas terhadap Diane

sebesar 0.51450.

3. Lalu mulai lakukan perhitungan prediksi dengan

menggunakan Weighted Sum sesuai dengan

rumus 2.3 :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

62

Prediksi Diane terhadap Forrest Gump ➔

2∗0.51450

0.51450 = 2

Jadi hasil perhitungan prediksi pada rating Diane

terhadap film Forrest Gump dengan

menggunakan metode user-based CF adalah 2,

sementara rating aslinya adalah 3. Selisih inilah

yang nantinya akan dihitung besar nilai

kesalahannya dengan menggunakan MAE.

4.3.2.2. Metode Item-based CF

Sama halnya pada metode user-based CF, perhitungan

pertama yang juga dilakukan adalah menghitung nilai

similaritas, namun pada metode ini yang dihitung

similaritasnya adalah antar film berdasarkan cara film

tersebut di-rating oleh sekumpulan pengguna.

Pada table 3.1, penulis akan menghitung nilai

similaritas antara kedua film yaitu The Matrix dan

Forrest Gump.

Penulis tidak melibatkan 1 data rating yaitu rating

Diane terhadap Forrest Gump dalam perhitungan

similaritas. Data tersebut dijadikan sebagai data testing

untuk kebutuhan perhitungan prediksi.

1. Langkah pertama yang dilakukan adalah

mengambil semua data rating yang telah diberikan

oleh semua pengguna pada film The Matrix dan

Forrest Gump. Data rating yang dimiliki

keduanya dapat dilihat pada table 4.6 berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

63

Table 4.6 Sampel data rating untuk contoh

perhitungan metode item-based CF

2. Lalu dengan perhitungan similaritas Pearson

Correlation sesuai dengan rumus 2.2, penulis

mencari nilai similaritas diantara kedua film (The

Matrix & Forrest Gump) :

a. Hitung rata-rata rating yang telah dimiliki

film :

Rata-rata rating untuk film The Matrix =

5+1+2+4

4 = 3

Rata-rata rating untuk film Forrest Gump =

2+5+5

3 = 4

b. Ambil semua interseksi rating antara The

Matrix dan Forrest Gump :

Table 4.7 Interseksi rating antara The

Matrix dan Forrest Gump

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

64

Diketahui hanya ada 3 pengguna (John,

Lucy dan Eric) yang sudah memberikan

rating kepada kedua film (interseksi).

c. Lalu mulai lakukan perhitungan similaritas

menggunakan Pearson Correlation

PC(The Matrix, Forrest Gump) =

(5 − 3)(2 − 4) + (1 − 3)(5 − 4) + (2 − 3)(5 − 4)

√(5 − 3)2 + (1 − 3)2 + (2 − 3)2 √(2 − 4)2 + (5 − 4)2 + (5 − 4)2

PC(The Matrix, Forrest Gump) =

−7

7.348469228

PC(The Matrix, Forrest Gump) = -

0.952579344

Didapatkan nilai similaritas antara The

Matrix dan Forrest Gump sebesar -

0.952579344. Dengan langkah perhitungan

yang sama, hal tersebut dilakukan untuk

menghitung nilai similaritas antara 1 film

dengan film lainnya, sehingga

menghasilkan sebuah matix movie

similarity seperti pada table 4.8 berikut.

Table 4.8 Matrix movie similarity dari hasil perhitungan similaritas antar film.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

65

Perhitungan Prediksi pada Metode Item-based CF

Tahap ini adalah tahap akhir dari metode, yang mana

hasil prediksi rating akan dibandingkan dengan rating

asli dari sebuah data.

Skenario perhitungan prediksi adalah sebagai berikut :

1. Pada table 3.1 penulis mengasumsikan bahwa

rating Diane terhadap Forrest Gump belum

pernah dilakukan, sehingga data tersebut

dijadikan sebuah data testing

Table 4.9 sampel data testing pada metode item-

based CF

Diketahui pada table 4.9 bahwa rating yang telah

diberikan Diane dianggap belum pernah

dilakukan. Pada kenyataannya rating yang telah

diberikan Diane terhadap film Forrest Gump

adalah 3.

2. Lalu menentukan jumlah maksimal neighbor

untuk menghitung hasil prediksi. Pada contoh ini

penulis menetapkan 2 neighbor untuk dilibatkan

dalam perhitungan prediksi.

3. Kemudian menetapkan beberapa kondisi untuk

melakukan perhitungan prediksi, diantaranya

adalah :

?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

66

a. Neighbor lain telah di-rating oleh Diane.

Dalam hal ini hanya terdapat 3 neighbor yang

telah memenuhi kondisi pertama. Namun

neighbor yaitu film Wall-E belum pernah di-

rating oleh Diane.

b. Similaritas antara Forrest Gump dengan

neighbor-nya adalah bernilai di atas 0. Pada

table 4.8 dapat dilihat bahwa hanya ada 2

neighbor yang memiliki similaitas di atas 0

yaitu Titanic dan Wall-E. Namun Wall-E

tidak memenuhi kondisi pertama, secara

otomatis hanya ada 1 neighbor yang boleh

dilibatkan dalam perhitungan prediksi yaitu

Titanic, dengan similaritas terhadap Forrest

Gump sebesar 0.948683298.

4. Lalu mulai lakukan perhitungan prediksi dengan

menggunakan Weighted Sum sesuai dengan

rumus 2.4 :

Prediksi Diane terhadap Forrest Gump ➔

3∗0.948683298

0.948683298 = 3

Jadi hasil perhitungan prediksi pada rating Diane

terhadap film Forrest Gump dengan

menggunakan metode item-based CF adalah 3,

dan rating aslinya adalah 3. Selisih inilah yang

nantinya akan dihitung besar nilai kesalahannya

dengan menggunakan MAE.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

67

4.3.2.3. Perhitungan MAE

Pada contoh perhitungan masing-masing metode pada

sub bagian 4.3.2.1 tentang metode user-based CF dan

bagian 4.3.2.2 tentang metode item-based, diketahui

bahwa kedua metode berhasil memberikan prediksi

rating terhadap sebuah rating seorang pengguna

terhadap film tertentu yang diasumsikan sebagai data

testing.

Berikut adalah hasil yang diketahui dari sub bagian

tersebut :

1. Data testing adalah rating dari seorang pengguna

bernama Diane yang telah me-rating film Forrest

Gump sebesar 3.

2. Metode user-based CF memberikan prediksi rating

sebesar 2.

3. Metode item-based CF memprediksi sebesar 3.

Untuk membuktikan dan mengetahui metode manakah

yang lebih akurat, dilakukan uji MAE dimana hasil uji

akan menunjukkan besar kesalahan dari prediksi

terhadap rating asli. Apabila hasil uji MAE semakin

mendekati angka 0, maka prediksi dari metode

tersebutlah yang memiliki keakuratan lebih baik

karena hampir tidak ada nilai kesalahannya.

Perhitungan MAE menggunakan rumus sesuai dengan

rumus 2.5 :

MAE untuk prediksi metode user-based CF = | 3−2 |

1

= 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

68

MAE untuk prediksi metode item-based CF = | 3−3 |

1

= 0

Dari hasil perhitungan MAE pada data testing,

diketahui bahwa metode user-based CF memiliki nilai

kesalahan sebesar 1, dimana nilai kesalahan tersebut

lebih besar dibanding perhitungan MAE pada metode

item-based CF yaitu 0.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

69

4.3.3. Diagram Kelas Disain

Pada gambar 4.6, dijabarkan diagram kelas disain yang

dirancang untuk menggambarkan hubungan antar kelas

pada perangkat lunak / sistem aplikasi website.

Gambar 4.6 Diagram kelas disain

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

70

4.3.3.1. Kelas View

Terdapat 7 kelas view yang akan menjadi antarmuka

sistem kepada aktor. Berikut adalah detail dari kelas

view yang terdapat pada diagram kelas disain :

Beranda.jsp

-

+

User_base.jsp

- userID : text

- cari : button

- user1 : text

- user2 : text

- cari : button

- hitungSimilaritas : button

+ get UserBasedControl

Item_base.jsp

- movieID : text

- cari : button

- movie1 : text

- movie2 : text

- cari : button

- hitungSimilaritas : button

+ get ItemBasedControl

Hasil_prediksi_user_base.jsp

- topN : selectbox

- method_type : hidden

- cari : button

+ get PredictionControl

Hasil_prediksi_item_base.jsp

- topN : selectbox

- method_type : hidden

- cari : button

+ get PredictionControl

Pencarian.jsp

- title : text

- tampil : button

- genreID : selectbox

- tampil : button

+ get MovieControl

Daftar_rating.jsp

- userID : number

- jenisRating : radiobutton

- tampil : button

- movieID : number

- jenisRating : radiobutton

- tampil : button

+ get RatingControl

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

71

4.3.3.2. Kelas Control

Berikut adalah detail dari kelas control yang terdapat

pada diagram kelas disain, terdapat 5 kelas control.

UserBasedControl.java

-

+ processRequest(HttpServletRequest, HttpServletResponse) : protected

void

+ doGet(HttpServletRequest, HttpServletResponse) : protected void

+ doPost(HttpServletRequest, HttpServletResponse) : protected void

ItemBasedControl.java

-

+ processRequest(HttpServletRequest, HttpServletResponse) : protected

void

+ doGet(HttpServletRequest, HttpServletResponse) : protected void

+ doPost(HttpServletRequest, HttpServletResponse) : protected void

PredictionControl.java

-

+ processRequest(HttpServletRequest, HttpServletResponse) : protected

void

+ doGet(HttpServletRequest, HttpServletResponse) : protected void

+ doPost(HttpServletRequest, HttpServletResponse) : protected void

MovieControl.java

-

+ processRequest(HttpServletRequest, HttpServletResponse) : protected

void

+ doGet(HttpServletRequest, HttpServletResponse) : protected void

+ doPost(HttpServletRequest, HttpServletResponse) : protected void

RatingControl.java

-

+ processRequest(HttpServletRequest, HttpServletResponse) : protected

void

+ doGet(HttpServletRequest, HttpServletResponse) : protected void

+ doPost(HttpServletRequest, HttpServletResponse) : protected void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

72

4.3.3.3. Kelas Model

Berikut adalah detail dari kelas model yang terdapat

pada diagram kelas disain, terdapat 9 kelas model.

Koneksi.java

- url : string

- user : string

- pass : string

- conn : Connection

+ Koneksi() <<konstruktor>>

+ getKoneksiDB() : static Connection

+ close() : void

Genre.java

- genreId : string

- genreName : string

- conn : Connection

+ Genre() <<konstruktor>>

+ Genre(Connection) <<konstruktor>>

+ getKoneksi() : static Genre

+ getGenreId() : String

+ setGenreId(String) : void

+ getGenreName() : String

+ setGenreName(String) : void

+ getAllGenre() : List<Genre>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

73

User.java

- userId : string

- age : string

- gender : string

- occupation : string

- zipcode : string

- conn : Connection

+ User() <<konstruktor>>

+ User(Connection) <<konstruktor>>

+ getKoneksi() : static User

+ getUserId() : String

+ setUserId(String) : void

+ getAge() : String

+ setAge(String) : void

+ getGender() : String

+ setGender(String) : void

+ getOccupation() : String

+ setOccupation(String) : void

+ getZipCode() : String

+ setZipCode(String) : void

Movie.java

- movieId : string

- movieTitle : string

- movieGenre : List<String>

- releaseDate : string

- conn : Connection

+ Movie() <<konstruktor>>

+ Movie(Connection) <<konstruktor>>

+ getKoneksi() : static Movie

+ getMovieId() : String

+ setMovieId(String) : void

+ getMovieTitle() : String

+ setMovieTitle(String) : void

+ getMovieGenre() : List<String>

+ setMovieGenre(List<String>) : void

+ getReleaseDate() : String

+ setReleaseDate(String) : void

+ getAllMovie () : List<Movie>

+ getMovieByGenre(String) : List<Movie>

+ getMovieByTitle (String) : List<Movie>

+ getGenre (String) : List<String>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

74

ItemBased.java

- movieSimilarityId : string

- movieID_1: string

- movieID_2 : string

- similarityValue : Double

- conn : Connection + ItemBased() <<konstruktor>>

+ ItemBased(Connection) <<konstruktor>>

+ getKoneksi() : static ItemBased

+ getMovieSimilarityId() : String

+ setMovieSimilarityId(String) : void

+ getMovieID_1() : String

+ setMovieID_1(String) : void

+ getMovieID_2() : String

+ setMovieID_2(String) : void

+ getSimilarityValue() : Double

+ setSimilarityValue(Double) : void

+ getItemRating(String) : List<Rating>

+ getAvg(String) : Double

+ getBagianAtas(List<Rating>, List<Rating>, Double, Double) : Double

+ getBagianBawah(List<Rating>, List<Rating>, Double, Double) : Double

+ similaritasPearsonCorrelation(Sting, String) : Double

+ inputMovieSimilarity(ItemBased) : void

+ getMovieSimilarityOneMovie(String) : List<ItemBased>

+ getMovieSimilarityTwoMovies(String, String) : List<ItemBased>

UserBased.java

- userSimilarityId : string

- userID_1: string

- userID_2 : string

- similarityValue : Double

- conn : Connection

+ UserBased() <<konstruktor>>

+ UserBased(Connection) <<konstruktor>>

+ getKoneksi() : static UserBased

+ getUserSimilarityId() : String

+ setUserSimilarityId(String) : void

+ getUserID_1() : String

+ setUserID_1(String) : void

+ getUserID_2() : String

+ setUserID_2(String) : void

+ getSimilarityValue() : Double

+ setSimilarityValue(Double) : void

+ getUserRating(String) : List<Rating>

+ getAvg(String) : Double

+ getBagianAtas(List<Rating>, List<Rating>, Double, Double) : Double

+ getBagianBawah(List<Rating>, List<Rating>, Double, Double) :

Double

+ similaritasPearsonCorrelation(Sting, String) : Double

+ inputUserSimilarity(UserBase) : void

+ getMovieSimilarityOneUser(String) : List<ItemBased>

+ getMovieSimilarityTwoUsers(String, String) : List<ItemBased>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

75

Prediction.java

- predictionID : string

- ratingId: string

- topN : int

- predictionValue : Double

- methodType : String

- objek1 : String

- objek2 : String

- rating : double

- similarityValue : double

- conn : Connection + Prediction() <<konstruktor>>

+ Prediction(Connection) <<konstruktor>>

+ getKoneksi() : static Prediction

+ getPredictionID() : String

+ setPredictionID (String) : void

+ getRatingId() : String

+ setRatingId(String) : void

+ getTopN() : int

+ setTopN(String) : void

+ getPredictionValue() : Double

+ setPredictionValue(Double) : void

+ getMethodType() : String

+ setMethodType(String) : void

+ getObjek1() : String

+ setObjek1(String) : void

+ getObjek2() : String

+ setObjek2(String) : void

+ getSimilarityValue() : Double

+ setSimilarityValue(Double) : void

+ getRatingTesting() : List<Rating>

+ getRatingAndUserSimilaritySort(String, String) : List<Prediction>

+ hasilPrediksiUserBased(Rating, int) : double

+ getRatingAndMovieSimilaritySort (String, String) : List<Prediction>

+ hasilPrediksiItemBased(Rating, int) : double

+ inputPrediction(Prediction) : void

MAE.java

- MAE : Double

- listPrediksi : List<Prediction>

- conn : Connection + MAE() <<konstruktor>>

+ MAE(Connection) <<konstruktor>>

+ getKoneksi() : static MAE

+ getMAE() : double

+ setMAE(double) : void

+ getListPrediksi() : List<Prediction>

+ setListPrediksi(List<Prediction>) : void

+ showPrediction(String, Stirng) : MAE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

76

Rating.java

- ratingId : string

- movieId: string

- movieTitle : string

- userId : string

- rating : Double

- rateAt : string

- conn : Connection

+ Rating() <<konstruktor>>

+ Rating(Connection) <<konstruktor>>

+ getKoneksi() : static Rating

+ getRatingId() : String

+ setRatingId(String) : void

+ getMovieId() : String

+ setMovieId(String) : void

+ getMovieTitle() : String

+ setMovieTitle(String) : void

+ getUserId() : String

+ setUserId(String) : void

+ getRating() : Double

+ setRating(Double) : void

+ getRateAt() : String

+ setRateAt(String) : void

+ getAllRating() : List<Rating>

+ getRatingByUser(String) : List<Rating>

+ getRatingByMovie(String) : List<Rating>

+ getTotalUserRated() : int

+ getUserById(int) : List<Rating>

+ inputDataRatingTesting(Rating) : void

+ pilihDataTesting() : void

4.4. Perancangan Output

Pada perangkat lunak atau sistem berbasis website yang akan dibangun

dengan menggunakan bahasa jsp dan basis data MySQL, output yang

dihasilkan berupa :

1. Tampilan nilai similaritas antar pengguna maupun antar item

(movie).

2. Tampilan hasil prediksi dari data testing.

3. Nilai kesalahan / error dari hasil prediksi terhadap rating asli dengan

MAE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

77

Berikut adalah desain antarmuka / grapichal user interface (GUI) yang

terdapat pada sistem, dengan tujuan membantu administrator untuk

menggunakan sistem yang dibangun, baik berupa penggunaan fitur

maupun melihat data serta hasil perhitungan algoritma pada metode-

metode yang digunakan.

4.4.1. Halaman Utama

Halaman ini adalah halaman yang pertama kali akan

ditampilkan kepada aktor, sehingga aktor dapat melakukan

aksi yang terdapat pada sistem website dari halaman ini.

Rancangan halaman utama ini dapat dilihat pada gambar 4.7

berikut.

Gambar 4.7 Halaman utama yang terdapat pada sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

78

4.4.2. Halaman User-based

Halaman ini adalah halaman yang digunakan untuk

menghitung dan menampilkan nilai similaritas antar

pengguna. Rancangan halaman ini dapat dilihat pada gambar

4.8 berikut.

Gambar 4.8 Halaman user-based

Gambar 4.8 menampilkan tampilan website dimana belum

terdapat informasi pada table similaritas antar pengguna

karena administrator belum klik tombol “Hitung Similaritas”.

Sementara pada gambar 4.9 adalah halaman yang sudah

terdapat informasi similaritas antar pengguna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

79

Gambar 4.9 Halaman user-based

4.4.3. Halaman Item-based

Gambar 4.10 Halaman item-based

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

80

Gambar 4.11 Halaman item-based

Gambar 4.10 menampilkan tampilan website dimana belum

terdapat informasi pada table similaritas antar film karena

administrator belum klik tombol “Hitung Similaritas”.

Sementara pada gambar 4.11 adalah halaman yang sudah

terdapat informasi similaritas antar film.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

81

4.4.4. Halaman Hasil Prediksi

Halaman ini adalah halaman yang menampilkan total

kesalahan (nilai MAE) serta detail rating sebenarnya dan

hasil prediksi rating oleh perhitungan metode. Rancangan

halaman ini dapat dilihat pada gambar 4.12.

Gambar 4.12 Halaman hasil prediksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

82

4.4.5. Halaman Pencarian

Berikut adalah rancangan halaman pencarian film seperti

pada gambar 4.13. halaman ini menampilkan hasil pencarian

berdasarkan kategori genre move atau berdasarkan kata

kunci judul film.

Gambar 4.13 Halaman pencarian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

83

4.4.6. Halaman Daftar Rating

Gambar 4.14 Perbedaan informasi pada halaman daftar rating

Pada gambar 4.14 dapat dilihat perbedaan antara daftar

rating yang telah diberikan oleh pengguna (gambar 4.14

bagian atas) dan daftar rating yang dimiliki oleh film

(gambar 4.14 bagian bawah).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

84

BAB V IMPLEMENTASI DAN ANALISA HASIL

Berikut dijabarkan tentang implementasi yang dilakukan penulis dalam

penelitiannya. Langkah-langkah mengenai penerapan dari perancangan awal.

5.1. Implementasi Input

Pada bagian ini penulis melakukan proses create table pada basisdata

dengan struktur table-table dalam DBMS sebagai berikut :

5.1.1. Table Movie

CREATE TABLE `movies` (

`movie_id` int(11) NOT NULL,

`title` varchar(255) DEFAULT NULL,

`release_date` date DEFAULT NULL

)

ALTER TABLE `movies` ADD PRIMARY KEY

(`movie_id`);

5.1.2. Table Genre

CREATE TABLE `genres` (

`genre_id` int(11) NOT NULL,

`name` varchar(255) DEFAULT NULL

)

ALTER TABLE `genres` ADD PRIMARY KEY

(`genre_id`);

5.1.3. Table Movie_Similarity

CREATE TABLE `movie_similarity` (

`movie_similarity_id` int(11) NOT NULL,

`movie_id_1` int(11) NOT NULL,

`movie_id_2` int(11) NOT NULL,

`movie_similarity_value` double NOT NULL

)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

85

ALTER TABLE `movie_similarity` ADD PRIMARY

KEY (`movie_similarity_id`), ADD KEY

`MS_to_M_1` (`movie_id_1`), ADD KEY

`MS_to_M_2` (`movie_id_2`);

ALTER TABLE `movie_similarity` MODIFY

`movie_similarity_id` int(11) NOT NULL

AUTO_INCREMENT;

ALTER TABLE `movie_similarity` ADD

CONSTRAINT `MS_to_M_1` FOREIGN KEY

(`movie_id_1`) REFERENCES `movies` (`movie_id`),

ADD CONSTRAINT `MS_to_M_2` FOREIGN KEY

(`movie_id_2`) REFERENCES `movies` (`movie_id`);

5.1.4. Table Genre_Movie

CREATE TABLE `genres_movies` (

`id` int(11) NOT NULL,

`movie_id` int(11) DEFAULT NULL,

`genre_id` int(11) DEFAULT NULL

)

ALTER TABLE `genres_movies` ADD PRIMARY

KEY (`id`), ADD KEY `genre_id` (`genre_id`), ADD

KEY `movie_id` (`movie_id`);

ALTER TABLE `genres_movies`

ADD CONSTRAINT `genres_movies_ibfk_1`

FOREIGN KEY (`genre_id`) REFERENCES `genres`

(`genre_id`),

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

86

ADD CONSTRAINT `genres_movies_ibfk_2`

FOREIGN KEY (`movie_id`) REFERENCES `movies`

(`movie_id`);

5.1.5. Table Occupation

CREATE TABLE `occupations` (

`occupation_id` int(11) NOT NULL,

`name` varchar(255) DEFAULT NULL

)

ALTER TABLE `occupations` ADD PRIMARY KEY

(`occupation_id`);

5.1.6. Table User

CREATE TABLE `users` (

`user_id` int(11) NOT NULL,

`age` int(11) DEFAULT NULL,

`gender` char(1) DEFAULT NULL,

`occupation_id` int(11) DEFAULT NULL,

`zip_code` varchar(255) DEFAULT NULL

)

ALTER TABLE `users` ADD PRIMARY KEY

(`user_id`), ADD KEY `occupation_id`

(`occupation_id`);

ALTER TABLE `users` ADD CONSTRAINT

`users_ibfk_1` FOREIGN KEY (`occupation_id`)

REFERENCES `occupations` (`occupation_id`);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

87

5.1.7. Table User_Similarity

CREATE TABLE `user_similarity` (

`user_similarity_id` int(11) NOT NULL,

`user_id_1` int(11) NOT NULL,

`user_id_2` int(11) NOT NULL,

`user_similarity_value` double NOT NULL

)

ALTER TABLE `user_similarity` ADD PRIMARY

KEY (`user_similarity_id`), ADD KEY `US_to_U_1`

(`user_id_1`), ADD KEY `US_to_U_2` (`user_id_2`);

ALTER TABLE `user_similarity` MODIFY

`user_similarity_id` int(11) NOT NULL

AUTO_INCREMENT;

ALTER TABLE `user_similarity` ADD

CONSTRAINT `US_to_U_1` FOREIGN KEY

(`user_id_1`) REFERENCES `users` (`user_id`),

ADD CONSTRAINT `US_to_U_2` FOREIGN KEY

(`user_id_2`) REFERENCES `users` (`user_id`);

5.1.8. Table Rating

CREATE TABLE `ratings` (

`id` int(11) NOT NULL,

`user_id` int(11) DEFAULT NULL,

`movie_id` int(11) DEFAULT NULL,

`rating` int(11) DEFAULT NULL,

`rated_at` timestamp NOT NULL DEFAULT

CURRENT_TIMESTAMP ON UPDATE

CURRENT_TIMESTAMP

)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

88

ALTER TABLE ̀ ratings` ADD PRIMARY KEY (`id`),

ADD KEY `movie_id` (`movie_id`), ADD KEY

`user_id` (`user_id`);

ALTER TABLE `ratings` ADD CONSTRAINT

`ratings_ibfk_1` FOREIGN KEY (`movie_id`)

REFERENCES `movies` (`movie_id`),

ADD CONSTRAINT ̀ ratings_ibfk_2` FOREIGN KEY

(`user_id`) REFERENCES `users` (`user_id`);

5.1.9. Table Rating_Testing

CREATE TABLE `ratings_testing` (

`id_testing` int(11) NOT NULL,

`user_id` int(11) DEFAULT NULL,

`movie_id` int(11) DEFAULT NULL,

`rating` int(11) DEFAULT NULL,

`rated_at` timestamp NOT NULL DEFAULT

CURRENT_TIMESTAMP ON UPDATE

CURRENT_TIMESTAMP

)

ALTER TABLE `ratings_testing` ADD PRIMARY

KEY (`id_testing`), ADD KEY `testing_to_movie`

(`movie_id`), ADD KEY `testing_to_user` (`user_id`);

ALTER TABLE `ratings_testing` ADD

CONSTRAINT `testing_to_movie` FOREIGN KEY

(`movie_id`) REFERENCES `movies` (`movie_id`),

ADD CONSTRAINT `testing_to_user` FOREIGN

KEY (`user_id`) REFERENCES `users` (`user_id`);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

89

5.1.10. Table Prediction

CREATE TABLE `prediction` (

`prediction_id` int(11) NOT NULL,

`id_testing` int(11) DEFAULT NULL,

`top_n` int(11) DEFAULT NULL,

`prediction_value` double DEFAULT NULL,

`method_type` varchar(1) NOT NULL

)

ALTER TABLE `prediction` ADD PRIMARY KEY

(`prediction_id`), ADD KEY

`prediction_to_rating_testing` (`id_testing`);

ALTER TABLE `prediction` MODIFY `prediction_id`

int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `prediction` ADD CONSTRAINT

`prediction_to_rating_testing` FOREIGN KEY

(`id_testing`) REFERENCES `ratings_testing`

(`id_testing`);

5.2. Implementasi Proses

Bagian ini menjelaskan tentang penerapan dari perancangan yang

telah dibuat pada bab sebelumnya. Perancangan berupa algoritma dari

masing-masing blok proses yang dimuat pada gambar flowchart

diagram yaitu pada gambar 4.4

5.2.1. Blok Proses pada Kelas

Penjelasan tentang implementasi blok proses yang telah

dirancang pada diagram flowchart pada gambar 4.4 tersebut

akan dijabarkan dalam table 5.1 berikut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

90

Table 5.1 Implementasi Blok Proses pada Kelas Java

No. Nama Blok Proses Kelas Java

1. Memilih data testing Rating.java

2. Menghitung similarity UserBased.java

ItemBased.java

3. Memprediksi rating Prediction.java

4. Menghitung MAE MAE.java

5.2.2. Implementasi Blok Proses dalam Koding

1. Memilih data testing

Berikut adalah source code yang ada pada kelas

Rating.java untuk implementasi blok proses “Memilih

data testing”. Dapat dilihat pada gambar 5.1 sampai

dengan gambar 5.4 berikut.

Gambar 5.1 Source code method getTotalUserRated()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

91

Gambar 5.2 Source code method getUserById(int)

Gambar 5.3 Source code method inputDataRatingTesting(Rating)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

92

Gambar 5.4 Source code method pilihDataTesting()

Setelah semua method dibuat (gambar 5.1 sampai 5.4),

penulis melakukan running program untuk memilih data

testing pada method public static main di kelas

Rating.java seperti pada gambar 5.5.

Gambar 5.5 Source code method main()

Proses running untuk pemilihan data testing berlangsung

selama 8 menit 41 detik. Program berhasil memilih 4715

data rating untuk dijadikan data testing dalam skenario

perhitungan prediksi. Lama waktu running dapat dilihat

pada gambar 5.6 berikut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

93

Gambar 5.6 Lama running pemilihan data testing

Langkah selanjutnya adalah memastikan bahwa tidak

ada pengguna yang tidak me-rating dan/atau tidak ada

film yang tidak di-rating pada data training di table

ratings. Jika hal itu terjadi maka pengguna atau film

tersebut tidak dapat dihitung nilai similaritasnya karena

belum pernah me-rating atau di-rating sama sekali.

Untuk memastikannya, diperlukan query select pada

basis data dengan statement seperti pada query 5.1

berikut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

94

SELECT * FROM `users` WHERE user_id NOT IN

(select movie_id from ratings)

Query 5.1 Menampilkan pengguna yang tidak me-

rating film

Statement pada query 5.1 digunakan untuk mengecek

apakah ada pengguna yang tidak me-rating film sama

sekali setelah dilakukan proses pemilihan data testing.

Gambar 5.7 Result query untuk validasi rating pengguna

Pada gambar 5.7 terbukti bahwa tidak ada pengguna

yang tidak me-rating film.

Statement selanjutnya adalah statement untuk untuk

mengecek apakah terdapat film yang tidak pernah di-

rating sama sekali oleh pengguna manapun. Berikut

adalah statement nya pada query 5.2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

95

SELECT * FROM `movies` WHERE movie_id NOT

IN (select movie_id from ratings)

Query 5.2 Menampilkan film yang tidak di-rating

pengguna

Gambar 5.8 Result query untuk validasi rating film

Pada gambar 5.8 diketahui bahwa terdapat 2 data film

yang menjadi tidak pernah di-rating sama sekali oleh

pengguna setelah dilakukannya pemilihan data testing.

Untuk menghindari kesalahan metode maka kedua data

film ini akan diinputkan kembali ke table ratings dan

dijadikan data training. Berikut adalah statement query

untuk insert kedua data testing (query 5.3) kembali ke

table ratings dan juga statement query untuk

menghapusnya dari data testing (query 5.4).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

96

INSERT INTO `ratings`(`id`, `user_id`, `movie_id`,

`rating`, `rated_at`) VALUES (12431, 405, 1582, 1,

'1998-01-23 01:44:30');

INSERT INTO `ratings`(`id`, `user_id`, `movie_id`,

`rating`, `rated_at`) VALUES (47867 , 675 , 1653 , 5 ,

'1998-03-09 16:31:53');

Query 5.3 Insert data ke table ratings

DELETE from ratings_testing where id_testing =

12431 or id_testing = 47867;

Query 5.4 Hapus data dari table ratings_testing

Dengan begitu, maka tidak terjadi kondisi dimana

terdapat pengguna yang belum pernah me-rating film

atau film yang tidak pernah di-rating oleh pengguna

sama sekali.

Dalam proses pengimplementasian blok proses ini,

penulis menemukan masalah dimana terdapat beberapa

data testing yang tidak memiliki neighbor sama sekali,

sehingga perhitungan prediksi menghasilkan nilai NaN

yang tidak dapat dikalkulasikan untuk perhitungan

MAE. Berikut adalah ilustrasi dimana data testing tidak

memiliki neighbor sama sekali.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

97

Gambar 5.9 Ilustrasi data testing tidak memiliki

neighbor pada metode user-based CF

Gambar 5.10 Ilustrasi data testing tidak memiliki

neighbor pada metode item-based CF

Pada gambar 5.9 diketahui bahwa data testing adalah

rating yang sudah diberikan Joko terhadap film A.

Namun pada kondisi ilustrasi tersebut, film A belum

pernah di-rating oleh pengguna manapun selain Joko,

dimana rating dari pengguna lain tersebutlah yang

diperlukan oleh metode user-based CF untuk

menghitung nilai prediksi. Oleh karena itu data testing

tersebut tidak dapat dihitung prediksinya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

98

Sedangkan pada gambar 5.10 diketahui bahwa data

testing adalah rating yang sudah diberikan Joko kepada

film C. Namun Joko hanya pernah memberikan rating

terhadap satu film saja yaitu film C. Sedangkan metode

item-based CF memerlukan rating terhadap film lain

dari Joko untuk menghitung prediksi dari data testing.

Oleh karena perihal itu, penulis memutuskan untuk tidak

menjadikan data tersebut sebagai data testing, data

tersebut berjumlah 12 data, dan ke-12 nya akan

diinputkan kembali ke table ratings untuk dijadikan data

training.

Statement query untuk insert 12 data testing kembali ke

table ratings dapat dilihat pada query 5.5. Statement

query untuk menghapus 12 data tersebut dari data testing

dapat dilihat pada query 5.6.

INSERT INTO `ratings`(`id`, `user_id`, `movie_id`,

`rating`, `rated_at`) VALUES

(674, 5, 439, 1, '1997-11-06 11:27:03'),

(3426, 2, 314, 1, '1998-03-03 18:54:45'),

(8990, 358, 1529, 3, '1998-03-30 06:53:04'),

(9640, 358, 643, 3, '1998-03-30 07:01:31'),

(18968, 448, 1294, 1, '1998-04-06 11:26:01'),

(23045, 489, 1293, 5, '1998-04-01 08:03:43'),

(26401, 519, 1617, 5, '1997-12-27 11:15:02'),

(41252, 609, 314, 1, '1998-02-07 15:59:01'),

(45304, 713, 1656, 2, '1998-03-02 15:41:25'),

(55184, 762, 1662, 1, '1997-11-05 00:42:04'),

(55373, 828, 1646, 4, '1998-04-21 12:15:24'),

(58055, 851, 987, 1, '1997-10-01 11:30:01');

Query 5.5 Insert 12 data ke table ratings

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

99

DELETE from ratings_testing where id_testing = 674;

DELETE from ratings_testing where id_testing =

3426;

DELETE from ratings_testing where id_testing =

8990;

DELETE from ratings_testing where id_testing =

9640;

DELETE from ratings_testing where id_testing =

18968;

DELETE from ratings_testing where id_testing =

23045;

DELETE from ratings_testing where id_testing =

26401;

DELETE from ratings_testing where id_testing =

41252;

DELETE from ratings_testing where id_testing =

45304;

DELETE from ratings_testing where id_testing =

55184;

DELETE from ratings_testing where id_testing =

55373;

DELETE from ratings_testing where id_testing =

58055;

Query 5.6 Hapus 12 data dari table ratings_testing

Setelah statement query tersebut dijalankan, maka total

data testing pada table rating_testing menjadi 4701 data

seperti yang ditunjukkan gambar 5.11 berikut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

100

Gambar 5.11 Total data dari table rating_testing

2. Menghitung similarity

Penulis akan membagi implementasi dari blok proses

“Menghitung similarity” dalam 2 bagian. Bagian

pertama adalah penerapan perhitungan similaritas di

kelas Userbased.java dan bagian kedua adalah pada kelas

ItemBased.java.

➢ Metode user-based CF

Berikut adalah source code yang ada pada kelas

UserBased.java untuk implementasi blok proses

“Menghitung similarity”. Implementasi penulis dalam

koding untuk blok proses ini dapat dilihat pada gambar

5.12 sampai dengan gambar 5.17.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

101

Gambar 5.12 Source code method getUserRating(String)

Gambar 5.13 Source code method getAvg(String)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

102

Gambar 5.14 Source code method getBagianAtas(List<Rating>,

List<Rating>, Double, Double)

Gambar 5.15 Source code method getBagianBawah(List<Rating>,

List<Rating>, Double, Double)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

103

Gambar 5.16 Source code method

similaritasPearsonCorrealtion(String, String)

Gambar 5.17 Source code method inputUserSimilarity(UserBased)

Setelah semua method dibuat, penulis melakukan

running program untuk menghitung semua nilai

similaritas antar pengguna satu dengan pengguna

lainnya pada method main() di kelas UserBased.java

(gambar 5.18). Langkah yang sama pada method main()

juga dilakukan pada kelas UserBasedControl.java yang

menghubungkan antara kelas View dengan kelas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

104

Model. Berikut adalah running program untuk

menghitung similaritas antar 943 pengguna. Total data

similaritas antar pengguna adalah 889.249 data.

Gambar 5.18 Source code method main()

Proses perhitungan similaritas tersebut memakan waktu

selama lebih dari 24 jam. Detail lama waktu running

terdapat pada gambar 5.19 berikut.

Gambar 5.19 Lama running perhitungan similaritas

antara pengguna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

105

Setelah running program selesai, maka penulis

melakukan pengecekan terhadap jumlah data yang saat

ini tersimpan di table user_similarity.

Gambar 5.20 Total data dari table user_similarity

Total data nilai similaritas antar pengguna telah berhasil

disimpan semuanya ke dalam table user_similarity,

dengan total data sebanyak 889.249 baris (record).

Total data dapat dilihat pada gambar 5.20.

➢ Metode item-based CF

Berikut adalah source code yang ada pada kelas

ItemBased.java untuk implementasi blok proses

“Menghitung similarity”. Implementasi penulis dalam

koding untuk blok proses ini dapat dilihat pada gambar

5.21 sampai dengan gambar 5.26.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

106

Gambar 5.21 Source code method

getItemRating(String)

Gambar 5.22 Source code method getAvg(String)

Gambar 5.23 Source code method

getBagianAtas(List<Rating>, List<Rating>, Double, Double)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

107

Gambar 5.24 Source code method getBagianBawah(List<Rating>,

List<Rating>, Double, Double)

Gambar 5.25 Source code method

similaritasPearsonCorrealtion(String, String)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

108

Gambar 5.26 Source code method inputMovieSimilarity(UserBased)

Sama seperti metode user-based CF di kelas

UserBased.java, penulis juga melakukan running

program untuk menghitung semua nilai similaritas antar

film satu dengan film lainnya pada method main() di

kelas ItemBased.java (gambar 5.27). Langkah yang

sama pada method main() juga dilakukan pada kelas

ItemBasedControl.java yang menghubungkan antara

kelas View dengan kelas Model. Berikut adalah running

program untuk menghitung similaritas antar 1682 film.

Total data similaritas antar pengguna adalah 2.829.124

data.

Gambar 5.27 Source code method main()

Proses perhitungan similaritas tersebut memakan waktu

selama lebih dari 48 jam. Detail lama waktu running

terdapat pada gambar 5.28 berikut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

109

Gambar 5.28 Lama running perhitungan similaritas

antara pengguna

Setelah running program selesai, maka penulis

melakukan pengecekan terhadap jumlah data yang saat

ini tersimpan di table movie_similarity.

Gambar 5.29 Total data dari table movie_similarity

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

110

Total data nilai similaritas antar film telah berhasil

disimpan semuanya ke dalam table movie_similarity,

dengan total data sebanyak 2.829.124 baris (record).

Total data dapat dilihat pada gambar 5.29.

3. Memprediksi rating

Berikut adalah source code yang ada pada kelas

Prediction.java untuk implementasi blok proses

“Memprediksi rating”.

Implementasi koding untuk mengambil semua data

testing dapat dilihat pada gambar 5.30. sedangakan

gambar 5.31 adalah implementasi koding untuk

menyimpan hasil perhitungan prediksi ke table

prediction.

Gambar 5.30 Source code method getRatingTesting()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

111

Gambar 5.31 Source code method inputPrediction(Prediction)

Implementasi koding untuk memprediksi rating dengan

metode user-based CF dapat dilihat pada gambar 5.32

sampai dengan gambar 5.34.

Gambar 5.32 Source code method

getRatingAndUserSimilaritySort(String, String)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

112

Gambar 5.33 Source code method hasilPrediksiUserBased1(Rating, int)

Setelah method menghitung hasil prediksi untuk metode

user-based CF berhasil dibuat, maka langkah

selanjutnya adalah running program untuk menghitung

hasil prediksi dari semua data testing dengan jumlah

maksimal neighbor yaitu 10, 30, 50, 70, 100 dan semua

neighbor yang memenuhi syarat sesuai dengan kondisi

yang tertera pada sub bagian 4.3.2.1.. Berikut adalah

source code pada method main() untuk menghitung nilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

113

prediksi dengan metode user-based CF tertera pada

gambar 5.34.

Gambar 5.34 Source code method main()

Pada gambar 5.34 dapat kita lihat sebuah variable integer

bernama maxTopN. Variable ini digunakan untuk

mengubah-ubah nilai jumlah maksimal neighbor untuk

mendapatkan nilai prediksi dari metode user-based CF.

Berikut adalah gambar yang menunjukkan lawa waktu

running dari perhitungan prediksi dengan masing-

masing jumlah maksimal neighbor yang tercantum

dalam sub bab 1.3.

Gambar 5.35 Lama waktu running hitung prediksi user-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

114

Gambar 5.31 menunjukkan lama waktu running dengan

urutan gambar dari atas sampai bawah : jumlah neighbor

10, 30, 50, 70, 100, all neighbor.

Selanjutnya, implementasi koding untuk memprediksi

rating dengan metode user-based CF dapat dilihat pada

gambar 5.36 sampai dengan gambar 5.37.

Gambar 5.36 Source code method

getRatingAndMovieSimilaritySort(String, String)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

115

Gambar 5.37 Source code method hasilPrediksiItemBased1(Rating, int)

Setelah method menghitung hasil prediksi untuk metode

item-based CF berhasil dibuat, maka langkah

selanjutnya adalah running program untuk menghitung

hasil prediksi dari semua data testing dengan jumlah

maksimal neighbor yaitu 10, 30, 50, 70, 100 dan semua

neighbor yang memenuhi syarat sesuai dengan kondisi

yang tertera pada sub bagian 4.3.2.2.. Berikut adalah

source code pada method main() untuk menghitung nilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

116

prediksi dengan metode item-based CF tertera pada

gambar 5.38.

Gambar 5.38 Source code method main()

Pada gambar 5.38 dapat kita lihat sebuah variable integer

bernama maxTopN. Sama halnya dengan skenario nilai

prediksi dari metode user-based CF, skenario pada

metode item-based CF pun dilakukan dengan cara

menghitung prediksi dengan masing-masing jumlah

maksimal neighbor yang tercantum dalam sub bab 1.3..

Jumlah maksimal neighbor tersebut diisikan dalam

maxTopN.

Gambar 5.39 Lama waktu running hitung prediksi item-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

117

Gambar 5.39 menunjukkan lama waktu running dengan

urutan gambar dari atas sampai bawah : jumlah neighbor

10, 30, 50, 70, 100, all neighbor.

Semua nilai hasil prediksi telah tersimpan dalam table

prediction. Berikut adalah total data yang tersimpan

dalam table prediction yang memuat data testing, jumlah

maksimal neighbor, nilai prediksi, beserta jenis metode

yang digunakan untuk perhitungan prediksi. Terdapat

56.412 data yang tersimpan, dapat dilihat pada gambar

5.40.

Gambar 5.40 Total data pada table prediction

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

118

4. Menghitung MAE

Berikut adalah source code yang ada pada kelas

MAE.java untuk implementasi blok proses “Menghitung

MAE” pada gambar 5.41.

Gambar 5.41 Source code method showPrediction(String, String)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

119

5.3. Implementasi Output

5.3.1. Halaman Utama

Gambar 5.42 Halaman Utama

Halaman pada gambar 5.42 ini adalah halaman awal atau

halaman beranda saat aktor pertama kali membuka tampilan

website.

5.3.2. Halaman User-based

Gambar 5.43 Halaman User-based

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

120

Halaman pada gambar 5.43 adalah halaman yang bertugas

untuk menampilkan nilai similaritas yang dimiliki oleh 1

pengguna dengan pengguna lainnya. Terdapat beberapa fitur

yang dapat digunakan pada halaman ini, yaitu :

➢ Menghitung similaritas antar pengguna, terlihat

padaa gambar 5.44

➢ Melakukan pencarian nilai similaritas pengguna

dengan user_id tertentu dengan pengguna lainnya.

Dapat dilihat pada gambar 5.45.

➢ Melakukan pencarian nilai similaritas antara 2

pengguna secara spesifik. Dapat dilihat pada

gambar 5.45.

Gambar 5.44 Pop-up untuk konfirmasi perhitungan similaritas antara pengguna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 145: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

121

Gambar 5.45 Pop-up untuk melakukan pencarian nilai similaritas

Gambar 5.46 Hasil pencarian nilai similaritas 1 pengguna dengan

pengguna lainnya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 146: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

122

Gambar 5.47 Hasil pencarian nilai similaritas antara 2 pengguna

Halaman pada gambar 5.46 adalah halaman yang

menampilkan pencarian nilai similaritas pengguna dengan

user_id tertentu dengan pengguna lainnya. Sedangkan pada

gambar 5.47 menampilkan pencarian nilai similaritas antara

2 pengguna secara spesifik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 147: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

123

5.3.3. Halaman Item-based

Gambar 5.48 Halaman Item-based

Sama halnya dengan User-based, halaman pada gambar 5.48

ini bertugas untuk menampilkan nilai similaritas yang

dimiliki oleh 1 film dengan film lainnya, serta mempunya

fitur yang sama dengan halaman User-based, yaitu :

➢ Menghitung similaritas antar film, terlihat padaa

gambar 5.49

➢ Melakukan pencarian nilai similaritas film dengan

movie_id tertentu dengan pengguna lainnya. Dapat

dilihat pada gambar 5.50.

➢ Melakukan pencarian nilai similaritas antara 2 film

secara spesifik. Dapat dilihat pada gambar 5.50.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 148: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

124

Gambar 5.49 Pop-up untuk konfirmasi perhitungan similaritas antar

semua film

Gambar 5.50 Pop-up untuk melakukan pencarian nilai similaritas

Gambar 5.51 Hasil pencarian nilai similaritas pengguna dengan user_id

tertentu dengan pengguna lainnya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 149: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

125

Gambar 5.52 Hasil pencarian nilai similaritas antara 2 pengguna secara spesifik

Halaman pada gambar 5.51 adalah halaman yang

menampilkan pencarian nilai similaritas film dengan

movie_id tertentu dengan pengguna lainnya. Sedangkan

pada gambar 5.52 menampilkan pencarian nilai similaritas

antara 2 film secara spesifik.

5.3.4. Halaman Hasil Prediksi

Gambar 5.53 Halaman Hasil Prediksi untuk metode user-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 150: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

126

Gambar 5.54 Pop-up untuk menampilkan nilai prediksi

Gambar 5.55 Halaman tampilan hasil prediksi

Halaman pada gambar 5.53 adalah halaman awal untuk

melihat hasil perhitungan prediksi metode user-based CF.

Gambar 5.54 adalah pop-up untuk menampilkan nilai

prediksi berdasarkan jumlah maksimal neighbor tertentu

pada metode user-based CF. gambar 5.55 adalah halaman

tampilan untuk jumlah maksimal neighbor tertentu pada

metode user-based CF.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 151: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

127

Gambar 5.56 Halaman Hasil Prediksi untuk metode item-based CF

Gambar 5.57 Pop-up untuk menampilkan nilai prediksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 152: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

128

Gambar 5.58 Halaman tampilan hasil prediksi

Halaman pada gambar 5.56 adalah halaman awal untuk

melihat hasil perhitungan prediksi metode item-based CF.

Gambar 5.57 adalah pop-up untuk menampilkan nilai

prediksi berdasarkan jumlah maksimal neighbor tertentu

pada metode item-based CF. gambar 5.58 adalah halaman

tampilan untuk jumlah maksimal neighbor tertentu pada

metode item-based CF.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 153: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

129

5.3.5. Halaman Pencarian

Gambar 5.59 Halaman Pencarian

Halaman ini digunakan untuk menampilkan data film yang

tersimpan di basis data (gambar 5.59). Tampilan data film

berupa nomor ID film, judul, jenis genre, dan tanggal rilis.

Gambar 5.60 Pencarian film berdasarkan genre film

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 154: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

130

Pada gambar 5.60 dapat dilihat tampilan pencarian film

berdasarkan genre film. Terdapat 18 jenis genre yang

tersimpan di table genre, diantaranya adalah : Action,

Adventure, Animation, Children's, Comedy, Crime,

Documentary, Drama, Fantasy, Film-Noir, Horror, Musical,

Mystery, Romance, Sci-Fi, Thriller, War, serta Western.

Gambar 5.61 di bawah ini menampilkan pencarian film

berdasarkan judul film.

Gambar 5.61 Pencarian film berdasarkan judul film

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 155: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

131

5.3.6. Halaman Daftar Rating

Gambar 5.62 Halaman Daftar Rating

Gambar 5.62 menampilkan halaman daftar rating yang

merupakan tampilan awal untuk melihat daftar rating

training maupun testing.

Pada halaman ini terdapat fitur untuk menampilkan daftar

semua rating yang terdapat di data training atau testing

(gambar 5.63 dan 5.64), serta terdapat juga fitur untuk

mencari data rating berdasarkan pengguna atau film pada

data training ataupun training (gambar 5.65).

Gambar 5.63 Pop-up untuk menampilkan semua data training

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 156: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

132

Gambar 5.64 Pop-up untuk menampilkan semua data testing

Gambar 5.65 Format layout halaman yang menampilkan data rating

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 157: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

133

5.4. Analisis Hasil dan Pembahasan

Pada bagian penelitian ini, ada beberapa pengujian yang dilakukan

untuk mencapai tujuan penelitian, diantaranya adalah pengujian

validasi program serta pengujian dan perbandingan hasil MAE dari

metode user-based CF dan item-based CF.

5.4.1. Hasil Uji Validasi Program

Uji validasi program adalah dengan cara membandingkan

hasil perhitungan manual data sampel terhadap hasil

perhitungan yang dikerjakan oleh sistem. Uji validasi

tersebut dapat dilihat pada lampiran 2.

5.4.2. Hasil Uji MAE Pada Metode User-based CF

Berikut adalah hasil uji MAE dan analisa pada metode user-

based CF dengan skenario mengganti batas jumlah

maksimal neighbor untuk perhitungan prediksi.

Table 5.2 Hasil MAE dari skenario mengubah batas jumlah maksimal

neighbor metode user-based CF

Jumlah Maksimal

Neighbor (Top-N) MAE Lama Waktu Running

10 0.826020531

1.922 detik (Gambar 5.35)

30 0.804927121 1.938 detik (Gambar 5.35)

50 0.802093284

1.978 detik (Gambar 5.35)

70 0.800633522

1.941 detik (Gambar 5.35)

100 0.801171485

2.017 detik (Gambar 5.35)

943

(all neighbor with

condition)

0.802709142

2.815 detik (Gambar 5.35)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 158: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

134

Gambar 5.66 Grafik garis hasil MAE terhadap jumlah maksimal neighbor

pada metode user-based CF

Berdasarkan nilai yang dimuat pada table 5.2 dan gambar

grafik garis 5.66, disimpulkan bahwa metode user-based CF

mampu memprediksi rating dengan nilai kesalahan dibawah

1 pada semua jumlah maksimal neighbor yang diujikan.

Nilai kesalahan terkecil terjadi pada jumlah maksimal

neighbor 70 dimana nilai MAE-nya sebesar 0.800633522.

Sementara nilai kesalahan terbesar terjadi saat jumlah

maksimal neighbor 10, dengan nilai MAE-nya sebesar

0.826020531.

Setelah dianalisa dengan menggunakan source code di

method main() pada kelas Prediction.java yang telah

dimodifikasi (gambar 5.67), diketahui hal ini terjadi karena

pada jumlah maksimal neighbor = 10, terdapat 262 dari

4.701 data testing yang memiliki nilai MAE di atas 2

(gambar 5.68). Sedangkan pada jumlah maksimal neighbor

0.78

0.79

0.8

0.81

0.82

0.83

10 30 50 70 100 All

Neighbor

MA

E

Jumlah Maksimal Neighbor

Perbandingan Uji MAE Pada Metode User-

based CF

User-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 159: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

135

= 70, terdapat 224 dari 4.701 data testing yang nilai MAE-

nya di atas 2 (gambar 5.69). Selisih data testing antar kedua

jumlah maksimal neighbor yang MAE-nya di atas 2 adalah

sebanyak 38 data.

Gambar 5.67 Source code pada method main() di kelas

Prediction.java yang sudah dimodifikasi pada hasil prediksi metode

user-based CF

Pada gambar 5.67 terdapat variable maxTopN yang

digunakan untuk mengganti jumlah maksimal neighbor.

Lalu pada fungsi perulangan, ditambahkan 1 fungsi

percabangan if yang melakukan pengecekan terhadap nilai

MAE dari masing-masing data testing yang bernilai di atas

2. Dapat dilihat pada gambar 5.68 Data testing dengan nilai

MAE di atas 2 pada jumlah maksimal neighbor = 10 adalah

262, sedangkan pada jumlah maksimal neighbor = 70 adalah

224 (gambar 5.69).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 160: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

136

Gambar 5.68 Data testing nilai MAE di atas 2, maksimal

neighbor = 10

Gambar 5.69 Data testing nilai MAE di atas 2, maksimal

neighbor = 70

5.4.3. Hasil Uji MAE Pada Metode Item-based CF

Berikut adalah hasil uji MAE dan analisa pada metode user-

based CF dengan skenario mengganti batas jumlah

maksimal neighbor untuk perhitungan prediksi.

Table 5.3 Hasil MAE dari skenario mengubah batas jumlah maksimal neighbor

metode item-based CF

Jumlah Maksimal Neighbor

(Top-N) MAE Lama Waktu Running

10 0.833880016 1.323 detik (Gambar 5.39)

30 0.800977548 1.347 detik (Gambar 5.39)

50 0.796545415 1.363 detik (Gambar 5.39)

70 0.794311284 1.407 detik (Gambar 5.39)

100 0.793895061 1.747 detik (Gambar 5.39)

1682

(all neighbor with condition) 0.794503596 1.586 detik (Gambar 5.39)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 161: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

137

Gambar 5.70 Grafik garis hasil MAE terhadap jumlah maksimal neighbor

pada metode item-based CF

Berdasarkan nilai yang dimuat pada table 5.3 dan gambar

grafik garis 5.70, disimpulkan bahwa metode item-based CF

mampu memprediksi rating dengan nilai kesalahan dibawah

1 pada semua jumlah maksimal neighbor yang diujikan.

Nilai kesalahan terkecil terjadi pada jumlah maksimal

neighbor 100 dimana nilai MAE-nya sebesar 0.793895061.

Sementara nilai kesalahan terbesar terjadi saat jumlah

maksimal neighbor 10, dengan nilai MAE-nya sebesar

0.833880016.

Setelah dianalisa dengan menggunakan source code di

method main() pada kelas Prediction.java yang telah

dimodifikasi (gambar 5.71), diketahui hal ini terjadi karena

pada jumlah maksimal neighbor = 10, terdapat 273 dari

4.701 data testing yang memiliki nilai MAE di atas 2

(gambar 5.72). Sedangkan pada jumlah maksimal neighbor

= 100, terdapat 223 dari 4.701 data testing yang nilai MAE-

nya di atas 2 (gambar 5.73). Selisih data testing antar kedua

0.76

0.78

0.8

0.82

0.84

10 30 50 70 100 All

Neighbor

MA

E

Jumlah Maksimal Neighbor

Perbandingan Uji MAE Pada Metode Item-

based CF

Item-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 162: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

138

jumlah maksimal neighbor yang MAE-nya di atas 2 adalah

sebanyak 38 data.

Gambar 5.71 Source code pada method main() di kelas

Prediction.java yang sudah dimodifikasi pada hasil prediksi

metode item-based CF

Pada gambar 5.71 terdapat variable maxTopN yang

digunakan untuk mengganti jumlah maksimal neighbor.

Lalu pada fungsi perulangan, ditambahkan 1 fungsi

percabangan if yang melakukan pengecekan terhadap nilai

MAE dari masing-masing data testing yang bernilai di atas

2. Dapat dilihat pada gambar 5.72 Data testing dengan nilai

MAE di atas 2 pada jumlah maksimal neighbor = 10 adalah

273, sedangkan pada jumlah maksimal neighbor = 70 adalah

223 (gambar 5.73)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 163: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

139

Gambar 5.72 Data testing nilai MAE di atas 2, maksimal

neighbor = 10

Gambar 5.73 Data testing nilai MAE di atas 2, maksimal

neighbor = 70

5.4.4. Perbadingan Metode User-based CF dan Item-based CF

Gambar 5.74 Grafik garis hasil MAE terhadap jumlah maksimal neighbor

pada kedua metode

0.79

0.795

0.8

0.805

0.81

0.815

0.82

0.825

0.83

0.835

10 30 50 70 100 All

Neighbor

MA

E

Jumlah Maksimal Neighbor

Perbandingan Uji MAE Pada Kedua Metode

User-based CF Item-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 164: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

140

Gambar 5.75 Grafik garis lama waktu running terhadap jumlah maksimal

neighbor pada kedua metode

Dari gambar 5.74 diketahui bahwa pengujian nilai MAE

dengan skenario mengganti-ganti jumlah maksimal neighbor

pada kedua metode, menunjukkan bahwa metode item-based

CF lebih unggul 5 dari 6 skenario dibanding metode user-

based. Sedangkan pada gambar 5.75, terbukti bahwa metode

item-based CF lebih ringan dalam hal komputasi karena

lama waktu running yang lebih sedikit dibanding metode

pembandingnya.

Metode user-based mengungguli metode item-based pada

skenario jumlah maksimal neighbor = 10 untuk uji MAE.

Hal ini terjadi karena pada metode user-based CF, jumlah

0

500

1000

1500

2000

2500

3000

10 30 50 70 100 All

Neighbor

Lam

a W

ak

tu R

un

nin

g (

det

ik)

Jumlah Maksimal Neighbor

Perbandingan Lama Waktu Running Pada

Kedua Metode

User-based CF Item-based CF

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 165: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

141

data testing yang nilai MAE-nya di atas 2 lebih sedikit

dibandingkan dengan metode item-based CF. Tentu hal ini

mempengaruhi nilai MAE keseluruhan dari 4.701 data

testing.

Nilai MAE yang besar disebabkan oleh melencengnya hasil

prediksi terhadap rating real. Dalam penelitian ini, penulis

menemukan salah satu faktor yang menyebabkan hal

tersebut terjadi. Faktor tersebut adalah jumlah interseksi

rating antara 2 objek (pengguna atau film) yang terlalu

sedikit. Faktor ini mempengaruhi perhitungan similaritas

antar 2 objek. Pada beberapa kasus, perhitungan kedua

metode memberikan hasil kemiripan atau similaritas yang

tinggi pada kedua objek hanya berdasarkan 2 atau bahkan 1

interseksi.

Berikut faktor tersebut dijelaskan pada gambar 5.76, gambar

5.77 dan gambar 5.78 di bawah ini.

Gambar 5.76 Menampilkan data testing yang memiliki nilai

MAE lebih dari 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 166: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

142

Pada gambar 5.76, penulis menjalankan query select pada

MySQL untuk menampilkan data testing mana saja yang

memiliki nilai kesalahan (MAE) lebih dari 2. Query tersebut

adalah sebagai berikut pada query 5.7 :

SELECT r.* FROM prediction p join ratings_testing r on

(p.id_testing = r.id_testing) WHERE ABS(r.rating -

p.prediction_value) > 2 group by p.id_testing

Query 5.7 Menampilkan prediksi dengan MAE di atas 2

Penulis mengambil sampel data testing pada baris pertama

untuk dilakukan penelusuran, yaitu data testing dengan ID =

5 yang memuat informasi bahwa pengguna 166 memberikan

rating kepada film 346 sebesar 1.

Gambar 5.77 Menampilkan data neighbor dari pengguna 166

Dari gambar 5.77, diketahui bahwa neighbor 466, 142, 768

dan 920 adalah pengguna yang memiliki nilai kemiripan

tinggi dengan pengguna 166. Itulah sebabnya pengguna-

pengguna tersebut dilibatkan dalam perhitungan prediksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 167: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

143

terhadap rating yang akan diberikan pengguna 166 kepada

film 346.

Berikut adalah query untuk menampilkan neighbor tersebut

pada query 5.8.

SELECT * FROM user_similarity WHERE user_id_1 =

166 and user_similarity_value > 0 and user_id_2 IN

(select user_id from ratings where movie_id = 346) order

by user_similarity_value desc

Query 5.8 Menampilkan neighbor pengguna 166

Selanjutnya adalah pengecekan proses perhitungan

similaritas antara pengguna 166 dan pengguna 456 sehingga

menghasilkan nilai similaritas yang begitu tinggi di antara

keduanya. Hal ini dilakukan dengan running query untuk

menampilkan interseksi rating antara keduanya. Query

tersebut adalah sebagai berikut pada query 5.9 :

SELECT movie_id, rating FROM ratings WHERE

user_id = 166 and movie_id IN (SELECT movie_id

FROM ratings where user_id = 456);

Query 5.9 Menampilkan interseksi rating pengguna

166 dan 456

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 168: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

144

Berikut adalah hasil eksekusi tersebut pada gambar 5.78 :

Gambar 5.78 Menampilkan interseksi rating antara

pengguna 166 dan pengguna 456

Diketahui bahwa interseksi rating antar keduanya hanya

memberikan rating kepada 1 film saja yaitu film 286.

Interseksi yang begitu sedikit inilah yang akan menghasilkan

perhitungan similaritas yang kurang tepat, sehingga

mempengaruhi pula perhitungan prediksi terhadap data

testing.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 169: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

145

BAB VI PENUTUP

6.1. Kesimpulan

Berdasarkan penelitian yang sudah dikerjakan yaitu

penelitian tentang membandingkan metode user-based CF dan

metode item-based CF dalam memberikan rekomendasi yang lebih

baik pada data set yang berupa objek film. Penulis mendapatkan hasil

penelitian yang menghasilkan kesimpulan sebagai berikut :

1. Metode user-based CF dan metode item-based CF dapat

dipergunakan untuk memprediksi rating pengguna terhadap

film.

2. Metode user-based CF dan item-based CF berpotensi untuk

diterapkan pada sebuah website sistem rekomendasi film.

3. Metode item-based CF memiliki keakuratan yang lebih baik

dalam memberikan nilai prediksi. Hal itu dibuktikan dengan

pengujian nilai kesalahan prediksi terhadap rating real yaitu

pengujian nilai MAE. Dari 6 skenario pengujian, 5 diantaranya

menunjukkan bahwa metode item-based CF memiliki nilai

MAE yang lebih kecil dibanding metode user-based CF.

4. Dengan rentang nilai rating dari 1 sampai dengan 5, selisih nilai

MAE antara kedua metode tidak terlalu signifikan, yaitu hanya

sebesar 0,01 pada masing-masing prediksi terbaiknya. Metode

item-based CF memberikan prediksi paling baik pada jumlah

maksimal neighbor 100 dengan nilai MAE sebesar

0,793895061. Metode user-based CF memberikan prediksi

paling baik pada jumlah maksimal neighbor 70 dengan nilai

MAE sebesar 0,800633522. Pada jumlah maksimal neighbor 10,

kedua metode menghasilkan nilai MAE paling besar yaitu

0,826020531 untuk metode user-based CF, dan 0,833880016

untuk metode item-based CF.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 170: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

146

5. Komputasi pada metode item-based CF lebih ringan untuk

dijalankan dibanding metode user-based CF pada data set film

MovieLens.org.

6.2. Saran

Berdasarkan analisis pada penelitian yang sudah dikerjakan,

penulis menemukan sebuah hal yang dapat dikembangkan untuk

penelitian selanjutnya, yaitu dengan menambahkan kondisi

penyeleksian jumlah interseksi pada blok proses “memprediksi rating”

untuk memberikan nilai prediksi rating yang lebih baik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 171: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

147

DAFTAR PUSTAKA

Adomavicius, Gediminas and Tuzhilin, Alexander. (2005). “Toward the Next

Generation of Recommender Systems: A Survey of the State-of-the-Art and

Possible Extensions”. IEEE Transactions on Knowledge and Data

Engineering, vol. 17, no. 6.

Arvid, Theodorus., Setyohadi, Djoko Budiyanto., and Ernawati. (2016). “User-

Based Collaborative Filtering Dengan Memanfaatkan Pearson-Correlation

Untuk Mencari Neighbors Terdekat Dalam Sistem Rekomendasi”. (Online),

(http://e-journal.uajy.ac.id/8924/, diakses tanggal 05 Maret 2018)

Asanov, D. (2015). “Algorithms and Methods in Recommender Systems.,”

International Journal of Computer Applications, vol. 118, 2015.

Dewanto, Hafiz., and Wibowo, Agung Toto., (2015). “Analisis dan

Implementasi Prediksi Rating pada Memory-based Collaborative Filtering

dengan Menggunakan Smoothing”. e-Proceeding of Engineering : Vol.2,

No.3.

Hakim, A. N. (2010). “Sistem Rekomendasi Film Berbasis Web Menggunakan

Metode Item-Based Collaborative Filtering Berbasis K-Nearest Neighbor”

S1, Program Studi Ilmu Komputer, Universitas Pendidikan Indonesia,

Bandung.

Herlocker, Jonathan L. (2001). “Evaluating Collaborative Filtering

Recommender System”. 2001 ACM 1073-0516/01/0300-0034.

Leben, Micheal (2008). “Applying Item-based and User-based Collaborative

Filtering on the Netflix Data”. Hasso- Plattner-Institut Potsdam.

Li, Qing and Kim, Byeong Man. (2003). “Clustering Approach for Hybrid

Recommender System”. Proceedings of the IEEE/WIC International

Conference on Web Intelligence (WI’03).

Lister, Martin. et all. (2009). “New media: a critical introduction”. Routledge ,

New York, USA.

Lops, P., Gemmis, de M., Semeraro, G.. (2010). “Content-Based

Recommender Systems State of the Art and Trends”. DOI :

10.1007/978-0-387-85820-3_3

Marafi, S. (2014). Collaborative Filtering with R. (Online),

(http://www.salemmarafi.com/code/collaborative-filtering-r/, diakses 16

November 2017 11:35:12 WIB).

McDonald, C. (2015). Pararel and Iterative Processing for Machine Learning

Recommendation With Spark. (Online), (https://mapr.com/blog/parallel-

and-iterative-processing-machine-learning-recommendations-spark/,

diakses tanggal 16 November 2017 11:50:10 WIB).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 172: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

148

Pantreath, N. (2015). “Machine Learning with Spark”. Packt Publishing,

Birmingham, United Kingdom.

Prasetyo, Eko. 2014. “Data mining Mengolah Data menjadi Informasi

Menggunakan Matlab”. CV. ANDI OFFSET, Yogyakarta, Indonesia.

Ricci, L. R. F., and Shaphira, B. (2011). “Recommender Systems Handbook”.

Springer Science+Business Media, New York, USA.

Sarwar, B., Karypis, G., Konstan, J., Riedl, J. (2001). “Item-Based

Collaborative Filtering Recommendation Algorithms”. ACM 1-58113-

348-0/01/0005; GroupLens Research Group.

Vozalis, E. and Margaritis, K. G. (2003). “Analysis of Recommender Systems

Algorithms”. Elsevier Science Inc, New York, USA.

https://github.com/ankane/movielens.sql diakses pada 19 November 2017

22:00:15 WIB.

https://movielens.org/ diakses pada 19 November 2017 10:50:15 WIB.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 173: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

149

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 174: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

150

LAMPIRAN 1 : Narasi Use Case

4.1.2. Narasi Use Case

4.1.2.1. Hitung Similaritas User

Use-Case Name : Hitung Similaritas User

Use-Case ID : SRF-01

Priority : High

Primary

Business Actor

:

Administrator

Description :

Use case ini mendeskripsikan administrator yang akan

menggunakan fitur perhitungan similaritas pada setiap user yang

ada di basis data, dengan perhitungan Peason Correlation pada

user-based CF.

Precondition : Administrator berada di halaman “User-based” pada menu

“Similaritas User”

Typical

Course of

Events :

Actor Action System Response

Step 1 : Klik tombol “Hitung

Similaritas”

Step 2 : Melakukan perhitungan

perhitungan similaritas antar

seluruh user yang terdapat di

basisdata

Step 3 : Menampilkan

pemberitahuan telah berhasil

melakukan perhitungan

Alternative : -

Postcondition : Administrator mendapatkan hasil perhitungan similaritas antar

user

4.1.2.2. Lihat Nilai Similaritas User

Use-Case Name : Lihat Nilai Similarita User

Use-Case ID : SRF-02

Priority : Medium

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 175: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

151

Primary

Business Actor

:

Administrator

Description :

Use case ini mendeskripsikan administrator yang ingin melihat

daftar nilai similaritas antar user yang sudah dihitung dengan

metode perhitungan similaritas Peason Correlation pada user-

based CF.

Precondition : Administrator berada di halaman “User-based”.

Typical

Course of

Events :

Actor Action System Response

Step 1 : Klik menu “Similaritas

User”

Step 2 : Menampilkan table nilai

kemiripan (similaritas) antar

seluruh user

Alternative : Jika nilai similaritas belum dihitung maka tampil pesan dialog lalu

administrator akan diarahkan pada fitur “Hitung Similaritas”

Postcondition : Administrator mengetahui nilai similaritas antar user

4.1.2.3. Hitung Prediksi Rating User-based

Use-Case Name : Hitung Prediksi Rating User-based

Use-Case ID : SRF-03

Priority : High

Primary

Business Actor

:

Administrator

Description : Use case ini mendeskripsikan administrator yang ingin mengetahui

hasil prediksi rating dari user yang merupakan data testing

Precondition : Administrator berada di halaman “Hasil Prediksi”

Typical

Course of

Events :

Actor Action System Response

Step 1 : Pilih menu metode

user-based CF

Step 2 : Menampilkan pesan

dialog untuk memilih jumlah

neighbor dalam mendapatkan

hasil prediksi rating

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 176: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

152

Step 3 : Memilih jumlah

neighbor

Step 4 : Menampilkan hasil

prediksi rating berdasarkan

jumlah neighbor yang dipilih

administrator

Alternative : Jika nilai similaritas belum dihitung maka tampil pesan dialog lalu

administrator akan diarahkan pada fitur “Hitung Similaritas” untuk

User-based

Postcondition : Administrator mendapatkan hasil perhitungan prediksi berdasarkan

jumlah neighbor yang sudah dipilih

4.1.2.4. Hitung Similaritas Movie

Use-Case Name : Hitung Similaritas Movie

Use-Case ID : SRF-04

Priority : High

Primary

Business Actor

:

Administrator

Description :

Use case ini mendeskripsikan administrator yang akan

menggunakan fitur perhitungan similaritas pada setiap item (movie)

yang ada di basis data, dengan perhitungan Peason Correlation

pada item-based CF.

Precondition : Administrator berada di halaman “Item-based” pada menu

“Similaritas Movie”

Typical

Course of

Events :

Actor Action System Response

Step 1 : Klik tombol “Hitung

Similaritas”

Step 2 : Melakukan perhitungan

perhitungan similaritas antar

seluruh movie yang terdapat di

basisdata

Step 3 : Menampilkan

pemberitahuan telah berhasil

melakukan perhitungan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 177: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

153

Alternative : -

Postcondition : Administrator mendapatkan hasil perhitungan similaritas antar

movie

4.1.2.5. Lihat Nilai Similaritas Movie

Use-Case Name : Lihat Nilai Similarita Movie

Use-Case ID : SRF-05

Priority : Medium

Primary

Business Actor

:

Administrator

Description :

Use case ini mendeskripsikan administrator yang ingin melihat

daftar nilai similaritas antar item (movie) yang sudah dihitung

dengan metode perhitungan similaritas Peason Correlation pada

item-based CF.

Precondition : Administrator berada di halaman “Item-based”.

Typical

Course of

Events :

Actor Action System Response

Step 1 : Klik menu “Similaritas

Movie”

Step 2 : Menampilkan table nilai

kemiripan (similaritas) antar

seluruh item (movie)

Alternative : Jika nilai similaritas belum dihitung maka tampil pesan dialog lalu

administrator akan diarahkan pada fitur “Hitung Similaritas”

Postcondition : Administrator mengetahui nilai similaritas antar movie

4.1.2.6. Hitung Prediksi Rating Item-based

Use-Case Name : Hitung Prediksi Rating Item-based

Use-Case ID : SRF-06

Priority : High

Primary

Business Actor

:

Administrator

Description : Use case ini mendeskripsikan administrator yang ingin mengetahui

hasil prediksi rating dari item (movie) yang merupakan data testing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 178: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

154

Precondition : Administrator berada di halaman “Hasil Prediksi”

Typical

Course of

Events :

Actor Action System Response

Step 1 : Pilih menu metode

item-based CF

Step 2 : Menampilkan pesan

dialog untuk memilih jumlah

neighbor dalam mendapatkan

hasil prediksi rating

Step 3 : Memilih jumlah

neighbor

Step 4 : Menampilkan hasil

prediksi rating berdasarkan

jumlah neighbor yang dipilih

administrator

Alternative : Jika nilai similaritas belum dihitung maka tampil pesan dialog lalu

administrator akan diarahkan pada fitur “Hitung Similaritas” untuk

Item-based

Postcondition : Administrator mendapatkan hasil perhitungan prediksi

berdasarkan jumlah neighbor yang sudah dipilih

4.1.2.7. Cari Movie

Use-Case Name : Cari Movie

Use-Case ID : SRF-07

Priority : Medium

Primary

Business Actor

:

Administrator

Description :

Use case ini mendeskripsikan administrator yang ingin melakukan

pencarian movie tertentu pada sistem

Precondition : -

Typical

Course of

Actor Action System Response

Step 1 : Pilih menu “Pencarian”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 179: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

155

Events : Step 2 : Menampilkan form

pencarian

Step 3 : Mengisi kata kunci

pencarian film berdasarkan

beberapa kategori (judul,

genre)

Step 4 : Melakukan pencarian

film yang sesuai kata kunci yang

diinputkan

Step 5 : Menampilkan hasil

pencarian film

Alternative : Jika film tidak ditemukan maka akan tampil pesan dialog

Postcondition : Administrator berhasil melakukan pencarian film.

4.1.2.8. Lihat Rating User

Use-Case Name : Lihat Rating User

Use-Case ID : SRF-08

Priority : Medium

Primary

Business Actor

:

Administrator

Description :

Use case ini mendeskripsikan administrator yang ingin melihat

rating yang telah diberikan user tertentu atau rating yang dimiliki

oleh movie tertentu pada data training yang terdapat di basis data

Precondition : -

Typical

Course of

Events :

Actor Action System Response

Step 1 : Pilih menu “Daftar

Rating”

Step 2 : Menampilkan form

untuk melihat daftar rating

berdasarkan user atau movie

Step 3 : Mengisi kata kunci

pencarian daftar rating

berdasarkan user atau movie.

Lalu klik tombol cari

Step 4 : Melakukan pencarian

daftar rating yang sesuai kata

kunci yang diinputkan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 180: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

156

Step 5 : Menampilkan hasil

daftar rating

Alternative : Jika daftar rating tidak ditemukan maka akan tampil pesan dialog

Postcondition : Administrator berhasil mendapatkan daftar rating yang terdapat di basis data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 181: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

157

LAMPIRAN 2 : Hasil Uji Validasi Program

Lampiran ini menjabarkan tentang uji validasi program dengan cara

melakukan perbandingan antara hasil perhitungan manual dengan hasil perhitungan

yang dikerjakan oleh sistem aplikasi website.

Perhitungan Metode user-based CF :

1. Perhitungan similaritas

Langkah pertama yang dilakukan pada metode user-based CF adalah

melakukan perhitungan similaritas antara pengguna 1 dengan pengguna

lainnya dengan rumus 2.1.

Penulis mengambil sampel perhitungan similaritas antara pengguna 1

dan 2.

➢ Pertama-tama penulis melakukan eksekusi query untuk

mendapatkan nilai rata-rata dari semua rating yang telah diberikan

oleh pengguna 1 dan 2. Hal ini dilakukan untuk proses perhitungan

similaritas Pearson Correlation pada rumus 2.1. Berikut adalah

query tersebut pada query 5.10 :

SELECT avg(rating) FROM `ratings` WHERE user_id = 1

SELECT avg(rating) FROM `ratings` WHERE user_id = 2

Query 5.10 Mengambil nilai rata-rata

Dari hasil eksekusi query didapatkan nilai rata-rata rating pengguna

1 dan 2 sebesar 3.6067 dan 3.6552 termuat dalam gambar 5.79

berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 182: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

158

Gambar 5.79 Hasil eksekusi query rata-rata rating pengguna 1

(kiri) dan penguna 2 (kanan)

➢ Dari kedua data riwayat rating dari pengguna 1 dan 2, ditemukanlah

interseksi rating berupa himpunan data rating keduanya. Hal itu

diketahui dengan cara eksekusi query. Berikut adalah query tersebut

pada query 5.11 :

SELECT movie_id FROM `ratings` WHERE user_id = 1 and

movie_id IN (SELECT movie_id from ratings WHERE user_id =

2) ORDER by movie_id

Query 5.11 Mengambil interseksi rating pengguna 1 dan 2

Hasil eksekusi query dapat dilihat pada gambar 5.80 di bawah ini

Gambar 5.80 Eksekusi query mencari interseksi rating pengguna 1

dan 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 183: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

159

Diketahui dari gambar 5.80 bahwa terdapat 16 film yang telah di-

rating oleh keduanya. Rating terhadap ke-16 film tersebutlah yang

menjadi interseksi untuk selanjutnya dilakukan perhitungan

similaritas.

Berikut adalah table 5.4 yang menampilkan interseksi tersebut :

Table 5.4 Interseksi rating antara pengguna 1 dan 2

No. Movie ID Rating pengguna 1 Rating pengguna 2

1. 1 5 4

2. 10 3 2

3. 13 5 4

4. 14 5 4

5. 19 5 3

6. 25 4 4

7. 100 5 5

8. 111 5 4

9. 127 5 5

10. 237 2 4

11. 242 5 5

12. 255 2 4

13. 257 4 4

14. 258 5 3

15. 269 5 4

16. 272 3 5

Table 5.4 memuat informasi tentang 16 film yang sudah keduanya

berikan rating, serta nilai rating dari keduanya terhadapa 16 film

tersebut. Data inilah yang digunakan untuk menghitung nilai

similaritas antara keduanya dengan rumus 2.1 berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 184: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

160

Nilai similaritas / PC(1, 2) ➔

(5 − 3.6067)(4 − 3.6552) + (3 − 3.6067)(2 − 3.6552) + (5 − 3.6067)(4 − 3.6552) + (5 − 3.6067)(4 − 3.6552) + (5 − 3.6067)(3 − 3.6552)

√(5 − 3.6067)2 + (3 − 3.6067)2 + (5 − 3.6067)2 + (5 − 3.6067)2 + (5 − 3.6067)2 + (4 − 3.6067)2 + (5 − 3.6067)2 + (5 − 3.6067)2 + (5 − 3.6067)2 + (2 − 3.6067)2

(4 − 3.6067)(4 − 3.6552) + (5 − 3.6067)(5 − 3.6552) + (5 − 3.6067)(4 − 3.6552) + (5 − 3.6067)(5 − 3.6552) + (2 − 3.6067)(4 − 3.6552)

√+(5 − 3.6067)2 + (2 − 3.6067)2 + (4 − 3.6067)2 + (5 − 3.6067)2 + (5 − 3.6067)2 + (3 − 3.6067)2 × √(4 − 3.6552)2 + (2 − 3.6552)2 + (4 − 3.6552)2

(5 − 3.6067)(5 − 3.6552) + (2 − 3.6067)(4 − 3.6552) + (4 − 3.6067)(4 − 3.6552)

√+(4 − 3.6552)2(3 − 3.6552)2 + (4 − 3.6552)2 + (5 − 3.6552)2 + (4 − 3.6552)2 + (5 − 3.6552)2 + (4 − 3.6552)2

(5 − 3.6067)(3 − 3.6552) + (5 − 3.6067)(4 − 3.6552) + (3 − 3.6067)(4 − 3.6552)

√+(5 − 3.6552)2 + (4 − 3.6552)2 + (4 − 3.6552)2 + (3 − 3.6552)2 + (4 − 3.6552)2 + (5 − 3.6552)2

Nilai similaritas / PC(1, 2) ➔ 5.548957440000001

17.462827419147544 ➔ 0.31775824766587973

Perhitungan manual yang dilakukan untuk menghitung nilai similaritas antara pengguna 1 dan 2 adalah sebesar

0.31775824766587973, kemudian penulis akan mencocokkan hasil tersebut dengan hasil perhitungan yang dilakukan oleh sistem

website.

Skenario pencocokkan adalah dengan melakukan pencarian nilai similaritas di halaman User-based pada sistem (gambar 5.45)

untuk pengguna 1 dan 2. Penggambaran skenario dapat dilihat pada gambar 5.81 :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 185: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

161

Gambar 5.81 Skenario pencarian nilai similaritas antara pengguna 1 dan 2

Gambar 5.82 Hasil pencarian skenario

Dapat dilihat pada gambar 5.81, kotak merah adalah kolom

pencarian nilai similaritas. Pada kolom tersebut diisikan pengguna 1

dan 2. Lalu pada gambar 5.82 diketahui bahwa hasil perhitungan

similaritas pada sistem adalah bernilai : 0.31775824766587973.

Hal ini membuktikan bahwa perhitungan manual dan perhitungan

pada sistem sudah tervalidasi sesuai dan benar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 186: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

162

2. Perhitungan prediksi dari data testing

Pada skenario perhitungan prediksi ini, penulis memilih sampel yaitu

data testing dengan ID = 10. Data testing ini memuat informasi yaitu :

pengguna 6 telah me-rating film 86 sebesar 3. Informasi tersebut dapat

dilihat pada gambar 5.83 berikut :

Gambar 5.83 Sampel data testing

Pada gambar 5.83, kotak merah menunjukkan informasi yang dimiliki

oleh ID testing 10 untuk kemudian penulis akan melakukan perhitungan

prediksi rating pada data ini.

➢ Menentukan jumlah maksimal neighbor untuk melakukan

perhitungan prediksi adalah 10 neighbor. 10 neighbor tersebut

adalah 10 pengguna lain selain pengguna 6 yang telah me-rating

film 86, serta nilai similaritas di antara keduanya adalah di atas 0.

➢ Eksekusi query pada basis data MySQL untuk mendapatkan data

pengguna lain yang memiliki nilai similaritas paling tinggi serta

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 187: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

163

telah me-rating film 86. Berikut adalah query tersebut pada query

5.12 :

SELECT us.user_id_1 AS "PENGGUNA 1", us.user_id_2 AS

"PENGGUNA 2", r.rating AS "RATING PENGGUNA 2",

us.user_similarity_value AS "NILAI SIMILARITAS" FROM

user_similarity us JOIN ratings r on (us.user_id_2 = r.user_id)

WHERE user_id_1 = 6 and user_similarity_value > 0 and

user_id_2 IN (select user_id from ratings where movie_id = 86)

and movie_id = 86 order by user_similarity_value desc

Query 5.12 Menampil neighbor pengguna 6 yang memenuhi syarat

perhitungan prediksi

Hasil eksekusi query dapat dilihat pada gambar 5.84 berikut :

Gambar 5.84 Rating dan nilai similaritas 10 neighbor

Dari gambar 5.84, diketahui 10 neighbor dengan nilai similaritas

tinggi terhadap pengguna 6 dan juga telah me-rating film 86.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 188: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

164

➢ Mulai proses perhitungan prediksi sesuai rumus 2.3.

Prediksi rating terhadap ID testing 10 ➔

(5 ∗ 0.6847301712094216) + (5 ∗ 0.5738670800152608) + (3 ∗ 0.5361968577341616)

|0.6847301712094216| + |0.5738670800152608| + |0.5361968577341616|

+ (5 ∗ 0.5350274996778185) + (4 ∗ 0.4937421271751433) + (4 ∗ 0.4934875497613757)

+ |0.5350274996778185| + |0.4937421271751433| + |0.4934875497613757|

+ (5 ∗ 0.4910138041833631) + (2 ∗ 0.46087833210461404) + (5 ∗ 0.45050212291591035)

+ |0.4910138041833631| + |0.46087833210461404| + |0.45050212291591035|

+ (2∗0.4445662744442587)

+ |0.4445662744442587| ➔

21.04410188405518

5.164011819221328 ➔

4.075145956429741

Dari perhitungan manual yang dilakukan, diketahui hasil prediksi

untuk data testing dengan 10 adalah 4.075145956429741

dibulatkan menjadi 4.08.

Lalu penulis melakukan pengecekkan terhadap hasil perhitungan

sistem pada halaman Prediksi untuk user-based CF (gambar 5.55)

dengan skenario seperti pada gambar 5.85 :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 189: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

165

Gambar 5.85 Prediksi rating untuk ID testing 10

Pada gambar 5.85, diketahui jumlah maksimal neighbor adalah 10.

Data testing dengan ID = 10 menunjukkan nilai prediksi yang sama

dengan perhitungan manual, yaitu 4.075145956429741. Hal ini

membuktikan bahwa perhitungan manual dan perhitungan pada

sistem sudah tervalidasi sesuai dan benar.

3. Perhitungan MAE

Pada uji coba perhitungan prediksi metode user-based CF, didapatkan

hasil prediksi untuk data testing ID = 10 adalah 4.075145956429741

sementara rating real adalah 3.

Nilai MAE sesuai rumus 2.5 dari sampel tersebut adalah :

| 4.075145956429741−3 |

1 = 1.075145956429741 (dibulatkan menjadi 1.08)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 190: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

166

Perhitungan Metode item-based CF :

1. Perhitungan similaritas

Langkah pertama yang dilakukan pada metode item-based CF adalah

melakukan perhitungan similaritas antara film 1 dengan film lainnya

dengan rumus 2.3.

Penulis mengambil sampel perhitungan similaritas antara film 1 dan 6.

➢ Pertama-tama penulis melakukan eksekusi query untuk

mendapatkan nilai rata-rata dari semua rating yang dimiliki oleh

film 1 dan 6. Hal ini dilakukan untuk proses perhitungan similaritas

Pearson Correlation pada rumus 2.3. Berikut adalah query tersebut

pada query 5.13 :

SELECT avg(rating) FROM `ratings` WHERE movie_id = 1

SELECT avg(rating) FROM `ratings` WHERE movie_id = 6

Query 5.13 Mengambil nilai rata-rata

Dari hasil eksekusi query didapatkan nilai rata-rata rating film 1 dan

6 sebesar 3.8804 dan 3.56 termuat dalam gambar 5.86 berikut :

Gambar 5.86 Hasil eksekusi query rata-rata rating film 1 (kiri) dan

film 6 (kanan)

➢ Dari kedua data rating yang dimiliki oleh film 1 dan 6, ditemukanlah

interseksi rating berupa himpunan data rating keduanya. Hal itu

diketahui dengan cara eksekusi query. Berikut adalah query tersebut

pada query 5.14 :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 191: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

167

SELECT user_id FROM `ratings` WHERE movie_id = 1 and

user_id IN (SELECT user_id from ratings WHERE movie_id =

6) ORDER by user_id

Query 5.14 Mengambil interseksi rating film 1 dan 6

Hasil eksekusi query dapat dilihat pada gambar 5.87 di bawah ini

Gambar 5.87 Eksekusi query mencari interseksi rating pengguna 1

dan 2

Diketahui dari gambar 5.87 bahwa terdapat 13 pengguna yang telah

me-rating kedua film. Rating dari ke-13 pengguna tersebutlah yang

menjadi interseksi untuk selanjutnya dilakukan perhitungan

similaritas.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 192: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

168

Berikut adalah table 5.5 yang menampilkan interseksi tersebut :

Table 5.5 Interseksi rating antara film 1 dan 6

No. User ID Rating terhadap

film 1

Rating terhadap

film 6

1. 1 5 5

2. 18 5 5

3. 63 3 3

4. 79 4 4

5. 181 3 1

6. 198 4 2

7. 486 4 4

8. 537 2 2

9. 655 2 4

10. 773 3 3

11. 806 4 2

12. 870 5 4

13. 936 4 5

Table 5.5 memuat informasi tentang 13 pengguna yang telah

memberikan rating kepada kedua film, serta nilai rating dari ke-13

pengguna tersebut. Data inilah yang digunakan untuk menghitung

nilai similaritas antara keduanya dengan rumus 2.2 berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 193: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

169

Nilai similaritas / PC(1, 6) ➔

(5 − 3.8804)(5 − 3.56) + (5 − 3.8804)(5 − 3.56) + (3 − 3.8804)(3 − 3.56) + (4 − 3.8804)(4 − 3.56) + (3 − 3.8804)(1 − 3.56) + (4 − 3.8804)(2 − 3.56)

√(5 − 3.8804)2 + (5 − 3.8804)2 + (3 − 3.8804)2 + (4 − 3.8804)2 + (3 − 3.8804)2 + (4 − 3.8804)2 + (4 − 3.8804)2 + (2 − 3.8804)2 + (2 − 3.8804)2 + (3 − 3.8804)2

+(4 − 3.8804)(4 − 3.56) + (2 − 3.8804)(2 − 3.56) + (2 − 3.8804)(4 − 3.56) + (3 − 3.8804)(3 − 3.56) + (4 − 3.8804)(2 − 3.56) + (5 − 3.8804)(4 − 3.56)

√+(5 − 3.8804)2 + (5 − 3.8804)2 + (4 − 3.8804)2 × √(5 − 3.56)2 + (5 − 3.56)2 + (3 − 3.56)2 + (4 − 3.56)2 + (1 − 3.56)2 + (2 − 3.56)2 + (4 − 3.56)2 + (2 − 3.56)2

+(4 − 3.8804)(5 − 3.56)

√+(4 − 3.56)2 + (3 − 3.56)2 + (2 − 3.56)2 + (4 − 3.56)2 + (5 − 3.56)2

Nilai similaritas / PC(1, 6) ➔ 8.967311999999998

16.855856440577085 ➔ 0.5319997848589287

Perhitungan manual yang dilakukan untuk menghitung nilai similaritas antara film 1 dan 6 adalah sebesar 0.5319997848589287,

kemudian penulis akan mencocokkan hasil tersebut dengan hasil perhitungan yang dilakukan oleh sistem website.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 194: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

170

Skenario pencocokkan adalah dengan melakukan pencarian nilai

similaritas di halaman Item-based pada sistem (gambar 5.48) untuk

film 1 dan 6. Penggambaran skenario adalah pada gambar 5.88 :

Gambar 5.88 Skenario pencarian nilai similaritas antara film 1 dan 6

Gambar 5.89 Hasil pencarian skenario

Dapat dilihat pada gambar 5.88, kotak merah adalah kolom

pencarian nilai similaritas. Pada kolom tersebut diisikan film 1 dan

6. Lalu pada gambar 5.89 diketahui bahwa hasil perhitungan

similaritas pada sistem adalah bernilai : 0.5319997848589287.

Hal ini membuktikan bahwa perhitungan manual dan perhitungan

pada sistem sudah tervalidasi sesuai dan benar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 195: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

171

2. Perhitungan prediksi dari data testing

Pada skenario perhitungan prediksi ini, penulis memilih sampel yaitu

data testing yang sama dengan skenario pada metode user-based CF,

dengan ID = 10. Data testing ini memuat informasi yaitu : pengguna 6

telah me-rating film 86 sebesar 3. Informasi data testing dapat dilihat

pada gambar 5.83

➢ Menentukan jumlah maksimal neighbor untuk melakukan

perhitungan prediksi adalah 10 neighbor. 10 neighbor tersebut

adalah 10 film lain selain film 86 yang telah di-rating oleh pengguna

6, serta nilai similaritas di antara keduanya adalah di atas 0.

➢ Eksekusi query pada basis data MySQL untuk mendapatkan data

film lain yang memiliki nilai similaritas paling tinggi dan di atas 0,

serta telah di-rating oleh pengguna 6. Berikut adalah query tersebut

pada query 5.15 :

SELECT ms.movie_id_1 AS "FILM 1", ms.movie_id_2 AS

"FILM 2", r.rating AS "RATING FILM 2",

ms.movie_similarity_value AS "NILAI SIMILARITAS" FROM

movie_similarity ms JOIN ratings r on (ms.movie_id_2 =

r.movie_id) WHERE movie_id_1 = 86 and

movie_similarity_value > 0 and movie_id_2 IN (select movie_id

from ratings where user_id = 6) and user_id = 6 order by

movie_similarity_value desc

Query 5.15 Menampil neighbor film 86 yang memenuhi syarat

perhitungan prediksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 196: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

172

Hasil eksekusi query dapat dilihat pada gambar 5.90 berikut :

Gambar 5.90 Rating dan nilai similaritas 10 neighbor

Dari gambar 5.90, diketahui 10 neighbor dengan nilai similaritas

tinggi terhadap film 86 dan juga telah di-rating oleh pengguna 6.

➢ Mulai proses perhitungan prediksi sesuai rumus 2.4.

Prediksi rating terhadap ID testing 10 ➔

(4 ∗ 0.8010880803458422) + (3 ∗ 0.734971065845592) + (4 ∗ 0.7131492914937259)

|0.8010880803458422| + |0.734971065845592| + |0.7131492914937259|

+ (3 ∗ 0.6937302630252686) + (4 ∗ 0.5927894285830685) + (1 ∗ 0.5635153212495143)

+ |0.6937302630252686| + |0.5927894285830685| + |0.5635153212495143|

+ (4 ∗ 0.5607360373776571) + (4 ∗ 0.5554578494659848) + (4 ∗ 0.5281494025018356)

+ |0.5635153212495143| + |0.5554578494659848| + |0.5281494025018356|

+ (4 ∗ 0.5216086389400081)

+ |0.5216086389400081| ➔

21.94153422269458

6.265195378828497 ➔

3.5021308827558606

Dari perhitungan manual yang dilakukan, diketahui hasil prediksi

untuk data testing dengan 10 adalah 3.5021308827558606

dibulatkan menjadi 3.5.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 197: PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- … · 2018-09-06 · PERBANDINGAN SISTEM REKOMENDASI FILM METODE USER- BASED DAN ITEM-BASED COLLABORATIVE FILTERING SKRIPSI Diajukan

173

Lalu penulis melakukan pengecekkan terhadap hasil perhitungan

sistem pada halaman Prediksi untuk item-based CF (gambar 5.58)

dengan skenario seperti pada gambar 5.91 :

Gambar 5.91 Prediksi rating untuk ID testing 10

Pada gambar 5.91, diketahui jumlah maksimal neighbor adalah 10.

Data testing dengan ID = 10 menunjukkan nilai prediksi yang sama

dengan perhitungan manual, yaitu 3.5021308827558606. Hal ini

membuktikan bahwa perhitungan manual dan perhitungan pada

sistem sudah tervalidasi sesuai dan benar.

3. Perhitungan MAE

Pada uji coba perhitungan prediksi metode item-based CF, didapatkan

hasil prediksi untuk data testing ID = 10 adalah 3.5021308827558606

sementara rating real adalah 3.

Nilai MAE sesuai rumus 2.5 dari sampel tersebut adalah :

| 3.5021308827558606−3 |

1 = 0.5021308827558606 (dibulatkan menjadi

0.5)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI