Jurnal Ilmiah Informatika Komputer, 28(3): 251-260. Doi: https://doi.org/10.35760/ik.2023.v28i3.10090
Lazuardi, Juarna, Analisis Sentimen Ulasan… https://doi.org/10.35760/ik.2023.v28i3.10090

## ANALISIS SENTIMEN ULASAN PENGGUNA APLIKASI JOOX PADA ANDROID MENGGUNAKAN METODE BIDIRECTIONAL ENCODER REPRESENTATION FROM TRANSFORMER (BERT)
1 Jahfal Uno Surya Lazuardi, 2 Asep Juarna*
1,2 Fakultas Teknologi Industri Universitas Gunadarma Jl. Margonda Raya No. 100, Depok 16424, Jawa Barat
1 jahfallazuardi@gmail.com, 2 ajuarna@staff.gunadarma.ac.id *) Penulis Korespondensi

## Abstrak
Analisis  sentimen,  disebut  juga  opinion  mining,  adalah  salah  satu  teknik  dalam mengekstrak informasi orientasi sentimen masyarakat terhadap suatu isu atau kejadian. JOOX adalah sebuah aplikasi penyedia layanan streaming musik daring yang banyak digunakan orang karena  keunggulannya  dalam  menyediakan  musik  dengan  kualitas  yang  baik.  Para  pengguna JOOX melalui android dapat memberikan komentar tentang aplikasi ini melalui platform Google Playstore. Analisis sentimen terhadap aplikasi JOOX ini dilakukan dengan menambahkan tahap pra-pelatihan menggunakan metode Bidirectional Encoder Representations from Transformers (BERT)  pada  rangkaian  tahapan  klasifikasi  komentar  menjadi  sentimen  positif,  netral,  dan negatif. Komputasi  dilakukan  dengan  menggunakan  bahasa  pemrograman  Python.  Komputasi mnggunakan 10.000 data, yaitu 10.000 komentar, di mana 7.000 data dijadikan data latih, 2.010 sebagai data validasi, dan 990 data sebagai data uji. Skor dihitung dengan mengkombinasikan akurasi baseline dengan skore recall yang memberikan akurasi F1-score. Hasil analisis sentimen adalah 41,92% true (sentimen) positif, 1,01% true netral, dan 35,95% true negatif, semuanya dari 990 data uji, dengan akurasi F1-score berturut-turut 86%, 51%, dan 76% sementara akurasi baseline adalah 83%, 79%, dan 75%, yang berarti ada peningkatan akurasi true positif sebesar 3,6% dan true negatif sebesar 1,3%.
Kata Kunci : Analisis Sentimen, BERT, JOOX, F1-score

## Abstract
Sentiment analysis, also called opinion mining, is a technique for extracting information of people's sentiment orientation about an issue or event. JOOX is an online music streaming service provider application that is widely used by people because of its superiority in providing good quality music. JOOX users via Android can give comments about this application via the Google Playstore platform. Sentiment analysis of the JOOX application was carried out by adding a pre- training  stage  using  the  Bidirectional  Encoder  Representations  from  Transformers  (BERT) method to a series of stages of classifying comments into positive, neutral and negative sentiment. Computations were carried out using the Python programming language. The computation uses 10,000 data, namely 10,000 comments, of which 7,000 data are used as training data, 2,010 as validation  data,  and  990  data  as  test  data. The  score  is  calculated  by  combining the  baseline accuracy with the recall score which gives the F1-score accuracy. The sentiment analysis results were 41.92% true positive (sentiment), 1.01% true neutral, and 35.95% true negative, all from 990 test data, with F1-score accuracies of 86%, 51%, and 76% while the baseline accuracy is 83%, 79%, and 75%, which means there is an increase in true positive accuracy by 3.6% and true negative by 1.3%.
Keywords :Sentiment Analysis, BERT, JOOX

## PENDAHULUAN
Dalam  era  digital  yang  semakin berkembang  pesat,  penggunaan  teknologi untuk  memenuhi  kebutuhan  hiburan  semakin meningkat.  Salah  satu  bentuk  hiburan  yang sedang  populer  saat  ini  adalah  platform streaming musik,  yang  memungkinkan pengguna  untuk  mendengar  musik  secara daring.  Beberapa  platform streaming musik yang terkenal di Indonesia antara lain Spotify, Apple Music, YouTube Music, dan
Soundcloud.
JOOX adalah platform streaming musik daring  yang  memungkinkan  pengguna mendengar  musik  dari  berbagai  genre  secara langsung.  JOOX  menawarkan  layanan streaming gratis  dengan beberapa  iklan,  serta layanan berlangganan premium yang memungkinkan  pengguna  untuk  menikmati fitur-fitur  tambahan  seperti  pemutaran  tanpa iklan, kualitas audio yang lebih baik, dan akses ke berbagai konten eksklusif.
Saat  ini  sudah  lebih  dari  10  juta  lebih pengguna  Android  yang  telah  mengunduh aplikasi  JOOX  dari  Google  Playstore  untuk mendapatkan layanan streaming musik daring, konsekuensinya  terdapat  beragam  komentar mengenai  aplikasi  JOOX  ini  di  Google  Play Store.  Untuk  mengetahui  orientasi  komentar pengguna  mengenai  aplikasi  JOOX  tersebut perlu dilakukan analisis sentimen atas aplikasi JOOX ini.
Analisis  sentimen  ( sentiment  analysis ) disebut juga opinion mining. Menurut Liu [1]
analisis sentimen adalah komputasi atas opini, sentimen,  emosi,  suasana  hati,  dan  sikap masyarakat. Tujuan analisis sentimen, menurut Pozzi  [2],  adalah  untuk  membangun  secara otomatis perangkat berupa program komputer yang mampu mengekstrak informasi subjektif yang berasal dari teks dan dalam bahasa alami, seperti  opini  dan  sentimen,  sehingga dihasilkan  pengetahuan  terstruktur  tentang sentimen  ini  yang  dapat  ditindaklanjuti misalnya  oleh  sistem  pendukung  keputusan (SPK)  atau  pejabat  pengambil  keputusan. Dikaitkan  dengan  media  sosial,  khususnya twitter,  menurut  Anjali  [3]  dan  Iglesias  [4], analisis  sentimen  mengidentifikasi  opini positif  dan  negatif  serta  mengukur  seberapa positif  atau  negatif  suatu  entitas  (obyek, kebijakan,  dan  lain-lain)  dipandang  oleh masyarakat yang mereka ekspresikan.di media sosial.  Klasifikasi  sentimen  masyarakat menggunakan  perangkat  berbasis  mesin pembelajaran  ( machine  learning )  (Lei  [5]) maupun deep learning (Dahl [6]), memberikan prediksi tentang orientasi sentimen masyarakat sekaligus  menjadi  perangkat  otomatis  yang dapat  terus  memantau  orientasi  sentimen tersebut.  Semakin  banyak  pengguna  twitter mengekspresikan pandangan dan opini mereka di  twitter  semakin  akurat  orientasi  sentimen tersebut. Jadi, twitter dan media sosial lainnya, memang  menjadi  sumber  opini  masyarakat yang sangat berharga.
Sejumlah  penelitian  dengan  tema analisis sentimen telah dilakukan, di antaranya oleh Mas’udah [7] yang menganalisis sentimen
masyarakat  di  media  sosial  Twitter  terkait pemindahan  ibukota  RI  ke  IKN,  Eginda  [8] yang menganalisis sentimen layanan
perusahaan Astra Honda Motor menggunakan metode Term  Frequency-Inversed  Documen Frequency (TF-IDF)  dan Naive  Bayes ,  Ulfah
[9]  yang  menggunakan Support  Vector Machine (SVM)  untuk  menganalisis  ujaran kebencian  pada  portal  berita  daring,  dan Tuhuteru  [10]  yang  mengadopsi Support Vector  Machine (SVM)  untuk  menganalisis sentimen  masyarakat  terhadap  pembatasan sosial  berskala  besar  melalui  media  sosial Facebook dan Twitter berdasarkan kata kunci tertentu.  Penggunaan  metode Support  Vector
Machine (SVM) dalam analisis sentimen juga dilakukan  oleh  Rahmadayana  [11]  dan Rakhmawati [12] yang berturut-turut menganalisis  sentimen  masyarakat  atas kebijakan  WfH  ( Work  from  Home )  dan kebijakan PSBB (Pembatasan Sosial Berskala Besar) pada saat pandemi Covid-19. Penelitian yang berkaitan dengan analisis sentimen pada aplikasi streaming juga dilakukan di antaranya oleh  Muhammad  Fani  Al-Shufi  dan  Adhitia Erfina  [13]  dengan  menggunakan  metode Support  Vector  Machine  (SVM)  yang menghasilkan  hasil  akurasi  sebesar  92,67% pada aplikasi Iflix, 82,33 pada aplikasi Netflix, 69,33% pada aplikasi Disney Hotstar, 64,67% pada aplikasi Wetv, dan 62,00% pada aplikasi Vidio.
Dalam penelitian ini klasifikasi sekumpulan  komentar  menjadi  tiga  kelas sentimen positif, netral, dan negatif, disisipkan
metode  pra-pelatihan  BERT  (Bidirectional Encoder Representations from Transformers). Penggunaan  metode  BERT  ini  dapat meningkatkan  akurasi baseline ,  yaitu  akurasi komputasi  menggunakan machine  learning atau deep learning saja tanpa dikombinasikan dengan metode lain. Metode BERT digunakan di antaranya oleh Himanshu Batra [14] dalam penelitiannya  tentang  persepsi  terhadap rekayasa perangkat lunak.
Alasan  peneliti  memilih  metode  BERT karena metode ini dapat meningkatkan akurasi walaupun peningkatannya jarang sampai 10%. Pemberian  skor  akurasi  menggunakan F1- score ,  yaitu  kombinasi  akurasi baseline machine learning dengan skor recall . Metode BERT  digunakan  terutama  jika  data  yang digunakan tidak terlalu banyak sementara F1- score digunakan  untuk  mengantisipasi ketidakseimbangan  luaran  sentimen  poditif dan  negatf.  Melalui  penelitian  ini,  penulis berhasil  memperlihatkan  peningkatan  akurasi setelah  dilakukan  penyisipan  metode  BERT pada  tahapan  analisis  sentimen  terhadap aplikasi JOOX

## METODE PENELITIAN
Tahapan  penelitian  yang  digunakan dalam  analisis  sentiment  pengguna  aplikasi JOOX ini menggunakan metode Bidirectional Enconder  Representation  from  Transformers (BERT)  terdiri  dari  beberapa  langkah  berikut yang  merupakan  modifikasi  dari  penelitian Cindy  Alifia  Putri,  Adiwijaya,  dan  Said  Al
Faraby  [15]  dikombinasikan  dengan  Saini [16].

## Koleksi Data
Data  yang  digunakan  dalam  penelitian ini akan dikumpulkan dari review google play store  dari  platform  streaming  JOOX menggunakan teknik web scraping.
Python  memiliki  beberapa  library  web scraping  yang  dapat  digunakan,  seperti BeautifulSoup,  Scrapy  dan  Google  play scraper.Untuk penelitian ini penulis menggunakan  Google  play  scraper  untuk memperoleh data mentah.

## Pra-Pemprosesan Data
Data  yang  telah  dikumpulkan  akan melalui  proses  pra-pemrosesan,  seperti menghilangkan duplikasi data, membersihkan data komentar, serta memfilter data yang tidak relevan.

## Dataset Splitting
Dataset Splitting
adalah proses membagi  dataset  menjadi  subset  yang  lebih kecil untuk keperluan pelatihan dan pengujian model  machine  learning.  Dataset  biasanya dibagi menjadi set pelatihan (training set), set validasi  (validation  set),  dan  set  pengujian (testing set) dalam proporsi tertentu.

## Implementasi BERT
Pada penelitian ini menggunakan Model pra-pelatihan  IndoBERT  yang  merupakan
arsitektur  yang  khusus  dilatih  menggunakan data corpus Bahasa Indonesia.
Data Training ( Fine Tuning )
Data  Training ( Fine  Tuning )  adalah proses  melatih  ulang  (train  ulang)  model machine  learning  yang  sudah  ada  dengan dataset yang lebih spesifik dan sesuai dengan tujuan penggunaan model tersebut. Proses fine tuning  dilakukan  setelah  model  telah  dilatih dengan  dataset  umum  dan  kemudian disesuaikan dengan dataset yang lebih spesifik atau dengan kebutuhan penggunaan tertentu.

## Evaluasi Model dan Visualisasi Hasil
Tahap evaluasi bertujuan untuk mendapatkan  prediksi  dari  performa  model menggunakan confusion matrix yang didapatkan dari tahap training sebelumnya.

## HASIL DAN PEMBAHASAN

## Scrapping
Scrapping pengumpulan data, dalam hal ini  data  tentang  JOOX  di  Google  Play  Store. Teknik  yang  digunakan  adalah script python dan library google play  scrapper .  Data komentar  yang  didapatkan  adalah  sebanyak 10.000  data.  Data  yang  digunakan  dari penilaian  dan  komentar  yang  diberikan  oleh pengguna.  Semua  dataset  disimpan  dalam format .csv. Pada Gambar 1 terlihat username (pemberi  komentar), comment ,  dan  score dalam lima kategori dari sangat negatif sampai sangat positif.

## Pre-processing
1) Case Folding
Case  Folding adalah  tahap  merubah setiap  huruf  besar  yang  ada  pada  dokumen komentar menjadi huruf kecil, contoh hasilnya terlihat di Gambar 2.
2) Data Cleaning
Data  cleaning adalah  penghilangan tanda  ulang, tanda  baca,  spasi  yang  berlebih, simbol, emoticons dan  angka  yang  terdapat pada  kalimat.  Contoh  hasil data  cleaning terlihat di Gambar 3.
Gambar 1. Data Hasil Scrapping
Gambar 2. Hasil Case Folding
Gambar 3. Hasil Data Cleaning

## 3) Tokenisasi
Tokenisasi adalah proses untuk mencari
karakter  yang  akan  dihapus  dan  mengubah kalimat menjadi daftar kata. Gambar 6 adalah contoh hasil tokenisasi.
4) Stopword Removal
Tahap  ini  menghapus stopwords ,  yaitu kata-kata yang sering muncul dalam dokumen dan tidak memiliki makna khusus. Gambar 5 memperlihatkan  daftar stopwords dalam
Bahasa  Indonesia  yang  disediakan  oleh
Natutal Language Toolkit .

## 5) Stemming
Tahap ini adalah normalisasi kata yang tidak  baku  yaitu  menghilangkan  semua imbuhan baik itu awalan, akhiran, atau sisipan.
6) Normalisasi Kata Tidak Baku
Pada  tahap  normalisasi,  dataset  yang berisi  kata-kata  tidak  baku  diubah  menjadi kata-kata yang baku yang sesuai dengan ejaan yang benar.
Gambar 6 memperlihatkan contoh hasil normalisasi.
Gambar 4. Hasil Tokenisasi
Gambar 5. Daftar Stopwords

## Gambar 6. Hasil Normalisasi

## Dataset Splitting
Dari  total  10.000  data  yang  tersedia, data  dibagi  menjadi  data  pelatihan,  data validasi  dan  data  uji.  Komposisinya  adalah 70%  atau  7.000  data  untuk  pelatihan,  20,1% atau 2.010 data untuk validasi dan 9,9% atau 990  data  untuk  pengujian.  Data  pelatihan digunakan untuk melatih algoritma klasifikasi sentimen.  Validasi  data  digunakan  untuk mencegah overfitting pada  jaringan  syaraf tiruan  yang  merupakan  konstruktor machine learning .

## Implementasi BERT
Pada  penelitian  ini,  menggunakan model  IndoBERT  pada  proses  pra-pelatihan, sebuah arsitektur yang dilatih khusus pada data korpus  bahasa  Indonesia.  Basis  data  yang digunakan  berisi  4  miliar  kata  dari  berbagai jenis  bahasa,  baik  informal  maupun  formal, dari  12  korpus  Indonesia  yang  berbeda. Dataset  ini  kemudian  dilatih  menggunakan arsitektur  BERT  standar  yang  terdiri  dari  12 layer transformer .
Training Data (Fine Tuning) Dalam proses pelatihan ini
menggunakan  data  yang  sebelumnya  dibagi menjadi data pelatihan, data validasi dan data uji.  Data  pelatihan  dimuat  sesuai  dengan pengaturan hyperparameter yang  telah ditentukan  sebelumnya  dengan  ukuran batch 32.  Ukuran batch merupakan  jumlah  sampel yang  dimasukkan  ke  dalam  jaringan sebelum bobot  ( weight )  yang  disesuaikan.  Dalam pelatihan  menggunakan worker 16  dalam pelatihan.

## Evaluasi dan Uji Akurasi
Pada  tahap  ini  diperlihatkan  hasil pelatihan  model  dan  hasil  eksperimen  model pada data  uji dalam confusion  matrix untuk mengukur  seberapa  baik  model  memprediksi dengan  benar  sentimen  dalam  data  uji. Confusion matrix ditunjukkan pada Gambar 7.
Setelah  melewati  proses  uji  coba  yang dilakukan per- epoch , hasil uji coba yang telah dilakukan  akan  ditampilkan  sebagai learning curve seperti terlihat pada Gambar 8. Learning
kurva tersebut  menunjukkan  akurasi  tahap latih  ( trainning )  lebih  baik  daripada  tahap validasi,  dan  ini  wajar  saja  selama perbedaannya tidak mencolok karena data uji itu  tidak  dilibatkan  dalam  proses  latih. Langkah terakhir adalah menghitung
accuracy , precision , recall dan f1-score menggunakan  fungsi  classification_report() dan sklearn, hasilnya terlihat pada Gambar 9. Terlihat  nilai  (akurasi) f1-score meningkat dibandingkan  dengan  nilai  akurasi  ( baseline ) pada sentimen negatif dan positif.
Gambar 7. Confusion Matrix
Gambar 8. Learning Curve

## Gambar 9. Hasil Evaluasi

## KESIMPULAN DAN SARAN
Penelitian  analisis  sentimen  Aplikasi JOOX pada Android telah berhasil dilakukan
dengan menggunakan metode BERT (Bidirectional  Encoder  Representations  from Transformers)  dan  bahasa  pemrograman Python.  Penelitian  ini  digunakan  untuk mengklasifikasikan  komentar-komentar  ke dalam  tiga  kategori  sentimen,  yaitu  positif, netral,  dan  negatif.  Penelitian  dilakukan dengan  menggunakan  bahasa  pemrograman Python. Komputasi mnggunakan 10.000 data, yaitu  10.000  komentar,  di  mana  7.000  data dijadikan  data  latih,  2.010  sebagai  data validasi,  dan  990  data  sebagai  data  uji.  Skor dihitung  dengan  mengkombinasikan  akurasi baseline dengan skore recall yang memberikan akurasi  F1-score.  Hasil  analisis  sentimen adalah 41,92% true (sentimen) positif, 1,01% true netral, dan 35,95% true negatif, semuanya dari  990  data  uji,  dengan  akurasi  F1-score berturut-turut 86%, 51%, dan 76% sementara akurasi baseline adalah 83%, 79%, dan 75%, yang  berarti  ada  peningkatan  akurasi  true positif  sebesar  3,6%  dan  true  negatif  sebesar 1,3%.  Saran  yang  dapat  diberikan  pada penelitian  ini  adalah  untuk  pengembangan penelitian lebih lanjut, di antaranya melakukan
eksperimen dengan learning rate yang berbeda untuk  menemukan  nilai  yang  optimal  untuk model BERT. Learning rate yang tepat dapat membantu  model  mencapai  kesesuaian  yang lebih cepat dan akurasi yang lebih tinggi.

## DAFTAR PUSTAKA
[1] B.  Liu. Sentiment  Analysis: Mining
Opinions,  Sentiments,  and  Emotions ( Studies in Natural Language
Processing ),  2nd  ed.,  Cambridge,
Cambridge University Press, 2020.
[2] F.A. Pozzi, et al., Sentiment Analysis in Social  Networks ,  2nd  ed.,  California,
Morgan Kaufmann, 2021..
[3] M. Anjali, P. Pati, A. Tripathi, Twitter:
Sentiment  Analysis  of  Current  Affairs , Lambert, Lambert Academic Publishing, 2019.
[4] C.A. Iglesias and A. Moreno, Sentiment Analysis for Social Media , Basel, Mdpi AG, 2020
[5] L.  Lei  and  D.  Liu, Conducting Sentiment Analysis , Cambridge, Cambridge University Press, 2021.
[6] D.A. Dahl, Natural Language Understanding  with  Python:  Combine
Natural  Language  Technology,  Deep Learning, and Large Language Models
to  Create  Human-Like  language Comprehension  in  Computer  Systems ,
Birmingham, Packt Publishing, 2022.
[7] E. Mas’udah, E. D. Wahyuni, and A. A.
Arifiyanti, “Analisis Sentimen: Pemindahan  Ibu  Kota  Indonesia  Pada Twitter,”  J.  Informatika  dan  Sistem
Informasi, Vol. 1, No. 2, Mei, pp. 397–
401, 2020.
[8] N. A. Eginda, P. P. Adikara, and R. C.
Wihandika, “Analisis Sentimen Layanan Astra Honda Motor Menggunakan Metode Naïve Bayes dan Identifikasi  Aspek  pada  Layanan Menggunakan DBSCAN,” J. Pengembangan  Teknologi  Informasi dan  Ilmu  Komputer,  Vol.  4,  No.  3, Maret, pp. 929–937, 2020.
[9] A. N. Ulfah and M. K. Anam, “Analisis Sentimen  Hate  Speech  Pada  Portal Berita  Online  Menggunakan  Support Vector  Machine  (SVM),”  JATISI  (J.
Teknologi  Informatika  dan  Sistem Informasi), Vol. 7, No. 1, Maret, pp. 1– 10, 2020.
[10] H.  Tuhuteru,  “Analisis  Sentimen
Masyarakat Terhadap Pembatasan Sosial  Berksala  Besar  Menggunakan
Algoritma Support Vector Machine,” J.
Informatics  and  System  Development, Vol. 5, No. 2, Juni, pp. 7–13, 2020.
[11] F.  Rahmadayana  and  Y.  Sibaroni, “Sentiment  Analysis  of    Work  from Home  Activity  using  SVM  with Randomized  Search  Optimization,”  J.
Rekayasa  Sistem  dan  Teknologi Informasi  (RESTI),  Vol.  5  No.  5, Oktober, pp. 936-942, 2021.
[12] M.  R.  Adrian,  et  al.,  Perbandingan Metode Klasifikasi Random Forest dan SVM Pada Analisis Sentimen PSBB,  J. Informatika Upgris, Vol. 7, No. 1 , Juni,
2021.
[13] M.F. Al-Shufi and A. Erfina, “Sentimen Analisis  Mengenai  Aplikasi  Streaming Film  Menggunakan  Algoritma  Support Vector Machine di Play Store,” in Proc. Seminar Nasional Sistem Informasi dan Manajemen  Informatika  (SISMATIK), 2021, pp. 156-162.
[14] H.  Brata,  et  al.,  “BERT-Based Sentiment  Analysis:  A  Software Engineering  Perspective,”  in  Proc. International  Conference  on  Database and  Expert  system  Applications,  2021, pp. 138-148.
[15] C.A.  Putri,  Adiwijaya,  and  S.  Al- Faraby.  “Analisis  Sentimen  Review
Film  Berbahasa  Inggris  Dengan Pendekatan Bidirectional Encoder Representations from Transformers,” J. Teknik Informatika dan Sistem
Informasi, JATISI, Vol. 6, No. 2, Maret, pp. 181-193, 2020.
[16] S.  Saini,  “Sentiment  Analysis  on Twitter  Data  using  R,”  in  Proc. International Conference on Automation, Computational and Technology  Management  (ICACTM), 2019, 68–72.