METODE NAÏVE BAYES CLASSIFIER DALAM ANALISIS
SENTIMEN PADA KOMENTAR TWEET
Rina Noviana, Diny Wahyuni
Fakultas Ilmu Komputer, Universitas Gunadarma Margonda Raya 100 Pondok Cina Depok 16424
[email protected], [email protected]
ABSTRAK
Analisis sentimen adalah suatu proses untuk menganalisis, memahami, mengolah, dan mengestrak data tekstual yang berupa opini terhadap entitas seperti organisasi dan topik tertentu agar mendapatkan suatu informasi. Analisis sentimen dapat dilakukan untuk melihat emosi pendapat atau opini terhadap sesuatu masalah atau objek tertentu, apakah cenderung positif, negatif ataupun netral. Pada penelitian analisis sentiment ini menggunakan metode Naïve Bayes Classifier yang merupakan metode pengklasifikasian. Tahapan yang dilakukan yaitu crawling data tweet media sosial Twitter pada akun Indihome dan preprocessing yang terdiri dari case folding, cleansing, stopword removal, stemming, convert emoticon, serta tokenisasi. Setelah dilakukan tahap preprocessing , selanjutnya dilakukan tahap klasifikasi dengan mengklasifikasikan ke dalam tweet positif atau negatif kemudian pengujian dilakukan dengan menggunakan metode Naïve Bayes Classifier dan hasil klasifikasi ditampilkan dalam bentuk grafik histogram dan tabel. Berdasarkan hasil implementasi dari pengujian maka didapat hasil akurasi 60% dengan tingkat kesalahan sistem sebesar 40%. Hasil presisi positif 0,7 dan presisi negatif 0,3. Hasil recall sebesar 0,7 dan specifity sebesar 0,3. Implementasi dari penelitian ini dapat di gunakan untuk analisis sentimen pada klasifikasi kecenderungan positif atau negative terhadap pendapat atau opini tweet.
Kata Kunci : Analisis Sentimen, Naïve Bayes, Twitter LATAR BELAKANG
Media sosial atau jejaring sosial seperti Twitter, Facebook, Instagram dan Youtube merupakan beberapa media perangkat komunikasi yang sangat populer pada saat ini. Salah satunya media jejaring sosial yang telah dimanfaatkan kembali oleh penggunanya adalah Twitter (Trunojoyo, 2017). Manfaat yang dapat diambil dari penggunaan aplikasi ini juga sangat banyak. Misalnya, Twitter dapat digunakan sebagai sumber berita terbaru dan juga dapat memberikan informasi lebih mengenai hal-hal yang disukai. Setiap tweet yang di posting pengguna beraneka ragam sesuai dengan keinginan pengguna tweet itu bisa berupa pendapat, saran, ataupun kritikan tentang topik-topik tertentu. Keanekagaraman postingan tersebut serta banyaknya penggunaan bahasa yang tidak baku pada tweet menjadi alasan diperlukan analisis sentiment.
Analisis sentimen disebut juga opinion mining yang bertujuan untuk menganalisis, memahami, mengolah, dan mengestrak data tekstual yang berupa opini terhadap entitas seperti organisasi dan topik tertentu agar mendapatkan suatu informasi. Analisis sentimen juga dilakukan untuk melihat emosi pendapat atau opini terhadap sesuatu masalah atau objek tertentu, apakah cenderung positif, negatif ataupun netral (Medianeliti, 2016).
Beberapa penelitian yang telah dilakukan oleh Rian Tineges, Agung Triayudi*, dan Ira Diana Sholihati tahun 2020. Hasil sentimen layanan Indihome berdasarkan data baru, dengan metode Support Vector Machine didapat akurasi sebesar 87% dengan ketepatan antara hasil prediksi dengan data sebenarnya (precision) sebesar 86%, tingkat keberhasilan sistem dalam memprediksi sebuah data (recall) sebesar 95%, tingkat kesalahan semua data yang diprediksi (error rate) sebesar 13%, sedangkan untuk nilai perbandingan rata-rata precision dan recall (f1-score) adalah sebesar 90%. Berdasarkan hasil tersebut dapat disimpulakan bahwa tingkat kepuasan pengguna layanan Indihome cukup rendah. Penelitian yang dibuat oleh Ni Putu Sri Merta Suryani, Linawati, dan Komang Oka Saputra tahun 2019 pada analisis sentimen facebook menggunakan metode naïve bayes Dari 479 data yang diujikan diperoleh akurasi sebesar 87,1% dan error 12,9%. Sedangkan dari 20 data uji diperoleh akurasi sebesar 5% dan error 95%. Hal ini karena data uji memiliki kemiripan dengan data latih pada sistem. Penelitian dari jurnal yang dibuat oleh Herdiawan tahun 2020. Berdasarkan pengujian Precision, Recall dan F-Measure, didapatkan hasil F-Measure klasifikasi tweets dari sistem analisis sentimen dengan menggunakan metode Improved K-Nearest Neighbor sebesar 80% dengan precision sebesar 80% dan recall sebesar 80%. Dan terakhir penelitian dari jurnal yang dibuat oleh Sunardi, Abdul Fadlil, dan Suprianto tahun 2018 melakukan klasifikasi data secara otomatis dari angket mahasiswa menggunakan metode naïve bayes dan menjadikan kategori kelas positif, negatif dan netral dengan tingkat akurasi yang tinggi yaitu precision 75%, recall 75% dan accuracy 80%.
Tujuan dari penelitian ini untuk dapat membuat aplikasi analisis sentimen komentar tweet dan mengklasifikasikan tweet tersebut ke dalam kategori opini positif dan negatif dengan menggunakan metode Naïve Bayes Classifier..
PEMBAHASAN
Tahap 1 : Pengumpulan Data Tweet
Pada pengumpulan data tweet menggunakan API (Application Programming Interface) Twitter yang menyediakan akses read dan write data dengan mengintegrasikan Twitter kedalam aplikasi yang kita buat. Data yang diambil merupakan data tweet yang terdapat di dalam Twitter. Maka dari itu, untuk mengambil data uji, diperlukan koneksi untuk dapat mengakses API Twitter. Untuk dapat mengaksesnya diperlukan hak akses untuk dapat mengakses data tweet berupa consumer key, consumer secret, access token dan access token secret. Berikut merupakan tahapan untuk mendapatkan kunci dan token :
1. Mengakses situs https://apps.twitter.com/. Diperlukan akun twitter terlebih dahulu untuk loginnya.
2. Memilih menu create new app. Lalu mengisi data sesuai dengan informasi diri dan deskripsi mengenai hal apa yang akan kita gunakan pada akses API Twitter.
3. Setelah kunci dan token berhasil didapat, input kodingan untuk mendeklarasikan variabel consumer key, consumer secret, access token dan access token secret pada program PHP untuk dapat mengakses tweet yang terdapat pada twitter. Dalam melakukan proses koneksi consumer key, consumer secret, access token dan access token secret akan dijadikan fungsi variabel dan dilakukan autentifikasi dengan menggunakan fungsi.
Tahap 2 : Analisis
Pada tahap ini menggambarkan proses analisis sebelum merancang aplikasi. Tahap analisis terdiri dari analisis kebutuhan data dan analisis kebutuhan sistem. Analisis kebutuhan sistem terdiri dari analisis kebutuhan fungsional dan non-fungsional.
 Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional adalah kebutuhan yang berisi proses yang akan dilakukan oleh sistem. Kebutuhan fungsional memiliki aspek perangkat lunak (software) yang berisi peracangan sistem, antara lain : User dapat melakukan pengambilan tweet dari twitter dan mendefinisikan ke dalam sentimen positif dan negatif, User dapat menghitung probabilitas baik itu data latih maupun data uji, menampilkan hasil klasifikasi sentimen positif dan negatif, menampilkan hasil akurasi sistem data uji coba.
 Analisis Kebutuhan Non-Fungsional
Terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Berikut ini beberapa spesifikasi yang digunakan : spesifikasi Hardware terdiri dari perangkat komputer yang digunakan untuk membuat aplikasi ini adalah: 1. Laptop ASUS VivoBook A442U, Processor Intel(R) Core™ i5-8250U CPU @ 1.60GHz 1.80GHz, RAM (Random Access Memory) sebesar 4 GB, Harddisk sebesar 1 TB. Spesifikasi Software Tools yang digunakan untuk penelitian ini adalah Bahasa Pemrograman PHP, Database: MySQL, Text Editor: Sublime Text 3.
 Analisis Kebutuhan Data
Pada analisis kebutuhan data akan dilakukan proses crawling atau pengumpulan data tweet menggunakan koneksi API Twitter. Data yang diambil sebanyak 100 data tweet yang diambil dari Twitter yang memberikan komentar terhadap akun Indihome.
Tabel Contoh Manual Sentimen
“@cattlya : cape banget ya pake INDIHOME, lama-lama pindah provider juga deh #ayoperbaiki #indihome” (Negatif)
“jasonderu “ admin @IndiHome yang terhormat saya sudah meminta teknisi datang kerumah saya, tapi tidak ada juga sampai skrg �” (Negatif)
“@nabilaz : Selamat pagi admin @IndiHome, saya minta tolong untuk teknisi datang kerumah saya ya. Karena sudah error melewati dua hari �” (Positif)
“@baskaradafa : hallo @IndiHome, internet saya kenapa sudah dua hari lelet dan lemot banget ya, mohon bantuannya” (Positif)
“kartikaput : Hallo Admin @IndiHome saya mau bertanya. Kenapa jaringan dirumah saya ini jelek dan lemot. Kenapa sudah melewati dua hari tidak ada respon. � #indihomelemot” (Positif)
Tahap 3 :Proses Crawling dan Pre processing
 Proses Crawling
Crawling data merupakan teknik pengambilan data secara otomatis. Pada penelitian ini yang menjadi objek crawling adalah data Twitter. Data yang didapat merupakan opini pengguna Twitter pada akun Indihome, yang akan diambil 100 data tweet dan data terbaru. Proses crawling menggunakan API Twitter yang sudah diimplementasikan dalam bahasa pemrograman PHP.
 Proses Pre processing
Pada tahapan ini dilakukan 6 langkah yaitu diantaranya case folding, cleansing, stopword removal, stemming, convert emoticon dan tokenisasi menggunakan data tweet crawling, akan diambil 3 buah data sebagai contoh.berikut :
Proses Case Folding
Pada tahapan case folding ini dilakukan proses pengubahan huruf pada twitter menjadi huruf kecil. Hanya huruf a–z.
Berikut langkah-langkahnya ::
1. Memeriksa ukuran setiap karakter yang menggunakan huruf kapital.
2. Jika ditemukan karakter yang menggunakan huruf kapital, maka huruf tersebut akan diubah menjadi huruf kecil.
Tabel Proses Case folding
N o
Contoh Data
Data Uji Case Folding
1 “@cattlya : cape banget ya pake INDIHOME, lama-lama pindah provider juga deh #ayoperbaiki #indihome”
“@cattlya : cape banget ya pake indihome, lama-lama pindah provider juga deh #ayoperbaiki #indihome”
2 “jasonderu “ admin @IndiHome yang terhormat saya sudah meminta teknisi datang kerumah saya, tapi tidak ada juga sampai skrg � ”
“jasonderu “ admin @indihome yang terhormat saya sudah meminta teknisi datang kerumah saya, tapi tidak ada juga sampai skrg � ”
3 “@nabilaz : Selamat pagi admin @IndiHome, saya minta tolong untuk teknisi datang kerumah saya ya. Karena sudah error melewati dua hari � ”
“@nabilaz : selamat pagi admin @indihome, saya minta tolong untuk teknisi datang kerumah saya ya. karena sudah error melewati dua hari � ”
Proses Cleansing
Tahap cleansing, terdapat kalimat yang masih terdapat noise atau kesalahan dalam variabel, maka harus dihilangkan noise tersebut, kata yang dihilangkan : karakter HTML, hastag (#), username (@username), url, dan email.
Tabel : Tahapan Cleansing
N o
Contoh Data
Data Uji Cleansing
1 “@cattlya : cape banget ya pake indihome,
lama-lama pindah provider juga deh #ayoperbaiki #indihome”
cape banget ya pake indihome, lama-lama pindah provider juga deh
2 “jasonderu “ admin @indihome yang
terhormat saya sudah meminta teknisi datang kerumah saya, tapi tidak ada juga sampai skrg �”
admin yang terhormat saya sudah meminta teknisi datang kerumah saya, tapi tidak ada juga sampai skrg �
3 “@nabilaz : selamat pagi admin
@indihome, saya minta tolong untuk teknisi datang kerumah saya ya. karena sudah error melewati dua hari �”
selamat pagi admin, saya minta tolong untuk teknisi datang kerumah saya ya. karena sudah error melewati dua hari �
Proses Stopword Removal
Stopword removal adalah kosakata yang bukan merupakan ciri kata unik dari suatu dokumen, misalnya “di”, “oleh”, “pada”, “sebuah”, “karena”, dan lain sebagainya. Sebelum proses ini dilakukan harus dibuat daftar stopword. Jika termasuk ke dalamnya, maka kata-kata yang tersisa didalam deskripsi dianggap sebagai kata-kata yang mencirikan isi dari suatu dokumen atau keywords.
Tabel : Daftar Kata Stopword
Data Stopword
Yang Dengan Untuk Dalam Juga
Yg Itu Ini Akan Saya
Di Dan Dari Pada Ke
Karena Tersebut Bisa Ada Mereka
Tabel : Aturan Stopword Removal
Kondisi Aksi
Jika inputan data uji mengandung kata pada database kata_stopword.
Maka akan dihapuskan kata dalam kata uji Jika inputan data uji tidak mengandung kata
pada kamus.
Maka tidak akan dihapuskan kata dalam data uji
Kata-kata yang terkandung pada daftar stopword adalah kata-kata yang sering muncul tetapi tidak memiliki arti. Misal kata “bagaimana”, “juga”, “agar” dan “jadi” kata tersebut harus dihilangkan. Berikut adalah contoh dari tahapan stopword removal :
Tabel Tahapan Stopword Removal
N o
Contoh Data
Data Uji Stopword Removal
1 cape banget ya pake indihome, lama-lama pindah provider juga deh
cape banget ya pake indihome, lama-lama pindah provider deh
2 admin yang terhormat saya sudah meminta teknisi datang kerumah saya, tapi tidak ada juga sampai skrg �
admin terhormat meminta teknisi datang kerumah, tapi tidak sampai skrg �
3 selamat pagi admin, saya minta tolong untuk teknisi datang kerumah saya ya. karena sudah error melewati dua hari �
selamat pagi admin, minta tolong untuk teknisi datang kerumah ya. karena error melewati dua hari �
Proses Stemming
Stemming adalah proses mengubah kata ke bentuk dasarnya dengan cara menghilangkan imbuhan pada kata dalam dokumen. Algoritma stemming yang digunakan dalam penelitian ini adalah Algoritma Nazief Adriana. Berdasarkan algoritma tersebut, berikut ini adalah langkah-langkah proses stemming :
1. Kata yang belum di stemming dibandingkan ke dalam database kamus kata dasar. Jika idtemukan, maka kata tersebut diasumsikan sebagai kata dasar dan algoritma berhenti. Jika ditdak sesuai, maka lanjut ke langkah 2.
2. Hilangkan partikel dan kata ganti kepemilikan. Pertama hilangkan partikel seperti lah”, “-kah”,”-tah”, “-pun”. Setelah itu hilangkan juga kata ganti kepemilikan, seperti “-ku”, “-mu”, “-nya”. Contohnya seperti “barangnyapun”, kemudian setelah di stemming menjadi “barangnya” dan proses stemming kedua menjadi “barang”.
3. Hilangkan akhiran seperti “-i”, “-an”, “-kan”. Contohnya seperti kata “memberikan” menjadi “memberi”. Jika tidak ada dalam kamus database dasar, maka dilakukan proses penghialngan awalan. Setelah itu proses stemming kedua menjadi “beri”.
4. Penghilangan awalan “-be”, “di-“, “ke”, “me”, “pe-”, “se-”, “te-”. Mengikuti langkah-langkah berikut :
1. Algoritma akan berhenti jika, awalan diidentifikasi bentuk sepasang imbuhan yang tidak diperbolehkan dengan akhiran “be-lah”, “be-an”, “me-i”, “di-“me-i”, “pe-“me-i”, dan “te-i” yang dihapus. Diidentifikasi awalan yang sekarang indentik dengan awalan yang telah dihapus sebelumnya atau kata tersebut sudah tidak memiliki awalan.
2. Identifikasi jenis awalan dan peluruhannya bila diperlukan. Jenis awalan ditentukan dengan aturan seperti :
a. Jika awalan dari kata adalah “di”, “ke”, “se” maka awalan dapat langsung dihilangkan.
b. Hapus awalan “te”, “be”, “me”, atau “pe”. Sebagai contoh kat “menempel” menjadi “nempel”. Karena kata “nempel” tidak ditemukan dalam database kata dasar maka karakter “n” diganti dengan karakter “t” sehingga menjadi “tempel” dan kata tersebut merupakan kata yang sesuai denga kata yang ada dalam database kata dasar.
Tabel Tahapan Stemming
N o
Contoh Data
Data Uji Stemming
1 cape banget ya pake indihome, lama-lama pindah provider deh
cape banget ya pake indihome, lama-lama pindah provider deh
2 admin terhormat meminta teknisi datang kerumah, tapi tidak sampai skrg �
admin hormat minta teknisi datang rumah, tapi tidak sampai skrg �
3 selamat pagi admin, minta tolong untuk teknisi datang kerumah ya. karena error melewati dua hari �
selamat pagi admin, minta tolong untuk teknisi datang rumah ya. karena error melewati dua hari �
Proses Convert Emoticon
Proses convert emoticon yang dilakukan adalah megconvert icon sedih atau senang menjadi text. Pada kali ini emoticon yang digunakan hanya senang dan sedih, selain dari emoticon tersebut akan diabaikan.
Tabel Aturan Convert Emoticon
Kondisi Aksi
Jika inputan data uji mengandung emoticon. Maka akan mengconvert emoticon dalam data uji.
Jika inputan data uji tidak mengandung emoticon.
Maka tidak akan mengconvert emoticon dalam data uji.
Berikut ini adalah contoh tahapan convert emoticon : Tabel Tahapan Convert Emoticon
N o
Contoh Data
Data Uji Convert Emoticon
1 cape banget ya pake indihome, lama-lama pindah provider deh
cape banget ya pake indihome, lama-lama pindah provider deh
2 admin hormat minta teknisi datang rumah, tapi tidak sampai skrg �
admin hormat minta teknisi datang rumah, tapi tidak sampai skrg emotsedih
3 selamat pagi admin, minta tolong untuk teknisi datang rumah ya. karena error melewati dua hari �
selamat pagi admin, minta tolong untuk teknisi datang rumah ya. karena error melewati dua hari emotsenang
Proses Tokenisasi
Tokenisasi adalah proses dimana pemotongan string input berdasarkan kata yang menyusunnya, serta membedakan karakter tertentu yang dapat diperlakukan sebagai pemisah kata atau bukan. Berikut ini adalah langkah-langkah dalam tahapan tokenisasi :
1. Kata yang digunakan adalah hasil dari convert emoticon.
2. memotong setiap kata dalam teks, seperti titik (.), koma(,), dan spasi. 3. Bagian yang memiliki karakter non alphabet dan angka akan dibuang.
4. Kemudian akan dilakukan pemotongan kata, ada beberapa aturan agar sesuai dengan yang diharapkan. Berikut ini adalah aturannya :
Tabel Aturan Tokenisasi
Kondisi Aksi
Jika inputan data bertemu spasi. Maka akan memecah dari kalimat menjadi kata perkata.
Jika inputan data memiliki huruf. Tidak ada aksi.
Tahap 4 : Tahap Klasifikasi
Tahapan klasifikasi digunakan untuk menentukan apakah data yang diuji termasuk ke dalam sentimen positif atau negatif. Pada tahap ini dgunakan metode Naïve Bayes. Metode yang terdiri dari 2 proses, yaitu : training dan testing.
Training
Sebelum melakukan klasifikasi dengan metode ini, ada hal yang perlu diperhatikan sebelumnya, yaitu :
1. Kosakata
Kosakata adalah jumlah kata atau term pada semua data latih. Data latih yaitu data tweet yang sudah sudah melewati tahapan preprocessing. Data yang dipakai sebagai contoh adalah data ke 5. Berikut ini adalah contoh tweet yang telah diklasifikasikan secara manual.
Tabel : Humpunan Data Latih
Data Hasil Tokenisasi Sentimen (V)
Tweet 1 Hallo Positif
Tweet 2 Admin Positif
Tweet 3 Mau Positif
Tweet 4 Tanya Positif
Tweet 5 Kenapa Positif
Tweet 6 Jaringan Positif
Tweet 7 Rumah Positif
Tweet 8 Jelek Negatif
Tweet 9 Lemot Negatif
Tweet 10 Kenapa Positif
Tweet 11 Lewati Negatif
Tweet 12 Dua Positif
Tweet 13 Hari Positif
Tweet 14 Tidak Negatif
Tweet 15 Respon Negatif
Tweet 16 Sedih Negatif
Hasil tersebut diproses dengan melakukan pembagian atau memecah kalimat sehingga menghasilkan kata. Kata kemudian dihitung kemunculan kata pada setiap sentimennya, seperti tabel dibawah ini.
Tabel Kemunculan Kata Pada Tiap Sentimen
Term Jumlah Kemunculan Data Latih Positif (Vj)
Jumlah Kemunculan Data Latih Negatif (Vj) Hallo 1 0 Admin 1 0 Mau 1 0 Tanya 1 0 Kenapa 2 0 Jaringan 1 0 Rumah 1 0 Jelek 0 1 Lemot 0 1 Lewati 0 1 Dua 1 0 Hari 1 0 Tidak 0 1 Respon 0 1 Sedih 0 1 ∑kosakata = 15 ∑n = 10 ∑n = 6 2. Menghitung PriorProbability Rumus = P(Vj) =
- Positif / Negatif = - Positif = = 0,67 => Log 0,67 = -0,17392 - Negatif = = 0,4 => Log 0,4 = -0,39794 3. Menghitung Likelihood Rumus = P( | )= = Testing
Proses testing ini dibagi menjadi beberapa tahapan, yaitu
1. Mengambil data uji. Dat auji adalah data tweet yang belum di klasifikasikan, data uji merupakan hasil dari tahap tokenisasi pada preprocessing.
2. Term data uji dihitung dengan rumus Likelihood 3. Jumlahkan total likelihood berdasarkan sentimen 4. Hitung posterior probabilitas positif dan negatif. HASIL
Hasil Pengujian Perhitungan Klasifikasi
Pada pengujian aplikasi analisis sentimen data yang akan diambil menjadi sample ada 10 tweet dari 100 tweet pada twitter akun Indihome.
1 min kok lemot bgt dari semalem @IndiHome (Positif)
2 @IndiHome Hari ini harus selesai. Tidak ada Waktu Lagi (Positif)
3 Cek dm ya kakk makasih @IndiHome (Positif)
4 @IndiHome sudah, tolong segera hubungi saya ya (Positif)
5 @IndiHome kak, indihome lelet banget ih. akhir-akhir ini jaringan suka ilang-ilangan � nonton youtube kualitas 144p juga masih load duh (Negatif)
6 @IndiHome apa bisa di setting kak biar bisa 2 port kak??? (Positif)
7 @IndiHome Sudah min, tolong segera di proses ya (Positif)
8 Wah ini gimana ya @IndiHome jaringanya kok gabisa dipakek buat aplikasi zoom? Haloo pas dibutuhin kok ampas ya. (Positif)
9 RT @TelkomIndonesia: Untuk info lengkap mengenai IndiHome Smart Safety, Sobat bisa bertanya langsung ke @IndiHome. #SelaluAda #UntukIndone… (Negatif)
10 @IndiHome Kaloo mauu buat IP camera kan saya butuh 2 port kakk,jadi hrs beli switch hub dlu ya kak (Negatif)
Hasil Pengujian
No Sentimen Asli Prob. Positif Prob. Negatif Hasil Analisis Hasil 1 Positif 0,00897 0,00696 Positif Akurat 2 Positif 0,50764 0,49235 Negatif Tidak Akurat 3 Positif 0,00317 0,00053 Positif Akurat 4 Positif 0,00029 0,00013 Positif Akurat
5 Negatif 0,00006 0,00001 Negatif Akurat
6 Positif 0,0012 0,00027 Positif Akurat
7 Positif 0,00712 0,00268 Positif Akurat
8 Positif 0,00005 0,00014 Negatif Tidak Akurat 9 Negatif 0,00271 0,00922 Positif Tidak Akurat 10 Negatif 0,00081 0,00012 Positif Tidak Akurat
Visualisasi Data
Hasil dari pengolahan data dari proses pengklasifikasian analisis sentimen berdasarkan tweet yang diambil dari twitter akan di visualisasikan dalam bentuk grafik histogram. Data yang ditampilkan dalam grafik merupakan hasil klasifikasi dan persentase analisis sentimen yang telah di proses sebelumnya.
Gambar Tampilan Hasil Grafik Klasifikasi berupa Grafik
Gambar Tampilan Hasil Grafik Klasifikasi berupa Tabel Pengujian Confusion Matrix
Pengujian akurasi dilakukan untuk mengetahui tingkat akurasi yang dilakukan secara manual dengan klasifikasi tweet yang dilakukan oleh sistem menggunakan naïve bayes. Pengujian dilakukan menggunakan 10 data uji yang diambil secara acak dan sudah diberi label. Data uji tersebut akan dibandingkan dengan klasifikasi yang dilakukan oleh sistem.
Tabel Confusion Matrix
Jumlah Data Uji = 10 Sentimen Hasil Analisis Positif
Sentimen Hasil Analisis Negatif
Sentimen Asli POSITIF True Positif = 6 False Negatif = 2 Sentimen Asli NEGATIF False Positif = 2 True Negatif = 1
Setelah itu dilakukan klasifikasi, lalu hitung nilai precision, recall dan akurasi.
1. Menghitung Akurasi
Akurasi = = Akurasi = = 0.6
2. Menghitung Tingkat Kesalahan Sistem Error Rate = 1 - Akurasi
Error Rate = 1 – 0,6 = 0,4 3. Menghitung Presisi Presisi Positif = = = 0,7 Presisi Negatif = = = 0,3 4. Menghitung Recall/Sensitivity Sensitivity = = = 0,7 5. Menghitung Specificity Sensitivity = = = 0,3 PENUTUP Kesimpulan
Penelitian ini berhasil mengklasifikasikan sebuah analisis sentimen data tweet dari Twitter pada akun Indihome, pada tahapan klasifikasi memiliki 2 tahap yaitu tahap training dan tahap testing. Proses training digunakan untuk menghitung nilai probabilitasnya sedangkan proses testing digunakan untuk menentukan klasifikasi sentimen dari data yang diujikan.Berdasarkan hasil implementasi dari pengujian maka didapat hasil akurasi 60% dengan tingkat kesalahan sistem sebesar 40%. Hasil presisi positif 0,7 dan presisi negatif 0,3. Hasil recall sebesar 0,7 dan specifity sebesar 0,3. Kesimpulan yang diperoleh dari pengujian akurasi ini adalah bahwa naïve bayes classifier dapat digunakan sebagai metode pengklasifikasian pada analisis sentimen karena tingkat akurasinya yang tinggi.
Saran
Agar aplikasi analisis sentimen ini dapat lebih baik lagi, maka dapat dilakukan pengembangan lebih lanjut seperti pada kata-kata sarkasme yang hampir tidak dapat dibedakan, atau dapat menggunakan metode lainnya juga untuk membandingkan keakurasiannya, dan menambahkan fitur lainnya agar tampilan lebih menarik.
DAFTAR PUSTAKA
[1] Eril. 2019. Data Jumlah Pengguna Internet di Indonesia Saat Ini. https://qwords.com/blog/jumlah-pengguna-internet-di-indonesia/. Di Akses 19 Juli 2020.
[2] Prajarto, YA Nunung, dkk. 2019. Preferensi Informasi dan Perilaku Bermedia Warganet di Akun Instagram Media Informasi Selebritas. Ilmu Komunikasi 16(2):191.
[3] Fajarwati, Yuliana. 2019. Analisis Sentimen Terhadap Transportasi Umum MRT Jakarta Pada Twitter Berbahasa Indonesia Menggunakan Metode Naïve Bayes Classifier [Skripsi]. Jakarta: Universitas Gunadarma.
[4] Rozi, Imam Fahrur, dkk. 2012. Implementasi Opinion Mining (Analisis Sentimen) untuk Ekstraksi Data Opini Publik pada Perguruan Tinggi. Jurnal EECCIS Vol. 6, No. 1.
[5] Syarifuddinn, M. 2020. Analisis Sentimen Opini Publik Mengenai Covid-19 Pada Twitter Menggunakan Metode Naïve Bayes Dan Knn. INTI Nusa Mandiri, 15(1), 23-28.
[6] Saraswati, Ni Wayan Sumartini. 2013. Naïve Bayes Classifier Dan Support Vector Machines Untuk Sentiment Analysis [Skripsi]. Denpasar: STMIK Denpasar.
[7] Yulio, Anggi. Text Preprocessing dengan Python NLTK. https://devtrik.com/python/text-preprocessing-dengan-python-nltk/. Di Akses 21 Juli 2020.
[8] Wibowo, Julianto. 2016. Aplikasi Penentuan Kata Dasar Dari Kata Berimbuhan Pada Kalimat Bahasa Indonesia Dengan Algoritma Stemming. Jurnal Riset Komputer (JURIKOM), Volume : 3, Nomor: 5. [9] Fatimah, Neneng Siti, dkk. 2008. Analisis Klasifikasi Dokumen Berita Berbahasa Indonesia Menggunakan Metode Centroid Based Classifier Analysis Of Indonesian News Document Classification Using Centroid Based Classifier Method [Skripsi]. Bandung: Telkom University.
[10] Hairani, gibran satya nugraha, dkk. 2018. Komparasi akurasi metode correlated naive bayes classifier dan naive bayes classifier untuk diagnosis penyakit diabetes. Jurnal Nasional Informatika dan Teknologi Jaringan, Volume 3, Nomer 1.
[11] Andre, Petrus. 2014. Macam-macam Struktur Navigasi Pada Website. https://www.andre.web.id/struktur-navigasi-website/. Di Akses pada 25 Juli 2020.
[12] Nugroho, Kuncahyo Setyo. 2019. Confusion Matrix untuk Evaluasi Model pada Supervised Learning. https://medium.com/@ksnugroho/confusion-matrix-untuk-evaluasi-model-pada-unsupervised-machine-learning-bc4b1ae9ae3f. Di Akses pada 25 Juli 2020
[13] Pratama, Aditya Rahmatulloh. 2019. Belajar Unified Modeling Language (UML) – Pengenalan. https://www.codepolitan.com/unified-modeling-language-uml. Di Akses pada 25 Juli 2020
[14] Tineges, Rian, Agung Triayudi*, dan Ira Diana Sholihati. 2020. Analisis Sentimen Terhadap Layanan Indihome Berdasarkan Twitter Dengan Metode Klasifikasi Support Vector Machine (SVM). Jurnal Media Informatika Budidarma Volume 4, Nomor 3.
[15] Feldman, R & Sanger, J. 2007. The Text Mining Handbook : Advanced Approaches in Analyzing Unstructured Data. Cambridge Univerity Press : New York.
[16] Herdiawan. 2020. Analisis Sentimen Terhadap Telkom Indihome Berdasarkan Opini Publik Menggunakan Metode Improved K-Nearest Neighbor. Jurnal Ilmiah Komputer dan Informatika (KOMPUTA).
[17] Suryani, Ni Putu Sri Merta, Linawati, dan Komang Oka Saputra. 2019. Penggunaan Metode Naïve Bayes Classifier pada Analisis Sentimen Facebook Berbahasa Indonesia. Majalah Ilmiah Teknologi Elektro, Vol. 18, No. 1.
[18] http://tkjpnup.blogspot.com/2013/12/black-box-testing-dan-white-box testing.html. Di Akses 26 Juli 2020
[19] Sunardi, Abdul Fadlil, dan Suprianto. 2018. Analisis Sentimen Menggunakan Metode Naïve Bayes Classifier Pada Angket Mahasiswa. Jurnal Sains dan Teknologi Volume: 10 No. 02.