Abstrack - The movie is one of the most interesting topics to talk about. When someone writes
opinions of a movie, all the elements in the movie will be written down. Opinion movie to be taken on
this research is from twitter. The number of opinions written on Twitter requires classification
according to the sentiments that are owned for easy to get the tendency of opinion to the movie
whether tending to positive or negative opinion. The algorithm to be used in this research is Naive
Bayes Algorithm. Based on the experimental results, the sentimental analysis that can be done by the
system with accuracy is 90% with the details of 92% precision value, 90% recall and f-measure 90%.
Intisari - Film merupakan salah satu topik yang sangat menarik untuk dibicarakan. Ketika seseorang
menulis opini suatu film, maka semua unsur yang ada di dalam film tersebut akan dituliskan. Data
opini film pada penelitian ini diambil dari komentar film yang ditulis di twitter. Banyaknya opini yang
dituliskan di twitter membutuhkan pengklasifikasian sesuai sentimen yang dimiliki agar mudah untuk
mendapatkan kecenderungan opini tersebut terhadap film apakah cenderung beropini positif atau
negatif. Algoritma yang akan digunakan pada penelitian ini adalah Algoritma Naive Bayes.
Berdasarkan hasil eksperimen, analisis sentimen yang dapat dilakukan oleh sistem dengan akurasi
yang didapat adalah 90 % dengan rincian nilai precission 92%, recall 90% dan f-measure 90%. .
50
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
seseorang menulis opini suatu film, maka interaksi antara komputer dengan bahasa
semua unsur yang ada di dalam film (alami) manusia. NLP berupaya
tersebut akan dituliskan. Banyak pengguna memecahkan masalah untuk memahami
twitter yang memberikan tanggapan tentang bahasa alami manusia, dengan segala aturan
film yang pernah mereka tonton dalam gramatikal dan semantiknya, dan mengubah
bentuk opini berupa pengalaman baik bahasa tersebut menjadi representasi formal
maupun buruk. Hal tersebut menjadikan yang dapat diproses oleh komputer [7].
film memiliki berbagai macam topik yang Penelitian dalam bidang analisis
informasinya bisa digali kembali. sentimen dewasa ini banyak dilakukan
Data dari twitter ini memiliki karena topik ini sangat menarik untuk
karakteristik yang tidak terstruktur dan dibahas salah satunya adalah penelitian
banyak memuat noise sehingga dibutuhkan Ratnawati, dkk (2017) tentang
teks mining yang memiliki peran penting pengklasifikasian opini film yang data
dalam bidang data mining. komentarnya diambil dari komentar yang
Teks mining merupakan proses dituliskan di twitter berdasarkan sentimen
ekstraksi pola (informasi dan pengetahuan positif, sentimen negatif dan sentimen
yang berguna) dari sejumlah data tak netral pada level kalimat. Analisis sentimen
terstruktur yang nantinya akan diperoleh dilakukan dengan menggunakan metode
pola-pola data, tren dan ekstraksi deep learning dengan akurasi yang didapat
pengetahuan yang potensial dari data teks 80,99%.
[3]. Masukan untuk penambangan teks Penelitian yang dilakukan Falahah, dkk
adalah data yang tidak (atau kurang) (2015) tentang pengklasifikasian opini
terstruktur, seperti dokumen, word, PDF, publik pada twitter terkait layanan
kutipan teks dll sedangkan masukan untuk pemerintah terhadap masyarakat
penambangan data adalah data yang berdasarkan sentimen positif, sentimen
terstruktur [4]. Salah satu tujuan negatif dan sentimen netral menggunakan
penggunaan teks mining adalah analisis pendekatan Naive Bayes.
sentimen. Sistem yang dibuat pada penelitian ini
Analisis sentimen adalah riset untuk melakukan analisis sentimen yaitu
komputasional dari opini, sentimen dan sentimen positif dan negatif menggunakan
emosi yang diekpresikan secara tekstual [5]. algoritma Naive Bayes dengan data opini
Untuk melakukan analisis sentimen ada diambil dari twitter.
beberapa algoritme yang dapat digunakan
salah satunya adalah algoritme Naive II. SIGNIFIKASI STUDI
Bayes. A. Studi Literatur
Naive Bayes classifier merupakan 1. Analisis Sitem
sebuah metode klasifikasi yang berakar Penelitian ini mengimplementasikan
pada teorema Bayes. Metode metode Naive Bayes Classifier kedalam
pengklasifikasian dengan menggunakan suatu sistem untuk mengklasifikasikan data
metode probabilitas dan statistik yaitu kedalam sentimen positif dan sentimen
memprediksi peluang berdasarkan negatif berdasarkan data ulasan komentar
pengalaman di masa sebelumnya (Teorema film yang telah dikumpulkan.
Bayes) dengan ciri utamnya adalah asumsi Sistem yang akan dibangun terdiri dari
yang sangat kuat (naif) akan empat proses utama, yaitu pengumpulan
ketergantungan dari masing-masing data, preprocessing, pelabelan dan
kondisi/kejadian [6]. klasifikasi data. Data yang akan digunakan
Natural Language Processing (NLP) adalah data tweet komentar film berbahasa
adalah penerapan ilmu komputer, Indonesia. Data tweet ini diperoleh dengan
khususnya linguistik komputasional membuat program scraping menggunakan
(computational linguistics), untuk mengkaji library scrapy yang disediakan oleh python.
51
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
Penelitian ini diawali dengan melakukan keseluruhan. Data uji digunakan untuk
pengumpulan data tweet dengan cara mengukur sejauh mana classifier berhasil
scraping tweet yang mengandung hastag melakukan klasifikasi dengan benar.
#judul film yang diinginkan menggunakan Jumlah data yang digunakan dalam
library scrapy yang disediakan oleh Python. penelitian ini adalah 20% dari data
Pengumpulan data ini dilakukan dengan keseluruhan. Selanjutnya kedua bagian
memanfaatkan API Search Twitter. Data tersebut dikenakan proses preprocessing.
tweet yang dikumpulkan antara lain id, Pemrosesan teks merupakan proses
username, index, data_id, url, tanggal dan menggali, mengolah, mengatur informasi
waktu tweet, isi tweet, original_tweet. dengan cara menganalisis hubungannya,
Dalam proses scraping, secara otomatis aturan-aturan yang ada di data tekstual semi
akan mengambil data tweet yang terstruktur atau tidak terstruktur. Untuk
mengandung kata judul film dengan jangka lebih efektif dalam pemrosesan dilakukan
waktu data yang diambil bisa ditentukan. langkah transformasi data ke dalam suatu
Data tweet yang terkumpul secara otomatis format yang memudahkan untuk kebutuhan
akan tersimpan dalam database mongodb. pemakai. Preprocessing merupakan salah
Dari mongodb data akan diekspor ke file.txt satu langkah yang penting dalam analisis
dan nantinya akan melewati tahap sentimen. Adapun tahapan preprocessing-
pelabelan dan selanjutnya preprocessing. nya antara lain:
Database yang digunakan diberi nama Case folding
sesuai judul film yang diambil dimana Pada tahap ini, semua huruf akan diubah
didalam database tersebut terdapat 1 menjadi lowercase atau huruf kecil. Berikut
collection (tabel) yang akan disimpan data adalah langkah-langkah case folding:
hasil scraping-nya. Pada setiap tabel 1. Memeriksa ukuran setiap karakter dari
terdapat 8 fields (kolom) yaitu id, awal sampai akhir karakter.
user_name, index, data_id, url, time_tweet, 2. Jika ditemukan karakter yang
text_tweet, original_tweet. Pada fields id menggunakan huruf kapital
MongoDB secara otomatis membuatkan (uppercase), maka huruf tersebut akan
primary key di fields_id dan akan terisi diubah menjadi huruf kecil (lower
secara otomatis. Untuk fields username case)
berisi nama pengguna twitter. Index berisi Gambaran proses tahap case folding dapat
urutan tweet. Data_id berisi data pengguna dilihat pada tabel I.
twitter. Url berisi alamat file internet.
Time_tweet adalah waktu tweet ditulis. TABEL I. CONTOH CASE FOLDING
Data Input Data Output
Text_tweet adalah isi dari tweet dan
Film ini Sarat dengan film ini sarat dengan
original_tweet adalah keseluruhan isi tweet. petualangan seru nan petualangan seru nan
Tahap berikutnya adalah pelabelan tweet mendebarkan ala Alien mendebarkan ala alien
secara manual sesuai dengan sentimen yang
sudah ditentukan sebelumnya yaitu 2. Normalisasi Fitur
sentimen positif untuk opini film yang Ada beberapa komponen khas yang
bersifat positif dan sentimen negatif untuk biasa ada di tweet yakni username, URL
opini film yang bersifat negatif. (Uniform Resource Locator), dan karakter
Setelah seluruh data memiliki kelas masing- khusus seperti hashtag (#), retweet(RT),
masing kemudian dilakukan pemisahan data tanda baca (,.?! dll), karakter lainnya
menjadi dua bagian yaitu data training dan ($,%,*, dll). Karena username, URL,
data testing. Data latih digunakan untuk karakter khusus, tanda baca dan karakter
mengklasifikasikan tweet pada kelas lainnya tidak memiliki pengaruh apapun
sentimennya dan jumlah datanya lebih terhadap nilai sentimen, maka komponen-
banyak. Dalam penelitian ini untuk data komponen khas diatas akan dibuang.
latih sebanyak 80% dari total data Komponen username diidentifikasi dengan
52
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
kemunculan karakter „@‟. Selain username, menghitung akurasi, precision, recall dan f-
karakter „@‟ biasa juga digunakan untuk measure.[8]. Akurasi merupakan persentase
pemanggilan tempat seperti @CinemaXXI. dari total sentimen yang benar dikenali.
Namun nama tempat tersebut tidak Perhitungan akurasi dilakukan dengan cara
memiliki pengaruh pada analisis sehingga membagi jumlah data sentimen yang benar
nama tempat juga harus dihapus. Pada dengan total data dan data uji. Untuk
komponen URL dikenali melalui ekspresi menghitung nilai akurasinya dilakukan
regular (seperti http, www). Berikut dengan menggunakan Persamaan (1).
langkah-langkah pada tahap normalisasi
fitur: (1)
a. Data yang digunakan hasil dari case
folding. Untuk pengukuran performa klasifikasi
b. Hasil dari case folding akan diperiksa cara yang digunakan selain menghitung
apakah terdapat username, URL, akurasi adalah menghitung precission,
karakter khusus, tanda baca dan karakter recall dan f-measure. Precision merupakan
lainnya. perbandingan jumlah data relevan yang
c. Jika terdapat username, URL, karakter ditemukan terhadap jumlah data yang
khusus, tanda baca dan karakter lainnya ditemukan. Perhitungan precision dilakukan
maka akan dihilangkan. dengan cara membagi jumlah data benar
Gambaran proses tahap normalisasi fitur yang bernilai positif dibagi dengan jumlah
dapat dilihat pada Tabel II. data benar yang bernilai positif dan data
salah yang bernilai positif. Nilai dari data
TABEL II. CONTOH NORMALISASI FITUR salah bernilai positif diambil dari jumlah
Data Input Data Output nilai selain true positive kolom yang sesuai
Film ini Sarat dengan film ini sarat dengan tiap kelasnya. Untuk menghitung nilai
petualangan seru nan petualangan seru nan precision dapat dilakukan dengan
mendebarkan ala Alien mendebarkan ala alien
@CGV Blitz#5thave menggunakan Persamaan (2).
53
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
hasil perkalian precision dan recall dibagi 3. Data dan Kelas data
dengan hasil penjumlahan precision dan Data input merupakan data yang
recall kemudian dikalikan dua dan digunakan sebagai masukan pada sistem
perhitungan f-measure menggunakan yang dibangun. Data tersebut kemudian
Persamaan (4). akan diolah dan digunakan lebih lanjut
untuk mendapatkan output yang diinginkan.
(4) Data input yang digunakan adalah data
tweet opini film berbahasa Indonesia. Data
tweet komentar film diperoleh dengan
Untuk lebih jelasnya alur penelitian dapat melakukan scraping pada halaman
dilihat pada Gambar 2. search.twitter.com sesuai dengan judul film
yang dimasukkan.
Langkah awal penelitian Tweet yang dikumpulkan adalah tweet
yang mengandung hastag #judul film.
Pengambilan data tweet yang akan
Data training Data testing
digunakan dalam penelitian ini dimulai
sejak tanggal 1 Januari 2015 sampai 31
Perangkat Lunak
Desember 2015. Data yang dipakai
- Preprocessing sebanyak 500 kalimat.
- Mendapatkan model probabilitas dengan data training
- menguji probabilitas dengan data testing
Data dibagi menjadi dua sentimen yaitu
sentimen positif untuk komentar atau opini
film yang bersifat positif dan sentimen
hasil klasifikasi
Fold cross validation negatif untuk komentar atau opini film yang
bersifat negatif.
Gambar 2. Alur Penelitian
Naive Bayes
Classifier Gambar 4.
Data yang
sudah dilabeli
Data bersih tweet Data training Naive Bayes
Hasil analisis komentar film Classifier
sentimen
Case Folding
preprocesing
Normalisasi fitur
Prediksi sentimen
tweet testing
Data bersih
54
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
bagian yaitu data untuk proses training atau tweet positif dan 200 tweet negatif untuk
pelatihan dan data untuk proses testing atau melatih classifier dan disimpan di file .txt
pengujian. Pada data training, data yang dengan nama file positif.txt dan negatif.txt.
digunakan harus sudah terlebih dahulu Kemudian diatur juga untuk data tes
dilabeli dan juga harus melalui proses sehingga dapat dinilai ketepatan dari
preprocesing untuk dijadikan input dari classifier terlatih.
penggunaan metode Naive Bayes Classifier Pada implementasinya diambil kedua
dan disimpan sebagai model data dengan data yaitu data positif dan data negatif dan
ekstensi .pickle (dot pickle). Pada proses membuat daftar tuple tunggal dengan
training sistem akan membaca data tweet masing-masing berisi dua elemen. Elemen
yang dimasukkan selanjutnya sistem hanya pertama adalah array yang berisi kata-kata
akan mengambil kata yang terdiri dari 3 dan elemen kedua berisi jenis sentimen.
atau lebih karakter. Jika kata yang Kata yang kurang dari tiga huruf
dimasukkan kurang dari 2 karakter maka dihilangkan dan menggunakan huruf kecil
akan dihapus secara otomatis oleh sistem. semua. Daftar fitur kata perlu diekstrak dari
Selanjutnya sistem akan melakukan proses tweet. Fitur ini berisi daftar setiap kata-kata
ekstraksi fitur kata dan selanjutnya unik yang diurutkan berdasarkan frekuensi
menyimpan model data. kemunculan. Menggunakan fungsi untuk
Pada bagian proses testing atau menampilkan daftar fitur kata, fungsi
pengujian digunakan data baru yang tidak ekstrak kata dari tweet dan fungsi untuk
terdapat pada proses training. Berbeda menghitung frekuensi kemunculan.
dengan data training, data testing tidak Untuk membuat classifier, kita perlu
diperlukan pelabelan tetapi harus melalui menentukan fitur apa saja yang sesuai atau
proses preprocessing. Ketika data testing relevan. Untuk melakukan itu pertama yang
dimasukkan kedalam sistem, proses yang diperlukan adalah ekstraksi fitur. Yang
akan dilalui adalah penentuan fitur, nantinya akan kita gunakan kembali sebagai
mengekstrak fitur dan kamus untuk menunjukkan kata-kata apa
mengklasifikasikannya sesuai dengan yang terkandung dalam input. Yang
model yang sudah dibuat. Sistem akan dimaksud disini adalah input tweet.
memberikan output dari hasil klasifikasi Naive Bayes classifier menggunakan
sistem yaitu negatif atau positif sesuai prior probability (yaitu nilai probabilitas
dengan model data. yang diyakini benar sebelum melakukan
eksperimen) dari setiap label yang
5. Naïve Bayes Classifier merupakan frekuensi masing-masing label
Pada pengujian Naive Bayes classifier pada training set dan kontribusi dari
ini menggunakan library NLTK. Tujuan masing-masing fitur.
pengujian ini adalah untuk dapat secara Berdasarkan dari ciri alami dari sebuah
otomatis mengklasifikasikan tweet sebagai model probabilitas, klasifikasi Naive Bayes
sentimen tweet yang positif atau negatif. bisa dibuat lebih efisien dalam bentuk
Dalam metode Naive Bayes Classifier pembelajaran supervised atau terawasi.
dilakukan proses pengklasifikasian teks Dalam beberapa bentuk praktiknya,
berdasarkan data latih yang sebelumnya parameter untuk perhitungan model Naive
sudah disimpan. Pada implementasinya Bayes menggunakan metode maximum
terdapat tiga tahap yaitu membuat daftar likelihood atau kemiripan tertinggi
tuple tunggal, membuat daftar fitur kata, Untuk ranah klasifikasinya yang
dan membuat classifier. dihitung adalah P(H|X), yaitu peluang
Classifier perlu dilatih dan untuk bahwa hipotesa benar (valid) untuk data
melakukannya diperlukan daftar tweet yang sample X yang diamati dapat diterapan
diklasifikasikan secara manual. Pada pada persamaan 5.
implementasinya digunakan sekitar 200
55
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
56
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
57
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
mengenali data uji akan lebih baik karena tersebut termasuk kaliamat positif. Kendala
sistem mampu mengenali banyak kalimat tersebut mengakibatkan kinerja sistem tidak
dan kosakata yang bervariasi yang berjalan secara maksimal karena sistem
dijadikan sebagai pembelajaran oleh sistem. mendeteksi klasifikasi sentimen pada
kalimat yang berada diawal saja. Salah satu
2. Terdapat Dataset yang tidak tepat contohnya yaitu kalimat pada data training
Terdapat kesalahan dalam proses “saya bilang ini film keren walaupun tidak
klasifikasi sistem yang disebabkan oleh seratus persen menghibur”. Dalam
penggunaan dataset yang kurang tepat. klasifikasi data manual kalimat tersebut
Keadaan ini yang menyebabkan banyak masuk dalam kategori sentimen negatif
ditemukan fitur kemunculan data yang tetapi pada saat klasifikasi menggunakan
bukan termasuk kategorinya pada data uji sistem, kalimat tersebut masuk dalam
yang digunakan. Contohnya dataset yang kategori sentimen positif karena pada awal
digunakan dalam data positif terdapat kata kalimat terdapat kata yang mengandung
“lucu”, kemudian pada data negatif juga sentimen positif
terdapat kata “lucu” yang berasal dari kata
“tidak lucu”. Kata yang sama pada dataset IV. KESIMPULAN
positif dan negatif inilah yang Sesuai dengan tujuan penelitian ini
mengakibatkan kesalahan dalam proses yaitu mengimplementasikan algoritme
klasifikasi data. Kalimat “filmnya sangat Naive Bayes Classifier terhadap analisis
lucu” yang sebenarnya terklasifikasi sentimen data opini film berbahasa
menjadi kalimat positif akan dikenali sistem Indonesia pada twitter telah berhasil
sebagai kalimat negatif karena pada saat dilakukan. Dari hasil pengujian dan analisis
sistem bekerja kalimat tersebut akan masuk yang telah dilakukan dapat disimpulkan
dalam klasifikasi negatif, karena dalam beberapa hal yaitu pengklasifikasian data
kalimat tersebut terdapat kata “lucu” dan opini film berbahasa Indonesia berdasarkan
kata “sangat tidak lucu” ada dalam dataset sentimennya dapat dilakukan dengan
negatif. Jadi dapat disimpulkan bahwa algoritme Naive Bayes Classifier dengan
permasalahan penggunaan dataset yang pembagian datasetnya menggunakan 5-fold
didalamnya terdapat kata yang sama maka cross validation. Semakin banyak data
akan mempengaruhi proses klasifikasi pada training yang digunakan maka akan
sistem. Permasalahan tersebut juga dapat mempengaruhi kinerja dari sistem. Hasil
mempengaruhi tingkat akurasi sistem, akurasi akan semakin tinggi dan itu
sehingga mengakibatkan kinerja sistem menandakan sistem berhasil melakukan
tidak berjalan secara maksimal. klasifikasi dengan baik. Akurasi tertinggi
didapat pada fold kedua yaitu 90%,
3. Kendala memahami klasifikasi precision 92%, Recall 90% dan f-measure
sentimen 90%.
Kendala yang sering ditemui dalam
memahami kalimat untuk diolah dalam REFERENSI
proses klasifikasi sentimen yaitu ketika
menjumpai kaimat awal yang memberikan [1] D'Monte, Leslie, Swine Flu's Tweet
persepsi bahwa kalimat tersebut merupakan Tweet Causes Online Flutter.New
kalimat positif kemudian diakhir kalimat Delhi, 2009
memberikan persepsi bahwa kalimat [2] Ratnawati. F, Winarko. E, Analisis
tersebut termasuk kalimat negatif ataupun Opini Film pada Twitter
kalimat yang awalnya memberikan persepsi Menggunakan Algoritme Dynamic
bahwa kalimat tersebut merupakan kalimat Convolutional Neural Network,
negatif kemudian diakhir kalimat Thesis, Universitas Gadjah Mada,
memberikan persepsi bahwa kalimat Yogyakarta, Indonesia, Jan 2018
58
JURNAL INOVTEK POLBENG - SERI INFORMATIKA, VOL. 3, NO. 1 , JUNI 2018 ISSN : 2527-9866
[3] Turban, E.; et.al. Decision Support [9] M. Wegmuller, J. P. von der Weid, P.
and Business Intelligence Systems Oberson, and N. Gisin,
(edisi ke-9). New Jersey: Pearson “Highresolution fiber distributed
Education, Inc. 2011 measurements with coherent OFDR,”
[4] R. Feldman, and J. Sanger, “The Text in Proc. ECOC’00, 2000, paper
Mining Handbook Addvances 11.3.4, p. 109
Approaches in Analyzing [10] Nurrohmat, M. A., Aplikasi
Unstruktured Data.” Cambridge Pemrediksi Masa Studi dan Predikat
University Press, New York, 2007. Kelulusan Mahasiswa Informatika
[5] Liu. B, Sentiment Analysis and Universitas Muhammadiyah
Subjectivity, 2010. Surakarta Menggunakan Metode
[6] Rish, I., An Empirical Study of The Naïve Bayes. Khazanah Informatika,
Naive Bayes Classifier, In 2015
Proceedings of IJCAI-01 workshop [11] Patel, T., Undavia, J., & Patela, A.,
on Empirical Methods in AI, New Sentiment Analysis of Parents
York, 2001. Feedback for Educational Institutes.
[7] J. Pustejovsky, and A. Stubbs, International Journal of Innovative
“Natural Language Annotation for and Emerging Research in
Machine Learning.” Cambridge Engineering, 2015
University Press, 2012. [12] Falahah dan Nur, A. D.,
[8] Witten. H.I and Frank. E, Data Pengembangan Aplikasi Sentiment
Mining Practical Machine Learning Analysis Menggunakan Metode Naive
Tools and Techniques second edition, Bayes. Seminar Nasioonal Sistem
Elsevier, San Fransisco, 2005 Informasi Indonesia,2015
59