BAB II
KAJIAN PUSTAKA
2.1
Sistem Rekomendasi
Sistem rekomendasi adalah alat dan teknik perangkat lunak yang bisa memberikan saran-
saran untuk item yang sekiranya bermanfaat bagi pengguna (Ricci, et al., 2011). Saran-saran tersebut berhubungan dengan proses pengambilan keputusan, seperti item mana yang akan
dibeli atau lagu mana yang ingin didengarkan. Oleh karena itu, sistem rekomendasi
memerlukan model rekomendasi yang tepat agar yang direkomendasikan sesuai dengan keinginan pelanggan, serta mempermudah pelanggan mengambil keputusan yang tepat dalam menentukan produk yang akan digunakannnya (McGinty & Smyth, 2006). Sistem rekomendasi mengandalkan dua tipe inputan yang berbeda, yaitu explicit input dan implicit input (Hu, et al., 2008). Explicit input didapat dari hasil penilaian yang diberikan langsung oleh pengguna, misalnya pemberian rating atau thumbs-up/down untuk item tertentu. Sedangkan implicit input didapat dengan cara mengamati kebiasaan pengguna, misalnya catatan pembelian, catatan penelusuran, pola pencarian, atau bahkan click-stream. Ada sistem rekomendasi yang berfokus pada tipe spesifik dari sebuah item, misalnya film, berita sistem
online rekomendasi
dan
lagu.
yang
Beberapa
berfokus
tipe
website spesifik
dari
sudah sebuah
menerapkan item,
seperti
movielens.com untuk item film dan last.fm untuk item lagu. Ada beberapa metode yang digunakan untuk sistem filtering,
content-based
filtering,
knowledge-based
rekomendasi seperti, collaborative recommendation,
dan
hybrid
recommendation (Jannach et al., 2011). Collaborative filtering merupakan metode sistem rekomendasi yang memanfaatkan data komunitas. Content-based merupakan metode sistem rekomendasi yang menganalisis dokumen atau deskripsi dari suatu item yang telah dinilai oleh seseorang sebelumnya (Ricci et al., 2011). Knowledge-based merupakan metode rekomendasi yang memanfaatkan kebutuhan seseorang dan pengetahuan mengenai domain produk (Ricci et al., 2011). Sedangkan, hybrid merupakan kombinasi dari dua atau lebih 6
BAB II Kajian Pustaka
7
metode-metode sistem rekomendasi yang telah disebutkan sebelumnya. Dalam metode
rekomendasi hybrid terdapat hybridization method yang penjelasan singkatnya dapat dilihat pada tabel yang diadaptasi dari (Burke, n.d.) dibawah ini.
Tabel 2 Hybridization method
Hybridization Method
Deskripsi Nilai dari beberapa metode rekomendasi yang digabungkan untuk menghasilkan rekomendasi tunggal.
Weighted
Mixed
Sistem menghubungkan antara metode rekomendasi yang bergantung pada situasi pada saat ini.
Switching
Rekomendasi dari beberapa metode rekomendasi berbeda disajikan dalam waktu yang sama.
Feature Combination
Fitur-fitur dari sumber data rekomendasi yang berbeda digabung bersama-sama kedalam algoritma rekomendasi tunggal.
Cascade
Satu recommender mengolah rekomendasi yang diberikan oleh yang lainnya.
Feature Augmentation
Output dari salah satu teknik digunakan sebagai input yang lain.
Meta-Level
Model dipelajari oleh satu recommender yang digunakan sebagai inputan untuk lain.
Namun, terdapat dampak yang memengaruhi hybridization method tersebut apabila menggabungkan dua metode sistem rekomendasi tertentu yang akan diperlihatkan pada tabel yang diadaptasi dari (Burke, n.d.) dibawah ini. Tabel 3 Perbandingan metode rekomendasi hybrid
Weighted
Mixed
Switching
Feature Combinati on
Cascade
Feature Aug.
Meta-Level
CF/CN CF/KB
Tidak memungki nkan
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
BAB II Kajian Pustaka
8
Tabel 3 Perbandingan metode rekomendasi hybrid ( lanjutan )
Weighted
Mixed
Switching
Redun
Redun dant
Redunda nt
CN/CF
dant
Cascade
Feature Aug.
Meta-Level
Redundant Tidak memungki nkan
CN/KB
Feature Combinati on
KB/CF
Redun dant
Redun dant
Redunda nt
Redundant
KB/CN
Redun dant
Redun dant
Redunda nt
Redundant
Telah disebutkan sebelumnya bahwa metode sistem rekomendasi collaborative filtering memanfaatkan data komunitas. Pada metode collaborative filtering terdapat pemodelan yang mengukur kemiripan berdasarkan tetangganya atau biasanya disebut neighborhood models, beberapa pemodelan secara neighborhood diantaranya adalah cosine similarity dan clustering. Selain neighborhood models, ada juga pemodelan dalam metode collaborative filtering yang dapat menghasilkan suatu rekomendasi dengan melihat pola asosiasi antar item, yaitu association rule mining.
2.1.1 Neighborhood Models a. Cosine similarity Cosine similarity merupakan salah satu pendekatan item-based recommendations systems (Jannach, et al., 2011) yang mengukur sudut kosinus diantara dua vektor dan panjang vektor sehingga dapat diketahui ukuran kemiripan ke dua vektor tersebut (Wikipedia, 2012).
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
BAB II Kajian Pustaka
9
Gambar 1 Vektor
Sudut kosinus dari dua vektor dapat dihasilkan dengan menggunakan formula euclidean dot product sebagai berikut :
𝑎. 𝑏 =
𝑎
(2.1)
𝑏 cos 𝜃
Dalam sistem rekomendasi hanya diketahui vektor dari suatu item, sehingga kemiripan diantara dua item dihasilkan dari sudut kosinus yang dihasilkan dari kedua vektor tersebut, untuk itu kemiripan item dapat diukur dengan menggunakan formula sebagai berikut : 𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑎, 𝑏 = cos 𝜃 =
𝑎 .𝑏 𝑎
𝑏
(2.2)
Pada sistem rekomendasi, kemiripan suatu item dengan item lain berkisar dari 0 sampai 1, karena frekuensi panjang atau bobot tidak dapat negatif, sudut diantara dua vektor tidak dapat lebih besar dari 90° (Wikipedia, 2012). b.
Clustering
Clustering merupakan metode yang biasanya digunakan untuk menemukan suatu kelompok dari pengguna atau item yang berhubungan (Alag, 2009). Terdapat dua kategori algoritma clustering, yaitu hierarchical dan partitional (Jannach, et al., 2011). Algoritma hierarchical clustering membuat dekomposisi (pemecahan) secara hirarki dari objek-objek. Dekomposisi bisa dilakukan secara agglomerative (bottom-up) atau divisive (top-down). Sedangkan algoritma partitional clustering membuat sejumlah k partisi dari data yang dimana setiap kelompok mengoptimasikan acuan pengelompokan. Teknik partitional yang biasanya digunakan adalah k-means, PAM (Partitioning Around Medoids), CLARA (Clustering LARge Applications), dan CLARANS (Clustering LARge ApplicatioNS) (Andritsos, 2002). Dibawah ini merupakan gambaran dari konsep partitional clustering. Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
BAB II Kajian Pustaka
10
Gambar 2 K-means dengan dua group
Algoritma k-means yang merupakan teknik dari partitional clustering, dilakukan berdasarkan tahap-tahap dibawah ini (Hendry, 2011): 1.
menentukan jumlah cluster yang diinginkan (k),
2.
menentukan nilai koordinat centroid,
3.
menghitung jarak setiap objek ke masing-masing centroid dengan menggunakan Euclidean 𝑑 𝑥, 𝑦 =
4.
𝑥1 − 𝑦1
𝟐
+ 𝑥2 − 𝑦2
𝟐
+ ⋯ + 𝑥𝑛−1 − 𝑦𝑛 −1
𝟐
+ 𝑥𝑛 − 𝑦𝑛
𝟐
(2.3)
kelompokkan objek-objek tersebut ke dalam cluster berdasarkan jarak yang paling dekat dengan centroid,
5.
menghitung ulang nilai koordinat centroid dengan menghitung nilai rata-rata (mean) dari objek masing-masing cluster, dan 𝑥=
6.
𝑛 𝑖=1 𝑥 𝑖
𝑛
=
𝑥 1 +𝑥 2 +⋯+𝑥 𝑛 𝑛
lakukan kembali langkah nomor 3 sampai 5 hingga nilai koordinat clustering tidak berubah.
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
(2.4)
BAB II Kajian Pustaka
11
Atau dapat dilihat pada flow chart yang diadaptasi dari (Teknomo, 2007) dibawah ini.
Start
Jumlah cluster = k
Menentukan centroid
Ya
Menghitung jarak setiap objek terhadap centroid
Cluster berubah?
Tidak
End
Mengelompokkan objek berdasarkan jarak minimum
Gambar 3 Flow chart k-means
2.1.2 Association Rule Mining Association rule mining adalah sebuah teknik yang biasa digunakan untuk mengidentifikasi pola hubungan transaksi penjualan (Jannach, et al.,2011). Ciri khas dari teknik ini adalah mengidentifikasi suatu produk dalam yang biasa dibeli secara bersamaan dalam satu ransaksi penjualan. Contohnya, 70% dari konsumen yang membeli makanan bayi, konsumen tersebut juga akan membeli popok bayi. Apabila polanya sudah dapat ditemukan, pola tersebut dapat digunakan untuk promosi produk atau juga untuk desain tampilan sebuah toko (Jannach, et al., 2011).
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
BAB II Kajian Pustaka
12
Gambar 4 Ilustrasi Pola Asosiasi
Ide ini juga dapat digunakan untuk membuat rekomendasi secara collaborative, misalnya “apabila user X menyukai item 1 dan item 2 kemudian akan suka juga terhadap item 5”. Rekomendasi terhadap user lain akan diberikan berdasarkan pola yang ada, apakah user tersebut suka terhadap item 1 dan item 2. Hal ini dapat dijelaskan dengan notasi sebagai berikut, A(sales) transaksi (T) adalah subset dari produk (P) = {p1,..,pm} dan menjelaskan bahwa produk tersebut dibeli bersamaan. Kebiasaan tersebut dapat dituliskan dalam bentuk X⇒Y, dimana X dan Y subset dari P dan X ∩ Y = ∅. Association rule X⇒Y (contoh : makanan bayi ⇒ popok bayi) mengekspresikan bahwa sewaktu-waktu unsur dari X (the rule body) termasuk ke dalam transaksi (T) dan unsur dari Y juga termasuk dalam transaksi yang sama (Jannach, et al., 2011). Hasil dari algoritma rule-mining seperti Apriori (Agrawal and Srikant, 1994) adalah secara otomatis mendeteksi aturan dan mengkalkulasikan ukuran kualitas dari aturan itu sendiri. Ukuran standar dari association rules adalah support dan confidence. Support dari bentuk X⇒Y dihitung sebagai persentase dari transaksi yang mengandung item X ∪ 𝑌 yang berpengaruh terhadap seluruh transaksi yang ada (contoh: kemungkinan keterhubungan antara X dan Y di dalam transaksi). Confidence dapat diartikan seabagai rasio jumlah transaksi yang mengandung item X ∪ 𝑌 ke dalam transaksi yang hanya mengandung X, dalam kata lain confidence mengacu kepada kemungkinan Y yang terbentuk dari X. Support =
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑛𝑠𝑎𝑐𝑡𝑖𝑜𝑛 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑖𝑛𝑔 𝑋 ∪ 𝑌 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑛𝑠𝑎𝑐𝑡𝑖𝑜𝑛
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
(2.5)
BAB II Kajian Pustaka
13
Confidence =
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑛𝑠𝑎𝑐𝑡𝑖𝑜𝑛 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑖𝑛𝑔 𝑋 ∪ 𝑌 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑛𝑠𝑎𝑐𝑡𝑖𝑜𝑛 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑖𝑛𝑔 𝑋
(2.6)
Kemudian untuk mencari angka yang menunjukkan pola asosiasi antar item 1 dengan item
lainnya dengan menggunakan metode rule-mining dapat menggunakan rumus perhitungan sebagai berikut:
Scoreitem = 𝑠𝑢𝑝𝑝𝑜𝑟𝑡rule * confidencerule
(2.7)
2.2 Perangkat Pendukung 2.2.1 Pemodelan UML ( Unified Model Language ) Unified Modeling Language (UML) adalah sebuah bahasa yang menjadi standar untuk
merancang model sebuah sistem, yaitu dalam membuat visualisasi, merancang, dan mendokumentasikan sistem perangkat lunak tersebut. Pemodelan UML lebih cocok digunakan untuk perancangan model perangkat lunak dengan bahasa pemrograman yang berorientasi objek seperti C++, Java, C#, atau VB.NET. UML menyediakan beberapa jenis diagram untuk memodelkan aplikasi berorientasi objek (Wikipedia, 2012), berikut ini beberapa jenis diagram yang disediakan oleh UML : 1.
Use Case Diagram Use Case Diagram digunakan untuk memodelkan interaksi pengguna dengan sistem,use case diagram terdiri dari use case dan aktor.
2.
Sequence Diagram Sequence Diagram digunakan untuk menggambarkan interaksi antara obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Sequence Diagram biasa digunakan untuk menggambarkan skenario atau tahapan yang dilakukan sebagai tanggapan dari sebuah kejadian untuk menghasilkan suatu output tertentu.
3.
Collaboration Diagram Collaboration Diagram digunakan untuk menggambarkan hubungan dan interaksi antara objek-objek perangkat lunak dalam Unifed Modeling Language ( UML ). Collaboration
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets
BAB II Kajian Pustaka
14
Diagram menggambarkan peran, fungsi, serta perilaku benda individual maupun keseluruhan operasi sistem secara real time.
4.
State Transition Diagram State Transition Diagram digunakan untuk menggambarkan kejadian pembentukan atau pemberian sebuah class, menggambarkan suatu kejadian transisi dan perubahan keadaan (
dari satu state ke state lainnya ) suatu objek yang ada pada sistem.
5.
Class Diagram
Class Diagram digunakan untuk menggambarkan struktur dari suatu sistem dengan
menunjukan class sistem, atribut class, operasi atau metode, serta hubungan antar class.
6.
Component Diagram Component Diagram digunakan untuk menggambarkan struktur dan hubungan antar komponen perangkat lunak. Komponen perangkat lunak yang dimaksud pada component diagram adalah modul yang berisi source code , library maupun executable, interface. Komponen umumnya terdiri dari beberapa class dan package.
7.
Deployment Diagram Deployment Diagram digunakan untuk menggambarkan detail bagaimana komponen di– deploy ke dalam infrastruktur sistem, komponen akan terletak pada mesin, node, server serta perangkat keras lainnya yang digunakan oleh sistem tersebut.
Sistem rekomendasi lagu dengan metode collaborative filtering yang memanfaatkan implicit feedback datasets