Anda di halaman 1dari 72

ABSTRAK

Coronavirus atau biasa dikenal dengan Covid-19 merupakan wabah


penyakit baru yang ditemukan pada akhir tahun 2019. Salah satu strategi
pemerintah Indonesia dalam menghentikan penyebaran Covid -19 adalah dengan
memanfaatkan teknologi yaitu membuat sebuah aplikasi PeduliLindungi untuk
menelusuri Contact Tracing & Tracking demi memperkuat upaya penurunan
penyebaran Covid-19. Review atau ulasan dari pengguna aplikasi PeduliLindungi
sangat beragam ada yang positif dan negatif . Ulasan tersebut akan digunakan
sebagai data pada penelitian Implementasi Metode Naïve Bayes pada Analisis
Sentimen Aplikasi PeduliLindungi. Dengan adanya penelitian ini, ulasan dapat
diklasifikasikan kedalam kelsa negative dan positif secara otomatis dengan
menggunakan metode Naïve Bayes. Hal ini terbukti dengan perolehan nilai nilai
akurasi sebesar 87,16% . precision 66,66%, recall 97,29% dan f1-score 79.12%.
Kata Kunci: Covid-19,PeduliLindungi,Naïve Bayes, Analisis Sentimen

i
KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa karena atas
berkat dan rahmat-Nya penulis dapat menyelesaikan skripsi dengan judul,
”Implementasi Metode Naïve Bayes pada Analisis Sentimen Aplikasi
PeduliLindungi”, secara baik guna memenuhi syarat untuk memperoleh gelar
Sarjana Program Studi Teknik Informatika pada Fakultas Ilmu Komputer
Universitas Methodist Indonesia.
Penyusunan skripsi ini penulis banyak menerima dukungan, bimbingan dan
nasihat dari berbagai pihak. Oleh karena itu, dengan segala kerendahan hati penulis
ingin mengucapkan terimakasih sebesar-besarnya kepada :
1. Bapak Drs. Humuntal Rumapea, M.Kom, selaku Rektor Universitas
Methodist Indonesia
2. Bapak Naikson F. Saragih, ST ., M.Kom, selaku Dekan Fakultas Ilmu
Komputer Universitas Methodist Indonesia
3. Bapak Indra M Sarkis, ST., M.Kom, selaku Wakil Dekan I Fakulas Ilmu
Komputer Universitas Methodist Indonesia
4. Ibu Yolanda Rumapea S.Kom ., M.Kom, Selaku Wakil Dekan II Fakultas
Ilmu Komputer Universitas Methodis Indonesia sekaligus pembimbing II,
yang telah banyak memberikan masukan serta meluangkan waktu untuk
membimbing penulis.
5. Bapak Surianto Sitepu, ST., MT ,selaku Wakil Dekan III Fakulas Ilmu
Komputer Universitas Methodist Indonesia
6. Bapak Indra Kelana Jaya S.T ., M.Kom, Selaku Ketua Program Studi Teknik
Informatika Fakultas Ilmu Komputer Universitas Methodist Indonesia
sekaligus Pembanding I, atas saran dan masukan yang diberikan untuk
perbaikan penulisan skripsi
7. Ibu Imelda Sinaga, S.Si .,M.Kom, Selaku Pembimbing I, yang telah banyak
memberikan masukan serta meluangkan waktu untuk membimbing penulis.
8. Bapak Harlen Manullang S.Kom ., M.kom, Selaku Pembanding II , atas saran
dan masukan yang diberikan untuk perbaikan penulisan skripsi.

ii
9. Kepada seluruh Bapak/Ibu dosen dan staff Fakultas Ilmu Komputer
Universitas Methodist Indonesia yang senantiasa memberikan ilmu dan
nasihatnya dari awal perkuliahan hingga penulis dapat menyelesaikan skripsi
ini.
10. Kepada orang tua saya Bapak Arman Ludin Siagian dan Mama Epi Sahriani
Sinaga, keempat adik-adik saya Lola Novita Siagian, Dhea Basania Marito
Siagian, Nadin Leanito Siagian, Joshua Napandri Siagian serta keluarga besar
saya. Saya ucapkan Terimakasih yang sebesar-besarnya atas segala dukungan
yang telah diberikan , baik dalam bentuk moril dan materil serta doa yang
senantiasa diucapkan yang sangat berpengaruh kepada penulis dalam
menyelesaikan skripsi ini. Semoga saya dapat mampu membahagiakan dan
membalas kebaikan kalian semua,
11. Kepada sahabat-sahabat seperjuangan Dian Putri Purba, Pratiwi Manullang,
Jeremia Aldo ,Nadia Utri dan Nadia Verona ,yang selalu memberikan
dukungan kepada penulis.
12. Kepada sahabat sahabat penulis yang tidak tersebut satu per satu yang sudah
fast respon kalau keadaan urgent.
13. Last but not least ,I thank myself for never quitting do all the hard work.

Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan Oleh
karena itu dengan segala kerendahan hati penulis mohon maaf atas segala
kekurangan dan penulis sangat mengharapkan adanya kritik dan saran yang bersifat
membangun guna menyempurnakan penelitian ini. Akhir kata, penulis ucapkan
terimakasih dan semoga skripsi ini dapat memberikan manfaat bagi semua pihak
yang membaca.

Medan, November 2022

Meilany Gresia Siagian


NIM : 218510107

iii
DAFTAR ISI

KATA PENGANTAR...................................................................................... ii
DAFTAR ISI................................................................................................... iv
DAFTAR GAMBAR ..................................................................................... vii
DAFTAR TABEL......................................................................................... viii
BAB I PENDAHULUAN .................................................................................. 1
1.1 Latar Belakang Masalah....................................................................... 1
1.2 Rumusan Masalah................................................................................ 2
1.3 Batasan Masalah .................................................................................. 2
1.4 Tujuan dan Manfaat Penelitian ............................................................. 2
1.4.1 Tujuan Penelitian .......................................................................... 2
1.4.2 Manfaat Penelitian ........................................................................ 3
1.5 Sistematika Penelitian .......................................................................... 3
BAB II TINJAUAN PUSTAKA ........................................................................ 4
2.1 Metode Yang Digunakan ..................................................................... 4
2.1.1 Algoritma Naïve Bayes................................................................. 4
2.1.1.1 Karakteristik Naïve Bayes.......................................................... 6
2.1.2 Term Frequency (TF).................................................................... 6
2.1.3 Text Mining .................................................................................. 7
2.1.4 Preprocessing............................................................................... 8
2.1.5 Analisis Sentimen ......................................................................... 9
2.1.6 Confusion Matrix ........................................................................ 10
2.1.7 Scrapping ................................................................................... 12
2.1.8 Visualisasi.................................................................................. 12
2.2 Literature Review .............................................................................. 12
2.3 Tools Perancangan............................................................................. 15
2.3.1 Anaconda ................................................................................... 15
2.3.2 Python........................................................................................ 16
2.3.3 Jupyter Notebook........................................................................ 16
2.3.4 Flowchart ................................................................................... 17
BAB III METODE PENELITIAN ................................................................... 19

iv
3.1 Tinjauan Umum Objek Penelitian....................................................... 19
3.2 Analisis Sistem .................................................................................. 20
3.3 Framework Penelitian ........................................................................ 20
3.3.1 Pengumpulan Data...................................................................... 22
3.3.2 Teknik Pelabelan Sentimen ......................................................... 22
3.3.3 Tahapan Preprocessing ............................................................... 25
3.3.4 Tahapan Pembobotan dengan term Frequency (TF) ..................... 32
3.3.5 Tahapan Pemodelan Klasifikasi Naïve Bayes............................... 34
3.3.6 Tahapan Pengujian...................................................................... 35
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ................................. 38
4.1 Pengujian Sistem ............................................................................... 38
4.2 Evaluasi Hasil.................................................................................... 39
4.2.1 Visualisasi.................................................................................. 42
BAB V KESIMPULAN DAN SARAN ............................................................ 44
5.1 Kesimpulan ....................................................................................... 44
5.2 Saran ................................................................................................. 44
DAFTAR PUSTAKA ......................................................................................... i
LISTING PROGRAM ....................................................................................... 1

v
DAFTAR GAMBAR

Gambar 2.1 Proses Text Mining ................................................................. 8


Gambar 2.2 Tabel Confusion Matrix ......................................................... 10
Gambar 2.3 Icon Anaconda....................................................................... 16
Gambar 3.1 Logo Aplikasi PeduliLindungi ................................................ 20
Gambar 3. 2 Flowchart Analisis Sentimen ................................................. 21
Gambar 3.4 Flowchart Preprocessing........................................................ 25
Gambar 4. 1 Tampilan Sistem Analsis Sentimen........................................ 38
Gambar 4. 2 Hasil Confusion Matrix ......................................................... 39
Gambar 4. 3 Hasil Classification Report .................................................... 41
Gambar 4. 4 Tampilan wordcloud label Positif.......................................... 42
Gambar 4. 5 Tampilan wordcloud Label Negatif ....................................... 42

vii
DAFTAR TABEL

Tabel 2.1 Simbol Flowchart ...................................................................... 17


Tabel 3. 1 Kumpulan kata positif dan negatif ............................................ 23
Tabel 3.2 Data Latih .................................................................................. 24
Tabel 3.4 Hasil Cleanning.......................................................................... 26
Tabel 3.5 Hasil Casefolding....................................................................... 27
Tabel 3.6 Hasil Tokenizing ........................................................................ 28
Tabel 3. 7 Hasil Stopword Removal .......................................................... 30
Tabel 3. 8 Hasil Stemming ......................................................................... 31
Tabel 3. 9 Hasil Pembobotan dengan Term Frequency ............................. 32
Tabel 3.10 Nilai Probabilitas setiap Fitur pada setiap Kelas ....................... 34
Tabel 3.11 Data Uji ................................................................................... 36
Tabel 3.12 Hasil Klasifikasi Data Uji......................................................... 37

viii
BAB I
PENDAHULUAN

1.1 Latar Belakang Masalah

Coronavirus atau biasa dikenal dengan Covid-19 merupakan wabah penyakit


baru yang ditemukan pada akhir tahun 2019 Penyebaran virus Covid -19 sangat
cepat sehingga pada tanggal 11 Maret 2020 WHO (World Health Organization)
mendeklarasikan virus Covid-19 sebagai pandemic global. Di Indonesia juga
tercatat 743.198 kasus positif dan 22.138 kasus meninggal hingga 31 Desember
2020.
Salah satu strategi pemerintah Indonesia dalam menghentikan penyebaran
Covid-19 adalah dengan memanfaatkan teknologi yaitu membuat sebuah aplikasi
PeduliLindungi merupakan sebuah aplikasi untuk menelusuri Contact Tracing &
Tracking demi memperkuat upaya penurunan penyebaran Covid-19. Aplikasi
PeduliLindungi dapat diakses melalui Google Play Store. Hal yang menarik dari
Google Play Store adalah adanya sebuah fitur yang dapat berisi ulasan atau review
dari penggunanya.
Review atau ulasan para pengguna terhadap aplikasi PeduliLindungi sangat
beragam. Ada yang menyatakan aplikasi PeduliLindungi bermanfaat dan ada pula
yang menyatakan berbagai keluhan terkait kinerja aplikasi tersebut. Tentunya,
review dari pengguna inilah yang dapat digunakan sebagai salah satu bahan
evaluasi untuk meningkatkan kualitas layanan. Untuk menganalisis ulasan tersebut
bukanlah hal yang mudah, karena jumlah ulasan yang dimuat umumnya berjumlah
sangat banyak apabila diproses secara manual. Karena itu dibutuhkan sebuah
metode dalam menganalisis sentiment dimana prosesnya yaitu mengklasifikasikan
ulasan tersebut pada kelas positif dan negative kemudian melakukan ekstraksi
informasi untuk mendapatkan informasi dari setiap kelas.
Pada penelitian mengenai Naïve Bayes sebelumnya yang berjudul Analisis
Sentimen Publik dari Twitter tentang Kebijakan Penanganan Covid-19 Indonesia
dengan Naïve Bayes Classification menyimpulkan bahwa Naïve Bayes
Classification memperoleh tingkat akurasi sebesar 87,34% sentivitas sebesar

1
2

93,43% dan spesifitas 71,76% yang berarti metode ini sudah cukup baik dalam
mengklasifikasikan sentimen negatif maupun positif (Naraswati et al., 2021)
Berdasarkan uraian diatas, maka peneliti tertarik ingin melakukan penelitian
dengan judul “Implementasi Metode Naïve Bayes dalam Analisis Sentimen
Aplikasi PeduliLindungi”.

1.2 Rumusan Masalah

Berdasarkan hasil pemaparan latar belakang diatas, dirumuskan


permasalahan bagaimana menganalisis opini pengguna Aplikasi PeduliLindungi
menggunakan sebuah metode.

1.3 Batasan Masalah

Agar penelitian yang dilakukan lebih terarah dan mencapai tujuan yang
ditentukan maka diperlukan pembatasan masalah. Batasan masalah tersebut adalah:
1. Data yang dianalisis berdasarkan ulasan pengguna Aplikasi PeduliLindungi
pada Google Play Store
2. Data yang digunakan sebanyak 745 data dan pengumpulan data dilakukan
dengan teknik Scrapping.
3. Data yang digunakan diambil dari tanggal 12 September 2022 sampai 14 -
September 2022
4. Ulasan yang akan diambil menggunakan Bahasa Indonesia
5. Metode analisis sentimen yang digunakan adalah metode Naïve Bayes.

1.4 Tujuan dan Manfaat Penelitian

Adapun tujuan dan manfaat penelitian ini adalah :

1.4.1 Tujuan Penelitian

Adapun tujuan penelitian ini adalah untuk mengklasifikasikan opini negatif


dan opini positif dari ulasan pengguna Aplikasi PeduliLindungi yang ada di Google
Playstore menggunakan metode Naïve Bayes
3

1.4.2 Manfaat Penelitian

Manfaat dari penelitian ini adalah memberikan informasi gambaran umum


dari opini pengguna Aplikasi PeduliLindungi serta memberikan referensi yang
dapat digunakan untuk meningkatkan kualitas dan evaluasi ke arah yang lebih baik.

1.5 Sistematika Penelitian

Sistematika penelitian yang diperlukan untuk penulisan penelitian ini dapat


diuraikan sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini diuraikan secara ringkas permasalahan tentang latar
belakang masalah, rumusan masalah, Batasan masalah, tujuan
penelitian, manfaat penelitian, metode penelitian dan sistematika
penulisan
BAB II TINJAUAN PUSTAKA
Pada bab ini merupakan penjelasan mengenai teori pendukung
metode yang digunakan, penelitian terdahulu dan tools perancangan
yang akan dijadikan sebagai landasan dalam melakukan penelitian.
BAB III METODE PENELITIAN
Pada bab ini memaparkan variabel penelitian, model yang
digunakan, rancangan penelitian, teknik pengumpulan, analisis data
dan pengumpulan hasil penelitian .
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi tentang uraian implementasi sistem dan memaparkan
hasil pengujian sistem, untuk mengetahui apakah hasilnya sesuai
dengan yang diharapkan.
BAB V KESIMPULAN DAN SARAN
Pada bab terakhir berisi kesimpulan dari penelitian yang dilakukan
berdasarkan rumusan masalah. Selanjutnya penulis menyampaikan
saran yang dapat digunakan sebagai pengembangan pada penelitian
selanjutnya
BAB II
TINJAUAN PUSTAKA

2.1 Metode Yang Digunakan

Pada penelitian ini dirancang menggunakan salah satu metode analisis


sentimen yang termasuk dalam bagian penting dalam text mining yaitu teknik
klasifikasi. Metode klasifikasi yang digunakan adalah Naïve Bayes untuk
menganalisi sentimen pengguna aplikasi PeduliLindungi berdasarkan ulasan di
Google Play Store.

2.1.1 Algoritma Naïve Bayes

Naive Bayes adalah algoritma yang memanfaatkan teori peluang yang


dikemukakan oleh Ilmuwan Inggris, Thomas Bayes. Cara kerja metode ini yaitu
dengan memprediksi peluang terjadinya kejadian di masa depan berdasarkan data
yang ada sebelumnya. Tingkat performa dari sistem klasifikasi yang dibuat
menggunakan Naïve Bayes Classifier (NBC), bergantung pada data yang dimiliki
dan data yang dipilih sebagai data latih. Jika data yang dipilih sebagai data latih
bisa mewakili semua atau sebagaian besar data yang dimiliki, maka sistem
klasifikasi yang dibuat mempunyai performa yang bagus.Begitupun sebaliknya,
Ketika sistem klasifikasi yang dibuat mempunyai performa yang bagus maka
sistem tersebut bisa digunakan untuk melakukan klasifikasi terhadap data yang
lebih banyak.
Dalam mengklasifikasikan dokumen teks, ada beberapa proses yang harus
dilakukan yaitu:
1. Mencari nilai peluang dari setiap kategori dokumen
2. Mencari nilai peluang kemunculan dari masing-masing kata pada masing-
masing kategori dokumen
3. Menentukan kategori dokumen uji berdasarkan perhitungan proses pertama
dan kedua,
Algoritma Naïve Bayes Classifier (NBC) memberi nilai target kepada data
baru menggunakan nilai 𝑉𝑚𝑎𝑝, yaitu nilai kemungkinan tertinggi dari seluruh

4
5

anggota himpunan setdomain V. Setiap data dipresentasikan dengan pasangan


atribut 𝑥1 , 𝑥 2, 𝑥 3 ,… , 𝑥 𝑛 dimana 𝑥1 dan seterusnya merupakan kata pertama, 𝑥2
adalah kata kedua dan seterusnya. Sedangkan V adalah himpunan kategori
sentiment. Pada saat klasifikasi, algortima akan mencari probabilitas tertinggi
dari semua kategori yang diujikan (𝑉𝑚𝑎𝑝 ) dimana persamaannya dapat dilihat
pada persamaan 2.1 sebagai berikut (Herdhianto, 2020) :
𝑎𝑟𝑚𝑎𝑥
𝑝(𝑥1 , 𝑥 2, 𝑥 3 … 𝑥 𝑛|𝑉𝑗 )𝑝(𝑉𝑗 ) (2.1)
𝑉𝑚𝑎𝑝 =
𝑣𝑗 𝑒𝑉
𝑝(𝑥1 , 𝑥2 , 𝑥 3 … 𝑥𝑛)

Untuk 𝑃(𝑥1 ,𝑥 2 , 𝑥3 , … 𝑥𝑛 ) nilainya konstan untuk semua kategori (𝑉𝑗 ),


sehingga persamaan dapat dilihat pada persamaan 2.2 sebagai berikut:
𝑎𝑟𝑚𝑎𝑥 (
𝑣𝑗 𝑒𝑉𝑝 𝑥1 , 𝑥 2, 𝑥 3 … 𝑥 𝑛|𝑉𝑗 )𝑝(𝑉𝑗 )
𝑉𝑚𝑎𝑝 = (2.2)

Persamaan diatas dapat disederhanakan menjadi seperti persamaan 2.3


sebagai berikut :
𝑎𝑟𝑚𝑎𝑥
(2.3)
𝑉𝑚𝑎𝑝 = ∏ 𝑛 𝑃 (𝑥 𝑖|𝑉𝑗 )𝑃(𝑉𝑗 )
𝑣 𝑗 𝑒𝑉 𝑖=1

Keterangan:
𝑉𝑗 =Kategori komentar j=1,2 Dimana dalam penulisan ini 𝑗1 kategori
komentar positif, 𝑗2 = kategori komentar negative
𝑃 (𝑥1 |𝑉𝑗 )= Probabilitas 𝑥 𝑖 pada kategori 𝑉𝑗
𝑃(𝑉𝑗 ) = Probabilitas dari (𝑉𝑗 )
Untuk 𝑃(𝑉𝑗 ) dan 𝑃(𝑥 𝑖 |𝑉𝑗 ) dihitung pada saat pelatihan dimana
persamaanya dapat diliihat pada persamaan 2.4 dan persamaan 2.5 sebagai
berikut:
|𝑑𝑜𝑐𝑠𝑗 | (2.4)
𝑃 (𝑉𝑗 ) =
|𝑐𝑜𝑛𝑡𝑜ℎ|
𝑛𝑘 + 1 (2.5)
𝑃(𝑥 𝑖|𝑉𝑗 ) =
𝑛 + |𝑘𝑜𝑠𝑎𝑘𝑎𝑡𝑎 |
Keterangan:
|𝑑𝑜𝑐𝑠𝑗 | =Jumlah dokumen setiap kategori j
|𝑐𝑜𝑛𝑡𝑜ℎ|= Jumlah dokumen dari semua kategori
𝑛𝑘= jumlah frekuensi kemunculan setiap kata
𝑛= Jumlah frekuensi kemunculan kata dari setiap kategori
6

|𝑘𝑜𝑠𝑎𝑘𝑎𝑡𝑎 | = jumlah semua kata dari semua kategori

2.1.1.1 Karakteristik Naïve Bayes

Klasifikasi dengan Naïve Bayes bekerja berdasarkan teori probabilitas yang


memandang semua fitur dari data sebagai bukti dalam probabilitas. Hal ini
memberikan karakteristik Naïve Bayes sebagai berikut (Herdhianto, 2020) :
1. Metode Naïve Bayes (robust) terhadap data data yang terisolasi yang biasanya
merupakan data dengan karakteristik berbeda (outluer). Naïve Bayes juga
bisa menangani nilai atau yang salah dengan mengabaikan data latih selama
proses pembangunan model dan prediksi
2. Tangguh menghadapu atribut yang tidak relavan
3. Atribut yang mempunyai korelasi bisa mendegradasi kinerja klasifikasi Naïve
Bayes karena asumsi independensi atribut tersebut sudah tidak ada.

2.1.2 Term Frequency (TF)

Term Frequency (TF) merupakan frekuensi kemunculan term pada sebuah


dokumen. Jadi pembobotan TF didasarkan pada jumlah kemunculan term atau kata
pada sebuah dokumen yang bersangkutan. Semakin besar jumlah kemunculan suatu
term (TF tinggi) dalam dokumen, semakin besar pula bobotnya atau akan
memberikan nilai kesesuaian yang semakin besar (Herdhianto, 2020).
Pada Term Frequency (TF) ,terdapat beberapa jenis formula yang dapat
digunakan, antara lain:
1. Term Frequency biner (binary TF / TF biner), hanya memperhatikan apakah
suatu kata atau term ada atau tidak dalam dokumen, jika ada diberi nilai satu
(1), jika tidak diberi nilai (0).
2. Term Frequency murni (raw TF) , nilai TF diberikan berdasarkan jumlah
kemunculan suatu term di dokumen. Contohnya, jika muncul delapan (8) kali
maka kata tersebut akan bernilai delapan (8).
3. Term Frequency logaritmik, hal ini untuk menghindari dominasi dokumen
yang mengandung sedikit term dalam query , namun mempunyai frekuensi
7

yang tinggi.Rumus term frequency logaritmik dapat dilihat pada persamaan


2.6
1 + 𝑙𝑜𝑔10 (𝑓𝑡,𝑑 ), 𝑓𝑡,𝑑 > 0 (2.6)
𝑇𝐹 = {
0, 𝑓𝑡,𝑑 = 0
Dimana:
f t,d = frekuensi term (t) pada dokumen (d)
Jika suatu kata/ term terdapat dalam suatu dokumen sebanyak 8 kali maka
diperoleh bobot = 1+log(8) = 1,903. Tetapi, jika term tidak terdapat dalam
dokumen tersebut ,bobotnya adalah (0)
4. Term Frequency normalisasi, menggunakan perbandingan antara frekuensi
sebuah term dengan nilai maksimum dari keseluruhan atau kumpulan
frekuensi term yang ada pada suatu dokumen.
𝑓𝑡,𝑑 (2.7)
𝑇𝐹 = 0,5 + 0,5 𝑥 [ ]
𝑚𝑎𝑥𝑓𝑡′,𝑑:𝑡′,𝑑𝜖𝑑

Dalam penelitian ini, penulis menggunakan Term Frequency murni (raw


TF) untuk klasifikasi sentiment menggunakan Naïve Bayes.

2.1.3 Text Mining

Text mining merupakan proses menggali informasi dari data tekstual yang
tidak terstruktur dalam jumlah yang sangat besar dengan memanfaatkan metode
yang dapat mengolah data teks tersebut. Text mining dapat mengidentifikasikan
informasi yang relavan yang tersimpan dalam suatu dokumen teks dan memberikan
hasil yang bersifat kualitatif. Text mining juga mampu menggabungkan gagasan
statistik,linguistik dan pembelajaran mesin untuk menciptakan model belajar dari
data dan dapat melakukan prediksi hasil pada informasi baru be rdasarkan
pengalaman model pada proses training. Text mining biasanya menggunakan
algoritma komputasional untuk membaca dan menganalisis informasi tekstual,
sehingga teks dapat digali secara sistematis dan komprehensif dengan mudah dan
cepat (Nabila Nasution, 2021). Langkah langkah yang terjadi pada text mining
ditampilkan pada Gambar 2.1
8

Gambar 2.1 Proses Text Mining


(Sumber: Nabila Nasution,2021)
Berdasarkan Gambar 2.1 proses text mining dibagi kedalam tiga tahap yaitu:
1. Information Retrieval
Langkah ini merupakan proses untuk mengumpulkan data teks atau disebut
juga dengan korpus tethathich yang akan membutuhkan beberapa konversi.
2. Information Extraction
Menggunakan metode natural language preprocessing akan dibuat sistem
untuk melakukan analisis secara gramatik dari sebuah kalimat untuk
membaca teks tersebut. Pada tahap ini sistem akan mengidentifikasi arti dari
teks tertentu. Pada tahap ini metadata dari teks akan ditambahkan kedalam
database. Langkah ini memungkinkan sistem mendapat informasi dan
mengetahui hubungan diantara teks menggunakan metadatanya.
3. Data Mining
Langkah terakhir sistem akan menemukan kesamaan antara teks yang
memiliki arti yang sama yang mungkin akan sulit ditemukan jika dilakukan
dengan cara manual.

2.1.4 Preprocessing

Preprocessing merupakan proses yang berfungsi untuk membersihkan teks


sebelum dilakukan pengolahan lebih lanjut. Data teks mentah yang diperoleh
biasanya tidak terstruktur serta terdapat banyak noise seperti tanda baca,imbuhan,
angka, karakter-karakter khusus, dan lain sebagainya. Pada tahap ini, data teks akan
dibersihkan sehingga tersisa bentuk dasar dari masing masing kata saja untuk
keperluan analisis lebih lanjut (Nugraha et al., 2020). Adapun tahapan
preprocessing pada penelitian ini diantaranya adalah
9

1. Cleanning
Data Mentah yang diperoleh cenderung tidak lengkap, mengandung banyak
noise, dan tidak konsisten. Cleaning merupakan proses yang akan membantu
pembersihan teks dari karakter, symbol maupun tanda baca yang tidak
diperlukan dalam analisis sentiment (Nabila Nasution, 2021)
2. Case Folding
Tidak semua dokumen teks konsiten dalam penggunaan huruf kapital. Oleh
karena itu, peran case folding dibutuhkan dalam mengkonversi keseluruhan
teks dalam dokumen menjadi suatu bentuk standar (biasanya huruf kecil atau
lowercase). Karakter yang diterima hanya berupa huruf ‘a’ sampai dengan ‘z’
yang akan diubah menjadi huruf kecil (Balya, 2019).
3. Tokenizing
Tokenizing merupakan proses memecah kalimat menjadi pototngan kata atau
yang disebut dengan token. Proses pemotongan string berdasarkan tiap kata
yang menyusunnya, seperti halnya spasi, proses tokenisasi ini mengandalkan
karakter spasi pada dokumen teks guna melakukan pemisahan. Hasil dari
proses ini hanyalah kumpulan kata saja.
4. Stopword Removal
Setiap kata yang tidak berhubungan dalam penelitian nilai sentiment akan
dihapus agar pada proses analisis sistem dapat lebih focus dalam
mengidentifikasi setiap kalimat. Stopword removal merupakan proses untuk
menghapus kata penghubung dan kata yang tidak memiliki makna dari setiap
kalimat sehingga proses training nantinya dapat berjalan lebih efektif (Nabila
Nasution, 2021).
5. Stemming
Stemming merupakan proses mengambil kata dasar dari kata yang
berimbuhan baik awalan,akhiran maupun awalan akhiran .

2.1.5 Analisis Sentimen

Sentimen dapat diartikan sebagai pendapat ataupun pandangan yang


didasarkan pada perasaan berlebihan terhadap sesuatu. Sentimen biasanya terdapat
dalam pernyataan serta kalimat yang memiliki pendapat.
10

Analisis sentiment merupakan salah satu bidang penelitian yang terdapat


dalam pengolahan bahasa natural, komputasi linguistik dan text mining. Analisis
sentiment atau biasa juga disebut dengan opinion mining adalah studi
komputasional dari opini orang lain serta emosi yang terdapat dalam entitas, event,
dan atribut yang dimiliki. Tugas yang dilakukan analisis sentiment yaitu
mengelompokkan polaritas yang terdapat pada suatu teks, baik yang terdapat dalam
dokumen,kalimat maupun fitur tingkat asek apakah pendapat yang dikemukakan
bersifat positif, negative atau netral (Nugraha et al., 2020:25)
Analisis sentimen sangat menarik untuk dikembangkan di dunia digital saat
ini karena Sebagian besar masyarakat mengutarakan perasaan dan pendapat melalui
dunia maya dengan bahasa teks, dimana para pembaca terkadang memiliki
kesalahpahaman dalam memahami sentimen yang disampailan. Sehingga penting
untuk menganalisis sentimen untuk mengambil sebuah kesimpulan.

2.1.6 Confusion Matrix

Confusion matrix atau biasa juga disebut erro matrix pada dasarnya
digunakan untuk memberikan informasi perbandingan dari hasil klasifikasi yang
dilakukan oleh model yang digunakan dengan hasil klasifikasi sebenarnya.
Confusion matrix biasanya digambarkan dalam bentuk tabel matriks yang
menjelaskan kinerja model klasifikasi pada serangkaian data uji yang nilai
sebenarnya telah diketahui. Pada Gambar 2.2 menunjukkan tabel confussion matrix
dengan 4 kombinasi nilai prediksi dan nilai actual yang berbeda (Mustika et al.,
2021)

Gambar 2.2 Tabel Confusion Matrix


11

Keterangan:
• True Positive (TP) : data aktual positif yang diprediksi benar
• True Negative (TN) : data aktual negative yang diprediksi benar
• False Positive (FP) : data aktual negative namun diprediksi sebagai
data positif
• False Negatif (FN) : data aktual positif namun diprediksi sebagai data
negative
Berdasarkan nilai nilai confusion matrix tersebut maka dapat dihitung
matriks-matriks (Id, 2021)
• Akurasi: Perbandingan jumlah data yang diprediksi benar dengan total
seluruh prediksi yang dilakukan dengan persamaan (2.8)
𝑇𝑃 + 𝑇𝑁 (2.8)
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 =
𝑇𝑜𝑡𝑎𝑙 𝐷𝑎𝑡𝑎
• Recall atau Sensitivity atau TPR (True Positive Rate): Perbandingan jumlah
data yang relavan diprediksi positif dengan benar terhadap seluruh dara
yang benar positif seperti pada persamaan (2.9)
𝑇𝑃 (2.9)
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑁

• Precision : Perbandingan jumlah data yang diprediksi sebagai positif secara


benar terhadap jumlah kelesluruhan data yang diprediksi positif seperti
persamaan (2.10).
𝑇𝑃 (2.10)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃

• f1-score adalah rata rata harmonic dari precision dan recall. Artinya rata-rata
dengan bobot pada precision dan recall . f1-score lebih banyak dipakai
untuk membandingkan antar model daripada asesmen performansi dalam
suatu model (Widodo, 2022). Persamaan f1-score dapat dilihat pada
persamaan 2.11
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑟𝑒𝑐𝑎𝑙𝑙 (2.11)
𝑓1 − 𝑠𝑐𝑜𝑟𝑒 = 2 [ ]
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙
12

2.1.7 Scrapping

Scrapping adalah proses untuk mengekstrak,mengukur, menganalisis dan


memvisualisasikan data dari layar aplikasi menggunakan kode program. Dalam
bentuknya, scrapping merupakan bagian dari pemograman yang menghubungkan
antara program aplikasi dan antarmuka pengguna. Hal ini dirancang untuk
berinteraksi dengan perangkat dan sistem antarmuka sehigga program tampilan
yang berupa teks maupun gambar yang tidak mengandung fungsi dalam bentuk
logika masih dapat dimanfaatkan sebagai data dan kemudian dapat diolah menjadi
dataset (Balya, 2019).

2.1.8 Visualisasi

Visualisasi dari hasil analisis sentiment ditampilkan dengan bentuk word


cloud . Word cloud merupakan tampilan dari kata kata yang sering muncul, dan
besar kecilnya menunjukkan frekuensi frekuensi kemunculannya dalam data.
Sehingga kata terbanyak akan ditampilkan dalam ukuran yang lebih besar dan
sebaliknya, tampilan kata akan semakin kecil jika frekuensi kemunculannya
sedikit.

2.2 Literature Review

Literatur review berisi uraian btentang teori, temuan dan bahan penelitian lain
yang diperoleh dari bahan acuan untuk dijadikan landasan kegiatan penelitian.
Uraian dalam literature Review diarahkan untuk Menyusun kerangka pemikiran
yang jelas tentang pemecahan masalah yang sudah diuraikan pada rumusan
masalah.
Berikut ini beberapa penelitian penelitian sebelumnya yang berkaitan dengan
Implementasi Metdoe Naïve Bayes pada Aplikasi PeduliLindungi yang akan
dijadikan sebagai referensi dalam penyusunan skripsi. Literature review dapat
dilihat pada Tabel :
No Judul penelitian Nama Peneliti Hasil
1. Analisis Sentimen (Rasyadi, 2017) Prediksi sentiment masyarakat
Pada Twitter kepada pasangan Calon Gubernur
13

Menggunakan dan Wakil Gubernur DKI Jakarta


Metode Naïve putaran kedua yang
Bayes (Studi diperbincangkan di twitter.
Kasus Pemilihan Pengambilan sampel
Gubernur DKI menggunakan kata kunci
Jakarta 2017) berdasarkan akun Twitter resmi,
meliputi @AhokDjarot untuk
pasangan nomor 2 dan
@JktMajuBersama untuk
pasangan nomor 3. Data yang
dibutuhkan adalah 400 data tweet
teratas untuk akun @AhokDjarot
dan 200 data tweet untuk akun
@JktMajuBersama. Diperoleh
akurasi sebesar 60,60% dengan
tingkat sensitifitas tertinggi
terdapat pada kelas positif dan
sensitifitas terendah terdapat pada
kelas netral.

2. Analisis Sentimen (Nugroho et al., Analisis sentiment masyarakat


Pada Ojek Online 2015) tentang pelayanan ojek online
Menggunakan yang tertulis menggunakan 800
Metode Naïve data yang bersumber dari tweet
Bayes mention akun @gojekindonesia
dan @GrabID. . Hasil dari
pengujian metode Naïve Bayes
akurasi yang didapat sebesar 80%

3. Analisis Sentimen (Sevsa & R Pengambilan data pada penelitian


Pada Indeks Wahyudi, 2019) Analisis sentiment mahasiswa
Kinerja Dosen tentang kinerja dosen. dilakukan
Fakultas dengan mahasiswa memberikan
14

SAINTEK UIN penilaian dengan mengisi


Sunan Kalijaga kuisioner mengenai kritik dan
menggunakan ssaran bagi kegiatan perkuliahan.
Naïve Bayes Data yang digunakan dalam
Classifier penelitian ini adalah data kritik dan
saran pada IKD selama tiga tahun
ajaran, yaitu 2014/2015,
2015/2016 dan 2016/2017
sebanyak 8.249 data. Evaluasi
model menggunakan metode k-
cross validation yang berfungsi
menentukan data training dan
testing yang baik. K-fold yang
digunakan adalah 10-fold ,yaitu
membagi data latih menjadi 10
bagian. Rata rata akurasi analisis
sentiment menggunakan Metode
Naïve Bayes dan pembobotan term
frequency pada data latih IKD
adalah sebesar 72,8%.Sedangkan
rata rata akurasi menggunakan
metode Naïve Bayes dengan term
frequency-inverse document
frequency pada data latih IKD
sebesar 73,9%.
4. Analisa Sentimen (Harun & Dalam penelitian ini membahas
Opini Publik Ananda, 2021) tentang opini masyarakat terhadap
Tentang vaksinasi Covid-19 di Indonesia.
Vaksinasi Covid- Data diambil pada Facebook Page
19 di Indonesia Kementrian Kesehatan Republik
Menggunakan Indonesia sebanyak 510 data.
Metode yang digunakan dalam
15

Naïve Bayes dan menganalisis sentimen ada 2 yaitu


Decision Tree metode Naïve Bayes dan Decision
Tree. Pada hasil pengujian Nilai
akurasi Naïve bayes sebanyak
100% dan nilai akurai Decision
Tree sebanyak 50,39%.
5. Implementasi (Ratnawati, Dalam penelitian ini membahas
Naïve Bayes 2018) tentang analisis opini film yang
Terhadap Analisis diambil dari komentar film dari
Sentimen Opini twitter dengan data sebanyak 400
Film Pada Twitter data training dan 100 data testing.
Data tersebut diklasifikasikan
menggunakan metode Naïve
Bayes.Pengujian menggunakan
data yang sudah dipartisi diulang
kembali sebanyak 5-fold cross
vadilation (k=5) dengan posisi
data tes berbeda disetiap
iterasinya. Akurasi yang tertinggi
didapa pada fold kedua yaitu 90%
, precision 92%, recall 90% dan f-
measure 90%.

2.3 Tools Perancangan

Adapun tool perancangan yang digunakan dalam penelitian ini adalah:

2.3.1 Anaconda

Anaconda merupakan platform open source dengan Bahasa Pemograman


Python. Anaconda dapat digunakan untuk machine learning dengan menggunakan
python. Beberapa paket yang digunakan untuk membangun dan melatih m odel
machine learning diantaranya yaitu Spyder, Jupyter Notebook, JupyterLab, Numpy,
16

TensorFlow, Pandas, Matplotlib, Miniconda (Sarosa et al., 2022) . Gambar ikon


anaconda dapat dilhat pada Gambar 2.3

Gambar 2.3 Icon Anaconda

2.3.2 Python

Python merupakan bahasa pemoggraman yang bersifat high level, artinya


dekat dengan bahasa manusia dan mudah diterjemahkan. Python juga dikenal
sebagai bahasa pemograman yang bersifat object oriented ,dimana kegiatan
pemograman dapat dibagi menjadi beberapa modul yang disebut class. Ini akan
membantu programmer ketika membuat suatu program yang besar dan kompleks.
Python dikembangan oleh Guido van Rossum, seorang programmer berkebangsaan
Belanda pada 1980-an dan rilis secara resmi pada 1991 (Aribowo, 2021)
Python sendiri menampilkan fitur-fitur menarik sehingga layak untuk
dipelajari. Pertama, Python memiliki tata bahasa dan script yang sangat mudah
untuk dipelajari. Python juga memiliki sistem pengelolaan data dan mem ori
otomatis. Selain itu modul pada Python banyak diaplikasikan pada berbagai sistem
operasi seperti Linux, Microsoft Windows, Mac OS, Android,Symbian OS, Amiga,
Palm dan lain lain (Baktikominfo.id, 2019)

2.3.3 Jupyter Notebook

Untuk menulis kode program python dibutuhan suatu code editor yang sering
disebut sebagai Integrated Development Environment atau IDE. Pada saat ini, salah
satu IDE yang cukup popular terutama di kalangan data scientist untuk menulis
kode python adalah jupyter notebook.
17

Ada beberapa cara dalam melakukan instalasi Jupyter Notebook. Salah satu
cara yang paling mudah adalah melalui instalasi Anaconda, yaitu suatu platform
yang mendistribusikan bahasa Python khusunya untuk bidang scientific computing
(data mining, machine learning, predictive analysis dan sebagainya) (Aribowo,
2021).

2.3.4 Flowchart

Flowchart adalah representasi secara diagram yang menggambarkan urutan


operasi dalam penyelesaian suatu masalah. Flowchart biasanya dibuat pada tahap
awal sebelum pembuatan program. Selain itu flowchart juga berguna untuk
memahami logika program apalagi yang panjang dan kompleks. Dengan adanya
flowchart program dibuat dengan mudah (Suyanto, 2018). Simbol simbol
flowchart diagram dapat dilihat pada Tabel 2.1
Tabel 2.1 Simbol Flowchart

Simbol Nama Keterangan

Terminator Mulai atau selesai

Proses Menyatakan proses terhadap


data

Input/output Menerima input atau output

Pilihan/Decision Memilih aliran berdasarkan


syarat

Predefined Data Defenisi awal dari variable


atau data

Predefined Process Lambang fungsi atau sub


program
18

Connector Pengubung

Off-page connector Penghubung halaman pada


halaman yang berbeda
BAB III
METODE PENELITIAN

3.1 Tinjauan Umum Objek Penelitian

Riwayat Aplikasi PeduliLindungi bermula dari sebuah permasalahan yang


terjadi pada Maret 2020 yakni awal mula kasus Covid-19 mewabah di Indonesia.
PeduliLindungi diinisiasi oleh kementrian BUMN bersama dangan Kementrian
Komunikasi dan Informatika RI dan PT Telkom Indonesia. Aplikasi ini diharapkan
dapat membantu pemerintah dalam proses tracking. Melalui PeduliLindungi
pemerintah akan mudah mendeteksi alur penyebaran Covid -19.
Awalnya pengguna aplikasi PeduliLindungi ini masih sangat terbatas
jumlahnya. Namun seriing berjalannya waktu, aplikasi terus berkembang dan
disempurnakan fungsinya. Salah satunya akses sertifikat vaksin. Lalu pada awal
Juli 2021 juga ditambahkan satu fungsi lagi, yakni screening. Kedua fungsi ini
didasari oleh cakupan vaksin yang kian meluas, melebihi 40% dari masyarakat
Indonesia (Windy, n.d.)
Saat ini, aplikasi PeduliLindungi telah tersedia di platform Android dan iOS
yang bisa diunduh oleh masyarakat Indonesia khususnya para ASN. Seluruh ASN
instansi pemerintah diimbau untuk menggunakan aplikasi PeduliLindung sesuai
dengan arahan Kominfo melalui Keputusan Mentri No.171 Tahun 2020 dan
KemenPAN-RB melalui Surat Edaran MenPAN-RB No.50 Tahun 2020 tentang
Penyesuaian Sistem Kerja ASN dalam upaya pencegahan penyebaran Covid-19 di
lingkungan instansi pemerintah.
Aplikasi ini menggunakan data pada smartphone pengguna untuk melacak
informasi yang dibutuhkan dengan memanfaatkan fitur Bluetooth. Ketika ada
smartphone lain dalam radius Bluetooth yang juga terdaftar di PeduliLindungi,
maka akan terjadi pertukaran data secara anonym yang akan direkam oleh
perangkat masing-masing.Selanjutnya, data tersebut akan diolah oleh aplikasi
untuk dapat mengidentifikasi pengguna yang pernah berada dalam jarak dekat
dengan orang dinyatakan positif Covid-19, PDP (Pasien Dalam Pengawasa), dan
ODP (Orang Dalam Pengawasan). Kemudain pengguna yang memiliki riwayat
kontak dengan penderita Covid-19 positif, PDP dan ODP akan dihubungi oleh

19
20

putugas kesehatan. Berikut logo dari aplikasi PeduliLindungi dapat dilih at pada
Gambar 3.1:

Gambar 3.1 Logo Aplikasi PeduliLindungi

3.2 Analisis Sistem

Analisis sistem adalah suatu teknik atau metode pemecahan masalah dengan
cara menguraikan sistem ke dalam komponen-komponen pembentuknya untuk
mengetahui bagaimana komponen-komponen tersebut bekerja dan saling
berinteraksi satu sama lain untuk mencapai tujuan sistem.
Analisis sentiment pada ulasan PeduliLindungi ini diharapkan dapat
membantu dalam mengklasifikasi sentiment yang terdapat pada komentar Aplikasi
PeduliLindungi serta mendapatkan informasi berdasarkan klasifikasi sentiment
tersebut. Dari ulasan tersebut akan dilakukan perhitungan dengan menggunakan
metode Naïve Bayes untuk mengklasifikasikan sentiment.

3.3 Framework Penelitian

Penelitian akan dilakukan dengan beberapa tahap yang dimulai dengan pen-
gumpulan data dan analisis algoritma yang digunakan dengan alur yang
divisualisasikan dengan flowchart pada Gambar 3.2
21

Mulai

Scrapping
Data

Label Data

Preprocessing

Pembagian Data
Data Uji
Split

Daya Latih

Pembobotan
dengan Term
Frequency (TF)

Model Klasifikasi
dengan Naïve Bayes

Evaluasi
Performance

Selesai

Gambar 3. 2 Flowchart Analisis Sentimen

Penelitian dimulai mengumpulkan data dengan scrapping menggunakan


Bahasa pemograman python yang akan disimpan dalam bentuk csv. Kemudian, data
dilabel berdasarkan skor menggunakan excel. Kemudian dilakukan preprocesiing
data dengan tahapan cleaning, case folding, tokenizing, stopword removal dan
stemming. Setelah data dibersihkan dari beberapa noise, kemudian data dibagi
22

menjadi data training dan data testing dengan perbandingan 80:20. Kemudian data
training dikonversi kedalam bentuk angka dengan tahapan pembobotan kata
menggunakan metode Term Frequency (TF) agar data dapat diklasifikasi.
Kemudian data training melakukan proses pembentukan model Naïve Bayes, yang
mana artinya adalah menentukan nilai probabilitas setiap kata pada setiap kelas
aktual yang akan dijadikan sebagai acuan untuk data testing. Setelah pemodelan
menggunakan naïve bayes dilakukan, data testing diuji berdasarkan nilai yang
dihasilkan pada model data training untuk menentukan hasil prediksi. Proses
terakhir adalah data testing akan diuji tingkat performanya dengan menggunakan
confusion matrix.

3.3.1 Pengumpulan Data

Pada penelitian ini, pengumpulan data dilakukan dengan menggunakan


metode Scrapping. Metode Scrapping adalah metode mengumpulkan sejumlah
data secara otomatis tanpa harus menyalinnya secara manual. Data yang diambil
sebanyak 745 data dimulai dari tanggal 12 September - 14 September 2022.

3.3.2 Teknik Pelabelan Sentimen

Pada bagian ini bertujuan sebagai acuan dalam proses training dan testing.
Proses pelabelan ini merupakan salah satu proses untuk mendapatkan hasil
representasi corpus yang diharapkan. Pelabelan sentiment dibagi menjadi 2 kelas
yaitu sentiment negatif dan sentiment positif. Dalam mengklasifikasikan sentiment
terdapat kategori untuk penentuan kelasnya yaitu Ketika pada ulasan terdapat kata
yang mengandung makna pujian, ucapan terimakasih dan kepuasan maka ulasan
tersebut termasuk kedalam kelas positif. Namun, jika terdapat kata yang
mengandung makna makian, ketidakpuasan dan keluhan merupakan sentiment
Negatif. Proses pelabelan ditentukan dengan cara penulis membaca data ulasan dan
berdasarkan kategori diatas (Ying & Park, 2018). Berikut adalah contoh kata positif
dan kata negatif yang dapat dilihat pada Tabel 3.1
23

Tabel 3. 1 Kumpulan kata positif dan negatif

Kata Positif Kata Negatif


Terimakasih Tidak Bertanggung Jawab
Mantap Tidak Berguna
Betul Bodoh
Mudah Masalah
Ok Rumit
Baik Ruwet
Aman Mohon
Cepat Bug
Akurat Terpaksa
Keren Susah
Alhamdulillah Gembel
Berguna Mulu
Cakep Bangke
Bagus Anjing
Terbaik Belum
Lumayan Kenapa
Membantu Parah
Sungguh Tolong
Iya Ribet
Ramah Merugikan
Maksimal Repot
Respomsif Bocor
Efektif Sulit
Menyukai Lama
Memuaskan Heran
Luar Biasa Malah
Mempercepat Aneh
Bermanfaat Lelet
Lengkap Tolol
Nyaman Sampah
Sialan
Rusak
Hadeh
Tidak Bisa
Kok
Gangguan
Cacat
Lambat
Emosi
24

Buffering
Buruk
Ngaco
Kurang Profesional
Najis
Panik
Gagal
Murahan
Butut
Busuk
Monopoli
Merepotkan
Mengecewakan
Kesel
Percuma
Capek
Sumber: (Devid, 24 Maret 2017)

Berikut contoh beberapa data yang digunakan yang dapat dilihat pada Tabel 3.2
Tabel 3.2 Data Latih

No Ulasan Label
1. aplikasi sering trouble dan tambahan, petugas banyak Negatif
yang salah input data sehingga sertifikat tidak
muncul,aplikasinya jadi ga guna. Ngurus sertifikat pun
tidak ada respon, responnya lambat, dan ribet. Kirim
foto berkali kali di chatbot tidak bisa. Nyusahin doang,
bikin ribet
2. Tolong dong perbaiki apknya. Mau rubah data tgl lahir Negatif
mau digeser lama benar, kalau yang kelahiran nya
umpama sampai tahun 50/60 gimana, coba dibuat
mode ketik juga. Terus kalau sudah selesai, klaim
sertifikat tidak bisa. Haduhhhh kesel bener. Tolong
diperhatikan
3. Tolong dooong aplikasinya diperbaiki, kelihatannya Negatif
masih banyak kekurangan tuh. 1. Yang tadinya bisa
liat sertifikat ,skrg susah bertele2. 2. Mau milih tahun
25

lahir aja harus hitung mundur,buang2 waktu. Kami


membutuhkan apk ini jadi tolong diperbaiki, biar
praktis, modern dan canggih
4. Bagus banget, pas rubah data di chat WhatsApp Positif
langsung dirubah. Bener bener perfect responnya juga
cepat, meskipun kalo kita kelamaan masukkan nik,
tanggal vaksin,lokasi,dll agak di spam chat sama
petugasnya tapi gapapa wort ith lah peduli lindungi
5. Aplikasi nya sangat membantu, memudahkan kita Positif
untuk mengecek tempat vaksin yang kita butuh kan
dan jg langsung mendapat kam sertifikatnya. Tapi
sayangnya di akun aplikasi ini nik saya tidak sesuai dg
nik yg sebenarnya. Mungkin agar lebih di tingkatkan
lg yah, ketelitiannya.

3.3.3 Tahapan Preprocessing

Tahapan ini bertujuan untuk menghilangkan karakter atau kata yang tidak
relavan yang dapan mengurangi kualitas model. Adapun tahapan pre-processing
yang digunakan dalam penelitian ini dapat dilihat pada Gambar 3.3:

Data
Latih
Mulai Cleanning Case Folding Tokenizing

Data uji

Data Stopword
Selesai Stemming
Bersih Removal

Gambar 3.3 Flowchart Preprocessing

Adapun penjelasan flowchart preprocessing adalah sebagai berikut:


1. Cleanning: pembersihan teks dari karakter, symbol maupun tanda baca yang
tidak diperlukan dalam analisis sentiment yang dapat dilihat pada Tabel 3.3:
26

Tabel 3.3 Hasil Cleanning

Ulasan Hasil Cleanning

aplikasi sering trouble dan tambahan, aplikasi sering trouble dan


petugas banyak yang salah input data tambahan petugas banyak yang
sehingga sertifikat tidak muncul, salah input data sehingga sertifikat
aplikasinya jadi ga guna. Ngurus tidak muncul aplikasinya jadi ga
sertifikat pun tidak ada respon, responnya guna Ngurus sertifikat pun tidak
lambat, dan ribet. Kirim foto berkali kali ada respon responnya lambat dan
di chatbot tidak bisa. Nyusahin doang, ribet Kirim foto berkali kali di
buat ribet chatbot tidak bisa Nyusahin doang
bikin ribet

Tolong dong perbaiki apknya. Mau rubah Tolong dong perbaiki apknya Mau
data tgl lahir mau digeser lama benar, rubah data tgl lahir mau digeser
kalau yang kelahiran nya umpama lama benar kalau yang kelahiran
sampai tahun 50/60 gimana, coba dibuat nya umpama sampai tahun gimana
mode ketik juga. Terus kalau sudah coba dibuat mode ketik juga Terus
selesai, klaim sertifikat tidak bisa. kalau sudah selesai klaim sertifikat
Haduhhhh kesel bener. Tolong tidak bisa Haduhhhh kesel bener
diperhatikan Tolong diperhatikan

Tolong dooong aplikasinya diperbaiki, Tolong dooong aplikasinya


kelihatannya masih banyak kekurangan diperbaiki kelihatannya masih
tuh. 1. Yang tadinya bisa liat sertifikat banyak kekurangan tuh Yang
,skrg susah bertele2. 2. Mau milih tahun tadinya bisa liat sertifikat skrg
lahir aja harus hitung mundur,buang2 susah bertele Mau milih tahun
waktu. Kami membutuhkan aplikasi ini lahir aja harus hitung mundur
jadi tolong diperbaiki, biar praktis, buang waktu Kami membutuhkan
modern dan canggih apk ini jadi tolong diperbaiki biar
praktis modern dan canggih

Bagus banget, pas rubah data di chat Bagus banget pas rubah data di
WhatsApp langsung dirubah. Bener chat WhatsApp langsung dirubah
bener perfect responnya juga cepat, Bener bener perfect responnya
meskipun kalo kita kelamaan masukkan juga cepat meskipun kalo kita
nik, tanggal vaksin, lokasi, dll agak di kelamaan masukkan nik tanggal
spam chat sama petugasnya tapi gapapa vaksin lokasi dll agak di spam chat
wort ith lah peduli lindungi sama petugasnya tapi gapapa wort
ith lah peduli lindungi

Aplikasi nya sangat membantu, Aplikasi nya sangat membantu


memudahkan kita untuk mengecek memudahkan kita untuk
27

tempat vaksin yang kita butuh kan dan jg mengecek tempat vaksin yang kita
langsung mendapat kam sertifikatnya. butuh kan dan jg langsung
Tapi sayangnya di akun aplikasi ini nik mendapat kam sertifikatnya Tapi
saya tidak sesuai dg nik yg sebenarnya. sayangnya di akun aplikasi ini nik
Mungkin agar lebih di tingkatkan lg yah, saya tidak sesuai dg nik yg
ketelitiannya. sebenarnya Mungkin agar lebih di
tingkatkan lg yah ketelitiannya

2. Case Folding menyetarakan huruf menjadi bentuk standar yaitu huruf kecil
yang dilihat pada Tabel 3.4:
Tabel 3.4 Hasil Casefolding

Hasil Cleanning Hasil Case Folding

aplikasi sering trouble dan tambahan aplikasi sering trouble dan


petugas banyak yang salah input data tambahan petugas banyak yang
sehingga sertifikat tidak muncul salah input data sehingga sertifikat
aplikasinya jadi ga guna Ngurus tidak muncul aplikasinya jadi ga
sertifikat pun tidak ada respon guna ngurus sertifikat pun tidak ada
responnya lambat dan ribet Kirim foto respon responnya lambat dan ribet
berkali kali di chatbot tidak bisa kirim foto berkali kali di chatbot
Nyusahin doang, bikin ribet tidak bisa nyusahin doang bikin
ribet

Tolong dong perbaiki apknya Mau tolong dong perbaiki apknya mau
rubah data tgl lahir mau digeser lama rubah data tgl lahir mau digeser
benar kalau yang kelahiran nya umpama lama benar kalau yang kelahiran
sampai tahun gimana coba dibuat mode nya umpama sampai tahun gimana
ketik juga Terus kalau sudah selesai coba dibuat mode ketik juga terus
klaim sertifikat tidak bisa Haduhhhh kalau sudah selesai klaim sertifikat
kesel bener Tolong diperhatikan tidak bisa haduhhhh kesel bener
tolong diperhatikan

Tolong dooong aplikasinya diperbaiki tolong dooong aplikasinya


kelihatannya masih banyak kekurangan diperbaiki kelihatannya masih
tuh Yang tadinya bisa liat sertifikat skrg banyak kekurangan tuh yang
susah bertele Mau milih tahun lahir aja tadinya bisa liat ser tipikat skrg
harus hitung mundur buang waktu Kami susah bertele mau milih tahun lahir
membutuhkan apk ini jadi tolong aja harus hitung mundur buang
diperbaiki biar praktis modern dan waktu kami membutuhkan apk ini
canggih
28

jadi tolong diperbaiki biar praktis


modern dan canggih

Bagus banget pas rubah data di chat bagus banget pas rubah data di chat
WhatsApp langsung dirubah Bener whatsapp langsung dirubah bener
bener perfect responnya juga cepat bener perfect responnya juga cepat
meskipun kalo kita kelamaan masukkan meskipun kalo kita kelamaan
nik tanggal vaksin lokasi dll agak di masukkan nik tanggal vaksin lokasi
spam chat sama petugasnya tapi gapapa dll agak di spam chat sama
wort ith lah peduli lindungi petugasnya tapi gapapa wort ith lah
peduli lindungi

Aplikasi nya sangat membantu aplikasi nya sangat membantu


memudahkan kita untuk mengecek memudahkan kita untuk mengecek
tempat vaksin yang kita butuh kan dan tempat vaksin yang kita butuh kan
jg langsung mendapat kam sertifikatnya dan jg langsung mendapat kam
Tapi sayangnya di akun aplikasi ini nik sertifikatnya tapi sayangnya di akun
saya tidak sesuai dg nik yg sebenarnya aplikasi ini nik saya tidak sesuai dg
Mungkin agar lebih di tingkatkan lg yah nik yg sebenarnya mungkin agar
ketelitiannya lebih di tingkatkan lg yah
ketelitiannya

3. Tokenizing memecah kalimat menjadi potongan kata atau yang disebut


dengan token yang dapat dilihat pada Tabel 3.5
Tabel 3.5 Hasil Tokenizing

Hasil Case Folding Hasil Tokenizing

aplikasi sering trouble dan tambahan [‘aplikasi’ ‘sering’ ‘trouble’ ‘dan’


petugas banyak yang salah input data ‘tambahan’ ‘petugas’ ‘banyak’
sehingga sertifikat tidak muncul ‘yang’ ‘salah’ ‘input’ ‘data’
aplikasinya jadi ga guna ngurus ‘sehingga’ ‘sertifikat’ ‘tidak’
sertifikat pun tidak ada respon ‘muncul’ ‘aplikasinya’ ‘jadi’ ‘ga’
responnya lambat dan ribet kirim ‘guna’ ‘ngurus’ ‘sertifikat’ ‘pun’
foto berkali kali di chatbot tidak bisa ‘tidak’ ‘ada’ ‘respon’ ‘responnya’
nyusahin doang, bikin ribet ‘lambat’ ‘dan’ ‘ribet’ ‘kirim’ ‘foto’
‘berkali’ ‘kali’ ‘di’ ‘chatbot’ ‘tidak’
‘bisa’ ‘nyusahin’ ‘doang’ ‘buat’
‘ribet’]

tolong dong perbaiki apknya mau [‘tolong’ ‘dong’ ‘perbaiki’


rubah data tgl lahir mau digeser lama ‘aplikasinya’ ‘mau’ ‘rubah’ ‘data’
29

benar kalau yang kelahiran nya ‘tgl’ ‘lahir’ ‘mau’ ‘digeser’ ‘lama’
umpama sampai tahun gimana coba ‘benar’ ‘kalau’ ‘yang’ ‘kelahiran’
dibuat mode ketik juga terus kalau ‘nya’ ‘umpama’ ‘sampai’ ‘tahun’
sudah selesai klaim sertifikat tidak ‘gimana’ ‘coba’ ‘dibuat’ ‘mode’
bisa haduhhhh kesel bener tolong ‘ketik’ ‘juga’ ‘terus’ ‘kalau’ ‘sudah’
diperhatikan ‘selesai’ ‘klaim’ ‘sertifikat’ ‘tidak’
‘bisa’ ‘haduhhhh’ ‘kesal’ ‘bener’
‘tolong’ ‘diperhatikan’]

tolong dooong apknya diperbaiki [‘tolong’ ‘dooong’ ‘apknya’


kelihatannya masih banyak ‘diperbaiki’ ‘kelihatannya’ ‘masih’
kekurangan tuh yang tadinya bisa liat ‘banyak’ ‘kekurangan’ ‘tuh’ ‘yang’
sertifikat skrg susah bertele mau ‘tadinya’ ‘bisa’ ‘liat’ ‘sertifikat’
milih tahun lahir aja harus hitung ‘skrg’ ‘susah’ ‘bertele’ ‘mau’ ‘milih’
mundur buang waktu kami ‘tahun’ ‘lahir’ ‘aja’ ‘harus’ ‘hitung’
membutuhkan apk ini jadi tolong ‘mundur’ ‘buang’ ‘waktu’ ‘kami’
diperbaiki biar praktis modern dan ‘membutuhkan’ ‘apklikasi’ ‘ini’
canggih ‘jadi’ ‘tolong’ ‘diperbaiki’ ‘biar’
‘praktis’ ‘modern’ ‘dan’ ‘canggih’]

bagus banget pas rubah data di chat [‘bagus’ ‘banget’ ‘pas’ ‘rubah’ ‘data’
whatsapp langsung dirubah bener ‘di’ ‘chat’ ‘whatsapp’ ‘langsung’
bener perfect responnya juga cepat ‘dirubah’ ‘bener’ ‘bener’ ‘perfect’
meskipun kalo kita kelamaan ‘responnya’ ‘juga’ ‘cepat’
masukkan nik tanggal vaksin lokasi ‘meskipun’ ‘kalo’ ‘kita’ ‘kelamaan’
dll agak di spam chat sama ‘masukkan’ ‘nik’ ‘tanggal’ ‘vaksin’
petugasnya tapi gapapa wort ith lah ‘lokasi’ ‘dll’ ‘agak’ ‘di’ ‘spam’
peduli lindungi ‘chat’ ‘sama’ ‘petugasnya’ ‘tapi’
‘gapapa’ ‘wort’ ‘ith’ ‘lah’ ‘peduli’
‘lindungi’]

aplikasi nya sangat membantu [‘aplikasi’ ‘nya’ ‘sangat’


memudahkan kita untuk mengecek ‘membantu’ ‘memudahkan’ ‘kita’
tempat vaksin yang kita butuh kan ‘untuk’ ‘mengecek’ ‘tempat’
dan jg langsung mendapat kam ‘vaksin’ ‘yang’ ‘kita’ ‘butuh’ ‘kan’
sertifikatnya tapi sayangnya di akun ‘dan’ ‘jg’ ‘langsung’ ‘mendapat’
aplikasi ini nik saya tidak sesuai dg ‘kam’ ‘sertifikatnya’ ‘tapi’
nik yg sebenarnya mungkin agar ‘sayangnya’ ‘di’ ‘akun’ ‘aplikasi’
lebih di tingkatkan lg yah ‘ini’ ‘nik’ ‘saya’ ‘tidak’ ‘sesuai’ ‘dg’
ketelitiannya ‘nik’ ‘yg’ ‘sebenarnya’ ‘mungkin’
‘agar’ ‘lebih’ ‘di’ ‘tingkatkan’ ‘lg’
‘yah’ ‘ketelitiannya’]
30

4. Stopword Removal menghapus kata penghubung dan kata yang tidak


memiliki makna dari setiap kalimat yang dapat dilihat pada Tabel 3.6
Tabel 3. 6 Hasil Stopword Removal

Hasil Tokenizing Hasil Stopword Removal

[‘aplikasi’ ‘sering’ ‘trouble’ ‘dan’ [‘aplikasi’ ‘tambahan’ ‘petugas’‘data’


‘tambahan’ ‘petugas’ ‘banyak’ ‘yang’ ‘sertifikat’ ‘aplikasinya’ ‘guna’
‘salah’ ‘input’ ‘data’ ‘sehingga’ ‘sertifikat’ ‘respon’
‘sertifikat’ ‘tidak’ ‘muncul’ ‘responnya’‘kirim’ ‘foto’ ‘bisa’]
‘aplikasinya’ ‘jadi’ ‘ga’ ‘guna’
‘ngurus’ ‘sertifikat’ ‘pun’ ‘tidak’ ‘ada’
‘respon’ ‘responnya’ ‘lambat’ ‘dan’
‘ribet’ ‘kirim’ ‘foto’ ‘berkali’ ‘kali’
‘di’ ‘chatbot’ ‘tidak’ ‘bisa’ ‘nyusahin’
‘doang’ ‘buat’ ‘ribet’]

[‘tolong’ ‘dong’ ‘perbaiki’ [‘tolong’ ‘perbaiki’ ‘aplikasinya’


‘aplikasinya’ ‘mau’ ‘rubah’ ‘data’ ‘tgl’ ‘data’ ‘digeser’ ‘dibuat’ ‘mode’ ‘ketik’
‘lahir’ ‘mau’ ‘digeser’ ‘lama’ ‘benar’ ‘klaim’ ‘sertifikat’ ‘tolong’
‘kalau’ ‘yang’ ‘kelahiran’ ‘nya’ ‘diperhatikan’]
‘umpama’ ‘sampai’ ‘tahun’ ‘gimana’
‘coba’ ‘dibuat’ ‘mode’ ‘ketik’ ‘juga’
‘terus’ ‘kalau’ ‘sudah’ ‘selesai’
‘klaim’ ‘sertifikat’ ‘tidak’ ‘bisa’
‘haduhhhh’ ‘kesal’ ‘bener’ ‘tolong’
‘diperhatikan’]
[‘tolong’ ‘dooong’ ‘apknya’ [‘tolong’ ‘aplikasinya’ ‘diperbaiki’
‘diperbaiki’ ‘kelihatannya’ ‘masih’ ‘kelihatannya’ ‘tahun’ ‘lahir’ ‘hitung’
‘banyak’ ‘kekurangan’ ‘tuh’ ‘yang’ ‘buang’ ‘membutuhkan’ ‘tolong’
‘tadinya’ ‘bisa’ ‘liat’ ‘sertifikat’ ‘skrg’ ‘diperbaiki’ ‘praktis’ ‘modern’
‘susah’ ‘bertele’ ‘mau’ ‘milih’ ‘tahun’ ‘canggih’]
‘lahir’ ‘aja’ ‘harus’ ‘hitung’ ‘mundur’
‘buang’ ‘waktu’ ‘kami’
‘membutuhkan’ ‘apklikasi’ ‘ini’ ‘jadi’
‘tolong’ ‘diperbaiki’ ‘biar’ ‘praktis’
‘modern’ ‘dan’ ‘canggih’]
[‘bagus’ ‘banget’ ‘pas’ ‘rubah’ ‘data’ [‘bagus’‘data’ ‘responnya’ ‘cepat’
‘di’ ‘chat’ ‘whatsapp’ ‘langsung’ ‘masukkan’ ‘vaksin’ ‘lokasi’
‘dirubah’ ‘bener’ ‘bener’ ‘perfect’ ‘petugasnya’ ‘peduli’ ‘lindungi’]
‘responnya’ ‘juga’ ‘cepat’ ‘meskipun’
‘kalo’ ‘kita’ ‘kelamaan’ ‘masukkan’
31

‘nik’ ‘tanggal’ ‘vaksin’ ‘lokasi’ ‘dll’


‘agak’ ‘di’ ‘spam’ ‘chat’ ‘sama’
‘petugasnya’ ‘tapi’ ‘gapapa’ ‘wort’
‘ith’ ‘lah’ ‘peduli’ ‘lindungi’]
[‘aplikasi’ ‘nya’ ‘sangat’ ‘membantu’ [‘aplikasi’ ‘membantu’ ‘memudahkan’
‘memudahkan’ ‘kita’ ‘untuk’ ‘mengecek’ ‘vaksin’ ‘kita’ ‘butuh’
‘mengecek’ ‘tempat’ ‘vaksin’ ‘yang’ ‘mendapat’ ‘sertifikatnya’ ‘akun’
‘kita’ ‘butuh’ ‘kan’ ‘dan’ ‘jg’ ‘aplikasi’ ‘tingkatkan’ ‘ketelitiannya’]
‘langsung’ ‘mendapat’ ‘kam’
‘sertifikatnya’ ‘tapi’ ‘sayangnya’ ‘di’
‘akun’ ‘aplikasi’ ‘ini’ ‘nik’ ‘saya’
‘tidak’ ‘sesuai’ ‘dg’ ‘nik’ ‘yg’
‘sebenarnya’ ‘mungkin’ ‘agar’ ‘lebih’
‘di’ ‘tingkatkan’ ‘lg’ ‘yah’
‘ketelitiannya’]

5. Stemming mengambil kata dasar dari kata yang berimbuhan baik


awalan,akhiran maupun awalan akhiran yang dilihat pada Tabel 3.7
Tabel 3. 7 Hasil Stemming

Hasil Stopword Removal Hasil Stemming

[‘aplikasi’ ‘tambahan’ ‘petugas’‘data’ [‘aplikasi’ ‘tambahan’


‘sertifikat’ ‘aplikasinya’ ‘petugas’‘data’ ‘sertifikat’ ‘aplikasi’
‘guna’‘sertifikat’ ‘respon’ ‘guna’ ‘sertifikat’ ‘respon’
‘responnya’‘kirim’ ‘foto’‘bisa’] ‘respon’‘kirim’ ‘foto’‘bisa’]

[‘tolong’ ‘perbaiki’ ‘data’ ‘digeser’ [‘tolong’ ‘baik’ ‘data’ ‘geser’ ‘buat’


‘dibuat’ ‘mode’ ‘ketik’ ‘klaim’ ‘mode’ ‘ketik’ ‘klaim’ ‘sertifikat’
‘sertifikat’ ‘tolong’ ‘diperhatikan’] ‘tolong’ ‘perhatikan’]

[‘tolong’ ‘aplikasinya’ ‘diperbaiki’ [‘tolong’ ‘aplikasi’ ‘baik’ ‘kelihatan’


‘kelihatannya’ ‘hitung’ ‘buang’ ‘‘hitung’ ‘buang’ ‘butuh’ ‘tolong’
‘membutuhkan’ ‘tolong’ ‘diperbaiki’ ‘baik’ ‘praktis’ ‘modern’ ‘canggih’]
‘praktis’ ‘modern’ ‘canggih’]

[‘bagus’‘data’ ‘responnya’ ‘cepat’ [‘bagus’‘data’ ‘respon’ ‘cepat’


‘masukkan’ ‘vaksin’ ‘lokasi’ ‘masuk’ ‘vaksin’ ‘lokasi’ ‘petugas’
‘petugasnya’ ‘peduli’ ‘lindungi’] ‘peduli’ ‘lindungi’]
32

[‘aplikasi’ ‘membantu’ ‘memudahkan’ [‘aplikasi’ ‘bantu’ ‘mudah’ ‘cek’


‘mengecek’ ‘vaksin’ ‘kita’ ‘butuh’ ‘vaksin’ ‘butuh’ ‘dapat’ ‘sertifikat’
‘mendapat’ ‘sertifikatnya’ ‘akun’ ‘akun’ ‘aplikasi’ ‘ketelitian’]
‘aplikasi’ ‘tingkatkan’ ‘ketelitiannya’]

3.3.4 Tahapan Pembobotan dengan term Frequency (TF)

Setelah selesai membersihkan data, proses selanjutnya adalah menghitung


frekuensi kemunculan data dengan menggunakan metode term frequency. Term
frequency dapat dilihat pada Tabel 3.8:
Tabel 3. 8 Hasil Pembobotan dengan Term Frequency

No Term D1 D2 D3 D4 D5

1. aplikasi 2 0 1 0 2

2. tambahan 1 0 0 0 0

3. petugas 1 0 0 1 0

4. data 1 1 0 1 0

5. sertifikat 2 1 1 0 1

6. guna 1 0 0 0 0

7. respon 2 0 0 1 0

8. kirim 1 0 0 0 0

9. foto 1 0 0 0 0

10. bisa 1 0 0 0 0

11. tolong 0 2 2 0 0

12. baik 0 1 0 0 0

13. geser 0 1 0 0 0

14. buat 0 1 0 0 0

15. mode 0 1 0 0 0

16. ketik 0 1 0 0 0
33

17. klaim 0 1 0 0 0

18. perhatikan 0 1 0 0 0

19. kelihatan 0 0 1 0 0

20. hitung 0 0 1 0 0

21. buang 0 0 1 0 0

22. butuh 0 0 1 0 0

23. praktis 0 0 1 0 0

24. modern 0 0 1 0 0

25. canggih 0 0 1 0 0

26. bagus 0 0 0 1 0

27. cepat 0 0 0 1 0

28. masuk 0 0 0 1 0

29. vaksin 0 0 0 1 1

30. lokasi 0 0 0 1 0

31. peduli 0 0 0 1 0

32. lindungi 0 0 0 1 0

33. bantu 0 0 0 0 1

34. mudah 0 0 0 0 1

35. cek 0 0 0 0 1

36. dapat 0 0 0 0 1

37. akun 0 0 0 0 1

38. kelihatan 0 0 0 0 1
34

3.3.5 Tahapan Pemodelan Klasifikasi Naïve Bayes

Pada tahap pemodelan klasifikasi ini menghitung nilai probabilitas setiap


kelas (prior) dan probabilitas dari masing masing fitur pada masing masing kelas
negative (N) Positif (P) pada data latih.
Probabilitasi setiap kelas (prior) dapat dihitung dengan menggunakan
persamaan 3.1:
|𝑑𝑜𝑐𝑠𝑗 | (3.1)
𝑃(𝑉𝑗 ) =
|𝑐𝑜𝑛𝑡𝑜ℎ|

3 2
Maka: P(Negatif) = = 0.6 dan P(positif) = = 0.4
5 5
Probabilitas setiap term pada setiap kelas dapat dihitung menggunakan
persamaan 3.2
𝑛𝑘 + 1 (3.2)
𝑃(𝑥 𝑖 |𝑉𝑗 ) =
𝑛 + |𝑘𝑜𝑠𝑎𝑘𝑎𝑡𝑎 |

Contoh data latih sentiment negatif


(𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖, 𝑁𝑒𝑔𝑎𝑡𝑖𝑓) + 1
𝑃 (𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 |𝑁𝑒𝑔𝑎𝑡𝑖𝑓 ) =
𝑛(𝑛𝑒𝑔𝑎𝑡𝑖𝑓) + |𝑘𝑜𝑠𝑎𝑘𝑎𝑡𝑎|
3+1
𝑃( 𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 |𝑁𝑒𝑔𝑎𝑡𝑖𝑓 ) =
34 + 37
𝑃 (𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 |𝑁𝑒𝑔𝑎𝑡𝑖𝑓 ) = 0.06
Contoh Data latih sentiment positif:
(𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 , 𝑝𝑜𝑠𝑖𝑡𝑖𝑓) + 1
(𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 |𝑃𝑜𝑠𝑖𝑡𝑖𝑓) =
𝑛(𝑝𝑜𝑠𝑖𝑡𝑖𝑓) + |𝑘𝑜𝑠𝑎𝑘𝑎𝑡𝑎|
2+1
𝑃( 𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 |𝑝𝑜𝑠𝑖𝑡𝑖𝑓 ) =
20 + 37
𝑃 (𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 |𝑝𝑜𝑠𝑖𝑡𝑖𝑓) = 0.05
Untuk perhitungan selanjutnya dapat dilihat pada Tabel 3.9:
Tabel 3.9 Nilai Probabilitas setiap Fitur pada setiap Kelas

D1 D2 D3 D4 D5 P P
No Term
(N) (N) (N) (P) (P) (w|Neg) (w|Pos)
1. aplikasi 2 0 1 0 2 0,06 0,05
2. tambahan 1 0 0 0 0 0,03 0,02
3. petugas 1 0 0 1 0 0,03 0,03
4. data 1 1 0 1 0 0,04 0,03
35

5. sertifikat 2 1 1 0 1 0,07 0,03


6. guna 1 0 0 0 0 0,03 0,02
7. respon 2 0 0 1 0 0,04 0,03
8. kirim 1 0 0 0 0 0,03 0,02
9. foto 1 0 0 0 0 0,03 0,02
10. bisa 1 0 0 0 0 0,03 0,02
11. tolong 0 2 2 0 0 0,07 0,02
12. baik 0 1 0 0 0 0,03 0,02
13. geser 0 1 0 0 0 0,03 0,02
14. buat 0 1 0 0 0 0,03 0,02
15. mode 0 1 0 0 0 0,03 0,02
16. ketik 0 1 0 0 0 0,03 0,02
17. klaim 0 1 0 0 0 0,03 0,02
18. perhatikan 0 1 0 0 0 0,03 0,02
19. kelihatan 0 0 1 0 1 0,03 0,03
20. hitung 0 0 1 0 0 0,03 0,02
21. buang 0 0 1 0 0 0,03 0,02
22. butuh 0 0 1 0 0 0,03 0,02
23. praktis 0 0 1 0 0 0,03 0,02
24. modern 0 0 1 0 0 0,03 0,02
25. canggih 0 0 1 0 0 0,03 0,02
26. bagus 0 0 0 1 0 0,01 0,03
27. cepat 0 0 0 1 0 0,01 0,03
28. masuk 0 0 0 1 0 0,01 0,03
29. vaksin 0 0 0 1 1 0,01 0,05
30. lokasi 0 0 0 1 0 0,01 0,03
31. peduli 0 0 0 1 0 0,01 0,03
32. lindungi 0 0 0 1 0 0,01 0,03
33. bantu 0 0 0 0 1 0,01 0,03
34. mudah 0 0 0 0 1 0,01 0,03
35. cek 0 0 0 0 1 0,01 0,03
36. dapat 0 0 0 0 1 0,01 0,03
37. akun 0 0 0 0 1 0,01 0,03
Total 13 11 10 10 10

3.3.6 Tahapan Pengujian

Tahapan-tahapan pengujian berdasarkan gambar dapat diuraikan sebagai


berikut:
36

1. Sebelum dilakukan pengujian, data uji harus melakukan tahapan


preprocessing untuk mengambil data yang dibutuhkan saja. Hasil sebelum
dan sesudah preprocessing data uji dapat dilihat pada Tabel 3.10
Tabel 3.10 Data Uji

Sebelum Pre-processing Sesudah Pre-processing

tolong responnya, Saya vaksin kedua [‘tolong’ ‘respon’ ‘vaksin’ ‘hitung’


bulan Februari 2022z dan sekarang ‘sertifikat’ ‘cek’ ‘butuh’ ]
sudah bulan Juli, terhitung sudah 4
Bulan. Tapi sertifikat saya tidak
muncul”, hampir setiap hari saya cek,
Tolong banget ini mah.... Sertifikat
dibutuhin banget
2. Mengitung Vmap setiap kelas untuk menentukan probabilitas tertinggi
dengan persamaan (2.3) dari masing masing kelas berdasarkan proses
pemodelan.Nilai probabilitas tertinggi merupakan kelas sentiment dari data
uji tersebut.Contoh perhitungan Vmap adalah sebagai berikut:
Vmap (Negatif)= P(negatif) * P(tolong|negatif) * P(respon|negatif) *
P(vaksin|negatif) * P(hitung|negatif) * P(sertifikat|negatif) *
P(cek|negatif) * P(butuh|negatif)
Vmap(Negatif)= (0.6)*(0.07)*(0.04)*(0.01)*(0.03)*(0.07)*(0.01)*(0.03)
= 1,0584 ∗ 10−10
Vmap (positif)= P(positif) * P(tolong| positif) * P(respon| positif) *
P(vaksin| positif) * P(hitung| positif) * P(sertifikat| positif) *
P(cek| positif) * P(butuh| positif)
Vmap(Positif)= (0.4)*(0.02)*(0.03)*(0.05)*(0.02)*(0.03)*(0.03)*(0.02)
=4,32 ∗ 10−12
Berdasarkan perhitungan Vmap maka nilai yang terbesar terdapat pada kelas
negative. Sehingga kelas sentiment data uji berada di kelas negatif dapat dilihat
pada Tabel 3.11
37

Tabel 3.11 Hasil Klasifikasi Data Uji

Data Uji Klasifikasi

[‘tolong’ ‘respon’ ‘vaksin’ ‘hitung’ ‘sertifikat’ ‘cek’ Negatif


‘butuh’ ]
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Pengujian Sistem

Proses analisis sentiment ini terbagi menjadi 2 proses yaitu proses training
dan testing. Kedua proses ini menggunakan Bahasa Pemograman python dengan
memanfaatkan library sklearn yaitu MultinomialNaiveBayes. Setelah data di
preprocessing, data dibagi menjadi 2 bagian yaitu data training dan data testing
dengan perbandingan 80:20. Pada proses data training dilakukan pembobotan kata
dan kemudian pembentukan model Naïve Bayes dengan mencari nilai probabilitas
setiap kata yang akan dijadikan sebagai acuan untuk data uji. Proses training
menggunakan data yang terdiri dari 361 sentimen Negatif dan 235 sentimen Positif.
Kemudian dilakukan proses testing menggunakan data sebanyak 149 data yang
sudah diberi label actual yaitu 107 sentimen Positif dan 42 sentimen Negatif. Data
testing diuji menggunakan klasifikasi Naïve Bayes.

Gambar 4. 1 Tampilan Sistem Analsis Sentimen

38
39

4.2 Evaluasi Hasil

Evaluasi Hasil pada penelitian ini menggunakan confusion matrix betujuan


untuk memberikan informasi perbandingan hasil klasifikasi yang menggunakan
sebuah metode dengan nilai aktualnya. Terdapat 4 istilah sebagai representasi hasil
proses klasifikasi pada confusion matrix. Keempat istilah tersebut adalah True
Positive (TP), true Negative (TN), False Positive (FP), dan False Negative (FN).
Proses evaluasi menggunakan 149 data uji dimana 107 sentimen Positif dan 42
sentimen Negatif. Hasil confusion matrix dapat dilihat pada Gambar 4.1

Gambar 4. 2 Hasil Confusion Matrix

Berdasarkan hasil confusion matrix yang didapatkan, dijelaskan bahwa:


• True Positive (TP) yaitu data positif yang diprediksi dengan metode
klasifikasi Naïve Bayes benar diperoleh sebanyak 36 data
• True Negative (TN) yaitu data negatif yang diprediksi dengan metode
klasifikasi Naïve Bayes benar diperoleh sebanyak 93 data
• False Positif (FP) yaitu data negatif namun jika diprediksi dengan metode
klasifikasi Naïve Bayes menghasilkan data positif diperoleh sebanyak 18
data
• False Negative data positif namun jika diprediksi dengan metode klasifikasi
Naïve Bayes menghasilkan data negatif diperoleh sebanyak 1 data
40

Confusion Matrix juga dapat mengukur kinerja model yang dibuat dengan
menghitung tingkat akurasi ,precision, recall dan f1-score berdasarkan hasil
confusin matrix yang diperoleh:
1. Accuracy perbandingan jumlah data yang diprediksi benar dengan total
seluruh data. Nilai dari akurasi dapat dihitung menggunakan rumus
𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
Diperoleh hasil:
36 + 93
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
36 + 93 + 18 + 1
129
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑥100%
148
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 0,8724𝑥100%
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 87,16%

2. Recall perbandingan jumlah data yang dipresiksi benar positif terhadap


keseluruhan data yang benar positif . Nilai recall dapat dihitung dengan
persaman
𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙 = 100%
𝑇𝑃 + 𝐹𝑁
Diperoleh hasil:
36
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑥 100%
36 + 1
36
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑥100%
37
𝑅𝑒𝑐𝑎𝑙𝑙 = 0,9729𝑥100%
𝑅𝑒𝑐𝑎𝑙𝑙 = 97,29%

3. Precision rasio prediksi benar positif dibandingkan dengan keseluruhan hasil


yang diprediksi positif. Nilai precision dapat dihitung dengan persaman
𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑥100%
𝑇𝑃 + 𝐹𝑃
Diperoleh hasil:
36
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑥100%
36 + 18
41

36
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑥100%
54
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 0,6667𝑥100%
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 66,67%
4. F1-score perbandingan rata-rata precision dan recall yang dibobotkan. Dapat
dihitung dengan persamaan
𝑟𝑒𝑐𝑎𝑙𝑙 𝑥 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛
𝑓1 − 𝑠𝑐𝑜𝑟𝑒 = 2𝑥 [ ] 𝑥100%
𝑟𝑒𝑐𝑎𝑙𝑙 + 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛
Diperoleh hasil:

66,67𝑥97 ,29
𝐹1 − 𝑠𝑐𝑜𝑟𝑒 = 2𝑥 [ ] 𝑥100%
66,67 + 97,29
6486,32
𝐹1 − 𝑠𝑐𝑜𝑟𝑒 = 2𝑥 [ ] 𝑥100%
163,96
𝐹1 − 𝑠𝑐𝑜𝑟𝑒 = 2𝑥 39,56𝑥100%
𝐹1 − 𝑠𝑐𝑜𝑟𝑒 = 79,12%

Pada penelitian ini hasil Akurasi, precision dan recall dihitung menggunakan
Bahasa pemograman python dengan mengimport classification_report yang ada
pada library sklearn.metrics. Untuk hasil pada sistem dapat dilihat pada Gambar 4.2

Gambar 4. 3 Hasil Classification Report

Dengan demikian, Metode Naïve Bayes merupakan metode yang baik dalam
menganalisis sentiment karena mempunyai tingkat akurasi sebesar 87,16% .
precision 66,66%, recall 97,29% dan f1-score 79.12%.
42

4.2.1 Visualisasi

Visualisasi dari hasil analisis sentiment ditampilkan dengan bentuk word


cloud . Word cloud merupakan tampilan dari kata kata yang sering muncul, dan
besar kecilnya menunjukkan frekuensi frekuensi kemunculannya dalam data.
Tampilan hasil visualisasi label positif dalam bentuk wordcloud dapat dilihat pada
Gambar 4.4

Gambar 4. 4 Tampilan wordcloud label Positif

Pada tampilan wordcloud diatas disimpulkan bahwa kata yang memiliki


frekuensi kemunculan kata pada sentiment positif adalah kata bagus, bantu, mantap,
aplikasi dan baharu. Tampilan hasil visualisasi label negatif dalam bentuk
wordcloud dapat dilihat pada Gambar 4.5

Gambar 4. 5 Tampilan wordcloud Label Negatif


43

Pada tampilan wordcloud diatas disimpulkan bahwa kata yang memiliki


frekuensi kemunculan kata pada sentiment negatif adalah kata aplikasi, gabung
buka dan susah .
BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil penelitian, maka dapat diambil kesimpulan bahwa


1. Metode Naïve Bayes dalam menganalisis sentiment berdasarkan ulasan
pengguna aplikasi Peduli Lindungi di GooglePlaystore berhasil diterapkan.
2. Hasil analisis sentiment ulasan Aplikasi PeduliLindungi cenderung bersifat
sentimen Negatif. Para pengguna Aplikasi PeduliLindungi lebih banyak
menyatakan keluhan terkait kinerja Aplikasi PeduliLindungi.
3. Proses preprocessing belum mampu membersihkan data dari kata kata yang
tidak memiliki makna. Contohnya, untuk nama orang dan product tidak
hilang pada preprocesing. Tentunya hal ini dapat berpengaruh pada hasil
analisis sentiment.

5.2 Saran

Berdasarkan hasil penelitian, ada beberapa saran dalam pengembangan


penelitian, diantaranya adalah :
1. Pada penelitian selanjutnya, ada baiknya sebelum melakukan preprocessing
sebaiknya melakukan information extraction untuk mendapatkan kata kata
yang memiliki makna.
2. Pada penelitian ini ulasan diklasifikasikan kedalam sentimen negative dan
sentimen positif, diharapkan untuk penelitian selanjutnya dapat
mengklasifikasikan ulasan berdasarkan aspek contohnya adalah aspek sistem,
aspek kebermanfaatan dan sebagainya.

44
DAFTAR PUSTAKA

Aribowo, B. (2021). Belajar Python Dari Nol Via Jupyter Notebook (1st ed.).
Diandra Kratif.
Baktikominfo.id. (2019). BAHASA PEMROGRAMAN PYTHON : PENGERTIAN,
SEJARAH, KELEBIHAN DAN KEKURANGANNYA. Baktikominfo.Id.
https://www.baktikominfo.id/id/informasi/pengetahuan/bahasa_pemrograma
n_python_pengertian_sejarah_kelebihan_dan_kekurangannya -954
Balya. (2019). Analisis Sentimen Pengguna Youtube Di Indonesia Pada Review
Smartphone Menggunakan Naïve Bayes. Skripsi Universitas Sumatera Utara,
4–16.
Devid. (2017). ID-OpinionWords.
Harun, A., & Ananda, D. P. (2021). Analysis of Public Opinion Sentiment About
Covid-19 Vaccination in Indonesia Using Naïve Bayes and Decission Tree
Analisa Sentimen Opini Publik Tentang Vaksinasi Covid-19 di Indonesia
Menggunakan Naïve Bayes dan Decission Tree. 1(April), 58–63.
Herdhianto, A. (2020). Sentiment Analysis Menggunakan Naïve Bayes Classifier
(NBC) Pada Tweet Tentang Zakat.
http://repository.uinjkt.ac.id/dspace/handle/123456789/53661
Id, I. D. (2021). MACHINE LEARNING. UR PRESS.
Mustika, Ardilla, Y., Manuhutu, A., Ahmad, N., Hasbi, I., Guntoro, Mnuhutu, M.
A., Hozairi, M. R., Wardhani, A. K., Alim, S., Romli, I., Religia, Y., Octafian,
Dt., Utan, S. U., & Iin, E. (2021). Data Mining dan Aplikasinya (N. Rismawati
(ed.)). Widina Bhakti Persada Bandung.
Nabila Nasution. (2021). UNIVERSITAS SUMATERA UTARA Poliklinik
UNIVERSITAS SUMATERA UTARA. Jurnal Pembangunan Wilayah &
Kota, 1(3), 82–91.
Naraswati, N. P. G., Nooraeni, R., Rosmilda, D. C., Desinta, D., Khairi, F., &
Damaiyanti, R. (2021). Analisis Sentimen Publik dari Twitter Tentang
Kebijakan Penanganan Covid-19 di Indonesia dengan Naive Bayes
Classification. Sistemasi, 10(1), 222.
https://doi.org/10.32520/stmsi.v10i1.1179
Nugraha, F. A., Harani, N. H., & Habibi, R. (2020). Analisis Sentimen Terhadap
Pembatasan Sosial Menggunakan Deep Learning (R. M. Awangga (ed.); 1st
ed.).
Nugroho, D. G., Chrisnanto, Y. H., & Wahana, A. (2015). Analisis Sentimen Pada
Jasa Ojek Online ... (Nugroho dkk.). 156–161.
Rasyadi, M. H. (2017). Analisis Sentimen Pada Twitter Menggunakan Metode
Naïve Bayes (Studi Kasus Pemilihan Gubernur Dki Jakarta 2017). 1–17.
Ratnawati, F. (2018). Implementasi Algoritma Naive Bayes Terhadap Analisis
Sentimen Opini Film Pada Twitter.
Sarosa, M., Muna, N., Kusumawardani, M., Suyono, A., & Mulyani, Y. (2022).
Pemrograman Python Dalam Contoh dan Penerapan. Media Nusa Creative
(MNC Publishing).
Sevsa, B. A., & R Wahyudi, M. D. (2019). Analisis Sentimen pada Indeks Kinerja
Dosen Fakultas SAINTEK UIN Sunan Kalijaga Menggunakan Naive Bayes
Classifier. Jurnal Buana Informatika, 10(2), 112.
ii

https://doi.org/10.24002/jbi.v10i2.2250
Suyanto, Y. (2018). Pemograman Terstruktur Dengan Delphi. Gadjha Mada
University Press.
Widodo, R. B. (2022). MACHINE LEARNING METODE K-NEAREST
NEIGHBORS KLASIFIKASI ANGKA BAHASA ISYARAT. Media Nusa
Creative (MNC Publishing).
Windy, A. (n.d.). Kupas Tuntas Aplikasi PeduliLindungi. Kominfo.Go.Id.
https://aptika.kominfo.go.id/2021/10/kupas-tuntas-aplikasi-pedulilindungi/
Ying, Y., & Park, D. (2018). IMPLEMENTASI NAIVE BAYES CLASSIFIER DAN
ASOSIASI UNTUK ANALISIS SENTIMEN DATA ULASAN APLIKASI E-
COMMERCE SHOPEE PADA SITUS GOOGLE PLAY. 6–7.
LISTING PROGRAM

#Import Library "]+", re.UNICODE)


import pandas as pd remove_emoji= re.sub(emoj, '',
import numpy as np remove_number)
import nltk remove_single_char=re.sub(r"\b[a-
import string zA-Z]\b", "", remove_emoji)
import re return remove_single_char
import csv df['hasil_cleanning']=df['content'].ap
import Sastrawi ply(lambda x: cleanning(x))
from string import digits df
#ambil data dri tgl 2 agustus 2022
data= #proses casefolding:mengubah huruf
pd.read_csv('dataulasan.csv',sep=';',e kecil menjadi huruf besar
ncoding='utf-8') #import datanya def casefolding(hasil_cleanning):
df=pd.DataFrame(data[['label','conte
nt']]) #mengambil data yang hasil_casefolding=hasil_cleanning.lo
diperlukan saja wer()
df return hasil_casefolding
df['hasil_casefolding']=df['hasil_clea
#PREPROCESSING nning'].apply(lambda x:
#cleanning :membersihkan data dari casefolding(x))
simbol,angka,emoji dan 1huruf df[['hasil_cleanning','hasil_casefoldi
def cleanning(content): ng']]
remove_punctuation= "".join([c for
c in content if c not in #proses tokenization:memecah
string.punctuation]) kalimat menjadi kata
remove_number = ''.join([i for i in from nltk.tokenize import
remove_punctuation if not i.isdigit()]) word_tokenize
emoj = re.compile("[" def tokenization(hasil_casefolding):
u"\U00002700-\U000027BF" # token=word_tokenize(hasil_casefold
Dingbats ing)
u"\U0001F600-\U0001F64F" # return token
Emoticons df['hasil_token']=df['hasil_casefoldin
u"\U00002600-\U000026FF" # g'].apply(lambda x: tokenization(x))
Miscellaneous Symbols df[['hasil_casefolding','hasil_token']]
u"\U0001F300-\U0001F5FF" #
Miscellaneous Symbols And #stopword removal
Pictographs from nltk.corpus import stopwords
u"\U0001F900-\U0001F9FF" # nltk.download('stopwords')
Supplemental Symbols and stop = stopwords.words('indonesian')
Pictographs txt_stopword =
u"\U0001FA70-\U0001FAFF" pd.read_csv("stopwords.txt", names=
# Symbols and Pictographs Extended- ["stopwords"], header = None)
A stop.extend(txt_stopword["stopwords
u"\U0001F680-\U0001F6FF" # "][0].split(' '))
Transport and Map Symbols def stopword (hasil_token):

1
3

return [word for word in zero_length_comments_index =


hasil_token if word not in stop] [ind for ind in
df['hasil_stopword']=df['hasil_token'] zero_length_comments.index]
.apply(lambda x: stopword(x)) # membuang data yang bernilai
df[['hasil_token','hasil_stopword']] kosong

#stemming:menghilangkan imbuhan df.drop(zero_length_comments_inde


kata x, inplace = True)
from return df
Sastrawi.Stemmer.StemmerFactory df = remove_comments(df)
import StemmerFactory df[['content','hasil_stemming']]
import swifter df=df.astype({'hasil_stemming':'strin
factory=StemmerFactory() g'})
stemmer=factory.create_stemmer() df=df.astype({'label':'category'})

#stemmed #membagi data menjadi data train dan


def stemmed_wrapper(term): test
return stemmer.stem(term) from sklearn.model_selection import
term_dict={} train_test_split
for document in df['hasil_stopword']: x_train,x_test,y_train,y_test=train_te
for term in document: st_split(df['hasil_stemming'],df['label
if term not in term_dict: '] ,test_size=0.2,random_state=42)
term_dict[term]='' print("Data Latih :",len(x_train))
print("Data Uji :",len(x_test))
for term in term_dict: data_latih=pd.DataFrame(x_train,
term_dict[term]=stemmed_wrapper(t columns=['hasil_stemming'])
erm) data_latih.insert(1, column='label',
value=y_train)
#aplikasikan stemming pada data_latih
dataframe
def stemming(document): data_uji=pd.DataFrame(x_test,
return[term_dict[term] for term in columns=['hasil_stemming'])
document] data_uji.insert(1, column='label',
df['hasil_stemming']=df['hasil_stopw value=y_test)
ord'].apply(lambda x: stemming(x)) data_uji
df[['hasil_stopword','hasil_stemming'
]] #MENGHITUNG TF
from sklearn.feature_extraction.text
#menghapus ulasan yang bernilai import CountVectorizer
kosong vec=CountVectorizer()
def remove_comments(df): vec_latih=vec.fit_transform(x_train)
#ngecek ulasan yang bernilai zero word_list=vec.get_feature_names_ou
zero_length_comments = t();
df[df["hasil_stemming"].map(len) == count_list=vec_latih.toarray().sum(a
0] xis=0)
# mengambil ulasan yang bernilai freq=dict(zip(word_list,count_list))
kosong word_list
freq
4

plt.ylabel("Aktual")
#Pemodelan Naïve Bayes plt.show()
from sklearn.naive_bayes import from sklearn.metrics import
MultinomialNB accuracy_score,precision_score,recal
#pembentukan model Naive Bayes l_score,f1_score
clf=MultinomialNB() from sklearn.metrics import
clf.fit(vec_latih,y_train) classification_report
vec_uji=vec.transform(x_test) from sklearn.metrics import
vec_uji confusion_matrix
predicted=clf.predict(vec_uji) print("Nilai Accuracy adalah :" ,
data_uji.insert(2, accuracy_score(predicted,y_test))
column='label_bayes', print("Nilai Precision adalah :"
value=predicted) ,precision_score(predicted,y_test,ave
data_uji.head(148) rage='binary',pos_label='Positif'))
data_uji = print("Nilai Recall adalah :"
data_uji[['hasil_stemming','label','lab ,recall_score(predicted,y_test,averag
el_bayes']] e='binary',pos_label='Positif'))
neg_latih=data_latih[(data_latih['labe print("Nilai f1_score adalah :"
l']=='Negatif')] ,f1_score(predicted,y_test,average='b
print('Banyak Data Latih yang inary',pos_label='Positif'))
Negatif adalah',len(neg_latih)) print('======================
#menghitung banyak data yang ==========================
berlabel positif ===============\n')
pos_latih=data_latih[(data_latih['labe print(classification_report(predicted,
l']=='Positif')] y_test,zero_division=0))
print('Banyak Data Latih yang Positif
adalah',len(pos_latih)) #visualisasi
neg_label=data_uji[(data_uji['label_b #presentasi label positif dan negatif
ayes']=='Negatif')] setelah diuji
print('Banyak Data Uji yang Negatif sesudah=pd.value_counts(predicted)
adalah',len(neg_label)) ax_sesudah=sesudah.plot.bar()
#menghitung banyak data yang n=len(predicted)
berlabel positif for p in ax_sesudah.patches:
pos_label=data_uji[(data_uji['label_b
ayes']=='Positif')] ax_sesudah.annotate(str(round(p.get_
print('Banyak Data Uji yang Positif height()/n*100,2))+'%', (p.get_x()
adalah',len(pos_label)) *1.005,p.get_height()*1.005))
print('Diagram Prediksi Dengan
#confusion matrix Naive Bayes')
import seaborn as sns from wordcloud import
import matplotlib.pyplot as plt WordCloud,STOPWORDS
from sklearn.metrics import import matplotlib.pyplot as plt
confusion_matrix def plot_cloud(wordcloud):
f, ax = plt.subplots(figsize=(8,5)) plt.figure(figsize=(12,8))
sns.heatmap(confusion_matrix plt.imshow(wordcloud)
(y_test,predicted), annot=True, plt.axis('off');
fmt=".0f", ax=ax)
plt.xlabel("Prediksi")
5

allwords=''.join([text for text in


df['hasil_stemming'][df.label=='Posit
if']])
wordcloud=WordCloud(width=5000,
height=2000, random_state=3,
background_color='white',collocatio
ns=False,
stopwords=STOPWORDS).generate(
allwords)
plot_cloud(wordcloud)
allwords=''.join([text for text in
df['hasil_stemming'][df.label=='Nega
tif']])
wordcloud=WordCloud(width=5000,
height=2000, random_state=3,
background_color='white',collocatio
ns=False,
stopwords=STOPWORDS).generate(
allwords)
plot_cloud(wordcloud)
DAFTAR RIWAYAT HIDUP

DATA PRIBADI
Nama : Meilany Gresia Siagian
Jenis Kelamin : Perempuan
Tempat, Tanggal Lahir : Padangsidimpuan, 15Mei 2000
Kewarganegaraan : Indonesia
Agama : Kristen Protestan
Nama Ayah : Arman Ludin Siagian
Nama Ibu : Epi Sahriani Sinaga
Status : Belum Menikah
Alamat : Jl. Teuku Umar Gg Martabe. Padangsidimpuan
No. Hp :081362525154
Email : meilanygresia2000@gmail.com

PENDIDIKAN FORMAL

Tahun 2006-2012 : SD Swasta Xaverius, Padangsidimpuan


Tahun 2012-2015 : SMP Negeri 2, Padangsidimpuan
Tahun 2015-2018 : SMA Negeri 3, Padangsidimpuan
Tahun 2018-2022 : Universitas Methodist Indonesia

Anda mungkin juga menyukai