Vous êtes sur la page 1sur 71

Universitas Sumatera Utara

Repositori Institusi USU http://repositori.usu.ac.id


Departemen Teknologi Informasi Skripsi Sarjana

2018

Analisis Sentimen pada Layanan Gojek


Indonesia Menggunakan Multinomial
Naive Bayes

Simanjuntak, Rosi Alfionita


Universitas Sumatera Utara

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

ROSI ALFIONITA SIMANJUNTAK

121402023

PROGRAM STUDI S1 TEKNOLOGI INFORMASI


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2018

Universitas Sumatera Utara


ANALISIS SENTIMEN PADA LAYANAN GOJEK INDONESIA MENGGUNAKAN
MULTINOMIAL NAIVE BAYES

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah


Sarjana Teknologi Informasi

ROSI ALFIONITA SIMANJUNTAK

121402023

PROGRAM STUDI S1 TEKNOLOGI INFORMASI


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2018

Universitas Sumatera Utara


Universitas Sumatera Utara
ii

PERNYATAAN

ANALISIS SENTIMEN PADA LAYANAN GOJEK INDONESIA


MENGGUNAKAN MULTINOMIAL NAIVE BAYES

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Februari 2018

Rosi Alfionita Simanjuntak


121402023

Universitas Sumatera Utara


iii

UCAPAN TERIMA KASIH

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.

Universitas Sumatera Utara


iv

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.

Universitas Sumatera Utara


v

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.

Universitas Sumatera Utara


vi

SENTIMENT ANALYSIS IN GOJEK INDONESIA SERVICES BY USING


MULTINOMIAL NAIVE BAYES

ABSTRACT

Online ojek (a motorcycle public transport) are becoming popular nowadays in


Indonesia. This new innovation in demand, not only serves as a public transportation
but also serves order to deliver food, goods, documents and groceries. As the growing
number of costumers this service have, many comments are being made by the public
mainly in twitter (a social media). Generally, the comments are focused on giving
testimonies about the quality of service ojek provide. However, in order to filter the
sentiment comments give, an approach is needed by analyzing it. This research term
frequency and multinomial naïve bayes method are implemented to try to solve this
problem. Overall, the stages taken to fully implement the methods are preprocessing
(cleaning, case folding, tokenization, covert negation, stopword removal, stemming,
and normalization), words frequency count (tf), and sentiment classification.
Eventually, comments will be classified into three sentiment categories namely:
positive, negative and neutral. In addition, it will display the quality of every service
which ojek provides based on the positive sentiments. The F-score accuracy generated
when implementing the algorithm and method 92%. Hopefully, this approach will
help online ojek company improve their quality of service.

Keywords: Sentiment analysis, Term Frequency (TF), Multinomial Naive Bayes,


Online Ojek, Gojek Indonesia.

Universitas Sumatera Utara


vii

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

BAB 2 LANDASAN TEORI 7


2.1. Text Mining 7
2.2. Analisis Sentimen 8
2.3. Preprocessing 8
2.3.1. Cleaning 9
2.3.2. Case Folding 9
2.3.3. Tokenisasi 9
2.3.4. Stopword Removal 9
2.3.5. Convert Negation 9
2.3.6. Stemming 10

Universitas Sumatera Utara


viii

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

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 19


3.1. Analisis Sistem 19
3.2. Perancangan Sistem 20
3.2.1. Pengumpulan Data 20
3.2.2. Preprocessing 21
a. Cleaning 21
b. Case Folding 21
c. Tokenisasi 22
e. Stopword Removal 22
d. Convert Negation 23
f. Stemming 23
g. Normalisasi 26
3.2.3. Term Frequency (TF) 27
3.2.4. Implementasi Algoritma MNB 27
a. Hitung Prior Probabilitas 27
b. Hitung Conditional Probabilitas & Laplace Smoothing 28
c. Proses Matching Tweet Testing 28
d. Hitung Probabilitas Keseluruhan 29
3.2.5. Perancangan Aplikasi 29
3.2.5.1. Rancangan Tampilan Beranda 29
3.2.5.2. Rancangan Tampilan Tweet Training 30
3.2.5.3. Rancangan Tampilan Tweet Testing 30
3.2.5.4. Rancangan Tampilan Preprocessing 31
3.2.5.5. Rancangan Tampilan Klasifikasi 31
3.2.5.6. Rancangan Tampilan Analisis 32

Universitas Sumatera Utara


ix

3.3. Metode Pengujian 33


3.3.1. Akurasi Sistem 33
3.3.2. Evaluasi Sistem dengan F-score 33

BAB 4 IMPLEMENTASI DAN PENGUJIAN 35


4.1. Implementasi Sistem 35
4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 35
4.1.2. Tampilan Beranda 35
4.1.3. Tampilan Tweet Training 36
4.1.4. Tampilan Tweet Testing 37
4.1.5. Tampilan Preprocessing 37
4.1.6. Tampilan Halaman Klasifikasi 38
4.1.7. Tampilan Halaman Analisis 38
4.2. Pengujian Sistem 39
4.2.1. Menghitung Term Frequency pada Data Latih dan Uji 40
4.2.2. Hasil Proses Sorting & Grouping 42
4.2.3. Klasifikasi dengan Algoritma MNB 44
4.2.3.1. Klasifikasi Data Training dengan MNB 45
A. Perhitungan Prior Probabilitas Data Training 45
B. Perhitungan Conditional Probabilitas Data Training 45
C. Perhitungan Laplace Smoothing Data Training 46
4.2.3.2. Klasifikasi Data Testing dengan MNB 48
A. Hasil Sorting & Grouping Data Testing 48
B. Proses Matching Data Testing 49
C. Perhitungan Conditional P & Laplace S Data Testing 49
D. Perhitungan Keseluruhan Probabilitas untuk Hasil Sentimen 51
4.2.4. Hasil Pengujian Sistem 51
4.2.4.1. Perhitungan akurasi data Testing 51
4.2.4.2. Evaluasi Sistem dengan F-score 51

BAB 5 KESIMPULAN DAN SARAN 54

DAFTAR PUSTAKA 55

Universitas Sumatera Utara


x

DAFTAR TABEL

TABEL 2.1. Kombinasi Awalan & Akhiran yang Tidak Diijinkan 11


TABEL 2.2. Aturan Peluruhan Kata Dasar 11
TABEL 2.3. Penelitian Terdahulu 18
TABEL 3.1. Detail Dataset Hasil Crawling 21
TABEL 3.2. Contoh Proses Cleaning 21
TABEL 3.3. Contoh Proses Case Folding 22
TABEL 3.4. Contoh Proses Tokenisasi 22
TABEL 3.5. Kamus Stopword Tala 22
TABEL 3.6. Contoh Proses Stopword Removal 23
TABEL 3.7. Contoh Proses Convert Negation 23
TABEL 3.8. Contoh Proses Stemming 25
TABEL 3.9. Kamus Sinonim 26
TABEL 3.10. Contoh Proses Normalisasi 26
TABEL 3.11. Contoh Perhitungan Term Frequency (TF) 27
TABEL 3.12. Contoh Perhitungan Prior Probabilitas Tiap Kelas 28
TABEL 3.13. Contoh Nilai Variabel Evaluasi Sistem 34
TABEL 4.1. Data Training 40
TABEL 4.2. Contoh Data Testing 40
TABEL 4.3. Daftar Term Beserta Kemunculannya 41
TABEL 4.4. Hasil Sorting & Grouping data Training 43
TABEL 4.5. Hasil Perhitungan Conditional P & Laplace S Per Term 47
TABEL 4.6. Hasil Sorting & Grouping Data Testing 48
TABEL 4.7. Hasil Proses Matching Data Testing 49
TABEL 4.8. Hasil Perhitungan Nilai Conditional P & Laplace S Data Testing 50
TABEL 4.9. Hasil Pengujian Sistem 52
TABEL 4.10. Nilai Rata-rata F-score 52

Universitas Sumatera Utara


xi

DAFTAR GAMBAR

GAMBAR 2.1. Variabel Perhitungan F-score 15


GAMBAR 3.1. Arsitektur Umum 20
GAMBAR 3.2. Flowchart Stemming Nazief & Andriani 24
GAMBAR 3.3. Rancangan Tampilan Beranda 29
GAMBAR 3.4. Rancangan Tampilan Tweet Training 30
GAMBAR 3.5. Rancangan Tampilan Tweet Testing 30
GAMBAR 3.6. Rancangan Tampilan Preprocessing 31
GAMBAR 3.7. Rancangan Tampilan Klasifikasi 32
GAMBAR 3.8. Rancangan Tampilan Analisis 32
GAMBAR 4.1. Tampilan Halaman Beranda 36
GAMBAR 4.2. Tampilan Halaman Tweet Training 36
GAMBAR 4.3. Tampilan Halaman Tweet Testing 37
GAMBAR 4.4. Tampilan Halaman Preprocessing 37
GAMBAR 4.5. Tampilan Halaman Klasifikasi 38
GAMBAR 4.6. Tampilan Halaman Akurasi 38
GAMBAR 4.7. Tampilan Grafik Layanan Gojek Indonesia 39
GAMBAR 4.8. Flowchart Proses MNB 44
GAMBAR 4.9. Grafik F-score Pengujian Sistem 53

Universitas Sumatera Utara


1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi yang semakin modern telah merambah dunia transportasi di


Indonesia. Hal ini terlihat dari bermunculannya model transportasi berbasis online
pada kota-kota besar di Indonesia. Salah satu transportasi online yang ramai
dibicarakan oleh masyarakat adalah ojek online. Ojek online merupakan transformasi
dari ojek konvensional yang biasanya bertempat di pangkalan untuk menunggu
pelanggan. Seiring berjalannya waktu, ojek online semakin diminati oleh masyarakat
karena memberikan kemudahan dalam pemesanannya dengan bantuan smartphone.
Pelayanan yang diberikan ojek online tidak hanya menyediakan transportasi angkutan
penumpang, namun juga melayani jasa kurir untuk pemesanan makanan, jasa
pembersih untuk bersih-bersih rumah dan kantor, pengiriman barang, dokumen,
berbelanja, dan lain sebagainya (Marikxon, 2015).
Seiring berkembangnya jasa ojek online, masyarakat menjadi sering
membicarakannya. Masyarakat memberikan pendapat dan opininya melalui berbagai
media, salah satunya media sosial Twitter. Opini yang diberikan masyarakat terhadap
jasa ojek online seperti semakin baik atau berkurangnya kualitas pelayanan yang
diberikan oleh jasa ojek online tersebut. Semakin banyaknya opini yang dilontarkan
masyarakat mengenai jasa pelayanan ojek online, membuat masyarakat semakin
selektif dalam memilih penyedia layanan ojek online. Mengantisipasi keadaan tersebut
maka perusahaan ojek online harus bisa menciptakan kualitas layanan dan harga yang
sesuai agar dapat menciptakan kepuasan pelanggan. Sehingga perusahaan jasa ojek
online dapat mengetahui pelayanan yang telah di dapatkan oleh konsumen dan
perusahaan akan terus memperbaiki standar pelayanannya.
Berdasarkan penelitian PeerReach, Indonesia termasuk pengguna twitter
paling aktif di dunia (Tarigan, 2015). Sebagai salah satu situs microblogging dengan
pengguna lebih dari 500 juta dan 400 juta tweet perhari (Farber, 2012),

Universitas Sumatera Utara


2

memungkinkan pengguna untuk berbagi pesan menggunakan teks pendek disebut


Tweet. Twitter dapat menjadi sumber data pendapat dan sentimen masyarakat. Data
tersebut dapat digunakan secara efisien untuk pemasaran atau studi sosial (Alexander
& Paroubek, 2010). Untuk itulah mengapa peran media sosial seperti twitter sangat
penting dalam hal menampung setiap opini atau sentimen dari masyarakat dan
pelanggan. Sehingga jika data teks dari tweet yang berisi opini atau sentimen tersebut
dikumpulkan akan dapat dibuat kesimpulan mengenai baik dan buruknya pelayanan
dari jasa ojek online.
Analisis sentimen adalah studi komputasi dari opini-opini, sentimen, serta
emosi yang diekspresikan dalam teks (Liu, 2012). Tugas dasar dalam analisis
sentimen adalah mengelompokkan polaritas dari teks yang ada dalam dokumen,
kalimat, atau pendapat. Polaritas mempunyai arti apakah teks yang ada dalam
dokumen, kalimat, atau pendapat memiliki aspek positif, negatif atau netral.
Penelitian analisis sentimen sebelumnya telah dilakukan (Putranti & Winarko
2014) yaitu analisis sentimen twitter untuk teks berbahasa Indonesia dengan
menggunakan metode Maximum Entropy dan Support Vektor 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 dilakukan penelitian oleh (Kanakaraj & Guddeti 2015) dengan
analisis sentimen pada data twitter menggunakan algoritma Ensemble keyword
diperoleh melalui tweet synsets dan sens diambil dari database WordNet dengan
ssynsets dan Word Senses sebagai fitur vektor. Analisis efek dari klasifikasi ensemble
yang berbeda seperti Decision Tree, Random Forest, Extremely Randomized Trees
dan AdaBoost. Extremely Randomized Trees menghasilkan skor paling baik mencapai
90%. Demikian juga penelitian yang dilakukan oleh (Singh et al. 2014) analisis
semantik review produk menggunakan Algoritma Weighted k-NN classifier. Review
produk diambil dari beberapa situs seperti amazon.com, ebay.com, flipkart.com.
Dengan 7000 dataset menggunakan pembobotan unigram untuk menentukan apakah
data tersebut positif, negatif atau netral. Penggabungan metode juga dilakukan
(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

Universitas Sumatera Utara


3

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.

1.2. Rumusan Masalah

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.

1.3. Tujuan Penelitian

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.

1.4. Batasan Masalah

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.

Universitas Sumatera Utara


4

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

1.5. Manfaat Penelitian

Manfaat yang diperoleh dalam melakukan penelitian ini adalah :


1. Sistem dapat menghasilkan analisis sentimen dari layanan gojek Indonesia yaitu
go-car, go-ride, go-food, go mart dan go-send berupa pendapat masyarakat
apakah positif, negatif atau netral mengenai layanan yang diberikan oleh gojek
Indonesia.
2. Mengetahui kemampuan Multinomial Naive Bayes Classifier pada bidang analisis
sentimen.
3. Mendapatkan informasi mengenai kualitas layanan gojek Indonesia, yaitu go-car,
go-ride, go-food, go mart dan go-send. Agar perusahaan gojek Indonesia dapat
meningkatkan kualitas dari setiap layanan yang ada.

1.6. Metodologi penelitian

Tahapan-tahapan yang dilakukan selama penelitian adalah sebagai berikut:


1. Studi Literatur
Studi Literatur dilakukan untuk pengumpulan bahan referensi mengenai analisis
sentimen, preprocessing, normalisasi, algoritma stemming Nazief & Andriani dan
MNBC (Multinomial Naive Bayes Classifier) dari beberapa jurnal, artikel, buku, dan
beberapa sumber referensi lainnya.
2. Identifikasi Masalah
Pada tahap ini dilakukan analisis terhadap studi literatur yang telah dikumpulkan pada
tahap sebelumnya untuk mendapatkan pemahaman mengenai metode yang diterapkan

Universitas Sumatera Utara


5

yakni MNBC (Multinomial Naive Bayes Classifier) untuk menyelesaikan masalah


tentang analisis sentimen berdasarkan opini masyarakat melalui twitter mengenai
setiap jenis layanan Gojek Indonesia.
3. Analisis dan Perancangan Sistem
Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data, dan perancangan
antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur
yang telah diperoleh.
4. Implementasi Sistem
Pada tahap ini dilakukan implementasi pengkodean program sesuai dengan analisis
dan perancangan yang telah dilakukan pada tahap sebelumnya.
5. Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap hasil yang didapatkan melalui
implementasi algoritma MNBC (Multinomial Naive Bayes Classifier) dalam
melakukan klasifikasi sentimen masyarakat terhadap setiap jenis layanan Gojek
Indonesia, untuk mengetahui sentimen mana yang sifatnya positif, negatif atau netral.
6. Dokumentasi
Pada tahap ini dilakukan dokumentasi dan penyusunan laporan hasil evaluasi dan
analisis serta implementasi algoritma MNBC (Multinomial Naive Bayes Classifier)
dalam melakukan analisis sentimen pada layanan gojek Indonesia.

1.7. Sistematika Penulisan

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.

Bab 2: Landasan Teori


Bab ini berisi teori-teori yang diperlukan untuk memahami permasalahan yang
dibahas pada penelitian ini. Teori-teori yang berhubungan dengan text mining,
analisis sentimen, preprocessing, term frequency (TF), membangun index melalui
proses sorting dan grouping, algoritma stemming Nazief & Andriani dan MNBC

Universitas Sumatera Utara


6

(Multinomial Naive Bayes Classifier), evaluasi dengan f-score akan dibahas pada bab
ini.

Bab 3: Analisis dan Perancangan


Bab ini akan menjabarkan arsitektur umum, langkah preprocessing yang dilakukan,
proses pembobotan, serta analisis dan penerapan algoritma MNBC (Multinomial
Naive Bayes Classifier) dalam melakukan analisis sentimen pada layanan Gojek
Indonesia.

Bab 4: Implementasi dan Pengujian


Bab ini berisi pembahasan tentang implementasi dari perancangan yang telah
dijabarkan pada bab 3, serta menguji sistem untuk menemukan kelebihan dan
kekurangan pada sistem yang dibuat.

Bab 5: Kesimpulan dan Saran


Bab ini berisi ringkasan serta kesimpulan dari rancangan yang telah dibahas pada bab
3, serta hasil penelitian yang dijabarkan pada bab 4, serta bagian akhir bab ini akan
berisi saran-saran yang diajukan untuk pengembangan penelitian selanjutnya.

Universitas Sumatera Utara


7

BAB 2

LANDASAN TEORI

2.1. Text Mining

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).

Universitas Sumatera Utara


8

Pendekatan model klasifikasi yang digunakan adalah teknik statistik/machine


learning. Pendekatan machine learning akan dipakai dalam penelitian ini dimana
mesin akan mengoperasikan model yang belajar dari contoh dokumen yang
terklasifikasi.

2.2. Analisis Sentimen

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:

Universitas Sumatera Utara


9

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.2. Case Folding


Case folding adalah mengubah semua karakter semua huruf besar menjadi lowercase
atau huruf kecil.

2.3.3. Tokenisasi

Tokenisasi adalah memisahkan deretan kata di dalam kalimat, paragraf atau halaman
menjadi token atau potongan kata tunggal atau termmed word.

2.3.4. Stopword Removal

Stopword removal adalah menghilangkan sejumlah kelas kata penghubung ataupun


yang jumlahnya banyak namun tidak mempengaruhi konten dokumen secara
keseluruhan sebagai bagian dari pre-processing. Ini dilakukan biasanya untuk
meningkatkan performa sistem agar sistem bisa secara efektif dimanfaatkan untuk
mengolah konten yang benar-benar dianggap penting saja.

2.3.5. Convert Negation


Pada tahap ini, setiap tweet yang mengandung kata-kata yang bersifat negasi akan
diubah nilai sentimennya. Kata-kata yang bersifat negasi seperti “bukan”, “tidak”,
“enggak”, “ga”, “jangan”,“nggak”, “tak”, dan “gak”. Convert negation dilakukan jika
terdapat kata negasi sebelum kata yang bernilai positif, maka kata tersebut akan
diubah nilainya menjadi negatif dan begitupun sebaliknya. Langkah-langkah pada
tahap convert negation adalah sebagai berikut:
a. Kata yang digunakan adalah hasil dari stopword removal.
b. Setiap kata akan diperiksa dan dibandingkan dengan kumpulan kata-kata yang
bersifat negasi pada database.
c. Jika setelah kata yang bersifat negasi terdapat kata yang termasuk sentimen
positif, maka sentimen tersebut akan diubah menjadi negatif.

Universitas Sumatera Utara


10

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.

2.4. Algoritma Stemming Nazief Andriani

Algoritma ini menggunakan beberapa aturan morfologi untuk menghilangkan affiks


(awalan, imbuhan, akhiran, dll) dari sebuah kata dan kemudian mencocokannya dalam
kamus akar kata (kata dasar). Jadi dasar utama algoritma ini adalah daftar kata dasar.
Langkah pertama yang dilakukan adalah mengumpulkan daftar kata dasar dalam
bahasa Indonesia. Semakin lengkap daftarnya, semakin tinggi akurasi algoritma ini.
Algoritma ini memiliki tahap-tahap sebagai berikut (Nazief & Adriani, 1996):
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.

Universitas Sumatera Utara


11

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

Tabel 2.2 Tabel Aturan Peluruhan Kata Dasar


Awalan Peluruhan
berV… ber-V..| be-rV..
Belajar bel-ajar
berClerC2 be-ClerC2.. dimana Cl!= {‘r’|’l’}
terV… ter-V.. | te-rV..
terCer… ter-Cer… dimana C!=’r’
teClerC2 te-CleC2… dimana Cl!=’r’

Universitas Sumatera Utara


12

Tabel 2.2 Aturan Peluruhan Kata Dasar (Lanjutan)


Awalan Peluruhan
me{I|r|w|y}V… me-{I|r|w|y}V…
mem{b|f|v}… mem-{b|f|v}…
mempe… m-pe..
mem{r|V|V}… me-m{r|V|V}…| me-p{r|V|V}…
men{c|d|j|z}… men-{c|d|j|z}…
menV… me-nV…| me-tV…
meng{g|h|q|k}… meng-{g|h|q|k}…
mengV… meng-V…| meng-kV…
mengeC… meng-C…
menyV… me-ny…| men-sV…
memV… mem-pV…

Tipe awalan ditentukan melalui langkah-langkah sebagai berikut:


1. Jika awalannya adalah: “di-“, “ke-“, atau “se-“, maka tipe awalannya secara
berturut-turut adalah “di-“, “ke-“, atau “se-“.
2. Jika awalannya adalah: “te-“, “me-“, “be-“, atau “pe-“ maka dibutuhkan sebuah
proses tambahan untuk menentukan tipe awalannya.
3. Jika dua karakter pertama bukan “di-“, “ke-“, “se-“, “te-“, “be-“, “me-“, atau “pe-
“ maka berhenti.
4. Jika tipe awalan adalah “none” maka berhenti. Hapus awalan jika ditemukan.

Untuk mengatasi keterbatasan yang ada, maka ditambahkan aturan-aturan


dibawah ini: (Adriani et al, 2007) aturan untuk reduplikasi.
1. Jika kedua kata yang dihubungkan penghubung adalah kata yang sama maka root
word adalah bentuk tunggalnya, contoh: “buku-buku” root word-nya adalah
“buku”.
2. Kata lain misalnya “bolak-balik”, “berbalas-balasan”, dan “seolah-olah”.
Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika
keduanya memiliki root word-nya yang sama maka diubah menjadi bentuk
tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root
word yang sama yaitu “balas”, maka root word “berbalas-balasan” adalah

Universitas Sumatera Utara


13

“balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root
word yang berbeda, maka root word-nya adalah “bolak-balik”.

Tambahan bentuk awalan dan akhiran serta aturannya.


1. awalan “mem-“, kata yang diawali dengan awalan “ memp-“ memiliki tipe
awalan “mem-“. Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-
“ memiliki tipe awalan “meng-“.

2.5. Membangun Index Melalui Proses Sorting dan Grouping


Tahap utama dalam membangun sebuah index adalah mengurutkan (sorting) hasil
stemming sehingga daftar term tersebut terurut berdasarkan abjad. Term yang sama
kemudian dikelompokkan (grouping) menjadi satu dan dihitung frekuensi
kemunculannya di tiap-tiap dokumen.

2.6. Term Frequency (TF)


TF adalah frekuensi dari kemunculan sebuah term dalam 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. Pada term frequency (TF), terdapat beberapa jenis formula yang dapat
digunakan :
1. TF biner (binary TF), hanya memperhatikan apakah suatu kata atau term ada atau
tidak dalam dokumen, jika ada diberi nilai satu (1), jika tidak diberi nilai nol (0).
2. TF murni (raw TF), nilai TF diberikan berdasarkan jumlah kemunculan suatu
term di dokumen. Contohnya, jika muncul lima (5) kali maka kata tersebut akan
bernilai lima (5).
3. TF logaritmik, hal ini untuk menghindari dominansi dokumen yang mengandung
sedikit term dalam query, namun mempunyai frekuensi yang tinggi.
4. TF normalisasi, menggunakan perbandingan antara frekuensi sebuah term dengan
nilai maksimum dari keseluruhan atau kumpulan frekuensi term yang ada pada
suatu dokumen.

Universitas Sumatera Utara


14

2.7. Multinomial Naive Bayes


Menurut (Manning, Raghavan, & Schutze, 2008), probabilitas sebuah dokumen d
berada di kelas c dihitung dengan:
𝑃(𝑐|𝑑) ∝ 𝑃(𝑐) ∏1≤𝑘≤𝑛𝑑 𝑃(𝑡𝑘 |𝑐) (2.1)
Keterangan :
1. P(c), adalah prior probability dari sebuah dokumen yang terdapat dalam kelas c.
Bila term dari sebuah dokumen tidak memberikan petunjuk yang jelas untuk satu
kelas dibandingkan dengan kelas lainnya, maka dipilih satu kelas yang memiliki
prior probability yang tertinggi.
2. <t1,t2, ..., tnd>, adalah kumpulan token dalam dokumen d yang merupakan bagian
dari vocabulary yang digunakan untuk mengklasifikasi dan nd adalah jumlah
token tersebut di dalam dokumen d. Contoh, <t1,t2, ..., tnd> untuk dokumen
dengan satu kalimat Beijing and Taipei join the WTO, menjadi <Beijing, Taipei,
join, WTO>, dengan nd = 4, jika term and dan the dianggap sebagai stop words.
Untuk memperkirakan prior probability P(c) digunakan persamaan sebagai
berikut:
𝑁𝑐
𝑃(𝑐) = (2.2)
𝑁
Keterangan:
Nc = Jumlah dari dokumen training dalam kelas c.
N = Jumlah keseluruhan dokumen training dari seluruh kelas.

Untuk memperkirakan conditional probability P(t|c) persamaan yang


digunakan, yaitu:
𝑇𝑐𝑡
𝑃(𝑡𝑘 |𝑐) = (2.3)
∑ 𝑡 ′ ∈ 𝑣 𝑇𝑐𝑡′
Keterangan:
𝑇𝑐𝑡 = Jumlah kemunculan term t dalam sebuah dokumen training dari kelas c.
∑ 𝑡 ′ ∈ 𝑉 𝑇𝑐𝑡′ = Jumlah total dari keseluruhan term yang terdapat dalam sebuah
dokumen training dari kelas c.

Universitas Sumatera Utara


15

Masalah dari proses perkiraan nilai conditional probabilities pada persamaan


(2.3) adalah terdapat nilai nol dari sebuah kombinasi (term|class) yang tidak terdapat
dalam data training. Berdasarkan contoh diatas, bila term WTO dalam data training
hanya terdapat dalam dokumen China, maka perkiraan untuk kelas-kelas lainnya,
misalnya UK, akan bernilai nol (0):
𝑃(𝑊𝑇𝑂|𝑈𝐾) = 0 (2.4)
Untuk menghilangkan nilai nol, digunakan add-one atau Laplace smoothing.
Proses ini menambahkan nilai satu (1) pada setiap nilai Tct dari perhitungan
conditional probabilities. Sehingga persamaan untuk conditional probabilities
menjadi:
𝑇𝑐𝑡 + 1
𝑃(𝑡𝑘 |𝑐) = (2.5)
(∑ 𝑡 ′ ∈ 𝑣 𝑇𝑐𝑡′ ) + 𝐵′
Keterangan:
B' = jumlah keseluruhan term unik dari seluruh kelas.

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)
𝑁 (∑ 𝑡 ′ ∈𝑣 𝑇𝑐 ′ )+𝐵′
𝑡

2.8. Evaluasi Sistem dengan F-score

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).

Gambar 2.1 Perhitungan F-score

Universitas Sumatera Utara


16

𝑻𝑷
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

2.9. Penelitian Terdahulu

Berbagai penelitian analisis sentimen telah banyak dilakukan sebelumnya, salah


satunya oleh (Kanakaraj & Guddeti 2015) dengan analisis sentimen pada data twitter
menggunakan algoritma ensemble keyword diperoleh melalui tweet synsets dan sens
diambil dari database WordNet dengan synsets dan Word Senses sebagai fitur vektor.
Analisis efek dari klasifikasi ensemble yang berbeda seperti Decision Tree, Random
Forest, Extremely Randomized Trees dan AdaBoost. Extremely Randomized Trees
menghasilkan skor paling baik mencapai mencapai 90%.
Selain itu, (Singh et al. 2014) analisis semantik review produk menggunakan
Algoritma Weighted k-NN classifier. Review produk diambil dari beberapa situs
seperti amazon.com, ebay.com, flipkart.com. Dengan 7000 dataset menggunakan
pembobotan unigram untuk menentukan apakah data tersebut positif,negatif atau
netral.
Selanjutnya dilakukan penelitian oleh (Yan & Huang 2015) yaitu analisis
kalimat sentimen tibet menggunakan Algoritma Maksimum Entropi Dengan
menggunakan 10.000 korpus kalimat sentimen tibet, algoritma GIS untuk menghitung
nilai bobot masing-masing fitur data pelatihan. Kategori fitur dalam penelitian

Universitas Sumatera Utara


17

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%.

Universitas Sumatera Utara


18

Berdasarkan beberapa penelitan diatas maka penulis mengajukan suatu metode


untuk menentukan kualitas layanan Gojek Indonesia berdasarkan opini publik
menggunakan Multinomial Naive Bayes. 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. Rangkuman dari penelitian terdahulu dapat dilihat pada tabel 2.3.

Tabel 2.3 Penelitian Terdahulu

No Nama Peneliti Tahun Metode Akurasi

Algoritma
Kanakaraj & Ensemble(Decision Tree,
1 Guddeti 2015 Random Forest, Extremely 90%
Randomized Trees dan
AdaBoost)

2 Singh, et al 2014 Weighted k-NN classifier -

Maximum entropi dan


3 2015 82,8%
Yan & Huang Algoritma GIS

4 2016 SVM, DF&CHI 90,08%


Luo, et al
Hybrid Metode (Naive
5 Govindarajan 2013 Bayes dan Algoritma 93,80%
Genetika)
Putranti & Maximum Entropi dan tf-
6 2014
Winarko IDF 81,67%

7 Razzaq et al. 2014 Support Vector Machine 70%

8 Yazdavar et al. 2016 Fuzzy logic 71%

9 Mandal et al. 2017 Lexicon Based 97,1%.

Universitas Sumatera Utara


19

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

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.

3.1. Analisis Sistem

Metode yang diajukan penulis untuk mengetahui tanggapan masyarakat mengenai


kualitas dari layanan Gojek Indonesia yang terdiri dari beberapa proses. Proses-proses
yang akan dilakukan adalah sebagai berikut: kumpulan opini memasuki proses
preprocessing, dimana opini yang dimaksud adalah kalimat subjektif yang
menyatakan persepsi sesorang terhadap suatu objek atau peristiwa. Pada penelitian ini
opini digolongkan dalam 3 jenis yaitu opini positif, negatif, dan netral. Lalu opini
yang telah didapatkan akan dibersihkan dari simbol-simbol yang tidak penting,
dikarenakan simbol-simbol tersebut tidak berkaitan dan tidak memiliki arti penting
dalam opini contohnya @, RT, HTML, kata sambung, dan lain sebagainya. Setelah itu
akan melewati proses stemming dengan menggunakan algoritma Nazief dan Andriani,
selanjutnya tahapan perhitungan term frequency (TF) yang akan menghitung bobot
nilai dari setiap term yang ada pada seluruh dokumen, dan proses klasifikasi dengan
algoritma MNBC yang menentukan apakah kategori opini tersebut termasuk dalam
kelompok positif, negatif atau netral. Arsitektur umum yang mendeskripsikan setiap
metodologi pada penelitian ini ditunjukkan pada gambar 3.1.

Universitas Sumatera Utara


20

Gambar 3.1 Arsitektur Umum

3.2. Perancangan Sistem

3.2.1. Pengumpulan data


Data yang digunakan dalam penelitian ini diambil dari kumpulan tweet mention
@gojekindonesia berdasarkan 5 layanan yaitu Go-car, Go-ride, Go-food, Go mart dan
Go-send melalui twitter search API. Banyaknya data yang terdapat dalam penelitian
ini adalah 1096 data, yang pembagiannya 700 untuk data latih yang akan digunakan
untuk membentuk model analisis sentimen, yang secara manual diberi label positif,
negatif dan netral sesuai dengan sifat opini dari data yang telah didapatkan.
Sedangkan 396 data dari hasil crawling akan digunakan sebagai data uji yang akan

Universitas Sumatera Utara


21

dilabeli sentimen secara otomatis oleh sistem. Detail dari kumpulan data set yang
didapat dari hasil crawling dapat dilihat pada Tabel 3.1.

Tabel 3.1 Detail Data set Hasil Crawling


Jumlah
Layanan
Data Latih Data Uji
GO-CAR 136 65
GO-RIDE 141 90
GO-FOOD 246 134
GO-MART 13 7
GO-SEND 164 100
Total 700 396

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.

Tabel 3.2 Contoh Proses Cleaning


Sebelum Cleaning Setelah Cleaning
@gojekindonesia min, td saya min td saya gosend driver malah
go-send driver malah nganter nganter paket ke jne padahal orderan
paket ke jne padahal orderan ke ke wahana Dan dia lepas tangan jd
wahana. Dan dia lepas tangan, jd gmn ya
gmn ya?

b. Case folding yaitu semua huruf akan diubah menjadi lowercase atau huruf kecil.
Contoh proses case folding dapat dilihat pada tabel 3.3.

Universitas Sumatera Utara


22

Tabel 3.3 Contoh Proses Case folding


Sebelum Case Folding Setelah Case Folding
min td saya gosend driver malah min td saya gosend driver malah
nganter paket ke jne padahal nganter paket ke jne padahal orderan
orderan ke wahana Dan dia lepas ke wahana dan dia lepas tangan jd
tangan jd gmn ya gmn ya

c. Tokenisasi yaitu memisahkan deretan kata di dalam kalimat, paragraf atau


halaman menjadi token atau disebut potongan kata tunggal atau termmed word.
Contoh proses tokenisasi dapat dilihat pada tabel 3.4.
Tabel 3.4 Contoh Proses Tokenisasi
Sebelum Tokenisasi Setelah Tokenisasi
min td saya gosend driver malah [min] [td] [saya] [gosend] [driver]
nganter paket ke jne padahal [malah] [nganter] [paket] [ke] [jne]
orderan ke wahana Dan dia lepas [padahal] [orderan] [ke] [wahana]
tangan jd gmn ya [dan] [dia] [lepas] [tangan] [jd]
[gmn] [ya]

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

Universitas Sumatera Utara


23

Tabel 3.6 Contoh Proses Stopword Removal


Sebelum Stopword Removal Setelah Stopword Removal
[min] [td] [saya] [gosend] [driver] min gosend driver anter paket jne
[malah] [nganter] [paket] [ke] [jne] orderan wahana lepas tangan
[padahal] [orderan] [ke] [wahana]
[dan] [dia] [lepas] [tangan] [jd]
[gmn] [ya]

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.

Universitas Sumatera Utara


24

Gambar 3.2 Flowchart Stemming Nazief & Andriani

Universitas Sumatera Utara


25

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

Universitas Sumatera Utara


26

g. Normalisasi bertujuan mempermudah proses analisis sentimen terhadap entitas-


entitas dikarenakan banyaknya kata yang tidak baku didalam tweet seperti
singkatan, tanggal, jumlah mata uang, dan akronim. Kata yang tidak baku
memiliki kecenderungan yang lebih tinggi dalam hal ambiguitas interpretasinya
atau pelafalannya dibanding kata yang sudah baku. Misalnya, kata betul bisa
ditulis dengan kata btl, betol, bener, bnr, dan lain sebagainya. Jika tidak dilakukan
normalisasi, kata-kata tersebut akan berdiri sendiri. Padahal, seharusnya kata-kata
tersebut terkelompokkan ke dalam konteks yang sama, yaitu benar. Kasus
semacam ini dapat diselesaikan dengan normalisasi teks dengan cara mengganti
kata yang tidak baku dengan kata yang sesuai konteksnya (Sproat et al. 2001).
Proses normalisasi teks dilakukan menggunakan penggantian pada kata yang
tidak baku menjadi kata baku dengan sistem yang telah dibuat oleh (Aziz, 2013).
Sebelum dilakukan penggantian dengan kata baku, harus dibuat terlebih dahulu
sebuah kamus yang berisi kata yang tidak baku. Contoh kamus normalisasi
terdapat pada tabel 3.9 dan contoh proses normalisasi terdapat pada tabel 3.10.
Tabel 3.9 Kamus Sinonim
Daftar Kata Sinonim
error rusak
bener benar
blom belum
sampe sampai
dapet dapat

Tabel 3.10 Contoh Proses Normalisasi


Sebelum Normalisasi Setelah Normalisasi
min, gosend, driver, anter, paket, jne, admin, gosend, pengemudi,
order, wahana, lepas, tangan antar, paket, jne, 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.

Universitas Sumatera Utara


27

3.2.3. Term Frequency (TF)


Term frequency merupakan proses pembobotan atau pemberian nilai pada setiap term
di dalam tweet yang sudah melewati tahap preprocessing. Pada penelitian ini sistem
pembobotan/pemberian nilai hanya sampai proses term frequency, dikarenakan pada
algoritma multinomial naive bayes hanya memperhatikan apakah suatu kata atau term
ada atau tidak dalam dokumen. Adapun contoh perhitungan term frequency (TF)
terdapat pada tabel 311.
Tabel 3.11 Contoh Perhitungan Term Frequency
Term Term Frequency (TF)
admin 1
gosend 1
pengemudi 1
antar 1
paket 1
jne 1
order 1
wahana 1
lepas 1
tangan 1

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.

3.2.4. Implementasi Algoritma Multinomial Naive Bayes

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

Universitas Sumatera Utara


28

training dari seluruh kelas. Contoh perhitungan prior probabilitas untuk tiap kelas
dapat dilihat pada tabel 3.12

Tabel 3.12 Contoh Perhitungan Prior Probabilitas untuk Tiap Kelas


Kelas Prior probabilitas
Negatif 2/5
Positif 2/5
Netral 1/5

b. Setelah menghitung prior probabilitas, selanjutnya hitung nilai conditional


probabilitas dan laplace smoothing setiap term pada setiap kelas menggunakan
persamaan (2.5). Contoh, perhitungan conditional dan laplace smoothing untuk
term “antar” pada kelas negatif, positif dan netral yaitu:
1+ 1 2
P (antar|D1|negatif) = = = 0.0338983051
21+ 38 59
0+1 1
P (antar|D1|positif) = = = 0.0185185185
16+38 54
0+1 1
P (antar|D1|netral) = = = 0.0204081633
11+38 49

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

Universitas Sumatera Utara


29

frequency masing-masing. Kemudian jumlahkan nilainya untuk masing-masing


kelas.
d. Proses akhir yaitu hitung probabilitas pada seluruh kelas, untuk menentukan
sentimen pada data uji dengan menggunakan persamaan (2.6), dengan cara
mengalikan nilai prior probabilitas dengan total nilai conditional dan laplace
smoothing untuk masing-masing kelas.

3.2.5. Perancangan Aplikasi

Perancangan aplikasi pada penelitian ini terdiri dari :


3.2.5.1. Rancangan Tampilan Beranda
Tampilan beranda memuat informasi mengenai sistem. Tampilan beranda dapat
dilihat pada gambar 3.3.

Gambar 3.3 Rancangan Tampilan Beranda


Keterangan :
1. Menu beranda berfungsi untuk menampilkan informasi mengenai sistem.
2. Menu tweet training berfungsi untuk menampilkan data latih beserta text
processing-nya.
3. Menu tweet testing berfungsi untuk menampilkan data uji
4. Menu preprocessing berfungsi untuk melakukan text processing pada data
uji.
5. Menu klasifikasi berfungsi untuk melakukan proses klasifikasi data uji.
6. Menu akurasi berfungsi untuk menampilkan akurasi algoritma dan grafik
layanan

Universitas Sumatera Utara


30

3.2.5.2. Rancangan Tampilan Tweet Training


Tampilan tweet training menampilkan data latih yang telah dicrawling dan
procespresing-nya. Tampilan tweet training dapat dilihat pada gambar 3.4.

Gambar 3.4 Rancangan Tampilan Tweet Training

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.

3.2.5.3. Rancangan Tampilan Tweet Testing


Tampilan tweet testing menampilkan seluruh data uji. Tampilan tweet testing
dapat dilihat pada gambar 3.5.

Gambar 3.5 Rancangan Tampilan Tweet Testing

Universitas Sumatera Utara


31

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.

3.2.5.4. Rancangan Tampilan Preprocessing


Tampilan preprocessing akan menampilkan proses hasil preprocessing dari
seluruh data uji. Tampilan preprocessing dapat dilihat pada gambar 3.6.

Gambar 3.6 Rancangan Tampilan Preprocessing


Keterangan :
1. Preprocessing akan menampilkan proses text processing pada seluruh data
uji yang memuat remove twitter atribut, remove special karakter, normalisasi
dan lain sebagainya.

3.2.5.5. Rancangan Tampilan Klasifikasi


Tampilan klasifikasi akan menampilkan hasil klasifikasi sentimen. Tampilan
klasifikasi dapat dilihat pada gambar 3.7.

Universitas Sumatera Utara


32

Gambar 3.7 Halaman Klasifikasi

Keterangan :
1. Klasifikasi akan menampilkan perbandingan antara sentimen manual dengan
sentimen sistem.

3.2.5.6. Rancangan Tampilan Analisis


Tampilan analisis akan menampilkan akurasi dan analisis. Tampilan analisis
dapat dilihat pada gambar 3.8.

Gambar 3.8 Rancangan Tampilan analisis


Keterangan :

1. Analisis akan menampilkan akurasi yaitu besar kecilnya persentase


keberhasilan sistem mengklasifikasikan sentimen dari data yang ada dan
analisis menampilkan grafik dari beberapa layanan gojek Indonesia.

Universitas Sumatera Utara


33

3.3. Metode Pengujian

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.

3.3.1. Akurasi Sistem


Untuk menghitung akurasi yang diperoleh sistem maka digunakan persamaan (3.1)

𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑏𝑒𝑛𝑎𝑟


Akurasi = x 100 (3.1)
𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛

Contoh akurasi sistem dapat dihitung dengan menggunakan persamaan (3.1).


270
Akurasi = X 100%
300

= 90%
3.3.2. Evaluasi Sistem

Tahapan evaluasi berfungsi untuk menghitung seberapa baik sistem dalam


mengidentifikasi tweet positif, negatif, dan netral yang diujikan di dalam sistem.
Tahapan ini akan menggunakan persamaan yang sudah dijabarkan pada bagian 2.8.
Sebagai contoh untuk tahapan evaluasi, digunakan data contoh pada Tabel 3.13.

Universitas Sumatera Utara


34

Tabel 3.13 Contoh Nilai Variabel Evaluasi Sistem


No Variabel Jumlah
1 True positive (TP) 130
2 False negative (FN) 4
3 False positive (FP) 26
4 True Negative (TN) 140

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%.

Universitas Sumatera Utara


24

BAB 4

IMPLEMENTASI DAN PENGUJIAN

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.

4.1 Implementasi Sistem

Berdasarkan analisis dan perancangan yang telah dibuat, sistem ini dibuat
menggunakan bahasa pemrograman php dan javascript.

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak


Spesifikasi perangkat keras yang digunakan dalam pembuatan sistem ini adalah
sebagai berikut:
1. Processor Intel® Core TM i5-4200U CPU @ 1.60 GHz
2. Kapasitas harddisk 500 GB
3. Memori RAM yang digunakan 4 GB
Spesifikasi perangkat lunak yang digunakan dalam pembuatan sistem ini adalah
sebagai berikut:
1. Sistem operasi Windows 8.1 Pro 64-bit (6.3, Build 9600)
2. XAMPP Control Panel v3.1.0.
3. PHP dan Javascript

4.1.2. Tampilan Beranda

Tampilan beranda merupakan halaman awal pada saat sistem dijalankan. Tampilan
beranda dapat dilihat pada gambar 4.1.

Universitas Sumatera Utara


36

Gambar 4.1 Tampilan Beranda

4.1.3. Tampilan Tweet Training

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.

Gambar 4.2 Tampilan Tweet Training

Universitas Sumatera Utara


37

4.1.4. Tampilan Tweet Testing

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.

Gambar 4.3. Tampilan Tweet Testing


4.1.5. Tampilan Preprocessing

Preprocessing menampilkan setiap tahap-tahap preprocessing pada data testing


stopword removal, stemming dan normalisasi. Tampilan preprocessing dapat dilihat
pada gambar 4.4.

Gambar 4.4 Tampilan Preprocessing

Universitas Sumatera Utara


38

4.1.6. Tampilan Klasifikasi

Klasifikasi menampilkan perbandingan antara sentimen sistem dan sentimen manual


dari data testing. Tampilan klasifikasi dapat dilihat pada gambar 4.5.

Gambar 4.5 Tampilan Klasifikasi

4.1.7. Tampilan Analisis

Analisis akan menampilkan akurasi, persentasi kualitas layanan Gojek Indonesia


berdasarkan lima kategori yaitu Go-car, Go-ride, Go-food, Go-mart dan Go-send.
Tampilan analisis dapat dilihat pada Gambar 4.6 dan 4.7 .

Gambar 4.6 Tampilan Akurasi

Universitas Sumatera Utara


39

Pada gambar 4.6 dapat dilihat akurasi sistem menggunakan algoritma


Multinomial Naive Bayes menghasilkan persentase sistem 95,20 %. Warna hijau pada
diagram menunjukkan data yang sesuai sebesar 95,20% dan warna pink pada gambar
menunjukkan data yang tidak sesuai sebesar 4,79%.

Gambar 4.7 Tampilan Grafik Layanan Gojek Indonesia

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%.

4.2. Pengujian Sistem

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.

Adapun untuk menjelaskan proses pelatihan data training dan testing,


diberikan 5 dokumen tweet untuk digunakan sebagai data latih dan 1 dokumen tweet

Universitas Sumatera Utara


40

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

Tabel 4.2 Data Testing


Dokumen Sebelum Preprocessing Setelah Preprocessing Kelas
6 @gojekindonesia Saya order, barang, tokopedia
order barang di Tokopedia gosend, sampai, sekarang,
dengan gosend sampai belum, terima, barang ?
sekarang belum terima
barang...

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.

Universitas Sumatera Utara


41

Tabel 4.3 Daftar Term Beserta Frekuensi Kemunculannya


Term Frequency (tfi)
Terms
D1 D2 D3 D4 D5
admin 1 0 0 0 0
gosend 1 0 0 0 0
driver 1 0 0 0 0
antar 1 0 0 0 0
paket 1 0 0 0 0
jne 1 0 0 0 0
wahana 1 0 0 0 0
lepas 1 0 0 0 0
tangan 1 0 0 0 0
belanja 0 1 0 0 0
tokopedia 0 1 0 0 0
pilih 0 1 0 0 0
kirim 0 1 0 0 0
pakai 0 1 0 0 0
gosend 0 1 0 0 0
driver 0 1 0 0 0
tidak 0 1 0 0 0
ada 0 1 0 0 0
ambil 0 1 0 0 0
percuma 0 1 0 0 0
belanja 0 0 1 0 0
online 0 0 1 0 0
siap 0 0 1 0 0
lebaran 0 0 1 0 0
dapat 0 0 1 0 0
sampai 0 0 1 0 0
gosend 0 0 1 0 0
lebih 0 0 1 0 0
cepat 0 0 1 0 0
mudah 0 0 1 0 0

Universitas Sumatera Utara


42

Tabel 4.3 Daftar Term Beserta Frekuensi Kemunculannya (Lanjutan)


Term Frequency (tfi)
Terms
D1 D2 D3 D4 D5
gosend 0 0 0 1 0
pagi 0 0 0 1 0
admin 0 0 0 2 0
harga 0 0 0 1 0
turun 0 0 0 1 0
tanya 0 0 0 0 1
kirim 0 0 0 0 1
gosend 0 0 0 0 1
bisa 0 0 0 0 1
jangkau 0 0 0 0 1
wilayah 0 0 0 0 1
bojonegoro 0 0 0 0 1
jawa 0 0 0 0 1
timur 0 0 0 0 1
tidak 0 0 0 0 1
terimakasih 0 0 0 0 1

4.2.2. Hasil Proses Sorting dan Grouping

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.

Universitas Sumatera Utara


43

Tabel 4.4 Hasil Proses Sorting dan Grouping


Term Frequency (tfi)
Terms
D1 D2 D3 D4 D5
ada 0 1 0 0 0
admin 1 0 0 2 0
ambil 0 1 0 0 0
antar 1 0 0 0 0
belanja 0 1 1 0 0
bisa 0 0 0 0 1
bojonegoro 0 0 0 0 1
cepat 0 0 1 0 0
dapat 0 0 1 0 0
driver 1 1 0 0 0
gosend 1 1 1 1 1
harga 0 0 0 1 0
jangkau 0 0 0 0 1
jawa 0 0 0 0 1
jne 1 0 0 0 0
kirim 0 1 0 0 1
lebaran 0 0 1 0 0
lebih 0 0 1 0 0
lepas 1 0 0 0 0
mudah 0 0 1 0 0
online 0 0 1 0 0
order 1 0 0 0 0
pagi 0 0 0 1 0
pakai 0 1 0 0 0
paket 1 0 0 0 0
percuma 0 1 0 0 0
pilih 0 1 0 0 0
sampai 0 0 1 0 0
siap 0 0 1 0 0
tangan 1 0 0 0 0

Universitas Sumatera Utara


44

Tabel 4.4 Hasil Proses Sorting dan Grouping (Lanjutan)


Term Frequency (tfi)
Terms
D1 D2 D3 D4 D5
tanya 0 0 0 0 1
terimakasih 0 0 0 0 1
tidak 0 1 0 0 1
timur 0 0 0 0 1
tokopedia 0 1 0 0 0
turun 0 0 0 1 0
wahana 1 0 0 0 0
wilayah 0 0 0 0 1

4.2.3. Klasifikasi dengan Algoritma Multinomial Naive Bayes

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.

Gambar 4.8 Flowchart Proses Multinomial Naive Bayes

Universitas Sumatera Utara


45

Proses prior probabilitas menghitung jumlah dokumen training dalam satu


kelas (c) kemudian membaginya dengan jumlah seluruh dokumen training dalam
seluruh kelas seperti pada persamaan (2.2), Kemudian dihitung conditional
probabilitas dan laplace smoothing untuk menentukan kelas yang tepat pada dokumen
latih. Proses matching pada data uji untuk mengetahui apakah term yang sama ada
pada data training atau tidak. Memangkatkan nilai conditional probabilitas pada data
testing, bobot nilai term dikuadratkan jika ditemukan term yang sama pada satu
dokumen yang sama. Setelah seluruh bobot didapatkan maka akan dilakukan
perkalian dengan nilai prior probability yang sebelumnya telah dihitung.

4.2.3.1. Perhitungan Klasifikasi Data Training dengan Algoritma Multinomial


Naive Bayes
A. Setelah melewati tahapan preprocessing dan menghitung kemunculan kata
(tf) pada tiap dokumen seperti yang terdapat pada tabel 4.4, kemudian hitung
𝑁𝑐
Prior Probabilitas dengan menggunakan persamaan (2.2) : 𝑃(𝑐) =
𝑁
353
 P(negatif) =
700
129
 P(positif) =
700
218
 P(netral) =
700
Keterangan :
Nilai 353 adalah jumlah dokumen training dalam kelas negatif
Nilai 129 adalah jumlah dokumen training dalam kelas positif
Nilai 218 adalah jumlah dokumen training dalam kelas netral
Nilai 700 adalah jumlah keseluruhan dokumen training dalam seluruh kelas

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.

B. Hitung Conditional Probabilitas dengan menggunakan persamaan (2.3) :


𝑇𝑐𝑡
𝑃(𝑡𝑘 |𝑐) = ∑
𝑡 ′ ∈𝑣 𝑇𝑐𝑡′

Universitas Sumatera Utara


46

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

C. Laplace smoothing digunakan untuk menghilangkan nilai nol dan merupakan


tahap akhir dari proses training menggunakan algoritma Multinomial Naive
Bayes. Hasil yang didapat dari proses ini akan menjadi model untuk
melakukan klasifikasi. Hasil perhitungan conditional probabilitas dan laplace
smoothing dapat dilihat pada tabel 4.6.
Contoh perhitungan Conditional Probabilitas dan Laplace Smoothing pada
dokumen 2 atau D2:
“belanja tokopedia pilih kirim pakai gosend driver tidak ada ambil percuma”
𝑇𝑐𝑡 +1
Menggunakan persamaan (2.5): 𝑃(𝑡𝑘 |𝑐) =
(∑ 𝑡 ′ ∈𝑣 𝑇𝑐 ′ )+𝐵′
𝑡

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

Universitas Sumatera Utara


47

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 & Laplace S Per Term


Nilai Conditional Probabilitas dan Laplace Smoothing
Terms
Negatif Positif Netral
ada 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0204081633
admin 0.0338983051 0.0169491525 0.0185185185 0.0555555556 0.0204081633
ambil 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0204081633
antar 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
belanja 0.0169491525 0.0338983051 0.037037037 0.0185185185 0.0204081633
bisa 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
bojonegoro 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
cepat 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633
dapat 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633
driver 0.0338983051 0.0338983051 0.0185185185 0.0185185185 0.0204081633
gosend 0.0338983051 0.0338983051 0.037037037 0.037037037 0.0408163265
harga 0.0169491525 0.0169491525 0.0185185185 0.037037037 0.0204081633
jangkau 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
jawa 0.0169491525 0.0169491525 0.0185185185 0.0185185185 0.0408163265
jne 0.0338983051 0.0169491525 0.0185185185 0.0185185185 0.0204081633
kirim 0.0169491525 0.0338983051 0.0185185185 0.0185185185 0.0408163265
lebaran 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633
lebih 0.0169491525 0.0169491525 0.037037037 0.0185185185 0.0204081633

Universitas Sumatera Utara


48

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

4.2.3.2. Perhitungan Klasifikasi Data Testing dengan Algoritma Multinomial


Naive Bayes
A. Sama seperti data training, setelah melewati proses preprocessing data
testing pada tabel 4.2 akan melalui tahap ascending dan grouping. Hasil
sorting dan grouping pada data uji dapat dilihat pada tabel 4.6.
Tabel 4.6 Hasil Sorting Ascending dan Grouping Data Testing
Term Frequency (tfi)
Terms
D6
barang 2
belum 1

Universitas Sumatera Utara


49

Tabel 4.6 Hasil Sorting Ascending dan Grouping Data Testing


(Lanjutan)
Term frequency (tfi)
Term
D6
gosend 1
order 1
sampai 1
sekarang 1
terima 1
tokopedia 1

B. Proses matching adalah proses untuk menemukan term yang sama-sama


muncul pada model. Tabel 4.7 merupakan hasil matching menggunakan data
utuh. Yaitu hasil perhitungan menyeluruh terhadap data yang diproses. Untuk
sebuah term yang kemunculannya lebih dari satu kali, pangkatkan nilai
laplace smoothing-nya dengan term frequency berdasarkan kata yang sama.
Kemudian kalikan nilainya untuk masing-masing kelas. Contoh, jika term
‘gosend’ memiliki tf sebanyak 2 kali. Pangkatkan nilai CP&LS-nya untuk
menyederhanakan perhitungan.
P(gosend|D1|negatif) = 0.0338983051^2 = 0.00114909509

Tabel 4.7 Hasil Proses Matching Data Testing


Kelas
Terms
Negatif Positif Netral

gosend 2 2 1
order 1 0 0
sampai 0 1 0
tokopedia 1 0 0

C. Setelah melewati proses matching ditemukan 4 term yang sama yang


ditemukan pada data training yang terdapat pada tabel 4.7. Kemudia hitung
total nilai conditional probabilitas dan laplace smoothing pada setiap term
yang ada di data testing dengan menggunakan persamaan 2.5.
Hitung bobot nilai setiap kata persentimen negatif pada dokumen 6 (D6):

Universitas Sumatera Utara


50

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

Hasil perhitungan lengkap conditional probabilitas dan laplace smoothing


pada data testing terdapat pada tabel 4.8.

Tabel 4.8 Hasil Perhitungan Conditional Probabilitas dan Laplace Smoothing


Data Testing Setiap Kelas
Nilai Conditional Probabilitas dan Laplace Smoothing
Terms Tf
Negatif Positif Netral
barang 2 0,0169491525 0,0185185185 0,0204081633
belum 1 0,0169491525 0,0185185185 0,0204081633
gosend 1 0,0508474576 0,0555555556 0,0408163265
order 1 0,0338983051 0,0185185185 0,0204081633
sampai 1 0,0169491525 0,037037037 0,0204081633
sekarang 1 0,0169491525 0,0185185185 0,0204081633
terima 1 0,0169491525 0,0185185185 0,0204081633
tokopedia 1 0,0338983051 0,0185185185 0,0204081633
Total 8,17269239e-14 8,29853007e-14 6,0181271e-14

Universitas Sumatera Utara


51

D. Selanjutnya untuk mendapatkan nilai probabilitas dari data testing terhadap


seluruh kelas dengan cara mengalikan nilai prior probabilitas dengan total nilai
conditional probabilitas dan laplace smoothing untuk masing-masing kelas
dengan menggunakan persamaan (2.6). Probabilitas masing-masing kelas
terhadap data testing untuk D6 yaitu:
𝑁𝑐 𝑇𝑐𝑡 +1
Persamaan (2.6): x ′
𝑁 (∑ 𝑡 ∈𝑣 𝑇𝑐 ′ )+𝐵′
𝑡

 Probabilitas D6 terhadap kelas negatif :


P(negatif | D6) = 353/700 * 8,17269239e-14 = 4,121372022e-14
 Probabilitas D6 terhadap kelas positif
P(positif | D6) = 129/700 * 8,29853007e-14 = 1,52930054e-14
 Probabilitas D6 terhadap kelas netral
P(netral | D6) = 218/700 * 6,0181271e-14 = 1,87421672e-14

Dari perhitungan probabilitas diatas diketahui bahwa probabilitas D6 terhadap


kelas negatif memiliki nilai yang paling tinggi, yaitu 4,121372022e-14. Sehingga D6
masuk ke dalam kelas negatif.

4.2.4. Hasil Pengujian Sistem

4.2.4.1. Menghitung akurasi data uji keseluruhan sistem, dengan menggunakan


persamaan (3.1)
377
Akurasi = 396 x 100%

= 95,20%

Berdasarkan persamaan (3.1) maka dapat diketahui bahwa akurasi sistem


untuk klasifikasi sentimen menggunakan metode Multinomial Naive Bayes sebesar
95,20%.
4.2.4.2. Akurasi Pengujian Sistem dengan F-score, dilakukan dengan 3 kali
percobaan dengan 4 kondisi yang sudah dijelaskan pada bagian 3.3
sebelumnya. Total percobaan 3 kali yang dilakukan dimaksudkan untuk
menghasilkan akurasi paling baik yang akan dihasilkan dari setiap kondisi
penelitian. Adapun hasil pengujian sistem pada penelitian ini terhadap data

Universitas Sumatera Utara


52

uji dengan jumlah percobaan sebanyak 3 kali dan dengan parameter yang
sudah diatur sebelumnya dapat dilihat pada Tabel 4.9.

Tabel 4.9 Hasil Pengujian Sistem


Kondisi Percobaan
Nomor Percobaan
A B C D
TP 124 124 123 116
FN 86 22 74 14
FP 0 2 3 10
1
TN 44 109 56 115
Precision 100 98,41 97,61 92,06
Recall 59,43 84,93 62,43 89,23
TP 123 120 122 118
FN 86 21 74 14
FP 0 3 1 5
2
TN 44 109 56 116
Precision 100 97,56 99,18 95,93
Recall 58,85 85,10 62,24 89,39
TP 123 119 122 120
FN 85 21 73 13
FP 0 4 1 3
3
TN 44 108 56 116
Precision 100 96,74 99,18 97,56
Recall 59,13 85 62,56 90,22

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

Universitas Sumatera Utara


53

Grafik F-score Hasil Pengujian Sistem


100
90
F-score (%)

80
70
60 Kondisi A
50 Kondisi B

40 Kondisi C

30 Kondisi D

20
10
0
Percobaan 1 Percobaan 2 Percobaan 3

Gambar 4.9 Grafik F-score Pengujian Sistem

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.

Universitas Sumatera Utara


56

BAB 5

KESIMPULAN DAN SARAN

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

Adapun kesimpulan yang diperoleh dari penelitian ini, yaitu:


1. Algoritma Multinomial naive bayes mampu mengklasifikasi sentimen tweet ke
dalam kelas negatif, positif dan netral
2. Hasil klasifikasi yang diambil dari tweet sentimen positif menunjukkan tingkat
kualitas layanan gojek Indonesia dengan layanan terbaik pada GO-FOOD sebesar
64%, GO-RIDE 42%, GO-SEND 8%, GO-CAR 5% dan GO-MART 3%
3. Pengujian analisis sentimen pada layanan gojek Indonesia dengan metode
Multinomial Naive Bayes menghasilkan akurasi sebesar 92,30%
5.2. Saran

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.

Universitas Sumatera Utara


55

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.

Universitas Sumatera Utara


56

Manalu, U. B. 2014. Analisis sentimen pada twitter menggunakan text mining.


Skripsi. Universitas Sumatera Utara.
Mandal, S. & Gupta, S. 2017. A lexicon-Based Text Classification Model to Analysis
and Predict Sentiments from Online Review. IEEE.
Manning, C.D., Raghavan, P., & Schutze, H. (2008). Introduction to Information
Retrieval. Cambridge University Press.
Miner, et al. 2012. Practical Text Mining and Statistical Analysis for Non-structured
Tesxt Data Applications. Oxford : Elsevier
Marikxon. 2015. Go-Jek Yang Kini Bisa Dipesan Dari Smartphone. Retrieved from
(Online)https://www.maxmanroe.com/go-jek-startup-panggilan-ojek-yang-
kini-bisa dipesan-dari-smartphone.html (10 November 2016).
Nazief, B. A. A. & Adriani, M (1996), Con_xstripping : Approach to stemming
Algorithm for Bahasa Indonesia, Internal Publication, Faculty of Computer
Scince, University of Indonesia, Depok, Jakarta.
Pang, B & Lee, L. 2008. Opinion Mining and Sentiment Analysis. Foundations and
Trends in Information Retrieval pp: 1-135.
Putranti & Winarko. 2014. Analisis Sentimen Twitter untuk Teks Bahasa Indonesia
dengan Maximum Entropy dan Support Vector Machine. Jurnal Ilmu
Komputer pp: 91-100.
Razzaq, M. A., Qamar, A. M & Bilal, H. S. M. 2014. Prediction and Analysis of
Pakistan Election 2013 based Sentiment Analysis. Proceedings International
Conference on Advances in Social Analysis and Mining (ASONAM 2014), pp.
700-703
SAS Institute. 2010. Getting Started with SAS® Text Miner 4.2. North Carolina : SAS
Publishing
Singh, M.P., Srivastava, A. & Kumar, P. 2014. Supervised Semantic Analysis of
Product Reviews Using Weighted k-NN Classifier. International Conference
on Information Technology.
Sproat, S., Black, A. W., Chen, S., Kumar, S., Ostendorf, M., & Richards, C. 2001.
Normalization of non-standard words. Computer Speech and Language.
15:287-333

Universitas Sumatera Utara


57

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

Universitas Sumatera Utara

Vous aimerez peut-être aussi