TESIS
USER-BASED COLLABORATIVE FILTERING DENGAN
MEMANFAATKAN PEARSON-CORRELATION UNTUK
MENCARI NEIGHBORS TERDEKAT DALAM SISTEM
REKOMENDASI
ARVID THEODORUS No. Mhs : 125301834/PS/MTF
PROGRAM STUDI MAGISTER TEKNIK INFORMATIKA PROGRAM PASCASARJANA
UNIVERSITAS ATMA JAYA YOGYAKARTA 2016
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan kehadirat Tuhan yang telah memberikan rahmat dan anugerah, sehingga penulis dapat menyelesaikan Tesis dengan judul User-Based Collaborative Filtering Dengan Memanfaatkan Pearson Correlation Untuk Mencari Neighbors Terdekat Dalam Sistem Rekomendasi.
Penulisan laporan ini merupakan kelengkapan dan pemenuhan dari salah satu syarat dalam memperoleh gelar Magister Teknik. Selain itu bertujuan melatih mahasiswa untuk dapat menghasilkan suatu karya yang dapat dipertanggungjawabkan secara ilmiah, sehingga dapat bermanfaat bagi penggunanya.
Dalam menyelesaikan pembuatan program dan laporan Tesis ini, penulis telah menerima bimbingan, saran, dan masukkan dari berbagai pihak, baik secara langsung maupun tidak langsung. Untuk itu dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan ucapan terima kasih kepada :
1. Bapak Ir. A. Djoko Budiyanto, M.Eng., Ph.D., selaku dosen pembimbing I yang telah memberikan bimbingannya dengan sabar dan baik kepada penulis, juga kepada
2. Ibu Dra. Ernawati, M.T., selaku dosen pembimbing II atas bimbingan, dan masukkan selama pengerjaan Tesis ini.
3. Keluarga tercinta yang telah memberikan semangat dan doa.
4. Teman-teman Gereja GBI Keluarga Allah Jogja dan kepada keluarga KIMEO yang selalu mendukung dan menguatkan didalam doa.
Puji dan syukur pepenulis panjatkan kehadirat TTuhan yang telah memberikan rahmat dan anuuggerah, sehinggaa penulis dapat menyelesaikakan n Tesis dengan judu User-Baseedd Collaborraativivee Filterriningg DeDengnganan MMememananfafaatkan Pearrsos n Correlation Untukk MencariNeNeigi hbors Teerdrdekekatt DalamSSisistetemm ReR komenddasasii.
Peenunulilissan laapporan ini merupakan kelengkapan dan pepemenunuhahann dadari salalaha satu syaratat ddalalam memperoleh gelar Magister Teknik. Selain itu u bertrtujujuauan melal tih maahahasisiswa a untuk dapat menghasilkan suatu karya yang dapat dipertannggunngjgjaawabkaan se
secacarra ilmmiah, sehingga dapat bermanfaat bagi penggunanya. D
Dalam menyelesaikan pembuatan program dan laporan Tesis ini,, penuliss tellaah menenerimma bimbingan, saran, dan masukkan dari berbagai pihak, baik seccararallangssunung m
maupun tidak langsung. Untukk iitutu ddene gan n sesegagalla kerendahhan hati, pada kesemmpapattan inni pepenulis menyampaikan ucapan terima kasih kepada :
1.
1. BaBapapakk IrIr. AA. DDjojokoko Buddiyaniyantoto,, MM.EnEng.g., PhPh.D., seD selalakuku ddosen pe
pembmbimimbbingng II yang tetelah membererikikan bimbmbini gaannnnyaya dedengnganan sabar dan baik kepada penulis, jugga kepada
2. Ibu Dra. Ernawati, MM.T., selakuu dosen pembimbing II atas bimbingan dan masukkan selama penngerjaanan Tesis ini.
i DAFTAR ISI
DAFTAR ISI ...i
DAFTAR GAMBAR ...iv
DAFTAR TABEL ... v INTISARI ...vi BAB I ... 1 PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Perumusan Masalah ... 3 1.3 Batasan Masalah ... 3 1.4 Manfaat Penelitian ... 4 1.5 Tujuan Penelitian ... 4 1.6 Sistematika Penulisan ... 4 BAB II ... 6
TINJAUAN PUSTAKA DAN LANDASAN TEORI ... 6
2.1 Tinjauan Pustaka ... 6
2.2 Tinjauan Teoritis ... 12
2.2.1 User-Based Collaborative Filtering ... 12
2.2.2 Pearson-Correlation Coefficient ... 16
2.2.3 Evaluasi Sistem Rekomendasi ... 18
BAB III ... 21
METODOLOGI PENELITIAN ... 21
3.1 Bahan Penelitian ... 21
3.2 Alat Penelitian ... 21
3.2.1 Kebutuhan Perangkat Keras ... 21
3.2.2 Kebutuhan Perangkat Lunak ... 21
3.3 Langkah-Langkah Penelitian ... 22
BAB IV ... 26
ANALISIS DAN PERANCANGAN SISTEM ... 26
DAFTAR ISI ...i
DAFTAR GAMBAR ...iv
DAFTAR TABELL ... v
INTISARI ...vi
BAB I ... 1
PENDNDAHULUAUAN ... 1
1.1 LLatatarar BBelakanangg ... 1
1.22 PPereruumussaan Masalah ... 3
1 1.3.3 Batasasan Masalah ... 3
1 1 4.4 MMaanfaat Penelitian ... 44 1 1.5 TTujuan Penelitian ... 4 1.6 Sistematika Penulisan ... 44 BAB III ... 66 TI TINJN AAUAN PUSTAKA DAN LANDASAN TEORI ... 6 6 2.1 Tinjauaan n PuPustsaka a a... 66 2.2 Tinjauan Teoritis ...112 2.2.1 User-Based Collaborative Filtering ... 12
22.22.22 PPeaearsrsonon-C-Cororrerelalatitionon CCoeo fficcieientnt ... 16
2.22.3 Evavaluluasasii SiSiststememRRekommenendadasi ... 18
BAB IIIIII ... 21
METODOLOGI PENELITIAN ... 21
3.1 Bahan Penelitian ... 21
3.2 Alat Penelitian ... 21
3.2.1 Kebutuhan Perangkat KKerasas ... 21
ii
4.1 Analisis Sistem ... 26
4.1.1 Perspektif Perangkat Lunak ... 26
4.1.2 Fungsi Perangkat Lunak ... 27
4.1.3 Karakteristik Pengguna Produk ... 32
4.1.4 Kebutuhan Khusus ... 32
4.1.4.1 Kebutuhan Antarmuka... 32
4.2 Perancangan Perangkat Lunak ... 34
4.2.1 Perancangan Arsitektur Layer ... 34
4.2.2 Dekomposisi Data ... 34
4.2.2.1 Tabel Rating ... 35
4.2.2.2 Tabel Pengguna (users) ... 35
4.2.2.3 Tabel Film (movies) ... 36
4.2.2.4 Tabel Neighbor ... 36
4.2.2.5 Tabel Neighbor Grouped ... 37
4.2.2.6 Tabel Korelasi ... 38
4.2.2.7 Tabel Rekomendasi ... 38
4.2.2.8 Tabel Prediksi ... 39
4.2.2.9 Tabel MAE (mean absolute error) ... 39
4.2.2.10 Tabel Presisi ... 40
4.3 Perancangan Antarmuka ... 41
4.3.1 Perancangan Proses ... 43
4.4 Analisis Algoritma Rekomendasi ... 46
BAB V ... 48
IMPLEMENTASI DAN PENGUJIAN ... 48
5.1 Implementasi Perangkat Lunak ... 48
5.1.1 Implementasi Antarmuka Perangkat Lunak ... 49
5.1.1.1 Implementasi Textbox – Porsi Data ... 49
5.1.1.2 Implementasi Progress Bar ... 50
5.1.1.3 Implementasi Tombol : Buat Tabel Korelasi ... 51
5.1.1.4 Implementasi Tombol : Buat Tabel Neighbor ... 52
g g 4.1.3 KarakteristikkPPeengguna Produk ... 32
4.1.4 Kebuttuhuhan Khusus ... 32
4.1.44.1 Kebutuhan An1 Antarmuka... 32
4.2 PPeerancangann Pereranangkat LLununakak ... 34
4.2.1 PPere ancangngana Arsitektur Laayey r ... 34
4.2.2.2 DDekekompoposisisii Data ... 34
44.2.2.2.1 TTabel Rating ... 35
4.2.2.2.2 Tabel Pengguna (users) ... 353 44.2.2.3 Tabel Film (movies) ... 366 4.2.2.4 Tabel Neighbor ... 36
4.2.2.5 Tabel Neighbor Grouped ... 3377 4.2.2.6 Tabel Korelasi ... 388 4.2.2.7 Tabel Rekomendasi ... 38
4.2.2.8 TaTabebell PPredikdiksisi... 3399 4.2.2.9 Tabel MAE (meanan abssololute error) ......3 399 4.2.2.10 Tabel Presisi ... 440 4 4.33 PPeranancacangngananAAntntararmumukaka... 41
4.3.1 Peranncacangngan Proses ... 43
4 4.4.4 AAnalilisis Ali Alggoritma Rekommendasi ... 46
BAB V ... 48
IMPLEMENTASI DAN PENGUUJIAN ... 48
5.1 Implementasi Perangkat LuLunak ... 48
5.1.1 Implementasi Antarmuuka Peerangkat Lunak ... 49
iii
5.1.1.5 Implementasi Tombol : Buat Tabel Neighbor ... 52
5.1.1.6 Implementasi Tombol : Grouping Neighbor ... 53
5.1.1.7 Implementasi Tombol : Hitung Korelasi ... 54
5.1.1.8 Implementasi Tombol : Buat Tabel Rekomendasi & Prediksi .. 55
5.1.1.9 Implementasi Tombol : Cari Rekomendasi & Nilai Prediksi .... 56
5.1.1.10 Implementasi Tombol : Buat Tabel MAE & Hitung MAE ... 57
5.1.1.11 Implementasi Tombol : Buat Tabel Presisi, Cari TP dan FP & Cari TP dan FN ... 59
5.2 Pengujian Perangkat Lunak ... 60
5.2.1 Pengujian Fungsionalitas ... 60
5.3 Validasi Perangkat Lunak ... 66
5.4 Kelebihan dan Kelemahan Perangkat Lunak ... 71
BAB VI ... 72 PENUTUP ... 72 6.1 Kesimpulan ... 72 6.2 Saran ... 72 DAFTAR PUSTAKA ... 74 p g 5.1.1.8 Implemenentatasi Tombol : Buat TTababel Rekomendasi & Prediksi .. 55
5.1.1.9 ImImpplementasi Tombol : Cari Rekomenndadasi & Nilai Prediksi .... 56
5.1.11.10 Implementasi1 iTombol : Buat Tabel MAE &&HHitung MAE ... 57
55.1.1.11 ImmplpememeentasiTTomomboboll : BuBuattTTababele PPrer sisi, CariTTP Pdan FP & CaririTTP P ddan FN ... 59
5 5.2 Penngugujijianan PerangkgkatatLunak ... 60
5.5.22.1.1 Pengugujjian Fungsionalitas ... 60
5.3.3 VValidasasi Perangkat Lunak ... 66 5
5.4 Kelelebihan dan Kelemahan Perangkat Lunak ... 7711 BA BABBVII ... 722 PE PENUTTUP ... 7722 6.1 Kesimpulan ... 722 6.2 Saran ... 722 DAAFTFTARA PUSTAKAA... 7744
iv DAFTAR GAMBAR
Gambar 2.1 Skema Tahapan UCF ... 13
Gambar 2.2 Contoh Himpunan Bilangan Yang Memiliki Korelasi Positif dan Negatif ... 17
Gambar 4.1 Arsitektur Penerapan Algoritma Rekomendasi User-Based Collaborative Filtering Dengan Memanfaatkan Pearson-Correlation ... 27
Gambar 4.2 Perancangan Arsitektur Antarmuka-Database Pada Algoritma Rekomendasi Yang Memanfaatkan Pearson-Correlation ... 34
Gambar 4.3 Perancangan Antarmuka Untuk Penerapan Algoritma User-Based Collaborative Filtering Dengan Memanfaatkan Pearson-Correlation ... 42
Gambar 5.1 Textbox Porsi Data ... 49
Gambar 5.2 Efek Perubahan Dari Fungsi Pada Textbox Porsi Data ... 50
Gambar 5.3 Progress Bar ... 50
Gambar 5.4 Gambar Keseluruhan Antarmuka Beserta Tombolnya ... 51
Gambar 5.5 Spesifikasi Tabel Korelasi... 52
Gambar 5.6 Spesifikasi Tabel Neighbor ... 52
Gambar 5.7 Tabel UserNeighbor Yang Sudah Terisi Data ... 53
Gambar 5.8 Tabel UserNeighborGrouped Yang Sudah Terisi Data ... 54
Gambar 5.9 Tabel Correlation Yang Sudah Terisi Data ... 55
Gambar 5.10 Spesifikasi Tabel Rekomendasi ... 56
Gambar 5.11 Spesifikasi Tabel Prediksi ... 56
Gambar 5.12 Tabel UCF_Recommendation Yang Sudah Terisi Data ... 57
Gambar 5.13 Tabel UCF_Prediction Yang Sudah Terisi Data ... 57
Gambar 5.14 Spesifikasi Tabel UCF_MAE ... 58
Gambar 5.15 Tabel UCF_MAE Yang Sudah Terisi Data ... 59
Gambar 5.16 Spesifikasi Tabel UCF_Precision ... 60
Gambar 5.17 Tabel UCF_Precision Yang Sudah Terisi Data ... 60
Gambar 2.1 Skema Tahapan UCFF ... 13
Gambar 2.2 Contoh Himpmpunan Bilangan Yang Memmiliiki Korelasi Positif dan Negatif ... 17
Gambar 4.1 AArrsitektur Penerapaan Algogorirtma Reekomendasi Usserer-Based Collaboratativive Filterining g DeDenganMMememananfafaatakakan n PePeararson-Correlatioon n... 27
Gambbaar 4.2 PerancangngananAArsitektur Antarmuka-DaDataababase Padada Algoriritmtma Rekokomendasasi i YaYang Memananfafaattkan k Pearson-CoCorrrrelelation ... 34
G Gambarr44.33PPerancacangan Antarmuka Untuk PenerapanAAlglgoritmam UUses r-Baseed d Collababororatativi e FiFilltering Dengan Memanfaatkan Pearson-Corrreleation n ... 42
Gambmbarar 5.1TTextbox Porsi Data ... 449 Ga Gambmbar 55.2 Efek Perubahan Dari Fungsi Pada Textbox Porsi Data ... 500 Ga Gambarr 5.3 Progress Bar ... 50
Gambaar 5.4 Gambar Keseluruhan Antarmuka Beserta Tombolnya ... 5151 Gambaar 5.5 Spesifikasi Tabel Korelasi... 522 Ga Gambmbaar 5.6 Spesifikasi Tabel Neighbor ... 5522 Gambar 5.7 TababelelUUseserNrNeieighghbor YaY ng Sududaah Tererisisii DaDatata... 5533 Ga G mbar 5.8 Tabel UserNeighborGrooupupeded Yang Sudah Terisi Data ... 554 Ga Gambmbar 5.9 Tabel Correlation Yang Sudah Terisi Data ... 55
Ga Gambmbarar55.1010SpSpesesififikikasasii TaTabebell ReRekokomendndasasi i... 56
Ga Gambmbarar 5.11 SpSpesesififikikassii TaTabebellPreddikiksisi ... 56
Gambbarar55.1212TabeTabel UCF_Recommmendationon Yang Sudah TeririsisiDDatataa ... 57
Gambar 5.13 Tabel UCF_Predictition Yang SSudah Terisi Data ... 57
Gambar 5.14 Spesifikasi Tabel UUCF_MAE ... 58
Gambar 5.15 Tabel UCF_MAE Yaang Suddaah Terisi Data ... 59
Gambar 5.16 Spesifikasi Tabel UCF_F_Prreecision ... 60
v DAFTAR TABEL
Tabel 2.1 Tabel Rangkuman Tinjauan Pustaka ... 10
Tabel 2.2 Klasifikasi Dari Beberapa Kemungkinan Hasil Rekomendasi ... 19
Tabel 4.1 Tabel Rating ... 35
Tabel 4.2 Tabel Pengguna ... 35
Tabel 4.3 Tabel Film ... 36
Tabel 4.4 Tabel Neighbor ... 37
Tabel 4.5 Tabel Neighbor Grouped ... 37
Tabel 4.6 Tabel Korelasi ... 38
Tabel 4.7 Tabel Rekomendasi ... 38
Tabel 4.8 Tabel Prediksi ... 39
Tabel 4.9 Tabel MAE (Mean Absolute Error) ... 40
Tabel 4.10 Tabel Presisi ... 40
Tabel 5.1 Tabel Pengujian Fungsionalitas Perangkat Lunak ... 61
Tabel 5.2 Klasifikasi Hasil Rekomendasi Terhadap Data Rating ... 67
Tabel 5.3 Hasil Pencarian TP, FP dan FN Dengan Batas Korelasi Lebih Dari 0 .. 67
Tabel 5.4 Tabel Hasil Evaluasi UCF Dengan Memanfaatkan Pearson-Correlation Dengan Batas Korelasi User-Neighbor Lebih Dari 0 ... 68
Tabel 5.5 Hasil Pencarian TP, FP dan FN Dengan Batas Korelasi Lebih Dari 0,3 ... 69
Tabel 5.6 Tabel Hasil Evaluasi UCF Dengan Memanfaatkan Pearson-Correlation Dengan Batas Korelasi User-Neighbor Lebih Dari 0,3 ... 69
Tabel 5.7 Tabel Hasil Evaluasi UCF Dengan Memanfaatkan Pearson-Correlation Dengan Batas Korelasi User-Neighbor Lebih Dari 0,5 ... 70
Tabel 2.1 Tabel Rangkuman TinjauuananPPusustaka ... 10
Tabel 2.2 Klasifikasi DaririBBeberapa Kemungkinan nHaH sil Rekomendasi ... 19
Tabel 4.1 Tabel RaRatiting ... 35
Tabel 4.2 Tabebel Pengguna ... 35
Tabel 4.33Tabel Filmm ... 36
Tabeell 4.4 Tabeel lNeighbhbor ... 37
Ta Tabel 4.5 TaTabebel lNNeigghbhbor Grouped ... 37
Tabeel l 4.4.6 6 TaT bel KKorelasi ... 38
Tabebell 4.47 Taabbel Rekomendasi ... 3 38 Ta Tabebel l4.8 TTabel Prediksi ... 399 Ta Tabebel 4..99 Tabel MAE (Mean Absolute Error) ... 40
Tabel 44.10 Tabel Presisi ... 4040 Tabel 5.1 Tabel Pengujian Fungsionalitas Perangkat Lunak ... 611 Ta Tabel 5.2 Klasifikasi Hasil Rekomendasi Terhadap Data Rating ... 6767 Tabel 55.3 Hasil PePencncarian TP, FPFP dan FN DeDenngan BatasKKororelasi Lebiihh Dari 0.. 6677 Tabel 5.4 Tabel Hasil Evaluasi UCFCFDDenenggan Memanfaatkan Pearson-Correlaatitionon De Dengan Batas Korelasi User-Neighbor Lebih Dari 0 ... 668 Ta Tabebel l5.555 HaHasisillPePencncarariaiann TPTP, ,FPF dan FN DengngananBBatatasasKKororelelasasiiLeLebibih DaDariri00,3,3 ... 69
Taabebel l5.5.6 6 TaTabebel l HaHasisill EvEvaluasiiUCF DU Dengan n MMemanfnfaaaatkt annPPeaearsrsonon-C-Corrrrelation DenganBBatatasasKKorelasi User-Neighghbor Leebbih Dari 0,3 ... 69
Tabel 5.7 Tabel Hasil Evaluasi UUCF Dengann Memanfaatkan Pearson-Correlation Dengan Batas Korelasi User-Neiighg bor Lebiihh Dari 0,5 ... 70
vi
User-Based Collaborative Filtering Dengan
Memanfaatkan Pearson-Correlation Untuk Mencari
Neighbors Terdekat Dalam Sistem Rekomendasi
Disusun Oleh : Arvid Theodorus
Nomor Mahasiswa : 125301834/PS/MTF
INTISARI
Dalam satu dekade terakhir ini perkembangan yang pesat seputar sistem rekomendasi mendorong para peneliti untuk terus mencari teknik-teknik rekomendasi baru. Beberapa faktor seperti kebutuhan bisnis, kepentingan penelitian maupun kepentingan pribadi membuat sistem rekomendasi semakin banyak variasinya.
Tujuan utama dari variasi tersebut adalah untuk mencari teknik yang terbaik dalam memberi rekomendasi. Namun, beberapa teknik rekomendasi masih belum memiliki metode yang berfungsi untuk mencari relasi antar pengguna. Untuk itu, penelitian ini akan berfokus pada metode pencarian relasi antar pengguna dalam sebuah sistem rekomendasi. Peneliti memanfaatkan teknik pengukuran Pearson-Correlation dalam algoritma User-Based Collaborative Filtering untuk menghitung relasi dan membuktikan seberapa besar pengaruh relasi tersebut terhadap keakuratan rekomendasi dan prediksi.
Katakunci : User Based Collaborative Filtering, Pearson Correlation, Sistem Rekomendasi, Evaluasi Sistem Rekomendasi
Disusun Oleh : Arvid Theodorus No
Nomomor Mahah sisiswswa a: 12125353010183834/4/PSPS/MTF
INTISARI Da
Dalalam sasattu dekade terakhir ini perkembangan yangng pessaat ssepepututar sisistem rekokomemendassii mendorong para peneliti untuk terus mencaari teteknkniik-tekninik re
rekokomendndasi baru. Beberapa faktor seperti kebutuhan bisnis,, keepepentntiningan n
penelititian maupun kepentingan pribadi membuat sistem rekomenddasi sseemakkinin banyakk variasinya.
Tujuan uutatamma dari variriasasi tersebutut adalah untutukk mem ncari teknik yyanangg te
terbaik dalam memberi rekomendasi. NNamun, beberapa teknik rekomendasi i mamasisih be
belulum m mememimililikiki mmetetododee yayangng berfungsi unttukuk mmenencacariri rrelelasasii anantatar pepengngguguna. Un
Untutukk itu, penelelititiaiann innii akakan bbererfofokukus paadada mmetododee pepencarian rerelalasisi antar penggunaa ddalalam sebuah sistem rekommeendasi. Peneliti mememananffaatkan teknik pengukuran Pearson-Correlatioon dalam aalgoritma User-Based Collaborative
Filtering untuk menghitung relassi dan mmembuktikan seberapa besar pengaruh relasi tersebut terhadap keakuratan reekoommendasi dan prediksi.