Menggunakan Support Vector Machine
1Endah Azura, 2Al Aminuddin
1Mahasiswa Program Studi S1 Sistem Informasi
2Dosen Program Studi S1 Sistem Informasi Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Kampus Bina Widya Pekanbaru, 28293, Indonesia
[email protected], [email protected]
ABSTRACT
During the COVID-19 pandemic, one of the activities commonly carried out by the community, such as going out of the house, was limited by the PSBB (Large-Scale Social Restrictions). This made people stay at home more and use internet access, one of which was by streaming movies using the Netflix application. Users can provide reviews of application services in the review feature on the Google Play Store. The existence of this feature is one of the considerations for prospective users to download the application. Therefore it is necessary to do sentiment analysis to find out how the user's sentiment is on the application. Therefore, this study aimed to analyze reviews and discovered the results of the accuracy of public sentiment reviews on a movie streaming application, namely Netflix on the Google Play Store using the Support Vector Machine method. In this study, data collection was carried out using web scraping techniques on Google Colaboratory. The data used was data when the pandemic spread to Indonesia, namely in 2020. The method used in this study resulted in an average accuracy of 85%.
Keywords : Sentiment analysis, Netflix application, Support Vector Machine
ABSTRAK
Pada masa pandemi COVID-19 salah satu kegiatan yang biasa dilakukan oleh masyarakat seperti berpergian keluar rumah dibatasi dengan adanya PSBB (Pembatasan Sosial Berskala Besar). Hal tersebut membuat masyarakat lebih banyak diam dirumah dan menggunakan akses internet salah satunya yaitu dengan aktivitas streaming film dengan menggunakan aplikasi Netflix. Pengguna dapat memberikan ulasan terhadap layanan aplikasi pada fitur ulasan di Google Play Store. Adanya fitur ini menjadi salah satu pertimbangan untuk calon pengguna untuk mengunduh aplikasi tersebut. Oleh karena itu perlu dilakukan nya analisis sentimen untuk mengetahui bagaimana sentimen pengguna pada aplikasi tersebut. Oleh karena itu, penelitian ini bertujuan untuk menganalisis ulasan dan mengetahui hasil akurasi dari sentimen masyarakat ulasan pada aplikasi streaming film yaitu Netflix di Google Play Store dengan menggunakan metode Support Vector Machine. Pada penelitian ini pengumpulan data dilakukan dengan teknik web scraping di Google Colaboratory. Data yang digunakan merupakan data pada saat pandemic menyebar ke Indonesia yaitu pada tahun 2020. Metode yang digunakan pada penelitian ini menghasilkan akurasi dengan rata rata yaitu 85%.
Kata kunci : Analisis sentimen, Aplikasi Netflix, Support Vector Machine
PENDAHULUAN
Pada awal tahun 2020 Indonesia terdeteksi adanya wabah covid-19. Sehingga Indonesia menerapkan PSBB agar dapat mengurangi tingkat kematian dan penyebaran virus corona. Yaitu dengan menggunakan masker saat berpergian, membatasi kegiatan yang ada diluar rumah, dan menggunakan handsanitizer setelah berpergian . Akibat dari penerapan PSBB ini maka salah satunya adalah penutupan bioskop sehingga menimbulkan kekecewaan pada masyarakat. Dampak dari hal tersebut masyarakat lebih sering mengakses internet untuk dapat menonton film streaming melalui aplikasi netflix.
Aplikasi netflix dapat diunggah di google play store. Pada aplikasi ini terdapat fitur untuk memberikan ulasan terhadap penggunaan aplikasi tersebut. Untuk dapat memilah ulasan positif dan negatif maka digunakan analisis sentimen yang kemudian akan diklasifikasikan menggunakan support vector machine.
METODE PENELITIAN a. Tahapan Penelitian
Adapun tahapan-tahapan pada penelitian ini adalah:
1. Pengumpulan data
Mengumpulkan data yang diperoleh dengan dari ulasan aplikasi Netflix pada Google Play Store dengan web scrapping.
2. Preprocessing data
Ada enam proses yang dilakukan pada tahapan ini, yaitu cleaning, casefolding, tokenizing, normalisasi, stemming, stopword.
3. Pelabelan Data
Pada tahapan ini dilakukan pelabelan pada data. Pelabelan dilakukan dengan menggunakan rating yaitu 1,2, dan 3 kelas negatif dan 4,5 kelas positif.
4. Pembobotan TF IDF
Tahapan ini dilakukan untuk menentukan menetukan seberapa jauh keterhubungan kata (term) terhadap dokumen dengan memberikan bobot setiap kata.
5. Klasifikasi Support Vector Machine
Metode Support Vector Machine merupakan metode yang digunakan dalam supervised learning, metode ini digunnakan untuk klasifikasi seperti Support Vector Classification dan regresi (Support Vector Regression). Cara kerja SVM yaitu dengan dengan menemukan hyperplane optimal yang memberi jarak atau pemisah antar dua kelas.
b. Peralatan yang Digunakan 1. Perangkat Keras.
Perangkat keras yang digunakan adalah Laptop Asus dengan processor Intel Core i3-7020U. 2.3 GHz, dan Random Access Memory (RAM) berkapasitas 4GB.
2. Perangkat Lunak.
a. Sistem Operasi Windows 10 Home Single Language.
b. Microsoft Office 2010 c. Python.
d. Jupyter notebook
c.
Analisis sentimen digunakan untuk mengklasifikasikan polaritas teks yang ada dalam dokumen, kalimat, atau pendapat. Polaritas berarti apakah teks yang ada dalam dokumen, kalimat, atau pendapat memiliki aspek positif atau negatif.
Oleh karena itu, dibutuhkan suatu analisis terhadap opini-opini tersebut dalam penelitian ini. Tujuan dari analisis sentimen adalah selain untuk mendapatkan informasi sentimen yang terkandung dalam sebuah teks, juga untuk melihat pendapat teks yang berkaitan dengan masalah atau objek, apakah itu cenderung memiliki pandangan positif atau negatif (Wahyudi & Kusumawardana, 2021).
d. Netflix
Netflix merupakan aplikasi layanan streaming berbayar yang menawarkan berbagai acara televisi, film, film dokumenter, dan anime yang diakses dengan perangkat yang terhubung ke internet. Pengguna Netflix dapat menonton sepuasnya, kapan pun, dimana pun, dengan media apa pun dengan biaya langganan per bulan (Husna, 2020).
e. Support Vector Machine
Metode Support Vector Machine merupakan metode yang digunakan dalam supervised learning, metode ini digunnakan untuk klasifikasi seperti Support Vector Classification dan regresi (Support Vector Regression). Cara kerja SVM yaitu dengan dengan menemukan hyperplane optimal yang memberi jarak atau pemisah antar dua kelas. (Nur Akbar & Annisa Safitri Yusuf, 2022). Berikut merupakan langkah-langkah perhitungan SVM :
1. Menentukan data training dan testing.
2. Menentukan inisialisasi awal untuk nilai : α=0.5, C=1, λ=0.5, 𝛾 =0.5
3. Menghitung fungsi kernel
K(x⃗ i + x⃗ j) = sum(x ∗ xi) ... (1) 4. Menghitung matriks
` ... (2) 5. Menghitung nilai error
𝐸𝑖 = ∑𝑗=1𝑛 𝛼𝑖𝐷𝑖.𝑗 ... (3) 6. Menghitung nilai Delta Alpha
𝛿𝛼𝑖 = 𝑚𝑖𝑛{𝑚𝑎𝑥[𝛾(1 − 𝐸𝑖), −𝛼𝑖], 𝐶 − 𝛼𝑖} ... .... (4)
7. Menentukan nilai W, dimana W×X+ sebagai dot product positif dan W×W- sebagai dot product
𝑊 x 𝑋+ = ∑(𝛼𝑖 x 𝑦𝑖 x 𝐷𝑖𝑗 ) ... ... (5) 𝑊 x 𝑋− = ∑(𝛼𝑖 x 𝑦𝑖 x 𝐷𝑖𝑗 ) ... (6) 8. Menentukan nilai Bias
𝑏 = −1
2[𝑊. 𝑋++ 𝑊. 𝑋−] ... (7) 9. Menentukan data uji yang akan dilakukan pada pengujian SVM
10. Menentukan dot product dari data uji dengan cara mengalikan data uji dengan
11. Menentukan nilai keputusan
ℎ(𝑋) = 𝑊. 𝑋 + 𝑏 ... ….(8) Hasil keputusan dapat menentukan data berlabel positif atau negatif.
f. Confusion Matrix
Confusion matrix merupakan metode untuk mengevaluasi kinerja dari suatu model klasifikasi, metode ini digunakan untuk mencari nilai akurasi, nilai precision dan nilai recall. Pada confusion matrix terdapat istilah aktual dan prediksi. Aktual merupakan label dari data asli dan prediksi merupakan label hasil dari klasifikasi yang dilakukan. Berikut merupakan rumus perhitungan akurasi, presisi, dan recall.
1. Akurasi : (𝑇𝑃+𝑇𝑁)
𝑇𝑃+𝑇𝑁+𝐹𝑃+𝑇𝑁 𝑥 100% ... (9) 2. Precision = 𝑇𝑃
𝑇𝑃+𝐹𝑃 𝑥 100% ... …(10) 3. Recall = 𝑇𝑃
𝑇𝑃+𝐹𝑁 𝑥 100% ... ..(11)
HASIL DAN PEMBAHASAN a. Pengumpulan data
Data ulasan pengguna aplikasi Netflix dikumpulkan menggunakan Google Colaboratory dengan teknik web scraping, data ulasan yang digunakan yaitu data yang diunggah pada bulan Januari 2020 sampai dengan Desember 2020. Data ulasan yang diunggah yaitu data pada saat virus corona mulai menyebar ke Indonesia yaitu pada tahun 2020. Jumlah data yang diperoleh adalah 14.424 ulasan.
b. Prepocessing data
Tahapan selanjutnya setelah melakukan pelabelan data adalah preprocessing.
Preprocessing adalah tahapan yang bertujuan untuk membersihkan ulasan agar lebih mudah dihitung pembobotan TF-IDF nya. Berikut adalah tahapan preprocessing, dapat dilihat pada Tabel 2.
Tabel 2. Hasil Preprocessing Data Data Ulasan
saya kasih bintang 3 dulu soalnya banyak film/series yg belum sub indo mohon ditambah lagi sub nya
Cleaning
saya kasih bintang dulu soalnya banyak film series yg belum sub indo mohon ditambah lagi sub nya
Casefolding
saya kasih bintang dulu soalnya banyak film series yg belum sub indo mohon ditambah lagi sub nya
Tokenizing
saya kasih bintang dulu soalnya banyak film series yg belum sub indo mohon ditambah lagi sub nya
Normalisasi
film series yang belum sub indo mohon ditambah lagi sub nya
Stemming
saya kasih bintang dulu soal banyak film series yang belum sub indo mohon tambah lagi sub
Stopword
saya kasih bintang dulu soal banyak film series yang belum sub indo mohon tambah lagi sub
c. Pelabelan Data
Dataset yang diuji kemudian diberi label berdasarkan rating yang diberikan oleh pengguna aplikasi. Pada pelabelan data ulasan akan dibagi menjadi positif dan negatif.
Ulasan yang diberi label positif merupakan ulasan yang mendapatkan rating 4 dan 5, sedangkan ulasan yang diberi label negatif merupakan ulasan yang mendapatkan rating 1, 2, dan 3.
d. Pembobotan TF IDF
TF-IDF merupakan metode yang digunakan untuk menghitung bobot pada setiap istilah generik yang dipakai. Metode ini terkenal akan keefisienan dan akurat. Nilai pada TF-IDF ini akan dihitung pada setiap token (kata) disetiap dokumen, dengan kata lain metode ini digunakan untuk mengetahui seberapa banyak kata tersebut akan muncul dalam dokumen. Dapat dilihat pada tabel 3.
Tabel 3. Pembobotan
No Kata TF DF IDF(log
N/DF)
W (TF*IDF)
D1 D2 D3 … D8 D1 D2 D3 … D8
1 anime 0 0 0 … 0 1 0,9031 0 0 0 … 0
2 aplikasi 0 0 0 … 0 2 0,6021 0 0 0 … 0
3 bagus 0 1 0 … 1 2 0,6021 0 0,6 0 … 0
… … … …
31 yaiba 0 0 0 … 1 1 0,9031 0 0 0 … 0
e. Klasifikasi SVM
Berikut ini adalah tahapan dalam melakukan klasifikasi Support Vector Machine 1. Menentukan data training dan data testing dalam klasifikasi pada 10 dokumen.
Dokumen 1, 2, 3, 4, 5, 6, 7, dan 8 sebagai data training dan dokumen 9 dan 10 sebagai data testing. Sebagai contoh perhitungan, data training. Dapat dilihat pada tabel 4.
Tabel 4. Data latih yang divektorisasikan
Term TF IDF
X1 X2 X3 X4 … X31 Label
D1 0 0 0 0 … 0 -1
D2 0 0 0 0,60206 … 0 1
D3 0 0,60206 0 0 … 0 1
D4 0 0,6021 0 0 … 0 -1
D5 0 0 0 0,6021 … 0 -1
D6 0,9031 0 0 0 … 0,9031 1
D7 0 0,6021 0 0,6021 … 0 -1
D8 0 0 0,6021 0 … 0 1
2. Lakukan inisialisasi untuk nilai α=0,5, C=1, λ=0,5
3. Menghitung fungsi kernel, pada tahapan fungsi kernel, setiap data latih akan dibandingkan dengan data latih lainnya. Menggunakan persamaan (1)
Tabel 5. Fungsi kernel
D1 D2 D3 D4 D5 D6 D7 D8
D1 1,993619 0 0 0 0 0 0,362476 0
D2 0 0,362476 0 0 0 0 0 0,362476
D3 0 0 0,815572 0 0 0 0 0
D4 0 0 0 1,993619 0 0 0,362476 0
D5 0 0 0 0 6,796429 0 1,812381 0
D6 0 0 0 0 6,796429 0 0 0
D7 0,362476 0 0 0,362476 1,812381 0 11,32738 0
D8 0 0,362476 0 0 0 0 0 2,809191
Contoh perhitungan pada data D1 dan D1:
K(D1,D1)=((0×0)+(0×0)+(0×0)+(0×0)+(0×0)+(0×0)+(0×0)+(0×0)+(0×0)+(0×0)+
(0×0)+(0,9×0,9)…+(0×0)) = 1,99362
4. Menghitung nilai matriks menggunakan persamaan (2) Tabel 5. Matriks
D1 D2 D3 D4 D5 D6 D7 D8
D1 2,243619 0,25 0,25 0,25 0,25 0,25 0,612476 0,25
D2 0,25 0,612476 0,25 0,25 0,25 0,25 0,25 0,612476
D3 0,25 0,25 1,065572 0,25 0,25 0,25 0,25 0,25
D4 0,25 0,25 0,25 2,243619 0,25 0,25 0,612476 0,25
D5 0,25 0,25 0,25 0,25 7,046429 0,25 2,062381 0,25
D6 0,25 0,25 0,25 0,25 -6,54643 0,25 0,25 0,25
D7 0,612476 0,25 0,25 0,612476 2,062381 0,25 11,57738 0,25
D8 0,25 0,612476 0,25 0,25 0,25 0,25 0,25 3,059191
D11=(-1)(-1)( 1,9936)+0,52 =2,2436
5. Menghitung nilai error menggunakan persamaan (3) Tabel 6. Nilai Error
D2 1,362476 D3 1,407786 D4 2,178048 D5 5,304405 D6 -2,39821 D7 7,932358 D8 2,585834
Ei=(0,5×2,2436)+(0,5×0.25)+(0,5×0.25)+(0,5×0,25)+(0,5×0,25)+(0,5×0,25)+(0,5
×0,6124)+(0,5×0,25)= 2,1780
6. Menghitung nilai delta alpha menggunakan persamaan (4) Tabel 7. Nilai Delta Alpha
D1 -0,5
D2 -0,18124 D3 -0,20389
D4 -0,5
D5 -0,5
D6 0,5
D7 -0,5
D8 -0,5
δα1 = min{max[0,5(1-(2,1780)),-0.5],1-0.5}
δα1 = -0,5
7. Menghitung nilai alpha baru menggunakan persamaan (5) Tabel 8. Nilai Alpha Baru
D1 0
D2 0,318762 D3 0,296107
D4 0
D5 0
D6 1
D7 0
D8 0
α1 = -0,5 + 0,5 α1 = 0
8. Tentukan nilai W, dimana W×X+ sebagai dot product positif dan W×W- sebagai dot product negatif dengan persamaan (6) dan (7).
W*X-
=(0×1×2,2436)+(0,3188×1×0,25)+(0,2961×1×0,25)+(0×1×0,25)+(0×1×0,25)+(1×
1×0,25)+(0×-1×0,6125)+(0×1×0,25) = 0,4037 W*X+
=(0×1×0,25)+(0,3188×1×0,6125)+(0,2961×1×0,25)+(0×1×0,25)+(0×1×0,25)+(1×
1×0,25)+(0×-1×0,25)+(0×1×0,6125)= 0,5193
9. Menentukan nilai bias dengan menggunakan persamaan (8) b = -1/2(0,4037+ 0,5193) = -0,4615
10. Mencari nilai data testing
Tabel 9. Data Testing
Term TF-IDF
X1 X2 … X31 Label
D9 0 0 … 0 ?
D10 0 0 … 0 ?
Langkah nya yaitu dengan menghitung dot product dengan mengalikan data uji dengan semua data latih yang kemudian dimasukkan ke fungsi kernel.
D9 x D1 = (0×0)+(0×0)…(0×0) = 0 D10 x D1 = (0×0)+(0×0)…(0×0) = 0
Tabel 10. Dot Product
D1 0
D2 0,3625
D3 0
D4 0
D5 0
D6 0
D7 1,6311 D8 0,3625
11. Lakukan perhitungan keputusan dengan menggunakan rumus persamaan (9) D9
=h(x)=sign((0×-1×0)–(-0,461)+(0,3188×1×0)–(-0,461)+(0,2961×1×0)-(-
0,461)+(0×-1×0)-(-0,461)+(0×-1×0,8156)-(-0,461)+(1×1×0)-(-0,461)+(0×-1×0)-(- 0,461)+(0×1×0,8156)-(-0,461) =-3,692 = sign (-3,692) = -1
Berdasarkan perhitungan tersebut keputusan fungsi terhadap sampel uji pada dokumen 9 yaitu berada pada kelas negatif.
D10
=h(x)=sign((0×-1×0)–(-0,461)+(0,3188×1×0.3625)–(-0,461)+(0,2961×1×0)-(- 0,461)+(0×-1×0)-(-0,461)+(0×-1×0)-(-0,461)+(1×1×0)-(-0,461)+(0×-1×1,6311)-(- 0,461)+(0×1×0,3625)-(-0,461) = -3,576 = sign (-3,576) = -1
Berdasarkan perhitungan tersebut keputusan fungsi terhadap sampel uji pada dokumen 10 yaitu berada pada kelas negatif.
f. Confusion Matrix
Confusion matrix menampilkan dan membandingkan nilai aktual atau nilai sebenarnya dengan nilai hasil prediksi model yang dapat digunakan untuk menghasilkan accuracy, precision dan recall. Berikut merupakan confusion matrix penelitian yang apat dilihat pada Tabel 8.
Actual Positive Actual Negative Predicted Positive TP (1402) FP (313) Predicted Negative FN (186) TN (984) 1. Accuracy
Mengitung accuracy berdasarkan persamaan (9)
𝑇𝑃+𝑇𝑁
𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁 = 1402+984
1402+984+313+186 x 100% = 82,70%
2. Precision
Menghitung precision berdasarkan persamaan (10)
𝑇𝑃
𝑇𝑃+𝐹𝑃 = 1402
1402+313 x 100% = 81,74%Recall 3. Recall
Menghitung recall berdasarkan persamaan (11) Recall = 𝑇𝑃
𝑇𝑃+𝐹𝑁 = 1395
1395+922 x 100% = 88,28%
g. Kfold Validation
Berikut pada Tabel 12 dapat dilihat hasil dari k-fold cross validation yang telah dilakukan pengujian dengan pembagian sebanyak sepuluh pengujian (10- fold cross validation).
Tabel 12. Kfold Validation Iterasi ke- Nilai
1 87%
2 86%
3 88%
4 88%
5 88%
6 83%
7 83%
8 81%
9 83%
10 82%
Rata-rata 85%
KESIMPULAN
Adapun kesimpulan dari penelitian ini adalah Berdasarkan penelitian yang telah dilakukan, adapun kesimpulan yang diperoleh adalah nilai akurasi pada metode Support Vector Machine yaitu pada Iterasi 1 hasilnya 87%, iterasi 2 hasilnya 86%, iterasi 3 hasil 88%, iterasi 4 hasilnya 88%, iterasi 5 hasilnya 88%, iterasi 6 hasil 83%, iterasi 7 hasilnya 83%, iterasi 8 hasilnya 81%, iterasi 9 hasil 83%, iterasi 10 hasilnya 82% dan memiliki rata-rata 85%. Data testing dan data training mempengaruhi nilai keakurasian sehingga dapat menghasailkan nilai akurasi yang tinggi, dapat disimpulkan bahwa tingkat ketepatan hasil prediksi menggunakan metode Support Vector Machine terhadap data yang berjumlah banyak secara keseluruhan cukup tinggi dan akurat.
SARAN
Berdasarkan kesimpulan di atas, peneliti merekomendasikan beberapa saran yang dapat dilakukan pada penelitian selanjutnya sebagai berikut :
1. Penelitian ini hanya meneliti ulasan pada tahun 2020 saja, untuk penelitian selanjutnya diharapkan bisa dilanjutkan pada tahun 2021, 2022 dan 2023.
2. Penelitian ini juga dapat dikembangkan dengan metode klasifikasi yang lain atau perbandingan dua metode, seperti penambahan metode Random Forest dikarenakan tingkat akurasinya lebih tinggi dibandingkan dengan metode Support Vector Machine.
UCAPAN TERIMA KASIH
Penulis mengucapkan terima kasih kepada bapak Al aminuddin, ST.,M.Sc. atas waktu yang telah diberikan untuk membimbing, memotivasi serta membantu penelitian dan penulisan karya ilmiah ini.
DAFTAR PUSTAKA
Husna, R. El. (2020). Analisis Klasifikasi Sentimen Pada Twitter Mengenai Netflix Yang Diblokir Oleh Telkom Menggunakan Naïve Bayes Classifier Dan Support Vector Machine Jurnal Ilmiah. http://repository.unimus.ac.id
Nur Akbar, M., & Annisa Safitri Yusuf, N. (2022). Analisis Sentimen Pengguna Indihome dengan Metode Klasifikasi Support Vector Machine (SVM). Journal Shift Vol, 2(1), 13–21.
Wahyudi, R., & Kusumawardana, G. (2021). Analisis Sentimen pada Aplikasi Grab di Google Play Store Menggunakan Support Vector Machine. Jurnal Informatika, 8(2), 200–207. https://doi.org/10.31294/ji.v8i2.9681