Analisis Sentimen Kepuasan Pengguna OYO Di Playstore Dengan Multinomial Naive Bayes dan Chi-square
Rizky Aziz 1 , Tresna Maulana Fahrudin 2 , Wahyu Syaifullah Jauharis Saputra 3
1,2,3, Sains Data, Fakultas Ilmu Komputer, Universitas Pembangunan Nasional “Veteran” Jawa Timur
1 20083010007@student.upnjatim.ac.id* , 2 tresna.maulana.ds@upnjatim.ac.id , 3 wahyu.s.j.saputra.if@upnjatim.ac.id

## Abstract
Opinions  play  a  crucial  role  in  everyday  life,  significantly  influencing  human  behavior  and  decisions.  Particularly  in  the contexts  of  business  and  organizations,  consumer opinions about  products and  services  are  highly  valuable.  This  research focuses on sentiment analysis of user reviews for the OYO application on the Google Play Store, with the aim of understanding user sentiment towards the OYO application by delving into the reviews on the Google Play Store and classifying them as positive  or  negative.  OYO  Hotels  &  Homes,  a  startup  company  in  the  accommodation  sector  originating  from  India,  has achieved remarkable success with revenues reaching US$951 million in fiscal year 2019. The main classification method used is Multinomial Naïve Bayes, which is an approach in supervised learning, along with Chi-Square feature selection to explore correlations  between  factors  affecting  user  satisfaction.  The  research  process  includes  data  collection  of  reviews, preprocessing, labeling, and data splitting. Subsequently, TF-IDF weighting and Chi-Square feature selection are performed. The  results  of  sentiment  analysis  demonstrate  a  dominance  of  positive  reviews,  indicating  user  satisfaction  with  the  OYO service. The classification process uses the Multinomial Naïve Bayes algorithm, with an accuracy rate of 85.5% for the model without feature selection, increasing to 87.00% with Chi-Square feature selection. These results highlight the effectiveness of the  Multinomial  Naïve  Bayes  algorithm  and  the  importance  of  feature  selection  in  sentiment  analysis.  Through  a  deeper understanding  of  user  sentiment,  companies  can  enhance  service  quality  and better  respond  to  feedback,  ensuring  optimal customer satisfaction. This research has broad implications in sentiment analysis and the use of statistical methods to address complex issues in the technology industry.
Keywords: Sentiment Analysis, OYO Application, Google Playstore, Multinomial Naïve Bayes, Chi-Square Feature Selection.

## Abstrak
Opini memainkan peran krusial dalam kehidupan sehari-hari, memengaruhi perilaku dan keputusan manusia secara signifikan. Terutama dalam konteks bisnis dan organisasi, pendapat konsumen tentang produk dan layanan sangatlah berharga. Penelitian ini berfokus pada analisis sentimen ulasan aplikasi OYO di Google Playstore , dengan tujuan memahami sentimen pengguna terhadap aplikasi OYO dengan mendalami ulasan di Google Playstore, serta mengklasifikasikan ulasan tersebut menjadi positif atau negatif. OYO Hotels & Homes, sebuah perusahaan startup di sektor akomodasi yang berasal dari India, telah mencapai kesuksesan  luar  biasa  dengan  pendapatan  mencapai  US$951  juta  pada  tahun  fiskal  2019.  Metode  klasifikasi  utama  yang digunakan adalah Multinomial Naïve Bayes , yang merupakan pendekatan dalam pembelajaran terawasi dan seleksi fitur Chi- Square untuk mengeksplorasi korelasi antara faktor-faktor yang memengaruhi kepuasan pengguna. Proses penelitian meliputi pengumpulan data ulasan, preprocessing, labeling, dan pembagian data. Selajutnya dilakukan pembobotan TF-IDF dan seleksi fitur Chi-Square . Hasil analisis sentimen memperlihatkan dominasi ulasan positif, menunjukkan kepuasan pengguna terhadap layanan OYO. Proses klasifikasi menggunakan algoritma Multinomial Naïve Bayes , dengan hasil akurasi model tanpa seleksi fitur sebesar 85.5%, meningkat menjadi 87.00% dengan seleksi fitur Chi-Square . Hasil ini menunjukkan efektivitas algoritma Multinomial Naïve Bayes dan pentingnya seleksi fitur dalam analisis sentimen. Melalui pemahaman yang lebih dalam terhadap sentimen  pengguna,  perusahaan  dapat  meningkatkan  kualitas  layanan  dan  merespons  umpan  balik  dengan  lebih  baik, memastikan kepuasan pelanggan yang optimal. Penelitian ini memiliki implikasi luas dalam analisis sentimen dan penggunaan metode statistik untuk mengatasi masalah kompleks dalam industri teknologi.
Kata kunci: Analisis Sentimen, Aplikasi OYO, Google Playstore , Multinomial Naïve Bayes , Seleksi Fitur Chi-Square .
.
©This work is licensed under a Creative Commons Attribution - ShareAlike 4.0 International License

## 1. Pendahuluan
Opini memiliki peran sentral dalam berbagai aktivitas manusia  karena  berfungsi  sebagai  pengaruh  utama terhadap  perilaku  kita.  Ketika  kita  dihadapkan  pada pengambilan  keputusan,  keinginan  untuk  mengetahui pendapat orang lain menjadi hal yang alami. Di dunia nyata,  baik  bisnis  maupun  organisasi  selalu  berupaya
mencari  pendapat  konsumen  atau  masyarakat  tentang produk dan layanan yang mereka tawarkan. Begitu pula dengan  konsumen  individu,  yang  seringkali  ingin mengetahui  pendapat  pengguna  lain  mengenai  suatu produk  sebelum  membelinya,  atau  opini  orang  lain tentang  kandidat  politik  sebelum  membuat  keputusan dalam pemilihan[1].
Ulasan  di  Google PlayStore memberikan  pandangan yang  berharga  untuk  mengevaluasi  kualitas  sebuah aplikasi.  Aplikasi  OYO,  sebagai  contoh,  menerima berbagai  macam  ulasan,  baik  yang  bersifat  positif maupun negatif. Mengingat pentingnya ulasan tersebut, penelitian ini memiliki tujuan untuk mengklasifikasikan  ulasan  berdasar  sentimennya, yakni positif atau negatif. Sentimen dari setiap ulasan akan ditentukan berdasarkan rating yang diberikan oleh pengguna[2].  OYO Hotels  &  Homes ,  sebuah perusahaan  startup  di  sektor  akomodasi  yang  berasal dari  India,  mencatat  pencapaian  luar  biasa  dengan pendapatan  mencapai  US$951  juta  di  tahun  fiskal 2019. Ini mencerminkan Pendapatan meningkat empat kali  lipat  dari  periode  sebelumnya,  yang  hanya mencapai US$211 juta. Meskipun demikian, keuntungan OYO tidak sebanding dengan pendapatannya karena perusahaan mengalami kerugian yang meningkat menjadi US$335 juta, terutama terkait dengan  ekspansi  mereka  ke  pasar  China  dan  pasar lainnya[3].  Oleh  karena  itu,  pemahaman  mendalam mengenai sentimen dan pandangan pengguna terhadap aplikasi  OYO  menjadi  sangat  penting.  Dengan demikian,  perusahaan  dapat  memastikan  tingkat kepuasan  pelanggan  yang  optimal,  mengidentifikasi permasalahan  yang  mungkin  muncul,  dan  terus memperbaiki layanan mereka berdasarkan umpan balik yang diterima dari pengguna[4].
Salah satu contoh kasus yang tidak lama terjadi adalah pada  16  April  2023  tentang    pengguna  aplikasi  OYO yang dihadapkan dengan sejumlah permasalahan yang berpengaruh pada pengalaman mereka saat melakukan reservasi , proses check-in , dan booking di hotel yang tersedia  di  platform  ini.  Tantangan  ini  mencakup berbagai aspek, mulai dari masalah kebersihan kamar, pelayanan  staf  hotel,  akurasi  harga,  hingga  kualitas fasilitas,  yang  semuanya  berpotensi  memengaruhi tingkat kepuasan pengguna[5].
Analisis  sentiment  yang  juga  dikenal  sebagai  opinion mining  merupakan  proses  mendalami  evaluasi  opini, pandangan, dan emosi yang terungkap dalam teks. Ini adalah sebuah teknik pengolahan data yang menggunakan  machine  learning untuk  mengekstraksi, mendeskripsikan,  dan  menganalisis  informasi  dalam teks.  Fokusnya  adalah  pada  penentuan  arah  sikap dalam suatu opini, apakah bersifat positif atau negatif terhadap subjek tertentu.Fokus utama dari penelitian ini adalah  penerapan  dua  metode  utama.  Metode Multinomial  Naïve  Bayes  dan  Chi-Square.  Metode Multinomial  Naïve  Bayes  akan  digunakan  untuk mengkategorikan  sentimen  positif  atau  negatif  dalam ulasan  pengguna  terhadap  aplikasi  OYO.  Sementara itu,  metode  Chi-Square  akan  dimanfaatkan  untuk menyelidiki  korelasi  antara  faktor-faktor  yang memengaruhi tingkat kepuasan pengguna[7].
Tujuan  penelitian  ini  adalah  untuk  mencapai pemahaman  yang  lebih  mendalam  tentang  kepuasan
pengguna  aplikasi  OYO,  masalah  yang  mungkin muncul,  dan  aspek  yang  dapat  ditingkatkan  dalam pengalaman pengguna. Hasil dari analisis sentimen ini dapat membantu OYO dalam merancang strategi yang lebih  baik  untuk  meningkatkan  kualitas  layanan mereka dan merespons dengan lebih baik umpan balik pengguna. Penelitian ini juga memiliki implikasi yang lebih  luas  dalam  konteks  analisis  sentimen  dan penggunaan metode statistik dalam mengatasi masalah yang kompleks dalam industri teknologi.  Oleh karena itu,  penelitian  ini  memiliki  potensi  untuk  menjadi kontribusi  yang  berharga  dalam  pemahaman  lebih lanjut  tentang  bagaimana  data  ulasan  pengguna  dapat digunakan  untuk  meningkatkan  layanan  dan  platform serupa.

## 2. Metode Penelitian
Langkah-langkah yang dijalankan dalam penelitian ini dapat  disimak  melalui  ilustrasi  pada  Gambar  2.1 berikut ini:
Gambar 2. 1. Alur Penelitian

## 2.1. Pengumpulan Data
Pengumpulan  ulasan  OYO  dari  Google Playstore melibatkan  ekstraksi  informasi  dari  halaman  ulasan aplikasi  OYO  di  toko  aplikasi  Google Playstore .  Ini dapat  dilakukan  menggunakan  program  atau  skrip komputer  yang  khusus  dirancang  untuk  mengekstrak data. Proses ini memanfaatkan pustaka Python bernama " google_play_scraper ".  Pengumpulan  data  dilakukan dengan  mengurutkan  ulasan  berdasarkan  peringkat teratas  pada  aplikasi  OYO  di Google Playstore .  Pada proses ini data disimpan dalam file berformat Excel[8].
2.2 Preprocesing
Langkah  krusial  dalam  menganalisis  sentimen  ulasan di  Google Playstore atau platform serupa  adalah melakukan preprocessing data.  Tujuannya  adalah membersihkan  dan  menyiapkan  ulasan  agar  bisa diproses  dengan  baik  oleh  metode  analisis  seperti Multinomial  Naïve  Bayes dan  Seleksi  Fiture Chi- Square . Proses ini mencakup penghapusan tanda baca, t okenisasi , dan stemming untuk meningkatkan akurasi dan  konsistensi  hasil  analisis.  Setelah  preprocessing, data  ulasan  akan  lebih  terstruktur  dan  siap  digunakan sebagai  masukan  bagi  metode  analisis  selanjutnya. Dengan  demikian,  langkah-langkah  ini  penting  untuk membangun sistem analisis sentimen yang efisien dan akurat  dalam  mengeksplorasi  wawasan  dari  ulasan pengguna[9].

## 2.2.1 Tahapan Duplicate
Tahap  penting  ini  bertujuan  untuk  membersihkan sumber  data  ulasan  dari  duplikat  yang  terjadi.  Proses penghapusan  duplikasi  ini  memastikan  bahwa  hanya ada  satu  salinan  dari  setiap  data  yang  redundan  yang disimpan.  Dengan  menyaring  duplikat,  kita  dapat memperoleh dataset yang lebih bersih dan representatif untuk  analisis  lebih  lanjut.  Langkah  ini  membantu mencegah bias yang disebabkan oleh adanya data yang berulang, sehingga hasil analisis menjadi lebih akurat. Dengan mengoptimalkan tahap penghapusan duplikasi, kita  dapat  memperoleh  wawasan  yang  lebih  berharga dari data ulasan yang tersedia.

## 2.2.2 Tahapan Remove punctuation
Tanda baca atau karakter unik seperti (,.!()-[]{};:' "\ /< > ? @ # % ^ &*_~ dan sejenisnya akan dihilangkan dari data  teks  ulasan  sebagai  langkah  awal  dalam  proses preprocessing .  Penghapusan  tanda  baca  diperlukan karena  umumnya  tidak  memberikan  kontribusi  yang signifikan dalam analisis teks. Dengan menghilangkan tanda baca, teks ulasan menjadi lebih bersih dan lebih mudah  diproses  oleh  algoritma  analisis  sentimen. Langkah  ini  membantu  memastikan  konsistensi  dan akurasi  dalam  hasil  analisis  sentimen  yang  akan dilakukan selanjutnya. Dengan membuang tanda baca, fokus  pada  makna  inti  dari  ulasan  pengguna  dapat ditingkatkan, sehingga menghasilkan representasi teks yang lebih sederhana dan mudah dimengerti.

## 2.2.3. Case folding
Bagian Case  folding merupakan  proses  yang  penting pada  Transformasi  teks,  yang  melibatkan  konversi semua  huruf  menjadi  huruf  kecil.  Tujuannya  adalah untuk  memastikan  konsistensi  dan  menggabungkan variasi kata yang serupa, seperti "bagus" dan "Bagus" menjadi  "bagus".  Langkah  ini  membantu  dalam meminimalkan  variasi  yang  tidak  perlu  dalam  data teks, sehingga meningkatkan akurasi analisis. Dengan
merampingkan variasi kata, analisis teks menjadi lebih konsisten  dan  mudah  dilakukan. Case  folding juga memudahkan  proses  pencarian  dan  pengelompokan kata,  karena  kata-kata  dengan  casing  yang  berbeda dianggap sama setelah proses ini dilakukan.

## 2.2.4 Tokenize
Tokenize adalah  langkah  penting  dalam  pemrosesan teks yang melibatkan pemecahan ulasan menjadi token atau  kata-kata  individual.  Tujuannya  adalah  untuk memungkinkan analisis per kata dan membentuk dasar untuk  perhitungan  statistik.  Dengan tokenize ,  teks ulasan Dapat dibagi menjadi bagian-bagian yang lebih kecil., seperti kata-kata, memungkinkan untuk analisis yang lebih mendalam dan akurat. Proses ini membantu dalam memahami struktur dan makna teks dengan lebih baik,  yang  sangat  penting  dalam  tugas-tugas pemrosesan bahasa alami, termasuk analisis sentimen. Melalui tokenize , informasi penting yang tersembunyi dalam teks dapat diekstraksi dengan lebih efisien.

## 2.2.5. Stopword
Penghapusan stopwords bagian  penting  dalam preprocessing Teks yang dimaksud untuk mengeliminasi  kata-kata  yang  tidak  memiliki  makna ataupun  nilai  penting,  seperti  "di",  "yang",  "dalam", "adalah", dan sejenisnya. Dengan membuang stopwords ,  teks  menjadi  lebih  fokus  pada  kata-kata kunci  yang  lebih  bermakna,  sehingga  meningkatkan keakuratan analisis. Proses ini membantu menyederhanakan  teks  dan  meningkatkan  efisiensi dalam  pemrosesan  dan  analisis  lanjutan.  Dengan menghilangkan stopwords ,  kita  dapat  meningkatkan kualitas  hasil  analisis  sentimen  dan  pemahaman  teks secara  keseluruhan.  Langkah  ini  krusial  untuk menyaring  informasi  yang  relevan  dan  menghasilkan representasi teks yang lebih padat dan bermakna.

## 2.2.6. Stemming
Pada  tahap stemming Ini  adalah  proses  teks  yang dimaksudkan  untuk  mengonversi  kata-kata  ke  bentuk dasarnya. Contohnya, kata seperti "berlari," "lari," dan "lari-lari" disederhanakan menjadi "lari." Ini membantu dalam Meminimalkan keragaman kata yang sebenarnya  mempunyai  makna  yang  sama.  Proses  ini membuka  peluang  penyatuan  kata-kata  yang  serupa secara semantik, sehingga mempermudah analisis teks. Dengan menerapkan stemming , konsistensi dan akurasi analisis teks dapat ditingkatkan, terutama dalam tugas seperti  klasifikasi  sentimen  atau  pemahaman  bahasa alami. Stemming juga  mengoptimalkan  proses pencarian dan pengelompokan kata-kata, meningkatkan efisiensi dalam manipulasi dan analisis teks secara keseluruhan.
2.3. Labeling
Labelling adalah  tahap  krusial  dalam  proses  analisis sentimen di mana output dari tahapan sebelumnya akan diolah  untuk  menentukan  polaritas  ulasan.  Hasilnya akan Membuat dua klasifikasi utama, yaitu kelas positif dan  negatif.  Proses labelling ini  bertujuan  untuk memberikan  arah  sentimen  pada  setiap  ulasan, membedakan  antara  ulasan  yang  bersifat  positif  atau negatif.  Dengan  adanya labelling ,  kita  dapat mengetahui  pandangan  atau  opini  pengguna  terhadap produk  atau  layanan  yang  diulas.  Tahap  ini  penting karena  menjadi  dasar  dalam  pengambilan  keputusan atau  strategi  berdasarkan  analisis  sentimen.  Dengan demikian,  labelling  memainkan  peran  vital  dalam menganalisis  dan  memahami  Pandangan  yang diekspresikan oleh pengguna dalam ulasannya. [10].

## 2.4. Split Data
Langkah  ini  melibatkan  pembagian  data  menjadi  dua subset , yaitu X_train dan y_train, dengan rasio 70/30, 80/20 dan 90/10. Tujuan dari pembagian data ini adalah untuk  memastikan  bahwa  model  yang  dikembangkan dapat  diuji  dengan  baik  dan  memberikan  estimasi kinerja yang akurat. Dengan memisahkan data menjadi subset latih dan uji, kita dapat mengukur seberapa baik model dapat mengeneralisasi pola dari data yang tidak terlihat  sebelumnya.  Dengan  mengoptimalkan  rasio pembagian  data  ini,  kita  dapat  memastikan  bahwa model yang dihasilkan memiliki kinerja yang baik pada data baru yang akan ditemui di masa depan[11].
2.5. Term weight
Metode TF-IDF membantu  mengukur  pentingnya sebuah  kata  dalam  suatu  dokumen.  Ini  dilakukan dengan memperhitungkan seberapa sering kata tersebut muncul dalam dokumen dan berapa banyak  dokumen di  koleksi  yang  mengandung  kata  tersebut[12].  Jika sebuah  kata  muncul  banyak  Dalam  satu  dokumen namun jarang terlihat di dokumen lainnya, maka kata itu dianggap penting untuk dokumen tersebut. Dengan menggunakan  rumus TF-IDF ,  kita  bisa  menetapkan bobot  pada  setiap  kata berdasarkan pentingnya dalam dokumen. Rumus ini menjadi dasar dalam pengelompokan kata-kata dan analisis teks lebih lanjut.
𝑡𝑓 = 0,5 + 0,5 𝑥 𝑡𝑓 max (𝑡𝑓) (2.1)
𝑖𝑑𝑓 𝑡 = log ( 𝑑 𝑑𝑓𝑡 ) (2.2)
𝑤 𝑑,𝑡 = 𝑡𝑓 𝑑,𝑡 𝑥 𝐼𝐷𝐹 𝑑,𝑡
(2.3)
Keteranganya:
- tf  = Jumlah  kata  yang  dicari  dalam  suatu dokumen.
- max (tf) = Jumlah kemunculan paling sering dari term yang sama dalam dokumen tersebut.
- Nilai D = Jumlah keseluruhan dokumen
- 𝑑𝑓 𝑡 =  Jumlah  keseluruhan  dokumen  yang menggandung term t
- IDF  =  Inversed  Document  Frequency  (log2
(D/df))
- d = dokumen ke d
- t = kata ke –t dari kata kunci
- W = bobot dokumen ke –d terhadap kata ke –t
2.6. Seleksi Fitur Chi-Square
Chi-Square (χ²) adalah alat Statistik yang dimanfaatkan untuk  memahami  keterkaitan  antara  dua  variabel kategoris  pada  tabel  kontingensi.  Proses  seleksi  fitur adalah langkah untuk memilih fitur yang paling relevan dengan kriteria tertentu. Hal ini penting terutama dalam data  dengan  banyak  dimensi  karena  mencari  subset fitur  yang  optimal  bisa  sangat  sulit. Chi-Square merupakan metode yang digunakan untuk seleksi fitur dengan  memanfaatkan  prinsip  statistik  guna  menguji keterkaitan  antara  suatu  fitur  dengan  kategori  yang terkait . Rumus Chi-Square digunakan untuk menghitung nilai uji statistik yang menentukan tingkat signifikansi hubungan antara fitur dan kategori dalam data[13].  Berikut  merupakan  rumus  dari  perhitungan Chi-Square:
𝑋 2 =   ∑ (𝑓0−𝑓2)2 𝑓ℎ 𝑘 𝑖=1 (2.4)
Keterangan:
- X 2 = Chi-kuadrat
- 𝑓 0 = Frekuensi yang diamati
- 𝑓 ℎ = Frekuensi yang diharapkan

## 2.6. Pemodelan
Pada  langkah  ini,  mengimplementasikan  teknik Multinomial Naïve Bayes untuk  alat klasifikasi dalam analisis  sentimen.  Metode  ini  merupakan  teknik supervised  learning dalam data  mining ,  di  mana pendekatannya  sudah  terarah  dan dataset yang digunakan  telah  memiliki  label/kelas. Multinomial Naïve Bayes adalah suatu algoritma khusus dari Naïve Bayes yang  digunakan  dalam text  mining untuk mengklasifikasikan teks  berdasarkan  probabilitas munculnya  kelas  dalam  dokumen.  Prosesnya  dimulai dengan  menyertakan  data  latih  untuk  proses pembelajaran, diikuti dengan menghitung probabilitas kemunculan suatu kelas pada data latih menggunakan persamaan khusus.[14].
𝑃(𝑉𝑗) = 𝑑𝑜𝑐 𝑗 𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔
(2.5)
Keterangan:
- P(Vj) =  probabilitas  dokumen  terhadap  kategori atau kelas kata.
- doc j = jumlah dokumen yang memiliki kategori atau  kelas  “j”  yaitu positif atau negative dalam data latih.
- training = jumlah dokumen dalam data latih
Langkah  berikutnya  dalam  menghitung  probabilitas bahwa  kata  i  termasuk  dalam  kategori  atau  kelas tertentu dapat dicapai dengan menerapkan persamaan. 2.6.
𝑃(𝑥𝑖|𝑉𝑗) = 𝑛𝑘+1
𝑛+|𝑘𝑜𝑠𝑎𝑘𝑎𝑡𝑎| (2.6)
Keteranggan:
- P(xi|Vj) = probabilitas kata “xi” dalam suatu dokumen berdasarkan Vj
- nk = Frekuensi  kehadiran  kata  "xi" dalam  dokumen  pada  kategori  atau  kelas dokumen Vj.
- n = Total jumlah kata dalam dokumen dalam kategori atau kelas dokumen Vj.
- |kosakata| = jumlah kata pada data latih
2.7. Evaluasi Model
Pada  tahap  ini  akan  dilakukan  evaluasi  untuk mengevaluasi hasil dari pemodelan data menggunakan confusion  matrix dengan  mengamati  nilai  akurasi, presisi,  recall  yang  dihitung  dari True  Positive (TP), True  Negative (TN), False  Positive (FP),  dan False Negative (FN). Jika hasil tingkat akurasi yang terdapat dalam  tahap  evaluasi  sudah  cukup  baik,  maka  model akan  disimpan  dalam  menggunakan  l ibrary  Python pickle atau joblib .  Jika  tidak,  akan  kembali  ke  proses sebelumnya yaitu proses Pemodelan[15].
2.8. Visualisasi
Pada tahapan akhir penelitian ini, dilakukan visualisasi hasil klasifikasi analisis sentimen Ulasan OYO menjadi dua kategori positif dan negatif. Visualisasi dilakukan memanfaatkan wordcloud untuk  menampilkan  kata yang  paling  umum  tampil  dalam  ulasan  di Playstore . Selain  itu, pie  chart juga  digunakan  untuk memperlihatkan  presentase  ulasan  dari  Pengguna. Langkah  ini  bertujuan  untuk  memberikan  gambaran visual  yang  jelas  mengenai  sentimen  yang  dominan dalam ulasan, serta proporsi ulasan dari masing-masing kategori yang telah diklasifikasikan. Melalui visualisasi  ini,  hasil  analisis  sentimen  dapat  disajikan secara lebih intuitif dan mudah dipahami oleh pembaca atau  pemangku  kepentingan.  Dengan  demikian, visualisasi menjadi langkah penting dalam mengevaluasi  dan  menyajikan  hasil  dari  penelitian analisis sentimen ini secara efektif[16].

## 3.   Hasil dan Pembahasan
3.1. Pengumpulan Data
Pengumpulan data yang dimanfaatkan dalam Analisis Sentiment OYO dengan menggunakan sebuah library atau pustaka komputer
yang disebut
" google_play_scraper " yang berbasis Python.
Gambar 3. 1. Crawling Data Dalam Bentuk Excel
Pada  Gambar  3.1  merupakan  pengumpulan  data  di lakukan  tengan  teknik scrapping/crawling dan  data yang di ambil adalah 2000 data terbaru. File kemudian di simpan dalam bentuk CSV.

## 3.2. Preprocessing
Tahapan  preprocessing  di  gunakan  pada  kolom ” content ”  yang  berisikan  sebuah  kalimat  komentar pengguna  aplikasi  OYO.  Data  pada  kolom  ”content” akan dilakukan beberapa tahapan agar dapat digunakan untuk  analisis  sentiment.  Berikut  tahapan  pada preprocessing:

## 3.2.1. Duplicate
Pada  tahap  ini  di  guanakan  untuk  menghapus  data duplikat.  Penghapusan  data  duplikat  yang  efektif berguna  memastikan  keakuratan  dan  kehandalan  data yang digunakan dalam proses pengambilan keputusan.

## 3.2.2. Remove Punctuation
Penghapusan  tanda  baca  menunjukkan  bahwa  proses ini  sangat  penting  dalam  pemrosesan  teks.  Dengan menghapus Tanda baca seperti koma, titik, tanda seru, dan  sejenisnya,  teks  menjadi  lebih  bersih  dan  lebih mudah  untuk  diproses.  Hasil  setelah Remove Punctuation :
Tabel 3. 1. Remove Punctuation Sebelum Sesudah
nyaman, bersih, berkesan. nyaman bersih berkesan

## 3.2.3. Case Folding
Tahapan case  folding dilakukan  Untuk  mengubah semua huruf kapital menjadi huruf kecil dalam sebuah dokumen. Hasil dari case folding :
Tabel 3. 2 . Case Folding Sebelum Sesudah APLIKASI BUSUK HOTEL  DIBATALIN DUIT  MASUK  KE WALLET  GA  BISA DITARIK aplikasi  busuk  hotel dibatalin duit masuk ke wallet ga bisa ditarik

## 3.2.4. Tokenize
Tahapan  ini  menggunakan NLTK, singkatan  dari Natural  Language  Toolkit ,  yang  merupakan library Python  untuk  melakukan  tokenisasi  dan  pemodelan teks. Tokenizing adalah  proses  ekstraksi  kata  dari sebuah string atau  pemecahan  kalimat  menjadi  kata- kata untuk memperoleh nilai kata. Hasil dari Tokenize :
Tabel 3. 3. Tokenize
Sebelum Sesudah harga aplikasi dan harga  aslinya  sangat berbeda ['harga', 'aplikasi',
'dan',  'harga',  'aslinya', 'sangat', 'berbeda']

## 3.2.5. Stopword
Langkah ini dimaksudkan untuk menghilangkan kata- kata  yang  tidak  relevan  atau  tidak  signifikan  dalam data..  Proses  ini  menggunakan  metode stoplist atau stopword dari library  Sastrawi . Stopword adalah kumpulan  kata  yang  sering  digunakan  tetapi  tidak memberikan kontribusi makna yang signifikan, seperti "dari", "untuk", "dan", "di", dan sejenisnya. Hasil dari Stopword :
Tabel 3. 4. Stopword Sebelum Sesudah
['aplikasi', 'yang',
'sangat', 'membantu', 'dan', 'memudahkan',
'kita', 'untuk', 'melakukan',
'pemesanan']
['aplikasi', 'membantu', 'memudahkan', 'pemesanan']

## 3.2.6. Stemming
Stemming dilakukan dengan tujuan untuk mengurangi variasi  kata  dalam  teks,  sehingga  mengurangi  jumlah kata yang perlu diproses dalam analisis teks. Proses ini memanfaatkan pustaka sastrawi yang mengikuti aturan morfologi  Bahasa  Indonesia,  yang  dirancang  khusus untuk  menangani  masalah  stemming  dalam  bahasa tersebut. Dampak dari proses stemming adalah :
Tabel 3. 5. Stemming Sebelum Sesudah ['hati', 'hati', 'penipuan', 'hotel', 'tersedia', 'uang', 'terpakai', 'booking',
'oyo', 'kembali']
['hati',
'penipuan',
'hotel',
'tersedia',
'uang',
'terpakai',
'booking', 'oyo', 'kembali']

## 3.3. Labeling
Pada tahap labelisasi, data diberikan kategori sentimen, yang dibagi menjadi dua kelas yakni positif dan negatif. Selanjutnya,  fungsi  dibuat  untuk  mendapatkan subjektivitas, fungsi untuk mendapatkan polaritas, dan fungsi untuk mengonversi skor. Jika skor kurang dari 0,  dianggap  sebagai  sentimen  negatif,  sementara  jika lebih  dari  nol,  dianggap  sebagai  sentimen  positif. Proses  labelisasi  hanya  dilakukan  pada  kolom "Content".
Gambar 3. 2. Hasil Labelisasi
Dari pelabelan mengunakan kamus lexicon mendapatkan  sentiment  positif  sebanyak  1141 komentar dan negatif sebanyak 859.
3.4. Pembobotan TF-IDF
Sistem melakukan pembobotan term untuk menentukan  bobot  setiap  kata  dalam  ulasan  yang  ada pada  Aplikasi  OYO  di Playstore .  Pembobotan dilakukan  dengan  menghitung  skor  frekuensi  kata dalam data yang dipilih. Pada Gambar 3.3 merupakan hasil pembobotan menggunakan metode TF-IDF.
Gambar 3. 3. Pembobotan TF-IDF

## 3.5. Seleksi Fitur Chi-Square
Setelah TF-IDF diterapkan,  dilanjutkan  seleksi  fitur dengan  metode  C hi  Square untuk  menentukan  nilai fitur  yang  signifikan.  Fitur-fitur  dinilai  menggunakan fungsi Chi Square , kemudian dipilih nilai fitur teratas Dengan mempertimbangkan nilai k yang telah dipilih, sebesar 3347 dari 4210 fitur untuk Perbandingan 90% pada  data  latih,  10%  pada  data  uji.  Hasil  penilaian  K terhadap  akurasi  pada  seleksi  fitur  menggunakan Chi Square ditampilkan dalam Gambar 3.4.
Gambar 3. 4. Select Fitur KBest

## 3.6. Splitting Data
Split data  melibatkan  pembagian  dataset  menjadi  dua bagian, yakni data latih dan data uji. Dalam penelitian ini,  kami  akan  melakukan  pembagian  menggunakan rasio yang berbeda, termasuk 70% data latih dan 30% data  uji,  80%  data  latih  dan  20%  data  uji,  serta  90% data  latih  dan  10%  data  uji,  sesuai  dengan  hasil percobaan sebelumnya.
Tabel 3. 6. Hasil Split Data 70:30 hasil nilai x train (1400, 1176) hasil nilai x test (600, 1176) hasil nilai y train (1400,) hasil nilai y train (600,) Tabel 3. 7. Hasil Split Data 80:20 hasil nilai x train (1600, 2850) hasil nilai x test (400, 2850) hasil nilai y train (1600,) hasil nilai y train (400,) Tabel 3. 8. Hasil Split Data 90:10 hasil nilai x train (1800, 3347) hasil nilai x test (200, 3347) hasil nilai y train (1800,) hasil nilai y train (200,)
Pada tahapan splitting data 70:30, 80:20 dan 90:10 hasil dapat di lihat pada Tabel 3.6, Tabel 3.7 dan Tabel 3.8.
3.7. Modeling
Modeling menggunakan  algoritma Multinomial  Naïve Bayes untuk  mengklasifikasi  dataset  menjadi  dua kategori,  yaitu  positif  dan  negatif,  dilakukan  dengan membagi  data  latih  menjadi  70%  dan  pada  data  uji sebesar  30%,  kemudian  data  latih  menjadi  80%  dan pada  data  uji  sebesar  20%  dan  pembagian  data  latih 90%  dan  pada  data  uji  sebesar  10%.  Penggunaan library sklearn.naive_bayes untuk mengimport MultinomialNB disesuaikan  dengan  data  X_train dan y_train .  Hasil  performa  model  menunjukkan  bahwa penggunaan metode seleksi fitur umumnya meningkatkan  kinerja  model  dibandingkan  dengan
model  tanpa  seleksi  fitur.  Perbedaan  performa  antara rasio  pembagian  data  yang  berbeda  cenderung  kecil, meskipun rasio yang lebih besar cenderung memberikan  kinerja  yang  sedikit  lebih  baik.  Hasil terbaik  dicapai  pada  skenario  "Seleksi  fitur  90:10", menunjukkan  peningkatan  yang  signifikan  dalam akurasi,  recall,  precision,  dan  F1  score.  Meskipun demikian,  model  tanpa  seleksi  fitur  pada  rasio  90:10 juga menunjukkan kinerja yang cukup baik, meskipun dengan  akurasi  yang  sedikit  lebih  rendah.  Hal  ini menunjukkan  bahwa Penggunaan  seleksi  fitur meningkatkan akurasi, reccal,dan memperbaiki presisi model.  Ini  menunjukkan  bahwa  seleksi  fitur berkontribusi pada peningkatan performa keseluruhan model  dengan  memperhatikan  keseimbangan  antara presisi  dan  recall.  Hasil  Peforma  model  Klasifikasi tertera pada Tabel 3.9.
Tabel 3. 9 . Peforma Model Test Accuracy Recall Precision F1 score Seleksi fitur 70:30 84.5% 93.39% 82.28% 87.48%
Tanpa seleksi Fiture 70:30 81.17% 92.46% 78.57% 84.95% Seleksi fitur 80:20 85.0% 92.17% 83.46% 87.6%
Tanpa seleksi Fiture 80:20 84.5% 93.91% 81.82% 87.45% Seleksi fitur 90:10 87.0% 96.15% 81.97% 88.5%
Tanpa seleksi Fiture 90:10 85.5% 95.19% 80.49% 87.22%
3.8. Evaluasi Model
Pada  tahapan  evaluasi  model  pada  dataset  yang  di dikelolah  menggunakan  algoritma Multinomial  Naïve Bayes tahap  selanjutnya  untuk  mengevaluasi  peforma model  yang  di  dapatkan  menggunakan confusion Matrix. Dari hasil confusion matrix Analisis sentimen dan  pengategorian  menggunakan  teknik Multinomial Naïve bayes digunakan untuk menghitung nilai akurasi,
presisi, recall ,  dan F1-score .  Berikut  ini  adalah  tabel confusion matrix yang disajikan dalam penelitian ini.
Tabel 3. 10 . Confusion Matrix Ij Kelas Prediksi (j) positif Negatif Kelas Aktual (i) Positif 74 22 Negatif 4 100
Dari  hasil  Tabel  3.10,  yang  merupakan  tampilan confusion  matrix  dari  data  split  90:10  dengan mengunakan  seleksi  fiture  chi-square,  dapat  dilihat bahwa  confusion  matrix  pada  algoritma  Multinomial Naïve  Bayes  terdiri  dari  dua  nilai  klasifikasi,  yaitu positif  dan  negatif.  Hasil  ini  memberikan  gambaran tentang seberapa baik model dapat memprediksi kelas positif  dan  negatif.  Hasil  klasifikasi  dapat  di  jelaskan sebagai berikut:
1. Sentiment  yang  di  prediksi  sebagai  sentiment positif ada 74 sentimen benar positif.
2. Terdapat  22  sentimen  positif  yang  diprediksi, namun ternyata salah karena sebenarnya merupakan sentimen negatif.
3. Sebanyak  4  sentimen  negatif  diprediksi,  namun pada kenyataannya adalah sentimen positif.
4. Prediksi  sebanyak  100  sentimen  negatif,  dan prediksi tersebut ternyata benar.
Pada  confusion  matrix  yang dihasilkan  selama  proses klasifikasi,  kita  dapat  memperoleh  metrik  seperti presisi, recall, dan F1-score . Metrik-metrik ini penting untuk  mengevaluasi  keakuratan  sistem  yang  telah dikembangkan.  Secara  rinci,  nilai-nilai  ini  biasanya disajikan  dalam  laporan  klasifikasi.  Berikut  adalah laporan klasifikasi yang berdasarkan matriks kebingungan  pada  pengujian  data  uji  menggunakan metode Multinomial Naïve Bayes:
Gambar 3.5. Classification Report Model hasil  perhitungan  Gambar  3.5  di  dapatkan  hasil  nilai akurasi sebesar 87.0%, recall 96.15%, presisi 81.97%, dan F1-Score 88.5%.
3.9. Visualisasi data
Pada tahap terakhir penelitian ini dalah visualisasi hasil klasifikasi  pada  analisis  sentiment  ulasan  pengguna OYO  dikomentar  Google Playstore untuk  kelas polarity  positif  dan  negatif.  Visualisasi  berbentuk wordcloud untuk menunjukan kata yang paling sering muncul dalam ulasan dan pie chart untuk menunjukan presentase  banyaknya  komentar  positif  dan  negatif yang di hasilkan.
Gambar 3.6. Visualisasi Sentimen Positif
Gambar 3.7. Visualisasi Sentimen Negatif
Gambar 3.8. Diagram Perbandingan Presentase Sentimen
Dari hasil visualisasi WordCloud Gambar 3.6, terlihat bahwa kata-kata yang paling sering muncul dalam data yang  memiliki  sentimen  positif  adalah  "Bayar", "Pesan",”Harga”,  “Booking”  dan  "uang".  Di  sisi  lain pada  Gambar  3.7,  dalam  data  negatif,  kata-kata  yang dominan adalah "Gak", "Bayar", "Refund", "Tipu" dan "Batal". Pada Gambar 3.8 Untuk hasil dari presentase banyaknya  komentar  positif  dan  negatif  yang  di hasilkan memiliki presentase kometar positif sebanyak 57%  dan  komentar  negatif  sebanyak  43%.  Untuk visualisasi kata-kata umum yang paling sering muncul, disajikan dalam tabel berikut:
Tabel  3.11  adalah daftar kata-kata  yang  paling  sering muncul dalam ulasan positif pengguna aplikasi OYO:
Tabel 3. 11. Visualisasi Kata Positif Content Polarity pembayaran mudah dengan menggunakan  e  wallet  dan  pencarian lokasi  yang  mudah  juga  dengan didukung map yang benar Positif kamar  bersih  harum  dan  AC  dingin. suka mau pesan lagi. Positif jadi sangat mudah mencari penginapan,harganyapun lebih terjangkau daripada manual Positif oyo  mantap  ,  sangat  membantu  buat yang  mau  booking  hotel  ,  pilihan hotelnya  juga  beragam  variant  serta diskon  yang  fantastis ,  mantap banget pokok nya deh Positif
Saya  merasa  puas  dengan  harga  66rb bisa  menginap  dengan  nyaman.  Ya walaupun saya sempat kehilangan uang 99rb  pada  awal  pertama  kali  booking tapi itu kesalahan saya karna saya tidak teliti,  jadi  wajar  uang  saya  tidak kembali. Positif
Tabel  3.12  adalah daftar kata-kata  yang  paling  sering muncul dalam ulasan negatif pengguna aplikasi OYO:
Tabel 3. 12. Visualisas i Kata Negatif
Content Polarity Pelayanan gak sesuai,dan mengecewakan .karna juga harga tidak sesuai  dengan  apa  yang  ada  di APLIKASI,Alhsil kena CAS Lagi . Negatif Udh  bayar,  udh  smpe  hotel  malah katanya udh gk kerja sama sm aplikasi, alhasil duit hilang , ini aplikasi nyolong duit org Negatif Refund  nya  lamaa  kayaknya  nggak  di proses  sama  sekali  sudah  16  hari  tetep nggak  di  proses  sangat  buruk  aplikasi ini Negatif Aplikasi  penipu  merugikan  orang  dan uangku hilang gara² apk satu ini Negatif
Ini gimana deh, udah booking-booking taunya dibatalkan sepihak Negatif

## 4.   Kesimpulan
Dalam  penelitian  mengenai  Analisis  Sentimen pengguna aplikasi OYO pada ulasan Google Playstore, didapati bahwa jumlah ulasan dengan sentimen positif lebih  melimpah  daripada  yang  memiliki  sentimen negatif.  Dari  total  2000  ulasan  yang  dikumpulkan melalui  teknik  crawling,  terdapat  1141  ulasan  positif dan 859 ulasan negatif, menandakan bahwa pengguna aplikasi  OYO  umumnya  memberikan  pandangan positif terhadap penggunaan aplikasi atau layanan yang disediakan.  Proses  klasifikasi  ulasan  pengguna dilakukan menggunakan algoritma Multinomial Naïve Bayes  dengan  dataset  dibagi  menjadi  3  kategori  uji 70:30,  80:20  dan  90:10.  Tanpa  seleksi  fitur,  akurasi model  mencapai  tertinggi  mencapai  85.5%,  dengan recall 95.19%, dan presisi 80.49%. Sementara dengan menggunakan seleksi fitur Chi-Square, akurasi model meningkat  menjadi  87.00%,  dengan  penurunan  nilai recall menjadi 96.15%, dan presisi meningkat menjadi 81.97%. Penggunaan seleksi fitur Chi-Square memberikan hasil dan akurasi yang lebih tinggi dalam analisis sentimen ulasan Google Playstore, menunjukkan  bahwa  algoritma  Multinomial  Naïve Bayes efektif untuk menganalisis sentimen pada ulasan tersebut.

## Daftar Rujukan
[1]  S. Bhatia, M. Sharma, dan K. K. Bhatia, “Sentiment Analysis and Mining of Opinions,” Stud. Big Data , vol. 30, no. May, hal. 503– 523, 2018, doi: 10.1007/978-3-319-60435-0_20.
[2]  Z. Zaenal dan I. R. I. Astutik, “Sentiment Analysis of OYO App Reviews  Using  the  Support  Vector  Machine  Algorithm,” Procedia  Eng.  Life  Sci. ,  vol.  3,  no.  December,  2023,  doi: 10.21070/pels.v3i0.1338.
[3]  A. Kusumawardani, “Pendapatan Meroket, OYO Tetap Merugi US$335 Juta,” Bisnis.com , 2020.
[4]  Rufman  Iman  Akbar,  “Manajemen  Hubungan  Pelanggan (CRM),” hal. 44, 2021.
[5]  ANDHIKA,  “OYO  Melakukan  Pembatalan  Sepihak  Atas Pesanan Kamar Hotel yang Telah Dibayar,” Kompas.com , 2023.
[6]  N.  B.  Sidauruk  dan  N.  Riza,  “SENTIMEN  ANALISIS  DATA PENGGUNA TERHADAP KAI ACCESS Systematic Literature Review,” vol. 7, no. 2, hal. 1297–1303, 2023.
[7]  A.  E.  Putra,  “Pengaruh  Seleksi  Fitur  Chi-Square  Terhadap Kinerja Algoritma Naïve Bayes Classifier,” hal. 16–17, 2018.
[8]  F. A. Wenando et al. , “Jurnal Computer Science and Information Technology  (  CoSciTech  )  Analyzing  Public  Sentiment  on  the Brigadier  J  Shooting  Case  Using  the  Naïve  Bayes  Classifier Algorithm,” vol. 4, no. 2, hal. 484–490, 2023.
[9]  Sriani,  Suhardi, dan  Irsan  Frianda  Gultom,  “Analisis  Sentimen Kebijakan  Pemberian  Subsidi  Motor  Listrik  Menggunakan Metode Support Vector Machine,” Fasilkom , vol. 13, no. 3, hal. 511–517, 2023.
[10] Fajri  Koto  dan  Gemala  Y.  Rahmaningtyas,  “InSet  Lexicon: Evaluation of a Word List for Indonesian Sentiment Analysis in Microblogs,” 2017  Int.  Conf.  Asian  Lang.  Process. ,  hal.  391– 394, 20M.
[11] D.  Mualfah,  Ramadhoni,  R.  Gunawan,  dan  D.  Mulyadipa Suratno,  “Analisis  Sentimen  Komentar  YouTube  TvOne Tentang  Ustadz  Abdul  Somad  Dideportasi  Dari  Singapura Menggunakan  Algoritma  SVM,” J.  Fasilkom ,  vol.  13,  no.  01, hal. 72–80, 2023, doi: 10.37859/jf.v13i01.4920.
[12] M.  Nurjannah  dan  I.  F.  Astuti,  “PENERAPAN  ALGORITMA TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (  TF-IDF  )  UNTUK  TEXT  MINING,” vol.  8, no. 3,  hal.  110– 113, 2013.
[13] T.  Ernayanti,  M.  Mustafid,  A.  Rusgiyono,  dan  A.  R.  Hakim, “Penggunaan  Seleksi  Fitur  Chi-Square  Dan  Algoritma Multinomial Naïve Bayes Untuk Analisis Sentimen Pelangggan Tokopedia,” J. Gaussian , vol. 11, no. 4, hal. 562–571, 2023, doi: 10.14710/j.gauss.11.4.562-571.
[14] H.  Februariyanti,  M.  Firmansyah,  J.  S.  Wibowo,  dan  M.  S. Utomo,  “Analisis  Sentimen  Tanggapan  Terhadap  Aplikasi
Layanan Informasi Penginapan Menggunakan Metode Klasifikasi Naive Bayes,” semanTIK , vol. 6, no. 2, hal. 115–124, 2020.
[15] I.  Saputra et  al. ,  “Analisis  Sentimen  Pengguna  Marketplace Bukalapak  dan  Tokopedia  di  Twitter  Menggunakan  Machine Learning,” Fakt.  Exacta ,  vol.  13,  no.  4,  hal.  200,  2021,  doi: 10.30998/faktorexacta.v13i4.7074.
[16] D.  Mualfah,  A.  Prihatin,  dan  R.  Firdaus,  “Analisis  Sentimen Masyarakat  Terhadap  Kasus  Pembobolan  Data  Nasabah  Bank BSI  Pada  Twitter  Menggunakan  Metode  Random  Forest  Dan Naïve Bayes,” vol. 13, no. 3, hal. 614–620, 2023.