p-ISSN : 2460-3562 / e-ISSN : 2620-8989
Implementasi Sentiment Analysis Berdasarkan Tweets Masyarakat Terhadap Kinerja Presiden dalam Aspek Penanganan Covid-19
Floresius Angelus Dolf a1 , Novi Safriadi a2 , Tursina a3 a Program Studi Informatika, Fakultas Teknik, Universitas Tanjungpura Jalan Prof. Dr. H. Hadari Nawawi Pontianak, 78124
1 florensiusangelus98@student.untan.ac.id 2 saftiadi@informatics.untan.ac.id
3 tursina.untan.ac.id

## Abstrak
Penelitian ini berfokus pada sentiment analysis berdasarkan tweets masyarakat terhadap kinerja presiden dalam aspek penanganan covid-19. Tujuan penelitian ini adalah mengetahui pengaruh dataset dan model resampling untuk membangun model sentiment analysis machine dalam menganalisa topik kinerja presiden dalam aspek penanganan covid-19 kedalam 3 kelas sentiment yaitu positif, negatif, dan netral. Terdapat dua dataset yang digunakan pada penelitian ini dataset A yang merupakan kumpulan tweets yang diambil dari Twitter sebanyak 5694 dan dataset B yang dibentuk dengan mengambil “parameter + kata independen” dari tweets sebanyak 1015. Algoritma yang digunakan dalam penelitian ini adalah algoritma Support Vector Machine  (SVM) untuk membangun sebuah model machine learning dan menggunakan model resampling ROS (Random Over Sampler) dan RUS (Random Under Sampler) dalam mengatasi data yang tidak seimbang. Dari hasil pengujian pada peneltian ini dapat diketahui skenario 5 (dataset B + ROS) memiliki performa yang paling baik dengan accuracy sebesar 90,08 % dan precision 90,39 %, dari hasil pengujian juga diketahui skenario 5 merupakan model machine learning yang tidak mengalami overfitting. Penelitian ini berhasil mengimplementasikan sentiment analysis machine sehingga dapat melakukan kategorisasi teks terhadap kinerja presiden dalam aspek penanganan covid-19.
Kata kunci: Sentiment Analysis, dataset , Support Vector Machine, ROS (Random Over Sampler), RUS (Random Under Sampler)

## Implementation of Sentiment Analysis Based on Public Tweets On The President's Performance in Aspects of Handling Covid-19

## Abstract
This study focuses on sentiment analysis based on public tweets on the president's performance in handling aspects of COVID-19. The purpose of this study was to determine the effect of datasets and resampling models to build a sentiment analysis machine model in analyzing the topic of the president's performance in the aspect of handling COVID-19 into 3 sentiment classes, namely positive, negative, and neutral. There are two datasets used in this study, dataset A which is a collection of tweets taken from Twitter as many as 5694 and dataset B formed by taking "parameters + independent words" from tweets as many as 1015. The algorithm used in this study is the Support Vector Machine algorithm ( SVM) to build a machine learning model and use ROS (Random Over Sampler) and RUS (Random Under Sampler) resampling models to deal with unbalanced data. From the test results in this research, it can be seen that scenario 5 (dataset B + ROS) has the best performance with an accuracy of 90.08% and a precision of 90.39%, from the test results it is also known that scenario 5 is a machine learning model that does not experience overfitting. . This research has succeeded in implementing a sentiment analysis machine so that it can categorize texts on the president's performance in the aspect of handling COVID-19.
Keywords: Sentiment Analysis, dataset , Support Vector Machine, ROS (Random Over Sampler), RUS (Random Under Sampler)

## I. P ENDAHULUAN
P ada 2 Maret 2020 kasus covid-19 pertama terjadi di Indonesia, covid-19 adalah penyakit baru yang disebabkan oleh virus dari golongan coronavirus, yaitu SARS-CoV-2 yang sering juga disebut virus corona. segala upaya dilakukan dalam mencegah penyebaran covid-19 seperti PSBB(Pembatasan Sosial Berskala Besar),  lockdown, dan new normal. kinerja pemerintah ini sudah disetujui Presiden dalam UU No 1 Tahun 2020 tentang Kebijakan Keuangan Negara dan Stabilitas Sistem Keuangan Untuk Penanganan Pandemi Corona Virus Disease 2019 (Covid-19).
Presiden sebagai kepala negara Indonesia memegang kekuasaan eksekutif untuk melaksanakan tugas pemerintahan sehari-hari. Kebijakan & pekerjaan yang dilakukan Presiden bersama pemerintah berupaya dalam mensejahterakan masyarakatnya dalam segala aspek kesehatan,ekonomi,pendidikan,hukum,dll terutama dalam penanganan covid-19 yang pada tahun 2020 sudah mempengaruhi berbagai aspek tersebut.Tentu saja berbagai keputusan Presiden akan selalu menjadi perhatian bagi media informasi, di mana penyebaran informasi ini akan menimbulkan reaksi masyarakat akan keputusan yang dilakukan Presiden seperti tweets dari akun twitter Alliyya @Alliya4 pada gambar 1.

## Gambar 1. Contoh Tweets
Twitter sendiri adalah layanan jejaring sosial yang memungkinkan penggunanya  menulis dan membaca berbasis teks hingga 280 karakter yang dikenal dengan kicauan (tweets), Twitter menjadi jejaring sosial yang dapat berbagi opini,motivasi,hiburan,informasi,berita, dan menjadi media bisnis. Namun karakter yang dibatasi membuat kalimat menjadi terbatas serta kalimat-kalimat yang menggunakan kosakata dan tata bahasa yang beragam menjadi ciri khas dalam menuliskan teks di Twitter, dari berbagai macam tweets mengenai presiden dapat ditemukan kalimat yang bersifat positif yang berisi sebuah motivasi dan dukungan untuk kinerja presiden namun juga dapat ditemukan kalimat yang bersifat negatif yang berisi kalimat benci dan tidak mendukung kinerja presiden.
Dalam mengidentifikasi sentiment sebuah tweets maka dapat digunakan sentiment analisis, kalimat tweets yang tidak terstruktur akan diubah menjadi data terstruktur yang digunakan dalam membangun sentiment analysis machine yang dapat mengklasifikasi tweets kedalam kelompok sentiment yang bersifat positif, netral, atau negatif. Terdapat berbagai macam algoritma klasifikasi setiap algoritma memiliki cara dan hasil yang berbeda tergantung masalah atau faktor kualitas data dan kuantitas data.
Adapun penelitian terkait sentiment analysis [1] oleh Ilmawan & Mude (2020) membandingkan algoritma SVM (Support Vector Machine)[3] dan algoritma Naïve
Bayes[4] dengan hasil akurasi SVM sebesar 81,46% dan akurasi Naïve Bayes sebesar 75,41%. Adapun penelitian yang dilakukan Luqyana  et al (2018)  dalam mengklasifikasi data tweets menggunakan SVM (Support Vector Machine) dengan memperoleh hasil precision sebesar 94,44%, recall sebesar 85%, dan f-measure sebesar 89,47%. Pada dua penelitian ini dapat dilihat algoritma SVM memiliki hasil yang baik dan jika dibandingkan dengan algoritma Naïve Bayes, algoritma SVM memiliki hasil yang lebih baik.
Berdasarkan uraian diatas penelitian ini akan mengimplementasikan sentiment analysis yang bertujuan menganalisa pendapat, sentimen, evaluasi, sikap, penilaian dan emosi seseorang dengan menggunakan algoritma klasifikasi SVM (Support Vector Machine) agar dapat membangun sentiment analysis machine supaya dapat mempermudah dalam proses analisa data tweets masyarakat terhadap kinerja presiden dalam aspek penanganan covid-19 ke dalam kelas positif, kelas netral, dan kelas negatif.
Tidak hanya menganalisa data twitter menggunakan algoritma klasifikasi SVM dan membangun sentiment analysis machine tetapi penelitian ini juga membandingkan pengaruh dua dataset yang berbeda pada penyeimbangan distribusi data menggunakan metode resampling yaitu Random Over Sampler (ROS)[6]  dan Random Under Sampler (RUS)[7].

## II. M ETODOLOGI
Pada bab terdapat metodologi penelitian yang diuraikan menjadi beberapa langkah tentang: pengumpulan data & seleksi data, text preprocessing , labeling data,  TF – IDF, resampling , tahap pemodelan, pengujian data training, dan pengujian data testing yang dapat dilihat pada gambar 2.
Gambar 2. Metodologi Penelitian

## A. Pengumpulan Data & Seleksi Data
Pengambilan data opini masyarakat terkait kinerja presiden dalam penanganan covid-19 dari twitter dimana
kinerja presiden diturunkan menjadi beberapa parameter lockdown, psbb, ppkm, dan vaksin, parameter digunakan sebagai kata kunci dalam pencarian dan pengambilan data twitter yang diambil menggunakan twitter API dan discraping dari bulan maret – september.

## B. Dataset
Dataset yang digunakan dalam penelitian ini dibedakan menjadi 2 yaitu dataset A yang merupakan kumpulan data tweets yang sudah dikumpulkan dari hasil scraping dan diseleksi sebelumnya lalu dataset B yang merupakan kumpulan data yang dibuat secara manual dengan hanya mengambil parameter + kata independen dari sebuah tweets yang di scraping.
C. Text Preprocessing Text preprocessing adalah tahap dimana teks dengan noise akan diolah untuk menghilangkan noise tersebut, tahap Text preprocessing menyesuaikan data tweets yang dikumpulkan sesuai dengan laporan penelitian ini agar dapat mengubah data tweets yang tidak terstruktur menjadi terstruktur.
1) Cleaning: Proses mengurangi noise dengan membersihkan tweet dari simbol, karakter, dan dll yang tidak diperlukan. Seperti contoh Kata yang dihilangkan adalah karakter HTML, kata kunci, ikon emosi, hashtag (#), username (@username), url (http://website.com), dan email (nama@website.com)[8].
2) Case folding: Case folding merupakan tahapan awal pada Pre-processing yang bertujuan untuk mengubah setiap bentuk kata menjadi sama[5]. Proses mengubah semua huruf kapital dalam dokumen menjadi huruf kecil . 3 ) Normalisasi: Normalisasi bertujuan untuk merubah sebuah kata yang dikenali KBBI, normalisasi juga menghilangkan huruf yang berlebih/berulang, membenarkan kata yang kurang menjadi kata yang sempurna.
4) Tokenisasi: tahapan tokenisasi memisahkan kata dalam kalimat ke dalam bentuk token atau kata tunggal yang dipisahkan dengan spasi.
5) Stemming: Proses mengubah bentuk kata menjadi kata dasar, kata imbuhan seperti prefiks, sufiks, dan konfiks akan diubah menjadi kata dasar. Terdapat dua aturan dalam melakukan stemming yaitu dengan pendekatan kamus dan pendekatan aturan[9].
6) Stopword Removal: Proses stopword removal atau menghilangkan bagian-bagian dari dokumen yang tidak memiliki relevansi bagi proses klasifikasi. sebelum memasuki proses stopword removal akan dibuat stoplist dalam bentuk file (.txt), stoplist yang digunakan mengacu pada pada library nltk .

## D. Labeling
Pelabelan adalah tahap merubah data yang tidak terstruktur menjadi data terstruktur. Proses pelabelan dilakukan secara manual menggunakan textblob namun textblob hanya bisa membaca data tweets dalam bahasa inggris maka sebelum menggunakan textblob data diterjemahkan terlebih dahulu menggunakan google translate document .

## E. Pembobotan
Proses vektorisasi menggunakan pembobotan TF-IDF digunakan untuk menghitung kemunculan term dan term pada setiap document /data yang umum. Semakin besar frekuensi kemunculan term dalam document semakin besar nilainya nanti.

## F. Resampling
Metode resampling yang  digunakan yaitu ROS dan RUS untuk digunakan dan diuji pada 2 dataset yang berbeda dataset A dan dataset B. ROS digunakan untuk menggambil sampel kelas minoritas secara acak kemudian diubah menjadi sample tambahan sehingga jumlahnya sama dengan kelas mayoritas sedangkan RUS digunakan untuk menghapus sampel kelas mayoritas secara acak sehingga jumlahnya sama dengan kelas mayoritas.

## G. Split Data
Dataset akan dibagi menjadi data training dan data testing dengan ratio 70:30 dengan menggunakan library sklearn pembagian data dilakukan secara acak dengan random_state 42 agar hasil saat rerun memiliki hasil ouput yang sama.

## H. Modeling
Support Vector Machine (SVM) merupakan salah satu metode klasifikasi dengan menggunakan machine learning ( supervised learning ) yang memprediksi kelas berdasarkan model atau pola dari hasil proses training. SVM model hyperplane hanya sentiment menjadi 2 kelas. Hyperplane adalah sebuah fungsi yang dapat digunakan untuk pemisah antar kelas. pada gambar 3 terdapat sejumlah data digambarkan dengan lingkaran sebagai kelas -1 dan gambar silang sejumlah data sebagai kelas 1 yang dipisahkan oleh hyperplane .

## Gambar 3. Support Vector Machine Hyperplane
Dalam penelitian ini akan digunakan lebih dari 2 kelas sentimen akibatnya SVM hyperplane dengan kernel linear tidak cocok digunakan. Hal tersebut dapat diatasi dengan menggunakan kernel non-linear dengan memanfaatkan kernel trick[10].  Pendekatan SVM One against Rest membangun klasifikasi sebanyak k-kelas, lalu mengevaluasi satu kelas dari semua kelas yang ada. Fungsi kernel yang digunakan adalah fungsi kernel RBF(Radial Basis Fuction)[11]  karena memiliki performansi yang paling baik dibandingkan dengan kernel linier pada parameter tertentu maupun kernel polynomial[12]. Berikut persamaan dari setiap kernel dapat dilihat pada tabel 1.

## TABEL I PARAMETER K ERNEL S VM

## I. Pengujian Data Training
Pengujian data training dilakukan  untuk mengetahui hasil dan performa machine learning dengan menggunakan K-fold cross validation. K-Fold Cross Validation adalah metode untuk memisahkan data dengan sebagian terdapat label sebagai data training dan sebagian dihapus labelnya sebagai data testing lalu membagi data secara acak sebanyak N untuk dilakukan pengujian sebanyak N kali[13].

## J. Pengujian Data Testing
Pengujian data training akan menggunakan confusion matrix. Confusion matrix adalah tool yang digunakan sebagai evaluasi model klasifikasi untuk memperkirakan objek yang benar atau salah.

## Gambar 4. Confusion Matrix
Parameter pengukuran digunakan untuk mengevaluasi performansi dari model yang telah dibuat. Metode Text Classification bisa dievaluasi dengan menggunakan accuracy, precision, recall, dan f1-score . Akurasi didefinisikan sebagai tingkat kedekatan antara nilai prediksi dan nilai aktual. Precision adalah tingkat ketepatan antara informasi yang diminta oleh pengguna dengan jawaban yang diberikan oleh sistem. Sedangkan Recall adalah persentase keberhasilan sistem dalam menemukan kembali sebuah inform[14]. F1 Score merupakan harmonic mean dari nilai recall dan precision ini perhitungan ini berguna untuk mengetahui seberapa presisi dan handalnya performa system dalam mengklasifikasikan kelas[15]. Berikut rumus untuk menghitung accuracy, precision, recall, dan f1-score .
Accuracy = 𝑇𝑇𝑇𝑇+𝑇𝑇𝑇𝑇 𝑇𝑇𝑇𝑇+𝑇𝑇𝑇𝑇+𝐹𝐹𝑇𝑇+𝐹𝐹𝑇𝑇 (1) Precision = 𝑇𝑇𝑇𝑇 𝑇𝑇𝑇𝑇+𝐹𝐹𝑇𝑇 (2) Recall  = 𝑇𝑇𝑇𝑇 𝑇𝑇𝑇𝑇+𝐹𝐹𝑇𝑇 (3)
F1-Score = 2 ( 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑥𝑥 𝑝𝑝𝑝𝑝𝑝𝑝𝑟𝑟𝑟𝑟𝑟𝑟 ) ( 𝑇𝑇𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝+𝑝𝑝𝑝𝑝𝑝𝑝𝑟𝑟𝑟𝑟𝑟𝑟 )
(4)

## K. Arsitektur Sistem

## Gambar 5. Arsitektur Sistem
Dapat dilihat gambar 5 arsitektur sistem pada penelitian ini  diawali dengan scraping data tweets dan seleksi data tweets, yang selanjutnya pada proses sentiment analysis data tweets yang masih berupa data tidak terstruktur akan diubah menjadi data terstruktur. Dataset A dan dataset B yang tidak imbang akan di resampling dengan ROS & RUS, model skenario akan di uji dengan 10 fold cross validation untuk mencari performa data. Hasil dari data testing akan dilihat performanya dengan menggunakan confusion matrix . Penelitian ini akan mengimplementasikan aplikasi machine learning generik yang dapat memprediksi teks yang diinputkan ke dalam 3 kelas sentiment yaitu positif, netral, dan negatif.

## III. H ASIL DAN P EMBAHASAN
Hasil dari tahapan –  tahapan seperti pengumpulan & seleksi data, text preprocessing , pelabelan, pembobotan, metode resampling, pemodelan, dan pengujian dalam membangun mesin learning pada penelitian ini akan dipaparkan berupa gambar, tabel, atau grafik.

## A. Pengumpulan & Seleksi Data
Data tweets yang diambil menggunakan twitter API discraping dari bulan maret –  september dan diseleksi secara manual untuk mencari tweets yang sesuai dengan jumlah total 5.694 data tweets . Hasil dari tweets yang discraping dan diseleksi dapat dilihat pada gambar 6.
Kernel Persamaan Linear 𝐾𝐾 ( 𝑥𝑥 𝑝𝑝 , 𝑥𝑥 )= 𝑥𝑥 𝑝𝑝 𝑇𝑇 𝑥𝑥 Polynomial 𝐾𝐾 ( 𝑥𝑥 𝑝𝑝 , 𝑥𝑥 )=( 𝛾𝛾 . 𝑥𝑥 𝑝𝑝 𝑇𝑇 𝑥𝑥 + 𝑟𝑟 ) 𝑝𝑝 , 𝛾𝛾 >0 RBF
𝐾𝐾 ( 𝑥𝑥 𝑝𝑝 , 𝑥𝑥 )=exp(− 𝛾𝛾 | 𝑥𝑥 𝑝𝑝 − 𝑥𝑥 | 2 ), 𝛾𝛾 >0 Sigmoid 𝐾𝐾 ( 𝑥𝑥 𝑝𝑝 , 𝑥𝑥 )= 𝑡𝑡𝑡𝑡𝑡𝑡 ℎ ( 𝛾𝛾𝑥𝑥 𝑝𝑝 𝑇𝑇 𝑥𝑥 + 𝑟𝑟 )

## Gambar 6. Hasil Scraping

## B. Dataset
Hasil dataset yang telah dikumpulkan akan dijadikan data training & data testing pada penelitian ini, penelitian ini menggunakan 2 dataset yaitu dataset A dan dataset B (parameter + kata independen) dapat dilihat pada gambar 7 dan tabel 2.
Gambar 7. Jumlah Dataset TABEL II
J UMLAH D ATASET

## C. Text Preprocessing
Hasil text preprocessing yang memiliki tahapan cleaning , case folding , normalisasi, tokenisasi, stemming , stopword dan hasil akhir dimasukkan dalam tabel rejoin dapat dilihat pada tabel 3.
TABEL III
TEXT P REPROCESSING
Tweets
Text preprocessing b Trima kasih pak presiden Joko Widodo saya sudah melaksanakan vaksin dosis pertama di bln Juli untk vaksin tahap ke dua sampe hr ni blm mendapatkan karenaminimnya info vaksin saya dari kota kecamatan bumiayu brebes jawa tengah vaksin covid Cleaning
b trima kasih pak presiden joko widodo saya sudah melaksanakan vaksin dosis pertama di bln juli untk vaksin tahap ke dua sampe hr ni blm mendapatkan karenaminimnya info vaksin saya dari kota kecamatan bumiayu brebes jawa tengah vaksin covid Case folding
b terima kasih kasih pak presiden jokowi widodo saya sudah melaksanakan vaksin dosis pertama di bulan juli untuk vaksin tahap ke dua sampai hari ini belum mendapatkan karena minimnya informasi vaksin saya dari kota kecamatan bumiayu brebes jawa tengah vaksin covid Normalisasi ['b', 'terima', 'kasih', 'kasih', 'pak', 'presiden', 'jokowi', 'widodo', 'saya', 'sudah', 'melaksanakan', 'vaksin', 'dosis', 'pertama', 'di', 'bulan', 'juli', 'untuk', 'vaksin', 'tahap', 'ke', 'dua', 'sampai', 'hari', 'ini', 'belum', 'mendapatkan', 'karena', 'minimnya', 'informasi', 'vaksin', 'saya', 'dari', 'kota', 'kecamatan', 'bumiayu', 'brebes', 'jawa', 'tengah', 'vaksin', 'covid'] Tokenisasi ['b', 'terima', 'kasih', 'kasih', 'pak', 'presiden', 'jokowi', 'widodo', 'saya',  'sudah', 'laksana', 'vaksin', 'dosis', 'pertama', 'di', 'bulan', 'juli', 'untuk', 'vaksin', 'tahap', 'ke', 'dua', 'sampai', 'hari', 'ini', 'belum', 'dapat', 'karena', 'minim', 'informasi', 'vaksin', 'saya', 'dari', 'kota', 'camat', 'bumiayu', 'brebes', 'jawa', 'tengah', 'vaksin', 'covid'] Stemming ['terima', 'kasih', 'kasih', 'presiden', 'jokowi', 'widodo', 'laksana', 'vaksin', 'dosis', 'juli', 'vaksin', 'tahap', 'minim', 'informasi', 'vaksin', 'kota', 'camat', 'bumiayu', 'brebes', 'jawa', 'vaksin', 'covid'] Stopword terima kasih kasih presiden jokowi widodo laksana vaksin dosis juli vaksin tahap minim informasi vaksin kota camat bumiayu brebes jawa vaksin covid Rejoin

## D. Pelabelan
Hasil dataset yang ditranslate lalu diinisialisasi dengan tweets asli kemudian discoring untuk dilabeli dapat dilihat pada gambar 8. Untuk jumlah masing – masing sentimen data pada label ditampilkan pada gambar 9 dan tabel 4.
Gambar 8. Jumlah Dataset Gambar 9. Jumlah Dataset Parameter  Dataset A Dataset B lockdown 652
205 PSBB 351 132 PPKM 1550 297 Vaksin 3141 381 Total 5694 1015
TABEL IV J UMLAH D ATASET Kelas Sentimen Dataset A Dataset B Positif 2153 283 Netral 2193 560 Negatif 1348 172 Total 5694 1015 E. Pembobotan
Hasil pembobotan TF –  IDF berupa index document, index word , dan TF – IDF score ditampilkan pada gambar 10.

## Gambar 10. Pembobotan TF-IDF

## F. Resampling
Hasil resampling menggunaan 2 dataset berbeda dengan mengujikan masing –  masing dataset pada 2 metode resampling yaitu ROS & RUS.  pada gambar 11  dan gambar 12 sampel kelas sentiment netral dari dataset A memiliki jumlah dominan atau bisa disebut sebagai sampel mayoritas  sebanyak 2193 dan pada dataset B memiliki jumlah kelas mayoritas sebanyak 506, maka metode resampling Random Over Sampler (ROS) ini mengubah kelas minoritas negatif dan positif menjadi setara dengan menduplikasi sampel negatif dan positif secara acak. Pada gambar 13  dan 14 gambar Sampel kelas sentiment negatf dari dataset A memiliki jumlah sedikit atau bisa disebut sebagai sampel minoritas sebanyak 1348 dan pada dataset B memiliki jumlah kelas mayoritas sebanyak 172 , maka metode resampling Random Under Sampler (RUS) ini mengubah kelas mayortias negatif dan positif menjadi setara denganmenghilangkan sampel negatif dan positif secara acak.
Gambar 11. Jumlah Dataset Gambar 12. Jumlah Dataset
Gambar. 13 Jumlah Dataset Gambar. 14 Jumlah Dataset

## G. Pengujian Training
Hasil pengujian menggunakan 10 fold cross validation dengan 6 skenario berbeda dapat dilihat pada tabel 4.4. Dari tabel 4.4, ditampilkan hasil rata –  rata (mean) dari 6 skenario yang berbeda dengan menggunakan 10 fold cross validation. Skenario 1 dengan menggunakan (dataset A + default resampling) didapatkan hasil accuracy 77,33 % dan precision 78,06 % . Skenario 2 dengan menggunakan (dataset A + ROS) didapatkan hasil accuracy 81,59% dan precision 81,92 %. Skenario 3 dengan menggunakan (dataset A + RUS) didapatkan hasil accuracy 73,57 % dan precision 73,78%. Skenario 4 dengan menggunakan dataset (dataset B + default resampling) didapatkan hasil accuracy 74,51 % dan precision 80,99 %. Skenario 5 dengan menggunakan (dataset B + ROS) didapatkan hasil accuracy 88,69 % dan presicion 89,55 %. Skenario 6 dengan menggunakan (dataset B + RUS) didapatkan hasil accuracy 61,78 % dan precision 73,05 %. Berdasarkan hasil pengujian data training didapatkan sebuah point yang dapat diambil.
1) Skenario dengan menggunakan metode resampling ROS memiliki kenaikan nilai accuracy dan precision, sedangkan Skenario dengan menggnakan metode resampling RUS memiliki penurunan nilai accuracy dan precision.
2) Skenario 5 memiliki nilai pengujian data training paling baik dengan nilai accuracy 88,69 % dan precision 89,55 %. Skenario 6 memiliki nilai pengujian data training terburuk dengan nilai accuracy 61,78 % dan precision 73,05 %.
TABEL V
J UMLAH D ATASET Skenario Dataset Model Resampling  Accuracy Precision 1 Dataset A Default 76,94 % 78,06 % 2 Dataset A ROS 81,59 % 81,92 % 3 Dataset A RUS 73,57 % 73,78 % 4 Dataset B Default 74,51 % 80,99 % 5 Dataset B ROS 88,69 % 89,55 % 6 Dataset B RUS 61,78 % 73,05 %

## H. Pengujian Data Testing
Pengujian Data Testing dilakukan pada 6 skenario yang berbeda menggunakan confusion matrix dengan menguji performa model accuracy, precision, recall, dan fi-score . Setiap skenario diprediksi dan didapatkan nilai performa model yang dapat dilihat pada tabel  4.5  dan hasil dari prediksi confusion matrix dapat dilihat pada gambar 15,16, 17, 18, 19 , 20. Dari tabel 4.5 ditampilkan hasil pengujian data testing dengan confusion matrix berupa accuracy, precision, recall, dan f1-score . Berdasarkan hasil nilai pengujian data testing dapat diambil beberapa point.
1) Skenario 1 (dataset A + default resampling) memiliki nilai accuracy sebesar 77,00 %, precision 78,37 % dan skenario 4 (dataset B + default resampling) memiliki nilai accuracy sebesar 81,64 %, precision 89,16 %. 2) Skenario 2 (dataset A + ROS) memiliki nilai accuracy sebesar 81,56 %, precision 81,86 % dan Skenario 3 (dataset A + RUS) memiliki nilai accuracy sebesar 74,63 %, precision 74,74 %.
3) Skenario 5 (dataset B + ROS) memiliki nilai accuracy sebesar 90,08 %, precision 90,39 % dan Skenario 6 (dataset B + RUS) memiliki nilai accuracy sebesar 61,94 %, precision 67,66 %
4) Skenario 5 (dataset B + ROS) memiliki nilai paling baik dengan accuracy sebesar 90,39 %, precision 90,39 % dan Skenario 6 (dataset B + RUS) memiliki nilai paling buruk dengan accuracy sebesar 61,94 %, precision 67,66 %. 5) Resampling ROS dan RUS yang mengurangi dan menambah jumlah kelas menjadi seimbang pada kelas minoritas/mayoritas menjadi faktor menurun dan meningkatnya nilai accuracy dan precision.
6)  Pada penelitian ini membuktikan memiliki hasil accuracy dan precision yang lebih baik dari penelitian dengan topik yang sama oleh Naraswati dengan klasifikasi naïve bayes. Dimana Naraswati dengan klasifikasi Naïve Bayes memiliki nilai accuracy 87,34 % dan penelitian ini dengan klasifikasi SVM (Support Vector Machine) memiliki nilai accuracy terbaik 90,39 %. Dapat diambil kesimpulan bahwa klasifikasi dengan algoritma SVM pada topik kinerja Presiden memiliki performa mesin yang lebih baik dalam pengklasifikasian.
TABEL VI J UMLAH D ATASET model Sk 1 Sk 2 Sk 3 Sk 4 Sk 5 Sk 6 akurasi  77,00 % 81,56 % 74,63 % 81,64 % 90,08 % 61,94 % Presisi 78,37 % 81,86 % 74,74 % 89,16 % 90,39 % 67,66 % Recall 75,16 % 81,56 % 74,64 % 72,35 % 89,90 % 63,68 % F1- score 76,03 % 81,56 % 74,68 % 77,31 % 89,99 % 62,04 %

## I. Analisis Hasil Pengujian
Skenario yang sudah melewati pengujian data training dan pengujian data testing akan di cek apakah model yang telah dibuat mengalami overfitting . Overfitting terjadi ketika model fokus kepada dataset tertentu sehingga tidak bisa memprediksi dataset lain yang serupa secara tepat, overfitting secara umum akan menangkap data noise yang
seharusnya diabaikan dan overfitting model akan memiliki nilai akurasi data training lebih tinggi dari nilai akurasi pada data testing yang lebih rendah.  Pada tabel 4.6 ditampilkan hasil data training dan data testing tiap scenario, dari table dapat diambil kesimpulan sebagai berikut.
1) Skenario 1 (dataset A + default resampling dan skenario 4 (dataset B + default resampling) memiliki nilai training dan nilai testing yang baik namun memiliki jumlah kelas yang tidak seimbang.
2) Skenario 2 dan 5 yang menggunakan model resampling ROS memiliki hasil training dan testing yang baik, namun perbandingan hasil menunjukkan skenario 2 termasuk model overfitting . 3)  Skenario 3 dan 6 yang menggunakan model resampling RUS memiliki hasil training dan testing yang lebih rendah dari skenario lain. Skenario 6 dengan model resampling RUS tidak menunjukkan model overfittng pada nilai accuracy namun nilai precision menunjukkan skenario 6 memiliki model yang overfitting.
4) Metode resampling disimpulkan tidak efektif digunakan pada Skenario 2 dan Skenario 6 karena memiliki nilai training dan testing yang overfitting . 5) Skenario 2 dan 5 disimpulkan efektif menggunakan metode resampling karena berhasil mengatasi masalah imbalance dataset dan tidak mengalami model yang overfitting.
6) Skenario 5 yang memiliki nilai training dan testing paling baik akan digunakan pada penelitian ini sebegai model untuk membangun aplikasi generik.

## TABEL VII
J UMLAH D ATASET SK Pengujian Data Training Pengujian Data Testing Kesimpulan Accuracy  Precision Accuracy  Precision 1 76,94 % 78,06 % 77,00 % 78,37 % Not Overfit 2 81,59 % 81,92 % 81,56 % 81,86 % Overfit 3 73,57 % 73,78 % 74,63 % 74,74 % Not Overfit 4 74,51 % 80,99 % 81,64 % 89,16 % Not Overfit 5 88,69 % 89,55 % 90,08 % 90,39 % Not Overfit 6 61,78 % 73,05 % 61,94 % 67,66 % Overfit

## J. Implementasi Aplikasi Generik
Aplikasi generik yang dibangun menggunakan model skenario 5 yang memiliki nilai pengujian paling tinggi, dimana model skenario 5 menggunakan dataset B dengan metode resampling ROS. Aplikasi generik digunakan untuk memprediksi sentimen secara otomatis, teks  yang diinputkan akan diprediksi secara polarity oleh model klasifikasi kemudian ditampilkan teks tersebut bersentimen positif, netral, atau negatif. Aplikasi generik dapat dilihat pada gambar 4.19.

## Gambar 15. Aplikasi Generik

## K. Analisis Hasil Pengujian Aplikasi
Pengujian dilakukan dengan 20 kalimat yang diambil dari sumber yang berbeda 10 kalimat pertama diambil dari dataset A dan 10 kalimat selanjutnya diambil dari twitter. Pengujian 10 kalimat menggunakan sumber dataset A didapatkan hasil 4 sentimen netral, 3 sentimen negatif, dan 3 sentimen positif. Pengujian 10 kalimat menggnakan sumber twitter didapatkan hasil 6 sentimen netral, 1 sentimen negatif, dan 3 sentimen positif. Dari 20 kalimat yang diujikan pada aplikasi disimpulkan bahwa aplikasi cenderung didominasi oleh prediksi sentimen netral dengan total 10 kalimat netral sedangkan sentiment negatif sebanyak 4 kalimat dan sentiment positif sebanyak 6.

## IV. K ESIMPULAN
Berdasarkan penelitian yang telah dilakukan dapat disimpulkan sebagai berikut.
1) Penelitian yang telah dilakukan menunjukkan bahwa penelitian ini dapat membangun sentiment analysis machine sehinga dapat melakukan kategorisasi teks terhadap kinerja presiden pada penanganan covid-19 ke dalam kelas sentimen positif, netral, dan negatif. 2) Pada penelitian ini dapat disimpulkan metode resampling yang digunakan pada 2 dataset dapat mengatasi sebuah masalah imbalanced data dan meningkatkan performa mesin dengan menggunakan metode ROS sedangkan menurunkan performa mesin dengan menggunakan metode RUS.
3) Skenario 2 (dataset A + ROS) dan skenario 6 (dataset B + RUS) mempunyai model yang overfitting, salah satu faktor yang mempengaruhi terjadinya overfitting adalah pemilihan metode resampling yang tidak cocok. 4) Skenario 3 (dataset A + RUS) dan skenario 5(dataset B + ROS) disimpulkan merupakan metode resampling yang tepat digunakan karena mengatasi masalah imbalanced data dan skenario 5 mengalami peningkatan performa mesin.
5) Dari pengujian prediksi kalimat pada aplikasi yang dibangun dengan model skenario 5(dataset B + ROS) dapat disimpulkan bahwa pada penelitian ini memiliki hasil sentimen netral yang dominan dari sentimen negatif maupun positif.

## D AFTAR P USTAKA
[1] A. F. Hidayatullah and S. N. Azhari, “Analisis Sentimen Dan Klasifikasi Kategori Terhadap Tokoh Publik Pada Data Twitter
Menggunakan Naive Bayes Classifier,” vol. 2014, no. semnasIF, pp. 1–8, 2014.
[2] L. B. Ilmawan and M. A. Mude, “Perbandingan Metode Klasifikasi Support Vector Machine dan Naïve Bayes untuk Analisis Sentimen pada Ulasan Tekstual di Google Play Store,” Ilk. J. Ilm. , vol. 12, no. 2, pp. 154–161, 2020, doi: 10.33096/ilkom.v12i2.597.154-161. [3] I. M. Parapat, M. T. Furqon, and Sutrisno, “Penerapan Metode Support Vector Machine ( SVM ) Pada Klasifikasi Penyimpangan Tumbuh Kembang Anak,” J. Pengemb. Teknol.
Inf. dan Ilmu Komput. , vol. 2, no. 10, pp. 3163–3169, 2018,
[Online]. Available: https://j-ptiik.ub.ac.id/index.php/j- ptiik/article/view/2577.
[4] R. E. Putri, Suparti, and R. Rahmawati, “Perbandingan Metode Klasifikasi Naãve Bayes Dan K-Nearest Neighbor Pada Analisis Data Status Kerja Di Kabupaten Demak Tahun 2012,”
J. Gaussian , vol. 3, no. 4, pp. 831–838, 2014.
[5] W. A. Luqyana, I. Cholissodin, and R. S. Perdana, “Analisis Sentimen Cyberbullying Pada Komentar Instagram dengan Metode Klasifikasi Support Vector Machine,” J. Pengemb. Teknol. Inf. dan Ilmu Komput. Univ. Brawijaya , vol. 2, no. 11, pp. 4704–4713, 2018.
[6] A. Syukron and A. Subekti, “Penerapan Metode Random Over- Under Sampling dan Random Forest Untuk Klasifikasi Penilaian Kredit,” J. Inform. , vol. 5, no. 2, pp. 175–185, 2018, doi: 10.31311/ji.v5i2.4158.
[7] E. Irawan and R. S. Wahono, “Penggunaan Random Under Sampling untuk Penanganan Ketidakseimbangan Kelas pada Prediksi Cacat Software Berbasis Neural Network,” J. Softw. Eng. , vol. 1, no. 2, pp. 92–100, 2015.
[8] G. A. Buntoro, “Analisis Sentimen Calon Gubernur DKI Jakarta 2017 Di Twitter,” vol. 2, no. 1, pp. 32–41, 2017.
[9] M. S. Utomo, “Implementasi Stemmer Tala pada Aplikasi Berbasis Web,” J. Teknol. Inf. Din. , vol. 18, no. 1, pp. 41–45,
2013.
[10] H. C. Husada and A. S. Paramita, “Analisis Sentimen Pada Maskapai Penerbangan di Platform Twitter Menggunakan Algoritma Support Vector Machine (SVM),” Teknika , vol. 10,
no. 1, pp. 18–26, 2021, doi: 10.34148/teknika.v10i1.311.
[11] M. . Imelda A.Muis & Muhammad Affandes, “Penerapan Metode Support Vector Machine ( SVM ) Menggunakan Kernel Radial Basis Function ( RBF ) Pada Klasifikasi Tweet,” Sains,
Teknol. dan Ind. Sultan Syarif Kasim Riau , vol. 12, no. 2, pp. 189–197, 2015.
[12] E. E. Pratama and B. R. Trilaksono, “Klasifikasi Topik Keluhan Pelanggan Berdasarkan Tweet dengan Menggunakan Penggabungan Feature Hasil,” J. Edukasi dan Penelit. Inform. , vol. 1, no. 2, pp. 53–59, 2015.
[13] S. Hikmawan, A. Pardamean, and S. N. Khasanah, “Sentimen Analisis Publik Terhadap Joko Widodo terhadap wabah Covid- 19 menggunakan Metode Machine Learning,” J. Kaji. Ilm. , vol. 20, no. 2, pp. 167–176, 2020, doi: 10.31599/jki.v20i2.117.
[14] and J. P. J. Han, Micheline Kamber, Data mining: Data mining concepts and techniques . 2014.
[15] D. Alita, Y. Fernando, and H. Sulistiani, “Implementasi Algoritma Multiclass Svm Pada Opini Publik Berbahasa Indonesia Di Twitter,” J. Tekno Kompak , vol. 14, no. 2, p. 86, 2020, doi: 10.33365/jtk.v14i2.792.