sistem rekomendasi lagu dengan metode...
Post on 08-Sep-2018
246 Views
Preview:
TRANSCRIPT
SISTEM REKOMENDASI LAGU DENGAN METODE
COLLABORATIVE FILTERING YANG MEMANFAATKAN
IMPLICIT FEEDBACK DATASETS
SONG RECOMMENDATION SYSTEM WITH COLLABORATIVE
FILTERING METHOD USING IMPLICIT FEEDBACK DATASETS
Laporan ini disusun untuk memenuhi salah satu syarat menyelesaikan
Pendidikan Diploma Program Studi D3 Teknik Informatika
Jurusan Teknik Komputer dan Informatika
Disusun oleh
Dina Rahmadhani 091511040
Firman Maulana 091511048
Maisa Nurul Agnia 091511055
POLITEKNIK NEGERI BANDUNG
2012
SISTEM REKOMENDASI LAGU DENGAN METODE
COLLABORATIVE FILTERING YANG MEMANFAATKAN
IMPLICIT FEEDBACK DATASETS
SONG RECOMMENDATION SYSTEM WITH COLLABORATIVE
FILTERING METHOD USING IMPLICIT FEEDBACK DATASETS
Laporan ini disusun untuk memenuhi salah satu syarat menyelesaikan
Pendidikan Diploma Program Studi D3 Teknik Informatika
Jurusan Teknik Komputer dan Informatika
Disusun oleh
Dina Rahmadhani 091511040
Firman Maulana 091511048
Maisa Nurul Agnia 091511055
POLITEKNIK NEGERI BANDUNG
2012
Nama : Dina Rahmadhani
NIM : 091511040
Tempat, Tanggal Lahir : Bandung, 8 April 1991
SD Lulus Tahun : 2003 dari SD Negeri Banjarsari IV Bandung
SLTP Lulus Tahun : 2006 dari SMP Negeri 2 Bandung
SLTA Lulus Tahun : 2009 dari SMA Negeri 2 Bandung
Prestasi yang pernah dicapai : -
Nama : Firman Maulana
NIM : 091511048
Tempat, Tanggal Lahir : Cirebon, 5 Oktober 1990
SD Lulus Tahun : 2002 dari SD Negeri Karang Anom III
SLTP Lulus Tahun : 2005 dari SMP Negeri 6 Cirebon
SLTA Lulus Tahun : 2008 dari SMA Negeri 3 Cirebon
Prestasi yang pernah dicapai : Juara 1 MTQ ( hafalan Al-Qur’an ) SD se-kota Cirebon
Juara 2 basket 3 on 3 SMAN 4 Cirebon
Nama : Maisa Nurul Agnia
NIM : 091511055
Tempat, Tanggal Lahir : Bandung, 13 Agustus 1990
SD Lulus Tahun : 2002 dari SD Negeri I Rajamandala
SLTP Lulus Tahun : 2005 dari SMP Negeri I Cikalong Wetan
SLTA Lulus Tahun : 2009 dari SMK Negeri I Cimahi
Prestasi yang pernah dicapai : -
ABSTRAK
Tugas akhir ini berkaitan dengan pembangunan sistem rekomendasi yang dapat memberikan saran-saran untuk lagu yang sekiranya ingin didengarkan oleh pengguna. Sistem rekomendasi lagu yang akan dibuat hanya memanfaatkan implicit feedback, yaitu berapa kali pengguna tersebut mendengarkan suatu lagu dan penilaian tidak langsung terhadap suatu lagu. Adapun metode rekomendasi yang digunakan pada sistem ini adalah metode Collaborative Filtering
dengan memanfaatkan Neighborhood Model, yaitu metode Cosine Similarity, dan metode pengelompokkan data dengan memanfaatkan algoritma K-Means. Lagu-lagu dari artis dengan tag tertentu dikelompokkan menggunakan algoritma metode cluster, lalu dari setiap cluster yang terbentuk dihitung kedekatan antar lagu-lagu didalamnya, sehingga ketika pengguna mendengarkan suatu lagu, sistem akan merekomendasikan lagu yang mungkin dipilih oleh pengguna, nilai kemiripannya paling tinggi.
Kata Kunci: Sistem Rekomendasi, Lagu, Collaborative Filtering, Neighborhood Model, K-
Means
ABSTRACT
This project is about recommendation system that can provide suggestions for song to be
listened. Song recommendation use implicit feedback, that is how many times users listen to a
song and indirect assessment given to the song. The method used in this system is
Collaborative Filtering using Neighborhood Model, that is Cosine Similarity, and a method of
clustering data by using K-Means algorithm. The tracks of the artist with particular tag is
clustered using that algorithm to form cluster, then from each clusters the closeness is
calculated neighborhood between the track, so that when users listen to a song, the system
will recommend songs that may be selected by the user, that have highest closeness.
Keywords: Recommender System, Song, Collaborative Filtering, Neighborhood Model, K-
Means
i
KATA PENGANTAR
Puji dan syukur kehadirat Tuhan Yang Maha Esa karena berkat rahmat dan hidayah-Nya
penulis dapat menyelesaikan laporan yang berjudul Sistem Rekomendasi Lagu dengan Metode
Collaborative Filtering yang Memanfaatkan Implicit Feedback Datasets.
Adapun tujuan dari pembuatan laporan ini adalah untuk memenuhi syarat menyelesaikan
Pendidikan Diploma III Program Studi Teknik Informatika, Jurusan Teknik Komputer dan
Informatika. Selama penulisan laporan ini penulis mendapat bantuan, bimbingan, dan
pengarahan dari berbagai pihak, maka dari itu penulis menyampaikan rasa hormat dan terima
kasih kepada :
1. Bapak Jonner Hutahaean, BSET. selaku Dosen Pembimbing I.
2. Bapak Dewa Gede Parta, BSCS. selaku Dosen Pembimbing II.
3. Bapak Ade Chandra Nugraha, S.Si., M.T. selaku Ketua Jurusan Teknik Komputer
Politeknik Negeri Bandung.
4. Teman – teman serta pihak-pihak yang telah memberikan dukungan baik moriil maupun
materil
5. Orang tua dan seluruh keluarga yang telah memberikan dukungan baik moriil maupun
materil.
Semoga segala bantuan yang telah diberikan kepada penulis mendapat balasan yang lebih dari
Allah SWT. Penulis berharap semoga laporan ini dapat bermanfaat bagi para khalayak
sekalian.
Bandung, Juli 2012
Kelompok Tugas Akhir 205
ii
DAFTAR ISI
KATA PENGANTAR ................................................................................................................. i DAFTAR ISI .............................................................................................................................. ii DAFTAR GAMBAR ................................................................................................................ iv DAFTAR TABEL ..................................................................................................................... vi DAFTAR ISTILAH ................................................................................................................. viii DAFTAR SINGKATAN ........................................................................................................... ix DAFTAR SIMBOL .................................................................................................................... x BAB I PENDAHULUAN .......................................................................................................... 1
1.1 Latar Belakang ........................................................................................................ 1 1.2 Rumusan Masalah ................................................................................................... 3 1.3 Tujuan Sistem ......................................................................................................... 4 1.4 Batasan Masalah ..................................................................................................... 4 1.5 Metode Pengerjaan .................................................................................................. 4
BAB II KAJIAN PUSTAKA ..................................................................................................... 6 2.1 Sistem Rekomendasi ............................................................................................... 6
2.1.1 Neighborhood Models................................................................................. 8 2.1.2 Association Rule Mining .......................................................................... 11
2.2 Perangkat Pendukung ............................................................................................ 13 2.2.1 Pemodelan UML ( Unified Model Language ) ......................................... 13
BAB III ANALISIS .................................................................................................................. 15 3.1 Analisa Sistem Rekomendasi Musik Last.fm ....................................................... 15
3.1.1 Use Case Model Dari Current System ..................................................... 16 3.1.2 Definisi Aktor ........................................................................................... 18 3.1.3 Use case Specification .............................................................................. 18
3.2 Analisa Lagu ......................................................................................................... 29 3.3 Analisa Data .......................................................................................................... 31 3.4 Analisa Metode Rekomendasi .............................................................................. 35 3.5 Spesifikasi Kebutuhan Fungsional ........................................................................ 50 3.6 Business Rule ........................................................................................................ 50
BAB IV PERANCANGAN...................................................................................................... 51 4.1 Tujuan & Batasan Perancangan ............................................................................ 51
4.2 Arsitektur Sistem................................................................................................... 51 4.3 Model Perilaku Sistem .......................................................................................... 55
4.3.1 Use Case Diagram ..................................................................................... 55 4.3.2 Definisi Aktor ........................................................................................... 56 4.3.3 Use Case Specification.............................................................................. 56
4.4 Perancangan Data .................................................................................................. 62 4.4.1 Kamus Data ............................................................................................... 64
4.4.2 Conceptual Data Model ............................................................................ 69 4.4.3 Physical Data Model ................................................................................. 69
4.5 Perancangan antar package ................................................................................... 71 4.6 Perancangan Interaksi Class .................................................................................. 73 4.7 Logika Proses ........................................................................................................ 79
4.8 Rancangan Tampilan........................................................................................... 130
iii
BAB V IMPLEMENTASI ..................................................................................................... 135 5.1 Batasan Implementasi ......................................................................................... 135 5.2 Infrastruktur Sistem............................................................................................. 135 5.3 Struktur Komponen Sistem ................................................................................. 137 5.4 Implementasi User Interface ............................................................................... 139 5.5 Requirement yang diimplementasikan ................................................................ 141 5.6 Pengujian ............................................................................................................. 142
BAB VI PENUTUP ................................................................................................................ 151 6.1 Kesimpulan ......................................................................................................... 151 6.2 Saran.................................................................................................................... 152
DAFTAR PUSTAKA ............................................................................................................. 154
iv
DAFTAR GAMBAR
Gambar 1 Vektor ....................................................................................................................... 9 Gambar 2 K-means dengan dua group ................................................................................... 10 Gambar 3 Flow chart k-means................................................................................................ 11 Gambar 4 Ilustrasi Pola Asosiasi ............................................................................................ 12 Gambar 5 Last.fm ................................................................................................................... 16 Gambar 6 Use case model sistem rekomendasi musik last.fm ............................................... 17 Gambar 7 Last.fm radio untuk pencarian lagu ....................................................................... 23
Gambar 8 Last.fm radio untuk pemutaran lagu ...................................................................... 24 Gambar 9 Chart lagu yang didengarkan ................................................................................. 24 Gambar 10 Pemutaran lagu pada media player ...................................................................... 25 Gambar 11 Audioscrobller ..................................................................................................... 26 Gambar 12 Charts lagu yang didengarkan ............................................................................. 26 Gambar 13 Rekomendasi data artist ....................................................................................... 27 Gambar 14 Rekomendasi data lagu ........................................................................................ 27 Gambar 15 Hasil Rekomendasi data Lagu yang berkaitan dengan lagu lain ......................... 27 Gambar 16 Skema relasi database last.fm .............................................................................. 31 Gambar 17 ER – diagram database last.fm ............................................................................ 32 Gambar 18 Top track pengguna last.fm ................................................................................. 33 Gambar 19 K-Means Clustering Iterasi – 1 ............................................................................ 39
Gambar 20 K-Means Clustering Iterasi – 2 ............................................................................ 42 Gambar 21 K-Means Clustering Iterasi - 2 ............................................................................ 43 Gambar 22 Clustering pada SPSS .......................................................................................... 44 Gambar 23 Arsitektur sistem .................................................................................................. 53 Gambar 24 Use Case Diagram Sistem Rekomendasi Lagu ................................................... 55 Gambar 25 ER-diagram sistem rekomendasi lagu ................................................................. 63 Gambar 26 Conceptual data model sistem rekomendasi lagu ................................................ 69 Gambar 27 Physical data model sistem rekomendasi lagu..................................................... 70 Gambar 28 package diagram sistem rekomendasi lagu.......................................................... 71 Gambar 29 Class diagram packagae model ........................................................................... 72 Gambar 30 Class diagram package controller ........................................................................ 73
Gambar 31 Hubungan antar objek pengolahan rekomendasi "cluster & cosine similarity scenario" ................................................................................................................................... 74 Gambar 32 Hubungan antar objek pengolahan rekomendasi "cluster & cosine similarity scenario" lanjutan ..................................................................................................................... 75 Gambar 33 Hubungan antar objek perekomendasian lagu kepada pengguna ........................ 76
Gambar 34 Interaksi class untuk usecase registrasi ............................................................... 77 Gambar 35 Interaksi class untuk usecase mendengarkan lagu ............................................... 78
Gambar 36 Interaksi class untuk usecase Authentikasi .......................................................... 79 Gambar 37 Rancangan tampilan login page ......................................................................... 130 Gambar 38 Alert message login gagal .................................................................................. 131
Gambar 39 Rancangan tampilan halaman registrasi ............................................................ 132 Gambar 40 Message registrasi berhasil ................................................................................ 132
Gambar 41 Rancangan tampilan home page ........................................................................ 133
Gambar 42 Infrastruktur Sistem ........................................................................................... 136
v
Gambar 43 Struktur komponen sistem ................................................................................. 137 Gambar 44 Form login ......................................................................................................... 140 Gambar 45 Form registrasi ................................................................................................... 140 Gambar 46 Home page .......................................................................................................... 141 Gambar 47 Hasil pengujian 1 K-F-1 .................................................................................... 146 Gambar 48 Hasil pengujian 2 K-F-1 .................................................................................... 146
vi
DAFTAR TABEL
Tabel 1 World internet usage and population ........................................................................... 1 Tabel 2 Hybridization method ................................................................................................... 7 Tabel 3 Perbandingan metode rekomendasi hybrid ................................................................. 7 Tabel 4 Definisi aktor .............................................................................................................. 18 Tabel 5 Usecase specification menambah data artis ke playlist .............................................. 18 Tabel 6 Usecase specification memberikan rating atau love .................................................. 18
Tabel 7 Usecase specification memberikan tag ....................................................................... 19 Tabel 8 Usecase specification mendengarkan lagu ................................................................. 20 Tabel 9 Usecase specification menentukan artis favorit ......................................................... 21 Tabel 10 Usecase specification mencari data lagu tertentu ..................................................... 22 Tabel 11 Kesimpulan dari analisa sistem rekomendasi musik Last.fm ................................... 28 Tabel 12 Saran perancangan ( analisa sistem rekomendasi musik last.fm )............................ 28 Tabel 13 Analisa lagu .............................................................................................................. 29 Tabel 14 Kesimpulan analisa lagu ........................................................................................... 30 Tabel 15 Evaluasi Data ............................................................................................................ 34 Tabel 16 Saran perancangan ( analisa lagu & data ) ............................................................... 35 Tabel 17 Data implicit feedback last.fm .................................................................................. 36 Tabel 18 Cosine similarity ....................................................................................................... 36
Tabel 19 Tabel kemiripan 5 sampel data implicit feedback .................................................... 37 Tabel 20 K-means clustering ................................................................................................... 38 Tabel 21 Tabel data lagu untuk k-means clustering ................................................................ 39 Tabel 22 Jarak setiap objek ke centroid .................................................................................. 40 Tabel 23 Pengelompokan objek ke dalam cluster ................................................................... 41 Tabel 24 Jarak objek ke centroid ............................................................................................. 42 Tabel 25 Pengelompokan objek ke dalam cluster ................................................................... 42 Tabel 26 Hasil Pengelompokkan Lagu ke dalam cluster ........................................................ 43 Tabel 27 Association rule mining ............................................................................................ 45 Tabel 28 Tabel binari association rule mining ........................................................................ 46
Tabel 29 Nilai asosiasi terhadap lagu yang akan direkomendasikan ...................................... 48
Tabel 30 Kesimpulan metode rekomendasi ............................................................................ 49
Tabel 31 Saran perancangan ( analisa metode rekomendasi ) ................................................. 49 Tabel 32 Kebutuhan fungsional ............................................................................................... 50 Tabel 33 Business Rule ........................................................................................................... 50
Tabel 34 Keterangan Aktifitas .................................................................................................. 54 Tabel 35 Definisi aktor ............................................................................................................. 56 Tabel 36 UC-01 melakukan registrasi ..................................................................................... 56 Tabel 37 UC-02 mendengarkan lagu ....................................................................................... 57 Tabel 38 UC-03 mendapatkan rekomendasi ........................................................................... 59
Tabel 39 UC-05 membuat jadwal untuk update cluster (jarak & sudut) ................................ 60 Tabel 40 Entity artist ............................................................................................................... 64 Tabel 41 Entity Tag ................................................................................................................. 65
Tabel 42 Entity Track .............................................................................................................. 65 Tabel 43 Entity User ................................................................................................................ 67
vii
Tabel 44 Entity Cluster ............................................................................................................ 68 Tabel 45 Logika Proses updateClusterController .................................................................... 79 Tabel 46 Logika Proses predictionController ........................................................................ 103 Tabel 47 Logika Proses trackClusterModel .......................................................................... 108 Tabel 48 Logika Proses clusterModel ................................................................................... 115 Tabel 49 Logika Proses artistTagModel ................................................................................ 117 Tabel 50 Logika Proses tagModel ......................................................................................... 118 Tabel 51 Logika Proses trackModel ...................................................................................... 119 Tabel 52 Logika Proses songSimilarityModel ...................................................................... 120 Tabel 53 Logika Proses trackUserModel .............................................................................. 122 Tabel 54 Logika Proses userModel ....................................................................................... 128
Tabel 55 Rancangan tampilan UI.01 .................................................................................... 130 Tabel 56 Rancangan Tampilan UI.02 .................................................................................... 131 Tabel 57 Tabel 4. 26 Rancangan Tampilan UI.03 ................................................................. 133 Tabel 58 Keterangan dari infrastruktur sistem ...................................................................... 136 Tabel 59 Keterangan dari struktur komponen ....................................................................... 138 Tabel 60 Daftar requirement yang diimplementasikan ......................................................... 141 Tabel 61 Pengujian sistem rekomendasi berdasarkan data masukan .................................... 143 Tabel 62 Data masukan untuk pengujian K-F-1 .................................................................... 144 Tabel 63 Keluaran yang diharapkan ( cluster 1 )................................................................... 144 Tabel 64 Keluaran yang diharapkan ( cluster 2 )................................................................... 144 Tabel 65 Keluaran yang diharapkan ( cluster 3 )................................................................... 145 Tabel 66 Keluaran yang diharapkan ( cluster 4 )................................................................... 145
Tabel 67 Data pengujian untuk K-F-2 ................................................................................... 147 Tabel 68 Hasil Responden 1 .................................................................................................. 148 Tabel 69 Hasil Responden 2 .................................................................................................. 148 Tabel 70 Hasil Responden 3 .................................................................................................. 149
viii
DAFTAR ISTILAH
Correlation
Hubungan antar 2 pengguna terdaftar atau hubungan antar 2 lagu. Dihitung dengan menggunakan formula yang memanfaatkan nilai rating
Cosine Similarity Nilai kemiripan antara dua buah vector yang dilihat dari sudut kosinus yang terbentuk diantara keduanya.
Clustering Suatu alat untuk analisa data, yang memecahkan permasalahan mengenai penggolongan.
Tag Kata atau frase yang membantu mengkategorikan topik
ix
DAFTAR SINGKATAN
Singkatan Deskripsi
CF Collaborative filtering
CN Content-Based
ER Entity Relationship
KB Knowledge-Based
KSR Kesimpulan Sistem Rekomendasi
SP Saran Perancangan
SQL Structured Query Language
UCA Use Case analisis
UI User Interface
x
DAFTAR SIMBOL
Simbol Nama Penggunaan Keterangan
Activity Activity diagram Elemen yang menggambarkan kegiatan.
Action Activity diagram Elemen yang menggambarkan aksi dari suatu kegiatan.
Initial State Activity diagram,
state diagram
Elemen yang memperlihatkan dimana aliran aktivitas berawal.
Final State Activity diagram Elemen yang memperlihatkan dimana aliran aktivitas berakhir.
Decision Activity Diagram,
state diagram
Elemen yang menggambarkan suatu kondisi.
Class Class diagram Merepresentasikan suatu objek yang menggambarkan struktur dan perilaku sistem.
package Package diagram Merepresentasikan suatu paket-paket class.
act Use Case Model
Activ ity3
act Use Case M...
Action1
act Use Cas...
ActivityInitial
act Use Ca...
ActivityFinal
act Us...
act Use Case Model
Class1
act Use Case Model
Package1
xi
DAFTAR PUSTAKA
Alag, S., 2009. Collective Intelligence in Action. Greenwich: Manning Publications Co.
Andritsos, P., 2002. Data Clustering Techniques. Qualifying Oral Examination Paper, p. 12.
Google, 2011. Web Search Interest: music. [Online]
Available at: http://www.google.com/insights/search/#cat=0-3-
35&q=music&date=1%2F2011%2012m&cmpt=q [Diakses 05 Februari 2012].
Group, M. M., 2012. INTERNET USAGE STATISTICS. [Online]
Available at: http://www.internetworldstats.com/stats.htm [Diakses 24 Februari 2012].
Hendry, J., 2011. k-Means Clustering (case 2 cluster). [Online]
Available at: http://www.scribd.com/jans_hendry/d/71509568-k-Means-Clustering-case-
2-cluster
[Diakses 4 April 2012].
Hu, Y., Koren, Y. & Volinsky, C., 2008. Collaborative Filtering for Implicit Feedback
Datasets. [Online] Available at:
citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.167.5120&rep=rep1&type=pdf
[Diakses 6 February 2012].
Jannach, D., Janker, M., Reflenki, A. & Friedrich, G., 2011. Recommender Systems. New
York: Cambridge University Press.
J. S. M., 2005. Teaching Materials & Files. [Online]
Available at: http://jalinas.staff.gunadarma.ac.id/Downloads/files/1026/DFD.pdf
[Diakses 25 May 2012].
Konstan, J. A. et al., 1997. Applying collaborative filtering to Usenet news. New York :
ACM.
L., 2012. Last.fm Web Services. [Online]
Available at: http://www.last.fm/api/show/user.getTopTracks [Diakses 7 June 2012].
xii
Last.fm, 2009. Scrobbling 2.0 Documentation. [Online]
Available at: http://www.last.fm/api/scrobbling [Diakses 23 Maret 2012].
last.fm, 2011. Community. [Online]
Available at: http://www.last.fm/community [Diakses 29 Desember 2011].
Liu, N. N., Xiang, E. W. & Zhao, M., 2010. Unifying Explicit and Implicit Feedback for
Collaborative Filtering. New York: ACM Press.
McGinty, L. & Smyth, B., 2006. Adaptive Selection: An Analysis of Critiquing and
Preference-Based Feedback in Conversational Recommender Systems. s.l.:International
Journal of Electronic Commerce.
Mujiasih, S., 2011.
Dokumen_585_Nomor_2_September_2011_Pemanfaatan_Data_Mining_Untuk_Prakiraa
n_Cuaca. PEMANFATAN DATA MINING UNTUK PRAKIRAAN CUACA, Volume 12
Nomor 2 September 2011, p. 190.
MusicBrainz, t.thn. MusicBrainz Database. [Online] [Diakses 3 April 2012].
Owen, S., Anil, R., Dunning, T. & Friedman, E., 2012. Mahout in Action. New York:
Manning Publications.
Ricci, F., Rokach, L., Saphira, B. & Kantor, P. B., 2011. Recommender Systems Handbook.
s.l.:Springer New York Dordrecht Heidelberg London.
Teknomo, P. K., 2007. K-Means Clustering Tutorial. K-Means Clustering Tutorial, p. 2.
University of Glasgow, D. o. C. S., 2008. Multimedia Information Retrieval at Glasgow
University. [Online] Available at: http://mir.dcs.gla.ac.uk/lastfm/dataset.php [Diakses 2
Februari 2012].
UTM, 2008. CIM Lecture. [Online] Available at:
http://www.civil.utm.my/staff/file/141/file/CIMLectureNotes2011.pdf [Diakses 24 05
2012].
xiii
Wikipedia, 2012. Association rule learning. [Online]
Available at: http://en.wikipedia.org/wiki/Association_rule_learning [Diakses 30 Maret
2012].
Wikipedia, 2012. Cosine Similarity. [Online]
Available at: http://en.wikipedia.org/wiki/Cosine_similarity [Diakses 30 Maret 2012].
Wikipedia, 2012. Last.fm. [Online]
Available at: http://en.wikipedia.org/wiki/Last.fm [Diakses 22 Maret 2012].
Wikipedia, 2012. Unified Modeling Language. [Online]
Available at: http://id.wikipedia.org/wiki/Unified_Modeling_Language
[Diakses 29 Mei 2012].
Wiranto, 2010. Mengenal Recommender System. [Online]
Available at: http://wir.staff.uns.ac.id/2010/02/07/mengenal-recommender-system
[Diakses 24 Januari 2011].
top related