Académique Documents
Professionnel Documents
Culture Documents
2018
http://repositori.usu.ac.id/handle/123456789/6858
Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara
ANALISIS SENTIMEN PADA LAYANAN GOJEK INDONESIA
MENGGUNAKAN MULTINOMIAL NAIVE BAYES
SKRIPSI
121402023
SKRIPSI
121402023
PERNYATAAN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Puji dan syukur kehadirat Allah Subhanahu wa Ta’ala, karena rahmat dan izin-Nya
penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh
gelar Sarjana Komputer, pada program studi S1 Teknologi Informasi Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pertama, penulis ingin mengucapkan terima kasih kepada ibu Amalia, S.T.,
M.T. selaku dosen pembimbing pertama dan bapak Dani Gunawan, S.T., M.T. selaku
dosen pembimbing kedua yang telah meluangkan waktu dan tenaganya untuk
membimbing penulis dalam penelitian serta penulisan skripsi ini. Tanpa inspirasi serta
motivasi yang diberikan dari kedua dosen pembimbing, tentunya penulis tidak akan
dapat menyelesaikan skripsi ini.
Kedua, penulis juga ingin mengucapkan terima kasih kepada ibu DR. Erna
Budhiarti Nababan, M.IT. selaku dosen pembanding pertama dan ibu Marischa
Elveny, S.TI., M.Kom. selaku dosen pembanding kedua yang telah meluangkan waktu
dan tenaganya untuk memberikan kritik dan saran yang bermanfaat sehingga skripsi
ini menjadi lebih baik dalam hal sistem dan penulisannya.
Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program
Studi Teknologi Informasi USU, Dekan dan Wakil Dekan Fakultas Ilmu Komputer
dan Teknologi Informasi USU, dan semua dosen serta pegawai di lingkungan program
studi Teknologi Informasi USU, yang telah membantu serta membimbing penulis
selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orangtua penulis,
yaitu Ibunda Alfriana Siregar dan Ayahanda Rudy Arianto Simanjuntak yang telah
membesarkan penulis dengan sabar dan penuh cinta, serta doa dari mereka yang selalu
menyertai selama ini. Penulis juga berterima kasih kepada abang penulis, Reza
Fadillah Simanjuntak dan om penulis Indrayansyah Siregar, serta keluarga besar yang
tidak bisa disebutkan satu persatu, yang selalu memberikan semangat kepada penulis.
Selanjutnya penulis juga ingin berterima kasih kepada sahabat penulis yaitu,
Lia Mutia Annisa, Mutiara Putri Hrp, dan Rahmat Putra KN yang ikut memberikan
semangat, motivasi dan doa kepada penulis.
Berikutnya penulis juga ingin berterima kasih kepada sahabat seperjuangan
penulis, terkhusus Willa Oktinas, Yohana Fithri, Fajriani, dan Tika Hairani yang telah
memberikan bantuan selama pengerjaan skripsi ini.
Kemudian penulis juga ingin berterima kasih kepada guru-guru serta sahabat-
sahabat penulis di dalam Lingkaran Halaqah yang hampir setiap minggunya
memberikan suntikan motivasi kepada penulis.
Selain itu, penulis juga ingin berterima kasih kepada teman-teman Teknologi
Informasi USU angkatan 2012 serta seluruh mahasiswa Teknologi Informasi USU
yang tidak bisa disebutkan satu persatu, yang telah memberikan inspirasi kepada
penulis.
Semoga Allah Subhanahu wa Ta’ala melimpahkan berkah kepada semua pihak
yang telah memberikan bantuan secara langsung maupun tidak, serta perhatian,
dukungan, dan motivasinya kepada penulis dalam menyelesaikan skripsi ini.
ABSTRAK
Ojek online telah merambah dunia transportasi di Indonesia. Terobosan baru yang
semakin diminati banyak orang ini, tidak hanya menyediakan transportasi angkutan
penumpang namun juga melayani jasa kurir untuk pemesanan makanan, jasa
pengiriman barang, dokumen, dan berbelanja. Banyaknya pelayanan yang diberikan
perusahaan ojek online, semakin banyak pula opini yang dilontarkan masyarakat
melalui twitter, mengenai kualitas dari setiap jenis layanan yang diberikan oleh
perusahaan ojek online. Opini yang memiliki sentimen tersebut akan dianalisis
sehingga dapat diketahui layanan mana yang mendapatkan sentimen positif, negatif,
dan netral. Oleh sebab itu, diperlukan sebuah pendekatan yang dapat menganalisis
sentimen masyarakat terhadap kualitas dari setiap layanan ojek online. Pada penelitian
ini metode yang digunakan yaitu term frequency (tf) dan multinomial naive bayes.
Tahapan keseluruhan metode yang digunakan pada penelitian ini adalah
preprocessing (cleaning, case folding, tokenisasi, convert negation, stopword
removal, stemming, dan normalisasi), perhitungan frekuensi kemunculan kata (tf), dan
klasifikasi sentimen. Hasil dari penelitian ini adalah mengklasifikasikan tweet ke
dalam sentimen positif, negatif, netral dan mengetahui kualitas dari setiap jenis
layanan ojek online yang diambil dari sentimen positif-nya. Dengan menggunakan
algoritma dan metode ini, akurasi F-score yang didapat adalah 92%. Pendekatan ini
diharapkan akan sangat membantu pihak perusahaan ojek online untuk memperbaiki
kualitas dari setiap jenis layanan yang ada.
Kata kunci: Analisis Sentimen, Term Frequency (TF), Multinomial Naive Bayes,
Ojek Online, Gojek Indonesia.
ABSTRACT
DAFTAR ISI
Hal.
PERSETUJUAN i
PERNYATAAN ii
UCAPAN TERIMA KASIH iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL x
DAFTAR GAMBAR xi
BAB 1 PENDAHULUAN 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Tujuan Penelitian 3
1.4. Batasan Masalah 3
1.5. Manfaat Penelitian 4
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 5
2.3.7. Normalisasi 10
2.4. Algoritma Stemming Nazief Andriani 10
2.5. Membangun Index melalui Sorting & Grouping 13
2.6. Term Frequency (TF) 13
2.7. Multinomial Naive Bayes 14
2.8. Evaluasi Sistem dengan F-score 15
2.9. Penelitian Terdahulu 16
DAFTAR PUSTAKA 55
DAFTAR TABEL
DAFTAR GAMBAR
BAB I
PENDAHULUAN
search sebagai filter untuk mengurangi kelebihan data, dalam penggabungan 2 metode
naive bayes dan algoritma genetika yang menggunakan 10 × 10-fold cross-validasi
untuk mengevaluasi akurasi. Sehingga menghasilkan akurasi 93,80%.
Berdasarkan latar belakang diatas, maka penulis mengajukan penelitian
dengan judul “Analisis Sentimen pada Layanan Gojek Indonesia Menggunakan
Multinomial Naive Bayes Classifier”. Multinomial Naive Bayes merupakan turunan
dari algoritma Naive Bayes. Pada Multinomial Naive Bayes terdapat tambahan proses
yakni add one atau laplace smoothing, proses ini menambahkan nilai satu (1) pada
setiap nilai Tct dan menghilangkan nilai nol (0) dari perhitungan conditional
probabilitas-nya.
Ojek online kini tidak hanya menyediakan transportasi angkutan penumpang, namun
juga menyediakan jasa kurir untuk pemesanan makanan, jasa pembersih untuk bersih-
bersih, pengiriman barang, berbelanja, dll. Namun, Banyaknya layanan yang
disediakan, banyak pula opini yang dilontarkan masyarakat mengenai kualitas dari
layanan yang ada melalui twitter. Untuk itu diperlukan sebuah pendekatan untuk
menganalisis banyaknya opini terhadap beberapa layanan yang telah disediakan
apakah mengandung sentimen positif, negatif atau netral. Sehingga perusahaan ojek
online, dapat lebih memperbaiki dan meningkatkan kualitas mutu pelayanannya.
Adapun tujuan dari penelitian ini adalah untuk mendapatkan opini masyarakat
mengenai positif, negatif atau netral kualitas dari beberapa layanan gojek Indonesia
dengan menggunakan algoritma Multinomial Naive Bayes Classifier.
Dalam penelitian ini, peneliti memberikan batasan ruang masalah agar tidak terjadi
kesalahan pada saat penelitian. Batasan masalah dalam melakukan proses penelitian
ini yaitu:
1. Opini menggunakan bahasa Indonesia
2. Fokus pada klasifikasi sentimen layanan jasa ojek online yaitu Gojek Indonesia.
3. Data sentimen tersebut dikumpulkan dari opini masyarakat pada media sosial
twitter yaitu berupa teks
4. Klasifikasi pada 5 layanan Gojek Indonesia yaitu, go-car, go-ride, go-food, go
mart dan go-send.
5. Tidak menganalisis kalimat atau opini satire, yaitu kalimat sindiran seperti
ironi,sarkasme yang tujuannya untuk mengejek atau menertawakan sesuatu.
6. Tidak menganalisis kalimat yang di dalamnya terdapat emoticon
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:
Bab 1: Pendahuluan
Bab ini berisi latar belakang dari penelitian yang dilaksanakan, rumusan masalah,
tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta
sistematika penulisan.
(Multinomial Naive Bayes Classifier), evaluasi dengan f-score akan dibahas pada bab
ini.
BAB 2
LANDASAN TEORI
Proses penggalian informasi dari sekumpulan dokumen data berupa teks yang
mengandung informasi yang tidak terstruktur dengan menggunakan analisis tertentu
adalah defenisi dari Text Mining (Feldman & Sanger, 2007). Pekerjaan yang
dilakukan dalam konsep text mining secara garis besar adalah penggalian deskriptif
(descriptive mining) dan penggalian prediktif (predictive mining). Pekerjaan
predictive mining meliputi klasifikasi dokumen ke dalam kategori-kategori, lalu
menggunakan informasi tersebut untuk membuat keputusan (SAS Institute, 2010).
Misalnya, kepuasan pelanggan terhadap suatu produk dapat diketahui melalui
dokumen komentar pembelian, sehingga komentar pelanggan di pembelian yang akan
datang dapat diprediksi. Lalu dilakukan descriptive mining yang membantu
perusahaan untuk melakukan pengelompokkan dokumen berdasarkan konsep yang
telah ditentukan (SAS Institute, 2010). Untuk memperoleh informasi akhir yang
berguna bagi pemilik data, text mining harus melalui tiga tahap yaitu,
1. Preprocessing
Tahap ini mengkonversi informasi menjadi dalam format yang dapat diproses (Miner,
et al, 2012).
2. Penyusun vektor
Untuk dapat dipahami oleh sistem operasi text mining, sebuah vektor representasi atas
token-token kata perlu dibuat berdasarkan kemunculan kata tersebut dalam dokumen
(Miner, et al, 2012).
3. Ekstraksi Informasi
Metode ekstraksi informasi yang digunakan dalam penelitian ini adalah klasifikasi
yang membagi objek ke dalam kategori yang telah ditentukan (supervised method).
Salah satu bagian penting dalam pencarian informasi adalah mengetahui apa yang
orang lain pikirkan, dan saat ini semakin banyak orang menyampaikan pikiran dan
opini mereka secara bebas melalui internet kepada orang lain yang tidak mereka kenal
(Pang & Lee, 2008). Teknologi informasi kini memberikan peluang untuk
mengembangkan sistem yang dapat memahami opini orang lain secara otomatis, dan
memberikan evaluasi mood pada opini seseorang di internet. Analisis mood pada opini
disebut Analisis Sentimen, yang merujuk kepada analisis secara otomatis mengenai
teks yang evaluatif dengan berfokus kepada klasifikasi teks berdasarkan polaritas yang
dimiliknya (Pang & Lee, 2008). Klasifikasi data pada kelompok sentimen tertentu
(positif atau negatif) dilakukan dengan membangun model probabilitas kemunculan
suatu kata dalam dokumen yang telah dikelompokkan sebelumnya.
Besarnya pengaruh dan manfaat dari sentiment analysis, menyebabkan
penelitian ataupun aplikasi mengenai sentiment analysis berkembang pesat, bahkan di
Amerika ada kurang lebih 20-30 perusahaan menggunakan sentiment analysis untuk
mendapatkan informasi tentang sentimen masyarakat terhadap pelayanan perusahaan
(Sumartini, 2011). Pada dasarnya sentiment analysis merupakan klasifikasi, tetapi
kenyataannya tidak semudah proses klasifikasi biasa karena terkait penggunaan
bahasa. Terdapat ambigu dalam penggunaan kata, tidak adanya intonasi dalam sebuah
teks, dan perkembangan dari bahasa itu sendiri (Pang & Lee, 2008).
2.3. Preprocessing
Preprocessing berfungsi untuk mengubah data teks yang tidak terstruktur menjadi
terstruktur. Tahap preprocessing ini akan mengurangi teks-teks secara signifikasi
yaitu teks yang tidak berpengaruh terhadap dokumen (Govindarajan, 2013). Dimana
penjelasan dari tahap-tahap tersebut adalah sebagai berikut:
2.3.1. Cleaning
Cleaning adalah membersihkan kalimat dari kata yang tidak diperlukan untuk
mengurangi noise seperti karakter HTML, RT, ikon emosi, hashtag (#), username
(@), url (http://situs.com), email (nama@situs.com), simbol dan tanda baca.
2.3.3. Tokenisasi
Tokenisasi adalah memisahkan deretan kata di dalam kalimat, paragraf atau halaman
menjadi token atau potongan kata tunggal atau termmed word.
d. Jika setelah kata yang bersifat negasi terdapat kata yang termasuk sentimen
negatif, maka sentimen tersebut akan diubah menjadi positif.
2.3.6. Stemming
Stemming adalah mengubah kata yang memiliki imbuhan menjadi kata dasar.
Stemming disini menggunakan kamus daftar kata berimbuhan yang mempunyai kata
dasarnya dengan cara membandingkan kata-kata yang ada dalam dokumen berita
dengan daftar kamus stem.
2.3.7. Normalisasi
Mengganti kata yang mengandung sentimen dari kata tidak baku menjadi kata baku
dan yang sesuai dengan sinonim kata-nya, yang telah tersimpan dalam database
sinonim.
b. Akhiran yang dihapus (“-i”, “-an”, atau “-kan”) dikembalikan dan lanjut ke
langkah-4.
4. Hapus derivation prefix (awalan turunan) yaitu (“be-“, “di-“, “ke-“, “me-“, “pe-“,
“se-“, “te-“). Jika pada langkah 3 ada suffix yang dihapus maka pergi ke langkah-
4a, jika tidak maka pergi ke langkah-4b.
a. Periksa tabel kombinasi awalan-akhiran yang tidak diizinkan. Jika ditemukan
maka algoritma berhenti, jika tidak pergi ke langkah-4b.
b. Untuk i=1 sampai 3, tentukan tipe awalan kemudian hapus awalan. Jika kata
dasar belum ditemukan juga lakukan langkah-5, jika sudah maka algoritma
berhenti.
Catatan: Jika awalan kedua sama dengan awalan pertama maka algoritma
berhenti.
c. Lakukan recording.
d. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal
diasumsikan sebagai kata dasar. Proses selesai.
Tabel 2.1 Tabel Kombinasi Awalan dan Akhiran yang Tidak Diijinkan
Awalan Akhiran yang tidak diijinkan
be- -i
di- -an
ke- -i, -kan
me- -an
se- -i, -kan
“balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root
word yang berbeda, maka root word-nya adalah “bolak-balik”.
Untuk mendapatkan nilai akhir probabilitas pada dokumen data yang diuji,
apakah dokumen uji tersebut termasuk dalam kelas negatif, positif atau negatif
digunakan persamaan:
𝑁𝑐 𝑇𝑐𝑡 +1
P= x (2.6)
𝑁 (∑ 𝑡 ′ ∈𝑣 𝑇𝑐 ′ )+𝐵′
𝑡
Evaluasi sistem pada penelitian ini adalah dengan menerapkan aturan variabel pada
Gambar 2.1 menggunakan rumus umum perhitungan precision, recall, dan F-score
pada persamaan 2.6, 2.7, dan 2.8, yang diperkenalkan oleh Baeza-Yates & Ribeiro-
Neto (1999).
𝑻𝑷
Recall = (2.7)
𝑻𝑷+𝑭𝑵
𝑻𝑷
Precision = (2.8)
𝑻𝑷+𝑭𝑷
𝟐 𝒙 ( 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒙 𝑹𝒆𝒄𝒂𝒍𝒍)
F-score = (2.9)
𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 + 𝑹𝒆𝒄𝒂𝒍𝒍
Keterangan:
1. True Positive (TP) adalah nilai prediksi bernilai benar dan nilai sebenarnya
bernilai benar.
2. False Positive (FP) adalah nilai prediksi bernilai benar dan nilai sebenarnya
bernilai salah
3. False Negative (FN) adalah nilai prediksi bernilai salah dan nilai sebenarnya
bernilai salah
4. True Negative (TN) adalah nilai prediksi bernilai salah dan nilai sebenarnya
bernilai benar
mencakup kata-kata negatif atau frase yang dapat mengekspresikan emosi, penelitian
ini menghasilkan akurasi 82,8%.
Dalam penelitian yang dilakukan oleh (Luo et al. 2016) Afektif fitur analisis
sentimen menggunakan klasifikasi SVM. Metode seleksi fitur dikombinasikan DF
dengan CHI. Untuk mengevaluasi sentimen digunakan ChnSentiCorp korpus.
Penelitian ini menggunakan 4000 dataset, 2000 ulasan positif dan 2000 ulasan negatif.
Sehingga akurasi yang didapatkan mencapai 90,08%.
Penelitian yang dilakukan oleh (Govindarajan, 2013) yaitu analisis sentimen
dari review film menggunakan metode Hybrid Naive Bayes dan algoritma genetika.
terdiri dari 2000 dataset berbahasa inggris 1000 untuk label positif dan 1000 untuk
label negatif, algoritma best first search sebagai filter untuk mengurangi kelebihan
data, dalam penggabungan 2 metode naive bayes dan algoritma genetika yang
menggunakan 10 × 10-fold cross-validasi untuk mengevaluasi akurasi. Sehingga
menghasilkan akurasi 93,80%.
Dan (Putranti & Winarko 2014) yaitu analisis sentimen twitter untuk teks
berbahasa Indonesia dengan menggunakan metode Maximum Entropy dan support
vector machine. Fitur yang digunakan adalah unigram dengan fitur pembobotan
TFIDF. Implementasi klasifikasi diperoleh akurasi 86,81 % pada pengujian 7 fold
cross validation untuk tipe kernel Sigmoid. Pelabelan kelas secara manual dengan
POS tagger menghasilkan akurasi 81,67%. Selanjutnya penelitian yang dilakukan
oleh Yazdavar et al. (2016) analisis sentimen review obat menggunakan metode
fuzzy. Pada penelitian ini akurasi rata-rata yang dicapai sebesar 71%.
Lalu Mandal et al. (2017) melakukan peneltian analisis sentimen terhadap
review produk. Sentimen diklasifikasikan menjadi 3 kelas yaitu sentimen positif,
negatif, dan netral. Pada penelitian ini menggunakan metode lexicon based untuk
klasifikasi. Akurasi tertinggi yang diperoleh menggunakan lexicon based sebesar
97,1%.
Dan Pada tahun (2014) Razzaq et al. melakukan penelitian analisis sentimen
pada twitter mengenai opini masyarkat terhdap pemilihan presiden pakistan, dimana
sentimen tersebut dapat dijadikan sebagai acuan untuk prediksi hasil pemilu. Opini di
klasifikasikan kedalam 3 kelas yaitu opini positif, negatif, dan netral. Metode support
vector machine mendapatkan akurasi sebesar 70%.
Algoritma
Kanakaraj & Ensemble(Decision Tree,
1 Guddeti 2015 Random Forest, Extremely 90%
Randomized Trees dan
AdaBoost)
BAB 3
Bab ini akan membahas tentang analisis dan perancangan yang akan diterapkan pada
sistem untuk mengetahui tanggapan masyarakat mengenai kualitas dari beberapa
layanan jasa ojek online yaitu Gojek Indonesia. Adapun dua tahapan yang dibahas
pada bab ini yaitu tahap analisis dan tahap perancangan sistem. Analisis terhadap data
yang digunakan dan analisis terhadap metode yang digunakan pada setiap langkah
pemrosesan data akan dibahas pada tahap analisis. Perancangan tampilan antarmuka
sistem akan dibahas pada tahap perancangan sistem.
dilabeli sentimen secara otomatis oleh sistem. Detail dari kumpulan data set yang
didapat dari hasil crawling dapat dilihat pada Tabel 3.1.
3.2.2. Preprocessing
Sebelum melakukan klasifikasi seluruh data training dan testing harus melewati tahap
preprocessing. Tahapan ini bertujuan untuk mempersiapkan dokumen teks yang tidak
terstruktur menjadi data terstruktur yang siap digunakan untuk proses selanjutnya.
Tahapan preprocessing meliputi:
a. Cleaning yaitu membersihkan kalimat dari kata yang tidak diperlukan untuk
mengurangi noise seperti karakter HTML, RT, ikon emosi, hashtag (#), username
(@), url (http://situs.com), email (nama@situs.com), simbol dan tanda baca.
Contoh proses cleaning dapat dilihat pada tabel 3.2.
b. Case folding yaitu semua huruf akan diubah menjadi lowercase atau huruf kecil.
Contoh proses case folding dapat dilihat pada tabel 3.3.
d. Stopword Removal yaitu setiap kata akan diperiksa. Jika terdapat kata sambung,
kata depan, kata ganti atau kata yang tidak ada hubungannya dalam analisis
sentimen, maka kata tersebut akan dihilangkan. Pada penelitian ini menggunakan
kamus stopword Tala (2013). Kamus stopword Tala telah banyak dimanfaatkan
oleh peneliti untuk membuang kata-kata yang tidak penting dalam bahasa
Indonesia. Daftar kamus stopword pada Tala dan contoh proses stopword dapat
dilihat pada tabel 3.5 dan 3.6.
Tabel 3.5 Kamus Stopword Tala
Daftar Kata pada Stopword Tala
apa apaan apabila apakah
apalagi apatah artinya asalkan
atas atau ataukah ataupun
awal awalnya bagai bagaikan
e. Convert negation dilakukan jika terdapat kata negasi sebelum kata yang bernilai
positif, maka kata tersebut akan diubah nilainya menjadi negatif dan begitupun
sebaliknya. Kata-kata yang bersifat negasi seperti “bukan”, “tidak”, “enggak”,
“ga”, “jangan”, “nggak”, “tak”, dan “gak”. Contoh convert negation dapat dilihat
pada tabel 3.7.
Tabel 3.7 Contoh Convert Negation
Sebelum Convert Negation Setelah Convert Negation
tidak bagus [negatif] x [positif] Jelek [negatif]
f. Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah kata.
Dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan
(prefixes), sisipan (infixes), akhiran (suffixes) dan kombinasi dari awalan dan
akhiran (confixes) pada kata turunan. Stemming diperlukan untuk meminimalisir
kesalahan dalam pengenalan kata kunci. Apabila kata kunci dalam postingan
tweet mengandung imbuhan, maka sistem tidak dapat mengenalinya karena kata
kunci pada proses pembelajaran adalah dalam bentuk kata dasar. Oleh karena itu,
diperlukan metode stemming untuk menangani permasalahan tersebut. Data kata
dasar didapatkan dari kamus bahasa Indonesia online dimana datanya berjumlah
29932 data. Algoritma stemming yang digunakan adalah algoritma stemming
Nazief & Andriani. Flowchart untuk proses stemming dapat dilihat pada gambar
3.2 dan contoh proses stemming terdapat pada tabel 3.8.
Keterangan :
1. Cari kata yang akan di-stem di dalam kamus, jika kata tersebut ditemukan maka
kata tersebut adalah kata dasar dan algoritma berhenti. Jika tidak ada maka
lanjutkan ke langkah-2.
2. Hilangkan inflectional suffix (imbuhan infleksional) yaitu (“-lah”, “-kah”, “-tah”,
“-ku”, “-mu”, “-nya”).
3. Hapus derivation suffix (imbuhan turunan) yaitu (“-i”, “-an”, atau “-kan”). Jika
kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah-
3a.
a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k” maka
“-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka
algoritma berhenti. Jika tidak ditemukan maka lakukan langkah-3b.
b. Akhiran yang dihapus (“-i”, “-an”, atau “-kan”) dikembalikan dan lanjut ke
langkah-4.
4. Hapus derivation prefix (awalan turunan) yaitu (“be-“, “di-“, “ke-“, “me-“, “pe-“,
“se-“, “te-“). Jika pada langkah 3 ada suffix yang dihapus maka pergi ke langkah-
4a, jika tidak maka pergi ke langkah-4b.
a. Periksa tabel kombinasi awalan-akhiran yang tidak diizinkan. Jika ditemukan
maka algoritma berhenti, jika tidak pergi ke langkah-4b.
b. Untuk i=1 sampai 3, tentukan tipe awalan kemudian hapus awalan. Jika kata
dasar belum ditemukan juga lakukan langkah-5, jika sudah maka algoritma
berhenti.
Catatan: Jika awalan kedua sama dengan awalan pertama maka algoritma
berhenti.
c. Lakukan recording
d. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal
diasumsikan sebagai kata dasar. Proses selesai.
Tabel 3.8 Contoh Proses Stemming
Sebelum Stemming Setelah Stemming
min gosend driver anter paket jne min, gosend, driver, anter, paket, jne,
orderan wahana lepas tangan order, wahana, lepas, tangan
Sampai pada tahapan ini, maka tahapan preprocessing, yaitu cleaning, case
folding, tokenisasi, convert negation, stoword removal, stemming dan normalisasi
terhadap data tweet sudah berhasil dijalankan.
Pada tabel 3.11 dapat diketahui contoh perhitungan term frequency pada
dokumen, rata-rata kemunculan term-nya adalah sebanyak 1 kali kata tersebut muncul
di dalam dokumen.
Data training yang sudah melewati proses preprocessing dan perhitungan term
frequency akan menjadi input pada proses training yang akan menerapkan algoritma
multinomial naive bayes. Setelah melewati proses perhitungan frekuensi kemunculan
term pada tiap-tiap dokumen, selanjutnya data training akan melalui tahap
pengklasifikasian menggunakan algoritma multinomial naive bayes. Adapun langkah-
langkahnya adalah sebagai berikut:
a. Menghitung prior probabilitas dengan menggunakan persamaan (2.2). Dimana,
jumlah dokumen training dalam satu kelas dibagi jumlah keseluruhan dokumen
training dari seluruh kelas. Contoh perhitungan prior probabilitas untuk tiap kelas
dapat dilihat pada tabel 3.12
Dari contoh tersebut dapat dilihat bobot nilai “antar” persentimen yang paling
tinggi adalah pada sentimen negatif. Proses Pengklasifikasian data training dengan
algoritma multinomial naive bayes hanya sampai pada perhitungan prior probabilitas
dan laplace smoothing. Dimana pada contoh, term “antar” term frequency (TF)
sebanyak = 1, lalu ditambahkan nilai laplace smoothing = 1, dibagi dengan jumlah
seluruh term yang ada pada kelas yang sama = 21, kemudian ditambah term unik yang
ada pada seluruh kelas = 38. Maka setelah itu akan didapatkan bobot nilai dari term
tersebut.
c. Untuk data uji semua proses yang dilewati akan sama dengan data latih. Setelah
melakukan preprocessing, dihitung frekuensi setiap kata, akan dilakukan proses
matching yaitu proses untuk menemukan term yang sama-sama muncul pada
model maupun data testing. Lalu, hasil matching tersebut digabungkan dengan
nilai conditional probabilitas dan laplace smoothing-nya. Setelah itu hitung nilai
probabilitas-nya kalau ditemukan term yang sama muncul lebih dari satu kali
pangkatkan nilai conditional probabilitas dan laplace smoothing-nya dengan term
Keterangan:
1. Tweet training akan menampilkan seluruh data training berdasarkan 5
layanan dari Gojek Indonesia yaitu Gocar, Goride, Gofood, Gomart, dan
Gosend, beserta text processing-nya seperti remove twitter atribut, remove
special karakter dan tahapan processing lain sebagainya.
Keterangan :
1. Tweet testing akan menampilkan seluruh data testing berdasarkan 5 layanan
dari Gojek Indonesia yaitu Gocar, Goride, Gofood, Gomart, dan Gosend.
2. Button ambil data uji baru berfungsi untuk menambahkan data uji baru.
Keterangan :
1. Klasifikasi akan menampilkan perbandingan antara sentimen manual dengan
sentimen sistem.
Tahapan uji coba berfungsi untuk menguji apakah sistem yang dibangun sudah
berjalan dengan baik atau belum dengan membandingkan hasil yang diperoleh dari
sistem dengan beberapa parameter. Pada penelitian ini, untuk menguji sistem analisis
sentimen pada layanan gojek Indonesia yang dibangun menggunakan Algoritma
Multinomial Naive Bayes, maka dilakukan percobaan sebanyak 3 kali dengan
membandingkan hasil dari sistem dengan 4 kondisi percobaan diantaranya:
A. Pelatihan model tanpa stopword dan tanpa normalisasi.
B. Pelatihan model dengan stopword dan tanpa normalisasi.
C. Pelatihan model tanpa stopword dan dengan normalisasi.
D. Pelatihan model dengan stopword dan dengan normalisasi.
Beberapa kondisi tersebut dirancang untuk mengukur seberapa besar pengaruh
preprocessing dengan penambahan stopword dan/atau normalisasi terhadap nilai F-
score yang dihasilkan.
= 90%
3.3.2. Evaluasi Sistem
Total 300
Dari Tabel 3.13 dapat dihitung nilai recall, precision, dan F-score yang secara
berurutan menggunakan persamaan (2.7), (2.8), dan (2.9) sebagai berikut:
𝑇𝑃 130
1. Recall = = = 0,97
𝑇𝑃+𝐹𝑁 130+4
𝑇𝑃 130
2. Precision = = = 0,83
𝑇𝑃+𝐹𝑃 130+26
2 (𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙) 2 (0,97 𝑥 0,95)
3. F-score = = = 0,95
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 0,97+0,95
Oleh karena nilai recall, precision, dan F-score dinyatakan dalam bentuk
persentase, maka nilai yang sudah diperoleh akan dikalikan dengan 100%, sehingga
nilai recall, precision, dan F-score secara berurutan adalah 97%, 83%, dan 95%.
BAB 4
Bab ini membahas tentang hasil yang didapatkan dari implementasi metode
multinomial naive bayes untuk melakukan klasifikasi sentimen dan pengujian sistem
sesuai dengan analisis dan perancangan yang telah dibahas pada Bab 3.
Berdasarkan analisis dan perancangan yang telah dibuat, sistem ini dibuat
menggunakan bahasa pemrograman php dan javascript.
Tampilan beranda merupakan halaman awal pada saat sistem dijalankan. Tampilan
beranda dapat dilihat pada gambar 4.1.
Tweet training menampilkan data hasil crawling pada akun twitter @gojekindonesia
yang telah tersimpan di database, dimana data tersebut sebelumnya telah melewati
tahapan preprocessing yang ada. Tampilan tweet training dapat dilihat pada gambar
4.2.
Tweet testing menampilkan data hasil crawling yang sebelumnya telah tersimpan di
database. Pada tampilan tweet testing terdapat tombol button yang berguna untuk
menambah data testing baru yang langsung ter-crawling dari akun twitter
@gojekindonesia. Tampilan tweet testing dapat dilihat pada gambar 4.3.
Pada gambar 4.7 dapat dilihat grafik layanan gojek Indonesia menampilkan
bentuk grafik dari 5 layanan gojek Indonesia yaitu, GO-CAR, GO-FOOD, GO-MART,
GO-RIDE, dan GO-SEND. Grafik layanan didapatkan dari sentimen positif yang ada
pada data testing. Hasil yang didapat menunjukkan layanan terbaik pada GO-FOOD
sebesar 64%, GO-RIDE 42%, GO-SEND 8%, GO-CAR 5% dan GO-MART 3%.
Untuk melakukan pemeriksaan terhadap sistem yang sudah dibangun, maka dilakukan
pengujian sistem yang terdiri dari proses pelatihan dan pengujian model sesuai dengan
metode yang sudah dijelaskan pada bagian 3.3.
sebagai data uji yang sebelumnya telah melewati proses preprocessing. Yang dapat
dilihat pada tabel 4.1 dan 4.2.
Tabel 4.1 Data Training
Dokumen Sebelum Preprocessing Setelah Preprocessing Kelas
1 @gojekindonesia min, td [admin, gosend, driver,
saya go-send driver malah antar, paket, jne, order,
nganter paket ke jne wahana, lepas, tangan]
Negatif
padahal orderan ke wahana.
Dan dia lepas tangan, jd
gmn ya?
2 Belanja di Tokopedia, pilih [belanja, tokopedia,
pengiriman pakai Go-Send pilih, kirim, pakai,
@gojekindonesia tapi gosend, driver, tidak, Negatif
drivernya ngga ada yang ada, ambil, percuma]
ambil. Percuma.
3 Kini belanja online untuk [belanja, online, siap,
persiapan lebaran dapat lebaran, dapat, sampai,
sampai di hari yang sama gosend, lebih, cepat,
Positif
dengan GO-SEND. Lebih mudah]
Cepat & Mudah!?
https://t.co/HCoijCGuPo
4 @gojekindonesia Pagi [pagi, admin, admin,
min.. Min tarif go-send harga, gosend, turun] Positif
turun!!
5 @gojekindonesia mau [tanya, kirim, gosend,
nanya, untuk pengiriman bisa, jangkau, wilayah,
menggunakan Go-Send bojonegoro, jawa, timur,
Netral
bisa menjangkau wilayah tidak, terimakasih]
Bojonegoro Jawa Timur
gak ya? Terimakasih
4.2.1. Menghitung Term Frequency (TF) pada Data Latih dan Uji
Setelah data training melewati tahap preprocessing, Kemudian kumpulan term pada
tabel 4.1 dan 4.2 disusun ke dalam satu kolom dan dihitung kemunculan kata-nya (TF)
pada tiap-tiap dokumen, yang dapat dilihat pada tabel 4.3.
Dimana sorting adalah untuk mengurutkan term sesuai dengan abjad dan kemudian
term yang sama dikelompokkan menjadi satu (grouping) sehingga term-term tersebut
dapat dihitung frekuensi kemunculannya pada tiap-tiap dokumen. Proses sorting akan
mengurutkan term-term yang ada pada Dokumen 1-5 (D1-D5) sesuai dengan abjad,
semua term yang sama harus dimasukkan pada proses sorting, kemudian pada proses
grouping term yang sama akan dikumpulkan menjadi satu untuk dihitung term
frequency-nya pada tiap dokumen 1-5. Hasil proses sorting dan grouping dapat
dilihat pada tabel 4.4.
Setelah melalui proses perhitungan kemunculan kata pada tiap dokumen, lalu akan
melalui tahap pengklasifikasian. Pada proses ini akan digunakan algoritma
Multinomial Naive Bayes. Adapun langkah langkahnya dapat dilihat pada gambar 4.8.
Nilai prior adalah untuk mengetahui seberapa banyak jumlah dokumen dalam
satu kelas di data training. Nilai prior ini nantinya yang akan dikalikan dengan nilai
probabilitas kemunculan kata yang ada pada data testing.
1
P(gosend|D1|negatif) =
21
1
P(gosend|D3|positif) =
16
1
P(gosend|D5|netral) =
9
Keterangan :
D1, D3, dan D5 adalah contoh dokumen 1, 3, dan 5 pada data training yang
mewakili beberapa dokumen lainnya pada data latih
Nilai 1 adalah term gosend muncul sebanyak 1 kali dalam dokumen 1 pada
kelas negatif
Nilai 21 adalah jumlah seluruh term yang ada dalam kelas negatif
Hitung bobot nilai setiap kata persentimen negatif pada dokumen 2 (D2):
1+1
- Kata “belanja|D2|negatif” = = 0,0338983051
21+38
1+1
- Kata “tokopedia|D2|negatif” = = 0,0338983051
21+38
1+1
- Kata “ pilih|D2|negatif” = = 0,0338983051
21+38
1+1
- Kata “kirim|D2|negatif” = = 0,0338983051
21+38
Hitung bobot nilai setiap kata persentimen positif pada dokumen 2 (D2):
1+1
- Kata “belanja|D2|positif” = = 0,037037037
16+38
0+1
- Kata “tokopedia|D2|positif” = = 0,0185185185
16+38
0+1
- Kata “ pilih|D2|positif” = = 0,0185185185
16+38
0+1
- Kata “kirim|D2|positif” = = 0,0185185185
16+38
Hitung bobot nilai setiap kata persentimen netral pada dokumen 2 (D2):
0+1
- Kata “belanja|D2|netral” = = 0,0204081633
11+38
0+1
- Kata “tokopedia|D2|positif” = = 0,0204081633
11+38
0+1
- Kata “ pilih|D2|positif” = = 0,0204081633
11+38
1+1
- Kata “kirim|D2|positif” = = 0,0408163265
11+38
Hasil perhitungan probabilitas dan laplace smoothing pada data latih di tabel
4.1 secara lengkap dapat dilihat pada tabel 4.5.
Tabel 4.5 Hasil Perhitungan Conditional P dan Laplace S Per Term (Lanjutan)
Nilai Conditional Probabilitas dan Laplace Smoothing
Terms
Negatif Positif Netral
lepas 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
mudah 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633
online 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633
order 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
pagi 0.0169491525 0.0169491525 0.0185185185 0.037037037 0.0204081633
pakai 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0204081633
paket 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
percuma 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0204081633
pilih 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0204081633
sampai 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0204081633
siap 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633
tangan 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
tanya 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
terimakasih 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
tidak 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0408163265
timur 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
tokopedia 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0204081633
turun 0.0169491525 0.0169491525 0.0185185185 0.037037037 0.0204081633
wahana 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
wilayah 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
gosend 2 2 1
order 1 0 0
sampai 0 1 0
tokopedia 1 0 0
0+1
- Kata “barang|D6|negatif” = = 0,0169491525
21+38
0+1
- Kata “belum|D6|negatif” = = 0,0169491525
21+38
2+1
- Kata “ gosend|D6|negatif” = = 0,0508474576
21+38
Hitung bobot nilai setiap kata persentimen positif pada dokumen 6 (D6):
0+1
- Kata “barang|D6|positif” = = 0,0185185185
16+38
0+1
- Kata “belum|D6|positif” = = 0,0185185185
16+38
2+1
- Kata “ gosend|D6|positif” = = 0,0555555556
16+38
Hitung bobot nilai setiap kata persentimen netral pada dokumen 6 (D6):
0+1
- Kata “barang|D6|positif” = = 0,0204081633
11+38
0+1
- Kata “belum|D6|positif” = = 0,0204081633
11+38
1+1
- Kata “ gosend|D6|positif” = = 0,0408163265
11+38
= 95,20%
uji dengan jumlah percobaan sebanyak 3 kali dan dengan parameter yang
sudah diatur sebelumnya dapat dilihat pada Tabel 4.9.
Tabel 4.9 memaparkan nilai precision dan recall dari 3 kali percobaan dan
semua kondisi yang telah dijelaskan pada bagian 3.3 sebelumnya. Maka untuk
mencari nilai F-score bisa digunakan nilai precision dan recall yang sudah didapatkan
pada tabel 4.9. Adapun rata-rata nilai F-score dan grafik f-score di setiap percobaan
dapat dilihat pada tabel 4.10 dan gambar 4.9.
Tabel 4.10 Nilai Rata-rata F-score
Kondisi Percobaan
Nomor Percobaan Rata-rata F-score
1 2 3
A 74,55 74,09 74,32 74,32
B 91,17 90,90 90,49 90,85
C 76,16 76,48 76,72 76,45
D 90,62 92,54 93,75 92,30
80
70
60 Kondisi A
50 Kondisi B
40 Kondisi C
30 Kondisi D
20
10
0
Percobaan 1 Percobaan 2 Percobaan 3
Dari tabel 4.10, gambar 4.9 dan penjelasan berdasarkan kondisi di sub bab 3.3,
dapat dilihat bahwa model A dengan kondisi tanpa menggunakan stopword dan tanpa
normalisasi menghasilkan f-score yang paling rendah, yaitu 74,32%. Lalu kondisi B
menggunakan stopword dan tanpa normalisasi nilai f-score naik sebesar 90,85%. Pada
kondisi C nilai f-score kembali turun sebesar 76,45% dengan menggunakan
normalisasi dan tanpa stopword. Dan nilai f-score paling tinggi sebesar 92,30%
dengan kondisi D yaitu dengan menggunakan stopword dan normalisasi. Jadi, proses
stopword berpengaruh lebih besar dalam meningkatkan nilai f-score pada pengujian
sistem yang telah dilakukan.
BAB 5
Bab ini akan membahas tentang kesimpulan dari penerapan metode yang diajukan
untuk klasifikasi sentimen pada layanan gojek Indonesia dan saran untuk dapat
dilakukan pada penelitian selanjutnya.
5.1. Kesimpulan
Saran yang dapat penulis berikan untuk pengembangan sistem selanjutnya adalah
sebagai berikut:
1. Menambahkan metode yang dapat memproses 2 bahasa yaitu bahasa Indonesia
dan Inggris
2. Dibutuhkan pengembangan untuk penelitian analisis sentimen menggunakan
algoritma klasifikasi yang lain atau menggunkan algoritma hybrid yaitu
penggabungan dua algoritma yang berbeda agar didapat hasil pengklasifikasian
analisis sentimen yang lebih baik dan lebih akurat.
3. Menyertakan fungsi konversi gambar menjadi teks di dalam sistem yang
dibangun, dikarenakan banyak sekali user yang membuat capture gambar untuk
memberikan sentimennya.
DAFTAR PUSTAKA
Adriani, M., Asian, J., Nazief, B., Tahaghoghi, S.M.M. & Williams, H.E. 2007.
Stemming Indonesian : A Confix-Stripping Approach. Transaction on Asian
Langeage Information Processing. Vol. 6, No. 4, Articel 13. Association for
Computing Machinery : New York .
Aziz ATA. 2013. “Sistem pengklasifikasian entitas pada pesan twitter menggunakan
ekspresi reguler dan naıve bayes”. Skripsi. Departemen Ilmu Komputer,
Institut Pertanian Bogor. [Internet]. [Diunduh tanggal 05/08/2016].
Alexander, P & Paroubek, P. 2010. Twitter as a corpus for sentiment analysis and
opinion mining. Proceedings of the Seventh conference on International
Language Resources and Evaluation pp: 1320-1326.
Baeza-Yates, R.A. & Ribeiro-Neto, B. 1999. Modern Information Retrieval. Addison-
Wesley Longman Publishing: Boston.
Farber, D. 2012. Twitter hits 400 million tweets per day, mostly mobile.
http://www.cnet.com/news/twitter-hits-400-million-tweets-per-day-mostly-
mobile/ (10 November 2016).
Feldman, R & Sanger, J. 2007. The Text Mining Handbook : Advanced Approaches
in Analyzing Unstructured Data. Cambridge University Press : New York
Govindarajan, M. 2013. Sentiment Analysis of Movie Reviews using Hybrid Method
of Naive Bayes and Genetic Algorithm. International Journal of Advanced
Computer Research (ISSN (print): 2249-7277. (Online): 2277-7970 (13
Desember 2013).
Kanakaraj, M., Mohana, R. & Guddeti, R. 2015. NLP Based Sentiment Analysis on
Twitter Data Using Ensemble Classifiers. International Conference on Signal
Processing, Communication and Networking.
Liu, B. 2010. Sentiment Analysis A Multi-Faceted Problem. IEEE Intelligent Systems.
Liu, B. 2012. Opinion Mining. Chicago, United States of America.
Luo, F., Li, C. & Cao, Z. 2016. Affective-feature-based sentiment analysis using SVM
classifier. Proceedings of 20rd International Conference on Computer
Supported Cooperative Work in Design.
Sumartini, N. W. 2011. Text Mining Classifier dengan Metode Naïve Bayes dan
Support Vector Machines untuk Sentiment Analysis. Tesis. Universitas
Udayana.
Tala, F. Z. 2013. A Study of Stemming Effects on Information Retrieval in Bahasa
Indonesia, Institute for Logic, Language and Computation, Universiteit van
Amsterdam.
Tarigan, I. A. 2013. Pengguna Twitter Indonesia Teraktif Ketiga di Dunia. Retrieved
2016(Online)http://chip.co.id/news/apps-social_media/9030/
pengguna_twitter_ indonesia_teraktif_ketiga_di_dunia (10 November 2016).
Yan, X & Huang, T. 2015. Tibetan Sentences Sentiment Analysis Based on the
Maximum Entropy Model. International Conference on Broadband and
Wireless Computing, Communication and Applications.
Yazdafar, A. H., Ebrahimi, M., & Salim, N. 2016. Fuzzy based implicit sentiment
analysis on quatitative sentences. Journal of Soft Computing and Decision
Support System 3(4): 7-18