Makalah Sistem Recommender Movie Ibu Hamil

MAKALAH
SISTEM RECOMMENDER MOVIE MENGGUNAKAN BAHASA
PEMROGRAMAN R

Disusun Oleh :
Arif Budi Setiawan

(15.01.53.0064)

Saiful Budi Yanto

(15.01.53.0081)

UNIVERSITAS STIKUBANK SEMARANG (UNISBANK)
FALKUTAS TEKNOLOGI INFORMASI
SISTEM INFORMASI
2018

BAB I
PENDAHULUAN


1.1 Deskripsi Permasalahan
Perkembangan Teknologi Informasi berdampak positif pada berkembangnya
berbagai peranti lunak pengolah data. Secara umum, ada beberapa kategori
software analisis data, yang bersifat komersil seperti 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.
R adalah bahasa pemrograman dan perangkat lunak untuk analisis statistika
dan grafik. R dibuat oleh Ross Ihaka dan Robert Gentleman di Universitas
Auckland, Selandia Baru, 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 suatu bahasa pemrograman dan lingkungan perangkat lunak (juga
dikenal sebagai GNU S) untuk komputasi dan grafis statistik. Bahasa
pemrograman R sudah menjadi standar de facto bagi para statistikawan untuk
mengembangkan perangkat lunak statistik, dan digunakan secara luas untuk
pengembangan software statistik dan analisis data.
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 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
Terdapat

rumusan


masalah

yaitu

“Sistem

Recommender

dengan

menggunakan bahasa R”
1.3 Tujuan Penulisan
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
Recommendation system banyak digunakan untuk membuat prediksi seperti buku,
music dalam film. Sasarannya adalah pengunjung toko online, di mana system ini
memberikan prediksi dan penawaran terbaik produk apa yang disukai. Data referensi
produk dari pengunjung disimapan untuk kemudian diolah menggunakan teknik statistik
sehinggga menghasilkan rekomnendasi barang terkait. Teknologi ini banyak diapdopsi
oleh perusahaan besar di dunia e-commerce dalam seperti Amazon, Netflix dan Pandora.
Sedemikian pentingnya recomender system ini bagi ecommerce 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.
Recommendation system dibagi menjadi dua yaitu Content Based Approach dan
Collaborative Filtering. Penelitian ini bertujuan untuk memberikan gambaran mengenai
recommender system beserta aplikasinya yang bersifat opensource yang masih
dikembangkan

hingga


saat

ini

sehingga

memudahkan

para

peneliti

untuk

melakukanpenelitian 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 penilaiaannya terhadap produk. Kesimpulannya ialah system
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 matrix
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.

Berikut ini menunjukkan taksonomi recommender system


Pada gambar terdapat tiga 3 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 itemitem 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:
 Push : bentuk aktif pemberian rekomendasi, seperti mengirimkan kepada user
melalui email.
 Pull : rekomendasi tidak ditampilkan jika user tidak meminta
 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:
 Personalized : rekomendasi yang diberikan kepada user tidak sama antara satu
dengan yang lain, bergantung pada masing-masing profil user.
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 bukubuku 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

Contoh scriptnya :
install.packages("recommenderlab")
library(datasets)
# Load required library
library(recommenderlab) # package being evaluated
library(ggplot2) # For plots
# Load the data we are going to work with
data(MovieLense)
MovieLense
# 943 x 1664 rating matrix of class „realRatingMatrix‟ with 99392 ratings.
# Visualizing a sample of this
image(sample(MovieLense, 500), main = "Raw ratings")
# Visualizing ratings
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.

Max.

# 1.00

3.00

4.00

3.53

4.00

5.00

# 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