Prasetyo, Fahrurozi, Analisa Sentimen pada… https://doi.org/10.35760/ik.2023.v28i3.9761

## ANALISA SENTIMEN PADA ULASAN GOOGLE UNTUK HOTEL GRAN MAHAKAM JAKARTA MENGGUNAKAN PENDEKATAN MACHINE LEARNING
1 Muhammad Rizki Prasetyo, 2 Achmad Fahrurozi* 1,2 Fakultas Teknologi Industri Universitas Gunadarma Jl. Margonda Raya No. 100, Depok 16424, Jawa Barat
1 muhammadrizkiprasetyo@student.gunadarma.ac.id, 2 achmad.fahrurozi12@gmail.com *) Penulis Korespondensi

## Abstrak
Fitur Google Review memungkinkan pelanggan untuk mem-posting ulasan maupun rating secara  publik  mengenai  pengalaman  mereka  dengan  layanan  serta  produk  sebuah  bisnis. Terkadang  ulasan  yang  disertakan  oleh  pengguna  dapat  menunjukkan  sentimen  yang bertentangan  dengan  rating  yang  diberikan.  Salah  satu  ulasan  yang  memiliki  cukup  banyak kontradiksi antara rating dan sentimen review adalah ulasan pada hotel Gran Mahakam yang berlokasi di Jakarta. Terdapat beberapa metode yang dapat digunakan dalam melakukan analisis sentimen,  antara  lain  Support  Vector  Machine  (SVM)  dan  Naïve  Bayes  Classifier  (NBC). Penelitian  ini  bertujuan  untuk  membangun  model  analisis  sentimen  pada  ulasan  hotel  Gran Mahakam menggunakan pendekatan machine learning sebagai perbandingan untuk mengetahui polaritas sentimen dan kecenderungan opini konsumen. Hasil dari penelitian ini menghasilkan nilai dari evaluasi model kerja yaitu akurasi sebesar 92% pada algoritma SVM, dan 90% pada NBC. Lebih lanjut, penelitian ini menemukan kasus dimana NBC memiliki nilai Precision yang tidak  terdefinisi,  karena  gagal  memprediksi  satu  pun  label  senitmen  negatif.  Hal  ini  diduga karena  karakteristik  dataset  ulasan  yang  merupakan  imbalanced  dataset.  Dapat  disimpulkan secara keseluruhan model yang dibangun menggunakan SVM memiliki performa yang lebih baik dari model menggunakan NBC, dalam kasus analisa sentimen pada ulasan hotel Gran Mahakam di Google Review.
Kata Kunci : Analisa Sentimen, Google Review, Hotel, Machine Learning, Ulasan

## Abstract
The  Google  Review  feature  allows  customers  to  post  reviews  and  ratings  publicly regarding their experiences with a business's services and products. Sometimes reviews included by users may express sentiments that conflict with the rating provided. One of the reviews that has  quite  a  lot  of  contradictions  between  ratings  and  review  sentiment  is  the  review  of  Gran Mahakam  hotel  located  in  Jakarta.  There  are  several  methods  that  can  be  used  to  carry  out sentiment analysis, including Support Vector Machine (SVM) and Naïve Bayes Classifier (NBC). This research aims to build a sentiment analysis model on Gran Mahakam hotel reviews using a machine learning approach as a comparison to determine the polarity of sentiment and tendencies of  consumer  opinion. The  results  of  this  research  produce  a  value  from  the  evaluation  of  the working  model,  namely  an  accuracy  of  92%  for  SVM,  and  90%  for  NBC.  Furthermore,  this research found cases where NBC had an undefined Precision value because it failed to predict a single  negative  sentiment  label.  This  is  thought  to  be  due  to  the  characteristics  of  the  review dataset which is an imbalanced dataset. It can be concluded that overall the model built using SVM has better performance than the model using NBC, in the case of sentiment analysis on Gran Mahakam hotel reviews on Google Reviews.
Keywords : Google Reviews, Hotels, Machine Learning, Reviews, Sentiment Analysis

## PENDAHULUAN
Dewasa  ini,  dalam  kegiatan  sehari-hari manusia  tidak  terlepas  dari  internet,  yang didorong  dari  segi  penggunaannya  yang memudahkan berbagai urusan. Seseorang bisa mencari  dan  mendapatkan  informasi  apa  saja yang  mereka  butuhkan  dengan  cepat  dan lengkap  melalui  mesin  pencarian  di  internet. Pemanfaatan  internet  bisa  digunakan  untuk mengolah  data  yang  didapat  untuk  dijadikan sebagai pengukuran kualitas maupun perbandingan opini masyarakat di internet [1].
Google Review adalah sebuah fitur yang sudah terintegrasi dalam Google My Business (GMB)  dan Google  Maps. Fitur Google Review ini  memungkinkan  pelanggan  untuk mem- posting ulasan  secara  publik  di  dalam Google mengenai pengalaman mereka dengan layanan  serta  produk  sebuah  kegiatan  bisnis. Google  Review dapat  menjadi  cara  jitu  bagi bisnis  yang  berfokus  pada  layanan  untuk menyoroti  titik  perbedaan  mereka  dengan kompetitor.  Fitur Google  Review juga berfungsi  untuk  menunjukkan  tanggapan pelanggan  mengenai  detail  layanan  yang ditawarkan oleh suatu kegiatan bisnis. Fitur ini juga  memiliki  pengaruh  besar  dalam  hasil local  search,  dimana  seluruh  ulasan  akan ditampilkan  dalam  sisipan  daftar  dalam Google  Maps. Bisnis  yang  memiliki  cukup banyak ulasan baik akan lebih ditonjolkan oleh algoritma Google dibanding  pesaing-pesaing sejenisnya.  Umumnya,  bisnis  yang  memiliki lima  ulasan  baik  akan  mendapatkan  bintang
yang ditambahkan ke halaman review mereka.
Adanya ulasan terhadap sesuatu menunjukkan tingkat kepuasan terhadap pelayanan yang ada. Ketika  seorang  pengguna  memberikan  rating tertentu  untuk  suatu  produk  atau  layanan, umumnya  diasumsikan bahwa  rating  tersebut mencerminkan sentimen atau pendapat mereka tentang  produk  atau  layanan  tersebut. Terkadang  ulasan  yang  disertakan  oleh pengguna  dapat  menunjukkan  sentimen  yang bertentangan  dengan  rating  yang  diberikan. Ulasan dari pelanggan tidak selalu berbanding lurus  dengan  rating  yang  diberikan  [2]. Misalnya,  seorang  pengguna  memberikan rating yang tinggi (skala 5 dalam rentang 1-5) untuk  suatu  produk,  tetapi  dalam  ulasannya mereka  mengungkapkan  ketidakpuasan  atau keluhan  tertentu.  Sebaliknya,  pengguna  juga dapat  memberikan  rating  rendah  (skala  1 dalam  rentang  1-5)  tetapi  ulasannya  sangat positif  dan  memuji  produk  tersebut.  Hal  ini dapat  memberikan  wawasan  berharga  bagi perusahaan  atau  penyedia  layanan  untuk meningkatkan  produk  atau  layanan  mereka, serta  memahami  preferensi  dan  kebutuhan pengguna dengan lebih baik [3].
Terdapat  beberapa  metode  yang  dapat dilakukan dalam melakukan analisis sentimen, antara lain metode Naïve Bayes [4] dan SVM (Support Vector Machine) [5]. Support Vector Machine (SVM)  merupakan  algoritma klasifikasi  pada machine  learning ,  dimana proses klasifikasi dilakukan dengan pendekatan supervised learning untuk mencari hyperplane  yang  memiliki  margin  paling
optimal  [6].  Algoritma  SVM  dikenal  sebagai algoritma  yang  efektif  dan  cepat  untuk menyelesaikan masalah data teks berdasarkan pembobotan  yang  diproses  dalam  algoritma tersebut. Naïve Bayes Classifier telah banyak digunakan  dalam  berbagai  penelitian  terkait klasifikasi,  diantaranya  analisa  sentiment  [7] dan  klasifikasi  teks  [8].  Terdapat  juga penelitian  yang  mengkombinasikan  kedua algoritma  tersebut  menjadi  model  hybrid SVM-NBC [9].
Penelitian  yang  berkaitan  dengan metode yang dijelaskan sebelumnya diantaranya  Analisis  Sentimen  Terhadap Aplikasi Ruangguru Menggunakan Algoritma Support  Vector  Machine (SVM),  yang menghasilkan  tingkat  akurasi  sebesar  96,1%, dimana review pengguna cenderung memiliki sentimen positif [10]. Penelitian lainnya yaitu Analisa Sentimen Review Hotel Menggunakan Algoritma Support Vector  Machine Berbasis
Particle Swarm Optimization ,  menghasilkan tingkat  akurasi  yang  meningkat  menjadi 96,94%,  dimana review pengguna  cenderung memiliki  sentimen  positif  [11],  dan  Analisis Sentimen  Ulasan  Hotel  Bahasa  Indonesia Menggunakan Support  Vector  Machine dan TF-IDF,  yang  menghasilkan  tingkat  akurasi sebesar  87%,  review  pengguna  cenderung negatif  [12].  Terdapat  juga  penelitian  yang membandingkan model klasifikasi menggunakan  SVM  dan  NBC  untuk  analisa sentimen  calon  Gubernur  Jabar  2018-2023 [13].  Berdasarkan  permasalahan  yang  telah dipaparkan, maka diusulkan sebuah penelitian
analisis  sentimen  berbasis  aspek  pada  ulasan hotel Gran Mahakam yang berlokasi di Jakarta menggunakan  algoritma Support  Vector
Machine dan Naïve Bayes sebagai perbandingan  untuk  mengetahui  polaritas sentimen dan kecenderungan opini konsumen terhadap  aspek  pelayanan,  aspek  lokasi,  dan aspek  fasilitas.  Adapun  alasan  dilakukan analisis  sentimen  dari  hotel  Gran  Mahakam adalah  ketidaksesuaian  antara  ulasan  yang diberikan oleh pengunjung dengan rating yang dicantumkan pada google reviews menjadikan hal  tersebut  merupakan  suatu  kontradiksi. Ulasan  konsumen  diklasifikasikan  apakah termasuk  ulasan  positif,  atau  negatif  yang dapat  dijadikan  evaluasi  oleh  pengembang bisnis  hotel  Gran  Mahakam  sendiri  untuk meningkatkan fasilitas & kualitas pelayanan.

## METODE PENELITIAN
Pada penelitian ini terdiri dari 5 tahapan, dengan tahapan pertama adalah pengumpulan data, yang dilakukan dengan cara menarik data review  dari  Google  dan  membentuk dataset . Tahapan  berikutnya  yaitu  pelabelan  data, dilakukan  dengan  metode  manual labelling berdasarkan review yang terdiri dari rating 1.0, 2.0, 3.0, 4.0 dan 5.0. Tahap selanjutnya yaitu preprocessing yang  terdiri  dari case  folding, cleaning , tokenization , stopword , dan stemming .  Tahap  keempat  yaitu processing , dimana  pada  tahap  ini  dilakukan  pembagian data  latih  dan  data  uji  serta  dilakukan klasifikasi  sentiment  menggunakan  2  buah
model,  dibangun  menggunakan  algoritma Support Vector Machine (SVM), Naive Bayes Classifier . Tahap terakhir adalah evaluasi hasil klasifikasi  sentimen  dan  menguji  klasifikasi sentimen dan membandingkan performa kedua model  klasifikasi  sentimen,  serta  dilakukan visualisasi.    Tahapan-tahapan  penelitian tersebut dapat dilihat pada Gambar 1.

## Pengumpulan Data
Penyusunan  Pada  tahap  pengembalian data  untuk  analisis sentimen  ini,  data  berasal dari Google Maps .
Data  yang  diambil  berupa  ulasan (review) pengguna yang disampaikan melalui fitur yang ada pada laman Google Maps , yakni fitur review terhadap  hotel  Gran  Mahakam.
Pengambilan  data  ini  menggunakan  cara webscraping data  menggunakan python dengan jupyternotebook .  Jumlah  data  yang digunakan  sebanyak  550  data  yang  berisi review dari  konsumen  dengan  periode  ulasan dari tanggal 8 April hingga 25 Juni 2023.  Data yang  sudah  diambil  disimpan  dalam  bentuk .csv. Data  tersebut  memiliki  beberapa field ,
diantaranya name hotel, username atau pengguna,  rating  dan review . Pada  penelitian ini,  informasi  yang  digunakan  untuk  proses analisis sentimen adalah data yang berasal dari kolom review .  Data  tersebut  dibagi  menjadi data  latih  dan  data  uji  yang  masing-masing berjumlah  385  pada  data  latih,  dan  165  pada data uji.

## Pelabelan dan Preprocessing Data
Pelabelan  data  dilakukan  berdasarkan rating  pengguna  pada review yang  diberikan.
Pada tahap proses pelabelan dataset dilakukan secara  manual  untuk  membedakan review sentimen yang mengandung ulasan positif dan negatif. Review positif  dilambangkan  dengan angka  1  dan review negatif  dilambangkan dengan angka 0.
Tahapan  yang  dilakukan  terhadap dokumen selanjutnya yaitu text preprocessing . Hal  ini  dilakukan  untuk  merubah  data  yang tidak  terstruktur  menjadi  data  yang  lebih terstruktur  untuk  mempermudah  tahap selanjutnya.  Alur  dari  tahap preprocessing data dapat dilihat pada Gambar 2.
Gambar 1. Tahapan Penelitian
Gambar 2. Alur Tahap Preprocessing
Berdasarkan  Gambar  2,  terdapat beberapa  tahapan  dalam text  preprocessing yang  digunakan  dalam  penelitian  ini,  yaitu case  folding , cleaning , tokenizing , stopword removal dan stemming .  Data  yang  telah dilakukan preprocessing tersimpan  pada dataset .  Penjelasan  singkat  dari  tiap  tahapan dalam preprocessing adalah sebagai berikut:
1. Case folding: pada tahap ini dilakukan penyeragaman bentuk huruf pada data dengan  merubah  bentuk  huruf  besar (upper  case) menjadi  huruf  kecil (lower case). Hanya huruf  ‘a’ sampai ‘z’  yang  diterima.  Karakter  selain huruf  dihilangkan  dan  dianggap delimiter
2. Cleaning:  pada  tahap  ini  dilakukan pembersihan data seperti penghapusan tanda  baca,  angka, hastag dan  spasi yang berlebihan untuk mempermudah dalam memproses data
3. Tokenizing: merupakan proses pemecahan  teks  dari  suatu  paragraf menjadi  suatu  kalimat  pada  data  dan menjadi satuan kata
4. Stepword  removal:  pada  tahap  ini dilakukan  proses  penghapusan  kata yang  tidak  memiliki  makna  untuk
mengurangi  jumlah  kata  yang  tidak dipakai  pada  analisis  sentimen  pada dataset review hotel yang digunakan 5. Stemming:  pada  tahap stemming dilakukan  pengubahan  kata  dari bentuk kata dasar tanpa menggunakan imbuhan,  seperti  ke-,  ber-,  -nya-,  di- dan  sebagainya.  Tahap stemming ini menggunakan library sastrawi, yang berfungsi  menghilangkan  awalan  dan akhiran kata sehingga hanya menyisakan bentuk dasarnya [14].

## Pembobotan Kata
Proses pembobotan kata pada penelitian ini  dilakukan  dengan  menggunakan Term Frequency-Inverse Document Frequency (TF- IDF). Term  Frequency  -  Inverse  Document Frequency (TF-IDF)  merupakan  metode pemberian  bobot  pada  hubungan  antara  kata dan dokumen. Metode ini menggabungkan dua konsep  penghitungan  bobot,  yaitu  frekuensi kata  dalam  dokumen  tertentu  dan  frekuensi inverse dari dokumen yang mengandung kata tersebut.  TF-IDF  terdiri  dari  TF  ( Term Frequency )  dan  IDF  ( Inverse  Document Frequency ).  Perhitungan  bobot  dengan  TF- IDF  ini  dapat  menentukan  seberapa  relevan suatu  kata  dalam  dokumen  tertentu.  Berikut
diberikan contoh perhitungan manual menggunakan metode TF-IDF:
1. Dokumen  1 :  ‘saya  dan  keluarga menginap di lantai 9, mulai dari lorong sampe  kamar  bau  asap  rokok  smua. gorden  ada  yg  sobek2.  tempat tidur/sprei  juga  ga  terlalu  bersih. lokasi  strategis  sih,  bersebelahan  dg mall jadi gampang cari makan’.
2. Dokumen 2 : ‘hotel ini sudah sangat tua, hampir semua furniture, sanitary, dan  juga  fasilitas  lainnya  termasuk interior  resto  serta  kolam  renang terlihat  old  fashioned.  system  access masih  menggunakan  magnetic  card. penerangan kamar juga minim. untuk kelas  four  stars,  banyak  sekali  hotel baru  yang  kamarnya  jauh  lebih  luas dengan harga lebih affordable.’
3. Dokumen  3 :  ‘termasuk  hotel  baru sehingga kebersihannya masih sangat terjaga.  pendingin  ruangan  di  kamar juga  berfungsi sangat  baik. lokasinya mudah  dijangkau  dan  cukup.  untuk sarapan  pagi  surprisingly  menunya cukup lengkap dari buah, roti, cereal, menu  utama  hingga  penutup,  enak enak pas dengan selera saya kamarnya sangat nyaman dan bersih.’
4. Dokumen  4 :  ‘sebuah  pengalaman yang  menyenangkan  menginap  di hotel ini pelayanan sangat sangat baik mungkin bisa dikatakan terbaik fonya murah  senyum  pokoknya  best  lah
jangan  ragu  kalo  mau  menginap  di sini.’
5. Dokumen 5 : ‘hotelnya nyaman untuk menginapp  beberapa  waktu  kedepan, saya  mendapatkan  pengalaman  yg mengesankan  menginap  disini.  untuk kamar  nya  bersih  dan  rapihh,  lokasi hotel  cukup  strategiss,  dan  menu makanan yg beraneka ragam.’
Berdasarkan data di atas, dapat dibentuk corpus terhadap  5  dokumen  tersebut,  yaitu: asap, baik, baru,  bau, berfungsi, bersih, cukup, dijangkau,  hotel,  juga,  kamar,  lokasi,  masih, mendapatkan, mengesankan, menginap, minim,  mudah,  nyaman,  pelayanannya, pendingin,  penerangan,  pengalaman,  rokok, ruangan, sangat, strategis, sudah, tapi, tempat, tidak, tidur, tua, untuk, Terdapat 39 term yang didalam corpus dari  5  dokumen.  Visualisasi terkait  sebaran term tersebut  disajikan  dalam Tabel 2.
Langkah berikutnya setelah terbentuk corpus seperti di atas adalah mengimplementasikannya ke dalam
perhitungan manual menggunakan rumus TF- IDF yang diberikan pada persamaan (1).
𝑤 ",$ = 𝑡𝑓 ",$ × log - . /0 1 2 (1)
Dengan 𝑡𝑓 ",$ menyatakan banyaknya
kemunculan  kata  i  pada  dokumen  ke-j,  N menyatakan jumlah total dokumen, sementara notasi 𝑑𝑓 " menyatakan  banyaknya  dokumen yang  mengandung  kata  ke-i.  Berikut  adalah contoh penerapan rumus TF-IDF terhadap kata “bersih”  yang  terdapat  dalam  Dokumen  1,
dengan menggunakan formula pada
persamaan (1):
𝑤 (5678"9,:;) =   𝑡𝑓 5678"9.:; × log > 𝑁 𝑑𝑓 " @
𝑤 (5678"9,:;) =  1  × log > 5 2 @ 𝑤 (5678"9,:;) =  1  × log 2,5 = 0,39
Dengan prinsip perhitungan yang sama seperti di atas, maka dapat diperoleh skor TF- IDF  untuk  semua  kata  yang  diamati  dan muncul  dalam  tiap  dokumen,  yang  hasilnya dirangkum pada Tabel 3.
Tahap Klasifikasi dan Evaluasi Model
Pada  tahap processing ,  dilakukan klasifikasi  label  dengan  menggunakan  model yang  dibangun  dengan  algoritma machine learning .  Pada  himpunan  data  latih  terdapat kelas  sentimen  positif  dan  negatif,  yang  ciri- cirinya  akan  dipelajari  berdasarkan  kata-kata yang  terdapat  pada  masing-masing  kelas sentimen  oleh  model  klasifikasi.  Pada penelitian ini, dibangun dua model klasifikasi
dengan  menggunakan  2  algoritma machine learning yang  berbeda,  yaitu Naive  Bayes Classifier (NBC) dan Support Vector Machine (SVM).  Selanjutnya  dilakukan  analisa perbandingan  hasil  kinerja  dari  kedua  model klasifikasi  tersebut  dalam  memprediksi  label sentiment  dari  ulasan-ulasan  pada  himpunan data  uji.  Evaluasi  model  dilakukan  untuk mengetahui  performa  model  yang  dibangun, dengan memperhatikan confusion matrix yang merepresentasikan hasil pelabelan data uji oleh kedua model yang dibangun dalam penelitian ini. Confusion Matrix adalah sebuah matriks yang  memuat  data  hasil  klasifikasi  yang diberikan  oleh  suatu  model  klasifikasi, memuat  label  aktual  maupun  prediktif. Evaluasi terhadap hasil pada Confusion Matrix dilakukan  untuk  mengetahui  bagaimana performa suatu model. Confusion matrix untuk model klasifikasi dengan 2 kelas ditunjukkan pada Tabel 4.
Tabel 2. Contoh Distribusi Jumlah Kata Dalam Tiap Dokumen Kata D1  D2  D3  D4  D5  Kata D1  D2  D3  D4  D5 Asap 1 0 0 0 0  Minim 0 1 0 0 0 Baik 0 0 0 1 0  Mudah 0 0 1 0 0 Baru 0 0 1 0 0  Nyaman 0 0 0 0 1 Bau 1 0 0 0 0  Pelayanannya  0 0 0 1 0 Berfungsi 0 0 1 1 1  Pendingin 0 0 1 0 0 Bersih 1 0 0 0 1  Penerangan 0 1 0 0 0 Cukup 0 0 0 0 1  Pengalaman 0 0 0 1 1 Dijangkau 0 0 1 0 0  Rokok 1 0 0 0 0 Hotel 0 1 1 1 1  Ruangan 0 0 1 0 0 Juga 0 1 0 0 1  Sangat 0 1 0 1 0 Kamar 1 1 1 0 1  Strategis 1 0 0 0 1 Lokasi 1 0 1 0 1  Sudah 0 1 0 0 0 Masih 0 0 1 0 0  Tapi 1 0 0 0 0
Mendapatkan 0 0 0 0 1  Tempat 1 0 0 0 0 Mengesankan  0 0 0 0 1  Tidak 1 0 0 0 0 Menginap 1 0 0 1 1  Tidur 1 0 0 0 0 Tua 0 1 0 0 0 Tabel 3. Contoh Pembobotan TF-IDF Kata D1 D2 D3 D4 D5  Kata D1 D2 D3 D4 D5 Asap 0,6 9 0 0 0 0 Minim 0 0,6 9 0 0 0 Baik 0 0 0 0,6 9 0 Mudah 0 0 0,6 9 0 0 Baru 0 0 0,6 9 0 0 Nyaman 0 0 0 0 0,6 9 Bau 0,6 9 0 0 0 0 Pelayananny a 0 0 0 0,6 9 0 Berfungsi 0 0 0,2 2 0,2 2 0,2 2 Pendingin 0 0 0,6 9 0 0 Bersih 0,3 9 0 0 0 0,3 9 Penerangan 0 0,6 9 0 0 0 Cukup 0 0 0 0 0,6 9 Pengalaman 0 0 0 0,3 9 0,3 9 Dijangkau 0 0 0,6 9 0 0 Rokok 0,6 9 0 0 0 0 Hotel 0 0,0 9 0,0 9 0,0 9 0,0 9 Ruangan 0 0 0,6 9 0 0 Juga 0 0,3 9 0 0 0,3 9 Sangat 0 0,3 9 0 0,3 9 0 Kamar 0,0 9 0,0 9 0,0 9 0 0,0 9 Strategis 0,3 9 0 0 0 0,3 9 Lokasi 0,2 2 0 0,2 2 0 0,2 2 Sudah 0 0,6 9 0 0 0 Masih 0 0 0,6 9 0 0 Tapi 0,6 9 0 0 0 0 Mendapatka n 0 0 0 0 0,6 9 Tempat 0,6 9 0 0 0 0 Mengesanka n 0 0 0 0 0,6 9 Tidak 0,6 9 0 0 0 0 Menginap 0,2 2 0 0 0,2 2 0,2 2 Tidur 0,6 9 0 0 0 0 Tabel 4. Confussion Matrix Untuk Model Klasifikasi Dengan 2 Kelas Label Aktual Label Prediksi Positif Negatif Positif TP (True Positve) FN (False Negative) Negatif FP (False Positive) TN (True Negative)
Berdasarkan  pengolahan  nilai-nilai yang ada pada kolom matriks (True Negative (TN),  False  Positive  (FP),  False  Negative (FN), True Positive (TP) maka dapat diketahui nilai accuracy , precision , recall dan f1-score.
Penjelasan  dari  parameter-parameter  ukuran performa tersebut adalah sebagai berikut:
a. Accuracy menunjukkan  kedekatan  hasil klasifikasi  dengan  nilai  sesungguhnya. Akurasi  diperoleh  dari  perbandingan antara  data  yang  berhasil  diklasifikasi secara benar dengan keseluruhan data.
𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = IJKI. IJKI.KLJKL. × 100% (5)
b. Precision adalah  tingkat  ketepatan  yang
menunjukkan seberapa dekat perbandingan  nilai  tiap  kali  dilakukan pengulangan.  Nilai precision dapat mengetahui  kedekatan  hasil  antara informasi  yang  diminta  dengan  jawaban yang sistem berikan.
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = IJ IJKLJ (6)
c. Recall merupakan  nilai  persentase  suatu model  memprediksi  data  ke  bukan  kelas aktualnya.
𝑟𝑒𝑐𝑎𝑙𝑙 = IJ IJKL. (7)

## HASIL DAN PEMBAHASAN

## Hasil Pengambilan Data
Tahap  pengumpulan  data  dilakukan dengan menggunakan metode scrapping data.
Setelah menginstall dan import  library yang dibutuhkan, dilakukan scrapping data dengan ketentuan data yang diambil merupakan ulasan hotel Gran Mahakam Jakarta yang bersumber dari Google Review dengan menggunakan web scrapping yaitu SerpAPI sebagai API key yang merupakan sekumpulan kode yang digunakan oleh  API  untuk  mengautentikasi  dan mengotoriasasi  pengguna  atau  aplikasi. Beberapa contoh ulasan hotel Gran Mahakam yang sudah diambil dari laman Google Maps Hotel  Gran  Mahakam  Jakarta  dapat  dilihat pada  hasil  tangkap  layar  yang  disajikan  oleh Gambar 3.
Gambar 3. Beberapa Contoh Data Ulasan Hotel Gran Mahakam
Hasil  Pelabelan  dan  Tahap  Preprocessing Data
Pelabelan  data  dilakukan  berdasarkan ulasan dari pengunjung hotel Gran Mahakam yang  ditulis  pada Google  Review .  Pada penelitian  ini,  pelabelan dataset dilakukan secara  manual  untuk  membedakan  sentimen dari ulasan, dengan memberikan angka 1 yang melambangkan ulasan tersebut bernilai positif dan  angka  0  yang  melambangkan  ulasan tersebut bernilai negatif. Tabel 5 menunjukkan beberapa  contoh  hasil  pelabelan  pada  data ulasan dalam dataset penelitian ini.
Dapat  dilihat  pada  Tabel  5  bahwa terdapat  ulasan  (review)  yang  rating  dan sentimennya tidak sesuai, yaitu review ketiga. Dalam hal ini rating dari pengguna adalah 1.0, yang  dapat  dimaknai  sebagai  rating  rendah, namun  ulasan  berisi  hal-hal  positif,  sehingga
berlabel 1. Lebih lanjut, dapat diamati bahwa review  keempat  memiliki  rating  3.0,  yang dapat  diinterpretasikan  sebagai  netral, namun dalam  penelitian  ini  diberi  label  0.  Hal  ini karena  dalam  penelitian  dataset  hanya diklasifikasikan ke dalam 2 kelas, yaitu positif dan negatif.
Setelah  melakukan scraping dan pelabelan data, data yang diambil masih dalam bentuk  data  yang  tidak  terstruktur.  Tahapan preprocessing adalah tahapan mengubah data yang  tidak  terstruktur  menjadi  terstruktur dengan  dilakukan  pembersihan  data  yang terdiri dari beberapa proses yaitu case folding, cleaning,  tokenizing,  stopword  removal dan stemming .  Gambar  4  menunjukkan  beberapa contoh  hasil  akhir  dari  tahap  preprocessing setelah  melalui  kelima  proses  yang  telah dijelaskan.
Tabel 5. Beberapa Contoh Hasil Pelabelan Data Rating Review Label 4.0 Cantik bgt interiornya lg tema natal. Tp lift cuman ada 2 dan itu lama sekali nunggunya. Ketersediaan tempat parkir jg sangat sangattt terbatas. Kalo parkir aman bakalan bintang 5 si soalnya lucuu bgttt interiornyaa 1 5.0 Tampilan hotelnya gaya bangunan lama atw eropa gitu sih, tapi enak kok, deket kemana2 mantab, ga terlalu padat trafik d depannya, ya kalo cari yang aga tenang n mudah transport ini cocok deh 1 1.0 Pengalaman yang sangat baik dan eksklusif, dari segi fasilitas dan pelayanan yang di dapatkan sangat baik dan tidak ada yang mengecewakan, best hotel, thanks 1 3.0 Pelayanan makan siang saat acara pernikahan kurang begitu bagus. Tamu dibiarkan duduk lama, tanpa ada yg menawarkan menu. Jadi tamunya yang harus inisiatif minta dilayani. Itu pun masih lama juga dilayaninya. 0 2.0 Total chaos! Amat disayangkan hotel ini menerima wedding banquet dengan banyak keterbatasan fasilitas. Ruangan yang terlalu minim dan bersekat sehingga tidak memudahkan para tamu bergerak leluasa. Tempat parkir yang sangat sangat terbatas. 0 5.0 Tempat cozy buat sekalian kumpul2, varian mkn an banyak, layanan baik, tdk dibatasi waktunya. 1
Gambar 4. Beberapa Contoh Hasil Akhir Tahap Preprocessing
Gambar 5. Word Cloud Positive Reviews
Gambar 6. Word Cloud Negative Reviews
Sebagai  visualiasi  hasil  labeling, selanjutnya  ditampilkan wordcloud dengan menggunakan library matplotlib yang dikategorikan  sebagai “positif  reviews” yang diberi  warna  hijau  dan “negative  reviews” yang  diberi  warna  merah  pada  warna  latar belakang . Hasil visualisasi dengan wordcloud untuk  kategori positif  reviews disajikan  pada Gambar 5, sementara untuk kategori negative reviews disajikan pada Gambar 6.
Pada wordcloud  positive  review yang ada  pada  Gambar  5  kata  “nyaman”,  “enak”,
“bagus”  terlihat  memiliki  ukuran  yang  lebih besar  dan  memiliki  warna  hijau  pekat dibandingkan dengan warna pada kata lainnya. Pada wordcloud  negative reviews yang  ada pada Gambar 6 kata “tidak” dan kata “hotel” adalah  kata  yang  sering  muncul  sehingga memiliki  ukuran  yang  lebih  besar  dan  warna merah  yang  pekat.  Data  yang  telah  diproses pada tahap data preprocessing dibagi menjadi 2  kelompok,  yaitu  data  latih  dan  data  uji. Komposisi  pembagian  data  yaitu  sebanyak 70% sebagai data latih dan 30% sebagai data
uji.  Proses  pembagian  data  ini  menggunakan library scikit-learn.
Hasil Klasifikasi dan Pengukuran Performa Model
Setelah melakukan data pre-processing , tahapan  selanjutnya  yaitu  data  processing. Pada  tahapan  ini  dilakukan  beberapa  proses seperti pembagian data, pembobotan kata, dan evaluasi kinerja model dengan membandingkan  hasil  dari  proses  klasifikasi pada 2 model yaitu Naive Bayes Classifier dan Support  Vector  Machine (SVM).  Dalam penelitian ini, basis data yang dimiliki terbagi ke  dalam  2  kelas,  yaitu  kelas  ‘positif’  yang diberi  label  1  dan  kelas  ‘negatif’  yang  diberi label  0.  Kemudian,  dibuat dataframe yang digunakan untuk menghitung confusion matrix dari  proses  klasifikasi  model  menggunakan Naive  Bayes  Classifier dan  SVM.  Gambar  7 menunjukkan  hasil  klasifikasi  ulasan  dari model Naive  Bayes  Classifier (NBC). Berdasarkan pada Gambar 7 terdapat total 165 dari  data  uji  yang  dibagi  ke  dalam  dua  kelas yaitu 17 data dengan label 0 atau kelas negatif dan 148 data dengan label 1 atau kelas positif. Pada  Gambar  7  juga  terlihat  tingkat  akurasi dari  algoritma Naive  Bayes sebesar  0,90  dari
total  keseluruhan  data  yaitu  165  data.  Pada precision dari  kelas  positif  menunjukkan angka sebesar 90%, recall sebesar 100%, dan f1-score sebesar 95%. Pada tahap processing, dilakukan juga klasifikasi dengan
menggunakan  model  yang  dibangun  dengan algoritma Support  Vector  Machine (SVM).
Tahapan pertama adalah melakukan pelatihan model  dengan  menggunakan  kernel ‘linear’ yang  memiliki  fungsi  untuk  memetakan  data ke dalam ruang fitur yang lebih tinggi sehingga membantu dalam pemisahan kelas. Gambar 8 menunjukkan  hasil  klasifikasi  oleh  model klasifikasi  SVM  pada  data  ulasan  dalam penelitian ini. Berdasarkan hasil pada Gambar 8 terdapat total 165 dari data uji yang dibagi ke dalam dua kelas yaitu 17 data dengan label 0 atau kelas negatif, dan 148 data dengan label 1 atau kelas positif. Pada Gambar 8 juga terlihat tingkat  akurasi  dari  algoritma  SVM  sebesar 90% dari total keseluruhan data yaitu 165 data. Parameter precision menunjukkan  angka sebesar  90%, recall sebesar  100%,  dan f1- score sebesar  95%.  Berdasarkan  parameter recall dan precision , dapat dilihat bahwa hasil klasifikasi  pada  kelas  sentimen  positif memiliki  nilai  yang  lebih  tinggi  dibanding dengan kelas sentimen negatif.
.
Gambar 7. Hasil Pengujian Model Naive Bayes Classifier
Gambar 8. Hasil Pengujian Support Vector Machine (SVM)
Tabel 6. Hasil Perhitungan Naive Bayes Classifier dan SVM Parameter Performa Naive Bayes Classifier  Support Vector Machine Positif Negatif Positif Negatif Precision 90% - 92% 100% Recall 100% 0% 100% 23,5% F1-Score 0,95 0,96 Accuracy 90% 92% Analisa Hasil Uji Coba Berdasarkan hasil pada subbab sebelumnya,  hasil  perhitungan accuracy , precision , recall , dan F1-Score yang dihitung secara  manual  dan  yang  tercatat  dalam confusion matrix memiliki nilai yang sama, hal ini  menunjukkan  kesesuaian  dan  keandalan dalam  evaluasi  kinerja  model.  Tabel  6 menyajikan rangkuman hasil evaluasi keseluruhan  untuk  kedua  model  yang digunakan untuk klasifikasi ulasan pada objek penelitian.
Berdasarkan Tabel 6, data kelas positif yang  berhasil  diklasifikasi  dengan  tepat  oleh model Support  Vector  Machine menunjukan angka  yang  tinggi,  yaitu  pada  nilai precision sebesar  92%  dan  nilai F1-Score pada  angka 96%,  lebih  tinggi  dibanding  dengan  hasil klasifikasi  pada  kelas  positif  dengan menggunakan  model Naive  Bayes  Classifier pada  nilai precision di  angka  90%  dan F1- Score di  angka  95%.  Akurasi  pada  kedua
model  juga  memiliki  perbedaan  dengan performa  92%  untuk  model Support  Vector Machine dan  90%  untuk  algoritma Naive Bayes Classifier.
Analisa lebih lanjut terkait perhitungan precision pada masing-masing model menunjukkan  bahwa  model  yang  dibangun menggunakan  algoritma  NBC  memiliki kelemahan  dalam  hal  mengklasifikasi  ulasan dengan sentiment negatif, dalam hal ini gagal memprediksi  dengan  benar  satu  pun  data  uji berlabel 0. Hal ini diduga karena karakteristik data yang tidak balance ( imbalanced dataset ) antara kelas positif dan negatif. Perbandingan antara kelas negatif dan kelas positif pada data uji  hampir  mencapai  1:9.  Dengan  hasil  ini, ekperimen  dalam  penelitian  menunjukkan bahwa  algoritma  SVM  lebih  baik  dalam menangani  imbalanced  dataset  dibanding algortima NBC. Pada kasus analisa sentiment pada  ulasan Google  Maps hotel  Gran Mahakam  ini  juga  diperoleh  bahwa  model
klasifikasi  yang  dibangun  dengan  SVM memiliki performa yang lebih baik dibanding model  yang  dibangun  dengan  menggunakan NBC.

## KESIMPULAN DAN SARAN
Penelitian  analisis  sentimen  terhadap ulasan  pengunjung  Hotel  Gran  Mahakam Jakarta pada Google Review dilakukan dengan menggunakan algoritma Naive Bayes Classifier (NBC) dan Support Vector Machine (SVM), mengklasifikasikan
ulasan
pengunjung Hotel Gran Mahakam ke dalam 2 kelas  yaitu  ulasan  positif  dan  ulasan  negatif. Dari  550  data  ulasan  yang  merupakan  hasil scraping,  dibagi  menjadi  30%  untuk  data  uji dan  70%  untuk  data  latih.  Berdasarkan  hasil analisis  sentimen  pada  penelitian  ini  dapat disimpulkan  bahwa  ulasan  pengunjung  Hotel Gran Mahakam pada Google Review memiliki kecenderungan  sentimen  positif,  sementara hasil  perbandingan  dari  kedua  model  yang dibangun  menggunakan  algoritma  berbeda menunjukkan  bahwa  model  klasifikasi  SVM mampu mengklasifikasi dan memiliki performa  keseluruhan  yang  lebih  baik dibanding model NBC, dengan tingkat akurasi sebesar 92%, precision 92%, recall 100%, dan F1-Score sebesar 96%. Model klasifikasi NBC memiliki masalah dalam mengklasifikasi kelas negative,  yang  diduga  terkait  dengan karakteristik  data  yang  imbalance,  sementara model SVM  lebih  baik  dalam  menangani  hal tersebut.
Saran  untuk  penelitian  berikutnya adalah dengan menggunakan dan membandingkan  algoritma  selain  NBC  dan SVM, maupun melakukan hibridasi algoritma terbaik agar dapat memberikan tingkat akurasi, precision ,  dan recall yang  lebih  baik, khususnya  mengatasi  kasus  imbalanced dataset  yang  ditemui  pada  penelitian  ini. Pengembangan  juga  dapat  dilakukan  dengan menambahkan jumlah data yang lebih banyak dan  melakukan  pelabelan  data  dengan  lebih efisien dan akurat.

## DAFTAR PUSTAKA
[1] F. F. Rachman dan S. Pramana, “Analisis Sentimen  Pro  dan  Kontra  Masyarakat Indonesia  tentang  Vaksin  COVID-19 pada  Media  Sosial  Twitter,” Heal.  Inf. Manag.  J. ,  vol.  8,  no.  2,  hal.  100–109,
2020.
[2] P.  P.  Arsi  dan  R.  Waluyo,  “Analisis Sentimen Wacana Pemindahan Ibu Kota
Indonesia Menggunakan Algoritma Support  Vector  Machine  (SVM),” J. Teknol. Inf. dan Ilmu Komput. , vol. 8, no. 1, hal. 147, 2021, doi:
10.25126/jtiik.0813944.
[3] P. Arsi, B. A. Kusuma, dan A. Nurhakim, “Analisis  Sentimen  Pindah  Ibu  Kota Berbasis  Naive  Bayes  Classifier,” J. Inform.  Upgris ,  vol.  7,  no.  1,  hal.  1–6,
2021, doi: 10.26877/jiu.v7i1.7636.
[4] B.  Gunawan,  H.  S.  Pratiwi,  dan  E.  E. Pratama, “Sistem Analisis Sentimen pada
Ulasan  Produk  Menggunakan  Metode Naive  Bayes,” J.  Edukasi  dan  Penelit.
Inform. , vol. 4, no. 2, hal. 113, 2018, doi: 10.26418/jp.v4i2.27526.
[5] N.  Fitriyah,  B.  Warsito,  dan  D.  A.  I. Maruddani,  “Analisis  Sentimen  Gojek Pada  Media  Sosial  Twitter  Dengan Klasifikasi  Support  Vector  Machine
(SVM),” J.  Gaussian ,  vol.  9,  no.  3,  hal. 376–390, 2020, doi: 10.14710/j.gauss.v9i3.28932. [6] A.  D.  Chayani  dan  A.  Basuki, “Klasifikasi Diabetes Mellitus Menggunakan Support Vector Machine(Studi Kasus: Puskesmas Modopuro,  Mojokerto)”, Journal  of Science  and  Technology  (REKAYASA) , vol. 12, no. 2, hal. 174-182, 2019.
[7] D. T. Hermanto, M. Ziaurrahman, M. A. Bianto,  dan  A.Setyanto,  “Twitter  Social Media  Sentiment  Analysis  in  Tourist Destinations  Using  Algorithms  Naive
Bayes  Classifier,” Journal  of  Physics:
Conf.  Ser.:  Bristol ,  vol.  1140,  issue.  1, 2018.
[8] L. Jiang, C. Li, S. Wang, dan L. Zhang, “Deep feature weighting for naive bayes and its application to text classification,” Eng.  Appl.  Artif.  Intell.,  vol.  52,  26-39 (2016),
doi:
10.1016/j.engappai.2016.02.002.
[9] G. Nasr, M. A. Obaida, A. E. Ashraf, dan M. O. N. Khalid, “A Hybrid SVM Naïve- Bayes  Classifier  For  Bright  Lesions Recognition  In  Eye  Fundus  Images,”
IJEEI,  vol.  13,  no.  3,  530–545  (2021), doi: 10.15676/ijeei.2021.13.3.2.
[10] E.  Fitri,  “Analisis  Sentimen  Terhadap Aplikasi Ruangguru Menggunakan Algoritma  Naive Bayes,  Random  Forest
Dan  Support  Vector  Machine,” J. Transform. ,  vol.  18,  no.  1,  p.  71,  2020,
doi:
10.26623/transformatika.v18i1.2317.
[11] E. Indrayuni, “Analisa Sentimen Review Hotel  Menggunakan  Algoritma  Support Vector Machine Berbasis Particle Swarm Optimization”, Evolusi: Jurnal Sains dan Manajemen ,  vol.  4,  no.  2,  hal.  20-27,
2016.
[12] V.  W.  D.  Thomas  dan  F.  Rumaisa, “Analisis Sentimen Ulasan Hotel Bahasa
Indonesia Menggunakan Support Vector Machine  dan  TF-IDF”, Jurnal  Media Informatika Budidarma , vol. 6, no. 3, hal.
1767-1774, 2022.
[13] D. Gunawan, D. Riana, D. Ardiansyah, F. Akbar,  dan  S.  Alfarizi,  “Komparasi
Algoritma  Support  Vector  Machine  dan Naïve Bayes Dengan Algoritma Genetika
Pada Analisis Sentimen Calon Gubernur
Jabar 2018-2023”, Jurnal Teknik
Komputer AMIK BSI, vol. 6, no. 1, hal. 121-129, 2020.
[14] N. W. Wardani and P. G. S. C. Nugraha, “Stemming  Teks  Bahasa  Bali  dengan Algoritma  Enhanced  Confix  Stripping,” Int.  J.  Nat.  Sci.  Eng. ,  vol.  4,  no.  3,  pp. 103–113, 2020, doi: 10.23887/ijnse.v4i3.30309.