Anda di halaman 1dari 19

ANALISIS SENTIMEN TERHADAP PUBLIK

FIGUR DENGAN METODE NAVE BAYES


STUDI KASUS: ANIES BASWEDAN

PROPOSAL

Disusun oleh:
ADRYAN EKA VANDRA
11451105030

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
2017
KATA PENGANTAR

Assalamualaikum Wr. Wb
Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan
karunia-Nya sehingga proposal dalam Mata Kuliah Natural Language Processing
ini dapat diselesaikan.
Tujuan dari pembuatan proposal ini adalah untuk menyelesaikan tugas dari
mata kuliah Natural Language Processing.
Dengan selesainya laporan ini tidak terlepas dari bantuan banyak pihak yang
telah memberikan masukan dan saran kepada penyusun. Untuk itu penyusun
mengucapkan banyak terima kasih kepada :
1. Dosen Mata Kuliah Natural Language Processing, Bapak Muhammad
Fikry, ST, M.T.
2. Teman-teman yang membantu dalam menyusun proposal ini.
Penyusun menyadari bahwa masih banyak kekurangan dari proposal ini,
baik dari materi maupun teknik penyajiannya, mengingat kurangnya pengetahuan
dan pengalaman penyusun. Oleh karena itu, kritik dan saran yang membangun
sangat penyusun harapkan. Terima Kasih.
Wassalamualaikum Wr. Wb

Pekanbaru, 30 Oktober 2017

Penyusun

i
DAFTAR ISI

KATA PENGANTAR ................................................................................. i

DAFTAR ISI ............................................................................................... ii

BAB I PENDAHULUAN ........................................................................... 1

1.1. Latar Belakang ........................................................................... 1

1.2. Rumusan Masalah ...................................................................... 2

1.3. Tujuan ........................................................................................ 3

1.4. Batasan Masalah ........................................................................ 3

1.5. Sistematika Penulisan ................................................................ 3

BAB II LANDASAN TEORI ..................................................................... 4

2.1. Twitter........................................................................................ 4

2.1.1. Definisi Twitter ...................................................................... 4

2.2. Analisis Sentimen ...................................................................... 4

2.2.1. Definisi Analisis Sentimen ..................................................... 4

2.2.2. Text Mining............................................................................. 4

2.2.3. Text Preprocessing ................................................................. 5

2.3. Nave Bayes ............................................................................... 5

2.4. K-Fold Cross Validation ............................................................ 7

2.4. Flowchart ................................................................................... 7

2.5. HTML ........................................................................................ 7

2.6. CSS ............................................................................................ 7

2.7. JavaScript ................................................................................... 8

2.8. PHP ............................................................................................ 8

ii
2.9. MySQL ...................................................................................... 8

2.10. JSON .......................................................................................... 8

2.11. AJAX ......................................................................................... 8

BAB III METODE PENELITAN ............................................................. 10

3.1. Flowchart Penelitian ................................................................ 10

3.2. Langkah Penelitian .................................................................. 11

3.2.1. Studi Literatur ....................................................................... 11

3.2.2. Tahap Pengumpulan Data..................................................... 11

3.2.3. Preprocessing........................................................................ 11

3.3. Klasifikasi ................................................................................ 11

3.4. Menguji Akurasi ...................................................................... 13

DAFTAR PUSTAKA ............................................................................... 14

iii
BAB I
PENDAHULUAN

1.1. Latar Belakang


Dewasa ini, internet merupakan kebutuhan yang tidak bias dilepaskan dari
kehidupan manusia. Menurut Internet World Stats(Internet World Stats, n.d.), total
pengguna internet secara global per Juni 2017 adalah 3,885,567,619. Sedangkan
pengguna internet di Indonesia per September 2016 adalah 132,700,000.
Media social yang banyak digandrungi oleh masyarakat dunia adalah
Twitter. Dengan jumlah pengguna mencapai lebih dari 100.000.000 pengguna aktif
harian, twitter (Aslam, n.d.) dapat dijadikan ladang untuk mendapatkan informasi.
Di dalam ilmu komputer, twitter dijadikan sebagai objek untuk penelitian
analisis emosi, analisis sentimen, klasifikai opini, bahkan humor recognition.
Bidang-bidang ini menjadi populer dalam bidang text mining, yang notabene
merupakan bidang penggalian informasi dari teks.
Menurut Kamus Besar Bahasa Indonesia opini merupakan pendapat,
pikiran, atau pendirian. (Tim Penyusun KBBI, 2016)
Analisis sentimen dapat digunakan untuk memperoleh gambaran umum
persepsi masyarakat terhadap kualitas layanan, produk, atau tokoh public, apakah
cenderung positif, negatif atau netral.
Huma Parveen dan Prof.Shikha Pandey (2017) menggunakan framework
HADOOP dengan menggunakan HDFS untuk menganalisan data yang jumlahnya
besar dan preproses pada map reduce. HDFS membantu efisiensi algoritma Naive
bayes dan menjadikan hasilnya lebih akurat.
Adyan Marendra Ramadhani dan Hong Soon Goo (2015) menggunakan
metode deep learning yang mempunyai banyak hiden layers pada sistem. Penelitian
ini menggunakan 1000 data set pisitif negatif untuk data latih dan data uji. Akurasi

1
dengan munggunakan deep learning mencapai 77,45% untuk data latih dan 75,03%
untuk data uji
M.Trupthi, Suresh Pabboju dan G.Narasimha (2017) menggunakan metode
naive bayes dengan bantuan Streaming API Twitter untuk membantu menampilkan
sentiment secara real time. Data diambil dan diekstrak dengan streaming API
twitter kemudian dimasukkan ke HADOOP dan di preproses oleh map reduce.
Kemudian diolah oleh NLP dan machine learning yaitu naive bayes. Pada sistem
ini data tweet tidak disimpan dan semua analisi dilakukan real-time sehingga user
akan mendapatkan data yang relevant dan baru.
Duaa Al-Hajjar dan Afraz Z. Syed (2015) menggunakan pendekatan
lexicon-based untuk menggabungkan antara analisis sentimen dan analisis emosi
tweet terhadap brand teknologi. Output dari pendekatan ini memperlihatkan
pemahaman yang lebih baik mengenai pola dan kondisi emosi pelanggan. Pada
penelitian ini terlihat peningkatan akurasi yang terjadi pada proses penggabungan
antara analisis sentimen dan analisis emosi sebesar 52,6% dibanding dengan
analisis sentimen secara independen 37,3% dan analisis emosi secara independen
39,2%.
Akshi Kumar dan Teeja Mary Sebastian (2012) menggunakan pendekatan
gabungan antara corpus-based dan dictionary-based. Penelitian ini menjelaskan
pendekatan hybrid dari metode corpus-based untuk menemukan orientasi semantik
dari kata sifat dan metode dictionary-based untuk mencari orientasi semantik dari
kata kerja dan kata keterangan. Keseluruhan sentimen tweet dihitung menggunakan
persamaan linier dengan memperhitungkan pengaruh dari nilai emosi dalam tweet
tersebut.
Dari berbagai penelitian di atas, maka akan dilakukan penelitian tentang
analisis sentimen tokoh publik dari tweet warganet di Twitter dengan menggunakan
metode Nave Bayes.

1.2. Rumusan Masalah


Bagaimana cara membuat aplikasi untuk analisis sentimen tokoh publik dari
tweet warganet di Twitter dengan menggunakan metode Nave Bayes.

2
1.3. Tujuan
Membuat aplikasi untuk analisis sentimen tokoh publik dari tweet warganet
di Twitter dengan menggunakan metode Nave Bayes.

1.4. Batasan Masalah


Penelitian ini hanya mengambil kasus tokoh publik Anies Baswedan.

1.5. Sistematika Penulisan


Sistematika penulisan yang dilakukan adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini menjelaskan dari dasar-dasar penulisan proposal yang terdiri dari,
latar belakang, rumusan masalah, tujuan, batasan masalah, serta sistematika
penulisan.
BAB II LANDASAN TEORI
Bab ini membahas tentang teori-teori umum dan khusus yang berhubungan
dengan proposal.
BAB III METODELOGI PENELITIAN
Bab ini menerangkan analisis yang dilakukan terhadap cara kerja aplikasi
yang dibuat. Bab ini juga membahas mengenai lingkungan bahasa pemrograman
yang digunakan dan perancangan aplikasi dalam tahapan-tahapan yang sistematis.

3
BAB II
LANDASAN TEORI

2.1. Twitter
2.1.1. Definisi Twitter
Twitter adalah sebuah mikroblog daring yang memungkinkan penggunanya
mengirimkan pesan teks sebanyak 140 karakter dengan istilah tweet. Twitter
didirikan pada bulan Maret 2016 oleh Jack Dorsey dan diluncurkan pada bulan Juli.
Twitter dimiliki dan dioperasikan oleh Twitter, Inc., yang berada di San Fransisco.
Logo twitter dikenal dengan sebutan Larry the Bird yaitu logo burung berwarna
biru. (Wikipedia, 2017)

2.2. Analisis Sentimen


2.2.1. Definisi Analisis Sentimen
Analisis sentimen adalah suatu bagian dari penerapan text mining yang
berhubungan dengan indentifikasi dan kategorisasi sentimen dan opini yang
diekspresikan melalui teks yang bertujuan untuk memahami sikap terhadap suatu
produk, topik, pelayanan, tokoh, tertentu. (Bonzanini, 2016)
Opinion mining atau analisis sentimen adalah riset komputasional dari
opini, sentimen dan emosi yang diekspresikan secara tekstual. Jika diberikan suatu
set dokumen teks yang berisi opini mengenai suatu objek, maka opinion mining
bertujuan untuk mengekstrak atribut dan komponen dari objek yang telah
dikomentasi pada setiap dokumen dan untuk menentukan apakah komentar tersebut
bermakna positif atau negatif.(Falahah & Nur, 2015)
2.2.2. Text Mining
Text mining adalah proses mencari informasi terstuktur dari data tekstual
yang tidak terstruktur. Text mining dapat diaplkikasikan ke dalam media sosial,

4
karena pengguna bisa menerbitkan konten dalam bentuk pos atau komentar.
(Bonzanini, 2016)
Text mining berusaha mengekstrak informasi yang berguna dari sumber data
melalui identifikasi dan eksplorasi pola yang menarik. Text mining cenderung
mengarah pada bidang penelitian data mining. Penambangan teks dapat dianggap
sebagai proses dua tahap yang diawali dengan penerapan struktur terhadap sumber
data teks dan dilanjutkan dengan ekstraksi informasi dan pengetahuan yang relevan
dari data teks terstruktur ini dengan menggunakan teknik dan alat yang sama
dengan penambangan data. (Feldman & Sanger, 2006)
2.2.3. Text Preprocessing
Text Preprocessing merupakan tahapan dari proses awal terhadap teks untuk
mempersiapkan teks menjadi data yang akan diolah. Sebuah teks yang ada harus
dipisahkan, hal ini dapat dilakukan dalam beberapa tingkatan yang berbeda. Suatu
dokumen dapat dipecah menjadi bab, sub-bab, paragraf, kalimat dan pada akhirnya
menjadi potongan kata/token. Selain itu pada tahapan ini keberadaan digit angka,
huruf kapital, atau karakter-karakter yang lainnya dihilangkan dan diubah.
(Feldman & Sanger, 2006)

2.3. Nave Bayes


Algoritma naive bayes classifier merupakan algoritma yang digunakan
untuk mencari nilai probabilitas tertinggi untuk mengklasifikasi data uji pada
kategori yang paling tepat. (Feldman & Sanger, 2006)
Dalam algoritma nave bayes classifier setiap dokumen direpresentasikan dengan
pasangan atribut 1 , 2 , 3 dimana 1 adalah kata pertama, 2 adalah kata
kedua dan seterusnya. Sedangkan V adalah himpunan kategori Tweet. Pada saat
klasifikasi, algoritma akan mencari probabilitas tertinggi dari semua kategori
dokumen yang diujikan ( ), dimana persamaannya adalah sebagai berikut:
P(x1 , x2 , x3 , xn |Vj ) P(Vj )
= arg max (1)
(x1 ,2 ,3 , )
(Vj )

5
Untuk (1 , 2 , 3 , ) nilainya konstan untuk semua kategori ( )
sehingga persamaan (1) dapat ditulis sebagai berikut:
= arg max P(x1 , x2 , x3 , xn |Vj ) P(Vj ) (2)
(Vj )

Persamaan di atas dapat disederhanakan menjadi:


= arg max =1 ( | )( ) (3)
(Vj )

Keterangan:
Vj = kategori tweet
j = 1, 2, 3, ..n Dimana dalam penelitian ini:
j1 = kategori tweet sentimen negatif,
j2 = kategori tweet sentimen positif,
j3 = kategori tweet sentiment netral.
P(Xi|Vj) = Probalitas Xi pada kategori Vj
P(Vj) = Probalitas dari Vj

Untuk P(Vj) dan P(Xi|Vj) dihitung pada saat pelatihan dimana


persamaannya adalah sebagai berikut:

| |
( ) = || (4)
+1

( | ) = +|| (5)

Keterangan:
|docs j| = jumlah dokumen setiap kategori j
|contoh| = jumlah dokumen dari semua kategori
nk = jumlah frekuensi kemunculan setiap kata
n = jumlah frekuensi kemunculan kata dari setiap kategori
|kosakata| = jumlah semua kata dari semua kategori

6
2.4. K-Fold Cross Validation
K-fold cross validation merupakan salah satu metode yang digunakan untuk
mengetahui rata-rata keberhasilan dari suatu sistem dengan cara melakukan
perulangan dengan mengacak atribut masukan sehingga sistem tersebut teruji untuk
beberapa atribut input yang acak. K-foldcross validation diawali dengan membagi
data sejumlah nfold yang diinginkan. Dalam proses cross validation data akan
dibagi dalam n buah partisi dengan ukuran yang sama D1, D2, D3, ...Dn selanjutnya
proses testing dan training dilakukan sebanyak n kali. Dalam iterasi ke-i partisi Di
akan menjadi data testing dan sisanya akan menjadi data training. Untuk
penggunaan jumlah fold terbaik untuk uji validitas, dianjurkan menggunakan 10-
fold cross validation dalam model. (Kohavi, 1995)

2.4. Flowchart
Flowchart adalah urutan dari langkah kerja suatu proses yang digambarkan
dengan menggunakan beberapa simbol yang disusun secara sistematis. Menurut
Jogiyanto, flowchart merupakan serangkaian bagan-bagan yang menggambarkan
alir program. Flowchart atau diagram alir memiliki bagan-bagan yang
melambangkan fungsi tertentu. Flowchart dapat menunjukkan kegiatan dan
simpanan yang digunakan dalam suatu prosedur.

2.5. HTML
HTML (Hyper Text Markup Language) adalah file text murni yang dapat
dibuat dengan editor teks yang umumnya berisi informasi atau interface aplikasi
yang dapat dijalankan di web browser. (Sidik, 2010)
HTML merupakan bahasa asli dari web yang mana didalamnya berisi kode-
kode program yang berfungsi sebagai penyusun dari sebuah web.

2.6. CSS
CSS (Cascading Style Sheets) merupakan bahasa stylesheet yang digunakan
untuk mengatur tampilan suatu dokumen dan ditulis dalam bahasa markup. Pada

7
umumnya CSS digunakan untuk memformat halaman web yang dirancang
menggunakan HTML, XML, dan XHTML.

2.7. JavaScript
JavaScript merupakan nama implementasi dari Netscape Communications
Corporation untuk ECMAScript standar, yang mana bahasa skrip didasarkan pada
konsep pemrograman berbasis prototipe.

2.8. PHP
Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau
disisipkan ke dalam HTML. PHP banyak dipakai untuk memprogram situs web
dinamis. PHP dapat digunakan untuk membangun sebuah CMS.

2.9. MySQL
Adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa
Inggris: database management system) atau DBMS yang multithread, multi-user,
dengan sekitar 6 juta instalasi di seluruh dunia.

2.10. JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa
Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999

2.11. AJAX
Asynchronous JavaScript and XML/HTTP, adalah suatu teknik
pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya
adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer,
melakukan pertukaran data dengan server di belakang layar, sehingga halaman web
tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna

8
melakukan perubahanp. Hal ini akan meningkatkan interaktivitas, kecepatan, dan
usability.

9
BAB III
METODE PENELITAN

3.1. Flowchart Penelitian

Gambar 1. Diagram alir penelitian.

10
3.2. Langkah Penelitian
3.2.1. Studi Literatur
Melakukan pencarian dan mempelajari informasi, referensi dan
pembelajaran yang berkaitan dengan masalah yang berhubungan dengan penelitian
yang dilakukan sehingga bisa menentukan solusi yang mungkin..
3.2.2. Tahap Pengumpulan Data
Pada penelitian ini teknik pengumpulan data yang dilakukan adalah:
a. Tweet Streaming
Tweet dikumpulkan dengan cara streaming yaitu merekam semua tweet
yang menggunakan tagar Anies mulai dari tanggal 6 November 2017-15
Desember 2017 dengan target data 10.000 tweet.
3.2.3. Preprocessing
Data yang telah dikumpulkan akan dilanjutkan ke tahap preprocessing yaitu
tahapan awal untuk mengolah data input sebelum masuk ke dalam proses tahap
utama.
Langkah preprocessing yang akan dilakukan adalah:
a. Konversi huruf kecil.
b. Menghapus URL.
c. Menghapus mention.
d. Menghapus karakter selain a-z.
e. Menghapus Stop-word.
f. Konversi emoji ke teks.
g. Konversi negasi dan gabungkan dengan kata sesudahnya.

3.3. Klasifikasi
Tweet akan diklasifikaskan menjadi 3 kategori yaitu; postitif, negatif, dan
netral. Dalam algoritma nave bayes classifier setiap dokumen direpresentasikan
dengan pasangan atribut 1 , 2 , 3 dimana 1 adalah kata pertama, 2
adalah kata kedua dan seterusnya. Sedangkan V adalah himpunan kategori Tweet.
Pada saat klasifikasi, algoritma akan mencari probabilitas tertinggi dari semua

11
kategori dokumen yang diujikan ( ), dimana persamaannya adalah sebagai
berikut:
P(x1 , x2 , x3 , xn |Vj ) P(Vj )
= arg max (1)
(x1 ,2 ,3 , )
(Vj )

Untuk (1 , 2 , 3 , ) nilainya konstan untuk semua kategori ( )


sehingga persamaan (1) dapat ditulis sebagai berikut:
= arg max P(x1 , x2 , x3 , xn |Vj ) P(Vj ) (2)
(Vj )

Persamaan di atas dapat disederhanakan menjadi:


= arg max =1 ( | )( ) (3)
(Vj )

Keterangan:
Vj = kategori tweet
j = 1, 2, 3, ..n Dimana dalam penelitian ini:
j1 = kategori tweet sentimen negatif,
j2 = kategori tweet sentimen positif,
j3 = kategori tweet sentiment netral.
P(Xi|Vj) = Probalitas Xi pada kategori Vj
P(Vj) = Probalitas dari Vj

Untuk P(Vj) dan P(Xi|Vj) dihitung pada saat pelatihan dimana


persamaannya adalah sebagai berikut:

| |
( ) = || (4)
+1
( | ) = +|| (5)

Keterangan:
|docs j| = jumlah dokumen setiap kategori j
|contoh| = jumlah dokumen dari semua kategori

12
nk = jumlah frekuensi kemunculan setiap kata
n = jumlah frekuensi kemunculan kata dari setiap kategori
|kosakata| = jumlah semua kata dari semua kategori

3.4. Menguji Akurasi


Ketepatan dalam klasifikasi tweet akan diuji dengan menggunakan metode
K-Fold Cross Validation dengan menggunakan rumus:

= 100%

13
DAFTAR PUSTAKA

Al-Hajjar, D., & Syed, A. Z. (2015). Applying sentiment and emotion analysis on
brand tweets for digital marketing. 2015 IEEE Jordan Conference on Applied
Electrical Engineering and Computing Technologies, AEECT 2015.
https://doi.org/10.1109/AEECT.2015.7360592
Aslam, S. (n.d.). Twitter by the Numbers (2017): Stats, Demographics & Fun
Facts. Retrieved October 25, 2017, from
https://www.omnicoreagency.com/twitter-statistics/
Bonzanini, M. (2016). Mastering Social Media Mining with Python. (W. W. Xu,
Ed.). Birmingham: Packt Publishing.
Falahah, & Nur, D. D. A. (2015). Pengembangan Aplikasi Sentiment Analysis
Menggunakan Metode Nave Bayes. Seminar Nasional Sistem Informasi
Indonesia, (November), 335340.
Feldman, R., & Sanger, J. (2006). The Text Mining Handbook.
https://doi.org/10.1017/CBO9780511546914
Internet World Stats. (n.d.). World Internet Users Statistics and 2017 World
Population Stats. Retrieved October 25, 2017, from
http://www.internetworldstats.com/stats.htm
Kohavi, R. (1995). A Study of Cross-Validation and Bootstrap for Accuracy
Estimation and Model Selection. Appears in the International Joint
Conference on Articial Intelligence (IJCAI), 5, 17.
https://doi.org/10.1067/mod.2000.109031
Kumar, A., & Sebastian, T. M. (2012). Sentiment analysis on twitter. IJCSI
International Journal of Computer Science Issues, 9(3), 372378.
https://doi.org/10.1109/IACC.2017.177
Parveen, H., & Pandey, S. (2017). Sentiment analysis on Twitter Data-set using
Naive Bayes algorithm. Proceedings of the 2016 2nd International Conference
on Applied and Theoretical Computing and Communication Technology,
iCATccT 2016, 416419. https://doi.org/10.1109/ICATCCT.2016.7912034
Ramadhani, A. M., & Goo, H. S. (2015). Twitter Sentiment Analysis using Deep

14
CNN, 9121(JUNE). https://doi.org/10.1007/978-3-319-19644-2
Tim Penyusun KBBI. (2016). Kamus Besar Bahasa Indonesia. Retrieved October
31, 2017, from https://kbbi.kemdikbud.go.id/entri/opini
Trupthi, M., Pabojju, Suresh., Narasimha, G. (2017). SENTIMENT ANALYSIS
ON TWITTER USING STREAMING API. 2017 IEEE 7th International
Advance Computing Conference. 915-919. https://doi.org/
10.1109/IACC.2017.177
Wikipedia. (2017). Twitter. Retrieved January 1, 2017, from
https://en.wikipedia.org/wiki/Twitter

15