Anda di halaman 1dari 49

Penggunaan Sentiment Analysis pada Sistem Rekomendasi

Collaborative Filtering

TUGAS AKHIR

Disusun Oleh:
JASON TAN
1117014

PROGRAM STUDI INFORMATIKA


INSTITUT TEKNOLOGI HARAPAN BANGSA
BANDUNG
2020
Penggunaan Sentiment Analysis pada Sistem Rekomendasi
Collaborative Filtering

TUGAS AKHIR
Diajukan sebagai salah satu syarat untuk memperoleh
gelar sarjana dalam bidang Informatika

Disusun Oleh:
JASON TAN
1117014

PROGRAM STUDI INFORMATIKA


INSTITUT TEKNOLOGI HARAPAN BANGSA
BANDUNG
2020
PERNYATAAN PERSETUJUAN PUBLIKASI TUGAS AKHIR
UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Institut Teknologi Harapan Bangsa, saya yang bertanda
tangan di bawah ini:

Nama : Jason Tan


NIM : 1117014
PROGRAM STUDI : Informatika
demi pegembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Institut Teknologi Harapan Bangsa Hak Bebas Royalti Noneksklusif
(Non-exclusive Royalty Free Rights) atas karya ilmiah saya yang berjudul:

PENGGUNAAN SENTIMENT ANALYSIS PADA SISTEM REKOMENDASI


COLLABORATIVE FILTERING

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneksklusif ini Institut Teknologi Harapan Bangsa berhak menyimpan,
mengalihmediakan, mengelola dalam pangkalan data, dan memublikasikan karya
ilmiah saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan
sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya.

Bandung, .. 2020
Yang menyatakan

Jason Tan

i
DAFTAR ISI

LEMBAR PERNYATAAN HASIL KARYA PRIBADI i

LEMBAR PENGESAHAN i

ABSTRAK i

ABSTRACT i

PUBLIKASI TUGAS AKHIR i

KATA PENGANTAR ii

DAFTAR ISI iii

DAFTAR TABEL iv

DAFTAR GAMBAR v

I PENDAHULUAN 1-1
1.1 Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2 Rumusan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.3 Batasan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.4 Tujuan Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
1.5 Kontribusi Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
1.6 Metode Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
1.7 Sistematika Penulisan . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

II LANDASAN TEORI 2-1


2.1 Tinjauan Pustaka . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1.1 Sistem Rekomendasi . . . . . . . . . . . . . . . . . . . . . 2-1
2.1.2 Pearson Correlation . . . . . . . . . . . . . . . . . . . . . 2-3
2.1.3 Sentiment Analysis . . . . . . . . . . . . . . . . . . . . . . 2-4
2.1.4 Support Vector Machine . . . . . . . . . . . . . . . . . . . 2-4
2.1.5 TF-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.2 Tinjauan Studi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.2.1 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.3 Tinjauan Objek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

ii
2.3.1 E-Commerce . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.3.2 Rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.3.3 Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

III ANALISIS DAN PERANCANGAN SISTEM 3-1


3.1 Analisis Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.2 Kerangka Pemikiran . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.3 Analisis Urutan Proses Global . . . . . . . . . . . . . . . . . . . . 3-2
3.3.1 Proses Training Support Vector Machine . . . . . . . . . . . 3-4
3.3.2 Proses Klasifikasi SVM . . . . . . . . . . . . . . . . . . . 3-5
3.4 Analisis Kasus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.4.1 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.4.2 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.4.3 Sentiment Analysis . . . . . . . . . . . . . . . . . . . . . . 3-15
3.4.4 New Rating . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
3.4.5 User-Item Matrix . . . . . . . . . . . . . . . . . . . . . . . 3-24
3.4.6 Memory-Based Collaborative Filtering . . . . . . . . . . . 3-25

DAFTAR REFERENSI vi

iii
DAFTAR TABEL

2.1 State-of-the-art method . . . . . . . . . . . . . . . . . . . . . . . . 2-6

3.1 Contoh dataset dari situs Amazon . . . . . . . . . . . . . . . . . . 3-6


3.2 Rincian dataset dari situs Amazon . . . . . . . . . . . . . . . . . . 3-6
3.3 Contoh Case Folding . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
3.4 Contoh Tokenizing . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
3.5 Contoh Stopword Removal . . . . . . . . . . . . . . . . . . . . . . 3-10
3.6 Contoh Stopword Removal . . . . . . . . . . . . . . . . . . . . . . 3-12
3.7 Format Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
3.8 Nilai x1, x2, x3, x4, x5 . . . . . . . . . . . . . . . . . . . . . . . . 3-16
3.9 Tabel Matrix Perhitungan Nilai X . . . . . . . . . . . . . . . . . . 3-17
3.10 Tabel Matrix Perhitungan Nilai Y . . . . . . . . . . . . . . . . . . 3-17
3.11 Support Vector Bias . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
3.12 Contoh Stopword Removal . . . . . . . . . . . . . . . . . . . . . . 3-20
3.13 Tabel Matrix Perhitungan Nilai X Testing . . . . . . . . . . . . . . 3-21
3.14 Tabel Matrix Perhitungan Nilai Y Testing . . . . . . . . . . . . . . 3-22
3.15 Tabel Pemetaan Klasifikasi Teks dengan Nilai Angka . . . . . . . . 3-22
3.16 Contoh hasil dari perhitungan new rating . . . . . . . . . . . . . . . 3-23
3.17 Contoh user-item matrix dengan overall . . . . . . . . . . . . . . . 3-24
3.18 user-item matrix dengan newRating . . . . . . . . . . . . . . . . . 3-24
3.19 Matrix produk P-1 dan produk P-2 dengan overall . . . . . . . . . 3-25
3.20 Matrix produk P-1 dan produk P-2 dengan newRating . . . . . . . 3-25
3.21 Hasil perhitungan korelasi antar produk . . . . . . . . . . . . . . . 3-26

iv
DAFTAR GAMBAR

2.1 Content Based Filtering . . . . . . . . . . . . . . . . . . . . . . . . 2-2


2.2 User-Item Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.3 User-Based dan Item-Based . . . . . . . . . . . . . . . . . . . . . . 2-3
2.4 Sentiment Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.5 Support Vector Machine . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.6 Rating dan Review . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
3.1 Kerangka Pemikiran . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2 Flowchart Global Sistem Rekomendasi . . . . . . . . . . . . . . . 3-3
3.3 Flowchart Training Support Vector Machine . . . . . . . . . . . . . 3-4
3.4 Flowchart Support Vector Machine . . . . . . . . . . . . . . . . . . 3-5
3.5 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
3.6 Contoh hasil perhitungan TF-IDF . . . . . . . . . . . . . . . . . . 3-14
3.7 Tabel Review yang Diberi Label . . . . . . . . . . . . . . . . . . . 3-16
3.8 Tabel Review Test yang Diberi Label . . . . . . . . . . . . . . . . . 3-21

v
BAB I

PENDAHULUAN

1.1 Latar Belakang


Indonesia merupakan negara dengan tingkat penggunaan e-commerce tertinggi di
dunia dengan 90 persen pengguna internet berusia 16-64 tahun pernah membeli
produk dan jasa secara online pada tahun 2019 [1]. Banyaknya penggunaan
e-commerce menyebabkan bertambahnya produk yang ada. Dari sekian banyak
produk, pembeli akan kebingungan mencari barang mana yang paling cocok untuk
mereka, karena itu dalam e-commerce sangat dibutuhkan sebuah sistem
rekomendasi. Sistem rekomendasi dalam e-commerce dapat membantu
meningkatkan penjualan, membantu pembeli maupun penjual dalam perdagangan
barang dan jasa.

Ada dua pendekatan yang digunakan pada sistem rekomendasi yaitu


Content-Based dan Collaborative Filtering. Pendekatan Content-Based
merekomendasikan produk yang memiliki karakteristik serupa dengan produk
yang telah dibeli sebelumnya oleh pengguna. Kelemahan dari pendekatan ini
adalah sistem rekomendasi tidak dapat merekomendasikan produk yang walaupun
sesuai bagi pengguna tetapi produk tersebut tidak mempunyai kemiripan
karakteristik dengan produk yang sebelumnya pernah dibeli [2]. Pendekatan
Collaborative Filtering merekomendasikan produk berdasarkan kesamaan antar
pengguna atau antar produk dilihat dari penilaian para pengguna terhadap
produk-produk [2]. Kelebihan dari pendekatan ini adalah pengguna bisa
menemukan produk baru yang tidak memiliki karakteristik yang serupa dengan
produk yang pernah dibeli sebelumnya karena produk tersebut telah dibeli oleh
pengguna lain yang memiliki kesamaan dalam penilaian. Pendekatan
Collaborative Filtering menggunakan data kuantitatif seperti rating untuk
mengetahui ketertarikan yang sama antar pengguna terhadap suatu produk tanpa
mengetahui pendapat atau opini pengguna terhadap produk tersebut. Hal ini bisa
menyebabkan kurangnya akurasi pada pendekatan Collaborative Filtering karena
ada kemungkinan nilai rating tidak terkait dengan produk yang dibeli, contohnya
bisa saja orang memberi rating buruk karena pengiriman yang lambat tetapi puas
terhadap produk yang dibeli.

Pendekatan Collaborative Filtering dapat dibagi menjadi Memory Based dan

1-1
I. PENDAHULUAN

Model Based. Memory Based menggunakan data rating sebagai bahan untuk
mencari kesamaan antar produk atau user, sedangkan Model Based membuat
model menggunakan teknik-teknik data mining lalu menggunakan model tersebut
untuk mendapatkan hasil rekomendasi [3]. Menurut Eka Angga Laksana, Memory
Based Collaborative Filtering digunakan pada sistem rekomendasi situs Amazon
karena sangat efektif dan kemudahannya dalam implementasi [3]. Suriati., et al,
melakukan penelitian terhadap berbagai pendekatan sistem rekomendasi.
Penelitian ini membandingkan pendekatan Content Based, Collaborative Filtering,
dan pendekatan Hybrid yang merupakan gabungan dari dua pendekatan
sebelumya. Hasil dari penelitian tersebut adalah nilai Mean Absolute Percentage
Error (MAPE) dari Collaborative Filtering, Content Based dan Hybrid adalah
0,73, 0,93, dan 0,973. Nilai MAPE menunjukkan bahwa Collaborative Filtering
mempunyai nilai error yang lebih kecil dibandingkan kedua metode lainnya [4].

Di sisi lain, ada Sentiment Analysis yang merupakan metode untuk mengambil
nilai sentimen dari review seseorang terhadap sebuah produk. Dengan
menggunakan Sentiment Analysis maka sistem rekomendasi Collaborative
Filtering dapat ditingkatkan akurasinya karena nilai rating dapat dipadukan dengan
nilai review pengguna yang berbentuk teks terhadap produk yang telah dibeli.
Sentiment Analysis merupakan metode yang mengekstrak opini atau sentimen
orang-orang berdasarkan analisa teks [5].

Berdasarkan penelitian yang dilakukan oleh Tanjim Ul Haque., et al, pembeli


cenderung melihat review sebelum membeli produk di e-commerce adalah hal
yang sangat umum dilakukan [6]. Pada penelitian ini, Tanjim Ul Haque., et al
membandingkan metode Support Vector Machine (SVM), Naı̈ve Bayes, Stochastic
Gradient Descent, Random Forest, Logistic Regression, dan Decission Tree untuk
mendapatkan nilai sentimen dari review produk pada situs Amazon. Hasil dari
penelitian tersebut adalah Support Vector Machine mempunyai akurasi yang paling
tinggi dibandingkan dengan metode lainnya dengan nilai akurasi sentimen hingga
94,02 persen. Selanjutnya berdasarkan penelitian yang dilakukan oleh Amel
Ziani., et al, pendapat pengguna terhadap produk dapat dinyatakan secara langsung
melalui rating atau secara tidak langgsung melalui review. Rating dan review
tersebut bisa menjadi pertimbangan bagi para pembeli lain yang melihat produk
tersebut [7]. Penelitian ini bertujuan untuk memberikan sistem rekomendasi yang
tepat kepada pengguna berbahasa Arab dengan menggabungkan Sentiment
Analysis ke dalam sistem rekomendasi. Sistem yang diajukan menggunakan
Semi-Supervised Support Vector Machine (S3VM) untuk menganalisa sentimen

1-2
I. PENDAHULUAN

review berbahasa Arab dan mengubah data review teks menjadi angka. Hasil
angka yang dihasilkan dari S3VM akan digunakan pada sistem rekomendasi
Collaborative Filtering untuk mencari korelasi antar pengguna. Hasil dari
penelitian menunjukkan nilai untuk sistem rekomendasi berbahasa Inggris,
Prancis, dan Arab mendapatkan nilai Mean Absolute Error (MAE) sebesar 0,52,
0,50, dan 0,60 dan nilai precission sebesar 0,96, 1, dan 0,9. Hal ini menunjukkan
bahwa penggabungan Sentiment Analysis ke dalam sistem rekomendasi bisa
menghasilkan rekomendasi yang berkualitas.

Pada penelitian ini, peneliti akan menggunakan sistem rekomendasi dengan


pendekatan Memory-Based Collaborative Filtering yang digabungkan dengan
Sentiment Analysis. Metode yang akan digunakan untuk mendapatkan nilai
Sentiment Analysis adalah metode Support Vector Machine (SVM). Nilai yang
dihasilkan dari SVM akan digabungkan dengan nilai rating dan menghasilkan nilai
baru untuk digunakan pada Memory-Based Collaborative Filtering.

1.2 Rumusan Masalah


Rumusan masalah yang akan dibahas pada penelitian ini adalah:

1. Berapakah nilai akurasi penggunaan Memory-Based Collaborative Filtering


yang digabung dengan Sentiment Analysis menggunakan metode Support
Vector Machine?

2. Apakah sistem rekomendasi Memory-Based Collaborative Filtering yang


digabungkan dengan Sentiment Analysis metode Support Vector Machine
menghasilkan akurasi yang lebih baik atau tidak?

1.3 Batasan Masalah


Batasan masalah yang ada pada penelitian ini adalah:

1. Dataset yang didapatkan mengandung nilai rating dan review teks, tetapi tidak
ada label positif atau negatif dari review teks.

2. Data review teks dari dataset yang didapatkan adalah review berbahasa
Inggris.

3. Data berlabel positif dan negatif yang akan digunakan pada data latih
Sentiment Analysis akan dihasilkan menggunakan Google Cloud Platform
dengan 50 persen dari total dataset.

1-3
I. PENDAHULUAN

1.4 Tujuan Penelitian


Tujuan dilakukannya penelitian ini adalah untuk meningkatkan akurasi sistem
rekomendasi Memory-Based Collaborative Filtering menggunakan Sentiment
Analysis metode Support Vector Machine.

1.5 Kontribusi Penelitian


Menggunakan nilai dari Sentiment Analysis metode Support Vector Machine yang
didapatkan dari review pengguna terhadap produk sebagai parameter yang
digunakan pada sistem rekomendasi menggunakan metode Memory-Based
Collaborative Filtering.

1.6 Metode Penelitian


Metode penelitian yang akan dilakukan dalam penelitian ini adalah:

1. Studi Literatur
Penulisan penelitian dengan mengumpulkan dari sumber-sumber referensi
baik artikel, jurnal, paper mengenai sistem rekomendasi dan Sentiment
Analysis.

2. Pengumpulan Data
Tahap ini merupakan tahap pengambilan dataset. Dataset adalah data
pembelian produk kategori Software pada e-commerce Amazon.

3. Analisis Masalah
Dilakukan analisis masalah yang ada, batasan masalah, dan kebutuhan yang
diperlukan.

4. Training Data
Tahap ini adalah tahap melatih dataset untuk Sentiment Analysis yang akan
dikategorikan sebagai data review positif dan negatif.

5. Testing Data
Tahap testing merupakan tahap pengujian sistem rekomendasi dengan
menggunakan Sentiment Analysis.

6. Evaluasi
Tahap evaluasi merupakan tahap terakhir, membandingkan hasil akurasi
sebelum dan sesudah sistem rekomendasi memakai Sentiment Analysis.
Hasil akan diukur menggunakan Root Mean Square Error (RMSE).

1-4
I. PENDAHULUAN

1.7 Sistematika Penulisan


BAB I : PENDAHULUAN

Bab ini berisi penjelasan mengenai masalah dan penyelesaian yang akan
dikerjakan dalam Penelitian. Bab Pendahuluan meliputi latar belakang, rumusan
masalah, batasan masalah, tujuan penelitian, kontribusi penelitian, metodologi
penelitian, dan sistematika pembahasan.

BAB II : LANDASAN TEORI

Bab II berisi hasil studi literatur yang dilakukan dalam pengerjaan Penelitian. Bab
ini menjelaskan hal-hal terkait teori dalam Penelitian, seperti tinjauan studi,
tinjauan pustaka yang berisi obyek penelitian, landasan teori tentang metode,
tahapan algoritma dan contoh penerapannya.

BAB III : ANALISIS DAN PERANCANGAN

Bab III secara umum membahas tahapan pada Penelitian. Tahapan penelitian terdiri
dari pengumpulan data, pengolahan data, metode yang dipakai, pengujian metode,
evaluasi dan validasi hasil pengujian.

BAB IV : IMPLEMENTASI DAN PENGUJIAN

Bab IV berisi penjelasan mengenai implementasi dan pengujian metode.


Pembahasan implementasi mulai dari pengolahan dataset, pengolahan dataset,
pengujian dataset, evaluasi dan validasi hasil pengujian dataset.

BAB V : PENUTUP

Bab V merupakan penutup dari Laporan Penelitian. Bab ini berisi kesimpulan
yang menjelaskan hal-hal yang diperoleh selama Penelitian dan menunjukan
ketercapaian tujuan dari Penelitian dan berisi saran untuk penelitian selanjutnya.

1-5
BAB II

LANDASAN TEORI

Bab ini menjelaskan teori-teori yang berkaitan mengenai teori penunjang


dan jurnal terkait yang digunakan dalam proses penelitian tugas akhir ini.

2.1 Tinjauan Pustaka


Penelitian ini menggunakan beberapa teori terkait yang diperlukan dalam
pengerjaan yang dilakukan. Penjelasan mengenai teori-teori tersebut akan
dijelaskan sebagai berikut.

2.1.1 Sistem Rekomendasi


Sistem rekomendasi dapat didefinisikan sebagai sistem yang menyaring informasi
untuk meramalkan preferensi pengguna dan merekomendasikan barang yang
berpotensi menarik bagi pengguna tersebut [2]. Sistem rekomendasi pada
e-commerce berfungsi untuk membantu meningkatkan penjualan produk dan
membantu pengguna mencari produk yang tepat dari antara banyaknya
produk-produk yang ada. Ada dua pendekatan yang digunakan pada sistem
rekomendasi, yaitu Content-Based dan Collaborative Filtering, masing-masing
dengan kelebihan dan kekurangan tersendiri.

2.1.1.1 Content-Based
Content-Based merekomendasikan produk yang mempunyai kemiripan dengan
produk yang pernah dibeli sebelumnya oleh pengguna. Content-Based
menganalisa karakteristik dari produk yang dibeli oleh seorang pengguna lalu
mencari produk yang memiliki karakteristik yang serupa dan
merekomendasikannya kepada pengguna tersebut. Ada dua teknik yang dapat
digunakan untuk menghasilkan rekomendasi Content-Based, menggunakan
metode pengambilan informasi tradisional seperti Cosine-Similarity, TF-IDF,
Latent Dirichlet Allocation (LDA), atau menggunakan metode Machine Learning
seperti Naive-Bayes, Support Vector Machines, dan Decission Tree [2]. Pada
gambar 2.1 bisa dilihat cara kerja Content-Based. Seorang pengguna membeli
sebuah produk (merah), produk tersebut mempunyai kesamaan karakteristik
dengan produk lain (biru) karena itu produk biru direkomendasikan kepada
pengguna yang membeli barang merah.

2-1
II. LANDASAN TEORI

Gambar 2.1 Content Based Filtering

2.1.1.2 Collaborative Filtering


Collaborative Filtering mencari kesamaan antar pengguna berdasarkan informasi
interaksi para pengguna terhadap produk-produk [2]. Pengguna yang mempunyai
kemiripan rating pada produk yang telah dibeli akan mempunyai kemiripan rating
pada produk yang belum dibeli. Contohnya, pengguna A dan B membeli produk X
dan mereka berdua menyukai produk tersebut, jika pengguna A membeli produk Y
dan menyukai produk tersebut, ada kemungkinan pengguna B juga akan menyukai
produk Y. Interaksi antara para pengguna dengan produk-produk yang ada dapat
dilihat menggunakan user-item matrix yang menunjukkan rating para pengguna
terhadap produk-produk yang ada. Gambar 2.2 menunjukkan contoh dari
user-item matrix, matrix tersebut menunjukkan rating pengguna terhadap produk
yang pernah dibeli.

Gambar 2.2 User-Item Matrix

Ada dua tipe Collaborative Filtering, yaitu Memory Based Collaborative Filtering
dan Model Based Collaborative Filtering. Pebedaan dari keduanya adalah Memory
Based mencari kesamaan antar pengguna atau produk menggunakan operasi
aritmatika, sedangkan Model Based menggunakan machine learning untuk
memprediksi rating dari produk yang belum dinilai. Memory Based bisa dibagi
lagi menjadi User-Based dan Item-Based. User-Based merekomendasikan produk
berdasarkan kesamaan antara kedua pengguna, sedangkan Item-Based

2-2
II. LANDASAN TEORI

merekomendasikan produk yang mempunyai kesamaan dengan produk yang


disukai oleh seorang pengguna [8]. Contoh User-Based bisa dilihat pada gambar
2.3 (a), pengguna merah dan pengguna hijau memiliki kesamaan, karena itu
pengguna hijau direkomendasikan barang yang telah dibeli oleh pengguna merah.
Contoh dari Item-Based bisa dilihat pada gambar 2.3 (b), produk lolipop memiliki
kesamaan dengan produk es krim, karena pengguna hijau telah membeli lolipop
maka produk es krim direkomendasikan kepada pengguna hijau.

Gambar 2.3 User-Based dan Item-Based

2.1.2 Pearson Correlation


Pearson Correlation adalah salah satu ukuran korelasi yang digunakan untuk
mengukur hubungan linier dari dua variabel. Kesamaan antar produk atau antar
pengguna bisa dihitung menggunakan Pearson Correlation. Pearson Correlation
bisa menghasilkan nilai korelasi antara dua produk atau dua pengguna dengan
mengambil data dari user-item matrix lalu dihitung menggunakan rumus dan
menghasilkan nilai mulai dari -1 sampai 1. Rumus dari Pearson Correlation bisa
dilihat pada persamaan 2.1.

(n ∑ xy) − ((∑ x)(∑ y))


r= p (2 . 1)
(n ∑ x2 − (∑ x)2 )(n ∑ y2 − (∑ y)2 )

Keterangan
x : Variabel data pertama
y : Variabel data kedua
n : Banyaknya pasangan data x dan y

2-3
II. LANDASAN TEORI

2.1.3 Sentiment Analysis


Sentiment Analysis merupakan metode untuk menganalisa data berupa teks untuk
mengetahui nilai sentimen dari teks tersebut. Biasanya nilai sentimen tersebut
diukur menggunakan nilai positif atau negatif yang disebut polaritas [9]. Nilai
polaritas bisa berkisar dari angka -1 sampai 1 yang menunjukkan teks negatif bila
mendekati -1 dan menunjukkan teks positif bila mendekati 1. Sentiment Analysis
dapat diklasifikasikan menjadi Machine Learning Technique dan Lexicon Based
Approach [10]. Machine Learning Technique menggunakan teknik Machine
Learning untuk mengklasifikasikan kelas teks, sedangkan Lexicon Based Approach
menggunakan data kamus untuk menentukan kata positif dan negatif. Gambar 2.4
menunjukkan contoh teks dan sentimen dari teks tersebut. Dalam gambar bisa
dilihat klasifikasi dibuat menjadi tiga kelas, kelas juga bisa ditambahkan lebih
banyak lagi agar hasil dari sentimen bisa lebih presisi.

Gambar 2.4 Sentiment Analysis

2.1.4 Support Vector Machine


Support Vector Machine (SVM) merupakan metode supervised learning yang
digunakan untuk melakukan klasifikasi. SVM dapat digunakan dalam
pengklasifikasian teks ke dalam kelas, contohnya teks ke dalam kelas positif dan
teks kelas negatif. SVM mencari hyperplane terbaik dengan memaksimalkan jarak
antar kelas [11]. Hyperplane adalah fungsi yang dapat digunakan untuk
memisahkan antar kelas, jarak dari Hyperplane ke kelas terdekat disebut margin,
dan titik terdekat yang menyentuh Hyperplane disebut sebagai margin. Berikut
adalah visualisasi dari SVM pada gambar 2.5.

2-4
II. LANDASAN TEORI

Gambar 2.5 Support Vector Machine

Untuk mendapatkan nilai Hyperplane, dapat digunakan persamaan 2 . 2, 2 . 3, dan


2 . 4.

wT .x + b = 0 (2 . 2)
wT .x + b ≥ +1, dimana yi = +1 (2 . 3)
wT .x + b ≤ −1, dimana yi = −1 (2 . 4)

Keterangan
x : Vector masukan.
yi : Kelas.
wT : Vektor weight.
b : Bias.

Kemudian nilai w dapat ditemukan menggunakan persamaan 2 . 5.

m
w = ∑ αi yi xi (2 . 5)
i=1

2-5
II. LANDASAN TEORI

Keterangan
w : Vector weight.
αi : Nilai alpha ke i.
xi : Vektor masukan ke i.
yi : Nilai kelas ke i.

2.1.5 TF-IDF
TF-IDF atau Term Frequency - Inverse Document Frequency adalah teknik untuk
mengetahui seberapa pentingnya sebuah kata di dalam sebuah dokumen. Kata
yang penting dan unik dalam sebuah dokumen akan merepresentasikan maksud
dari dokumen tersebut. Rumus dari TF-IDF dapat dilihat pada persamaan 2.2.
Kata yang sering muncul dalam sebuah dokumen tetapi jarang muncul di dokumen
lainnya akan mempunyai nilai TF-IDF yang tinggi.

N
W (x, y) = t f (x, y).log( ) (2 . 6)
d f (x)

Keterangan
W (x, y) : Nilai kata x dalam dokumen y.
t f (x, y) : Frekuensi kata x dalam dokumen y.
d f (x) : Banyak dokumen yang mengandung kata x.
N : Total dokumen yang ada.

2.2 Tinjauan Studi


Pada bagian ini akan dijelaskan mengenai perbandingan dari berbagai penelitian
terkait metode sistem rekomendasi.

2.2.1 State of the Art


Terdapat beberapa penelitian yang mirip dengan penelitian tentang sistem
rekomendasi. Tabel 2.1 State of the Art akan menjelaskan perbedaan-perbedaan
metode yang telah dipelajari oleh penulis dari jurnal.

Tabel 2.1 State-of-the-art method

Jurnal Metode Hasil Penelitian

2-6
II. LANDASAN TEORI

Tabel 2.1 State of the Art (Lanjutan)


Jurnal Metode Hasil Penelitian
Tae-Yeun Kim, Sung Hasil dari penelitian ini adalah
Bum Pan, and Sung- peningkatan akurasi pada sistem
1. Singular Value
Hwan Kim. ”Sentiment rekomendasi yang digabungkan
Decomposition
Digitization Modeling dengan Sentiment Analysis.
(SVD)
for Recommendation Nilai MAE yang didapatkan
System”, Sustainability 2. SVD++ untuk metode SVD dan SVD++
12.12, 2020. mendapatkan peningkatan
sebesar 0,1012 dan 0,188,
dan nilai RMSE mendapatkan
peningkatan untuk metode SVD
dan SVD++ sebesar 0.1103 dan
0.1756.
Amel Ziani, Nabiha Hasil penelitian menunjukkan
Azizi, Didier Schwab, nilai MAE untuk dataset
1. User-Based
Monther Aldwairi., et berbahasa Inggris, Prancis
Collaborative
al. ”Recommender dan Arab mendapatkan nilai
Filtering
System Through 0,52, 0,50, dan 0,60, dan untuk
Sentiment Analysis”, 2nd 2. Semi-Supervised nilai precission 0,96, 0,10, dan
International Conference Support Vector 0,90. Hal ini menunjukkan
on Automatic Control, Machine kualitas yang bagus pada
Telecommunications and sistem rekomendasi yang
Signals, 2017. menggunakan data review.
Alia Karim Abdul Hassan Hasil dari penelitian ini adalah
and Ahmed Bahaa aldeen Naı̈ve Bayes mempunyai
1. Naı̈ve Bayes
abdulwahhab. “Reviews nilai akurasi tertinggi untuk
Sentiment Analysis 2. Logistic dataset berukuran kecil yang
for Collaborative Regression didapatkan dari Yelp sebesar
Recommender System”, 0,73, sedangkan untuk dataset
3. Decission Tree
Kurdistan Journal dari IMDB dan Qaym.com,
of Applied Research Logistic Regression mempunyai
(KJAR), 2017 akurasi tertinggi sebesar 0,89
dan 0,82.

2.3 Tinjauan Objek


Pada bagian ini akan diulas mengenai objek-objek yang terkait dengan sistem
rekomendasi pada e-commerce.

2-7
II. LANDASAN TEORI

2.3.1 E-Commerce
E-Commerce atau electronic commerce adalah segala aktivitas jual beli yang
dilakukan melalui media elektronik, seringnya dilakukan melalui media internet
[12]. Di dalam sebuah e-commerce seperti Lazada atau Amazon, pengguna dapat
melihat produk, membeli produk, dan memberikan penilaian terhadap produk yang
telah mereka beli. Penilaian yang mereka lakukan dapat berupa angka rating
maupun tulisan review.

2.3.2 Rating
Pada pembelian produk di e-commerce, pengguna dapat menilai produk yang telah
dibeli menggunakan angka atau bintang untuk menunjukkan pendapat pembeli
terhadap produk tersebut. Nilai yang diberikan mempunyai kisaran angka yang
beragam, tetapi pada umumnya mempunyai kisaran angka 1-5. Semakin suka
pengguna terhadap produk maka semakin tinggi angka rating yang diberikan.
Contoh rating bisa dilihat pada gambar 2.6, gambar tersebut menunjukkan rating
pada situs Amazon yang dilambangkan dengan bintang.

2.3.3 Review
Selain bisa memberikan rating, pengguna bisa memberikan komentar berbentuk
teks terhadap produk yang telah dibeli. Review bisa menunjukkan pendapat
pengguna terhadap produk yang telah dibeli, seringkali review yang bagus akan
diberikan bersamaan dengan rating yang bagus, begitu juga dengan review yang
buruk akan diberikan bersamaan dengan rating yang buruk. Contoh review bisa
dilihat pada gambar 2.6, tulisan yang diberikan para pengguna menunjukkan
pengalaman mereka terhadap produk tersebut.

2-8
II. LANDASAN TEORI

Gambar 2.6 Rating dan Review

2-9
BAB III

ANALISIS DAN PERANCANGAN SISTEM

Bab ini memaparkan analisis masalah yang diatasi berserta pendekatan dan alur
kerja dari algoritme yang dikembangkan, mengimplementasikan metode yang
digunakan dan hasil yang akan ditampilkan.

3.1 Analisis Masalah


Pada bab 1 telah dijelaskan bahwa sistem rekomendasi dibutukan dalam sebuah
e-commerce untuk membantu pembeli mencari barang yang cocok dari antara
banyaknya produk yang ada. Pada penelitian ini, penulis menggunakan Sentiment
Analysis untuk meningkatkan akurasi dari sistem rekomendasi Memory-Based
Collaborartive Filtering. Dengan menggunakan Sentiment Analysis, sistem
rekomendasi dapat menggunakan data kualitatif yang didapatkan dari review
pengguna terhadap produk sebagai data untuk sistem rekomendasi. Masukan untuk
sistem rekomendasi ini adalah daftar pembelian produk pada situs Amazon yang
mengandung data pembeli, produk, rating, dan review teks dari pembeli.

3.2 Kerangka Pemikiran


Berikut ini adalah kerangka pemikiran dari metode yang diusulkan untuk sistem
rekomendasi.

3-1
III. ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.1 Kerangka Pemikiran

Seperti pada gambar 3.1, terdapat beberapa variabel indikator yang memengaruhi
hasil dan perlu dilakukan penyesuaian, seperti kernel type pada klasifikasi
sentimen SVM dan jumlah minimum review dari sebuah produk untuk
Collaborative Filtering. Penelitian ini bertujuan untuk melihat hasil akurasi dari
sistem rekomendasi yang menggunakan rating dan review sebagai parameter untuk
pendekatan Collaborative Filtering.

3.3 Analisis Urutan Proses Global


Dalam penelitian ini dibagi menjadi tahap training Support Vector Machine,
Sentiment Analysis SVM, dan tahap Collaborative Filtering. Tahap training
Sentiment Analysis dilakukan untuk melatih SVM dalam mengklasifikasikan teks
review menjadi angka 1-5, kemudian tahap Sentiment Analysis untuk menentukan
klasifikasi dari teks review, dan terakhir Collaborative Filtering untuk
mendapatkan rekomendasi produk. Gambar 3.2 menunjukkan flowchart global
pada penelitian ini.

3-2
III. ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.2 Flowchart Global Sistem Rekomendasi

Algoritme Memory-Based Collaborative Filtering


1. Dari dataset dibuat user-item matrix yang terbentuk dari nama produk sebagai
kolom, ID pengguna sebagai baris, dan rating sebagai value.
2. Untuk setiap produk, akan dicari korelasinya dengan semua produk yang ada
kecuali produk itu sendiri.
3. Nilai korelasi antar dua produk akan di hitung menggunakan Pearson
Correlation.
4. Untuk setiap produk, ambil produk yang mendapatkan nilai korelasi n
tertinggi dengan produk tersebut. Dari produk yang terpilih, jangan ambil
produk yang mempunyai nilai korelasi lebih kecil dari 0.
5. Produk-produk tersebut akan menjadi rekomendasi bila pengguna membeli
sebuah produk dan memberikan nilai rating yang tinggi kepada produk yang
telah dibeli tersebut.

3-3
III. ANALISIS DAN PERANCANGAN SISTEM

3.3.1 Proses Training Support Vector Machine

Gambar 3.3 Flowchart Training Support Vector Machine

Berikut ini adalah uraian dari flowchart training SVM pada gambar 3.3 yang
dilakukan dalam penelitian ini:

1. Data yang menjadi masukan adalah data review produk yang sudah dilabelkan
menurut kelasnya masing-masing.

2. Preprocessing dilakukan terhadap kalimat review agar kalimat tersebut


menjadi lebih terstruktur. Proses preprocessing meliputi mengubah kalimat
menjadi kumpulan kata-kata, mengubah semua kata menjadi huruf kecil,
menghilangkan tanda baca, menghilangkan stop words yaitu kata-kata yang
kurang penting, kemudian mengubah kata-kata tersebut menjadi kata-kata
dasar.

3. TF-IDF atau Term Frequency - Inverse Document Frequency adalah metode


untuk menghitung bobot setiap kata. Kata yang telah dilakukan preprocessing
akan dihitung bobotnya agar diketahui mana kata yang penting pada setiap
review produk.

4. Membuat model training dari Support Vector Machine dengan


mengklasifikasikan kata-kata yang telah di proses menggunakan TF-IDF
menjadi kelas-kelas yang telah dilabelkan.

3-4
III. ANALISIS DAN PERANCANGAN SISTEM

3.3.2 Proses Klasifikasi SVM

Gambar 3.4 Flowchart Support Vector Machine

Pada gambar 3.4 terlihat urutan proses Sentiment Analysis menggunakan Support
Vector Machine. Berikut ini adalah uraian dari flowchart pada gambar 3.4 yang
dilakukan dalam penelitian ini:

1. Data yang menjadi masukan adalah data review pengguna terhadap produk
yang berbentuk teks.

2. Sama seperti proses training SVM, data masukan dilakukan preprocessing


untuk mengubah kalimat masukan agar menjadi lebih terstruktur.

3. Proses TF-IDF juga dilakukan untuk mengetahui bobot dari kalimat yang
menjadi masukan pada proses Sentiment Analysis

4. Tahap mengklasifikasikan kalimat menggunakan Support Vector Machine,


hasil dari TF-IDF akan dimasukkan kedalam data latih SVM dan dihitung
sehingga kalimat bisa di klasifikasikan sesuai dengan kelasnya.

3.4 Analisis Kasus


Pada bagian ini dilakukan analisis tahapan proses dengan melakukan perhitungan
manual.

3.4.1 Dataset
Data masukan yang akan digunakan pada penelitian ini adalah data pembelian
pada situs Amazon sebanyak 459.436 data. Dari tabel 3.1 dapat dilihat data
mempunyai kolom reviewerID yaitu ID pengguna yang melakukan pembeli, asin
yaitu ID produk, title yaitu nama produk, overall merupakan nilai rating pengguna
terhadap pembelian tersebut, dan reviewText yang merupakan review pengguna

3-5
III. ANALISIS DAN PERANCANGAN SISTEM

terhadap produk yang dibeli.

Tabel 3.1 Contoh dataset dari situs Amazon

No reviewerID asin title reviewText overall


1 A240ORQ2LF9LUI 0077613252 Connect Personal Health The materials arrived early 4
with LearnSmart 1... and were in excellent ...
2 A1OU9LR6C03LNB 0132147556 E-Marketing (6th Edition) Not worth the price. Most 2
of the concepts are pretty
superficial. The authors are
also ...
3 A1BJHRQDYVAY2J 0077613252 Connect Personal Health IF YOU ARE TAKING 1
with LearnSmart 1... THIS CLASS DON”T
WASTE YOUR ...
4 AGN3T5ERYJN5A 0132147556 E-Marketing (6th Edition) Strong backgroung, good 4
read, quite up to date. It
takes a holistic approach to
...
5 A2JZTTBSLS1QXV 0077775473 LearnSmart Access I have used LearnSmart and 5
Card for Experience can officially say ...
Psychology

Tabel 3.2 merupakan rincian dari dataset yang telah dipilih. Dari 459.436 review,
terdapat 21.663 produk dan 317.147 pengguna dengan produk yang paling banyak
di review sebanyak 8.994 review dan pengguna paling banyak melakukan review
sebanyak 73 review.

Tabel 3.2 Rincian dataset dari situs Amazon

Review 459436
Product 21663
User 375147

3.4.2 Preprocessing
Tahap ini adalah tahap menyiapkan teks yang didapatkan dari kolom
reviewText di tabel 3.1 untuk diolah ke tahap-tahap selanjutnya. Tahap
preprocessing meliputi beberapa tahap yang bisa dilihat pada gambar 3.5.

3-6
III. ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.5 Preprocessing

3.4.2.1 Case Folding


Tahap ini digunakan untuk mengubah semua huruf yang ada di kalimat menjadi
huruf kecil, menghilangkan angka, dan menghilangkan tanda baca. Hal ini
dilakukan agar hanya kata-kata saja yang ada di dalam kalimat. Contoh Case
Folding dapat dilihat pada tabel 3.3.

Tabel 3.3 Contoh Case Folding

No Sebelum Case Folding Setelah Case Folding


1 The materials arrived early and were the materials arrived early and were
in excellent condition. However for in excellent condition however for the
the money spent they really should’ve money spent they really shouldve come
come with a binder and not just loose with a binder and not just loose leaf
leaf.
2 Not worth the price. Most of the not worth the price most of the
concepts are pretty superficial. The concepts are pretty superficial the
authors are also a little behind on the authors are also a little behind on the
times. times

3-7
III. ANALISIS DAN PERANCANGAN SISTEM

3 IF YOU ARE TAKING THIS CLASS if you are taking this class dont waste
DON”T WASTE YOUR MONEY ON your money on this so called book for
THIS SO CALLED BOOK! $140.00 a book that isint even bound loose leafs
FOR A ”BOOK” THAT ISIN’T EVEN that i had to provide my own binder
BOUND LOOSE LEAFS, THAT I for turns out you can buy access to the
HAD TO PROVIDE MY OWN book at mcgraw hill connect core for
BINDER FOR. TURNS OUT YOU this book is a complete waste of money
CAN BUY ACCESS TO THE BOOK
AT MCGRAW HILL CONNECT
CORE FOR $70.00 THIS BOOK IS A
COMPLETE WASTE OF MONEY!
4 Strong backgroung, good read, quite up strong backgroung good read quite up
to date. It takes a holistic approach to to date it takes a holistic approach to
the subject. Lack of references is a bit the subject lack of references is a bit
surprising. Jorge surprising jorge
5 I have used LearnSmart and can i have used learnsmart and can
officially say that this is an amazing officially say that this is an amazing
study tool that quickly and simply study tool that quickly and simply
adapts to your style of learning. You adapts to your style of learning you
can access it at anytime and it is on the can access it at anytime and it is on the
go! Once you start using LearnSmart go once you start using learnsmart you
you will quickly realize that this is the will quickly realize that this is the best
best way to learn and study. I am way to learn and study i am a business
a business student and I did not use student and i did not use learnsmart for
LearnSmart for my Accounting I class, my accounting i class however i did
however, I did use it for my Accounting use it for my accounting ii class the
II class. The grade difference from grade difference from accounting i to
Accounting I to Accounting II was accounting ii was a whole letter grade
a whole letter grade... thanks to thanks to learnsmart every college
LearnSmart! Every college student student should definitely check it out
should definitely check it out!

3.4.2.2 Tokenizing
Tahap ini memisahkan setiap kata-kata dalam sebuah kalimat yang terpisahkan
oleh spasi dan menjadikannya kata-kata tunggal dalam bentuk array. Contoh dapat
dilihat pada tabel 3.4

Tabel 3.4 Contoh Tokenizing

No Sebelum Tokenizing Setelah Tokenizing

3-8
III. ANALISIS DAN PERANCANGAN SISTEM

1 the materials arrived early and were [’the’, ’materials’, ’arrived’, ’early’,
in excellent condition however for the ’and’, ’were’, ’in’, ’excellent’,
money spent they really shouldve come ’condition’, ’however’, ’for’, ’the’,
with a binder and not just loose leaf ’money’, ’spent’, ’they’, ’really’,
’shouldve’, ’come’, ’with’, ’a’,
’binder’, ’and’, ’not’, ’just’, ’loose’,
’leaf’]
2 not worth the price most of the [’not’, ’worth’, ’the’, ’price’, ’most’,
concepts are pretty superficial the ’of’, ’the’, ’concepts’, ’are’, ’pretty’,
authors are also a little behind on the ’superficial’, ’the’, ’authors’, ’are’,
times ’also’, ’a’, ’little’, ’behind’, ’on’, ’the’,
’times’]
3 if you are taking this class dont waste [’if’, ’you’, ’are’, ’taking’, ’this’,
your money on this so called book for ’class’, ’dont’, ’waste’, ’your’,
a book that isint even bound loose leafs ’money’, ’on’, ’this’, ’so’, ’called’,
that i had to provide my own binder ’book’, ’for’, ’a’, ’book’, ’that’,
for turns out you can buy access to the ’isint’, ’even’, ’bound’, ’loose’, ’leafs’,
book at mcgraw hill connect core for ’that’, ’i’, ’had’, ’to’, ’provide’, ’my’,
this book is a complete waste of money ’own’, ’binder’, ’for’, ’turns’, ’out’,
’you’, ’can’, ’buy’, ’access’, ’to’,
’the’, ’book’, ’at’, ’mcgraw’, ’hill’,
’connect’, ’core’, ’for’, ’this’, ’book’,
’is’, ’a’, ’complete’, ’waste’, ’of’,
’money’]
4 strong backgroung good read quite up [’strong’, ’backgroung’, ’good’, ’read’,
to date it takes a holistic approach to ’quite’, ’up’, ’to’, ’date’, ’it’, ’takes’,
the subject lack of references is a bit ’a’, ’holistic’, ’approach’, ’to’, ’the’,
surprising jorge ’subject’, ’lack’, ’of’, ’references’, ’is’,
’a’, ’bit’, ’surprising’, ’jorge’]

3-9
III. ANALISIS DAN PERANCANGAN SISTEM

5 i have used learnsmart and can [’i’, ’have’, ’used’, ’learnsmart’, ’and’,
officially say that this is an amazing ’can’, ’officially’, ’say’, ’that’, ’this’,
study tool that quickly and simply ’is’, ’an’, ’amazing’, ’study’, ’tool’,
adapts to your style of learning you ’that’, ’quickly’, ’and’, ’simply’,
can access it at anytime and it is on the ’adapts’, ’to’, ’your’, ’style’, ’of’,
go once you start using learnsmart you ’learning’, ’you’, ’can’, ’access’,
will quickly realize that this is the best ’it’, ’at’, ’anytime’, ’and’, ’it’, ’is’,
way to learn and study i am a business ’on’, ’the’, ’go’, ’once’, ’you’,
student and i did not use learnsmart for ’start’, ’using’, ’learnsmart’, ’you’,
my accounting i class however i did ’will’, ’quickly’, ’realize’, ’that’,
use it for my accounting ii class the ’this’, ’is’, ’the’, ’best’, ’way’, ’to’,
grade difference from accounting i to ’learn’, ’and’, ’study’, ’i’, ’am’,
accounting ii was a whole letter grade ’a’, ’business’, ’student’, ’and’,
thanks to learnsmart every college ’i’, ’did’, ’not’, ’use’, ’learnsmart’,
student should definitely check it out ’for’, ’my’, ’accounting’, ’i’, ’class’,
’however’, ’i’, ’did’, ’use’, ’it’, ’for’,
’my’, ’accounting’, ’ii’, ’class’,
’the’, ’grade’, ’difference’, ’from’,
’accounting’, ’i’, ’to’, ’accounting’,
’ii’, ’was’, ’a’, ’whole’, ’letter’,
’grade’, ’thanks’, ’to’, ’learnsmart’,
’every’, ’college’, ’student’, ’should’,
’definitely’, ’check’, ’it’, ’out’]

3.4.2.3 Stopword Removal


Tahap ini menghapus kata-kata yang dianggap tidak memiliki makna, yaitu kata-
kata yang memiliki informasi rendah dalam sebuah teks seperti kata ”the”, ”a”,
”and”, dan lain-lain. Contoh dapat dilihat pada table 3.5.

Tabel 3.5 Contoh Stopword Removal

No Sebelum Stopword Removal Setelah Stopword Removal


1 [’the’, ’materials’, ’arrived’, ’early’, [’materials’, ’arrived’, ’early’,
’and’, ’were’, ’in’, ’excellent’, ’excellent’, ’condition’, ’however’,
’condition’, ’however’, ’for’, ’the’, ’money’, ’spent’, ’really’, ’shouldve’,
’money’, ’spent’, ’they’, ’really’, ’come’, ’binder’, ’loose’, ’leaf’]
’shouldve’, ’come’, ’with’, ’a’,
’binder’, ’and’, ’not’, ’just’, ’loose’,
’leaf’]

3-10
III. ANALISIS DAN PERANCANGAN SISTEM

2 [’not’, ’worth’, ’the’, ’price’, ’most’, [’worth’, ’price’, ’concepts’, ’pretty’,


’of’, ’the’, ’concepts’, ’are’, ’pretty’, ’superficial’, ’authors’, ’also’, ’little’,
’superficial’, ’the’, ’authors’, ’are’, ’behind’, ’times’]
’also’, ’a’, ’little’, ’behind’, ’on’, ’the’,
’times’]
3 [’if’, ’you’, ’are’, ’taking’, ’this’, [’taking’, ’class’, ’dont’, ’waste’,
’class’, ’dont’, ’waste’, ’your’, ’money’, ’called’, ’book’, ’book’,
’money’, ’on’, ’this’, ’so’, ’called’, ’isint’, ’even’, ’bound’, ’loose’, ’leafs’,
’book’, ’for’, ’a’, ’book’, ’that’, ’provide’, ’binder’, ’turns’, ’buy’,
’isint’, ’even’, ’bound’, ’loose’, ’leafs’, ’access’, ’book’, ’mcgraw’, ’hill’,
’that’, ’i’, ’had’, ’to’, ’provide’, ’my’, ’connect’, ’core’, ’book’, ’complete’,
’own’, ’binder’, ’for’, ’turns’, ’out’, ’waste’, ’money’]
’you’, ’can’, ’buy’, ’access’, ’to’,
’the’, ’book’, ’at’, ’mcgraw’, ’hill’,
’connect’, ’core’, ’for’, ’this’, ’book’,
’is’, ’a’, ’complete’, ’waste’, ’of’,
’money’]
4 [’strong’, ’backgroung’, ’good’, ’read’, [’strong’, ’backgroung’, ’good’,
’quite’, ’up’, ’to’, ’date’, ’it’, ’takes’, ’read’, ’quite’, ’date’, ’takes’,
’a’, ’holistic’, ’approach’, ’to’, ’the’, ’holistic’, ’approach’, ’subject’,
’subject’, ’lack’, ’of’, ’references’, ’is’, ’lack’, ’references’, ’bit’, ’surprising’,
’a’, ’bit’, ’surprising’, ’jorge’] ’jorge’]

3-11
III. ANALISIS DAN PERANCANGAN SISTEM

5 [’i’, ’have’, ’used’, ’learnsmart’, ’and’, [’used’, ’learnsmart’, ’officially’,


’can’, ’officially’, ’say’, ’that’, ’this’, ’say’, ’amazing’, ’study’, ’tool’,
’is’, ’an’, ’amazing’, ’study’, ’tool’, ’quickly’, ’simply’, ’adapts’, ’style’,
’that’, ’quickly’, ’and’, ’simply’, ’learning’, ’access’, ’anytime’,
’adapts’, ’to’, ’your’, ’style’, ’of’, ’go’, ’start’, ’using’, ’learnsmart’,
’learning’, ’you’, ’can’, ’access’, ’quickly’, ’realize’, ’best’, ’way’,
’it’, ’at’, ’anytime’, ’and’, ’it’, ’is’, ’learn’, ’study’, ’business’, ’student’,
’on’, ’the’, ’go’, ’once’, ’you’, ’use’, ’learnsmart’, ’accounting’,
’start’, ’using’, ’learnsmart’, ’you’, ’class’, ’however’, ’use’, ’accounting’,
’will’, ’quickly’, ’realize’, ’that’, ’ii’, ’class’, ’grade’, ’difference’,
’this’, ’is’, ’the’, ’best’, ’way’, ’to’, ’accounting’, ’accounting’, ’ii’,
’learn’, ’and’, ’study’, ’i’, ’am’, ’whole’, ’letter’, ’grade’, ’thanks’,
’a’, ’business’, ’student’, ’and’, ’learnsmart’, ’every’, ’college’,
’i’, ’did’, ’not’, ’use’, ’learnsmart’, ’student’, ’definitely’, ’check’]
’for’, ’my’, ’accounting’, ’i’, ’class’,
’however’, ’i’, ’did’, ’use’, ’it’, ’for’,
’my’, ’accounting’, ’ii’, ’class’,
’the’, ’grade’, ’difference’, ’from’,
’accounting’, ’i’, ’to’, ’accounting’,
’ii’, ’was’, ’a’, ’whole’, ’letter’,
’grade’, ’thanks’, ’to’, ’learnsmart’,
’every’, ’college’, ’student’, ’should’,
’definitely’, ’check’, ’it’, ’out’]

3.4.2.4 Stemming
Tahap ini diperlukan untuk mengubah kata-kata yang ada menjadi kata dasar.
Tahap ini dihasilkan dengan menggunakan algoritma Porter yang tersedia pada
library NLTK. Contoh Stemming dapat dilihat pada tabel 3.6.

Tabel 3.6 Contoh Stopword Removal

No Sebelum Stemming Setelah Stemming


1 [’materials’, ’arrived’, ’early’, [’materi’, ’arriv’, ’earli’, ’excel’,
’excellent’, ’condition’, ’however’, ’condit’, ’howev’, ’money’, ’spent’,
’money’, ’spent’, ’really’, ’shouldve’, ’realli’, ’shouldv’, ’come’, ’binder’,
’come’, ’binder’, ’loose’, ’leaf’] ’loos’, ’leaf’]
2 [’worth’, ’price’, ’concepts’, ’pretty’, [’worth’, ’price’, ’concept’, ’pretti’,
’superficial’, ’authors’, ’also’, ’little’, ’superfici’, ’author’, ’also’, ’littl’,
’behind’, ’times’] ’behind’, ’time’]

3-12
III. ANALISIS DAN PERANCANGAN SISTEM

3 [’taking’, ’class’, ’dont’, ’waste’, [’take’, ’class’, ’dont’, ’wast’, ’money’,


’money’, ’called’, ’book’, ’book’, ’call’, ’book’, ’book’, ’isint’, ’even’,
’isint’, ’even’, ’bound’, ’loose’, ’leafs’, ’bound’, ’loos’, ’leaf’, ’provid’,
’provide’, ’binder’, ’turns’, ’buy’, ’binder’, ’turn’, ’buy’, ’access’,
’access’, ’book’, ’mcgraw’, ’hill’, ’book’, ’mcgraw’, ’hill’, ’connect’,
’connect’, ’core’, ’book’, ’complete’, ’core’, ’book’, ’complet’, ’wast’,
’waste’, ’money’] ’money’]
4 [’strong’, ’backgroung’, ’good’, [’strong’, ’backgroung’, ’good’,
’read’, ’quite’, ’date’, ’takes’, ’read’, ’quit’, ’date’, ’take’, ’holist’,
’holistic’, ’approach’, ’subject’, ’approach’, ’subject’, ’lack’, ’refer’,
’lack’, ’references’, ’bit’, ’surprising’, ’bit’, ’surpris’, ’jorg’]
’jorge’]
5 [’used’, ’learnsmart’, ’officially’, [’use’, ’learnsmart’, ’offici’, ’say’,
’say’, ’amazing’, ’study’, ’tool’, ’amaz’, ’studi’, ’tool’, ’quickli’,
’quickly’, ’simply’, ’adapts’, ’style’, ’simpli’, ’adapt’, ’style’, ’learn’,
’learning’, ’access’, ’anytime’, ’access’, ’anytim’, ’go’, ’start’, ’use’,
’go’, ’start’, ’using’, ’learnsmart’, ’learnsmart’, ’quickli’, ’realiz’, ’best’,
’quickly’, ’realize’, ’best’, ’way’, ’way’, ’learn’, ’studi’, ’busi’, ’student’,
’learn’, ’study’, ’business’, ’student’, ’use’, ’learnsmart’, ’account’, ’class’,
’use’, ’learnsmart’, ’accounting’, ’howev’, ’use’, ’account’, ’ii’,
’class’, ’however’, ’use’, ’accounting’, ’class’, ’grade’, ’differ’, ’account’,
’ii’, ’class’, ’grade’, ’difference’, ’account’, ’ii’, ’whole’, ’letter’,
’accounting’, ’accounting’, ’ii’, ’grade’, ’thank’, ’learnsmart’, ’everi’,
’whole’, ’letter’, ’grade’, ’thanks’, ’colleg’, ’student’, ’definit’, ’check’]
’learnsmart’, ’every’, ’college’,
’student’, ’definitely’, ’check’]

3-13
III. ANALISIS DAN PERANCANGAN SISTEM

3.4.2.5 TF-IDF

3-14
Gambar 3.6 Contoh hasil perhitungan TF-IDF
III. ANALISIS DAN PERANCANGAN SISTEM

3.4.3 Sentiment Analysis


Tahap ini akan melakukan klasifikasi sentimen menggunakan Support Vector
Machine.

3.4.3.1 Training SVM


Proses training bertujuan untuk vektor α , nilai w dan konstanta b agar
mendapatkan hyperplane pemisah terbaik.
Hasil perhitungan bobot TF-IDF pada gambar 3.6 diubah ke dalam format SVM.
Format yang merepresentasikan data untuk Ri akan berbentuk [kelas
urutan kata1:nilai bobot1 urutan kata2:nilai bobot2 ...
urutan katan:nilai bobotn] dimana kelas akan mempunyai nilai 1 untuk data kelas
positif dan nilai -1 untuk data kelas negatif. Contoh dari format akan berbentuk
seperti pada tabel 3.7. Pada contoh kita akan melatih data dimana data berlabel
’neg’ menjadi kelas positif dan label lainnya menjadi kelas negatif.

Tabel 3.7 Format Vector

Review Bobot TF-IDF Kelas Vector


R1 0 0 0 0 0 0 0 0,69897 0 0 neu [-1 1:0 2:0 3:0 4:0 5:0 6:0 7:0
0 0 0,39794 .... 0 0 0 0 8:0,69897 9:0 10:0 11:0 12:0
13:0,39794 .... 84:0 85:0 86:0
87:0]
R2 0 0 0 0,69897 0 0 0 0 v neg [-1 1:0 2:0 3:0 4:0,69897 5:0 6:0 7:0
0,69897 0 0,69897 0 0 .... 8:0 9:0,69897 10:0 11:0,69897 12:0
0 0 0 0,69897 13:0 .... 84:0 85:0 86:0 87:0,69897]
R3 0,39794 0 0 0 0 0 0 0 0 0 neg [1 1:0,39794 2:0 3:0 4:0 5:0 6:0 7:0
0 0 0,39794 .... 1,39794 0 8:0 9:0 10:0 11:0 12:0 13:0,39794 ....
00 84:1,39794 85:0 86:0 87:0]
R4 0 0 0 0 0 0 0,69897 0 0 pos [-1 1:0 2:0 3:0 4:0 5:0 6:0 7:0,69897
0,69897 0 0 0 .... 0 0 0 0 8:0 9:0 10:0,69897 11:0 12:0 13:0 ....
84:0 85:0 86:0 87:0]
R5 0,39794 2,79588 0,69897 v pos [-1 1:0,39794 2:2,79588 3:0,69897
0 0,69897 0,69897 0 0 0 0 4:0 5:0,69897 6:0,69897 7:0 8:0 9:0
0 0,69897 0 .... 0 0,69897 10:0 11:0 12:0,69897 13: .... 84:0
0,69897 0 85:0,69897 86:0,69897 87:0]

Berikut gambar 3.7 adalah tabel antara kata dengan review yang sudah diberi label
-1 dan 1.

3-15
III. ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.7 Tabel Review yang Diberi Label

Selanjutnya kita menghitung nilai x yang akan digunakan untuk penrhitungan


kernel. Nilai x1 = kata1, kata2, kata3 ... katan adalah nilai yang diambil dari bobot
R1 pada tabel 3.7, x2=R2, x3=R3, x4=R4, dan x5=R5.

Tabel 3.8 Nilai x1, x2, x3, x4, x5

x1 x2 x3 x4 x5

3-16
III. ANALISIS DAN PERANCANGAN SISTEM

[0 0 0 0 0 0 0 [0 0 0 0,69897 0 [0,39794 0 0 0 0 0 [0 0 0 0 0 0 0,69897 [0,39794 2,79588


0,69897 0 0 0 0 0 0 0 0,69897 0 0 0 0 0 0 0 0,39794 0 0 0,69897 0 0 0 0,69897 0 0,69897
0,39794 .... 0 0 0 0] 0,69897 0 0 .... 0 0 .... 1,39794 0 0 0] .... 0 0 0 0] 0,69897 0 0 0 0
0 0,69897] 0 0,69897 0 .... 0
0,69897 0,69897 0]

Selanjutnya akan dilakukan perhitungan kernelisasi menggunakan kernel linier.


Persamaan kernel linier dapat dilihat pada persamaan 3 . 1.

K(xi , x j ) = xi xTj (3 . 1)

Membuat perhitungan matrix nilai X, hasilnya dapat dilihat pada tabel 3.9.

Tabel 3.9 Tabel Matrix Perhitungan Nilai X

x1T x2T x3T x4T x5T


x1 5,34717 0 0,79178 0 0,31671
x2 0 4,8859 0 0 0
x3 0,79178 0 17,706 0,15836 0,47507
x4 0 0 0,15836 6,99818 0
x5 0,31671 0 0,47507 0 46,5445

Selanjutnya dilakukan perhitungan matrix nilai Y, hasilnya dapat dilihat pada tabel
3.10.
Tabel 3.10 Tabel Matrix Perhitungan Nilai Y

y1T y2T y3T y4T y5T


y1 1 1 -1 1 1
y2 1 1 -1 1 1
y3 -1 -1 1 -1 -1
y4 1 1 -1 1 1
y5 1 1 -1 1 1

Tahap selanjutnya mengubah


! nilai perhitungan matrix x dan y menjadi nilai vector
x
(support vector)= agar mendapatkan nilai αi. Nilai x didapatkan
y
menggunakan persamaan kernel linear 3 . 2 dan nilai y menggunakan persamaan

3-17
III. ANALISIS DAN PERANCANGAN SISTEM

kernel linear 3 . 3.

n
∑ xi xTj (3 . 2)
i=1, j=1

n
∑ yi yTj (3 . 3)
i=1, j=1

Contoh perhitungan untuk nilai x adalah:


XR1 = x1 x1T + x1 x2T + ... + x1 x5T = 5, 34717 + 0 + ... + 0, 31671 = 6, 45566
XR2 = x2 x1T + x2 x2T + ... + x2 x5T = 0 + 4, 88559 + ... + 0 = 4, 88559
XR3 = x3 x1T + x3 x2T + ... + x3 x5T = 0, 79178 + 0 + ... + 0, 47507 = 19, 1312
XR4 = x4 x1T + x4 x2T + ... + x4 x5T = 0 + 0 + ... + 0 = 7, 15654
XR5 = x5 x1T + x5 x2T + ... + x5 x5T = 0, 31671 + 0 + ... + 46, 5445 = 47, 4312

Dan perhitungan untuk nilai y adalah:


YR1 = y1 yT1 + y1 yT2 + ... + y1 x5T = 1 + 1 + ... + 1 = 3
YR2 = y2 yT1 + y2 yT2 + ... + y2 x5T = 1 + 1 + ... + −1 = 3
YR3 = y3 yT1 + y3 yT2 + ... + y3 x5T = −1 + −1 + ... + −1 = −3
YR4 = y4 yT1 + y4 yT2 + ... + y4 x5T = 1 + 1 + ... + 1 = 3
YR5 = y5 yT1 + y5 yT2 + ... + y5 x5T = 1 + 1 + ... + 1 = 3

Dari perhitungan di atas didapatkan nilai Support Vector dari tiap R, kemudian
ditambah nilai bias=1 pada masing-masing Support Vector sehingga terbentuk
tabel Support Vector Bias pada tabel 3.11.

Tabel 3.11 Support Vector Bias

R1 R2 R3 R4 R5
         
6, 45566 4, 88559 19, 1312 7, 15654 47, 4312
Support  3   3   −3   3   3 
         

Vector 1 1 1 1 1
Bias

Setelah nilai Support Vector didapatkan, selanjutnya mencari nilai αi, didapatkan

3-18
III. ANALISIS DAN PERANCANGAN SISTEM

dengan mengalikan data Support Vector menggunakan rumus 3 . 4.

n
∑ ai SiT S j (3 . 4)
i=1, j=1

Didapatkan perhitungan pada S1 sebagai berikut:


 T  
6, 45566 6, 45566
α1  3  ∗  3  = 51, 6756α1
   

1 1
 T  
6, 45566 4, 88559
α2  3  ∗  3  = 23, 5397α2
   

1 1
...
...  T  
6, 45566 47, 4312
α5  3  ∗  3  = 23, 5397α5
   

1 1

Lakukan pada S1 sampai S5 sehingga mendapatkan persamaan:


51, 6756α1 + 41, 5397α2 + 115, 505α3 + 56, 2002α4 + 315, 58699α5 = −1
41, 5397α1 + 33, 869α2 + 85, 4673α3 + 44, 9639α4 + 241, 26563α5 = −1
115, 505α1 + 85, 4673α2 + 376, 004α3 + 128, 913α4 + 897, 60047α5 = 1
56, 2002α1 + 44, 9639α2 + 128, 913α3 + 61, 2161α4 + 348, 76387α5 = −1
315, 58699α1 + 241, 26563α2 + 897, 60047α3 + 348, 76387α4 + 2250, 7233α5 =
−1

Dari persamaan di atas, kita mencari nilai α1 , α2 , α3 , α4 danα5 menggunakan


metode gauss jordan dan substitusi, di hitung menggunakan matlab, hasil yang
didapatkan adalah:
α1 = 0, 2555; α2 = 0, 17177; α3 = 0, 0555; α4 = 0, 03957; α5 = −0, 0113

Karena kelas label positif adalah S3 maka kita ambil nilai α3 dan masukkan ke
dalam persamaan 3 . 5

3-19
III. ANALISIS DAN PERANCANGAN SISTEM

n
W̃ = ∑ αi Si (3 . 5)
i=1

   
19, 1312 1, 0628
W̃ = 0, 0555  −3  = −0, 16666
   

1 0, 0555
" #
1, 0628
Sehingga di dapatkan nilai: w = , dengan nilai b = 0,0555. Nilai
−0, 16666
hyperplane untuk mengklasifikasikan kelas ’neg’ dibanding dengan kelas lainnya
adalah 0,0555.

3.4.3.2 Testing SVM


Setelah nilai w dan b didapatkan dari proses training, data yang diuji dapat
diklasifikasikan menggunakan data hyperplane tersebut. Jika nilai hasil pengujian
lebih besar dari hyperplane suatu kelas, maka abstrak tersebut masuk ke dalam
kelas positif. Sebagai contoh sebuah review yang dilakukan preprocessing terlebih
dahulu, lalu dimasukkan ke dalam TF-IDF yang telah terbentuk di proses Training,
lalu bentuk tabel pada gambar 3.8.

Tabel 3.12 Contoh Stopword Removal

Test Review Preprocess


This product is so bad, and the price [’bad’ ’price’ ’product’ ’worth’]
just not worth it

3-20
III. ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.8 Tabel Review Test yang Diberi Label

Selanjutnya di lakukan perhitungan matrix nilai X dan nilai Y seperti pada proses
training menggunakan persamaan 3 . 1 sehinggal menghasilkan tabel 3.13 dan tabel
3.14.
Tabel 3.13 Tabel Matrix Perhitungan Nilai X Testing

x1T x2T x3T x4T x5T xTT


x1 5,34717 0 0,79178 0 0,31671 0
x2 0 4,8859 0 0 0 0,6669
x3 0,79178 0 17,706 0,15836 0,47507 0
x4 0 0 0,15836 6,99818 0 0
x5 0,31671 0 0,47507 0 46,5445 0
xT 0 0,6669 0 0 0 0,455289

3-21
III. ANALISIS DAN PERANCANGAN SISTEM

Selanjutnya dilakukan perhitungan matrix nilai Y, hasilnya dapat dilihat pada tabel
3.10.
Tabel 3.14 Tabel Matrix Perhitungan Nilai Y Testing

y1T y2T y3T y4T y5T yTT


y1 1 1 -1 1 1 0
y2 1 1 -1 1 1 0
y3 -1 -1 1 -1 -1 0
y4 1 1 -1 1 1 0
y5 1 1 -1 1 1 0
yT 0 0 0 0 0 0

Lalu lakukan perhitungan dengan untuk nilai x dengan 3 . 2 dan untuk nilai y
dengan 3 . 3 sehingga " menghasilkan
# nilai x dan y untuk RT. Nilai RT yang
1, 1222
didapatkan adalah RT = . Selanjutnya lakukan perhitungan matrix RT
0
dengan nilai w yang didapatkan pada proses Testing sehingga didapatkan:

" #
1, 1222
w.RT = [1, 0628 − 0, 1666] ∗ = 1, 192806 > 0, 0555
0
Karena hasil perhitungan lebih tinggi dari bias kelas ’neg’, maka RT merupakan
kelas ’neg’.
3.4.4 New Rating
Hasil rating baru akan didapatkan dengan menggabungkan rating pada kolom
overall dengan hasil klasifikasi dari Sentiment Analysis. Agar hasil klasifikasi bisa
digabungkan, data dari kolom textSentiment akan digunakan untuk mendapatkan
nilai angka dari review. Pemetaan klasifikasi dan angka dapat di lihat pada tabel
3.15.
Tabel 3.15 Tabel Pemetaan Klasifikasi Teks dengan Nilai Angka

No textSentiment Value Explaination


1 v pos 5 Teks mempunyai
arti yang sangat
bagus dan positif.
2 pos 4 Teks mempunyai
arti positif.
3 neu 3 Teks tidak
bermakna apa-
apa.

3-22
III. ANALISIS DAN PERANCANGAN SISTEM

4 neg 2 Teks mempunyai


arti negatif.
5 v neg 1 Teks mempunyai
arti yang sangat
buruk dan negatif.

Hal ini dilakukan agar pada data review bisa dilakukan perhitungan
matematika. Setelah mendapatkan nilai angka, data rating baru adalah rata-rata
dari data rating lama dengan data angka review, sehingga rumus untuk
mendapatkan nilai rating baru dapat di lihat di persamaan 3 . 6:

x+y
newRating = (3 . 6)
2

Sehingga untuk review no 1 pada tabel 3.16, nilai x adalah 4 dan nilai y
adalah 3. Contoh perhitungannya adalah:
newRating = x+y 4+3
2 = 2 = 3, 5
Dimana x adalah nilai rating dan y adalah nilai review. Contoh hasil perhitungan
rating baru bisa dilihat pada tabel 3.16.

Tabel 3.16 Contoh hasil dari perhitungan new rating

No ... reviewText overall textSentiment newRating


1 ... The materials arrived early and were 4 neu 3.5
in excellent condition. However for
the money spent they really should’ve
come with a binder and not just loose
leaf.
2 ... Not worth the price. Most of the 2 v neg 1.5
concepts are pretty superficial. The
authors are also a little behind on the
times.

3-23
III. ANALISIS DAN PERANCANGAN SISTEM

3 ... IF YOU ARE TAKING THIS CLASS 1 neg 1.5


DON”T WASTE YOUR MONEY ON
THIS SO CALLED BOOK! $140.00
FOR A ”BOOK” .... THIS BOOK IS
A COMPLETE WASTE OF MONEY!
4 ... Strong backgroung, good read, quite up 4 pos 4
to date. It takes a holistic approach to
the subject. Lack of references is a bit
surprising.
5 ... I have used LearnSmart and can 5 v pos 5
officially say that this is an amazing
study tool that quickly and simply
adapts to your style of learning. ....
Every college student should definitely
check it out!

3.4.5 User-Item Matrix


Dari tabel yang sudah mempunyai nilai newRating akan dibuat sebuah user-item
matrix. Tabel 3.17 adalah contoh dari user-item matrix yang dibuat dengan
menggunakan kolom reviewerID, title, dan overall dari dataset, dan tabel 3.18
adalah user-item matrix yang dibuat dengan nilai overall diganti dengan nilai
newRating

Tabel 3.17 Contoh user-item matrix dengan overall

P-1 P-2 P-3


User-1 4 4 3
User-2 1 5 2
User-3 4 5 4
User-4 1 3 1
User-5 4 4 2

Tabel 3.18 user-item matrix dengan newRating

P-1 P-2 P-3


User-1 3.5 3.5 2.5
User-2 1 5 2
User-3 4 5 4
User-4 1.5 2.5 1

3-24
III. ANALISIS DAN PERANCANGAN SISTEM

User-5 4 3.5 2

3.4.6 Memory-Based Collaborative Filtering


Untuk mendapatkan rekomendasi berdasarkan Memory-Based Collaborative
Filtering, perhitungan korelasi akan dilakukan terhadap semua produk.
Perhitungan korelasi akan dilakukan menggunakan persamaan 2 . 1. Contoh
perhitungan korelasi produk P-1 dengan produk P-2 menggunakan data pada tabel
3.17 dengan kolom P-1 sebagai nilai x dan P-2 sebagai nilai y dapat dilihat sebagai
berikut:

Tabel 3.19 Matrix produk P-1 dan produk P-2 dengan overall

x y xy x2 y2
4 4 16 16 16
1 5 5 1 25
4 5 20 16 25
1 3 3 1 9
4 4 16 16 16
Total 14 21 60 50 91

Sehingga dapat dilakukan perhitungan korelasi:


(5∗60)−((14)∗(21))
r= √ 2 2
= 0, 218218
((5∗50)−(14) )∗((5∗91)−(21) )

Kemudian perhitungan korelasi produk P-1 dengan produk P-2 menggunakan data
pada tabel 3.18 dapat dilihat sebagai berikut:

Tabel 3.20 Matrix produk P-1 dan produk P-2 dengan newRating

x y xy x2 y2
3,5 3,5 12,25 12,25 12,25
1 5 5 1 25
4 5 20 16 25
1,5 2,5 3,75 2,25 6,25
4 3 12 16 9
Total 14 19 53 47,5 77,5

Sehingga dapat dilakukan perhitungan korelasi:


(5∗53)−((14)∗(19))
r= √ 2 2
= −0, 03015
((5∗47,5)−(14) )∗((5∗77,5)−(19) )

3-25
III. ANALISIS DAN PERANCANGAN SISTEM

Perhitungan tersebut dilakukan lagi terhadap semua pasangan produk sehingga


menghasilkan nilai korelasi yang dapat dilihat pada tabel 3.21.

Tabel 3.21 Hasil perhitungan korelasi antar produk

P-1 | P-2 P-1 | P-3 P-2 | P-3


overall 0,218218 0,720577 0,681385
newRating -0,03015 0,641646 0,703833

Dari hasil perhitungan, dibandingkan korelasi dengan menggunakan nilai overall


dan newRating. Produk yang mempunyai korelasi tinggi seperti korelasi antara P-1
dan P-3 berarti pada saat pengguna membeli dan memberikan rating yang baik pada
produk P-1, maka produk P-3 akan direkomendasikan kepada pengguna tersebut.
Perbedaan paling signifikan dapat dilihat pada korelasi antara produk P-1 dan P-
2, dengan menggunakan newRating korelasi mendapatkan nilai lebih kecil dari
0 sehingga bila pengguna menyukai produk P-1 maka produk P-2 tidak akan di
rekomendasikan terhadap pengguna tersebut.

3-26
DAFTAR REFERENSI

[1] CNN Indonesia, ”Tren dan Peluang Industri E-Commerce di


Indonesia 2020” Safir Makki, February 2020. [Online]. Available:
https://www.cnnindonesia.com/teknologi/20200205204206-206-472064/tren-
dan-peluang-industri-e-commerce-di-indonesia-2020. [Accessed: Sept. 30,
2020].

[2] Farida Karimova, PhD, “A Survey of e-Commerce Recommender Systems”,


European Scientific Journal December 2016 edition vol.12, Wuhan, China,
December 2016.

[3] Eka Angga Laksana, “Collaborative Filtering dan Aplikasinya”, Jurnal Ilmiah
Teknologi Informasi Terapan Volume 1 No 1, Bandung, Indonesia, December
2014.

[4] Suriati, Meisyarah Dwiastuti, Tulus, “Weighted hybrid technique for


recommender system”, Journal of Physics: Conf. Series 930, Medan,
Indonesia, August 2017.

[5] Tae-Yeun Kim, Sung Bum Pan, and Sung-Hwan Kim, “Sentiment Digitization
Modeling for Recommendation System”, Sustainability 12.12, Gwangju,
Korea, June 2020.

[6] Tanjim Ul Haque, Nudrat Nawal Saber, Faisal Muhammad Shah, “Sentiment
Analysis on Large Scale Amazon Product Reviews”, 2018 IEEE International
Conference on Innovative Research and Development (ICIRD), Dhaka,
Bangladesh, June 2019.

[7] Amel Ziani, Nabiha Azizi, Didier Schwab, Monther Aldwairi, Nassira Chekkai,
Djamel Zenakhra, Soraya Cheriguene, ”Recommender System Through
Sentiment Analysis”, 2nd International Conference on Automatic Control,
Telecommunications and Signals, Annava, Algeria, 2017.

[8] Dzone, ”MachineX: Cosine Similarity for Item-Based Collaborative


Filtering” Rahul Khanna, June 2019. [Online]. Available:
https://dzone.com/articles/machinex-cosine-similarity-for-item-based-collabor.
[Accessed: Oct. 7, 2020].

vi
DAFTAR REFERENSI

[9] KDNuggets, ”Emotion and Sentiment Analysis: A Practitioner’s


Guide to NLP” Dipanjan Sarkar, Aug 2018. [Online]. Available:
https://www.kdnuggets.com/2018/08/emotion-sentiment-analysis-
practitioners-guide-nlp-5.html. [Accessed: Oct. 5, 2020].

[10] Alia Karim Abdul Hassan, Ahmed Bahaa aldeen abdulwahhab, “Reviews
Sentiment analysis for collaborative recommender system”, Kurdistan Journal
of Applied Research (KJAR) Volume 2 Issue 3, Baghdad, Iraq, August 2017.

[11] Medium, ”Penjelasan Sederhana tentang Apa Itu SVM?” Samsudiney,


July 2019. [Online]. Available: https://medium.com/@samsudiney/penjelasan-
sederhana-tentang-apa-itu-svm-149fec72bd02. [Accessed: Oct. 10, 2020].

[12] Niaga Hoster, ”Apa itu Ecommerce? Kenali Semua Jenis


dan Manfaatnya!” Aldwin Nayoan, Oct 2019. [Online].
Available:https://www.niagahoster.co.id/blog/apa-itu-ecommerce/. [Accessed:
Oct. 10, 2020].

vii

Anda mungkin juga menyukai