DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
KIRANA NURYUNITA
PEMBUATAN MODUL REKOMENDASI PADA OPENCART
MENGGUNAKAN METODE ITEM-BASED
ABSTRACT
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
KIRANA NURYUNITA
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
PEMBUATAN MODUL REKOMENDASI PADA OPENCART
MENGGUNAKAN METODE 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
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
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
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 (1995-2001). 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.
v 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
vi
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. ... 32 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 ... 172 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
PENDAHULUAN
Latar BelakangInformasi 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).
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).
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
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 e-commerce buku di Indonesia bukan merupakan personalisasi dari pengguna.
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.
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. Tujuan Penelitian
Penelitian ini bertujuan menambahkan modul sistem rekomendasi berbasis
item-based 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
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. Metode-metode 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
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.
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
user-based 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 Pengguna aktif Produk j yang diprediksi
INPUT (table rate)
Prediksi Rekomendasi
Prediksi pada produk ke-j untuk pengguna ke-a
Top-N rekomendasi
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
adjusted-cosine 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: ∑ ( ∑ | * )
|
(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 Kemiripan antar produk hanya dihitung pada
(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
ke-i.
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
e-commerce. 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.
METODE PENELITIAN
Metode yang dilakukan pada penelitian ini terdiri dari beberapa tahap, yaitu analisis kebutuhan, perancangan sistem, implementasiitem-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
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.
Gambar 5 Metode penelitian waterfall (Green dan DiCaterino 1998).
Gambar 6 Tahapan analisis fungsi. Perancangan Sistem
Perancangan sistem terdiri dari perancangan database dan perancangan antarmuka.
Implementasi Item-Based Collaborative Filtering
Pada tahap implementasi, adjusted cosine
similarity dan weighted sum diterjemahkan ke
dalam sistem dan ditambahkan pada modul untuk menghasilkan sebuah rekomendasi.
Rate pengguna
Rata-rata rate pengguna
Nilai kemiripan produk (adjusted cosine similarity)
Prediksi rate produk (weighted sum)
Pencocokan Kategori produk Analisis Kebutuhan Perancangan Sistem Implementasi item-based collaborative filtering Pengujian item-based collaborative filtering
Pengujian Item-Based Collaborative
Filtering
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.
HASIL DAN PEMBAHASAN
Analisis KebutuhanA 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
e-commerce yang telah ada berdasarkan query
untuk mencari kecocokan antara kategori,
penulis, maupun penerbit dari buku yang bersangkutan.
Tabel 1 Rekomendasi pada e-commerce buku di Indonesia beserta traffic rank
e-commerce buku Rekomendasi Indonesia traffic rank Kutukutubuku .com Ada (Kategori) 5596
Bukukita.com Ada (Penulis, penerbit, dan kategori) 731 Bukabuku .com Ada (Kategori) 1333 Gramedia .com Ada (Kategori) 778 Belbuk.com Ada (Kategori) 1624 Bookoopedia .com Tidak ada 5.545 Palasarionline .com Tidak ada 7.187 Bukubagus .com Ada (Kategori) 25006 Bukupengusa ha.com Tidak ada 66718
Inibuku.com Tidak ada 17661 Bearbookstore .com Tidak ada - Cordova-bookstore .com Ada (Penerbit dan kategori) 35235 Andipublisher .com Ada (Kategori) 4723
Serambi.co.id Tidak ada 64223
Cibuku.com Tidak ada -
Bukudedo .com Tidak ada - Surgabuku .com Ada (Kategori) - Lilinkecil .com Tidak ada -
Biobses.com Tidak ada 21869
Buku-islam.com
Tidak ada -
*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
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 masing-masing 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 Indonesia traffic rank Magento 861 2572 Sitepoint 1219 1794 Prestashop 1240 1728 Rackspace hosting 1676 3038 Opencart 1939 646
*CMS yang memiliki global traffic rank dan Indonesia traffic rank tertinggi.
Berdasarkan aspek kesuksesan e-commerce 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 kategori-kategori 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
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 I1
dengan I5, I3 dengan I5, I3 dengan I6, dan I5
dengan I6.
Tabel 3 Rate buku dari pengguna.
Pengguna I1 I2 I3 I4 I5 I6 I7 ̅ U1 3 5 3 - - - 2 3.25 U2 5 - - 2 5 5 - 4.25 U3 1 - 2 - - - 2 1.67 U4 - - - 4 5 5 - 4.67 U5 4 2 3 3 3 - - 3.00 U6 3 4 - - - 1 4 3.00 U7 - - - 4 4 4.00 U8 - 5 5 2 - 5 - 4.25 U9 - - 5 - 5 - 4 4.67 U10 - 4 - - 5 - 3 4.00 U11 - - - 2 4 - 3 3.00 U12 - - - 4 3 - 5 4.00
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
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_id : int +product_id : int +customer_id : int +pengguna : int +rate : int review +customer_id : int +average_rating : decimal review_average -sim_id : int +id_product1 : int +id_product2 : int +similarity : decimal similarity -prediction_id : int +customer_id : int +product_id : int +prediction_rate : int prediction
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
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.
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
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.
Gambar 14 Halaman home pengguna yang belum login dan pengguna yang telah login yang tidak terdapat rekomendasi.
Gambar 15 Halaman home pengguna yang telah login dan terdapat rekomendasi.
Gambar 16 Halaman modul recommended product pada admin. Modul recommended
product
Modul recommended
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) AS average_rating
FROM review
GROUP BY (customer_id).
Implementasi adjusted cosine similarity pada query adalah sebagai berikut:
SELECT (SUM((item1.rating-item1.average_rating)*(item2.ra ting-item2.average_rating))/(SQRT(SU M(POW((item1.rating-item1.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
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
eksekusi yang dibutuhkan untuk menjalankan
query adjusted cosine similarity dan query weighted sum. Pengujian yang pertama
dilakukan adalah melakukan perhitungan MAE dengan membandingkan nilai rate prediksi dan nilai rate yang diberi oleh pengguna. Implementasinya pada query adalah sebagai berikut:
SELECT
SUM(ABS(p.prediction-r.rating))/COUNT(*) FROM prediction p, review r WHERE p.customer_id = r.customer_id
AND p.product_id =
r.product_id).
Berdasarkan perhitungan MAE, tingkat kesalahan hitung yang dihasilkan relatif kecil yaitu 0.145. Semakin kecil nilai MAE, semakin akurat rekomendasi yang dihasilkan. Keakuratan pemodelan metode
item-based collaborative filtering pada sistem ini
diukur dengan membandingkan perhitungan yang dilakukan secara manual dengan
perhitungan yang dilakukan pada sistem. Data yang digunakan adalah data pada Tabel 3 sampai Tabel 5. Nilai kemiripan dan prediksi yang dihasilkan pada perhitungan
manual dan perhitungan sistem menunjukkan
hasil yang relatif sama. Perbedaan hasil terdapat pada enam perhitungan yaitu I1 dengan I3, I1 dengan I7, I3 dengan I7, I4 dengan I5, I4 dengan I6, dan I5 dengan I7. Selisih rata-rata dari perbandingan perhitungan manual dan perhitungan sistem adalah 0.0005. Selisih antara perhitungan manual dan perhitungan sistem tidak terlalu jauh Perbandingan nilai kemiripan antara perhitungan manual dan perhitungan sistem dapat dilihat pada Tabel 6.
B Pengujian waktu eksekusi
Pengujian yang dilakukan selanjutnya adalah menghitung waktu eksekusi untuk menjalankan query persamaan (1) dan persamaan (2). Penghitungan waktu eksekusi menggunakan aplikasi tambahan yang terdapat pada web browser yaitu page load
time. Berdasarkan perhitungan page load time, waktu eksekusi rata-rata yang dibutuhkan adalah 60.7 detik. Tingginya waktu eksekusi ini disebabkan oleh proses pembuatan tabel yang cukup lama. Waktu eksekusi yang lama ini tidak mengganggu pengguna karena algoritme diletakkan pada bagian admin sistem.
Pada bagian pengguna, waktu eksekusi rata-rata dari 30 pengguna adalah 1.57 detik. Waktu eksekusi pada bagian pengguna digunakan untuk membandingkan kategori dari buku yang telah diberi rate dan kategori dari prediksi buku. Waktu rata-rata eksekusi dari tiap pengguna dapat dilihat pada Gambar 17. Menurut Miller (1968) respon pengguna terhadap waktu eksekusi halaman dibagi menjadi tiga yaitu: (i) 0.1 detik yaitu pengguna merasa sistem bekerja sangat cepat, (ii) 1 detik yaitu batas pengguna tidak merasakan adanya gangguan, dan (iii) 10 detik yaitu batas memungkinkan pengguna untuk tetap fokus dan tidak meninggalkan halaman website. Waktu eksekusi untuk menghasilkan rekomendasi pada penelitian ini berada pada bagian ketiga yang masih memungkinkan pengguna untuk tetap fokus dan tidak meninggalkan halaman website.
Tabel 6 Perbandingan nilai kemiripan perhitungan sistem dan perhitungan manual. Buku1 Buku2 Nilai kemiripan (sistem) Nilai kemiripan (manual) Selisih=
|sistem-manual| I1 I2 -0.6198 -0.6198 0.0000 I1 I3 -0.3116 -0.3123 0.0007 I1 I4 -0.6000 -0.6000 0.0000 I1 I5 0.6000 0.6000 0.0000 I1 I6 0.3511 0.3511 0.0000 I1 I7 0.0782 0.0775 0.0007 I2 I3 0.0735 0.0735 0.0000 I2 I4 -0.6000 -0.6000 0.0000 I2 I5 0.0000 0.0000 0.0000 I2 I6 -0.5384 -0.5384 0.0000 I2 I7 -0.3122 -0.3122 0.0000 I3 I4 -1.0000 -1.0000 0.0000 I3 I5 1.0000 1.0000 0.0000 I3 I6 1.0000 1.0000 0.0000 I3 I7 0.2598 0.2593 0.0005 I4 I5 -0.6974 -0.6976 0.0002 I4 I6 -0.9956 -0.9952 0.0004 I4 I7 0.0000 0.0000 0.0000 I5 I6 1.0000 1.0000 0.0000 I5 I7 -0.8049 -0.8058 0.0009 I6 I7 -1.0000 -1.0000 0.0000 Rata-rata selisih 0.0005
Gambar 17 Waktu rata-rata eksekusi dari 30 pengguna.
Pengujian waktu eksekusi juga dilakukan apabila semua nilai kemiripan antar buku disimpan dalam tabel similarity pada
database. Waktu eksekusi rata-rata yang
dibutuhkan adalah 71.5 detik dengan total 209 pasang buku yang dicari nilai kemiripannya. Rentang nilai kemiripan dari 209 pasang buku yaitu dari nilai -1 sampai nilai +1. Data nilai kemiripan ini dapat dilihat pada Lampiran 6. Waktu eksekusi rata-rata lebih lama 10 detik bila dibandingkan dengan nilai kemiripan yang lebih besar dari 0.5 saja yang disimpan dalam database. Jumlah pasangan buku yang dihasilkan juga lebih banyak apabila semua data kemiripan antar buku disimpan dalam
database. Oleh karena itu, data yang disimpan
dalam database hanya yang memiliki nilai kemiripan lebih besar dari 0.5.
SIMPULAN DAN SARAN
SimpulanMetode item-based collaborative filtering telah berhasil diimplementasikan menggunakan CMS OpenCart. Pengguna yang belum login dan tidak memiliki rekomendasi akan diberikan rekomendasi berdasarkan buku best seller. Pengguna yang telah login dan memiliki rekomendasi diberikan rekomendasi berdasarkan masukan masukan rate. Dari 30 pengguna yang mencoba sistem, 17 pengguna memiliki rekomendasi.
Keakuratan metode item-based collaborative filtering dihitung menggunakan
persamaan mean absolute error (MAE). Tingkat kesalahan hitung metode item-based
collaborative filtering pada sistem ini relatif
kecil yaitu 0.15. Semakin kecil nilai MAE, semakin akurat rekomendasi yang dihasilkan.
Waktu eksekusi untuk menghasilkan prediksi membutuhkan waktu yang relatif lama yaitu 61.00 detik. Waktu eksekusi yang lama disebabkan oleh pembuatan beberapa tabel. Waktu eksekusi yang lama tidak mengganggu pengguna karena proses perhitungan diletakkan pada sistem bagian
admin. Waktu eksekusi untuk menampilkan
0 0.5 1 1.5 2 5 9 13 17 21 25 29 33 wak tu e kse ku si ( s) customer_id
rekomendasi pada pengguna relatif cepat dengan rata-rata 1.60 detik.
Saran
Terdapat beberapa hal yang dapat ditambahkan atau diperbaiki untuk penelitian selanjutnya, antara lain:
1 Waktu eksekusi yang sedikit lebih tinggi pada penelitian ini sehingga harus dicari algoritme lain agar waktu eksekusi lebih rendah.
2 Membandingkan keakuratan dari metode lainnya yang telah berkembang saat ini seperti content-based filtering atau hybrid
collaborative filtering.
3 Pengujian berupa kuesioner kepada responden tentang rekomendasi yang dihasilkan sistem.
DAFTAR PUSTAKA
Balabanovic M, Shoham Y. 1997. Fab: content-based collaborative recommendation. Communication of the
ACM 40(3):66-72.
Breese J S, Heckerman D, Kadie C. 1998. Empirical analysis of predictive algorithms for collaborative filtering. Proceedings of
the 14th Conference on Uncertainty in Artificial Intelligence; Madison 24-26 juli
1998. 43-52.
Burke R. 2002. Hybrid Recommender Systems: Survey and Experiments. User
Modelling and User-Adapted Interaction
12(4):331-370.
Candillier L, Meyer F, Boullé M. 2007. Comparing State-of-the-Art Collaborative Filtering Systems. Proceedings of 5th
International Conference on Machine Learning and Data Mining in Pattern Recognition; Leipzig 18-20 juli 2007.
548-562.
Chen A Y, McLeod D. 2006. Collaborative Filtering for Information Recommendation Systems. Encyclopedia of commerce, E-government, and Mobile Commerce. Pennsylvania: Idea Group Publishing pp 118-123.
[DS] DailySocial. 2011. DS Research: How Indonesia’s Youngsters Use E-Commerce.
http://en.dailysocial.net/post/ds-research- how-indonesia%E2%80%99s-youngsters-use-e-commerce-free-download [15 Sep 2012].
Goldberg K, Roeder T, Gupta D, Perkins C. 2001. Eigenstate: a constant time collaborative filtering algorithms.
Information Retrieval Journal 4:133-151.
Green D, DiCaterino A. 1998. A Survey of System Development Process Models. [Technical Report No. CTG.MFA – 003]. New York: State University New York. Karypis G. 2001. Evaluation of Item-Based
Top-N Recommendation. 10th Conference of Information and Knowledge Management (CIKM); BuckHead 5-10 November. 247-254.
Linden G, Smith B, York J. 2003. Amazon.com recommendations. IEEE Internet Computing 7(1):76-80.
Marmanis, H., Babenko, D. 2009. Algorithms
of the Intelligent Web. Greenwich:
Manning Publ. Sound View Court 3B, CT 06830.
Masalov K. 2007. Developing Country E-commerce portal. [Honours project report]. Cape Town: University of Cape Town.
McGinty L, Smyth B . 2006. Adaptive selection : analysis of critiquing and preference based feed back in conversational recommender systems.
International Journal of Electronic Commerce 2(2):35-57.
Miller RB. 1968. Response time in man-computer conversational transactions.
Proceedings of the AFIPS Fall Joint Computer Conference; New Jersey 9-11
Desember 1968. 267-277.
O’Brien JA. 2006. Introduction to Information
System. Ed ke 12. New York: McGraw
Hill.
Saidah HT. 2012. Kajian usability website
e-commerce indonesia berdasarkan perspektif tipe pengguna browser dan
evaluator [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
Sarwar B, Karypis G, Konstan J A, Riedl J. 2001. Item-based collaborative filtering recommendation algorithms. Proceedings
of the 10th International World Wide Web Conference, 285-295.
Lampiran 1 Pengguna pemberi review buku Id Buku Id Pengguna Pengguna Rate
520 5 ni kadek 3.00 554 5 ni kadek 4.00 548 5 ni kadek 3.00 504 5 ni kadek 3.00 296 5 ni kadek 4.00 493 6 Zola 4.00 497 6 Zola 3.00 486 6 Zola 4.00 492 6 Zola 4.00 442 6 Zola 4.00 493 7 Catur 1.00 490 7 Catur 2.00 475 7 Catur 1.00 533 7 Catur 2.00 413 7 Catur 3.00 451 8 rossy 4.00 328 8 rossy 5.00 335 8 rossy 3.00 533 8 rossy 5.00 489 8 rossy 2.00 349 9 Nindyta 5.00 562 9 Nindyta 4.00 320 9 Nindyta 5.00 394 9 Nindyta 2.00 399 9 Nindyta 4.00 378 10 nensi 5.00 460 10 nensi 5.00 384 10 nensi 5.00 533 10 nensi 5.00 392 10 nensi 5.00 536 11 ani 4.00 435 11 ani 3.00 332 11 ani 3.00 445 11 ani 3.00 456 11 ani 3.00 503 12 rizky 5.00 502 12 rizky 5.00 487 12 rizky 5.00 497 12 rizky 4.00 491 12 rizky 5.00 399 13 Yusuf 5.00 402 13 Yusuf 5.00 395 13 Yusuf 5.00 406 13 Yusuf 5.00 400 13 Yusuf 5.00 351 14 siska 3.00 369 14 siska 5.00 563 14 siska 4.00 425 14 siska 3.00 538 14 siska 3.00 321 15 praditya 5.00 332 15 praditya 5.00 532 15 praditya 4.00 495 15 praditya 3.00
Id Buku Id Pengguna Pengguna Rate
293 15 praditya 4.00 325 16 Cipta 3.00 402 16 Cipta 3.00 508 16 Cipta 2.00 444 16 Cipta 3.00 382 16 Cipta 2.00 331 17 stevan 4.00 472 17 stevan 5.00 283 17 stevan 4.00 453 17 stevan 5.00 445 17 stevan 4.00 553 18 ardini 4.00 532 18 ardini 5.00 391 18 ardini 5.00 392 18 ardini 3.00 531 18 ardini 5.00 388 18 ardini 5.00 408 19 Darina 5.00 340 19 Darina 5.00 462 19 Darina 5.00 538 19 Darina 5.00 518 19 Darina 5.00 380 20 Linda Dwi 5.00 387 20 Linda Dwi 5.00 388 20 Linda Dwi 5.00 396 20 Linda Dwi 5.00 476 20 Linda Dwi 5.00 488 21 Gamma 5.00 495 21 Gamma 4.00 432 21 Gamma 4.00 429 21 Gamma 5.00 555 21 Gamma 5.00 497 22 Rilan 5.00 389 22 Rilan 2.00 335 22 Rilan 4.00 293 22 Rilan 5.00 460 22 Rilan 5.00 538 23 Niken 4.00 461 23 Niken 5.00 438 23 Niken 3.00 445 23 Niken 5.00 439 23 Niken 4.00 380 24 Ariel 5.00 383 24 Ariel 4.00 532 24 Ariel 4.00 293 24 Ariel 2.00 386 24 Ariel 4.00 502 25 Dina 5.00 387 25 Dina 5.00 518 25 Dina 5.00 397 25 Dina 5.00 448 25 Dina 5.00 324 26 Nur 5.00 458 26 Nur 5.00
Lanjutan
Id Buku Id Pengguna Pengguna Rate
450 26 Nur 5.00 511 26 Nur 5.00 345 26 Nur 5.00 457 27 Dyah 4.00 476 27 Dyah 4.00 464 27 Dyah 3.00 443 27 Dyah 4.00 440 27 Dyah 3.00 338 28 hana 5.00 345 28 hana 5.00 415 28 hana 5.00 477 28 hana 5.00 383 28 hana 5.00 532 28 hana 5.00 320 29 kirana 4.00 428 29 kirana 4.00 278 29 kirana 5.00 283 29 kirana 2.00 517 29 kirana 1.00 331 30 wagiran 3.00 330 30 wagiran 3.00 350 30 wagiran 2.00 342 30 wagiran 3.00 324 30 wagiran 5.00 384 31 wikanti 4.00 385 31 wikanti 4.00 388 31 wikanti 5.00 386 31 wikanti 4.00 353 31 wikanti 3.00 445 32 sulistyo 2.00 444 32 sulistyo 3.00 447 32 sulistyo 2.00 446 32 sulistyo 3.00 455 32 sulistyo 5.00 543 33 mayanda 4.00 479 33 mayanda 2.00 541 33 mayanda 3.00 502 33 mayanda 3.00 509 33 mayanda 2.00 492 34 prasiantoro 4.00 493 34 prasiantoro 3.00 292 34 prasiantoro 5.00 522 34 prasiantoro 3.00 571 34 prasiantoro 2.00
Lampiran 2 Rata-rata rate pengguna Id Pengguna Rate rata-rata
5 3.40 6 3.80 7 1.80 8 3.80 9 4.00 10 5.00 11 3.20 12 4.80 13 5.00 14 3.60 15 4.20 16 2.60 17 4.40 18 4.50 19 5.00 20 5.00 21 4.60 22 4.20 23 4.20 24 3.80 25 5.00 26 5.00 27 3.60 28 5.00 29 3.20 30 3.20 31 4.00 32 3.00 33 2.80 34 3.40
Lampiran 3 Kemiripan antar buku dengan nilai similarity lebih besar dari 0.5 Id buku 1 Id buku 2 Similarity
278 320 1.00 278 428 1.00 283 331 1.00 283 445 1.00 283 517 1.00 292 492 1.00 293 460 1.00 293 495 1.00 293 497 1.00 296 554 1.00 320 278 1.00 320 349 1.00 320 428 1.00 321 332 1.00 325 402 1.00 325 444 1.00 328 451 1.00 328 533 1.00 330 331 1.00 330 342 1.00 330 350 1.00 331 283 1.00 331 330 1.00 331 342 1.00 331 350 1.00 331 445 1.00 332 321 1.00 332 435 1.00 332 445 1.00 332 456 1.00 335 389 1.00 335 489 1.00 342 330 1.00 342 331 1.00 342 350 1.00 349 320 1.00 350 330 1.00 350 331 1.00 350 342 1.00 351 425 1.00 351 538 1.00 369 563 1.00 380 383 1.00 380 386 1.00 380 532 1.00 382 508 1.00 383 380 1.00 383 386 1.00 383 532 1.00 386 380 1.00 386 383 1.00 386 532 1.00 388 391 1.00 388 531 1.00
Id buku 1 Id buku 2 Similarity
388 532 1.00 389 335 1.00 391 388 1.00 391 531 1.00 391 532 1.00 392 553 1.00 402 325 1.00 402 444 1.00 413 490 1.00 413 533 1.00 425 351 1.00 425 538 1.00 428 278 1.00 428 320 1.00 429 488 1.00 429 555 1.00 432 495 1.00 435 332 1.00 435 445 1.00 435 456 1.00 438 439 1.00 438 538 1.00 439 438 1.00 439 538 1.00 440 464 1.00 442 486 1.00 442 492 1.00 442 493 1.00 443 457 1.00 443 476 1.00 444 325 1.00 444 402 1.00 445 283 1.00 445 331 1.00 445 332 1.00 445 435 1.00 445 447 1.00 445 456 1.00 445 461 1.00 447 445 1.00 451 328 1.00 451 533 1.00 453 472 1.00 456 332 1.00 456 435 1.00 456 445 1.00 457 443 1.00 457 476 1.00 460 293 1.00 460 497 1.00 461 445 1.00 464 440 1.00 472 453 1.00 475 493 1.00
Lanjutan
Id buku 1 Id buku 2 Similarity
476 443 1.00 476 457 1.00 479 509 1.00 486 442 1.00 486 492 1.00 486 493 1.00 487 491 1.00 487 502 1.00 487 503 1.00 488 429 1.00 488 555 1.00 489 335 1.00 490 413 1.00 490 533 1.00 491 487 1.00 491 502 1.00 491 503 1.00 475 493 1.00 476 443 1.00 476 457 1.00 479 509 1.00 486 442 1.00 486 492 1.00 486 493 1.00 487 491 1.00 487 502 1.00 487 503 1.00 488 429 1.00 488 555 1.00 489 335 1.00 490 413 1.00 490 533 1.00 491 487 1.00 491 502 1.00 491 503 1.00 492 292 1.00 492 442 1.00 492 486 1.00 493 442 1.00 493 475 1.00 493 486 1.00 493 522 1.00 493 571 1.00 495 293 1.00 495 432 1.00 495 532 1.00 497 293 1.00 497 460 1.00 502 487 1.00 502 491 1.00 502 503 1.00 502 541 1.00 502 543 1.00 503 487 1.00
Id buku 1 Id buku 2 Similarity
503 491 1.00 503 502 1.00 504 520 1.00 504 548 1.00 508 382 1.00 509 479 1.00 517 283 1.00 520 504 1.00 520 548 1.00 522 493 1.00 522 571 1.00 531 388 1.00 531 391 1.00 531 532 1.00 532 380 1.00 532 383 1.00 532 386 1.00 532 388 1.00 532 391 1.00 532 495 1.00 532 531 1.00 533 328 1.00 533 413 1.00 533 451 1.00 533 490 1.00 538 351 1.00 538 425 1.00 538 438 1.00 538 439 1.00 541 502 1.00 541 543 1.00 543 502 1.00 543 541 1.00 548 504 1.00 548 520 1.00 553 392 1.00 554 296 1.00 555 429 1.00 555 488 1.00 563 369 1.00 571 493 1.00 571 522 1.00
Lampiran 4 Prediksi rate buku Id pengguna Id buku Prediksi rate
9 320 5 29 320 4 9 428 5 29 428 4 11 331 3 17 331 4 23 331 5 29 331 2 30 331 3 32 331 2 11 445 3 15 445 5 17 445 4 23 445 5 29 445 2 30 445 3 32 445 2 11 517 3 17 517 4 23 517 5 29 517 2 30 517 3 32 517 2 6 492 4 34 492 5 6 460 3 10 460 5 12 460 4 15 460 4 21 460 4 22 460 5 24 460 2 6 495 3 10 495 5 12 495 4 15 495 4 18 495 5 21 495 4 22 495 5 24 495 3 28 495 5 6 497 3 10 497 5 12 497 4 15 497 4 21 497 4 22 497 5 24 497 2 5 554 4 9 278 5 29 278 4 9 349 5 29 349 4 11 332 3
Id pengguna Id buku Prediksi rate
15 332 5 17 332 4 23 332 5 32 332 2 13 402 5 16 402 3 32 402 3 13 444 5 16 444 3 32 444 3 7 451 2 8 451 5 10 451 5 7 533 2 8 533 5 10 533 5 17 342 4 30 342 3 17 350 4 30 350 3 11 283 3 17 283 4 23 283 5 29 283 2 30 283 3 32 283 2 11 330 3 17 330 4 23 330 5 29 330 2 30 330 3 32 330 2 11 342 3 23 342 5 29 342 2 32 342 2 11 350 3 23 350 5 29 350 2 32 350 2 11 321 3 15 321 5 17 321 4 23 321 5 32 321 2 11 435 3 15 435 5 17 435 4 23 435 5 32 435 2 11 456 3 15 456 5 17 456 4 23 456 5