## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030

## Analisis Sentimen Pengguna Twitter Terhadap Bus Listrik Menggunakan Naïve Bayes
Ike Verawati * , Syarif Nurwahid Jaelani
Fakultas Ilmu Komputer, Program Studi Informatika, Universitas Amikom Yogyakarta, Yogyakarta, Indonesia Email: 1,* ikeverawati@amikom.ac.id, 2 syarif.2861@students.amikom.ac.id Email Penulis Korespondensi: ikeverawati@amikom.ac.id
Abstrak− Analisis  setntimen  twitter  merupakan  salah  satu  metode  dalam  mengidentifikasi  dan  mengklasifikasi  pendapat kedalam sentimen positif atau negatif pada tweet. Salah satu topik yang sedang ramai dibahas di twitter dan mendapat berbagai pendapat yang pro dan kontra adalah bus listrik, semua pendapat tersebut masih acak dan belum terklasifikasi sentimennya sehingga perlu dilakukan klasifikasi sentimen. Naïve bayes dapat digunakan untuk mengklasifikasikan sentimen serta mudah untuk diimplementasikan. Tujuan dari penelitian ini adalah untuk mengkalsifikasikan sentimen mengenai bus listrik apakah mengarah  ke  sentimen  positif  atau  sentimen  negatif  menggunakan  naïve  bayes  dan  menghitung  akurasi  yang  diperoleh. Beberapa tahapan yang dilakukan yaitu pengambilan data, preprocessing, pelabelan lexicon, pembobotan kata, klasifikasi naïve bayes, dan  evaluasi  confusion  matrix. Hasil dari tahapan tersebut dari 4 kali percobaan rasio pembagian data  yang berbeda diperoleh  sentimen  terbanyak  pada  sentimen  positif  yang  mencapai  77.31%  dengan  22,69%  sentimen  negatif  pada  rasio pembagian data 6:4 dengan hasil evaluasi menggunakan confusion matrix diperoleh akurasi sebesar 74,4%. Setelah naïve bayes dioptimalisasi dengan hyperparameter tuning akurasinya meningkat menjadi 78%. Pada rasio pembagian data 9:1 akurasi yang diperoleh setelah dioptimalisasi menunjukan penuruan menjadi 71,5% yang awalnya naïve bayes memperoleh akurasi sebesar 75,6%, hal ini menunjukan rasio pembagian data dapat berpengaruh terhadap akurasi yang diperoleh model.
Kata Kunci: Analisis Sentimen; Twitter; Bus Listrik; Naïve Bayes; Hyperparameter
Abstract− Twitter sentiment analysis is one method of identifying and classifying opinions into positive or negative sentiment in tweets. One  of the topics that is being  widely  discussed  on Twitter and has received various opinions for and against  is electric buses. All of these opinions are still random and their sentiments have not been classified so sentiment classification needs to be carried out. Naïve Bayes can be used to classify sentiment and is easy to implement. The aim of this research is to classify whether sentiment regarding electric buses leads to positive sentiment or negative sentiment using Naïve Bayes and calculate  the  accuracy  obtained.  Several  steps  were  taken,  namely  data  collection,  preprocessing,  lexicon  labeling,  word weighting, naïve Bayes classification, and confusion matrix evaluation. The results of this stage from 4 trials of different data sharing ratios showed that the highest sentiment was positive sentiment which reached 77.31% with 22.69% negative sentiment at a data sharing ratio of 6:4 with the evaluation results using the confusion matrix obtaining an accuracy of 74.4%. After naïve Bayes was optimized with hyperparameter tuning, the accuracy increased to 78%. At a data sharing ratio of 9:1, the accuracy obtained after  optimization shows a  decrease to 71.5%,  whereas  initially  Naïve Bayes obtained an accuracy of 75.6%, this shows that the data split ratio can influence the accuracy obtained by the classification model.
Keywords : Sentiment Analysis; Twitter; Electric Bus; Naïve Bayes; Hyperparameters

## 1. PENDAHULUAN
Bus listrik merupakan kendaraan umum yang digerrakan menggunakan motor listrik dengan pasokan energi listrik berasal dari baterai atau tempat penyimpanan energi, membuatnya menjadi kendaraan ramah lingkungan dengan tidak  menghasilkan  emisi  CO2  karena  tidak  ada  proses  pembakaran  bahan  bakar  fosil  sebagai  penggerak utamanya[1]. Kehadiran bus  listrik ini  mendapatkan berbagai respon dari berbagai kalangan  masyarakat  seperti yang ramai diperbincangkan pada media sosial twitter.
Terdapat opini yang pro dan kontra mengenai kehadiran bus listrik, sebagian masyarakat berpendapat bus listrik bisa menjadi solusi mengurangi macet dan pencemaran udara, tetapi sebagiannya lagi ada yang berpendapat bahwa  infrastruktur  pendukung  operasional  bus  listrik  masih  kurang  dan  adanya  kekhawatiran  akan  kehabisan daya  baterai  saat  kondisi  macet.  Juga  ditemukan  bahwa  suara  bus  listrik  yang  senyap  saat  beroperasi  dapat membahayakan bagi pengguna  jalan  lainnya[2]. Berbagai opini dari para  pengguna twitter tersebut masih acak dan sentimennya belum terklasifikasi dengan baik.
Naive  Bayes  merupakan  metode  klasifikasi  yang  menggunakan  rumus  sederhana  dan  mudah  untuk diaplikasikan, serta memiliki tingkat akurasi  yang cukup tinggi dalam klasifikasi dibandingkan dengan  metode lainnya[3]. Dari penelitian yang pernah dilakukan sebelumnya, dalam melakukan analisis sentimen naive bayes memiliki  nilai  akurasi  yang  paling  tinggi  dengan  tinkat  akurasi  sebesar  84,08%  dibandingkan  menggunakan metode  analisis  sentimen  lainnya  seperti  metode  KNN  yang  mendapat  akurasi  83,38%  dan  decision  tree  yang mendapat akurasi 81,09%[4].
Pada penelitian sebelumnya yang dilakukan oleh Ahmad Santoso, dkk melakukan analisis sentimen pada sosial  media  twitter  mengenai  mobil  listrik  menggunakan  metode  Support  Vector  Machine  pada  Software RapidMiner Studio memperoleh akurasi sebesar 86,07% dengan sebanyak 94,25% pengguna twitter setuju dan 5,75% pengguna twitter tidak setuju terhadap kehadiran mobil listrik[5]. Penelitian lain yang dilakukan oleh Dedi Darwis,  dkk.  melakukan  analisis  sentimen  menggunakan  metode  Naïve  Bayes  Classifier  untuk  menganalisis sentimen review data twitter pada akun BMKG Nasional yang diklasifikasikan kedalam tiga kelas yaitu positif, negatif, dan netral memperoleh akurasi sebesar 69.97%[6].

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
Pada  penelitian  sebelumnya  yang  dilakukan  oleh  Rizal  Azhar,  dkk.  melakukan  analisis  sentimen  opini pengguna twitter mengenai cryptocurrency menggunakan kombinasi TextBlob dan algoritma naïve bayes dengan data  berjumlah  1032  tweet  memperoleh  hasil  61,24%  sentimen  positif,  28,68%  sentimen  netral,  dan  10,07% sentimen negatif dengan akurasi yang diperoleh naïve bayes sebesar 71,98%[7]. Pada penelitian sebelumnya yang dilakukan oleh Ida Bagus G. S. dkk dengan analisis sentimen  menggunakan metode naïve bayes dengan akurasi yang diperoleh sebesar 99,87%  menghasilkan sentimen positif, netral dan negatif[8] sedangkan sentimen netral cenderung tidak memberikan informasi yang berarti dalam analisis sentimen untuk mengidentifikasikan sikap atau respon  emosional  secara  tegas.  Sehingga  dalam  penelitian  ini  sentimen  netral  tidak  digunakan,  hanya mengklasifikasikan kedalam sentimen positif dan sentimen negatif.
Pada penelitian oleh Joshua Agung Nurcahyo dan Theopilus Bayu Sasongko melakukan penelitian untuk meningkatkan  kinerja  algoritma  klasifikasi  dan  diperoleh  bahwa  penerapan  hyperparameter  tuning  memiliki manfaat yang signifikan dalam meningkatkan kinerja algoritma klasifikasi[9]. Optimalisasi hyperparameter tuning sebaiknya  perlu  dipertimbangkand  dalam  membuat  sebuah  model  klasifikasi  agar  model  yang  dibuat  memiliki performa  yang  tinggi[10],  karena  pada  penelitian  yang  juga  dilakukan  [11]  memperoleh  akurasi  sebesar  86%. Sehingga  dalam  penelitian  ini  juga  akan  dilakukan  optimalisasi  hyperparameter  tuning  pada  model  klasifikasi Naïve Bayes namun dengan parameter berbeda yaitu parameter alpha.
Penelitian lain juga dilakukan oleh Ni Made Ayu Juli Astari, dkk, analisis sentimen yang dilakukan dengan menggunakan  metode naïve bayes  menghasilkan akurasi  sebesar 0,65, hal  ini kurang  maksimal karena kalimat yang kurang terstruktur dan kata yang tidak formal[12]. Sehingga dalam penelitian ini pada proses preprocessing akan dilakukan pemrosesan yang lebih mendalam dengan menambahkan konversi emoji, replace kata yang tidak formal. Dilakukan penambahan konversi emoji pada penelitian ini untuk meningkatkan
Penelitian  ini  bertujuan  untuk  melakukan  analisis  sentimen  masyarakat  mengenai  bus  listrik  dan mengetahui  nilai akurasi  yang diperoleh oleh naïve  bayes dalam  melakukan analisis sentimen. Metode spesifik naïve bayes yang digunakan dalam penelitian ini adalah multinomial naïve bayes, karena multinomial naïve bayes adalah metode spesifik yang biasa digunakan dalam mengklasifikasikan teks dengan memperhitungkan frekuensi dari setiap kata yang muncul dalam dokumen[13].

## 2. METODOLOGI PENELITIAN

## 2.1 Tahapan Penelitian
Penelitian  ini  melakukan  pengklasifikasian  sentimen  mengenai  bus  listrik  dengan  menggunakan  metode  Naïve Bayes.  Tahapan  pertama  yang  dilakukan  dalam  penelitian  ini  adalah  pengumpulan  data  dengan  menggunakan metode scraping, file dataset hasil scraping selanjutnya melalui tahapan preprocessing untuk menghilangkan noise pada data, setelah data dibersihkan kemudian dilakukan pelabelan kelas sentimen dengan menggunakan metode lexicon base lalu dilakukan pembobotan kata menggunakan metode Tf-Idf. Selanjutnya dataset diimplementasikan ke  model  klasifikasi  untuk  diprediksi  sentimennya,  dan  tahap  terakhir  adalah  melakukan  evaluasi  dengan menggunakan confusion matrix. Urutan langkah langkah penelitian ini diilustrasikan pada gambar 1 berikut.

## Gambar 1. Tahapan Penelitian

## 2.2 Pengumpulan Data
Pengumpulan data berupa dataset tweet dilakukan dengan metode scraping menggunakan bahasa pemrograman python. Dataset yang akan digunakan dalam penelitian ini adalah data yang diperoleh dari media sosial Twitter yang berupa data tweet yang berisi opini terhadap bus listrik. Data tweet yang akan dianalisis diambil pada rentang waktu 3 bulan, mulai dari tanggal 1 November 2022 hingga tanggal 31 januari 2023

## 2.3 Preprocessing Data
Text preprocessing adalah bagian dari text mining yang dilakukan untuk menghapus noise pada kalimat, hal ini bertujuan untuk menghindari data yang kurang sempurna, gangguan pada data dan data yang tidak konsisten[14]. Tahapan pada text preprocessing yang akan dilakukan pada penelitian ini adalah adalah sebagai berikut[15]: a. Case folding adalah penyeragaman seluruh teks menjadi hurf kecil atau lowercase.
b. Convert Emoji adalah proses merubah emoji menjadi sebuah kata yang mewakili emoji tersebut[16].

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
c. Cleansing adalah pembersihan pada dokumen yang berisi url, angka, simbol dan baca lainnya.
d. Tokenizing adalah proses pemotongan atau pemisahan pada sebuah dokumen ataupun kalimat menjadi kata atau biasa disebut token.
e. Normalisasi  kata  adalah  proses  untuk  menormalisasi  kata terhadap  setiap  kata-kata  yang  mengandung  kata tidak baku maupun noise menjadi kata baku dan siap diolah. Kata tidak baku dan adanya noise yang dimaksud adalah kata yang mengandung unsur bahasa daerah yang tidak sesuai dengan Kamus Besar Bahasa Indonesia (KBBI) dan kata singkatan dalam media sosial.
f. Stopword  removal  adalah  proses  untuk  menghapus  kata  yang  dianggap  tidak  penting  dan  semua  kata  yang terdapat didalam kamus stopword yang sudah dibuat.
g. Stemming  adalah  proses  merubah  semua  kata  dalam  dokumen  menjadi  kata  dasar  dengan  menghilangkan semua kata imbuhan.

## 2.4 Pelabelan lexicon Base
Pelabelan sentimen pada penelitian ini dilakukan secara otomatis menggunakan metode lexicon base berdasarkan kamus inset lexicon Indonesia. Lexicon based adalah metode ilmiah yang sering digunakan dalam suatu penelitian analisis sentimen. Hasil analisis dengan metode ini adalah berupa klasifikasi sentimen positif,negatif dan netral, namun pada penelitian ini data yang digunakan hanya yang memiliki sentimen positif dan sentimen negatif karena sentimen  netral cenderung tidak  memberikan  informasi  yang  jelas[17]. Kualitas dari hasil pelabelan tergantung pada kamus kata atau corpus yang digunakan

## 2.5 Pembobotan Kata
Pembobotan kata dilakukan dengan menggunakan metode Term Frequency - Inverse Document Frequency. Proses pertama pada metode ini adalah menghitung jumlah kemunculan setiap kata atau Term Frequency, lalu selanjutnya Inverse Document Frequency atau menghitung kebalikan frekuensi dokumen dan tahap terakhir menghitung bobot kata dari Term Frequency dikali dengan Inverse Document Frequency.
IDF t = log ( Jumlah documen jumlah dokumen term ′t′ ) (1)
W d,f =   tf d,t ×  IDF d,t
(2)
Dimana tf adalah banyaknya kata yang dicari pada sebuah dokumen dan IDF adalah kebalikan frekuensi dokumen atau inverse document frequency.

## 2.6 Klasifikasi Naïve Bayes Classifier
Naïve  Bayes  merupakan  sebuah  metode  pengklasifikasian  dengan  menggunakan  probabilitas  sederhana  yang berakar pada Teorema Bayes dan memiliki asumsi ketidaktergantungan (independent) yang tinggi dari masing – masing  kondisi  atau  kejadian[14].  Proses  pengklasifikasian  Naïve  Bayes  memiliki  dua  proses  penting  yaitu pelatihan  dan  pengujian[18].  Sehingga  sebelum  dataset  di  implementasikan  ke  Naïve  Bayes  dilakukan  data splitting  menjadi data  latih dan data uji, rasio pembagian data latih dan data uji dilakukan 4 percobaan dengan rasio pembagian data yang bervariasi yaitu 9:1, 8:2, 7:3 dan 6:4 dimana 9:1 yaitu 90% dataset menjadi data latih dan 10% dataset menjadi  data uji dan begitu juga pada variasi rasio yang lainnya. Metode spesifik naïve bayes yang dipilih adalah multinomial naïve bayes.
Cara  multinomial  naive  bayes  membedakan  kelas  sentimen  adalah  dengan  menggunakan  probabilitas. Model  akan  mempelajari  frekuensi  kemunculan  kata  dalam  teks  pada  masing-masing  kelas  dan  menghitung probabilitasnya  lalu  tersimpan  dalam  memori.  Ketika  model  menerima  teks  baru,  model  akan  menghitung probabilitas setiap kata teks berdasarkan setiap kelas yang telah dipelajari. Setelah mendapatkan nilai probabilitas dari  setiap  kelas,  selanjutnya  kelas  dengan  probabilitas  tertinggi  akan  dipilih  model  sebagai  prediksi  dari  teks tersebut. Misalnya, jika probabilitas dari kelas sentimen negatif lebih tinggi daripada probabilitas sentimen positif, maka model akan memberikan prediksi teks tersebut sebagai sentimen negatif. Untuk menentukan himpunan kelas c dari teks d menggunakan persamaan multinomial naïve bayes berikut[19].
P(c|term dokumen d) = P(c) × P( t 1 c ) × P( t 2 c ) × . . .× P( t n c ) (3)
Keterangan:
P(c)  = Jumlah kelas c pada dokumen dibagi jumlah seluruh dokumen t n = kata dokumen d ke-n P(c|term dokumen d) = probabilitas suatu dokumen termasuk kelas c P(t n /c)  = probabilitas kata ke-n dengan diketahui kelas c

## 2.7 Evaluasi Model
Evaluasi  menggunakan confusion  matrix  menghasilkan nilai  akurasi, precision, recall, serta f-measure. Akurasi merupakan presentasi ketepatan record data diklasifikasikan secara benar setelah dilakukan pengujian pada hasil klasifikasi[20], Contoh confusion matrix ditunjukkan pada tabel 1.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
Tabel 1. Confusion matrix
Predicted Class True Class Negatif Positif Negatif True Negative (TN) False Negative (FN) Positif False Positive (FP) True Positive (TP)
Pada tabel 1 hasil nilai yang diperoleh dari hasil kelas prediksi dan kelas sebenarnya menghasilkan TN, TP, FN,  dan  FP,  selanjutnya  dilakukan  perhitungan  untuk  mencari  score  Accuracy,  Precision,  Recall  dan  F-score metode confusion matrix menggunakan rumus sebagai berikut[11], [20].
Accuracy = TP + TN (TP+TN+FP+FN) (4) Precision = TP (TP+FP) (5) Recall = TP (TP+FN) (6) F1 score = 2×Precision×Recall Precision+Recall (7)
Accuracy  adalah  jumlah  perbandingan  data  yang  benar  dengan  keseluruhan  data.  Precision  adalah perbandingan antara true positive dengan banyaknya data yang diprediksi positif, sedangkan recall secara definisi adalah perbandingan antara true positive dengan banyaknya data yang sebenarnya positif[21].

## 3. HASIL DAN PEMBAHASAN

## 3.1 Pengumpulan Data
Data yang digunakan dalam penelitian ini adalah data tweet yang berisi opini terhadap bus listrik dari media sosial twitter yang diambil dari tanggal 1 November 2022 sampai 31 Januari 2023. Pengumpulan data dilakukan dengan metode  scraping  menggunakan  bahasa  pemrograman  python  dengan  memanfaatkan  library  snscraper  untuk scraping data dari twitter berdasarkan kata kunci pencarian “Bus Listrik”. Jumlah data yang terkumpul berjumlah 2585 tweet dan disimpan kedalam file dengan format csv. Data hasil scraping dari twitter dilihat pada tabel 2.
Tabel 2. Contoh hasil Pengumpulan Data Twitter User Tweet Kozirama Sebentar lagi transportasi publik Bandung akan membaik. Kan udah ada tambahan armada bus listrik 👌🏻
elisa_jkt
Mantappp …  Emang transisi EV itu sungguh dibutuhkan … oleh mereka di bawah ini 😂😂 Begitu transisinya  ke  transportasi  massal  (listrik/rel/bus  listrik,  dll)  susaahhhh  bener  ditagih  … https://t.co/vcFxfHo1rW
Detikfinance Kemenhub ungkap bahwa pemerintah akan menambah jumlah bus listrik Transjakarta hingga 100 unit pada 2023. https://t.co/teUsEEEU2d
Shagggy_solo  @gibran_tweet Janganlah menambah kemacetan lalu lintas di Kota Solo. Walau itu embel-embelnya mobil dinas atau mobil "listrik" tetap saja itu mobil, sumber kemacetan jalan.
Tambah bus listrik atau bus diesel biasa aja Mas Wali.. Ini yg lebih dibutuhkan masyarakat, Mas.. https://t.co/GmxwDXW7xT

## 3.2 Preprocessing Data
Tahap preprocessing bertujuan untuk mengurangi  noise pada data dengan cara  mengubah atau menghapus data yang dianggap lengkap, tidak penting, atau format data yang salah dalam database. Berikut adalah tahapan dalam preprocessing data yang dilakukan dalam penelitian ini.

## 3.2.1 Konversi Emoji
Pada Tahap ini ikon emoji pada data akan diterjemahkan ke dalam teks, proses konversi emoji dilakukan secara otomatis menggunakan bahasa pemrograman python dengan mengecek dan mendeteksi ikon emoji pada teks lalu diganti/replace dengan kalimat artinya, arti emoji tersebut diambil dari dataset Emoji to Text Indonesia[22].
Tabel 3. Konversi Emoji Tweet Konversi Emoji
Ada  momen  juga  bus  listrik  berhenti  beroperasi.
Harusnya bisa lho. Harusnya... 😁
Ada  momen  juga  bus  listrik  berhenti  beroperasi. Harusnya  bisa  lho.  Harusnya...  :Wajah  Berseri-seri dengan Mata Tertutup:

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
Tweet Konversi Emoji happy banget nemuin alternatif lain ke Satrio selain naik ojol.  naik  bus  listrik  6D  bunsen-stasiun  tebet.  ongkos pamulang - kuningan city cuma 22K aja🤗https://t.co/GCWDij5nOp happy banget nemuin alternatif lain ke Satrio selain naik ojol.  naik  bus  listrik  6D  bunsen-stasiun  tebet.  ongkos pamulang  -  kuningan  city  cuma  22K  aja:Wajah Memeluk: https://t.co/GCWDij5nOp

## 3.2.2 Case Folding
Setelah dilakukan konversi emoji selanjutnya dilakukan case folding atau mengubah semua huruf menjadi huruf kecil, pada penelitian ini tahap case folding dilakukan secara otomatis menggunakan fungsi lower( ) pada python, contoh hasil setelah dilakukan proses case folding ditunjukan pada tabel 4.

## Tabel 4. Contoh hasil Case Folding
Konversi Emoji Case Folding Ada momen juga bus listrik berhenti beroperasi. Harusnya bisa  lho.  Harusnya...  :Wajah  Berseri-seri  dengan  Mata Tertutup:
ada  momen  juga  bus  listrik  berhenti  beroperasi. harusnya  bisa  lho.  harusnya...  :wajah  berseri-seri dengan mata tertutup: happy  banget  nemuin  alternatif  lain  ke  Satrio  selain  naik ojol.  naik  bus  listrik  6D  bunsen-stasiun  tebet.  ongkos pamulang - kuningan city cuma 22K aja:Wajah Memeluk: https://t.co/GCWDij5nOp happy banget nemuin alternatif lain ke satrio selain naik ojol.  naik  bus  listrik  6d  bunsen-stasiun  tebet.  ongkos pamulang  -  kuningan  city  cuma  22k  aja:wajah memeluk: https://t.co/gcwdij5nop

## 3.2.3 Cleanning
Tahap selanjutnya adalah melakukan penghapusan url, hashtag, tanda baca, huruf tunggal, angka dan spasi ganda yang bertujuan untuk mengurangi noise pada data. Proses ini dilakukan dengan memanfaatkan library re (regex) pada python, lalu dilakukan inisialisasi regex yang diperlukan seperti penghapusan URL sampai angka di dalam fungsi re.sub( ). Contoh hasil setelah proses cleaning dapat dilihat pada tabel 5 berikut.
Tabel 5. Contoh hasil Cleaning Case Folding Cleaning ada momen juga bus listrik berhenti beroperasi. harusnya bisa lho. harusnya... :wajah berseri-seri dengan mata tertutup: ada momen juga bus listrik berhenti beroperasi harusnya bisa lho  harusnya     wajah berseri seri dengan mata tertutup
happy banget nemuin alternatif lain ke satrio selain naik ojol. naik bus listrik 6d bunsen-stasiun tebet.  ongkos pamulang  - kuningan city cuma 22k aja:wajah memeluk: https://t.co/gcwdij5nop
happy  banget  nemuin  alternatif  lain  ke  satrio selain  naik  ojol  naik bus listrik bunsen stasiun tebet ongkos pamulang kuningan city cuma aja wajah memeluk

## 3.2.4 Tokenizing
Pada  tahap  ini  kalimat  akan  dipecah  menjadi  perkata  atau  token.  Proses  tokenizing  dilakukan  secara  otomatis dengan menggunakan library pada python dari nltk lalu mengimpor word_tokenize untuk tokenize teks. Contoh hasil setelah proses tokenizing dapat dilihat pada tabel 6.
Tabel 6. Contoh hasil Tokenizing
Cleaning Tokenizing ada momen juga bus listrik berhenti beroperasi harusnya bisa lho  harusnya     wajah berseri seri dengan mata tertutup ['ada', 'momen', 'juga', 'bus', 'listrik', 'berhenti', 'beroperasi', 'harusnya', 'bisa', 'lho', 'harusnya', 'wajah', 'berseri', 'seri', 'dengan', 'mata', 'tertutup'] happy banget nemuin alternatif lain ke satrio selain naik ojol naik bus listrik bunsen stasiun tebet ongkos pamulang kuningan city cuma aja wajah memeluk ['happy', 'banget', 'nemuin', 'alternatif', 'lain', 'ke', 'satrio', 'selain', 'naik', 'ojol', 'naik', 'bus', 'listrik', 'bunsen', 'stasiun', 'tebet', 'ongkos', 'pamulang', 'kuningan', 'city', 'cuma', 'aja', 'wajah', 'memeluk']

## 3.2.5 Normalisasi
Pada tahap ini kata yang tidak beraturan diubah menjadi kata yang formal. Proses normalisasi dilakukan secara otomatis dengan cara mendeteksi kata pada teks apakah ada yang sama dengan kata pada kolom kata slang dalam dataset “kamus alay”[23], jika ada kata tersebut akan diganti menjadi kata baku dari kata slang tersebut.
Tabel 7. Contoh Hasil Tokenizing Tokenizing Normalisasi ['ada',  'momen',  'juga',  'bus',  'listrik',  'berhenti', 'beroperasi',  'harusnya',  'bisa',  'lho',  'harusnya',  'wajah', 'berseri', 'seri', 'dengan', 'mata', 'tertutup'] ada momen juga bus listrik berhenti beroperasi  harusnya bisa  lho    harusnya          wajah  berseri  seri  dengan  mata tertutup

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
Tokenizing Normalisasi ['happy', 'banget', 'nemuin', 'alternatif', 'lain', 'ke', 'satrio', 'selain',  'naik',  'ojol',  'naik',  'bus',  'listrik',  'bunsen', 'stasiun',  'tebet',  'ongkos', 'pamulang',  'kuningan', 'city', 'cuma', 'aja', 'wajah', 'memeluk'] ['happy', 'banget', 'menemui', 'alternatif', 'lain', 'ke', 'satrio', 'selain',  'naik',  'ojek  online',  'naik',  'bus',  'listrik',  'bunsen', 'stasiun',  'tebet',  'ongkos',  'pamulang',  'kuningan',  'city', 'cuma', 'saja', 'wajah', 'memeluk']

## 3.2.6 Stopword Removal
Proses  selanjutnya  setelah  normalisasi  adalah  stopword  removal,  proses  ini  dilakukan  secara  otomatis  dengan memanfaatkan library “nltk.corpus stopwords” kamus stopword yang di impor adalah untuk bahasa indonesia dan ditambah kamus stopword manual seperti kata singkatan untuk melengkapi stopword dari nltk.corpus stopwords, selanjutnya setiap kata dari teks akan dicek jika ada kata yang sama dengan kata dalam kamus stopword maka kata tersebut akan dihapus. Contoh hasil setelah dilakukan stopword removal dapat dilihat pada tabel 8 berikut.
Tabel 8. Contoh Hasil Stopword Removal
Normalisasi Stopword Removal ada momen juga bus listrik berhenti beroperasi. harusnya bisa lho. harusnya... :wajah berseri-seri dengan mata tertutup: ada  momen  juga  bus  listrik  berhenti  beroperasi harusnya bisa lho  harusnya     wajah berseri seri dengan mata tertutup ['happy',  'banget',  'menemui',  'alternatif',  'lain',  'ke',  'satrio', 'selain',  'naik',  'ojek  online',  'naik',  'bus',  'listrik',  'bunsen', 'stasiun',  'tebet',  'ongkos',  'pamulang',  'kuningan',  'city',  'cuma', 'saja', 'wajah', 'memeluk'] ['happy',  'banget',  'menemui',  'alternatif',  'satrio', 'ojek  online',  'bus',  'listrik',  'bunsen',  'stasiun', 'tebet',  'ongkos',  'pamulang',  'kuningan',  'city', 'wajah', 'memeluk']

## 3.2.7 Stemming
Tahap  terakhir  preprocessing  stemming  yaitu,  mengubah  kata  yang  memiliki  imbuhan  kedalam  bentuk  kata dasarnya. Proses ini dilakukan dengan memanfaatkan library Sastrawi dengan mengimpor StemmerFactory untuk dilakukan stemming pada setiap kata dalam teks. contoh hasil setelah dilakukan prose  sstemming dapat dilihat pada tabel 9 berikut.
Tabel 9. Contoh Hasil Stemming Stopword Removal Stemming ada momen juga bus listrik berhenti beroperasi. harusnya bisa lho. harusnya... :wajah berseri-seri dengan mata tertutup: ada  momen  juga  bus  listrik  berhenti  beroperasi harusnya bisa lho  harusnya     wajah berseri seri dengan mata tertutup ['happy',  'banget',  'menemui',  'alternatif',  'satrio',  'ojek  online', 'bus',  'listrik',  'bunsen',  'stasiun',  'tebet',  'ongkos',  'pamulang', 'kuningan', 'city', 'wajah', 'memeluk'] happy banget temu alternatif satrio ojek online bus listrik  bunsen  stasiun  tebet  ongkos  pamulang kuningan city wajah peluk

## 3.3 Pelabelan
Pada penelitian ini tahap pelabelan dataset untuk klasifikasi naïve bayes dilakukan dengan menggunakan metode lexicon based. Kamus yang digunakan pada metode ini yaitu Indonesia Sentiment Lexicon (InSet)[24] yang berisi 3.609 kata positif beserta nilai polaritasnya dan 6.609 kata negatif beserta polaritasnya dengan rentang bobot nilai dari  +5  sampai  dengan  -5.  Pelabelan  berdasarkan  jumlah  bobot  dari  setiap  dokumen  atau  tweet,  jika  jumlah bobotnya >0 maka dokumen tersebut  akan diberi  label positif,  jika  jumlah  bobot  dari dokumen <0 maka diberi label negatif, sedangkan jika jumlah bobotnya =0 maka dokumen tersebut diberi label netral.
Tabel 10. Contoh Proses Perhitungan Lexicon
Text Token Positif Token Negatif Jumlah Bobot allah  old  tram  bus listrik lucu banget wajah menang keras = ‘allah’, ‘bus’, ‘lucu’, ‘menang’ = 5 + 1 + 3 + 4 = 13 = ‘lucu’, ‘menang’ = (-2) + (-5) = -7 = Token positif + Token negatif
= 13 + (-7) = 6 (positif)
Token ‘old’, ‘tram’, ‘listrik’, ‘wajah’, dan  ‘keras’ pada tabel 10 tidak  memiliki  bobot kata karena pada kamus Inset Lexicon tidak ada kata tersebut sehingga diabaikan. Sedangkan kata yang terdapat pada kamus Inset Lexicon selanjutnya akan diberi bobot dan dijumlahkan. Pelabelan lexicon base menghasilkan tiga kelas sentimen yaitu positif, netral dan negatif. P penelitian ini hanya menggunakan sentimen positif dan negatif, setelah dilakukan penghapusan tweet sentimen netral sebanyak 174 tweet, jumlah dataset berkurang menjadi 2412 yang terdiri dari 1458 tweet sentimen positif dan 954 tweet sentimen negatif.
Tabel 11. Contoh Data Setelah Pelabelan
Tweet (After Preprocessing) Bobot Sentimen momen bus listrik henti operasi wajah seri seri mata tutup -6 negatif

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
Tweet (After Preprocessing) Bobot Sentimen allah old tram bus listrik lucu banget wajah menang keras 6 positif problem bus listrik mogok habis baterai -11 Negatif surabaya terima bus listrik bekas event 4 positif mantappp transisi ev sungguh butuh wajah tertawa menang wajah tertawa menang transisi transportasi massal listrik rel bus listrik dan lain lain susaahhhh tagih 4 positif

## 3.4 Pembobotan TF-IDF
Setelah  preprocessing  data  dan  pelabelan  data,  tahap  selanjutnya  dilakukan  pembobotan  kata  menggunakan metode TF-IDF. Pembobotan kata dilakukan secara otomatis menggunakan bahasa pemrograman python dengan memanfaatkan  library  TfidfVectorizer  dari  sklearn.  Contoh  proses  perhitungan  manual  Tf-IDF  dapat  dilihat dibawah ini.
Tabel 12. Dokumen Contoh Id Tweet (After Preprocessing) D1 D2 D3 D4 D5 jakarta ada bus listrik jakarta tambah operasi bus listrik inka produksi bus listrik ptba operasi bus listrik jemput karyawan bus listrik keren banget
Pada tabel 12 menggunakan contoh data sebanyak 5 dokumen yang selanjutnya akan diberikan bobot pada setiap kata. Dokumen akan dipecah  menjadi term/perkata untuk dihitung  masing-masing  bobotnya berdasarkan kemunculan kata pada setiap dokumen. Ilustrasi proses perhitungan bobot tiap kata dapat dilihat pada tabel 13.
Tabel 13. Ilustrasi Perhitungan TF-IDF
Term TF DF IDF W= TF× IDF D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 ada 1 0 0 1 1 3 log (5/3) = 0,2 0,2 0 0 0,2 0,2 bus 1 1 1 1 1 5 log (5/5) = 0 0 0 0 0 0 jakarta 2 1 0 0 1 4 log (5/4) = 0,1 0,2 0,1 0 0 0,1 jemput 0 0 1 0 0 1 log (5/1) = 0,7 0 0 0,7 0 0 karyawan 0 0 1 0 0 1 log (5/1) = 0,7 0 0 0,7 0 0 listrik 1 1 1 1 1 5 log (5/5) = 0 0 0 0 0 0 operasi 0 1 1 1 0 3 log (5/3) = 0,2 0 0,2 0,2 0,2 0 ptba 0 0 1 0 1 2 log (5/2) = 0,4 0 0 0,4 0 0,4 tambah 0 1 0 1 0 2 log (5/2) = 0,4 0 0,4 0 0,4 0
Langkah awal pembobotan kata Tf-Idf adalah menghitung jumlah kemunculan setiap kata pada dokumen atau  Term  Frequency  (TF).  Selanjutnya  menghitung  jumlah  TF  dari  semua  dokumen  untuk  mendapatkan  DF (Documen  Frequency)  dari  setiap  kata  yang  dicari.  Untuk  mendapatkan  IDF  (Inverse  Document  Frequency) digunakan persamaan (1) berdasarkan jumlah dokumen dan DF, kemudian untuk memberi bobot kata pada setiap dokumen digunakan persamaan (2) yaitu mengalikan TF dengan hasil perhitungan IDF.

## 3.5 Klasifikasi Naïve Bayes
Pada  tahap  ini  model  naïve  bayes  melakukan  pengklasifikasian  sentimen  yang  dibagi  menjadi  dua  kelas  yaitu sentimen positif dan sentimen negatif. Langkah pertama pada tahap ini adalah membagi dataset menjadi data latih dan data uji, klasifikasi dilakukan sebanyak 4 kali dengan rasio pembagian data latih dan data uji yang berbeda. Rasio pembagian data yang dipilih adalah 9:1, 8:2, 7:3, dan 6:4, rasio 9:1 berarti 90% dataset dijadikan data latih dan 10% sisanya menjadi data uji, selanjutnya data latih dan data uji diimplementasikan kedalam algoritma naïve bayes. Hasil klasifikasi naïve bayes dari 4 kali percobaan dengan rasio pembagian data yang berbeda diperoleh sentimen positif memiliki jumlah terbanyak yaitu mencapai 77,32% dari total data uji pada rasio 6:4, sedangkan sentimen  negatifnya  sebanyak  22,69%.  Sedangkan  pada  rasio  pembagian  data  9:1,  8:2,  dan  7:3  memperoleh sentimen  positif  berurutan  sebanyak  71,9%,  72,26%  dan  74,59%  dari  total  data  uji.  Kelas  sentimen  dari  setiap rasio pembagian data yang berbeda dapat dilihat pada gambar 2.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030

## 3.6 Evaluasi
Tahap  terakhir  adalah  melakukan  evaluasi  pada  model  naïve  bayes  dalam  melakukan  klasifikasi  menggunakan metode  confusion  matrix.  Confusion  matrix  adalah  salah  satu  metode  untuk  mengevaluasi  model  klasifikasi. Evaluasi yang dilakukan adalah menghitung akurasi yang diperoleh model dengan membandingkan hasil prediksi sentimen  oleh  model  dengan  sentimen  aslinya  dari  data  uji.  Pada  langkah  pengklasifikasian  menggunakan Multinomial Naïve Bayes dilakukan percobaan sebanyak 4 kali dengan rasio pembagian data yang berbeda. Hal ini  dilakukan  untuk  mendapatkan  hasil  evaluasi  yang  terbaik  dari  semua  percobaan  tersebut.  Hasil  evaluasi Multinomial Naïve Bayes dapat dilihat pada tabel 14 berikut.
Tabel 14. Hasil Evaluasi Confusion Matrix pada Naïve Bayes Rasio Split Data Jumlah Data Confusion Matrix Score Latih Uji TP TN FP FN Akurasi Presisi Recall F1-Score 9:1 2170 242 125 58 49 10 75,6% 71,8% 92,6% 80,9% 8:2 1929 483 258 107 91 27 75,6% 73,9% 90,5% 81,4% 7:3 1688 724 389 151 151 33 74,6% 72% 92,2% 80,9% 6:4 1447 965 537 181 209 38 74,4% 72% 93,4% 81,3%
Dari  tabel  14  diperoleh  hasil  terbaik  yaitu  pada  rasio  pembagian  (split)  data  8:2  dengan  akurasi  yang menunjukan jumlah perbandingan data yang terprediksi benar dengan keseluruhan data adalah 75,6%, meskipun pada  rasio  split  data  9:1  diperoleh  akurasi  yang  sama  yaitu  75,6%  namun  score  presisi    yang  menunjukan perbandingan data positif asli dengan data yang diprediksi positif tertinggi terdapat pada rasio split data 8:2 yaitu mencapai 73,9%.
Dari tabel 14 juga diketahui setelah melakukan pengujian menggunakan metode confusion matrix diperoleh hasil seperti pada tabel 1 yaitu TP (True Positive), TN (True Negative), FP (False Positive) dan FN (False Negatif) dari setiap rasio  split data. Jumlah Data  menunjukan  jumlah pembagian dataset  menjadi data  latih dan data uji berdasarkan  rasio  split  datanya.  Nilai  Score  diperoleh  dari  hasil  perhitungan  akurasi,  presisi,  recall,  f1-score menggunakan persamaan (4), persamaan (5), persamaan (6) dan persamaan (7) kemudian dikalikan dengan 100% untuk  mengubahnya  kedalam  bentuk  bilangan  persen.  Detail  perhitungan  dari  setiap  rasio  split  data  untuk memperoleh nilai score adalah sebagai berikut:
a. Pada rasio split data 9:1 :
Accuracy = 125  +  58
(125 + 58 + 49 + 10) = 183 242 = 0.756 Precision = 125 (125 + 49) = 125 174 = 0,718 Recall = 125
(125 + 10) = 125 135 = 0,926 F1 score = 2 × 0,718 × 0,926
0,718 + 0,926 = 1,330 1,644 = 0,809 b. Pada rasio split data 8:2 :
Accuracy = 258  +  107
(258 + 107 + 91 + 27) = 365 483 = 0.756
Precision = 258 (258 + 91) = 258 349 = 0,739 Recall = 258
(258 + 27) = 258 285 = 0,905 F1 score = 2 × 0,756 × 0,905 0,756 + 0,905 = 1,338
1,645 = 0,814 c. Pada rasio split data 7:3 :
Accuracy = 389  +  151 (389 + 151 + 151 + 33) = 540 724 = 0.746 Precision = 389 (389 + 151) = 389 540 = 0,720 Recall = 389
(389 + 33) = 389
422 = 0,922
F1 score = 2 × 0,720 × 0,922 0,720 + 0,922 = 1,328
1,642 = 0,809 d. Pada rasio split data 6:4 Accuracy = 537  +  181 (537 + 181 + 209 + 38) = 718 965 = 0.744

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
Precision = 537 (537 + 209) = 537 746 = 0,720
Recall = 537
(537 + 38) = 537 575 = 0,934
F1 score = 2 × 0,720 × 0,934 0,720 + 0,934 = 1,345

## 1,654 = 0,813
Hasil perhitungan diatas selanjutnya dikonversi kedalam bentuk persen sehingga diperoleh hasil score pada tabel 14. Model multinomial naïve bayes ditambahkan optimalisasi hyperparameter tunning yang bertujuan untuk meningkatkan  skor  akurasi  yang  diperoleh  model  dalam  pengklasifikasian  sentimen.  Parameter  dari hyperparameter  yang  digunakan  adalah  alpha  :  [0.1,  0.2,  0.3,  0.4,  1].  Hasil  evaluasi  confusion  matrix  pada Multinomial Naïve Bayes dengan Optimalisasi Hyperparameter dapat dilihat pada tabel 15 berikut.
Tabel 15. Hasil Evaluasi Naïve Bayes dengan Optimalisasi Hyperparameter Rasio Split Data Best Alpha Jumlah Data Confusion Matrix Score Latih Uji TP TN FP FN Akuras i Presisi Recal l F1-Score 9:1 0.2 2170 242 100 73 34 35 71,5% 74,6% 74,1% 74,3% 8:2 0.4 1929 483 240 132 66 45 77% 78,4% 84,2% 81,2% 7:3 0.2 1688 724 342 218 84 80 77,3% 80,3% 81% 80,7% 6:4 0.1 1447 965 464 289 101 111 78% 82,1% 80,7% 81,4%
Dari  tabel  15  dapat  diketahui  nilai  akurasi  atau  nilai  untuk  menunjukan  perbandingan  antara  data  yang terprediksi benar dengan keseluruhan data, diperoleh nilai tertinggi yang terdapat pada rasio split data 6:4 yaitu 78% dengan presisi atau perbandingan antara true positive dengan jumlah data yang diprediksi positif yaitu 82,1%, serta recall atau perbandingan antara true positif dengan jumlah data yang sebenarnya positif yaitu 80,7% dan F1- score  atau  nilai  rata-rata  harmoni  dari  nilai  gabungan  presisi  dan  recall  yaitu  81,4%  dengan  best  alpha  atau parameter alhpa terbaik yang digunakan untuk hyperparameter adalah 0.2. Nilai akurasi terbaik naïve bayes tanpa optimalisasi pada rasio split data 8:2 juga mengalami peningkatan menjadi 77% dan nilai presisinya menjadi 78%. Peningkatan akurasi terjadi karena penambahan parameter alpha pada model untuk melakukan teknik smoothing pada data, pada model nilai alpha ditambahkan ke setiap frekuensi term dalam menghitung probabilitas,  sehingga  dapat  menghindari  kemungkinan  nilai  nol  pada  term.  Pemilihan  nilai  alpha  yang terlalu kecil atau terlalu besar dapat mempengaruhi keseimbangan antara menjadi overfitting dan akurasi. Sehingga untuk mendapatkan nilai alpha  yang optimal dilakukan cross-validation (validasi silang) dengan  memanfaatkan library python sklearn.RandomizedSearchVN.
Perhitungan  untuk  memperoleh  nilai  score  akurasi,  presisi,  recall  F-score  berdasarkan  hasil  confusion matrix adalah sebagai berikut a. Pada rasio split data 9:1 :
Accuracy = 100  +  73
(100 + 73 + 34 + 35) = 173 242 = 0.715
Precision = 100 (100 + 66) = 100 166 = 0,746
Recall = 100
(100 + 35) = 100 135 = 0,741
F1 score = 2 × 0,746 × 0,741 0,746 + 0,741 = 1,106 1,487 = 0,743 b. Pada rasio split data 8:2 :
Accuracy = 240 +  132
(240 + 132 + 66 + 45) = 372 483 = 0.770
Precision = 240 (240 + 66) = 240 306 = 0,784
Recall = 240 (240 + 45) = 240 285 = 0,842
F1 score = 2 × 0,784 × 0,842 0,784 + 0,841 = 1,321
1,626 = 0,812 c. Pada rasio split data 7:3 :
Accuracy =
342  +  218
(342 + 218 + 84 + 80) = 560 724 = 0.773 Precision = 342 (342 + 84) = 342 426 = 0,803 Recall = 342 (342 + 80) = 342 422 = 0,810

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
F1 score = 2 × 0,803 × 0,810 0,803 + 0,810 = 1,301 1,613 = 0,807 d. Pada rasio split data 6:4 Accuracy = 464  +  289 (464 + 289 + 101 + 111) = 759 965 = 0.780 Precision = 464 (464 + 101) = 464 565 = 0,821 Recall = 464 (464 + 111) = 464 575 = 0,807 F1 score = 2 × 0,821 × 0,807
0,821 + 0,807 = 1,325

## 1,628 = 0,814
Hasil perhitungan diatas selanjutnya dikonversi kedalam bentuk persen sehingga diperoleh nilai pada kolom score pada tabel 15.

## 4. KESIMPULAN
Berdasarkan hasil penelitian yang telah dilakukan pada model dari 4 kali percobaan pada dataset tweet sebanyak 2412  diperoleh  kelas  sentimen  terbanyak  adalah  sentimen  positif    yaitu  sebanyak  77,32%  sentimen  positif  dan 22,69% sentimen negatif, yang diperoleh pada rasio pembagian data 6:4. Sentimen positif juga mendominasi pada rasio pembagian data lainnya, hal ini menunjukan mayoritas pengguna twitter mendukung baik terhadap bus listrik. Hasil evaluasi menunjukan nilai akurasi dari setiap rasio pembagian memperoleh akurasi yang berbeda-beda, yaitu hasil naïve bayes tanpa optimalisasi pada rasio pembagian data 9:1, 8:2, 7:3 dan 6:4 masing-masing memperoleh akurasi  75,6%,  75,6%,  74,6%  dan  74,4%.  Setelah  Naïve  Bayes  dioptimalisasi  dengan  hyperparameter  tuning akurasinya meningkat menjadi 78% dengan nilai parameter alpha terbaik yaitu 0.2 pada rasio pembagian data 6:4. Pada rasio pembagian data lainnya juga mengalami peningkatan akurasi, meskipun terdapat peningkatan perbaikan akurasinya hanya terbilang kecil. Peningkatan akurasi model setelah dioptimalisasi diperoleh karena pemberian nilai alpha untuk mengatasi parameter nol  yang mungkin dapat muncul ketika terdapat kata atau fitur yang tidak muncul pada data pelatihan model. Pada rasio pembagian data 9:1 optimalisasi hyperparameter tuning mengalami penurunan akurasi menjadi 71,5% dibanding model tanpa akurasi yang memperoleh  75,6%, hal ini menunjukan optimalisasi pada  model  juga dapat mengurangi  akurasi karena terjadinya overfitting dan rasio pembagian data juga dapat mempengaruhi tingkat akurasi yang diperoleh. Nilai akurasi pada model yang kurang optimal karena hasil  preprocessing  yang  kurang  bersih  berupa  data  duplicate  hasil  proses  konversi  emoji  karena  tweet  yang kebanyakan menggunakan ikon emoji. Sehingga Pada pengembangan penelitian selanjutnya pada preprocessing dapat ditambahkan penghapusan duplicate dan proses pembersihan lainnya serta menambahkan parameter lainnya untuk optimalisasi dan tidak tidak terpaku hanya pada parameter alpha pada optimalisasi hyperparameter agar hasil optimalisasi modelnya lebih optimal.

## REFERENCES
[1]  R. Z. Akbar, I. Haryanto, dan G. D. Haryadi, “ANALISIS STABILITAS BELOK BUS LISTRIK MEDIUM DENGAN VARIASI KECEPATAN DAN KONDISI JALAN,” J. Tek. MESIN, vol. 9, no. 2, Art. no. 2, Apr 2021.
[2]  W. Y. UTOMO, “ANALISIS RISIKO BAHAYA BUS LISTRIK TERHADAP PENGGUNA JALAN (STUDI KASUS BUS  LISTRIK  TRANSJAKARTA),”  diploma,  POLITEKNIK  KESELAMATAN  TRANSPORTASI  JALAN,  2022. [Daring]. Tersedia pada: http://eprints.pktj.ac.id/531/
[3]  N.  R.  Indraswari  dan  Y.  I.  Kurniawan,  “APLIKASI  PREDIKSI  USIA  KELAHIRAN  DENGAN  METODE  NAIVE BAYES,”  Simetris  J.  Tek.  Mesin  Elektro  Dan  Ilmu  Komput.,  vol.  9,  no.  1,  Art.  no.  1,  Apr  2018,  doi: 10.24176/simet.v9i1.1827.
[4]  F. S. Pattiiha dan H. Hendry, “Perbandingan Metode K-NN, Naïve Bayes, Decision Tree untuk Analisis Sentimen Tweet Twitter Terkait Opini Terhadap PT PAL Indonesia,” JURIKOM J. Ris. Komput., vol. 9, no. 2, Art. no. 2, Apr 2022, doi: 10.30865/jurikom.v9i2.4016.
[5]  A. Santoso, A. Nugroho, dan A. S. Sunge, “Analisis Sentimen Tentang Mobil Listrik Dengan Metode Support Vector Machine Dan Feature Selection Particle Swarm Optimization,” J. Pract. Comput. Sci., vol. 2, no. 1, hlm. 24–31, Jul 2022, doi: 10.37366/jpcs.v2i1.1084.
[6]  D.  Darwis,  N.  Siskawati,  dan  Z.  Abidin,  “PENERAPAN  ALGORITMA  NAIVE  BAYES  UNTUK  ANALISIS SENTIMEN REVIEW DATA TWITTER BMKG NASIONAL,” J. Tekno Kompak, vol. 15, no. 1, Art. no. 1, Feb 2021, doi: 10.33365/jtk.v15i1.744.
[7]  R.  Azhar,  A.  Surahman,  dan  C.  Juliane,  “Analisis  Sentimen  Terhadap  Cryptocurrency  Berbasis  Python  TextBlob Menggunakan Algoritma Naïve Bayes,” J-SAKTI J. Sains Komput. Dan Inform., vol. 6, no. 1, Art. no. 1, Mar 2022.
[8]  I. B. G. Sarasvananda, D. Selivan, M. L. Radhitya, dan I. N. T. A. Putra, “Analisis Sentimen Pada Pembelajaran Daring Di Indonesia Melalui Twitter Menggunakan Naïve Bayes Classifier,” SINTECH Sci. Inf. Technol. J., vol. 5, no. 2, hlm. 227–233, Okt 2022, doi: 10.31598/sintechjournal.v5i2.1241.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v8i2.7030
[9]  J. A. Nurcahyo dan T. B. Sasongko, “Hyperparameter Tuning Algoritma Supervised Learning untuk Klasifikasi Keluarga Penerima  Bantuan  Pangan  Beras,”  Indones.  J.  Comput.  Sci.,  vol.  12,  no.  3,  Art.  no.  3,  Jul  2023,  doi: 10.33022/ijcs.v12i3.3254.
[10]  I. Priyadarshini dan C. Cotton, “A novel LSTM–CNN–grid search-based deep neural network for sentiment analysis,” J. Supercomput., vol. 77, no. 12, hlm. 13911–13932, Des 2021, doi: 10.1007/s11227-021-03838-w.
[11]  Z.  M.  E.  Darmawan  dan  A.  F.  Dianta,  “Implementasi  Optimasi  Hyperparameter  GridSearchCV  Pada  Sistem  Prediksi Serangan Jantung Menggunakan SVM,” 2023.
[12]  N. M. A. J. Astari, D. G. H. Divayana, dan G. Indrawan, “Analisis Sentimen Dokumen Twitter Mengenai Dampak Virus Corona Menggunakan Metode Naive Bayes Classifier,” J. Sist. Dan Inform. JSI, vol. 15, no. 1, Art. no. 1, Nov 2020, doi: 10.30864/jsi.v15i1.332.
[13]  J.  W.  Simanullang,  A.  Adiwijaya,  dan  S.  Al  Faraby,  “Klasifikasi  Sentimen  Pada  Movie  Review  Dengan  Metode Multinomial Naive Bayes,” EProceedings Eng., vol. 4, no. 2, 2018.
[14]  F.  V.  Sari  dan  A.  Wibowo,  “Analisis  Sentimen  Pelanggan  Toko  Online  Jd.Id  Menggunakan  Metode  Naïve  Bayes Classifier Berbasis Konversi Ikon Emosi,” J. SIMETRIS, vol. 10, no. 2, hlm. 681–686, 2019.
[15]  J. A. Septian, T. M. Fachrudin, dan A. Nugroho, “Analisis Sentimen Pengguna Twitter Terhadap Polemik Persepakbolaan Indonesia Menggunakan Pembobotan TF-IDF dan K-Nearest Neighbor,” INSYST J. Intell. Syst. Comput., vol. 1, no. 1, Art. no. 1, Agu 2019, doi: 10.52985/insyst.v1i1.36.
[16]  R. K. Septiani, S. Anggraeni, dan S. D. Saraswati, “Klasifikasi Sentimen Terhadap Ibu Kota Nusantara (IKN) pada Media Sosial Menggunakan Naive Bayes,” TEKNIKA, vol. 16, no. 2, Art. no. 2, Sep 2022, doi: 10.5281/zenodo.7535887.
[17]  “What Is Sentiment Analysis (Opinion Mining)? | Definition from TechTarget,” Business Analytics. Diakses: 9 Oktober 2023. [Daring]. Tersedia pada: https://www.techtarget.com/searchbusinessanalytics/definition/opinion-mining- sentiment-mining
[18]  ferdi dan V. Ayumi, “ANALISA SENTIMEN MENGENAI KENAIKAN HARGA BBM MENGGUNAKAN METODE NAÏVE BAYES DAN SUPPORT VECTOR MACHINE,” JSAI J. Sci. Appl. Inform., vol. 6, no. 1, Art. no. 1, Feb 2023, doi: 10.36085/jsai.v6i1.4628.
[19]  A.  Rahman,  W.  Wiranto,  dan  A.  Doewes,  “Online  news  classification  using  multinomial  naive  bayes,”  ITSMART  J. Teknol. Dan Inf., vol. 6, no. 1, hlm. 32–38, 2017.
[20]  D.  Putra,  A.  Wibowo,  dan  U.  B.  Luhur,  “Prediksi  Keputusan  Minat  Penjurusan  Siswa  SMA  Yadika  5  Menggunakan Algoritma Naïve Bayes,” vol. 2, 2020.
[21]  S. Setiawan, “Membicarakan Precision, Recall, dan F1-Score,” Medium. Diakses: 14 September 2023. [Daring]. Tersedia pada: https://stevkarta.medium.com/membicarakan-precision-recall-dan-f1-score-e96d81910354
[22]  “Emoji to Text Indonesia.” Diakses: 20 Juli 2023. [Daring]. Tersedia pada:
https://www.kaggle.com/datasets/yasirabd/emoji-to-text-indonesia
[23]  N. Aliyah Salsabila, Y. Ardhito Winatmoko, A. Akbar Septiandri, dan A. Jamal, “Colloquial Indonesian Lexicon,” dalam 2018 International Conference on Asian Language Processing (IALP), Bandung, Indonesia: IEEE, Nov 2018, hlm. 226– 229. doi: 10.1109/IALP.2018.8629151.
[24]  F.  Koto  dan  G.  Y.  Rahmaningtyas,  “Inset  lexicon:  Evaluation  of  a  word  list  for  Indonesian  sentiment  analysis  in microblogs,” dalam 2017 International Conference on Asian Language Processing (IALP), Singapore: IEEE, Des 2017, hlm. 391–394. doi: 10.1109/IALP.2017.8300625.