Anda di halaman 1dari 16

ANALISIS SENTIMEN E-COMMERCE TRAVELOKA PADA

TWITTER MENGGUNAKAN METODE


NAÏVE BAYES CLASSIFIER

Laras Nisrina Widoyoko 53415786 *),


Prof. Dr. B.E.F. Da Silva, M Sc., DEA **),
Hadyan Mardhi Fadlillah, ST., MMSI **)

Jurusan Teknik Informatika, Fakultas Teknologi Industri,


Universitas Gunadarma
Jl Margonda Raya No. 100, Pondok Cina, Depok 16424
larasnisrina@gmail.com, dasilva@staff.gunadarma.ac.id,
http://hadyanfadlillah.staff.gunadarma.ac.id/
* ) Mahasiswa Teknik Informatika Universitas Gunadarma
**) Dosen Pembimbing Universitas Gunadarma

ABSTRAK
Banyak komentar masyarakat di media sosial terutama twitter berkomentar mengenai
layanan e-commerce, salah satunya traveloka. Komentar-komentar yang dikirimkan
masyarakat tentang traveloka mengandung sentimen. Hasil analisis sentimen diharapkan
dapat memberikan gambaran terhadap kinerja traveloka yang harus diperbaiki atau
dipertahankan. Analisis sentimen pada penelitian ini menggunakan Machine Learning
dengan metode Naïve Bayes Classifier untuk mengklasifikasikan tweets menjadi dua
kelas yaitu kelas positif dan kelas negatif. Data yang digunakan berasal dari twitter
menggunakan Twitter API. Uji coba data dibagi menjadi dua yaitu uji coba
menggunakan data training (cross validation) dan uji coba menggunakan data baru hasil
sentimen manual oleh manusia. Visualisasi hasil dari klasifikasi tweets ditampilkan
dalam bentuk tabel data, grafik bar chart, grafik pie, wordcloud, dan akurasi berbentuk
website. Penelitian ini dibangun menggunakan bahasa pemrograman Python, visualisasi
antarmuka menggunakan Django Framework, HTML, dan CSS. Akurasi analisis
sentiment traveloka berdasarkan data training sebesar 94.13% sedangkan akurasi
berdasarkan data uji sebesar 84.61%.
Kata Kunci: Analisis Sentimen, Machine Learning, Naïve Bayes Classifier, Twitter,
Traveloka

ABSTRACT
Many public comments on social media, especially Twitter commented on e-commerce
services, one of which is Traveloka. The comments sent by the public about Traveloka
contain sentiment. The results of sentiment analysis are expected to provide an overview
of the performance of traveloka which must be improved or maintained. Sentiment
analysis in this study uses the Machine Learning method and the Naïve Bayes Classifier
method to classify tweets into two classes, namely positive and negative classes. The
data used comes from Twitter using the Twitter API. Trial data is divided into two
namely trials using training data (cross validation) and trials using new data from
manual sentiment by humans. Visualization of the results of the classification of tweets
will be displayed in the form of data tables, bar charts, pie charts, wordcloud, and
website accuracy. This research was built using the Python programming language, to
visualize the interface using Django Framework, HTML, and CSS. The accuracy of
traveloka sentiment analysis based on training data is 94.13% while the accuracy based
on test data is 84.61%.
Keyword: Analisys Sentiment, Machine Learning, Naïve Bayes Classifier, Twitter,
Traveloka.

I. LATAR BELAKANG itu, pendapat masyarakat tersebut


Pada era modern seperti saat dianalisis dengan menggunakan
ini, teknologi merupakan satu analisis sentimen.
kesatuan yang tidak bisa dipisahkan Analisis sentimen atau opinion
dengan manusia. Perkembangan mining merupakan proses
teknologi informasi tidak hanya memahami, mengekstrak, dan
sebagai media untuk mengakses mengolah data tekstual secara
informasi, melainkan juga sebagai otomatis untuk mendapatkan
media untuk memenuhi kebutuhan informasi yang diekspesikan
manusia. Oleh sebab itu, teknologi melalui media sosial online
banyak dimanfaatkan diberbagai mengenai bermacam-macam topik
bidang pekerjaan. Misalnya, pada yang terkandung dalam suatu
bidang e-commerce. kalimat opini. Analisis sentimen
E-commerce kini sudah dilakukan untuk mendapatkan
menjamur di seluruh dunia untuk informasi yang berguna dari opini
membantu mendapatkan barang dan yang tidak terstuktur menjadi
jasa dengan cara yang mudah. informasi lebih terstuktur sehingga
Salah satu situs e-commerce dalam dapat melihat kecenderungan
bidang jasa yang sedang beropini positif atau negatif.
berkembang dan banyak Penelitian pada bidang analisis
dibicarakan adalah situs Traveloka. sentimen ini akan menganalisis data
Traveloka merupakan salah yang diperoleh dari twitter dengan
satu perusahaan travel terbesar di tweet yang membahas mengenai
Indonesia yang menyediakan sentimen pengguna terhadap e-
berbagai kebutuhan perjalanan commerce Traveloka dengan kata
dalam satu platform. Traveloka kunci “@Traveloka”. Tweet
memberikan kenyamanan kepada tersebut akan melalui beberapa
customers dengan sistem 3 in 1 tahapan pre-processing dan tahap
yaitu pemesanan tiket pesawat, klasifikasi dengan menggunakan
travel dan reservasi hotel dalam algoritma Naïve Bayes Classifier
satu waktu yang bersamaan. untuk mendapatkan nilai
Jika konsumen tidak mendapat probabilitas terhadap sentimen
kan barang sesuai yang diinginkan kelas positif, dan negarif.
maka konsumen dapat memberikan Hasil probabilitas yang
pendapat negatif melalui sosial diharapkan dari perhitungan
media yang bersangkutan dan dapat algoritma Naive Bayes Classifier
dijadikan sebagai acuan untuk adalah menentukan klasifikasi kelas
peningkatan kualitas penjualan dari sentimen pada kasus tersebut
segi barang maupun jasa yang di berupa kelas positif dan negatif,
tawarkan oleh penjual. Oleh sebab serta mengevaluasi menggunakan
metode Confusion Matrix dengan IV. METODE PENELITIAN
menghitung akurasi yang Metode penelitian yang digunakan
diharapkan memperoleh hasil dalam penelitian ini adalah sebagai
akurasi yang sesuai. Berdasarkan berikut:
paparan latar belakang masalah di 1. Perencanaan
atas, diperlukannya analisis dalam Tahap perencanaan ini dilakukan
sebuah penelitian yang berjudul dengan cara mengumpulkan beberapa
“Analisis Sentimen E-Commerce informasi yang di butuhkan untuk
Traveloka Pada Twitter membancu kelancaran dari proses
Menggunakan Algoritma Naive analisis sentiment traveloka, seperti
Bayes Classifier”. melakukan browsing diintenet maupun
mencari referensi buku-buku yang
II. BATASAN MASALAH membahasa tentang analisis sentiment
Untuk menghindari meluasnya menggunakan naïve bayes classifier.
pembahasan pada penelitian ini, maka 2. Analisis
dibuat batasan masalah sebagai berikut: Tahap analisis yaitu menganalisa
1. Sosial media yang digunakan kebutuhan software dan hardware yang
adalah twitter dibutuhkan untuk menunjang proses
2. Data yang digunakan berasal dari klasifikasi analisis sentiment traveloka.
pengguna twitter yang melakukan 3. Perancangan
mention kepada akun twitter resmi Tahap perancangan berisikan
Traveloka yaitu @Traveloka perancangan pengklasifikasian tweets
3. Pengambilan data dimulai dari serta perancangan visualisasi
tanggal 29 April 2019 sampai 12 menggunakan perancangan struktur
Mei 2019 navigasi dan perancangan antarmuka
4. Pengklasifikasian sentimen terdiri 4. Implementasi
dari dua kelas yaitu, positif dan Tahap implementasi berisi penerapan
negatif. algoritma Naïve Bayes Classifier pada
5. Model algoritma Naïve Bayes model yang telah dibuat menggunakan
Classifier menggunakan Bahasa bahasa pemrograman Python dengan
pemrograman Python text editor Google Colaboratory serta
6. Hasil analisa berbentuk akurasi, pembuatan visualisasi antarmuka.
diagram pie, diagram bar, dan 5. Uji Coba
wordcloud. Tahap uji coba dilakukan dengan
menggunakan data yang telah ditraining
III. TUJUAN PENELITIAN oleh model dan menggunakan data yang
Penelitian ini bertujuan untuk telah diberi hasil sentimen secara
menerapkan algoritma Naive Bayes manual oleh manusia sehingga
Classifier pada mechine learning dalam mengeluarkan akurasi dan visualisasi
pengklasifikasian sentimen melalui berupa grafik bar, grafik pie, dan
sosial media twitter dengan akun resmi wordcloud.
traveloka yaitu @Traveloka
menggunakan Bahasa pemrograman V. LANDASAN TEORI
python sehingga dapat mempercepat Berikut adalah teori – teori
proses klasifikasi sentimen dan yang dipakai untuk penelitian ini.
mendapatkan nilai akurasi yang baik. Text Mining
Text mining (penambangan text)
merupakan proses yang dilakukan oleh
komputer untuk mendapatkan sesuatu Kecerdasan Buatan (Artificial
yang baru yang tidak diketahui Intellegence) yang membahas mengenai
sebelumnya yang berasal dari informasi pembangunan sistem yang berdasarkan
yang di ekstrak secara otomatis dari pada data[16].
sumber data text yang berbeda-beda Salah satu teknik
untuk tujuan tertentu. Text mining pengaplikasian machine
merupakan teknik yang digunakan learning adalah supervised learning.
untuk menangani masalah klasifikasi, Seperti yang dibahas
clustering, information extraction dan sebelumnya, machine learning tanpa
information retrival[6]. data maka tidak akan bisa bekerja. Oleh
Text Processing karena itu hal yang pertama kali
Berdasarkan ketidakteraturan disiapkan adalah data. Data biasanya
struktur data teks, maka proses sistem akan dibagi menjadi 2 kelompok, yaitu
temu kembali informasi ataupun text data training dan data testing. Data
mining memerlukan beberapa tahap training nantinya akan digunakan untuk
awal yang pada intinya adalah melatih algoritma untuk mencari model
mempersiapkan agar teks dapat diubah yang cocok, sementara data testing akan
menjadi lebih terstruktur. Salah satu dipakai untuk mengetes dan mengetahui
implementasi dari text mining adalah performa model yang didapatkan pada
tahap Text Preprocessing. tahapan testing.
Tahap Text Preprocessing adalah Dari model yang didapatkan, kita
tahapan dimana aplikasi melakukan dapat melakukan prediksi yang
seleksi data yang akan diproses pada dibedakan menjadi dua macam,
setiap dokumen. Proses preprocessing tergantung tipe keluarannya. Jika hasil
ini meliputi: case folding, filtering, dan prediksi bersifat diskrit, maka
tweets normalization[12]. dinamakan proses klasifikasi.
Analisis Sentimen Naïve Bayes Classifier
Analisis sentimen, juga disebut Naïve Bayes Classifier merupakan
pengolahan pendapat yang merupakan sebuah metoda klasifikasi yang berakar
penelitian di bidang pengolahan teks pada Teorema Bayes. Metode
dan pengolahan bahasa alami. Tujuan pengklasifikasian dengan menggunakan
dari sentimen analisis adalah metode probabilitas dan statistik yg
mendeteksi secara otomatis dan dikemukakan oleh ilmuwan Inggris
mengklasifikasikan opini menuju target Thomas Bayes, yaitu memprediksi
opini tersebut. Sasaran opini sering peluang di masa depan berdasarkan
disebut entitas, seperti individu, pengalaman di masa sebelumnya
organisasi, produk, jasa, tetapi juga sehingga dikenal sebagai Teorema
acara dan keadaan[9]. Bayes[8].
Tugas dasar dalam analisis Pada Naïve Bayes Classifier setiap
sentimen adalah mengelompokkan teks dokumen diwakili oleh pasangan atribut
yang ada dalam sebuah kalimat atau "X1, X2, X3 ... Xn" dimana X1 adalah
dokumen kemudia menentukan kata pertama, X2 adalah kata kedua dan
pendapat yang dikemukakan dalam seterusnya. Sementara V adalah
kaliamat atau dokumen tersebut apakah kumpulan kategori Tweet[11].
bersifat positif, negatif atau netral[9]. Pada saat klasifikasi, algoritma akan
Machine Learning mencari probabilitas tertinggi dari
Machine Learning merupakan salah semua kategori dokumen yang diuji
satu cabang dari disiplin ilmu
(VNB), dimana persamaannya adalah a. True Positives (TP) adalah jumlah
sebagai berikut: record datapositif yang
diklasifikasikan sebagai nilai positif
arg max b. False Positives (FP) adalah jumlah
VNB = P(Vj ) ∏ P(Xi |Vj )
Vj ∈V record data negatif yang
i
Keterangan: diklasifikasikan sebagai nilai positif
Vj = kategori tweet (positif, negatif, c. False Negatives (FN) adalah
atau netral) jumlah record data positif yang
P(Xi|Vj) = probabilitas Xi dalam diklasifikasikan sebagai nilai positif
kategori Vj d. True Negatives (TN) adalah
P(Vj) = probabilitas Vj jumlah record data negatif yang
Untuk P (Vj) and P (Xi | Vj) dihitung diklasifikasikan sebagai nilai
selama pelatihan dimana persamaannya negative.
adalah sebagai berikut: Flowchart
|docs j| Flowchart atau bagan alur
P(Vj )= merupakan metode untuk
|example|
nk+1 menggambarkan tahap tahap
P(Xi |Vj )= penyelesaian masalah(prosedur) beserta
n+|vocabulary| aliran data dengan simbol-simbol
standar yang mudah dipahami. Tujuan
Keterangan: utama penggunaan flowchart adalah
|docs j| = jumlah dokumen per kategori j untuk menyederhakan rangkaian proses
|example| = jumlah dokumen dari semua atau prosedur untuk memudahkan
kategori pemahaman pengguna terhadap
nk = berapa kali terjadinya setiap kata informasi tersebut. Untuk itu, desain
n = berapa kali jumlah kali setiap kata sebuah flowchart harus ringkas, jelas
muncul dan logis[5].
|vocabulary| = jumlah semua kata dari Python
semua kategori Python adalah bahasa
Confision Matrix pemrograman interpretatif yang
Confusion matrix adalah suatu dianggap mudah dipelajari serta
metode yang biasanya digunakan berfokus pada keterbacaan kode.
untuk melakukan perhitungan akurasi Dengan kata lain, Python diklaim
pada konsep data mining[1]. Confusion sebagai bahasa pemrograman yang
matrix digambarkan dengan tabel memiliki kode-kode pemrograman yang
yang menyatakan jumlah data uji sangat jelas, lengkap, dan mudah untuk
yang benar diklasifikasikan dan jumlah dipahami.
data uji yang salah diklasifikasikan[1]. Python dapat digunakan untuk
berbagai keperluan pengembangan
perangkat lunak dan dapat berjalan di
Tabel 2.1 Confusion Matrix berbagai platform sistem operasi. Oleh
karena itu, distribusi aplikasi yang
dibuat menggunakan Python sangat luas
dan multiplatform[2].
Twitter
Twitter adalah sebuah micro-
Berdasarkan tabel Confusion Matrix blogging atau dapat dikatakan sebuah
diatas: jejaring sosial. Twitter memberi akses
kepada penggunanya untuk mengirim VI. METODE PENELITIAN
pesan singkat yang terdiri maksimal 140 Tahap awal dalam pembuatan
karakter. Pesan singkat yang dikirim via program adalah mengumpulkan tweets
twitter disebut tweets. Dalam Twitter yang dikirimkan oleh masyarakat
anda dapat mudah sekali untuk kepada official account traveloka yaitu
menemukan berita-berita yang baru @Traveloka dengan bantuan Twitter
ataupun terpopuler dan sedang terjadi API. Setelah data terkumpul, data
dan juga bisa berkaitan tentang hal yang tersebut diproses secara preprocessing
anda sukai[14]. dengan 3 tahap yaitu tahapan case
Google Collaboraroty folding, filtering, stemming dan
Google Collab merupakan salah Stopword removal. Selanjutnya data
satu produk Google berbasis cloud yang digunakan sebagai data training bagi
bisa digunakan secara gratis oleh para machine learning.
pengguna. Google Collab dibuat khusus Kemudian data yang telah di
untuk para programmer atau researcher training, di lakukan pengolahan dan
yang kesulitan untuk mendapatkan perhitungan menggunakan algoritma
akses komputer dengan spek tinggi. Naïve Bayes Classifier dan dengan
Google Collab merupakan coding dibantu oleh Bahasa pemrograman
environment bahasa pemrograman Python dan di visualisasikan dalam
Python dengan format “notebook”, bentuk website dengan menggunakan
dengan kata lain Google seakan Django sebagai framework, HTML, dan
meminjami para pengguna komputer CSS sebagai Bahasa pemrogramannya
secara gratis untuk membuat program serta pengklasifikasian data yang terdiri
oleh Google. dari positif dan negatif menggunakan
Traveloka model yang telah dibuat.
Traveloka pertama kali didirikan
oleh Ferry Unardi, Derianto Kusuma
dan Albert yang pada awalnya hanya
sebuah konsep untuk melihat dan
membandingkan harga. Pada tahun
2013 Traveloka berubah menjadi situs
reservasi yang kosentrasi dalam
pemesanan tiket pesawat. Kemudian
pada bulan maret 2014 Traveloka
masuk ke bisnis reservasi kamar hotel
dan pada bulan Juli 2014 situs
pemesanan hotel melalui Traveloka
telah tersedia. Sedangkan pada tahun
2017, Traveloka sudah menyediakan
pemesanan tiket kereta api, tiket
perjalanan wisata, paket wisata, tiket
pertunjukan seni, pulsa pascabayar dan
internet yang bekerja sama dengan
vendor-vendor yang dilakukan untuk
dapat terus memberikan pelayanan Gambar 3.1 Flowchart Perancangan
terbaik untuk konsumen[17]. Klasifikasi Tweets
A. Pengumpulan Data sebelumnya yang telah dimodifikasi.
Pada proses pengumpulan tweets Label yang digunakan dalam training
menggunakan bantuan Twitter API dan yaitu 1 untuk positif dan 0 untuk
menggunakan akun resmi Traveloka negatif, jika hasil positif dan negatif
yaitu @Traveloka. Tweets yang sama maka akan tergolong menjadi
dihasilkan dalam proses pengumpulan netral.
tweets berjumlah kurang lebih 8000. Jumlah data training yang telah
Proses pengumpulan diklasifikasi menggunakan pendekatan
B. Preprocessing Tweets lexical dapat dijabarkan seperti Tabel
Setelah proses pengumpulan 3.4.
tweets, maka proses selanjutnya adalah Tabel 3.4 Jumlah Data Training
tahapan text preprocessing. Terdapat Klasifikasi Positif Netral Negatif
beberapa proes yang dilakukan untuk Tweets
preprocessing tweets yaitu, case Tweet
folding, filtering, stemming dan 1666 3685 2580
Traveloka
stopword removal. Sumber: data yang sudah diolah
1. Case Folding
Proses case folding merupakan D. Pembuatan Model Machine
pengubahan semua huruf kapital pada Learning
tweets (uppercase) menjadi huruf kecil Pembuatan model machine
(lowercase). learning, menggunakan algoritma Naïve
Bayes Classifier. Terdapat tiga tahapan
dalam pembuatan model machine
2. Filtering learning, yaitu:
Pada tahap filtering akan dilakukan 1. Penghapusan netral
penghapusan karakter yang Pada saat melakukan pembuatan
mengandung HTML, link url, hashtag, data training hasil sentimen dibagi
tanda baca, retweet dan berbagai menjadi tiga kelas, oleh karena itu
symbol-symbol. penghapusan netral digunakan
3. Stemming dan Stopword Removal dikarenakan model yang hendak dibuat
Stemming merupakan proses yang hanya dapat membaca kelas positif dan
dilakukan untuk menghilangkan kata kelas negatif.
berimbuhan menjadi kata dasar. Di 2. Ekstraksi fitur
dalam proses stemming terdapat proses Pada proses ekstraksi fitur ini
stopword removal yang berfungsi untuk menyajikan tweet dalam bentuk
menghilangkan kata-kata yang tidak potongan kata menggunakan fitur
deskriptif dengan bantuan library unigram. Setiap kata akan dihitung
sastrawi. sebagai sebuah fitur. Kemudian hasil
C. Pembuatan Data Training ekstraksi fitur dalam data training akan
Hasil kumpulan tweets setelah digunakan untuk melatih model
proses sebelumnya yang disimpan akan pembelajaran.
diberikan label untuk membedakan 3. Training Model Machine Learning
positif, negatif dan netral. Proses ini Model prediksi akan dilatih
dinamakan pembuatan data training. menggunakan data training bersama
Pembuatan data training dengan label yang sudah diberikan.
menggunakan pendekatan lexical atau Algoritma Naïve Bayes Classifier
dengan bantuan kamus positif dan adalah algoritma yang digunakan untuk
negatif yang diperoleh dari penelitian menemukan nilai probabilitas tertinggi
untuk mengklasifikasikan data uji pada
kategori yang sesuai yaitu sentimen
kelas positif dan sentimen kelas negatif.
Setelah mengetahui klasifikasi Keterangan:
perkata, maka setiap kata akan dihitung 1. TP adalah True Positive
nilai prioritasnya untuk menentukan rate 2. TN adalah True Negative
positif dan negatif setiap kata. 3. FN adalah False Negative
Perhitungan untuk training model terdiri 4. FP adalah False Positive
dari tiga tahap yaitu: Nilai True Negative (TN) merupakan
jumlah data negatif yang terdeteksi
1. Perhitungan Prioritas dengan benar oleh sistem, sedangkan
Perhitungan prioritas berfungsi False Negative (FN) merupakan data
untuk menghitung prioritas dari hasil negatif namun terdeteksi dengan salah
sentimen positif dan sentimen negatif. oleh sistem. Sementara itu, nilai True
|docs j| Positive (TP) merupakan jumlah data
P(Vj )= positive yang terdeteksi dengan benar
|example|
oleh sistem, sedangkan False Positive
Pencarian nilai prioritas dengan
(FP) merupakan data positive namun
cara membagi banyaknya contoh tweet
terdeteksi salah oleh sistem.
sesuai kategori sebagai (|docs j|) dengan
1. Akurasi Untuk Data Training
banyaknya seluruh contoh tweet yang
Perhitungan akurasi yang
menjadi data training.
diterapkan pada data training diperoleh
2. Perhitungan Probabilitas Bersyarat
menggunakan perhitungan confusion
Pada perhitungan probabilitas
matrix.
bersyarat bertujuan untuk mencari nilai
Tabel 3.7 Confusion Matrix Data
setiap kata yang mengandung kategori
Training
positif atau negatif.
nk+1 Klasifikasi Klasifikasi
Kelas
P(Xi |Vj )= Positif Negatif
n+|vocabulary|
3. Perhitungan Kelas Positif (TP) 502 (FN) 22
Perhitungan kelas berfungsi untuk
mengitung nilai positif dan nilai negatif Negatif (FP) 28 (TN) 298
dari setiap contoh tweet data training.
Perhitungan ini mengacu pada hasil Sumber: data yang sudah diolah
perhitungan probabilitas prioritas dan Pada Tabel 3.7 menunjukan Tabel
probabilitas bersyarat. confusion matrix yang terkait dengan
hasil analisis sentimen hasil klasifikasi,
P(Vj |Xi )=P(Vj ) ∏ P(Xi |Vj ) dimana nilai True Positive (TP) adalah
i 502, nilai True Negative (TN) adalah
E. Pengujian Akurasi 298, sedangkan False Positive (FP)
Pengujian akurasi terdiri dari adalah 28 dan False Negative (FN)
pengujian akurasi untuk data yang telah berjumlah 22.
di training oleh model dan pengujian Sehingga setelah diterapkan rumus
akurasi untuk data uji yang telah diberi di atas, hasilnya adalah sebagai berikut:
sentimen manual oleh manusia. Akurasi = (502+298)/(502+298+28+22)
Keakuratan dari analisis sentimen pada * 100%
system diperoleh menggunakan rumus = (800/850) * 100% = 94.13%
dibawah ini: Hasil diatas menunjukan bahwa tingkat
akurasi untuk data training dan
menggunakan metode lexical mencapai akses API, setelah selesai melakukan
94.13% proses registrasi, salin beberapa variabel
2. Akurasi Untuk Data Uji Hasil yang dibutuhkan untuk proses
Sentimen Manual Oleh Manusia pengambilan data seperti api_key,
Data yang digunakan untuk data uji api_secret, access_token, dan
merupakan data baru yang mengandung access_token_secret.
traveloka dan telah diberi sentimen 1. Implementasi Klasifikasi Tweets
manual oleh manusia. Hal ini bertujuan a. Pengumpulan Data
untuk menguji model apakah model Tahap pengumpulan data berasal
dapat memberi nilai sentimen yang dari sosial media twitter menggunakan
sesuai dengan nilai yang diberi bantuan Twitter API dan data yang
sentimen oleh manusia. dikumpulkan berasal dari kiriman
Tabel 3.8 Confusion Matrix Data Uji pengguna kepada akun resmi Traveloka
Klasifikasi Klasifikasi yaitu @Traveloka. Tweets yang
Kelas terkumpul berjumlah 8273 tweet yang
Positif Negatif
diambil pada 29 April 2019 sampai 12
Positif (TP) 43 (FN) 13 Mei 2019. Hasil dari proses
pengumpulan data dapat dilihat pada
Negatif (FP) 3 (TN) 45 Gambar 4.5.
Sumber: data yang sudah diolah
Pada Tabel 3.8 menunjukan Tabel
confusion matrix data uji, dimana nilai
True Positive (TP) adalah 43, nilai True
Negative (TN) adalah 45, sedangkan
False Positive (FP) adalah 3 dan False
Negative (FN) berjumlah 13.
Sehingga setelah diterapkan rumus
di atas, hasilnya adalah sebagai berikut:
Akurasi = (43+45)/(43+45+3+13) *
100%
= (88/104) * 100% =
84.61% Gambar 4.5 Hasil Proses Pengumpulan
Hasil diatas menunjukan bahwa tingkat Data
akurasi untuk data uji dan menggunakan Banyaknya tweet yang diperoleh
metode lexical mencapai 84.61% berdasarkan tanggal selama proses
penarikan data ditunjukan pada tabel 4.1
VII. PEMBAHASAN Tabel 4.1 Jumlah Tweet Per Tanggal
Tahap ini dibahas mengenai hasil
implementasi dan uji coba yang Tanggal Jumlah Tweets
dilakukan.
1. Koneksi Twitter API 29 April 2019 1245 tweets
Langkah awal yang dilakukan
dalam pengambilan data mengenai 02 Mei 2019 980 tweets
traveloka dari sosial media twitter
adalah dengan cara mendaftarkan diri
05 Mei 2019 2678 tweets
sebagai syarat verifikasi melalui
https://developer.twitter.com/en/apps,
metode standar untuk mendapatkan 09 Mei 2019 1896 tweets
Tahap filtering membutuhkan
12 Mei 2019 1474 tweets bantuan Regular Expression (RE) yang
berfungsi untuk menghilangkan HTTP,
Jumlah Tweets 8273 tanda baca, mention (@), hashtag (#),
retweet (RT), enter, spasi jika lebih dari
Data berjumlah 8273 yang nantinya 2, dan berbagai macam symbol. Pada
akan menjadi data training pada saat tahap filtering, tweets dihapus apabila
pembuatan model. Data tidak diambil tweets mempunyai nilai ganda
pada setiap hari dikarenakan (duplicate). Tweets akan berkurang
mengurangi penduplikasian tweets. dikarekan mempunyai nilai ganda
b. Preprocessing Tweets (duplicate).
Pada saat melakukan tahap
preprocessing tweets, data yang telah
ada akan diproses dengan tiga tahapan
yaitu Case Folding, Filtering, Stemming
dan Stopword Removal.
1. Case Folding
Tahapan ini bertujuan agar pada
proses selanjutnya data memiliki
konsistensi dengan menggunakan huruf
kecil. Fungsi untuk case folding pada Gambar 4.8 Fungsi Proses Filtering
program dapat dilihat pada Gambar 4.6. Gambar 4.8 merupakan fungsi pada saat
melakukan proses filtering dalam
program. Hasil dari proses filtering
dapat dilihat pada Gambar 4.9.

Gambar 4.6 Fungsi Proses Case


Folding

Gambar 4.9 Hasil Proses


Filtering
3. Stemming dan Stopword Removal
Proses stemming terdapat proses
Gambar 4.7 Hasil Proses Case Folding stopword removal yang berfungsi untuk
Tweets yang dihasilkan merupakan menghilangkan kata-kata yang tidak
tweets yang memiliki karakter huruf deskriptif dengan bantuan library
kecil tetapi masih mengandung berbagai sastrawi. Fungsi stopword removal pada
symbol maupun link url. proses stemming dapat dilihat pada
2. Filtering Gambar 4.10.
Gambar 4.12 Hasil Proses
Stemming dan Stopword Removal
Tweets yang diproses terbagi
menjadi dua kolom dimana kolom
pertama merupakan tweets asli dan
kolom kedua merupakan tweets yang
sudah dihilangkan kata berimbuhan
sehingga sudah menjadi kata dasar.
Gambar 4.10 Fungsi Proses c. Pembuatan Data Training
Stopword Removal Pembuatan data training bertujuan
mengklasifikasikan data untuk melatih
model machine learning melalui kamus
positif dan kamus negatif. Fungsi untuk
memproses kamus positif dan negatif
dapat dilihat pada Gambar 4.13.
Gambar 4.11 Fungsi Proses
Stemming
Kata yang termasuk dalam
stopword removal akan dihilangkan
dikarenakan sering muncul dan tidak
memiliki makna. Pada proses ini juga
tweets diurutkan berdasarkan ascending. Gambar 4.13 Fungsi Proses Kamus
Pada proses stemming data akan disortir Pada Data Training
sehingga tidak ada lagi kata-kata yang Gambar 4.13 merupakan fungsi
memiliki imbuhan. pada saat memproses kamus positif dan
negatif untuk membuatan data training.
Setelah diklasifikasikan, maka setiap
kata dihitung. Proses perhitungan pada
program dapat dilihat pada Gambar
4.14.

Gambar 4.14 Fungsi Perhitungan Kata


Pada Data Training
Gambar 4.14 merupakan fungsi
perhitungan pada kamus. Hasil dari
proses pembuatan data training dapat pada kamus kurus,
dilihat pada Gambar 4.15. negatif gendut
Kata yang berada pada kamus positif
berjumlah 2 kata, yaitu “pasti”, dan
“kurus”, dan total kata pada 1 kalimat
adalah 12. Perhitungan untuk hasil
sentimen positif antara lain:
|2|
P(Vj )= |12|= 0.1666
Kata yang berada pada kamus negatif
berjumlah 4 kata, yaitu “pasti”, “ih”,
“kurus”, dan “gendut”, dan total kata
pada 1 kalimat adalah 12. Perhitungan
untuk hasil sentimen negatif antara lain:
|4|
P(Vj )= |12|= 0.3333
Setelah diterapkan rumus diatas, hasil
Gambar 4.15 Hasil Proses Pembuatan sentimen positif adalah 0.1666. Hasil
Data Training sentiment negatif adalah 0.3333. dan
Pada proses awal pembuatan data hasil netral adalah 0 dikarenakan jumlah
training, program akan membaca kamus kata yang berada pada kamus positif
positif dan negatif yang bertujuan untuk tidak sama dengan kamus negatif.
menentukan hasil sentimen setiap kata Tweet tersebut dikelompokan
sesuai dengan kamus tersebut. menjadi tiga kategori kelas sentimen
Untuk perhitungan hasil sentimen dapat yaitu kelas positif, negatif, dan netral.
menggunakan rumus: Pembagian jumlah tweets berdasarka
|𝑙𝑒𝑛(𝑓𝑖𝑛𝑑𝑎𝑙𝑙)|
P(Vj )= kategori kelas pada data training dapat
|len(split)| diliat pada Gambar 4.16.
Keterangan:
1. P(Vj ) = rate positif atau
negatif dalam satu kalimat
2. 𝑙𝑒𝑛(𝑓𝑖𝑛𝑑𝑎𝑙𝑙) = jumlah kata
positif atau negatif dalam kamus
3. len(split) = jumlah kata
pada satu kalimat
Contoh tweets “buka aplikasi twitter Gambar 4.16 Hasil Pembagian
ponsel pasti pilih burung gendut kalau Kelas Pada Data Training
kurus traveloka hehehe”. Pada tweets d. Pembuatan Model Machine
tersebut terdapat beberapa kata yang Learning
terdapat pada kamus positif dan kamus Proses pembuatan Model
negatif. Kata-kata yang terdapat pada menggunakan algoritma Naïve Bayes
kamus positif dan negatif dapat dilihat Classifier. Algoritma tersebut
pada tabel 4.2 digunakan untuk menentukan kategori
Tabel 4.2 Contoh Kata Pada Kamus kelas sentimen dengan menggunakan
Positif dan Negatif model Bernaulli Naïve Bayes yang
Kata yang berada diperoleh dari data training yang telah
pada kamus Pasti, kurus diberi label hasil sentimen positif dan
positif negatif oleh kamus.
Kata yang berada Pasti, ih, 1. Penghapusan Netral
Penghapusan sentimen kelas netral proses ekstraksi fitur dapat dilihat pada
bertujuan untuk menghapus seluruh Gambar 4.20.
tweets data training yang memiliki nilai
netral dikarenakan model yang akan
dibuat hanya dapat membaca kelas
positif dan kelas negatif. Fungsi
penghapusan netral dapat dilihat pada
Gambar 4.17.

Gambar 4.20 Hasil Ekstraksi Fitur


Jika kata yang terdapat dalam
kamus positif dan negatif maka akan
Gambar 4.17 Fungsi Penghapusan diberi nilai 1 sedangkan jika kata tidak
Netral termasuk dalam kamus maka akan
diberi nilai 0. Setelah menentukan
setiap kata yang berada pada kamus
positif dan negative, maka setiap tweets
akan menampilkan hasil nilai
rate_positive dan rate_negative yang
perhitungannya telah dihitung pada
proses pembuatan data training.
2. Training Model Machine Learning
Algoritma Naïve Bayes
Classifier adalah algoritma yang
Gambar 4.18 Hasil Penghapusan Netral digunakan untuk menemukan nilai
Gambar 4.18 merupakan gambar probabilitas tertinggi untuk
hasil penghapusan kelas sentimen mengklasifikasikan data uji pada
netral. Pada data training total tweets kategori yang sesuai yaitu sentimen
berjumlah 7931 tweets. Jumlah kelas kelas positif dan sentimen kelas
sentimen netral berjumlah 3685 tweets. negatif.
Oleh karena itu data yang digunakan VIII. PENGUJIAN
untuk pembuatan model training setelah 1. PENGUJIAN DATA
proses penghapusan netral hanya TRAINING
berjumlah 4246 tweets. Data hasil kamus positif dan kamus
1. Ekstraksi Fitur negatif setelah menghilangkan netral
Proses ekstraksi fitur merupakan bejumlah 4246 tweets. Data yang telah
proses pemecahan potongan kata yang dilatih oleh model sama dengan data
terdapat dalam data tweets dan setiap hasil kamus positif negatif yaitu
kata akan dihitung sebagai fitur. berjumlah 4246 tweets, dimana kelas
sentiment positif adalah 1694 tweets
dan kelas sentiment negatif adalah 2552
tweets.
Akurasi yang digunakan
Gambar 4.19 Fungsi Ekstraksi Fitur merupakan akurasi dari hasil data
Gambar 4.19 merupakan fungsi training yang telah dilatih model. Tabel
ekstraksi fitur pada program. Hasil dari confusion matrix untuk data training
dapat di lihat dari Tabel 4.7.
Tabel 4.7 Tabel Confusion Matrix sentiment oleh model. Selanjutnya,
Terklasifikas Terklasifikas dapat melakukan perhitungan akurasi
Kelas menggunakan confusion matrix, seperti
i Positif i Negatif
pada Tabel 4.9.
Positif (TP) 502 (FN) 22 Tabel 4.9 Tabel Confusion Matrix Data
Negati Uji
(FP) 28 (TN) 298 Terklasifika Terklaasifika
f Kelas
Pada confusion matrix terdapat 4 si Positif si Negatif
istilah representasi hasil proses Positif (TP) 43 (FN) 13
klasifikasi. Keempat istilah tersebut
adalah True Positive (TP), True Negati
(FP) 3 (TN) 45
Negative (TN) , False Positive (FP), dan f
False Negative (FN). Pada Tabel 4.9 menunjukan tabel
Pada Tabel 4.7 menunjukan confusion matrix data uji, dimana nilai
Tabel confusion matrix yang terkait True Positive (TP) adalah 43, nilai True
dengan hasil analisis sentimen hasil Negative (TN) adalah 45, sedangkan
klasifikasi, dimana nilai True Positive False Positive (FP) adalah 3 dan False
(TP) adalah 502, nilai True Negative Negative (FN) berjumlah 13.
(TN) adalah 298, sedangkan False Keakuratan dari analisis sentimen pada
Positive (FP) adalah 28 dan False system diperoleh menggunakan rumus
Negative (FN) berjumlah 22. dibawah ini:
Keakuratan dari analisis sentimen pada
system diperoleh menggunakan rumus
dibawah ini:
Keterangan:
1. TP adalah True Positive
2. TN adalah True Negative
Keterangan: 3. FN adalah False Negative
5. TP adalah True Positive 4. FP adalah False Positive
6. TN adalah True Negative Sehingga setelah diterapkan rumus di
7. FN adalah False Negative atas, hasilnya adalah sebagai berikut:
8. FP adalah False Positive Akurasi = (43+45)/(43+45+3+13) *
Sehingga setelah diterapkan rumus di 100% = (88/104) * 100% = 84.61%
atas, hasilnya adalah sebagai berikut: Hasil diatas menunjukan bahwa tingkat
Akurasi = (502+298)/(502+298+28+22) akurasi untuk data uji dan menggunakan
* 100% = (800/850) * 100% = 94.13% metode lexical mencapai 84.61%
Hasil diatas menunjukan bahwa tingkat
akurasi untuk data training dan IX. PENUTUP
menggunakan metode lexical mencapai 1. KESIMPULAN
94.13% Penelitian ini berhasil
mengimplementasikan metode Machine
2. PENGUJIAN DATA UJI Learning dan Algoritma Naïve Bayes
Setelah menampilkan tabel Classifier untuk mengklasifikasikan
perbandingan antara hasil klasifikasi tweets tentang Traveloka yang
oleh model dengan hasil klasifikasi diperoleh dari data Twitter
manual oleh manusia, terdapat 16 menggunakan bahasa pemrograman
tweets yang tidak sesuai hasil sentiment Python dengan bantuan text editor
manual oleh manusia dengan hasil Google Collaboratory. Sedangkan
untuk visualisasi dari hasil sentimen traveloka dengan data yang berbeda.
analisis dibuat menggunakan Django DAFTAR PUSTAKA
Framework, HTML, dan Java Script [1] Angkoso, Cucun Very. Ingrid
berbentuk website. Nurtanio, I Ketut Eddy Purnama.
Pada proses pengumpulan data, 2011. Analisa Tekstur Untuk
data yang terkumpul adalah 8273 Membedakan Kista Dan Tumor
tweets, kemudian dilakukan proses Pada Citra Panoramik Rahang
preprocessing dan menghilangkan Gigi Manusia. Madura, Jawa
duplicate dari setiap tweets, jumlah Timur: Graha Building.
tweets menjadi 7931. Kemudian tweets [2] Enterprise, Jubilee. 2016. Trik
diklasifikasikan menggunakan kamus Cepat Menguasai Pemrograman
positif dan negatif. Hasil dari Python. Jakarta: PT Elex Media
pengklasifikasiannya terdiri dari tiga Komputindo.
kelas, yaitu positif berjumlah 1666, [3] Ghifary, Rizky Adam. 2019.
negatif berjumlah 2580, dan netral Analisis Kualitas Layanan Pada
berjumlah 3685. Perusahaan E-Commerce
Pada proses pengujian data uji, data Traveloka. Yogyakarta:
yang diolah berjumlah 104 tweets. Data Universitas Islam Indonesia.
uji merupakan data hasil sentimen [4] Haviluddin. 2011. Memahami
manual manusia dan data tersebut akan Penggunaan UML (Unified
diuji menggunakan model yang telah Modelling Language). Jurnal
dibuat. Data sentimen manual oleh Informatika. Vol. 6 No. 1.
manusia dibagi menjadi dua kelas yaitu [5] Indrajani. 2015. Database Design.
positif berjumlah 58 tweets sedangkan Jakarta: PT Elex Media
tweets negatif berjumlah 46 tweets. Komputindo
Sedangkan hasil pengklasifikasian [6] Kurniawan, Bambang. Syahril
menggunakan model berjumlah 48 Effendi, Opim Salim Sitompul.
untuk positif sedangkan negatif 2015. Klasifikasi Konten Berita
berjumlah 56 tweets. Dengan Metode Text Mining.
Setelah proses pengklasifikasian, Medan: Universitas Sumatra
hasil data uji dan data cross validation Utara. Vol 1. No. 1.
akan divisualisasikan berbentuk [7] Manalu, Boy Utomo. 2014.
diagram bar, diagram pie, wordcloud, Analisis Sentimen pada Twitter
dan akurasi. Untuk menghitung akurasi Menggunakan Text Mining.
dari model Naïve Bayes Classifier Medan. Vol. 2 No.1.
menggunakan metode confusion matrix. [8] McCallum, Andrew. 2017. A
Tingkat akurasi yang dihasilkan oleh Comparasion of Event Models for
hasil training model adalah 94% dan Naïve Bayes Text Classification.
tingkat akurasi yang dihasilkan oleh University of Pittsburgh: School
hasil uji coba terhadap model adalah of Computer Science Carnegie.
84%. 15213.
2. SARAN [9] Novantirani, Anita. Mira Kania
Adapun saran untuk penelitian Sabariah. Veronikha Effendy.
selanjutnya adalah melakukan 2015. Analisis Sentimen pada
pengembangan terhadap visualisasi Twitter Mengenai Penggunaan
menjadi aplikasi agar aplikasi terlihat Transportasi Umum Dalam Kota
lebih menarik dan dapat digunakan dengan Metode Support Vector
untuk proses pengklasifikasian
Machine. Bandung. Vol 2. No. 1
halaman 1177.
[10] Pravina, Arsya Monica. Imam
Choslissodin. Putra Pandu. 2019.
Analisis Senimen Tentang
Maskapai Penerbangan pada
Dokumen Twitter Menggunakan
Algoritma Support Vector
Machine (SVM). Vol. 3 No. 3.
Halaman 2789-2797.
[11] Program Studi Sistem Informasi
FST. Univ Ma Chung. 2018. Studi
Kasus Sistem berbasis
Pengetahuan: Membahas Metode
ID3, Naïve Bayes dan Certainty
Factor. Seribu Bintang
[12] Suyanto. 2017. Data Mining
Untuk Klasifikasi dan Klaterisasi
Data, Informatika, Bandung.
[13] Url: http://belajar-
django.github.io/. (Online;
diakses tanggal 25 Juli 2019).
[14] Url:
http://komputerlamongan.com/pe
ngertian-twitter-beserta-
kegunaannya/. (Online; diakses
25 Juli 2019).
[15] Url:
https://structilmy.com/2019/05/me
ngenal-google-colab/. (Online;
diakses 20 Juli 2019).
[16] Url:
https://www.codepolitan.com/men
genal-teknologi-machine-
learning-pembelajaran-mesin.
(Online; diakses 25 Juli 2019).
[17] Url:
https://www.traveloka.com/en/.
(Online; diakses tanggal 16 April
2019).

Anda mungkin juga menyukai