SISTEM REKOMENDER MOVIE MENGGUNAKAN BAHA (1)
MAKALAH
SISTEM REKOMENDER MOVIE
MENGGUNAKAN BAHASA PEMROGRAMAN R
Disusun Oleh :
Irfan Ardhiyanto
(15.01.53.0061)
Apriana Panca Kartika
(15.01.53.0065)
Fadilla Maulida
(15.01.53.0082)
UNIVERSITAS STIKUBANK SEMARANG (UNISBANK)
FAKULTAS TEKNOLOGI INFORMASI
TEKNIK INFORMATIKA
2017
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan
teknologi
informasi
berdampak
positif
pada
berkembangnya berbagai software pengolah data. Secara umum, ada beberapa
kategori software analisis data, yang bersifat komersil seperti SPSS dan SAS,
serta bersifat open source seperti R. R adalah bahasa pemrograman open
source yang berhubungan dengan komputasi dan pengolahan data untuk
statistik dan yang berhubungan dengan penampilan grafik menggunakan tools
yang disediakan oleh paket-paketnya yang sangat berguna di dalam penelitian
dan industri. Versi awal dari R dibuat pada tahun 1992 di Universitas
Auckland, New Zealand oleh Ross Ihaka dan Robert Gentleman, dan kini
dikembangkan oleh R Development Core Team, dimana Chambers merupakan
anggotanya. R dinamakan sebagian setelah nama dua pembuatnya (Robert
Gentleman dan Ross Ihaka), dan sebagian sebagian dari nama S.
Bahasa R kini menjadi standar de facto di antara statistikawan untuk
pengembangan perangkat lunak statistika, serta digunakan secara luas untuk
pengembangan perangkat lunak statistika dan analisis data. R merupakan
bagian dari proyek GNU. Kode sumbernya tersedia secara bebas di bawah
Lisensi Publik Umum GNU, dan versi biner prekompilasinya tersedia untuk
berbagai sistem operasi. R menggunakan antarmuka baris perintah, meski
beberapa antarmuka pengguna grafik juga tersedia.
R menyediakan berbagai teknik statistika (permodelan linier dan
nonlinier, uji statistik klasik, analisis deret waktu, klasifikasi, klasterisasi, dan
sebagainya) serta grafik. R, sebagaimana S, dirancang sebagai bahasa
komputer sebenarnya, dan mengizinkan penggunanya untuk menambah fungsi
tambahan dengan mendefinisikan fungsi baru. Kekuatan besar dari R yang lain
adalah fasilitas grafiknya, yang menghasilkan grafik dengan kualitas publikasi
yang dapat memuat simbol matematika. R memiliki format dokumentasi
seperti LaTeX, yang digunakan untuk menyediakan dokumentasi yang
lengkap, baik secara daring (dalam berbagai format) maupun secara cetakan.
R adalah implementasi dari bahasa pemrograman S yang dikombinasikan
dengan pelingkupan leksikal semantik yang terinspirasi oleh Scheme. S
diciptakan oleh John Chambers ketika masih di Bell Labs. R diciptakan oleh
Ross Ihaka dan Robert Gentleman at the University of Auckland, New
Zealand, dan sekarang dikembangkan oleh Tim Inti Pengembangan R, dengan
Chambers sebagai anggota. Nama R sebagian berasal dari nama depan dari dua
pengembang R pertama (Robert Gentleman and Ross Ihaka), dan sebagian
sebagai permainan dari nama S.
R merupakan bagian dari GNU project. Kode Sumbernya tersedia secara
bebas dibawah lisensi GNU General Public License, dan versi pre-compiled
binary tersedia untuk berbagai sistem operasi. R menggunakan command line
interface; namun, beberapa graphical user interface juga tersedia untuk
digunakan bersama R.
Recommender System atau Sistem Rekomendasi adalah salah satu bentuk
personalized information system yang digunakan dalam web e-commerce
untuk menawarkan item kepada user dan memberi informasi yang dapat
membantu user dalam memilih atau membeli item.
1.2 Rumusan Masalah
Berdasarkan latar belakang diatas, terdapat rumusan masalah yaitu :
1.
Bagaimana
proses
recommender
system
menggunakan
bahasa
pemrograman R?
2.
Bagaimana hasil dari proses recommender system menggunakan bahasa
pemrograman R?
1.3 Tujuan Penulisan
Tujuan penulisan makalah ini adalah untuk memberi informasi kepada
pembaca tentang proses dan hasil yang diperoleh dari sistem rekomendasi
menggunakan bahasa pemrograman R. Sistem rekomendasi diperlukan untuk
membantu pengguna dalam menemukan informasi yang relevan karena jumlah
informasi yang tersedia di internet sangat banyak.
BAB II
TINJAUAN PUSTAKA
2.1 Kajian Deduktif
Recommender system banyak digunakan untuk membuat prediksi seperti buku
dan musik dalam film. Sasarannya adalah pengunjung toko online, di mana sistem ini
memberikan prediksi dan penawaran terbaik produk apa yang disukai. Data referensi
produk dari pengunjung
disimpan untuk kemudian diolah menggunakan teknik
statistik sehinggga menghasilkan rekomendasi barang terkait. Teknologi ini banyak
diadopsi oleh perusahaan besar di dunia e-commerce dalam seperti Amazon, Netflix,
dan Pandora. Sedemikian pentingnya recommender system ini
bagi e-commerce
karena kemampuannya untuk memberikan referensi yang disukai oleh customer,
membuat strategi marketing, hingga meningkatkan loyalitas pelanggan. Bahkan
kompetisi pun telah diadakan oleh Netflix untuk menguji hasil rekomendasi dengan
nilai yang cukup besar. Riset di recommender system menjadi begitu penting karena
perannya di bidang e-commerce telah terbukti banyak memberikan terobosan baru di
dunia bisnis dan ilmu pengetahuan.
Recommender system dibagi menjadi dua, yaitu Collaborative Filtering dan Hybrid
Recommendation System. Penelitian ini bertujuan untuk memberikan gambaran
mengenai recommender system beserta aplikasinya yang bersifat open source yang
masih dikembangkan hingga saat ini sehingga memudahkan para peneliti untuk
melakukan penelitian di bidang ini. Hal tersebut dapat dicapai dengan menggali aspek
dan tujuan dari tiap aplikasi termasuk algoritma yang digunakan. Sebagian besar
aplikasi berupa kumpulan library yang dibuat berdasarkan algoritma recommender
tertentu. Aplikasi ini menggunakan bahasa pemrograman yang beragam meliputi java,
phyton, dan php yang tentunya telah familiar di mata para peneliti sehingga membuat
library ini sangat flexible untuk tujuan riset maupun bisnis.
2.1.1
Collaborative Filtering
Collaborative filtering merupakan salah satu algoritma yang digunakan
untuk menyusun recommender system dan telah terbukti memberikan hasil
yang sangat baik. Rating produk merupakan elemen terpenting dari algoritma
ini, rating diperoleh dari sebagian besar customer di mana customer secara
explicit memberikan penilaiannya terhadap produk. Kesimpulannya ialah
sistem memberikan timbal balik kepada customer dengan mengolah data-data
tersebut, sebagai gambaran dari skala nol sampai 5 yang mengindikasikan
penilaian yang paling tidak disukai hingga paling disukai menurut sudut
pandang customer, data ini memungkinkan untuk dilakukannya perhitungan
statistik yang hasilnya menunjukkan produk mana yang diberikan rating tinggi
oleh customer.
Collaborative filtering menggunakan database yang diperoleh dari
user. Ada dua komponen utama dalam data ini agar dapat membuat prediksi
bagi recommender system yaitu user dan item. Keduanya membentuk rating
matriks berupa m user {u1, u2, u3, ..., um} dan daftar n item {i1, i2, i3, ..., i4}.
Di mana setiap user memberikan penilaiannya pada item berupa rating dalam
skala 1 sampai 5. Rating ini dilambangkan dengan Iu1. Tidak semua user
memberikan rating ke setiap produk karena berbagai macam faktor, hal ini
menyebabkan banyaknya missing value yang mengakibatkan sparsity pada
data.
2.1.2
Hybrid Recommendation System
Teknik yang digunakan berupa content based CF (fab), content boosted
CF, hybrid CF kombinasi memory based dan model based (personality
diagnosis). Teknik ini sebagai solusi atas kelemahan yang terdapat pada
memory dan model based CF seperti sparsity dan grayship, sehingga
meningkatkan akurasi prediksi. Beberapa kelemahan juga muncul seperti
meningkatnya kompleksitas program hingga perlunya data external yang
terkadang tidak tersedia.
2.2 Kajian Induktif
Recommender system (RSs) adalah salah satu bentuk personalized
information system yang digunakan dalam web e-commerce untuk menawarkan
item kepada user dan memberi informasi yang dapat membantu user dalam
memilih atau membeli item. Gambar 2.1 berikut ini menunjukkan taksonomi
recommender system.
Gambar 2.1 Taksonomi Recommender System
Pada Gambar 2.1 terdapat tiga komponen utama dalam sebuah recommender
system, yaitu:
1. Input/ Output
Input yang dianalisa RSs didapat baik secara eksplisit maupun implisit dari
user kemudian dikombinasikan dengan input dari user-user lain/ komunitas. Input
yang didapat secara eksplisit, misalnya dengan cara meminta user untuk memberi
rating terhadap suatu item. Sedangkan secara implisit, misalnya dari data transaksi
pembelian item oleh user pada waktu lampau, atau bisa juga dengan memonitor
item-item mana saja yang telah dilihat oleh user. Output yang dihasilkan oleh RSs
dapat berupa sugesti (merekomendasikan sebuah item secara khusus) atau
prediksi (bisa berupa prediksi per item atau beberapa item sekaligus dalam bentuk
list/ daftar).
2. Metode Rekomendasi
Metode yang digunakan dalam memberikan rekomendasi dapat dilakukan
dengan beberapa cara, antara lain secara manual, melalui pendekatan statistik,
dengan berdasarkan korelasi antar user (user-to-user), atau juga dengan
berdasarkan korelasi antar item (item-to-item).
3. Desain Rekomendasi
Desain rekomendasi terkait pada 2 hal, yakni bagaimana rekomendasi
disajikan dan bagaimana sifat rekomendasi atau tingkat personalisasinya. Ada 3
cara untuk menyajikan rekomendasi kepada user, yaitu:
1. Push : bentuk aktif pemberian rekomendasi, seperti mengirimkan kepada user
melalui email.
2. Pull : rekomendasi tidak ditampilkan jika user tidak meminta
3. Pasif : menampilkan item lain yang berhubungan item yang sedang dilihat/
diakses user pada saat itu.
Tingkat personalisasi rekomendasi yang diberikan kepada user ada 2 macam,
yaitu:
1. Personalized : rekomendasi yang diberikan kepada user tidak sama antara satu
dengan yang lain, bergantung pada masing-masing profil user.
2. Non-personalized : bentuk rekomendasi ini tidak melihat profil masing-masing
user, dengan kata lain rekomendasi bersifat umum sehingga dapat diberikan bagi
semua pengunjung/ visitor.
BAB III
METODE PENELITIAN
3.1 Objek Penelitian
Recommender System merupakan sebuah aplikasi information
filtering untuk mencari dan memberikan rekomendasi item berupa
informasi, produk, atau layanan kepada user berdasarkan prediksi yang
bersifat personal (Sarwar, Badrul. 2001). Pengembangan recommender
system oleh berbagai online vendor merupakan langka untuk menarik
lebih banyak perhatian pengguna dan meningkatkan kepuasan pengguna
terhadap hasil pencarian informasi secara online. Pada e-commerce
misalnya, dimana sistem rekomendasi digunakan secara luas untuk
menyarankan produk kepada pelanggan dan untuk menyediakan
pelanggan dengan informasi sehingga membantu pelanggan memutuskan
pilihan produk yang akan dibeli (Mortensen, Magnus. 2007). Hal ini
menjadi sangat penting bagi keberhasilan industri di bidang teknologi
informasi dan e-commerce saat ini yang secara bertahap mendatangkan
keuntungan dari segi popularitas di berbagai aplikasi, misalnya proyek
Netflix, Google news, dan Amazon.
3.2 Metode Pengumpulan Data
Dalam pengumpulan data yang akan digunakan dalam sistem
rekomendasi dapat dilakukan dengan dua cara (Sanjung, Ariyani. 2011)
yaitu secara eksplisit dan implisit .
Secara eksplisit dapat dilakukan misalnya dengan meminta user untuk
merating sebuah item dari range tertentu, memberikan ranking
berdasarkan dari item yang disukai dan yang tidak disukai oleh user,
ataupun dengan meminta user untuk melakukan list terhadap item-item
yang disukai.
Implisit dilakukan dengan mengamati pola kecenderungan user
(behavior user) melalui observasi social network atau dengan mengamati
item-item yang sering dilihat atau didengar oleh user. Dengan kata lain,
jika secara eksplisit user memberikan penilaian preferensi terhadap item
secara langsung, sedangkan implisit tidak secara langsung.
3.3 Jenis Data
Jenis data dalam penulisan ini adalah data primer dan data sekunder.
Data primer meliputi data pencarian informasi system recommender yang
penulis praktikkan langsung. Sedangkan sumber sekunder bersumber
pada buku-buku yang penulis cari di perpustakaan atau penlusi pinjam
dari perorangan selain ini data sekunder juga penulis peroleh dari internet
demi melengkapi makalah ini.
3.4 Alur Penelitian
Collaborative filtering (CF) adalah teknologi recommender system
yang paling sukses dan populer saat ini, serta penggunaan CF sangat
sukses untuk berbagai recommender system yang ada di internet. Teknik
ini menggunakan teknik statistik untuk menemukan satu set user yang
dikenal sebagai neighbors, dimana setiap user memiliki kesamaan minat
dan pendapat dengan target user (yaitu, mereka memiliki beberapa rating
item yang sama atau kecenderungan user menyukai item yang sama).
Setelah lingkungan neighbors terbentuk, sistem ini akan menggunakan
beberapa algoritma untuk menghasilkan rekomendasi.
Gambar 3.1 Proses Collaborative Filtering (Sarwar, Badrul. 2001).
Dalam skenario CF terdapat daftar pengguna m user U = {u1,
u2,…, um} dan daftar item I = {p1, p2,…, pn}. Setiap ui user
mengekspresikan pendapatnya tentang daftar item miliknya. Kumpulan set
dari pendapat itu disebut dengan rating dari user ui dan dilambangkan
dengan Iui. Setelah sistem ini menentukan ketetanggaan terdekat, maka
sistem akan merepresentasikan item yang mungkin disukai user dalam dua
bentuk, yaitu:
1. Prediksi, merupakan nilai numerik dimana Pa,j adalah nilai prediksi
rating item j yang mungkin disukai oleh active user (Ua). Nilai
prediksi ini digunakan dengan skala yang sama dengan nilai yang
disediakan (misalnya, dari skala 1 sampai 5).
2. Rekomendasi adalah daftar N item yang mungkin akan disukai oleh
user Ua. Daftar yang direkomendasikan biasanya terdiri dari item
yang belum pernah dibeli atau dirating oleh active user. Output dari
algoritma CF ini juga dikenal sebagai Top-N Recommendation.
Gambar 3.1 menunjukkan diagram skema dari proses collaborative
filtering. Algoritma CF merepresentasikan seluruh m x n user-item
sebagai matriks rating dimana setiap entri merupakan nilai rating dari
user untuk setiap item. Active user (Ua) pada skema ini merupakan
user yang akan dicari item yang mungkin disukainya dengan
menggunakan algoritma CF (Sarwar, Badrul. 2001).
BAB IV
HASIL DAN PEMBAHASAN
1. Install software R version 3.4.3
2. Disini kami akan melakukan sistem rekomendasi terhadap MovieLens, maka terdapat
4 library yang digunakan, yaitu :
library(recommenderlab)
library(ggplot2)
library(data.table)
library(reshape2)
3. Unduh dataset MovieLens pada link https://grouplens.org/datasets/movielens/
4. Install packages recommenderlab, berikut perintahnya :
install.packages("recommenderlab")
Gambar 4.1 Install Packages Recommenderlab
5. Berikut script lanjutannya :
library(datasets) # load required library
library(recommenderlab) # package being evaluated
library(ggplot2) # for plots
data(MovieLense) # load the data we are going to work with MovieLense
# 943 x 1664 rating matrix of class ‘realRatingMatrix’ with 99392
ratings.image(sample(MovieLense, 500), main = "Raw ratings")
# Visualizing a sample of this
6. Menampilkan Raw ratings, berikut scriptnya :
image(sample(MovieLense, 500), main = “Raw ratings”)
# Visualizing ratings
Gambar 4.2 Tampilan Raw Ratings
7. Menampilkan Histogram of ratings, berikut scriptnya :
qplot(getRatings(MovieLense), binwidth = 1, main = “Histogram of ratings”,
xlab = “Rating”)
summary(getRatings(MovieLense)) # Skewed to the right
# Min. 1st Qu. Median Mean 3rd Qu.
# 1.00
3.00
4.00
3.53
4.00
5.00
Max.
Gambar 4.3 Tampilan Histogram of Ratings
8. Menampilkan Movies Rated on average, berikut scriptnya :
# How many movies did people rate on average
qplot(rowCounts(MovieLense), binwidth = 10, main = “Movies Rated on
average”, xlab = “# of users”, ylab = “# of movies rated”)
# Seems people get tired of rating movies at a logarithmic pace. But most rate
some.
recommenderRegistry$get_entries(dataType = “realRatingMatrix”)
# We have a few options. Let’s check some algorithms against each other
scheme
SISTEM REKOMENDER MOVIE
MENGGUNAKAN BAHASA PEMROGRAMAN R
Disusun Oleh :
Irfan Ardhiyanto
(15.01.53.0061)
Apriana Panca Kartika
(15.01.53.0065)
Fadilla Maulida
(15.01.53.0082)
UNIVERSITAS STIKUBANK SEMARANG (UNISBANK)
FAKULTAS TEKNOLOGI INFORMASI
TEKNIK INFORMATIKA
2017
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan
teknologi
informasi
berdampak
positif
pada
berkembangnya berbagai software pengolah data. Secara umum, ada beberapa
kategori software analisis data, yang bersifat komersil seperti SPSS dan SAS,
serta bersifat open source seperti R. R adalah bahasa pemrograman open
source yang berhubungan dengan komputasi dan pengolahan data untuk
statistik dan yang berhubungan dengan penampilan grafik menggunakan tools
yang disediakan oleh paket-paketnya yang sangat berguna di dalam penelitian
dan industri. Versi awal dari R dibuat pada tahun 1992 di Universitas
Auckland, New Zealand oleh Ross Ihaka dan Robert Gentleman, dan kini
dikembangkan oleh R Development Core Team, dimana Chambers merupakan
anggotanya. R dinamakan sebagian setelah nama dua pembuatnya (Robert
Gentleman dan Ross Ihaka), dan sebagian sebagian dari nama S.
Bahasa R kini menjadi standar de facto di antara statistikawan untuk
pengembangan perangkat lunak statistika, serta digunakan secara luas untuk
pengembangan perangkat lunak statistika dan analisis data. R merupakan
bagian dari proyek GNU. Kode sumbernya tersedia secara bebas di bawah
Lisensi Publik Umum GNU, dan versi biner prekompilasinya tersedia untuk
berbagai sistem operasi. R menggunakan antarmuka baris perintah, meski
beberapa antarmuka pengguna grafik juga tersedia.
R menyediakan berbagai teknik statistika (permodelan linier dan
nonlinier, uji statistik klasik, analisis deret waktu, klasifikasi, klasterisasi, dan
sebagainya) serta grafik. R, sebagaimana S, dirancang sebagai bahasa
komputer sebenarnya, dan mengizinkan penggunanya untuk menambah fungsi
tambahan dengan mendefinisikan fungsi baru. Kekuatan besar dari R yang lain
adalah fasilitas grafiknya, yang menghasilkan grafik dengan kualitas publikasi
yang dapat memuat simbol matematika. R memiliki format dokumentasi
seperti LaTeX, yang digunakan untuk menyediakan dokumentasi yang
lengkap, baik secara daring (dalam berbagai format) maupun secara cetakan.
R adalah implementasi dari bahasa pemrograman S yang dikombinasikan
dengan pelingkupan leksikal semantik yang terinspirasi oleh Scheme. S
diciptakan oleh John Chambers ketika masih di Bell Labs. R diciptakan oleh
Ross Ihaka dan Robert Gentleman at the University of Auckland, New
Zealand, dan sekarang dikembangkan oleh Tim Inti Pengembangan R, dengan
Chambers sebagai anggota. Nama R sebagian berasal dari nama depan dari dua
pengembang R pertama (Robert Gentleman and Ross Ihaka), dan sebagian
sebagai permainan dari nama S.
R merupakan bagian dari GNU project. Kode Sumbernya tersedia secara
bebas dibawah lisensi GNU General Public License, dan versi pre-compiled
binary tersedia untuk berbagai sistem operasi. R menggunakan command line
interface; namun, beberapa graphical user interface juga tersedia untuk
digunakan bersama R.
Recommender System atau Sistem Rekomendasi adalah salah satu bentuk
personalized information system yang digunakan dalam web e-commerce
untuk menawarkan item kepada user dan memberi informasi yang dapat
membantu user dalam memilih atau membeli item.
1.2 Rumusan Masalah
Berdasarkan latar belakang diatas, terdapat rumusan masalah yaitu :
1.
Bagaimana
proses
recommender
system
menggunakan
bahasa
pemrograman R?
2.
Bagaimana hasil dari proses recommender system menggunakan bahasa
pemrograman R?
1.3 Tujuan Penulisan
Tujuan penulisan makalah ini adalah untuk memberi informasi kepada
pembaca tentang proses dan hasil yang diperoleh dari sistem rekomendasi
menggunakan bahasa pemrograman R. Sistem rekomendasi diperlukan untuk
membantu pengguna dalam menemukan informasi yang relevan karena jumlah
informasi yang tersedia di internet sangat banyak.
BAB II
TINJAUAN PUSTAKA
2.1 Kajian Deduktif
Recommender system banyak digunakan untuk membuat prediksi seperti buku
dan musik dalam film. Sasarannya adalah pengunjung toko online, di mana sistem ini
memberikan prediksi dan penawaran terbaik produk apa yang disukai. Data referensi
produk dari pengunjung
disimpan untuk kemudian diolah menggunakan teknik
statistik sehinggga menghasilkan rekomendasi barang terkait. Teknologi ini banyak
diadopsi oleh perusahaan besar di dunia e-commerce dalam seperti Amazon, Netflix,
dan Pandora. Sedemikian pentingnya recommender system ini
bagi e-commerce
karena kemampuannya untuk memberikan referensi yang disukai oleh customer,
membuat strategi marketing, hingga meningkatkan loyalitas pelanggan. Bahkan
kompetisi pun telah diadakan oleh Netflix untuk menguji hasil rekomendasi dengan
nilai yang cukup besar. Riset di recommender system menjadi begitu penting karena
perannya di bidang e-commerce telah terbukti banyak memberikan terobosan baru di
dunia bisnis dan ilmu pengetahuan.
Recommender system dibagi menjadi dua, yaitu Collaborative Filtering dan Hybrid
Recommendation System. Penelitian ini bertujuan untuk memberikan gambaran
mengenai recommender system beserta aplikasinya yang bersifat open source yang
masih dikembangkan hingga saat ini sehingga memudahkan para peneliti untuk
melakukan penelitian di bidang ini. Hal tersebut dapat dicapai dengan menggali aspek
dan tujuan dari tiap aplikasi termasuk algoritma yang digunakan. Sebagian besar
aplikasi berupa kumpulan library yang dibuat berdasarkan algoritma recommender
tertentu. Aplikasi ini menggunakan bahasa pemrograman yang beragam meliputi java,
phyton, dan php yang tentunya telah familiar di mata para peneliti sehingga membuat
library ini sangat flexible untuk tujuan riset maupun bisnis.
2.1.1
Collaborative Filtering
Collaborative filtering merupakan salah satu algoritma yang digunakan
untuk menyusun recommender system dan telah terbukti memberikan hasil
yang sangat baik. Rating produk merupakan elemen terpenting dari algoritma
ini, rating diperoleh dari sebagian besar customer di mana customer secara
explicit memberikan penilaiannya terhadap produk. Kesimpulannya ialah
sistem memberikan timbal balik kepada customer dengan mengolah data-data
tersebut, sebagai gambaran dari skala nol sampai 5 yang mengindikasikan
penilaian yang paling tidak disukai hingga paling disukai menurut sudut
pandang customer, data ini memungkinkan untuk dilakukannya perhitungan
statistik yang hasilnya menunjukkan produk mana yang diberikan rating tinggi
oleh customer.
Collaborative filtering menggunakan database yang diperoleh dari
user. Ada dua komponen utama dalam data ini agar dapat membuat prediksi
bagi recommender system yaitu user dan item. Keduanya membentuk rating
matriks berupa m user {u1, u2, u3, ..., um} dan daftar n item {i1, i2, i3, ..., i4}.
Di mana setiap user memberikan penilaiannya pada item berupa rating dalam
skala 1 sampai 5. Rating ini dilambangkan dengan Iu1. Tidak semua user
memberikan rating ke setiap produk karena berbagai macam faktor, hal ini
menyebabkan banyaknya missing value yang mengakibatkan sparsity pada
data.
2.1.2
Hybrid Recommendation System
Teknik yang digunakan berupa content based CF (fab), content boosted
CF, hybrid CF kombinasi memory based dan model based (personality
diagnosis). Teknik ini sebagai solusi atas kelemahan yang terdapat pada
memory dan model based CF seperti sparsity dan grayship, sehingga
meningkatkan akurasi prediksi. Beberapa kelemahan juga muncul seperti
meningkatnya kompleksitas program hingga perlunya data external yang
terkadang tidak tersedia.
2.2 Kajian Induktif
Recommender system (RSs) adalah salah satu bentuk personalized
information system yang digunakan dalam web e-commerce untuk menawarkan
item kepada user dan memberi informasi yang dapat membantu user dalam
memilih atau membeli item. Gambar 2.1 berikut ini menunjukkan taksonomi
recommender system.
Gambar 2.1 Taksonomi Recommender System
Pada Gambar 2.1 terdapat tiga komponen utama dalam sebuah recommender
system, yaitu:
1. Input/ Output
Input yang dianalisa RSs didapat baik secara eksplisit maupun implisit dari
user kemudian dikombinasikan dengan input dari user-user lain/ komunitas. Input
yang didapat secara eksplisit, misalnya dengan cara meminta user untuk memberi
rating terhadap suatu item. Sedangkan secara implisit, misalnya dari data transaksi
pembelian item oleh user pada waktu lampau, atau bisa juga dengan memonitor
item-item mana saja yang telah dilihat oleh user. Output yang dihasilkan oleh RSs
dapat berupa sugesti (merekomendasikan sebuah item secara khusus) atau
prediksi (bisa berupa prediksi per item atau beberapa item sekaligus dalam bentuk
list/ daftar).
2. Metode Rekomendasi
Metode yang digunakan dalam memberikan rekomendasi dapat dilakukan
dengan beberapa cara, antara lain secara manual, melalui pendekatan statistik,
dengan berdasarkan korelasi antar user (user-to-user), atau juga dengan
berdasarkan korelasi antar item (item-to-item).
3. Desain Rekomendasi
Desain rekomendasi terkait pada 2 hal, yakni bagaimana rekomendasi
disajikan dan bagaimana sifat rekomendasi atau tingkat personalisasinya. Ada 3
cara untuk menyajikan rekomendasi kepada user, yaitu:
1. Push : bentuk aktif pemberian rekomendasi, seperti mengirimkan kepada user
melalui email.
2. Pull : rekomendasi tidak ditampilkan jika user tidak meminta
3. Pasif : menampilkan item lain yang berhubungan item yang sedang dilihat/
diakses user pada saat itu.
Tingkat personalisasi rekomendasi yang diberikan kepada user ada 2 macam,
yaitu:
1. Personalized : rekomendasi yang diberikan kepada user tidak sama antara satu
dengan yang lain, bergantung pada masing-masing profil user.
2. Non-personalized : bentuk rekomendasi ini tidak melihat profil masing-masing
user, dengan kata lain rekomendasi bersifat umum sehingga dapat diberikan bagi
semua pengunjung/ visitor.
BAB III
METODE PENELITIAN
3.1 Objek Penelitian
Recommender System merupakan sebuah aplikasi information
filtering untuk mencari dan memberikan rekomendasi item berupa
informasi, produk, atau layanan kepada user berdasarkan prediksi yang
bersifat personal (Sarwar, Badrul. 2001). Pengembangan recommender
system oleh berbagai online vendor merupakan langka untuk menarik
lebih banyak perhatian pengguna dan meningkatkan kepuasan pengguna
terhadap hasil pencarian informasi secara online. Pada e-commerce
misalnya, dimana sistem rekomendasi digunakan secara luas untuk
menyarankan produk kepada pelanggan dan untuk menyediakan
pelanggan dengan informasi sehingga membantu pelanggan memutuskan
pilihan produk yang akan dibeli (Mortensen, Magnus. 2007). Hal ini
menjadi sangat penting bagi keberhasilan industri di bidang teknologi
informasi dan e-commerce saat ini yang secara bertahap mendatangkan
keuntungan dari segi popularitas di berbagai aplikasi, misalnya proyek
Netflix, Google news, dan Amazon.
3.2 Metode Pengumpulan Data
Dalam pengumpulan data yang akan digunakan dalam sistem
rekomendasi dapat dilakukan dengan dua cara (Sanjung, Ariyani. 2011)
yaitu secara eksplisit dan implisit .
Secara eksplisit dapat dilakukan misalnya dengan meminta user untuk
merating sebuah item dari range tertentu, memberikan ranking
berdasarkan dari item yang disukai dan yang tidak disukai oleh user,
ataupun dengan meminta user untuk melakukan list terhadap item-item
yang disukai.
Implisit dilakukan dengan mengamati pola kecenderungan user
(behavior user) melalui observasi social network atau dengan mengamati
item-item yang sering dilihat atau didengar oleh user. Dengan kata lain,
jika secara eksplisit user memberikan penilaian preferensi terhadap item
secara langsung, sedangkan implisit tidak secara langsung.
3.3 Jenis Data
Jenis data dalam penulisan ini adalah data primer dan data sekunder.
Data primer meliputi data pencarian informasi system recommender yang
penulis praktikkan langsung. Sedangkan sumber sekunder bersumber
pada buku-buku yang penulis cari di perpustakaan atau penlusi pinjam
dari perorangan selain ini data sekunder juga penulis peroleh dari internet
demi melengkapi makalah ini.
3.4 Alur Penelitian
Collaborative filtering (CF) adalah teknologi recommender system
yang paling sukses dan populer saat ini, serta penggunaan CF sangat
sukses untuk berbagai recommender system yang ada di internet. Teknik
ini menggunakan teknik statistik untuk menemukan satu set user yang
dikenal sebagai neighbors, dimana setiap user memiliki kesamaan minat
dan pendapat dengan target user (yaitu, mereka memiliki beberapa rating
item yang sama atau kecenderungan user menyukai item yang sama).
Setelah lingkungan neighbors terbentuk, sistem ini akan menggunakan
beberapa algoritma untuk menghasilkan rekomendasi.
Gambar 3.1 Proses Collaborative Filtering (Sarwar, Badrul. 2001).
Dalam skenario CF terdapat daftar pengguna m user U = {u1,
u2,…, um} dan daftar item I = {p1, p2,…, pn}. Setiap ui user
mengekspresikan pendapatnya tentang daftar item miliknya. Kumpulan set
dari pendapat itu disebut dengan rating dari user ui dan dilambangkan
dengan Iui. Setelah sistem ini menentukan ketetanggaan terdekat, maka
sistem akan merepresentasikan item yang mungkin disukai user dalam dua
bentuk, yaitu:
1. Prediksi, merupakan nilai numerik dimana Pa,j adalah nilai prediksi
rating item j yang mungkin disukai oleh active user (Ua). Nilai
prediksi ini digunakan dengan skala yang sama dengan nilai yang
disediakan (misalnya, dari skala 1 sampai 5).
2. Rekomendasi adalah daftar N item yang mungkin akan disukai oleh
user Ua. Daftar yang direkomendasikan biasanya terdiri dari item
yang belum pernah dibeli atau dirating oleh active user. Output dari
algoritma CF ini juga dikenal sebagai Top-N Recommendation.
Gambar 3.1 menunjukkan diagram skema dari proses collaborative
filtering. Algoritma CF merepresentasikan seluruh m x n user-item
sebagai matriks rating dimana setiap entri merupakan nilai rating dari
user untuk setiap item. Active user (Ua) pada skema ini merupakan
user yang akan dicari item yang mungkin disukainya dengan
menggunakan algoritma CF (Sarwar, Badrul. 2001).
BAB IV
HASIL DAN PEMBAHASAN
1. Install software R version 3.4.3
2. Disini kami akan melakukan sistem rekomendasi terhadap MovieLens, maka terdapat
4 library yang digunakan, yaitu :
library(recommenderlab)
library(ggplot2)
library(data.table)
library(reshape2)
3. Unduh dataset MovieLens pada link https://grouplens.org/datasets/movielens/
4. Install packages recommenderlab, berikut perintahnya :
install.packages("recommenderlab")
Gambar 4.1 Install Packages Recommenderlab
5. Berikut script lanjutannya :
library(datasets) # load required library
library(recommenderlab) # package being evaluated
library(ggplot2) # for plots
data(MovieLense) # load the data we are going to work with MovieLense
# 943 x 1664 rating matrix of class ‘realRatingMatrix’ with 99392
ratings.image(sample(MovieLense, 500), main = "Raw ratings")
# Visualizing a sample of this
6. Menampilkan Raw ratings, berikut scriptnya :
image(sample(MovieLense, 500), main = “Raw ratings”)
# Visualizing ratings
Gambar 4.2 Tampilan Raw Ratings
7. Menampilkan Histogram of ratings, berikut scriptnya :
qplot(getRatings(MovieLense), binwidth = 1, main = “Histogram of ratings”,
xlab = “Rating”)
summary(getRatings(MovieLense)) # Skewed to the right
# Min. 1st Qu. Median Mean 3rd Qu.
# 1.00
3.00
4.00
3.53
4.00
5.00
Max.
Gambar 4.3 Tampilan Histogram of Ratings
8. Menampilkan Movies Rated on average, berikut scriptnya :
# How many movies did people rate on average
qplot(rowCounts(MovieLense), binwidth = 10, main = “Movies Rated on
average”, xlab = “# of users”, ylab = “# of movies rated”)
# Seems people get tired of rating movies at a logarithmic pace. But most rate
some.
recommenderRegistry$get_entries(dataType = “realRatingMatrix”)
# We have a few options. Let’s check some algorithms against each other
scheme