Making Recommender Module in OpenCart Using Item-Based Collaborative Filtering Method

PEMBUATAN MODUL REKOMENDASI PADA OPENCART
MENGGUNAKAN METODE ITEM-BASED
COLLABORATIVE FILTERING

KIRANA NURYUNITA

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012

PEMBUATAN MODUL REKOMENDASI PADA OPENCART
MENGGUNAKAN METODE ITEM-BASED
COLLABORATIVE FILTERING

KIRANA NURYUNITA

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
ABSTRACT
2012

ABSTRACT
KIRANA NURYUNITA. Making Recommender Module in OpenCart Using Item-Based
Collaborative Filtering Method. Under the supervision of YANI NURHADRYANI.
This research aims to add a recommender module in OpenCart CMS. One of the method is
item-based collaborative filtering that can reduce the execution time of calculation. This study uses
adjusted cosine similarity to calculate the similarity between books, weighted sum method to
calculate the books rate prediction, and mean absolute error to calculate recommendacy accuracy.
In order to get the recommendation, user have to login and give ratings to the books. Then,
adjusted cosine similarity calculates the similarity between books based on user’s rate. Based on
the similarities between books, weighted sum method calculates the books rate prediction. Before
a book is recommended to the user, type of book from the prediction are first matched with the

type of book rated by the user. This research uses 300 books and 30 users. The result shows that
only 17 users can get recommendations. Evaluation is conducted by analyzing the execution time
and recommendacy accuracy. It is found that the execution time is 1.60 seconds and the mean
absolute error is 0.15.
Keywords: adjusted cosine similarity, e-commerce, item-based collaborative filtering, mean
absolute error, recommender system, weighted sum.

Judul Skripsi
Nama
NRP

: Pembuatan Modul Rekomendasi pada OpenCart Menggunakan Metode ItemBased Collaborative Filtering
: Kirana Nuryunita
: G64080099

Menyetujui:
Pembimbing

Dr. Yani Nurhadryani, S.Si, M.T.
NIP. 19740404 199802 2 001


Mengetahui:
Ketua Departemen Ilmu Komputer

Dr. Ir. Agus Buono, M.Si., M.Kom.
NIP. 19660702 199302 1 001

Tanggal Lulus :

PRAKATA
Puji dan syukur penulis panjatkan ke hadirat Allah subhanahu wa-ta'ala atas segala rahmat
dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul Pembuatan
Modul Rekomendasi pada OpenCart Menggunakan Metode Item-Based Collaborative Filtering.
Penelitian ini dilaksanakan mulai Desember 2011 sampai dengan September 2012 dan bertempat
di Departemen Ilmu Komputer Institut Pertanian Bogor.
Penulis juga menyampaikan terima kasih kepada pihak-pihak yang telah membantu dalam
penyelesaian tugas akhir ini, yaitu:
1 Ayahanda Wagiran Wahyu, Ibunda Wikanti Asriningrum, serta kakakku Sulistyo Unggul
Wicaksono yang selalu memberikan kasih sayang, semangat, dan doa.
2 Ibu Yani Nurhadryani selaku dosen pembimbing yang telah memberikan arahan dan

bimbingan dengan sabar kepada penulis dalam menyelesaikan skripsi ini.
3 Aditya Nur Johansyah, Jaka Ahmad Juliarta, dan Mbak Yudith sebagai teman satu bimbingan
yang selalu memberikan masukan, saran, dan semangat kepada penulis.
4 Rekan-rekan di Departemen Ilmu Komputer IPB angkatan 45 atas segala kebersamaan, canda
tawa, dan kenangan indah yang telah mengisi kehidupan penulis selama di kampus.
5 Teman-teman kosan Tri Regina lantai 1, Dannis, Fitta, Nensi, Rossy, Nindy, nilam, dan Yeli.
6 Semua pihak yang tidak dapat disebutkan satu persatu yang telah memberikan saran, masukan,
dan kritik bagi penulis.
Penulis menyadari bahwa masih terdapat kekurangan dalam penulisan skripsi ini. Semoga
skripsi ini bermanfaat.

Bogor, November 2012

Kirana Nuryunita

RIWAYAT HIDUP
Penulis lahir di Jakarta, 11 Juni 1990 sebagai anak kedua dari dua bersaudara dari pasangan
Wagiran Wahyu dan Wikanti Asriningrum. Penulis merupakan lulusan dari SMAN 14 Jakarta
Timur (2004-2007), SMPN 49 Jakarta Timur (2001-2004), dan SDN Pekayon 05 Pagi (19952001). Saat ini penulis sedang menempuh studi S1 di Departemen Ilmu Komputer, Fakultas
MIPA, Institut Pertanian Bogor, sejak tahun 2008 sampai dengan sekarang.

Pada bulan Juli hingga Agustus 2011, penulis melaksanakan kegiatan Praktik Kerja
Lapangan di PT. Pertamina. Selain kuliah, penulis juga pernah menjadi asisten praktikum Sistem
Informasi pada tahun 2011-2012. Organisasi yang pernah diikuti penulis selama perkuliahan
yakni Bendahara Divisi Internal BEM FMIPA IPB 2009-2010. Penulis dapat dihubungi melalui
email di alamat kirana.nina@gmail.com.

DAFTAR ISI
Halaman
DAFTAR TABEL ............................................................................................................................ vi
DAFTAR GAMBAR ....................................................................................................................... vi
DAFTAR LAMPIRAN .................................................................................................................... vi
PENDAHULUAN ............................................................................................................................ 1
Latar Belakang .............................................................................................................................. 1
Tujuan Penelitian .......................................................................................................................... 1
Ruang Lingkup Penelitian ............................................................................................................ 1
TINJAUAN PUSTAKA ................................................................................................................... 2
E-commerce .................................................................................................................................. 2
Sistem Rekomendasi ..................................................................................................................... 2
Collaborative Filtering ................................................................................................................. 3
Item-Based Collaborative Filtering .............................................................................................. 4

Mean Absolute Error (MAE) ........................................................................................................ 4
OpenCart....................................................................................................................................... 5
METODE PENELITIAN .................................................................................................................. 5
Analisis Kebutuhan....................................................................................................................... 5
Perancangan Sistem ...................................................................................................................... 5
Implementasi Item-Based Collaborative Filtering ....................................................................... 5
Pengujian Item-Based Collaborative Filtering ............................................................................. 6
HASIL DAN PEMBAHASAN ......................................................................................................... 6
Analisis Kebutuhan....................................................................................................................... 6
Perancangan Sistem ...................................................................................................................... 9
Implementasi Item-Based Collaborative Filtering ..................................................................... 10
Pengujian Item-Based Collaborative Filtering ........................................................................... 13
SIMPULAN DAN SARAN ............................................................................................................ 14
Simpulan ..................................................................................................................................... 14
Saran ........................................................................................................................................... 15
DAFTAR PUSTAKA ..................................................................................................................... 15
LAMPIRAN .................................................................................................................................... 16

v


DAFTAR TABEL
Halaman
1 Rekomendasi pada e-commerce buku di Indonesia beserta traffic rank. ....................................... 6
2 Lima peringkat CMS dengan Global traffic rank dan indonesia traffic rank tertinggi. ................. 7
3 Rate buku dari pengguna. ............................................................................................................... 8
4 Nilai kemiripan antar buku............................................................................................................. 9
5 Prediksi rate buku. ......................................................................................................................... 9
6 Perbandingan nilai kemiripan perhitungan sistem dan perhitungan manual. .............................. 14

DAFTAR GAMBAR
Halaman
1 Proses collaborative filtering. ...................................................................................................... 3
2 User-based collaborative filtering................................................................................................ 3
3 Item-Based Collaborative............................................................................................................. 4
4 Pencarian kemiripan antar produk. ............................................................................................... 4
5 Metode penelitian waterfall (Green 1998). .................................................................................. 5
6 Tahapan analisis fungsi ................................................................................................................ 5
7 Kategori produk yang dijual secara online di Indonesia (Dsresearch 2011). ............................... 6
8 simulasi rekomendasi. .................................................................................................................. 8
9 DFD konteks sistem rekomendasi. ............................................................................................... 8

10 DFD level 1 sistem rekomendasi. ................................................................................................ 9
11 Entity relationship diagram sistem rekomendasi. .................................................................... 10
12 Perancangan antarmuka pengguna. ............................................................................................ 10
13 Perancangan antarmuka admin................................................................................................... 10
14 Halaman home pengguna yang belum login dan pengguna yang telah login yang tidak terdapat
rekomendasi. ............................................................................................................................. 11
15 Halaman home pengguna yang telah login dan terdapat rekomendasi. ...................................... 11
16 Halaman modul recommended product pada admin. ................................................................. 11
17 Waktu rata-rata eksekusi dari 30 pengguna. .............................................................................. 14

DAFTAR LAMPIRAN
Halaman
1 Pengguna pemberi review buku ................................................................................................... 17
2 Rata-rata rate pengguna ............................................................................................................... 19
3 Kemiripan antar buku dengan nilai similarity lebih besar dari 0.5 .............................................. 20
4 Prediksi rate buku ........................................................................................................................ 22
5 Rekomendasi buku pengguna ...................................................................................................... 25
6 Kemiripan antar buku total........................................................................................................... 26

vi


1

PENDAHULUAN
Latar Belakang
Informasi dengan berbagai macam kriteria
terdapat di internet, salah satunya adalah
informasi tentang penjualan produk dan jasa
secara online atau biasa disebut e-commerce.
Faktor yang dapat mendorong penjualan
dalam e-commerce salah satunya adalah
menyangkut personalisasi dari pembeli di
internet. Pembuatan profil dan personalisasi
merupakan cara yang digunakan untuk
mengenali
pembeli
sebagai
pemakai
individual. Sistem rekomendasi merupakan
salah satu bentuk dari personalisasi website.

Sistem Rekomendasi merupakan model
penyelesaian masalah yang menerapkan
teknik-teknik tertentu pada pembuatan
rekomendasi untuk pemilihan suatu informasi,
produk, dan jasa (Goldberg et al. 2001).

koleksi produk yang relatif lebih sedikit
dibandingkan data pengguna sehingga
memungkinkan pengurangan perhitungan
(Sarwar et al. 2001).
Saat ini, sistem rekomendasi merupakan
bagian dari beberapa situs e-commerce seperti
amazon.com. Amazon.com menggunakan
algoritme item-based collaborative filtering
untuk sistem rekomendasi karena jumlah
pengguna yang lebih banyak dibanding
jumlah produk (Linden et al. 2003). Di
Indonesia, beberapa situs e-commerce buku
telah ada yang memberikan rekomendasi
kepada pengguna. Rekomendasi yang

diberikan
kepada
pengguna
masih
menggunakan query biasa untuk mencari
kesamaan penulis, penerbit, atau kategori.
Rekomendasi yang diberikan pada ecommerce buku di Indonesia bukan
merupakan personalisasi dari pengguna.

Terdapat
dua
pendekatan
dalam
mengembangkan sebuah sistem rekomendasi,
yaitu content-based dan collaborative filtering
(Balabanovic & Shoham 1997). Pendekatan
content-based menyediakan rekomendasi
dengan cara membandingkan representasi
konten yang terkandung dalam sebuah produk
dengan representasi konten yang diinginkan
pengguna dengan membangun user thematic
profile. Pendekatan collaborative filtering
bekerja dengan cara mempelajari masukan
rate dari pengguna pada kumpulan produk,
mengenali kesamaan berdasarkan masukan
pengguna, dan menghasilkan rekomendasi
baru (Candillier et al. 2007). Rekomendasi
berdasarkan pendekatan collaborative filtering
merupakan pendekatan yang paling banyak
digunakan untuk membangun sebuah sistem
rekomendasi (Burke 2002).

Pembuatan situs e-commerce buku salah
satunya dapat dilakukan dengan menggunakan
content management system (CMS). Salah
satu CMS yang populer di masyarakat adalah
OpenCart (Masalov 2007). OpenCart telah
memiliki beberapa modul seperti account,
affiliate, banner, bestsellers, carousel,
category, featured, google talk, information,
latest, slideshow, specials, store, dan
welcome. OpenCart belum memiliki modul
yang dapat menghasilkan rekomendasi untuk
pengguna.

Teknik collaborative filtering terbagi
menjadi dua, yaitu user-based collaborative
filtering dan item-based collaborative filtering
(Karypis
2001).
Pada
user-based
collaborative filtering, sistem mencari
sejumlah pengguna yang memiliki korelasi
tinggi,
sedangkan
pada
item-based
collaborative filtering, sistem mencari
sejumlah produk yang memiliki korelasi
tinggi. User-based collaborative filtering
memerlukan data pengguna, di mana
pengguna lama dapat mengubah pola perilaku
mereka dan pengguna baru dapat memasuki
sistem setiap saat. Banyaknya data pengguna
membutuhkan proses yang cukup lama untuk
menghasilkan
rekomendasi.
Item-based
collaborative filtering memerlukan data

Tujuan Penelitian

Pada penelitian ini ditambahkan modul
baru yaitu modul rekomendasi pada content
management system (CMS) OpenCart. Modul
rekomendasi dikembangkan menggunakan
metode item-based collaborative filtering
berdasarkan masukan rate dari pengguna.

Penelitian ini bertujuan menambahkan
modul sistem rekomendasi berbasis itembased collaborative filtering pada e-commerce
buku di Indonesia menggunakan CMS
OpenCart. Setelah pengimplementasian sistem
rekomendasi, dilakukan analisis tingkat
kesalahan
hitung
dari
item-based
collaborative filtering dan analisis waktu
eksekusi dari item-based collaborative
filtering.
Ruang Lingkup Penelitian
Ruang lingkup pada penelitian ini adalah:
1 Sistem rekomendasi yang dibuat hanya
sistem rekomendasi pada e-commerce

2

buku menggunakan metode item-based
collaborative filtering.
2 Sistem rekomendasi dibuat menggunakan
CMS OpenCart.
3 Pada sistem ini data buku yang digunakan
berjumlah 300 dan data responden yang
mencoba sistem rekomendasi berjumlah
30.

TINJAUAN PUSTAKA
E-commerce
E-commerce meliputi seluruh proses dari
pengembangan,
pemasaran,
penjualan,
pengiriman, pelayanan, dan pembayaran
untuk berbagai produk dan jasa yang
diperjualbelikan.
Aspek-aspek
yang
memengaruhi kesuksesan e-commerce adalah
(O’Brien 2006):
1 Pengendalian akses dan keamanan
Proses e-commerce harus membangun
rasa percaya dan akses yang aman antara
berbagai pihak dalam bertransaksi, melalui
pengautentikasian
pemakai,
pengotorisasian akses, dan penerapan
berbagai fitur keamanan.
2 Pembuatan profil dan personalisasi
Proses pembuatan profil dijalankan
untuk mengumpulkan data mengenai
pembeli dan membangun profil dari
berbagai karakteristik serta preferensi
pembeli.
3 Manajemen pencarian
Proses pencarian yang efisien dan
efektif
membantu
pembeli
untuk
menemukan produk atau jasa tertentu yang
diinginkan untuk dievaluasi atau dibeli
oleh pembeli.
4 Manajemen isi
Proses
yang
digunakan
untuk
mengembangkan,
menghasilkan,
mengirimkan,
memperbarui,
dan
menyimpan data teks serta informasi
multimedia pada situs e-commerce.
5 Manajemen katalog
Proses untuk mengkonfigurasikan
produk-produk pada situs dan membagi
produk tersebut berdasarkan kategori.
6 Pembayaran
Proses yang melibatkan proses belanja
sampai verifikasi pembayaran. Metodemetode pembayaran yang mendukung juga
harus dipertimbangkan.
7 Manajemen arus kerja
Proses yang meliputi otomatisasi
pembelian beserta manajemen dokumen

dari pembelian dan pengiriman produk
atau jasa.
8 Pemberitahuan kegiatan
Proses yang merespons berbagai
kegiatan dari pelayanan untuk pelanggan
baru,
proses
pembayaran,
proses
pengiriman, dan newsgroup.
9 Kerjasama dan perdagangan
Proses kesepakatan kerjasama yang
terjadi antara pelanggan, pemasok, dan
stakeholder dalam transaksi e-commerce.
Dari aspek-aspek di atas, tujuh di
antaranya merupakan aspek yang dilakukan
secara online sedangkan dua lainnya
merupakan aspek yang dilakukan secara
offline. Aspek yang dilakukan secara online
adalah pengendalian akses dan keamanan,
pembuatan
profil
dan
personalisasi,
manajemen pencarian, manajemen isi,
manajemen katalog, dan pemberitahuan
kegiatan.
Sistem Rekomendasi
Sistem rekomendasi merupakan model
penyelesaian masalah yang menerapkan
teknik-teknik tertentu pada pembuatan
rekomendasi untuk pemilihan suatu informasi,
produk, dan jasa (Goldberg et al. 2001).
Sistem rekomendasi digunakan untuk
memprediksi apakah pengguna tertentu
menyukai
produk
tertentu.
Sistem
rekomendasi memanfaatkan opini seseorang
terhadap suatu barang dalam kategori tertentu,
untuk membantu seseorang dalam memilih
produk (McGinty & Smyth 2006).
Tujuan utama dari sistem rekomendasi
meliputi analisis data dari pengguna dan
penggalian informasi yang berguna untuk
prediksi yang lebih lanjut (Chen & McLeod
2006). Sistem rekomendasi dirancang untuk
memungkinkan pengguna menemukan produk
lebih cepat dan menghindari informasi yang
berlebihan.
Secara
spesifik,
sistem
rekomendasi memiliki tiga proses utama,
yaitu (i) latar belakang data, yaitu informasi
yang dimiliki sistem sebelum rekomendasi
dimulai; (ii) data masukan, yaitu informasi
yang diberikan oleh pengguna untuk
berinteraksi
dengan
sistem
dalam
menghasilkan
rekomendasi;
dan
(iii)
algoritme rekomendasi, yaitu kombinasi
antara latar belakang data dan data masukan
untuk menghasilkan suatu rekomendasi
(Burke 2002). Terdapat dua pendekatan dalam
mengembangkan sebuah sistem rekomendasi
yaitu content-based dan collaborative filtering
(Balabanovic & Shoham 1997). Pendekatan

3

content-based menyediakan rekomendasi
dengan cara membandingkan representasi
konten yang terkandung dalam sebuah produk
dengan representasi konten yang diinginkan
pengguna dengan membangun user thematic
profile. Di sisi lain, pendekatan collaborative
filtering bekerja dengan cara mempelajari
masukan rate dari pengguna pada kumpulan
produk, mengenali kesamaan berdasarkan
masukan pengguna, dan menghasilkan
rekomendasi baru (Candillier et al. 2007).
Pendekatan lain yang berkembang saat ini
selain content-based dan collaborative
filtering adalah clustering dan hybrid
recommender system. Pendekatan clustering
bekerja dengan mengidentifikasi sekelompok
pengguna yang memiliki preferensi yang
sama. Setelah cluster terbentuk, prediksi bagi
seseorang dapat dibuat dengan menghitung
rata-rata rate dari pengguna lain di cluster
tersebut.
Teknik
Clustering
biasanya
menghasilkan rekomendasi yang kurang
personal dibanding metode lainnya, dan dalam
beberapa kasus, cluster memiliki akurasi yang
lebih buruk dibandingkan algoritme lainnya
(Breese et al. 1998). Sedangkan pendekatan
hybrid recommender system merupakan
gabungan dua atau lebih pendekatan
rekomendasi untuk menghasilkan kinerja yang
lebih baik (Burke 2002). Rekomendasi
berdasarkan pendekatan collaborative filtering
adalah pendekatan yang paling banyak
digunakan untuk membangun sebuah sistem
rekomendasi (Burke 2002).
Collaborative Filtering
Pada Collaborative Filtering, rekomendasi
yang dihasilkan berdasarkan pada korelasi
yang didapat di antara pengguna yang telah
memberikan rate atau bertransaksi dalam
sistem. Pendekatan collaborative filtering
bekerja dengan cara mempelajari kebiasaan
para pencari informasi dan membangun profil
pencari informasi, kemudian memberikan
rekomendasi. Ide awal yang melandasi
munculnya teknik collaborative filtering
adalah perbandingan rasa suka atau tidak suka
seseorang (Goldberg et al. 2001). Tujuan dari
algoritme collaborative filtering adalah
menganjurkan
produk
baru
atau
memprediksikan evaluasi produk kepada
pengguna
berdasarkan pada ketertarikan
sebelumnya dari pengguna dan opini dari
pengguna-pengguna lain yang mempunyai
ketertarikan serupa.

Pengguna aktif

Produk j yang diprediksi

INPUT (table rate)
Prediksi
Rekomendasi
Algoritme CF

Prediksi pada produk
ke-j untuk pengguna
ke-a
Top-N rekomendasi
Interface output

Gambar 1 Proses collaborative filtering.
Pada Gambar 1 dijelaskan bahwa ada dua
hal utama yang dilakukan sistem rekomendasi
collaborative filtering, yaitu (i) Prediksi yaitu
melakukan prediksi dari opini yang telah
diberikan
oleh
pengguna
dan
(ii)
Rekomendasi yaitu memberikan rekomendasi
berupa daftar produk. Hal yang perlu dicatat
adalah produk yang direkomendasikan belum
pernah dibeli, dilihat, atau diberi rate oleh
pengguna tersebut. Teknik collaborative
filtering terbagi menjadi dua yaitu user-based
collaborative filtering dan item-based
collaborative filtering (Sarwar et al. 2001).
Gambar 2 menjelaskan pendekatan userbased collaborative filtering. Pada pendekatan
user-based collaborative filtering sistem
mencari sejumlah pengguna yang memiliki
korelasi tinggi kepada pengguna. Setelah
sejumlah pengguna yang memiliki korelasi
tinggi didapat, sistem merekomendasikan
produk yang dipilih sejumlah pengguna
kepada pengguna.

Gambar 2 User-based collaborative filtering.
Sedangkan
pada
item-based
collaborative filtering (Gambar 3) dijelaskan
bahwa pengguna cenderung memilih produk
(likely buy) yang sejenis atau yang

4

mempunyai korelasi tinggi (similar) dengan
produk yang telah dipilihnya (Karypis 2001).

Gambar 3 Item-Based Collaborative.
Item-Based Collaborative Filtering
Metode item-based collaborative filtering
memanfaatkan rating atau catatan transaksi
dalam membuat rekomendasi. Pada metode
ini korelasi yang dicari adalah produk yang
belum pernah diberi rate oleh pengguna.
Sejumlah produk yang berkorelasi tinggi
dijadikan sebagai top-N rekomendasi.
Pada Gambar 4 dijelaskan bahwa
kemiripan antara dua produk dilakukan hanya
pada pengguna yang telah menilai kedua
produk. Salah satu metode yang paling umum
untuk menentukan kemiripan antara dua
produk
adalah
dengan
menggunakan
persamaan
cosinus. Persamaan cosinus
digunakan
pada
sistem
rekomendasi
Amazon.com (Linden et al. 2003).

√∑

Gambar 4 Pencarian kemiripan antar produk.
Pada jurnal lain Sarwar et al. (2001),
menyebutkan bahwa
adjusted cosine
similarity memiliki tingkat kesalahan terkecil
bila dibandingkan dengan persamaan cosine.
Persamaan
adjusted
cosine
similarity
merupakan pengembangan dari persamaan
cosine. Berikut adalah persamaan adjusted
cosine similarity:

̅

̅

√∑

̅
̅

(1)

dengan:
 sim(i,j) adalah nilai kemiripan antara
produk i dan produk j.
 u U adalah himpunan pengguna u yang
memberikan rate pada produk i dan
produk j.

i adalah rating pengguna u pada produk
i.

adalah rating pengguna u pada produk
j.
 ̅ adalah rata-rata rating pengguna u.
Dalam menghitung nilai kemiripan, nilai
yang dihasilkan oleh persamaan adjustedcosine similarity adalah berkisar antara +1.0
dengan -1.0. Informasi korelasi yang diketahui
berdasarkan nilai kemiripan tersebut adalah
(Marmanis & Babenko 2009):

 Nilai kemiripan 0: kedua produk tidak
berkorelasi (independen).
 Nilai kemiripan mendekati +1.0: kedua
produk berkorelasi tinggi.
 Nilai kemiripan mendekati -1.0: kedua
produk saling bertolak belakang.
Setelah mendapatkan sekumpulan produk
yang sangat mirip, dilakukan proses prediksi
yang memperkirakan nilai rate dari pengguna.
Prediksi yang diperkirakan adalah produk
yang belum pernah diberi rate oleh pengguna
tersebut. Teknik yang digunakan untuk
mendapatkan nilai prediksi adalah dengan
persamaan weighted sum (Karypis 2001).
Berikut adalah persamaan weighted sum:


Kemiripan antar produk hanya dihitung pada
produk yang kedua-duanya diberi rate



(



*
|

|

)

(2)

dengan:
 P(u,j) adalah prediksi untuk pengguna u
pada produk j.
 i I adalah himpunan produk yang mirip
dengan produk j.

adalah rate pengguna u pada produk i.

adalah nilai kemiripan antara produk i
dan produk j.
Mean Absolute Error (MAE)
Mean absolute error (MAE) merupakan
persamaan yang digunakan untuk mengukur
akurasi sistem dengan membandingkan nilai
yang diprediksi dengan nilai yang sebenarnya
(Karypis 2001). Persamaan MAE digunakan
untuk mengevaluasi kualitas dari sistem dan
perhitungan yang paling sering digunakan

5

(Candillier et al. 2007). Berikut adalah
persamaan MAE:
MAE =



|

|

(3)

dengan:
 MAE adalah nilai rata-rata kesalahan
hitung.
 N adalah jumlah produk yang dihitung.
 pi adalah nilai prediksi produk ke-i.
 qi adalah nilai rate sebenarnya produk kei.
Semakin kecil nilai MAE yang dihasilkan,
prediksi yang dihasilkan semakin baik.
OpenCart
Salah satu perangkat lunak yang bersifat
open source adalah content management
system (CMS). CMS memberikan kesempatan
kepada pengembang untuk membuat sebuah
website secara personal dan memulai bisnis
toko online. Salah satu CMS yang populer di
masyarakat adalah OpenCart (Masalov 2007).
OpenCart
telah
memiliki
struktur
pengkodean yang baik untuk menciptakan
toko online yang semua fungsinya dapat
berjalan dengan baik dan tampilan layar yang
cukup menarik. OpenCart merupakan sebuah
sistem yang
mudah disesuaikan secara
personal dan berisi banyak fitur yang
dibutuhkan untuk menjalankan sebuah ecommerce. Struktur OpenCart yang bersifat
modular memungkinkan seseorang untuk
membuat modul baru dan dapat dengan
mudah diintegrasikan ke dalam sistem.
Penampilan website juga mudah disesuaikan
dan dapat diubah dengan mengganti beberapa
stylesheets.

berdasarkan Indonesia traffic rank tertinggi
melalui situs alexa.com. Tahapan pada
analisis fungsi terdiri atas pemberian rate oleh
pengguna,
perhitungan
rata-rata
rate
pengguna, perhitungan nilai kemiripan produk
menggunakan adjusted cosine similarity,
perhitungan prediksi produk menggunakan
weighted sum, dan pencocokan kategori
produk prediksi dengan kategori produk yang
diberi rate oleh pengguna. Tahapan pada
analisis fungsi dapat dilihat pada Gambar 6.
Analisis
Kebutuhan
Perancangan
Sistem
Implementasi item-based
collaborative filtering
Pengujian item-based
collaborative filtering
Gambar 5 Metode penelitian waterfall (Green
dan DiCaterino 1998).
Rate pengguna

Rata-rata rate pengguna

Nilai kemiripan produk
(adjusted cosine similarity)

Prediksi rate produk (weighted sum)

METODE PENELITIAN
Pencocokan Kategori produk
Metode yang dilakukan pada penelitian ini
terdiri dari beberapa tahap, yaitu analisis
kebutuhan, perancangan sistem, implementasi
item-based collaborative filtering, dan
pengujian item-based collaborative filtering.
Metode penelitian ditunjukkan pada Gambar
5.
Analisis Kebutuhan
Analisis meliputi analisis kebutuhan data
dan analisis kebutuhan fungsi. Analisis
kebutuhan data meliputi data pengguna, data
buku, dan analisis CMS yang cukup populer
di masyarakat Indonesia. CMS dicari

Gambar 6 Tahapan analisis fungsi.
Perancangan Sistem
Perancangan
sistem
terdiri
dari
perancangan database dan perancangan
antarmuka.
Implementasi
Filtering

Item-Based

Collaborative

Pada tahap implementasi, adjusted cosine
similarity dan weighted sum diterjemahkan ke
dalam sistem dan ditambahkan pada modul
untuk menghasilkan sebuah rekomendasi.

6

Pengujian Item-Based Collaborative
Filtering

penulis, maupun penerbit dari buku yang
bersangkutan.

Pengujian terhadap sistem dilakukan
dengan menggunakan mean absolute error
(MAE) untuk mengetahui nilai keakuratan
dari rekomendasi yang dihasilkan. Pengujian
juga dilakukan dengan menghitung waktu
eksekusi yang dibutuhkan sistem untuk
menghasilkan sebuah rekomendasi. Pengujian
dilakukan pada lingkungan pengembangan
perangkat keras Processor Intel Core 2 Duo
1.6 GHz, RAM 2GB, dan Hard drive 120 GB.

Tabel 1 Rekomendasi pada e-commerce buku
di Indonesia beserta traffic rank

HASIL DAN PEMBAHASAN
Analisis Kebutuhan
A Kebutuhan data
Menurut hasil penelitian yang dilakukan
Dsresearch (2011) dengan jumlah responden
224, kategori produk yang paling sering dibeli
oleh masyarakat secara online adalah pakaian
(Gambar 7). Pada Gambar 7 dapat juga dilihat
bahwa produk buku menempati urutan nomor
dua terbawah. Sistem rekomendasi yang
dibuat diharapkan dapat menaikkan penjualan
buku secara online. Menaiknya penjualan
buku berarti minat baca masyarakat semakin
tinggi
sehingga
masyarakat
memiliki
pengetahuan yang lebih luas dari membaca
buku.

Gambar 7 Kategori produk yang dijual secara
online di Indonesia (Dsresearch
2011).
Website e-commerce buku yang ada di
Indonesia dianalisis terlebih dahulu ada atau
tidaknya rekomendasi yang dihasilkan. Dari
20 website e-commerce yang dianalisis, 9
website e-commerce buku telah memberikan
rekomendasi kepada pengguna (Tabel 1).
Rekomendasi yang diberikan oleh website ecommerce yang telah ada berdasarkan query
untuk mencari kecocokan antara kategori,

e-commerce
buku
Kutukutubuku
.com
Bukukita.com

Bukabuku
.com
Gramedia
.com
Belbuk.com

Rekomendasi
Ada
(Kategori)
Ada (Penulis,
penerbit, dan
kategori)
Ada
(Kategori)
Ada
(Kategori)
Ada
(Kategori)
Tidak ada

Indonesia
traffic rank
5596
731

1333
778
1624

Bookoopedia
5.545
.com
Palasarionline Tidak ada
7.187
.com
Bukubagus
Ada
25006
.com
(Kategori)
Bukupengusa
Tidak ada
66718
ha.com
Inibuku.com
Tidak ada
17661
Bearbookstore Tidak ada
.com
CordovaAda (Penerbit
35235
bookstore
dan kategori)
.com
Andipublisher Ada
4723
.com
(Kategori)
Serambi.co.id Tidak ada
64223
Cibuku.com
Tidak ada
Bukudedo
Tidak ada
.com
Surgabuku
Ada
.com
(Kategori)
Lilinkecil
Tidak ada
.com
Biobses.com
Tidak ada
21869
BukuTidak ada
islam.com
*website e-commerce buku yang memiliki
rekomendasi.
Penelitian ini menggunakan data buku
yang diambil dari website bukukita.com. Data
buku diambil dari website bukukita.com
karena memiliki traffic rank yang lebih tinggi
dibanding situs e-commerce buku lainnya
(Tabel 1). Data yang diambil memiliki atribut
ISBN, judul buku, penulis, penerbit, harga,
jumlah halaman, kategori, tahun terbit,
sinopsis, rate buku, dan cover buku. Jumlah

7

data buku yang ada sebanyak 300 buku. Data
buku diambil pada tanggal 20 juli 2012.
Data buku yang ada dibagi menjadi
beberapa kategori. Kategori buku mengikuti
sebagian kategori yang terdapat pada website
bukukita.com. Kategori buku terdiri atas:
 Agama dengan sub-kategori Islam,
Kristen, dan Buddha.
 Agriculture dengan sub-kategori hewan
peliharaan,
perikanan,
perkebunan,
pertanian, peternakan, dan tanaman hias.
 Anak-anak dengan sub-kategori cerita
anak, keterampilan anak, dan parenting.
 Arsitektur dan interior.
 Biografi.
 Bisnis
dengan
sub-kategori
enterpreneurship,
investasi,
dan
marketing.
 Buku sekolah dengan sub-kategori SD,
SMP, SMA.
 Fiksi dengan sub-kategori komedi, komik,
novel, dan sastra.
 Hobi dengan sub-kategori fotografi,
handycraft, kecantikan, menulis, musik,
olahraga, dan travel.
 Kamus.
 Kesehatan dengan sub-kategori diet,
penyakit, dan tanaman obat.
 Komputer dengan sub-kategori database,
jaringan,
mobile,
multimedia,
pemrograman dan web.
 Non-fiksi dengan sub-kategori hukum dan
sejarah dan budaya.
 Psikologi dan pengembangan diri dengan
sub-kategori motivasi, pengembangan diri,
dan psikologi.
Jumlah responden yang memberi rate
pada buku adalah 30 orang dengan masingmasing orang memberi rate minimal 5 buku.
Nilai rate terdiri atas angka 1 sampai 5 yang
berjenis bilangan bulat dengan angka 1 berarti
sangat tidak bagus dan angka 5 berarti sangat
bagus. Nilai rate yang terdiri atas angka 1
sampai 5 sudah terdapat pada OpenCart dan
tidak dilakukan perubahan. Responden yang
memberi rate adalah mahasiswa IPB yang
mencoba menggunakan sistem rekomendasi
yang dibuat. Data responden diambil pada
tanggal 26 sampai 27 juli 2012.
Analisis mengenai pemilihan CMS yang
dipakai menggunakan situs alexa. Pemilihan
Alexa sebagai tool analisis data website
dikarenakan situs ini menyediakan layanan
perangkingan secara otomatis untuk seluruh
situs di dunia (Saidah 2012). Berdasarkan

situs alexa yang diakses dengan query
opensource shopping cart, lima global traffic
rank tertinggi adalah magentocommerce,
sitepoint, prestashop, rackspace hosting, dan
OpenCart (Tabel 2). Dari lima peringkat
berdasarkan global traffic rank tersebut, dicari
peringkat berdasarkan Indonesia traffic rank.
Situs yang memiliki Indonesia traffic rank
tertinggi adalah OpenCart. OpenCart dipilih
pada penelitian ini karena memiliki global
traffic rank dan Indonesia traffic rank
tertinggi di antara opensource shopping cart
lainnya.
Tabel 2 Lima peringkat CMS dengan Global
traffic rank dan indonesia traffic rank
tertinggi.
CMS

Global
traffic rank
861
1219
1240
1676

Indonesia traffic
rank
2572
1794
1728
3038

Magento
Sitepoint
Prestashop
Rackspace
hosting
Opencart
1939
646
*CMS yang memiliki global traffic rank dan
Indonesia traffic rank tertinggi.

Berdasarkan
aspek
kesuksesan
ecommerce menurut O‘Brien (2006), OpenCart
telah memiliki tujuh aspek. Aspek yang telah
dimiliki OpenCart adalah:
 Pengendalian akses dan keamanan, pada
OpenCart
terdapat
verifikasi
bagi
pengguna yang login.
 Manajemen pencarian, OpenCart memiliki
fungsi pencarian yang memudahkan
pengguna dalam mencari suatu produk.
 Manajemen isi, OpenCart mudah untuk
memperbaharui
maupun
menambah
produk.
 Manajemen katalog, OpenCart mudah
untuk membagi produk menjadi kategorikategori tertentu.
 Pembayaran, pada OpenCart terdapat alur
proses
belanja
sampai
verifikasi
pembayaran.
 Pemberitahuan kegiatan, pada OpenCart
terdapat notifikasi apabila pengguna
melakukan suatu proses pada sistem.
 Pembuatan profil dan personalisasi,
OpenCart menyimpan profil pengguna dan
history pembelian bagi pengguna yang
telah login ke dalam sistem.
Pada
aspek
pembuatan
profil
dan
personalisasi, OpenCart hanya memiliki aspek
pembuatan profil. Salah satu cara untuk

8

menciptakan personalisasi adalah dengan
adanya sistem rekomendasi.
B Kebutuhan fungsi
Gambar
8
menunjukkan
simulasi
rekomendasi yang terjadi pada sistem. Sistem
memanfaatkan masukan rate dari pengguna
untuk menghasilkan rekomendasi. pada
gambar 8 pengguna A memberikan rate pada
buku 1, pengguna B memberikan rate pada
buku 1 dan 2, pengguna C memberikan rate
pada buku 2 dan 3, dan pengguna D
memberikan rate pada buku 1 dan 3.
Berdasarkan masukan rate tersebut, dicari
pasangan buku yang memiliki korelasi tinggi
atau similar menggunakan adjusted cosine
similarity. Pada gambar 8, buku yang
memiliki korelasi tinggi adalah buku 2 dan
buku 3. Pasangan buku yang memiliki
korelasi tinggi dicari nilai prediksi rate
menggunakan weighted sum. Kategori
prediksi buku lalu dicocokkan dengan
kategori buku yang telah diberi rate. Buku 1,
2, dan 3 memiliki kategori yang sama pada
gambar 8. Pengguna yang memiliki
rekomendasi adalah pengguna B dengan
rekomendasi buku 3 dan pengguna D dengan
rekomendasi buku 2.

Gambar 8 simulasi rekomendasi.
Pada DFD konteks (Gambar 9) dapat
dilihat bahwa pengguna memberi rate pada
suatu buku. Rate tersebut lalu diolah oleh
sistem untuk mencari buku yang memiliki
kemiripan dengan buku yang telah diberi rate
sebelumnya. Apabila terdapat buku yang
memiliki kemiripan, sistem memberikan
rekomendasi buku pada pengguna.

Gambar 9 DFD konteks sistem rekomendasi.

Pada DFD level 1 (Gambar 10)
menjelaskan alur rekomendasi. Pengguna
yang memberikan rate pada produk disimpan
dalam database. Atribut yang disimpan pada
database adalah rate, customer_id, dan
product_id. Kemudian sistem menghitung
rata-rata rate pengguna dan disimpan dalam
database dengan atribut average_rating dan
customer_id. Setelah rata-rata rate dihitung,
sistem menghitung kemiripan antar produk
dan menyimpannya dalam database dengan
atribut
similarity,
product_id,
dan
customer_id. Sistem lalu menghitung nilai
prediksi rate produk dan menyimpannya
dalam database dengan atribut prediction
rate, product_id, dan customer_id. Sistem lalu
mencocokkan kategori produk yang telah
diberi rate oleh pengguna dengan kategori
produk prediksi. Kategori yang memiliki
kesamaan
direkomendasikan
kepada
pengguna.
Berdasarkan Gambar 10 maka dibuat
simulasi dari proses rekomendasi. Proses
pertama dan kedua dalam menghasilkan
rekomendasi adalah mengumpulkan data
pengguna yang telah memberi rate pada buku
dan menghitung rata-rata rate dari pengguna.
Pemberian rate dilakukan oleh pengguna yang
telah login. Simulasi data pengguna yang telah
memberi rate dapat dilihat pada Tabel 3,
dimana U melambangkan pengguna, I
melambangkan buku dan ̅ melambangkan
nilai rata-rata rate pengguna.

Proses ketiga adalah menghitung nilai
kemiripan antar buku menggunakan adjusted
cosine similarity. Simulasi nilai kemiripan
antar buku dapat dilihat pada Tabel 4, dengan
I melambangkan buku. Berdasarkan Tabel 3,
terdapat empat pasang buku yang memiliki
nilai kemiripan lebih besar dari 0.5 yaitu I 1
dengan I5, I3 dengan I5, I3 dengan I6, dan I5
dengan I6.
Tabel 3 Rate buku dari pengguna.
Pengguna
U1
U2
U3
U4
U5
U6
U7
U8
U9
U10
U11
U12

I1
3
5
1
4
3
-

I2
5
2
4
5
4
-

I3
3
2
3
5
5
-

I4
2
4
3
2
2
4

I5
5
5
3
5
5
4
3

I6
5
5
1
4
5
-

I7
2
2
4
4
4
3
3
5

̅
3.25
4.25
1.67
4.67
3.00
3.00
4.00
4.25
4.67
4.00
3.00
4.00

9

Gambar 10 DFD level 1sistem rekomendasi.
Tabel 4 Nilai kemiripan antar buku.
buku1
Buku2
Nilai
kemiripan
I1
I2
-0.62
I1
I3
-0.31
I1
I4
-0.60
I1
I5
0.60
I1
I6
0.35
I1
I7
0.08
I2
I3
0.07
I2
I4
-0.60
I2
I5
0.00
I2
I6
-0.54
I2
I7
-0.31
I3
I4
-1.00
I3
I5
1.00
I3
I6
1.00
I3
I7
0.26
I4
I5
-0.69
I4
I6
-0.99
I4
I7
0.00
I5
I6
1.00
I5
I7
-0.80
I6
I7
-1.00
*Pasangan buku yang memiliki nilai similarity
lebih besar dari 0.5.
Proses keempat adalah menghitung nilai
prediksi rate buku menggunakan weighted
sum. Pasangan buku yang dijadikan
rekomendasi adalah pasangan buku yang nilai
kemiripannya lebih besar dari 0.5. Pengguna
yang diberikan prediksi rate buku hanya
pengguna yang baru memberikan rate pada
salah satu buku. Simulasi prediksi dapat

dilihat pada Tabel 5, dengan U melambangkan
pengguna dan I melambangkan buku. Prediksi
yang telah dihasilkan tidak langsung diberikan
kepada pengguna. Proses kelima yaitu
prediksi buku terlebih dahulu dicocokkan
dengan kategori buku yang telah diberi rate
oleh pengguna. Apabila kategori buku dari
prediksi yang dihasilkan sama dengan
kategori buku yang telah diberi rate oleh
pengguna,
buku
prediksi
tersebut
direkomendasikan.
Tabel 5 Prediksi rate buku.
Pengguna Prediksi rate buku
U1
(I5, 3)( I6, 3)
U2
(I3, 5)
U3
(I5, 2)(I6, 2)
U4
(I1, 5)(I3, 5)
U5
(I6, 3)
U6
(I3, 1)(I5, 2)
U7
(I3, 4)(I5, 4)
U8
(I5, 5)
U9
(I1, 5)(I6, 5)
U10
(I1, 5)(I3, 5)(I6, 5)
U11
(I1, 4)(I3, 4)(I6, 4)
U12
(I1, 3)(I3, 3)(I6, 3)

Perancangan Sistem
A Perancangan database
CMS OpenCart yang digunakan telah
memiliki database agar sistem dapat berjalan
dengan baik. Walaupun OpenCart telah
memiliki database yang cukup lengkap, untuk

10

menambahkan modul rekomendasi diperlukan
beberapa tambahan tabel. Pada pembahasan
pemodelan proses rekomendasi diperlukan
empat tabel untuk menyimpan data yang
dibutuhkan dalam menghasilkan rekomendasi.
Tabel yang dibutuhkan adalah tabel untuk
menyimpan nilai rate dari pengguna, tabel
untuk menyimpan nilai rata-rata rate dari
pengguna, tabel untuk menyimpan nilai
kemiripan antar buku, dan tabel untuk
menyimpan prediksi buku.
review

review_average

-review_id : int
+product_id : int
+customer_id : int
+pengguna : int
+rate : int

+customer_id : int
+average_rating : decimal

pengguna terdiri atas website logo di bagian
kiri atas, akun manajer, fungsi search dan
fungsi shopping cart di bagian kiri atas, menu
di bagian tengah, kategori produk di bagian
kanan bawah, dan konten buku di bagian kiri
bawah (Gambar 12). Modul sistem
rekomendasi diletakkan pada bagian konten
pada halaman home pengguna.

similarity
-sim_id : int
+id_product1 : int
+id_product2 : int
+similarity : decimal

prediction
-prediction_id : int
+customer_id : int
+product_id : int
+prediction_rate : int

Gambar 11 Entity relationship diagram
sistem rekomendasi.
Tabel yang digunakan untuk menyimpan
nilai rate dari pengguna telah ada pada
OpenCart yaitu tabel review. Tabel ini
memiliki kolom yang dibutuhkan yaitu kolom
review_id bersifat auto increment sebagai
primary key, customer_id, product_id,
pengguna, dan rate. Tabel lainnya tidak
terdapat
pada
OpenCart
sehingga
ditambahkan ke dalam database. Tabel
review_average
ditambahkan
untuk
menyimpan nilai rata-rata rate dari pengguna
yang terdiri dari kolom customer_id dan
average_rating. Tabel similarity ditambahkan
untuk menyimpan nilai kemiripan antar buku
yang terdiri dari kolom sim_id bersifat auto
increment sebagai primary key, product1,
product2, dan sim untuk menyimpan nilai
kemiripan antar buku. Tabel prediction
ditambahkan untuk menyimpan nilai prediksi
buku yang terdiri atas kolom prediction_id
bersifat auto increment sebagai primary key,
customer_id, product_id, dan prediction untuk
menyimpan nilai rate hasil prediksi. Entity
relationship diagram antar tabel dapat dilihat
pada Gambar 11.
B Perancangan antarmuka
Perancangan antarmuka yang digunakan
mengikuti antarmuka yang telah ada pada
OpenCart. Perancangan antarmuka untuk

Gambar 12 Perancangan antarmuka
pengguna.
Perancangan antarmuka untuk admin
terdiri dari header di bagian atas, menu di
bagian tengah, dan konten di bagian bawah
(Gambar 13). Modul sistem rekomendasi
diakses oleh admin melalui menu extensions
lalu menu modules. Modul yang digunakan
pada sistem ini adalah modul account untuk
menampilkan fungsi akun manajer, modul
carousel untuk menampilkan penerbit yang
ada pada sistem, modul category untuk
mengatur letak kategori produk, modul latest
untuk menampilkan buku terbaru, dan modul
yang ditambahkan yaitu modul recommended
untuk menampilkan rekomendasi buku.

Gambar 13 Perancangan antarmuka admin.
Implementasi Item-Based Collaborative
Filtering
Implementasi tampilan pada OpenCart
tidak banyak diubah. Pada halaman home
diberi penambahan modul baru yaitu
recommended product. Pada pengguna yang
belum login dan pengguna yang telah login
tetapi tidak terdapat rekomendasi, modul
recommended product menampilkan data
buku berdasarkan best seller buku. Data best

11

seller didapat dari perhitungan pemesanan
buku terbanyak yang dilakukan pada sistem.
Halaman home bagi pengguna yang belum
login dan pengguna yang telah login tetapi
tidak memiliki rekomendasi dapat dilihat pada
Gambar 14. Pada pengguna yang telah login

dan memiliki rekomendasi buku, modul
recommended product menampilkan data
buku hasil rekomendasi. Halaman home bagi
pengguna yang telah login dan memiliki
rekomendasi buku dapat dilihat pada Gambar
15.

Modul recommended

Gambar 14 Halaman home pengguna yang belum login dan pengguna yang telah login yang tidak
terdapat rekomendasi.

Modul recommended

Gambar 15 Halaman home pengguna yang telah login dan terdapat rekomendasi.

Gambar 16 Halaman modul recommended product pada admin.

12

Pada sisi admin juga ditambahkan modul
recommended product. Admin hanya dapat
mengatur penempatan modul recommended
product di halaman pengguna. Admin tidak
dapat mengubah algoritme pada modul
recommended product. Tampilan modul
recommended product dapat dilihat pada
Gambar 16. Implementasi algoritme pada
penelitian ini dilakukan pada bagian model
sistem menggunakan bahasa structured query
language (SQL). Model sistem dipilih untuk
memudahkan menggabungkan beberapa tabel
yang
ada
yang
diperlukan
dalam
menghasilkan rekomendasi.
A Adjusted cosine similarity
Adjusted cosine similarity digunakan
untuk menghitung nilai kemiripan antar buku.
Data yang diperlukan dalam perhitungan
adjusted cosine similarity adalah data rate
pengguna dan data rata-rata rate pengguna.
Data rate untuk menghitung kemiripan
diambil dari tabel review pada database. Data
pada tabel review dapat dilihat pada
Lampiran 1, sedangkan data rata-rata rate
dari
pengguna
diambil
dari
tabel
review_average pada database. Data pada
tabel
review_average
dicari
dengan
menghitung rata-rata rate dari pengguna.
Data pada tabel review_average dapat dilihat
pada Lampiran 2. Rata-rata rate dihitung
dengan menggunakan query sebagai berikut:
SELECT
customer_id, AVG (rating)
average_rating
FROM review
GROUP BY (customer_id).

AS

Implementasi adjusted cosine similarity
pada query adalah sebagai berikut:
SELECT
(SUM((item1.ratingitem1.average_rating)*(item2.ra
tingitem2.average_rating))/(SQRT(SU
M(POW((item1.ratingitem1.average_rating
),2)))*SQRT(SUM(POW((item2.rati
ng-item2.average_rating),2)))))
AS similarity
FROM
(SELECT
r.customer_id,
r.product_id,
r.rating,
ra.average_rating FROM review
r,
review_average
ra
WHERE
r.customer_id=ra.customer_id
AND r.product_id = $prod ) AS
item1,
(SELECT
r.customer_id,
r.product_id,
r.rating,

ra.average_rating FROM review
r,
review_average
ra
WHERE
r.customer_id=ra.customer_id
AND r.product_id = $product )
AS item2
WHERE
item1.customer_id=
item2.customer_id).

Pada query adjusted cosine similarity, $prod
dan $product merupakan parameter masukan
dari id buku yang telah diberi rate. Nilai
kemiripan ini disimpan dalam tabel similarity
pada database. Nilai kemiripan yang
disimpan dalam database hanya yang
memiliki nilai kemiripan lebih besar dari 0.5.
Berdasarkan query adjusted cosine
similarity terdapat 93 pasangan buku yang
berkorelasi tinggi. Pasangan buku yang
berkorelasi tinggi disimpan dalam tabel
similarity pada database. Data tabel
similarity dapat dilihat pada Lampiran 3.
Data pada tabel similarity semuanya memiliki
nilai kemiripan 1.0. Nilai kemiripan yang
seragam disebabkan oleh pengguna memberi
rate pada buku yang berbeda dengan nilai
rate yang sama. Nilai kemiripan yang
seragam juga disebabkan oleh sebuah buku
hanya diberi rate oleh satu atau dua
pengguna.
B Weighted sum
Weighted
sum
digunakan
untuk
menghitung nilai prediksi rate buku. Data
yang diperlukan dalam perhitungan weighted
sum adalah data rate pengguna dan data
kemiripan antar buku yang berkorelasi tinggi.
Data rate pengguna diambil dari tabel review
dan data kemiripan antar buku diambil dari
tabel similarity. Implementasi weighted sum
pada query adalah sebagai berikut:
SELECT
(SUM(r.rating*s.sim)/SUM(ABS(s.
sim))) AS prediction
FROM
(SELECT product1, product2, sim
FROM similarity) s,
(SELECT
customer_id,
product_id, rating FROM review
WHERE customer_id = $customer )
r
WHERE
(s.product1 = $product1 . "'
AND s.product2 = r.product_id)
XOR (s.product1 = r.product_id
AND s.product2 = $product2)).

Pada query wighted sum, $customer
merupakan
parameter
masukan
dari
customer_id.
$product1, dan $product2

13

merupakan masukan dari pasangan buku
yang terdapat pada tabel similarity.
Berdasarkan query weighted sum terdapat
297 nilai prediksi rate buku. Data tabel
prediksi dapat dilihat pada Lampiran 4.
Prediksi yang diberikan kepada pengguna
adalah prediksi buku yang belum pernah
diberi rate oleh pengguna dan kategorinya
sama dengan kategori buku yang pernah
diberi rate oleh pengguna yang bersangkutan.
Pengguna yang memiliki rekomendasi
hanya 17 pengguna. Hasil rekomendasi dari
tiap pengguna dapat dilihat pada Lampiran 5.
Pengguna yang memiliki rekomendasi buku
adalah pengguna dengan customer_id 6, 7, 8,
10, 11, 15, 17, 18, 20, 23, 24, 25, 28, 30, 31,
32 dan 33. Beberapa pengguna tidak
mendapatkan rekomendasi disebabkan oleh
pengguna hanya memberi rate pada kategori
tertentu saja atau rate yang diberikan seorang
pengguna bertolak belakang dengan rate
yang diberikan oleh pengguna lainnya.
Pengujian Item-Based Collaborative
Filtering
A Pengujian keakuratan rekomendasi
Pengujian dilakukan dengan menghitung
Mean Absolute Error (MAE) dan waktu
eksek