• Tidak ada hasil yang ditemukan

Analisis Sentimen Pengguna Twitter Pada Akun Resmi Samsung Indonesia Dengan Menggunakan Naive Bayes

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Sentimen Pengguna Twitter Pada Akun Resmi Samsung Indonesia Dengan Menggunakan Naive Bayes"

Copied!
41
0
0

Teks penuh

(1)

ANALISIS SENTIMEN PENGGUNA TWITTER PADA AKUN

RESMI SAMSUNG INDONESIA DENGAN MENGGUNAKAN

NAÏVE BAYES

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

PIPIT PITRIA

10110246

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xiii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Text Mining ... 7

2.1.1 Data ... 7

2.1.2 Term ... 7

2.2 Text Preprocessing ... 8

2.2.1 Tokenisasi ... 9

2.2.2 Normalisasi Fitur ... 9

2.2.3 Case Folding ... 10

(3)

vi

2.2.5 Convert Emoticon ... 12

2.2.6 Convert Negasi ... 12

2.3 Text Categorization ... 13

2.4.1 Training ... 13

2.4.2 Testing ... 13

2.4 Analisis Sentimen ... 13

2.5 Machine Learning ... 14

2.5.1 Supervised ... 14

2.5.1.1Naïve Bayes Classifier ... 15

2.6 Evaluasi Kinerja Classifier ... 20

2.6.1 K-fold cross validation ... 20

BAB 3 ANALISIS KEBUTUHAN IMPLEMENTASI ALGORITMA ... 23

3.1 Analisis Masalah ... 23

3.2 Analisis Sistem ... 23

3.3 Analisis Data Masukan ... 25

3.4 Analisis Metode / Algoritma ... 31

3.4.1 Klasifikasi dengan Naïve Bayes ... 32

3.4.2 K-Fold cross validation ... 36

3.5 Analisis Kebutuhan Implementasi Metode ... 42

3.5.1 Analisis Kebutuhan Perangkat Keras (Hardware) ... 42

3.5.2 Analisis Kebutuhan Perangkat Lunak (Software) ... 42

3.5.3 Analisis Kebutuhan Perangkat Pikir (Brainware) ... 43

3.6 Analisis Kebutuhan Fungsional ... 44

3.7 Perancangan Sistem ... 44

(4)

vii

4.1 Implementasi ... 45

4.2.1 Lingkungan Implementsi ... 45

4.2.2 Implementasi Program ... 45

4.2.3 Impelementasi Antarmuka (Interface) ... 46

4.2 Pengujian Akurasi Sistem dengan Metode 10-fold cross validation ... 49

4.3 Hasil dan Analisis Pengujian ... 50

BAB 5 KESIMPULAN DAN SARAN ... 53

5.1. Kesimpulan ... 53

5.2. Saran ... 53

(5)

55

DAFTAR PUSTAKA

[1] M. L. Khodra, "kur2003.if.itb.ac.id," [Online]. Available: http://kur2003.if.itb.ac.id/. [Accessed 11 Mei 2014].

[2] L. Pakhpahan, "Social Media Untuk Promosi Bisnis," [Online].Available: http://latiefpakpahan.com/social-media promosi-bisnis/. [Accessed 22 March 2014].

[3] G. Andreani, "repostitory.usu.ac.id/Pengaruh Promosi melalui Media Sosial,"2013.[Online].Available:http://repository.usu.ac.id/bitstream/1 23456789/37140/5/Chapter%20I.pdf.

[Accessed 22 March 2014].

[4] I. Sunni and D. H. Widyantoro, "Analisis Sentimen dan Ekstraksi Topik Penentu Sentimen pada Opini Terhdap Tokoh Publik," Jurnal Sarjana Institut Teknologi Bandung Bidang Elektro dan Informatika,

vol. 1, pp. 200 - 206, 2012.

[5] J. D. M. Rennie, L. Shih, J. Teevan and D. R. Karger, "Tackling the Poor Assumptions of Naive BAyes Text Classifiers," in Proceedings of the Twentieth International Conference on Machine Learning

(ICML-2003), Washington DC, 2003.

[6] S. Dharma, "Pendekatan, Jenis, dan Metode Penelitian Pendidikan,"

Kompetensi Penelitian dan Pengembangan, pp. 19-46, 2008.

[7] I. Sommerville, Software Engeneering, United States of America: Addision Wesley, 2011.

[8] I. H. Wltten, "Text Mining," in Computer Science, University of Waikato, Hamilton, New Zealand, 2003.

[9] M. Lan, "A New Term Weighting Method for Text Categorization,"

National University of Singapore, 2006.

[10] A. Nurfalah, "Analisis Sentimen Pada Opini Berbahasa Indonesia

(6)

56

[11] T. M. Mitchell, Machine Learning, McGraw-Hill Science/Engineering/Math, 2005.

[12] D.Anggraeni,"http://lontar.ui.ac.id/,"[Online].Available:http://lontar.ui.

ac.id/file?file=digital/123561-SK-739-Klasifikasi%20topikAnalisis.pdf. [Accessed 18 Juni 2014].

[13] R. Kohavi, "A study of Cross-Validation and Bootstrap for Accuracy Estimation and ModelSelection,"1995.[Online]. Available: http://frostiebek.free.fr/docs/Machine%20Learning/validation-1.pdf. [Accessed 23 June 2014].

[14] A. Haryono and A. Kustiyo, "Identifikasi Daun Tanaman Jati Menggunakan Jaringan Syaraf Tiruan Backpropagation dengan Ekstraksi Fitur Ciri Morfologi Daun".

(7)

iii

KATA PENGANTAR

AlhamdulillahiRabbil ‘Alamiin, segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya, shalawat serta salam semoga tercurah kepada Rasulullah SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “ANALISIS SENTIMEN PENGGUNA TWITTER PADA AKUN RESMI SAMSUNG INDONESIA DENGAN MENGGUNAKAN NAÏVE BAYES untuk memenuhi salah satu syarat dalam

menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika Universitas Komputer Indonesia.

Dengan keterbatasan ilmu dan pengetahuan serta pengalaman penulis, maka penulis mendapat banyak bantuan serta dukungan dari berbagai pihak. Oleh karena itu, penulis mengucapkan terimakasih yang sebesar –besarnya kepada: 1. Yang tercinta Ibunda (Sri Hartati) dan Bapak (Dana) yang telah memberikan

kasih sayang, cinta, doa, dan dukungan baik moril maupun materi agar penulis dapat menyelesaikan skripsi ini tepat pada waktunya.

2. Bapak Iskandar Ikbal, S.T., M.Kom., selaku wali kelas IF-6/2010 yang selalu memberikan beberapa pengarahan kepada penulis.

3. Ibu Ednawati Rainarli, S.Si.,M.Si., selaku dosen pembimbing. Terimakasih karena telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama proses penyusunan skripsi ini.

4. Bapak Adam Mukharil Bachtiar, S.Kom., M.T., selaku reviewer yang telah meluangkan waktu dan memberikan saran beserta ilmunya selama proses penyusunan skripsi ini.

5. Dian Dharmayanti, S.T., M.Kom, selaku penguji tiga memberikan saran

beserta ilmunya selama proses penyusunan skripsi ini.

6. Bapak dan Ibu dosen serta seluruh staf pegawai Program Studi Teknik Informatika Universitas Komputer Indonesia yang telah banyak membantu penulis.

(8)

iv

8. Ahmad Sopian, Tata, Dodi, Meme, Reni, Chres, Gina, Rizki, Adi, Mexan dan seluruh teman-teman IF6/2010 yang selalu memberikan dukungan, bantuan, dan semangat selama penyelesaian skripsi ini.

9. Sahabat-sahabat kosan 4s, Teteh Tri, Teteh Mayang, Bu Yayuk, yang telah memberikan motivasi kepada penulis untuk tetap semangat selama penyelesaian skripsi ini.

10. Sahabat-sahabat sepermainan, TehEno, Megi, Mega, Vetry, Hany, Eki, dan Rusli, yang selalu memberikan dukungan serta motivasi kepada penulis untuk

tetap semangat selama penyelesaian skripsi ini.

11. Seluruh teman-teman yang tidak dapat penulis sebutkan satu persatu, terimakasih telah memberikan segala bentuk bantuan untuk menyelesaikan skripsi ini.

Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna. Untuk perbaikan dan pengembangan, penulis mengharapkan saran dan kritik yang bersifat membangun. Akhir kata, semoga penulisan skripsi ini dapat bermanfaat bagi penulis khususnya, dan semua yang membaca.

Bandung, 10 Juli 2014

(9)

DAFTAR RIWAYAT HIDUP

A.Data Pribadi

Nama Lengkap : Pipit Pitria Nama Panggilan : Pipit

Tempat, Tgl Lahir : Subang, 17 Oktober 1992 Jenis Kelamin : Perempuan

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Dsn. Margasari RT.33/15 Desa Sukamandi Jaya Kec. Ciasem Kab. Subang

No. HP/Tlp : 081272974122

Email : pipitpitriaa@gmail.com

B.Pendidikan Formal

1998-2004 : SD Negeri Sukamandi III , Subang 2004-2007 : SMP Negeri 2 Ciasem, Subang 2007-2010 : SMA Negeri 1 Ciasem, Subang

(10)

23

BAB 3

ANALISIS KEBUTUHAN IMPLEMENTASI ALGORITMA

3.1Analisis Masalah

Analisis masalah adalah suatu gambaran masalah yang diangkat dalam penulisan skripsi tentang Analisis sentimen pengguna twitter pada akun resmi Samsung Indonesia dengan metode Naive Bayes. Analisis Sentimen termasuk kedalam kategorisasi teks yang mengelompokan teks-teks ke dalam label-label tertentu. Pada penelitian-penelitian sebelumnya analisis sentimen dimanfaatkan untuk evaluasi sebuah produk yang didapatkan dari feedback sebuah produk.

Samsung merupakan sebuah produk yang menggunakan Twitter sebagai salah satu sosial media untuk sarana promosi bisnis. Dengan adanya akun resmi Samsung Indonesia dan jumlah postingan yang banyak setiap harinya memungkinkan terdapat feedback dari costumer atau follower Samsung Indonesia sebagai ketersediaan senitmen yang dapat dimanfaatkan untuk evaluasi produk Samsung.

Namun permasalahan pada analisis sentimen adalah bagaimana melakukan pengklasifikasian sentimen pada data twitter yang naninya dapat dimanfaatkan untuk evaluasi sebuah produk dengan menggunakan metode Naïve Bayes.

3.2 Analisis Sistem

Analisis sistem didefinisikan sebagai penguraian dari sistem utama ke dalam sub-sub sistem dengan tujuan untuk mengidentifikasikan permasalahan-permasalahan yang ada dan kebutuhan-kebutuhan yang diperlukan agar dapat diusulkan dan diciptakan sistem baru yang lebih baik. Dalam mengimplementasikan metode Naïve Bayes Classifier akan dibangun sebuah prototype dengan gambaran sistem yang akan tertera pada Gambar 3.1.

(11)

24

1. Tahap pertama adalah tahap mengambil data twitter dengan crawling menggunakan stream API, kemudian data tersebut dilakukan proses

preprocessing yang merupakan tahap dimana data yang akan digunakan sebagai data testing dibersihkan dari noise atau dari hal yang tidak mempunyai pengaruh dalam sentimen. Preprocessing yang dilakukan dalam tahap ini antara lain: tokenisasi, normalisasi fitur, case folding, hapus stopword,Convert Emoticon, Convert negasi.

2. Tahap yang kedua adalah tahap training data, pada tahap ini data training yang

sudah dilakukan tahap preprocessing dan telah diklasifikasikan secara manual kedalam 2 kelas yaitu kelas sentimen positif, dan negatif disimpan kedalam

database data training. Setelah itu tweet yang sudah diklasifikasikan secara manual dibuat model probabilistiknya yang nantinya akan disimpan kembali ke dalam database detail data training yang akan digunakan pada tahap testing sebagai model analisis sentimen.

3. Tahap yang ketiga yaitu tahap testing, pada tahap ini menggunakan data testing sebagai data masukan yang tentu saja sudah melalui tahap preprocessing. Data testing diproses sehingga dapat dilihat kelas sentimennya.

4. Tahap keempat yaitu tahap pengujian menggunakan metode k-fold cross validation dimana data dibagi sejumlah n-fold yang diinginkan,kemudian proses testing dan training dilakukan sebanyak n kali . Sampai hasil akurasi keluar, hasil akurasi tersebut didapat dari rata-rata akurasi pada setiap iterasi.

(12)

25

3.3Analisis Data Masukan

Data masukan yang digunakan adalah data tweet dari akun twitter resmi Samsung Indonesia. Data tweet tersebut didapat dengan memanfaatkan fitur API

(Application Interface) yang telah disediakan oleh twitter untuk mendapakan API key, dan access token yang nantinya digunakan untuk pengambilan data tweet.

Data yang diambil adalah data tweet yang mengandung kata “Samsung_ID” atau

data tweet yang terdapat pada akun resmi Samsung Indonesia “@Samsung_ID”,

data tersebut dapat dianggap mewakili sentimen dari pengguna atau followers

Samsung Indonesia. Data berupa sebuah kalimat dengan panjang maksimal 140 karakter. Contoh dari setiap tweet yang mengandung sentimen pada akun

“@Samsung_ID” terdapat pada Gambar 3. 2, Gambar 3. 3.

Gambar 3. 2Tweet dengan sentimen positif

Gambar 3. 3Tweet dengan sentimen negatif

Data tweet yang diambil dari akun resmi Samsung Indonesia masih berupa data mentah dan terdapat noise atau ciri-ciri yang tidak mempunyai pengaruh pada

klasifikasi sentimen seperti link, “@”, stopword, hashtag yang ditandai dengan

munculnya karakter “#”. Contoh tweet mentah tersebut ada pada Gambar 3. 4.

Gambar 3. 4 Contoh data tweet

(13)

26

untuk mengekspresikan ungkapan persetujuan atau pertidaksetujuan pada suatu kalimat atau tweets. Contoh tweet mentah yang terdapat emoticon ada pada Gambar 3. 5.

Gambar 3. 5 Contoh data tweet dengan emoticon

Karakteristik tweet selanjutnya yaitu ada terdapat kata negasi yang perlu diperhatikan dalam analisis sentimen karena dapat merubah nilai sentimen suatu

tweet. Kata yang bersifat negasi seperti “tidak”, “bukan”, “ga”, “jangan”,

“nggak”, “tak”, “tdk”, dan “gak”. Contohnya kata “lelet” yang merupakan kata dengan sentimen negatif, karena di depan kata “lelet” terdapat kata negasi “tidak”

maka sentimen dari gabungan kata tersebut adalah positif. Contoh tweet yang terdapat kata negasi ada pada Gambar 3.6.

Gambar 3. 6 Contoh data tweet dengan negasi

Agar data-data tweets tersebut dapat dimanfaatkan dengan baik untuk

mengklasifikasikan sentimen maka diperlukan proses preprocessing . Pada proses ini data tweet yang digunakan untuk data training data data testing dibersikan dari

noise atau ciri-ciri yang tidak berpengaruh pada klasifikasi sentimen seperti link,

@”, “RT”, stopword, dan lain sebagainya. Gambaran proses preprocessing

dapat dilihat pada Gambar 3. 7.

(14)

27

Proses preprocessing terdiri dari beberapa tahapan yaitu normalisasi fitur,

case folding, hapus stopwords, convert emoticon, convert negasi dan tokenisasi. Penjelasan dari tahapan proses tersebut adalah sebagai berikut:

1. Normalisasi Fitur

Tweet yang terdapat pada akun resmi Samsung Indonesia memiliki berbagai komponen atau karakteristik tweet yang khas seperti “@” yang diidentifikasi sebagai komponen username, URL yang dikenal melalui operasi regular, hashtag yang menandakan kata sebagai topik yang sedang dibicarakan, dan

“RT” yang diidentifikasi sebagai mengulang kembali tweet yang telah

diposting. Komponen-komponen tersebut tidak memiliki pengaruh apapun terhadap sentimen, maka akan dibuang. Sebagai gambaran dari normalisasi fitur pada salah satu tweet akun resmi Samsung Indonesia terdapat pada Gambar 3.8.

Gambar 3. 8 Normalisasi Fitur @Samsung_ID Hasilnya bagus ya, jadi pengen

@Samsung_ID waw cakep sekali samsung :)

@Samsung_ID keren !

@Samsung_ID@DeaKartikaPinem aku make min di mangrove. Ga

mempan

@Samsung_ID bohong nih

@Samsung_IDMahalbanget harganya :(

Hasilnya bagus ya, jadi pengen

waw cakep sekali samsung :)

keren !

aku make min di mangrove. Ga mempan

bohong nih

(15)

28

2. Case Folding

Pada proses case folding huruf besar atau uppercase yang terdapat pada tweet

diubah menjadi lowercase atau huruf kecil. Sebagai gambaran dari proses

case folding terdapat pada Gambar 3.9.

Gambar 3. 9 Case Folding

3. Hapus Stopword

Data tweet yang sudah melalui proses sebelumnya masih mengandung kata yang dianggap tidak dapat memberikan pengaruh dalam menentukan suatu kategori sentimen. Kata-kata tersebut dimasukkan kedalam daftar stopword

yang biasanya berupa kata ganti orang, kata ganti penghubung, pronomial penunjuk, dan lain sebagainya. Jika terdapat kata yang tercantum pada daftar

stopword maka kata tersebut dihilangkan,daftar stopword tersebutterdapat pada lampiran B. Gambaran dari proses Hapus Stopword terdapat pada Gambar 3.10.

Hasilnya bagus ya, jadi pengen

waw cakep sekali samsung :)

keren !

aku make min di mangrove. Ga mempan

bohong nih

Mahal banget harganya :(

hasilnya bagus ya, jadi pengen

waw cakep sekali samsung :)

keren !

aku make min di mangrove. ga mempan

bohong nih

(16)

29

Gambar 3. 10 Hapus Stopword

4. Convert Emoticon

Convert emoticon adalah proses mengkonversikan emoticon kedalam string yang sesuai dengan ekspresi emoticon itu sendiri. Convert emoticon

dilakukan karena pada data tweet yang diambil dari Samsung Indonesia terdapat emoticon yang merupakan salah satu cara mengekspresikan persetujuan atau pertidaksetujuan dalam suatu tweet. Hal ini dirasa mempunyai pengaruh terhadap pengklasifikasian sentimen, oleh karena itu

convert emoticon digunakan. Karena karakter “:)” termsuk kedalam emoticon

senang , maka dikonversi kedalm string “esenang”, begitupun dengan

karakter “:(“ termasuk kedalam emoticon sedih, maka dikonversi kedalam

string “esedih”. Gambaran dari proses convert emoticon terdapat pada

Gambar 3.11. 5. Convert Negasi

Convert negasi merupakan proses konversi kata-kata negasi yang terdapat pada suatu tweet, karena kata negasi mempunyai pengaruh dalam merubah nilai sentimen pada suatu tweet. Kata negasi yang terdapat pada suatu tweet

akan dihilangkan, dan diberikan penanda . Jika terdapat kata negasi makan

hasilnya bagus ya, jadi pengen

waw cakep sekalisamsung :)

keren !

aku make min di mangrove. ga mempan

bohong nih

mahal banget harganya :(

hasilnya bagus, pengen

waw cakep :)

keren !

make min mangrove. ga mempan

bohong nih

(17)

30

akan disatukan dengan kata setelahnya. Kata-kata negasi tersebut meliputi

kata “bkn”, “bukan”, “tida”, “tak”, “ga”, “enggak”, “g”, “jangan”, dan

“tidak”. Gambaran dari proses convert negasi terdapat pada Gambar 3.12

Gambar 3. 12Convert Negasi

hasilnya bagus, pengen

waw cakep :)

keren !

make min mangrove. ga mempan

bohong nih

mahal banget harganya :(

hasilnya bagus, pengen

waw cakep esenang

keren !

make min mangrove. ga mempan

bohong nih

mahal banget harganya esedih

hasilnya bagus, pengen

waw cakep esenang

keren !

make min mangrove. ga mempan

bohong nih

mahal banget harganya esedih

hasilnya bagus, pengen

waw cakep esenang

keren !

make min mangrove. gamempan

bohong nih

mahal banget harganya esedih

(18)

31

6. Tokenisasi

Pada proses tokenisasi setiap kata pada tweet dipisahkan, pada proses ini tahap yang dilakukan adalah memisahkan setiap kata yang dipisahkan oleh spasi, selanjutnya bagian tweet yang memiliki karakter selain alphabet, angka, dan garis bawah akan dipecah sesuai posisi karakter tersebut dan bagian yang hanya memiliki satu karakter non alphabet dan angka akan dibuang . Gambaran proses tokenisasi terdapat pada Gambar 3.13.

Gambar 3. 13 Tokenisasi

3.4 Analisis Metode / Algoritma

Tahapan-tahapan yang dilakukan untuk analisis sentimen dengan menggunakan metode Naïve Bayes Classifier untuk mengklasifikasikan sentimen digambarkan pada Gambar 3. 14.

Gambar 3. 14 Tahapan Analisis Sentimen dengan menggunakan Naïve Bayes Classifier

hasilnya

hasilnya bagus, pengen

waw cakep esenang

keren !

make min mangrove. gamempan

bohong nih

mahal banget harganya esedih

bagus

waw cakep esenang

keren

make min mangrove gamempan

bohong nih

pengen

(19)

32

Tahapan pada Gambar 3. 14 terdiri dari tahapan training, testing, dan cross validation sebagai pengujian akurasi dari analisis sentimen. Berikut pemaparan lebih jelas tentang tahapan – tahapan yang akan dilakukan pada analisis sentimen dengan menggunakan Naïve Bayes Classifier.

3.4.1 Klasifikasi dengan Naïve Bayes

Pada pengklasifikasian menggunakan naïve bayes dibagi kedalam 2 proses, yaitu proses training dan testing. Proses training digunakan untuk menghasilkan model analisis sentimen yang nantinya akan digunakan sebagai acuan untuk mengklasifikasikan sentiment dengan data testing atau data mentah yang baru. Berikut adalah algoritma klasifikasi sentimen menggunakan Naïve Bayes Classifier:

1. Proses Training a. Hitung p (�).

b. Hitung p wk �) untuk setiap kata wk pada model.

2. Proses Testing

a. Hitung kp wk c ) × p (c)untuk setiap kategori.

b. Tentukan kategori dengan nilai kp wk c ) × p (c) maksimal.

Berikut merupakan contoh kasus dalam pengklasifikasian tweet menggunakan

Naïve Bayes Classifier. Tweet atau dokumen yang akan diklasifikasikan sudah melalui tahap preprocessing.

1. Proses Training

Sebuah dokumen trainer yang diklasifikasikan secara manual dan dilakukan proses preprocessing sebelumnya adalah sebagai berikut:

a. Kata yang termasuk kedalam opini positif: Tweet1 : hasilnya bagus pengen

(20)

33

b. Kata yang termasuk kedalam opini negatif: Tweet4 : make min mangrove gamempan Tweet5 : bohong nih

Tweet6 : mahal banget harganya esedih Gambaran dari contoh kasus ini terlihat pada Tabel 3. 1.

Tabel 3. 1 Gambaran Contoh Kasus

Tweet Kategori Fitur

Tweet1 Positif hasilnya bagus pengen Tweet2 Positif waw cakep esenang Tweet3 Positif Keren

Tweet4 Negatif make min mangrove gamempan Tweet5 Negatif bohong nih

Tweet6 Negatif mahal banget harganya esedih

Dibentuk sebuah model probabilistik, dengan mengacu pada persamaan 2.3 dan persamaan 2.5 :

Jika dibentuk sebuah tabel, maka hasil dari perhitungan probabilistik setiap kata pada data training terdapat pada Tabel 3. 2, Tabel 3.3.

Tabel 3. 2 Hasil Perhitungan Probabilitas Data Training (1)

(21)

34

Tabel 3. 3 Hasil Perhitungan Probabilitas Data Training (2)

Kategori �(�) �(�� | c)

gamempan bohong sih mahal banget harganya esedih

Positif 1

Hasil perhitungan probabilitas tersebut digunakan sebagai model probabilistik yang nantinya digunakan sebagai penentuan kategori data tester. Contoh kasus data tester yang sudah melalu tahap preprocessing sebelumnya terdapat pada Tabel 3. 4.

Tabel 3. 4 Data Tester

Tweet Kategori Fitur

Tweet7 ? waw(2) keren bgt

Tweet8 ? ac jelek banget sih

Tweet9 ? keren banget

Untuk penentuan kategori pada tweet7 sebagai data tester 1, menggunakan persamaan 2.6 dengan perhitungan sebagai berikut:

(22)

35

Sedangkan untuk perhitungan tweet8 sebagai file tester 2 sebagai berikut:

� Tweet8 �� � �

=� ���� � � ×� � � � � ×� � � �� � � ×

� � � �� � � × � �� � �

= 1 × 1 × 1

24 × 1 × 1 2 = 0.02083333334

� Tweet8 � �� �

=� ����� � ×� � �� � ×� � � ��� � ×

� � � � �� � × � � �� �

= 1 × 1 × 2

27 × 1 × 1 2 = 0.037037037

Sedangkan untuk perhitungan tweet9 sebagai file tester 3 sebagai berikut:

� Tweet9 �� � �

=� �� �� � � � � � �� � � � �� � �

= 2 24 ×

1 24 ×

1 2 = 0.0017362

� Tweet9 � �� �

=� �� ��� � ×� � � ��� � × � � �� �

= 1

27 × 2 27 ×

1 2 = 0.0013717

(23)

36

Tabel 3. 5 Nilai Probabilitas pada Data Tester

Tweet Positif Negatif

Tweet7 . 0.0000254026

Tweet8 0.02083333334 .

Tweet9 . 0.0013717

Untuk dokumen tweet7 sebagai tester pertama dapat disimpulkan bahwa termasuk kedalam sentiment positif, dilihat dari nilai yang terbesar yaitu terdapat pada sentimen positif. Sedangkan untuk data tester kedua termasuk kedalam sentimen negatif karena dilihat dari hasil yang didapatkan, nilai dengan sentimen negatif lebih besar dibandingkan dengan sentimen positif dan file tester ketiga merupakan sentimen positif karena nilai yang terbesar yaitu pada perhitungan dengan sentimen positif.

3.4.2 K-Fold cross validation

Dalam melakukan pengujian dengan menggunakan k-fold cross validation, pembagian data traning dan data testing dilakukaan dengan mengambil k sama dengan 3. Pada kombinasi ini data dibagi menjadi 3 subset (S1, S2,S3) dengan masing-masing subset memiliki anggota yang berbeda. Pada kombinasi ini proses identifikasi akan dilakukan 3 kali iterasi berdasarkan metode k-fold cross validation.

Jumlah data yang digunakan mengambil dari data tweet pada contoh kasussebelumnya sebanyak 8 data dan dibagi menjadi 3 subset sehingga pembagiannya pada masing-masing subset yang digunakan adalah subset pertama sebanyak 2 data, subset kedua sebanyak 3 data dan subset ketiga sebanyak 3 data.

(24)

37

Tabel 3. 6 Tabel Data Tweet

Subset No Data Tweet Kategori

1

1. keren Positif

2. mahal banget harganya esedih Negatif

3. keren banget Positif

2

4. hasilnya bagus pengen Positif

5. ac jelek banget sih Negatif

6. waw waw keren banget Positif

3

7. waw cakep esenang Positif

8. make min mangrove gamempan Negatif

9. bohong nih Negatif

Percobaan terus dilakukan hingga setiap subset pernah dijadikan data testing, seperti pada Tabel 3. 7.

Tabel 3. 7 Susunan Data Training dan Data Testing

Fold Training Testing

Fold I S2,S3 S1

Fold II S3,S1 S2

Fold III S2,S1 S3

1. Percobaan pertama (fold I) menggunakan 6 data sebagai data training yang yang terdapat pada subset 2, dan 3. Subset 1 yang berisi 3 data sebagai data testing. Perhitungan data training terdapat pada Tabel 3. 8, Tabel 3.9.

Tabel 3. 8 Hasil Perhitungan Probabilitas Fold I (1)

(25)

38

Tabel 3. 9 Hasil Perhitungan Probabilitas Fold I (2)

Pada tahap selanjutnya yaitu menghitung data testing pada fold I yang sebelumnya sudah diklasifikasikan.

Data testing pertama : keren (positif)

� tweet1 �� � �

Data tester kedua : mahal banget harganya esedih (negatif)

(26)

39

� tweet2 � �� �

=� ��� ��� � ×� � � ��� � × � � ���� ���� � ×

� � �� � × � � �� �

= 1 × 2

27× 1 × 1 ×

1 2 = 0.037037

Data tester ketuga : keren banget (positif)

� tweet3 �� � �

=� �� �� � � ×� � � �� � � × � �� � �

= 2

27×

2

27×

1 2 = 0.0027435

� tweet3 � �� �

=� �� ��� � ×� � � ��� � × � � �� �

= 1

27×

2

27×

1 2 = 0.0013717

Setelah dihitung probabilitas dari masing-masing tweet , hasil dari perhitungan tersebut selanjutnya dilihat nilai maksimal atau nilai terbesar sebagai kategori dari tweet tersebut. Hasil perhitungan tersebut terdapat pada Tabel 3.10.

Tabel 3. 10 Hasil Perhitungan Data Testing Fold I

Berdasarkan Tabel 3.10, dapat diketahui tweet pertama masuk kedalam kategori positif karena nilai probabilitasnya lebih besar dari nilai probabilitas negatif, sedangkan untuk tweet kedua masuk kedalam kategori netral disebabkan oleh nilai probabilitas positif dan negatif sama besar, dan untuk tweet ketiga

Tweet Positif Negatif

keren . 0.0185185

mahal banget harganya esedih 0.0370370 0.0370370

(27)

40

masuk kedalam kategori positif karena nilai probabilitas sentimen positif lebih besar dari nilai probabilitas negatif . Jadi, yang sesuai dengan kategori awal yang telah di klasifikasikan sebanyak 1 tweet, dengan demikian maka prosentase kebenaran secara keseluruhan adalah (2/3) ×100 atau 66.67% .

2. Percobaan kedua (fold 2) menggunakan 6 data sebagai data training yang terdapat pada subset 3, dan 1. Subset 2 yang berisi 3 data sebagai data testing. Perhitungan data training terdapat pada Tabel 3. 11, Tabel 3.12.

Tabel 3. 11 Hasil Perhitungan Probabilitas Fold II (1)

Kategori �(�) �

Tabel 3. 12 Hasil Perhitungan Probabilitas Fold II (2)

Kategori �(�) �

Dengan perhitungan data testing terdapat pada Tabel 3. 13. Tabel 3. 13 Hasil Perhitungan Data Testing Fold II

Tweet Positif Negatif

hasilnya bagus pengen 0.5 0.5

ac jelek banget sih 0.05 0.041667

waw waw keren banget 0.000075 0.00000301408

(28)

41

3. Percobaan ketiga (fold 3) menggunakan 6 data sebagai data training yang berisi

subset 2, dan 1. Subset 3 yang berisi 3 data sebagai data testing. Perhitungan data training terdapat pada Tabel 3. 14.

Tabel 3. 14 Hasil Perhitungan Probabilitas Fold III

Kategori �(�) �(�� | c)

Dengan perhitungan data testing terdapat pada Tabel 3. 15. Tabel 3. 15 Hasil Perhitungan Data Testing Fold III

Berdasarkan Tabel 3. 15 dapat diketahui kategori yang sesuai dengan kategori awal yang telah di klasifikasikan hanya 1 tweet. Dengan demikian maka

prosentase kebenaran secara keseluruhan adalah (1/3)*100 atau 33.33%. Setelah menghitung akurasi sebanyak 3 iterasi, selanjutnya menghitung rata-rata akurasi. Perhitungan akurasi dari proses cross validation terdapat pada Tabel 3. 16.

Tabel 3. 16 Hasil Perhitungan Akurasi

Fold Akurasi

I 66.67 %

II 33.33 %

III 33.33 %

Rata-rata akurasi 44.44 %

Berdasarkan Tabel 3.16 dapat dilihat rata-rata akurasi sebesar 44.44% sebagai akurasi final dari implementasi analisis sentimen dengan metode Naïve Bayes Classifier. Nilai tersebut menandakan akurasi yang kurang baik, ini disebabkan oleh data training yang digunakan sangat kecil, karena metode Naïve

Tweet Positif Negatif

waw cakep esenang 0.09091 0.01667

make min mangrove gamempan 0.66667 0.33333

(29)

42

Bayes Classifier secara umum semakin besar data training maka akan semakin baik kinerja model klasifikasi suatu sistem [15].

3.5 Analisis Kebutuhan Implementasi Metode

Analisis kebutuhan implementsi metode mecangkup analisis non fungsional yang akan digunakan untuk keperluan implementasi metode pada penelitian ini. Analisis non fungsional itu sendiri adalah sebuah langkah untuk menganalisis sumber daya yang akan digunakan perangkat lunak yang dibangun. Analisis non

fungsional yang dilakukan dibagi dalam 3 tahap, yaitu: 1. Analisis Kebutuhan Perangkat Keras (Hardware) 2. Analisis Kebutuhan Perangkat Lunak (Software) 3. Analisis Kebutuhan Perangkat Pikir (Brainware)

3.5.1 Analisis Kebutuhan Perangkat Keras (Hardware)

Analisis kebutuhan perangkat keras (Hardware) pada penelitian ini merupakan kebutuhan perangkat lunak yang digunakan dalam pembangunan perangkat lunak ini. Adapun perangkat lunak yang digunakan sebagai berikut: 1. Processor 2.13GHz

2. RAM 1024MB

3. Monitor dengan resolusi 1366x768 pixels 4. Keyboard Strandard

5. Mouse Standard

3.5.2 Analisis Kebutuhan Perangkat Lunak (Software)

Analisis kebutuhan perangkat lunak (Software) pada penelitian ini merupakan kebutuhan perangkat lunak yang digunakan dalam pembangunan perangkat lunak

ini. Adapun perangkat lunak yang digunakan sebagai berikut: 1. Sistem Operasi Windows 8 Strater 32 bit.

2. Bahasa pemograman PHP. 3. Web server XAMPP v3.1.0.3.1.0

(30)

43

5. DBMS : MySQL 5.5.27

6. Adobe Photoshop digunakan sebagai perancangan UI (User Interface) 7. Web Browser: Google Chrome 34.0.1847.137

3.5.3 Analisis Kebutuhan Perangkat Pikir (Brainware)

Kebutuhan perangkat pikir (Brainware) untuk implementasi metode yang dibahas dalam penelitian ini dikelompokkan menjadi lima kategori yaitu user knowledge and experience, user jobs and tasks, user physical characteristic dan

user tools. Penjelasan untuk masing-masing kategori sebagai berikut:

1. Pengetahuan dan Pengalaman Pengguna (User Knowledge and Experience)

Pengetahuan dan pengalaman pengguna yang ditargetkan dalam pembangunan perangkat lunakini dapat dilihat padaTabel 3. 17.

Tabel 3. 17 Pengetahuan dan Pengalaman Pengguna

Aspek Pengguna

Education Level SMA sampai Perguruan tinggi

(D3,S1,S2,S3)

Reading Level Sedang Sampai Tinggi

Computer Literacy moderate experience till highly technical

Task Experience Rendah sampai Tinggi

System Experience Rendah sampai Tinggi

Application Experience Rendah sampai Tinggi

Use Of Other System No

Native Language or Culture Dominan Indonesia

2. Tugas dan Kebutuhan Pengguna (User Jobs and Tasks)

Tugas dan pekerjaan pengguna yang ditargetkan dalam pembangunan perangkat lunak ini dapat dilihat pada Tabel 3. 18.

Tabel 3. 18 Tugas dan Kebutuhan Pengguna

Aspek Pengguna

Frequency Of Use Continual

Primary Training Disediakan menu petunjuk

Task or Need Importance Sedang sampai Tinggi

Task Structure Sedang sampai Tinggi

Job Categories No

(31)

44

3. Karakteristik Pengguna(User Physical Characteristic)

Karakter fisik pengguna yang ditargetkan dalam pembangunan perangkat lunakini dapat dilihat pada Tabel 3. 19.

Tabel 3. 19 Karakteristik Pengguna

Aspek Pengguna

Handedness Keduanya dalam kondisi baik

Gender Laki-laki dan perempuan

Age 20 tahun ke atas

Disabilities Tidak cacat tubuh

4. User Tool

Ketika pengguna menggunakan perangkat lunak ini peralatan yang dominan digunakan adalah mouse.

3.6 Analisis Kebutuhan Fungsional

Dalam langkah ini dilakukan penentuan entitas-entitas yang diperlukan untuk implementasi metode dalam penelitian ini, baik entitas internal maupun entitas eksternal, data yang mengalir, serta prosedur-prosedur yang bisa dilakukan masing-masing entitas seperti diagram konteks, diagram alir data, spesifikasi proses dan kamus data. Kebutuhan-kebutuhan fungsional yang dibutuhkan untuk mengimplementasikan metode dalam penelitian ini terlampir pada lampiran A.

3.7 Perancangan Sistem

Perancangan sistem merupakan bagian dari metodologi pembangunan suatu perangkat lunak yang dilakukan setelah melalui tahapan analisis. Pada bagian ini akan dijelaskan perancangan sistem yang diajukan untuk mengimplementasikan metode pada analisis sentimen. Perancangan sistem yang dibuat terdiri dari

(32)

ANALISIS SENTIMEN

PENGGUNA TWITTER PADA AKUN RESMI SAMSUNG INDONESIA

DENGAN MENGGUNAKAN NAÏVE BAYES

Pipit Pitria

Teknik Informatika - Universitas Komputer Indonesia Jl. Dipatiukur 112-114 Bandung

E-mail : pipitpitriaa@gmail.com

ABSTRAK

Dewasa ini mulai banyak penelitian yang dilakukan terhadap analisis sentimen untuk mengklasifikasikan sentimen kedalam beberapa kelas. Pemanfaatan analisis sentimen biasanya digunakan untuk mengevaluasi sebuah produk yang sentimen-sentimennya didapat dari feedback sebuah produk itu sendiri melalui sosial media khususnya twitter. Studi kasus yang digunakan sebagai uji coba implementasi analisis sentimen pada penelitian ini adalah akun twitter resmi Samsung Indonesia yang aktif dalam mempromosikan produk-produknya.

Permasalahan pada analisis sentimen adalah bagaimana mengklasifikasikan sentimen kedalam kelas-kelas yang sudah ditentukan. Selanjutnya,untuk mengatasi permasalahan tersebut dilakukan pembelajaran mesin dengan menggunakan

Naïve Bayes Classifier. Naïve Bayes Classifier

merupakan salah satu metode machine learning

yang menggunakan perhitungan probabilitas dengan kelebihan implementasi yang relative mudah dan menghasilkan akurasi yang baik. Untuk itu, pada penelitian ini juga akan dilihat akurasi Naïve Bayes Classifier jika diterapkan untuk mengklasifikasikan sentimen kedalam sentimen positif dan negatif . Dari hasil uji coba dengan menggunakan metode

10-fold cross validation dengan data sebanyak 1500

tweet menunjukan bahwa metode Naïve Bayes Classifier dapat diterapkan pada analisis sentimen untuk mengklasifikasikan sentimen kedalam sentimen positif dan negatif dengan rata-rata akurasi yang cukup tinggi mencapai 98.87%

Kata kunci:Analisis sentimen, Naïve Bayes Classifier, Cross validation, Twitter, tweet

1. PENDAHULUAN

Kategorisasi teks merupakan aktifitas pemberian label ke teks-teks bahasa alami dengan kategori-kategori topik dari himpunan yang telah didefinisikan sebelumnya [1]. Analisis sentimen

termasuk kedalam kategorisasi teks yang membagi teks kedalam beberapa label atau kelas. Disatu sisi mulai muncul banyak penelitian dilakukan terhadap analisis sentimen untuk mengklasifikasikan sentimen ke dalam beberapa kelas yang nantinya dapat dimanfaatkan untuk mengevaluasi sebuah produk, sentimen-sentimen tersebut biasanya didapatkan dari feedback sebuah produk.

Sosial media untuk promosi bisnis sudah wajar dilakukan karena merupakan salah satu sarana yang sangat penting bagi perusahaan diera digital marketing saat ini [2]. Samsung sebagai salah satu perusahaan yang bergerak dibidang elektronik yang telah memanfaatkan twitter yang merupakan media sosial sebagai media promosi. Dengan adanya akun resmi Samsung Indonesia di twitter dan jumlah postingan tweet yang banyak setiap harinya, memungkinkan konsumen atau followers akun resmi Samsung Indonesia melakukan feedback dengan menanggapi postingan tweet tersebut. Disinilah ketersediaan sentimen untuk produk Samsung Indonesia sangat melimpah, sehingga dapat dimanfaatkan untuk mengevaluasi produk-produk Samsung.

Permasalahan analisis sentimen adalah bagaimana melakukan pengklasifikasian sentimen pada data twitter yang nantinya dapat dimanfaatkan untuk evaluasi sebuah produk. Dalam melakukan sebuah analisis sentimen, yang sering digunakan adalah metode machine learning seperti Support Vektor Machine, Decision Tree, Naïve bayes Classifier, dan lain-lain. Diantara beberapa metode tersebut Naïve Bayes Classifier adalah salah satu metode yang menghasilkan akurasi yang baik [4].

Naïve Bayes Classifier merupakan salah satu metode yang menggunakan perhitungan probabilitas. Kelebihan Naïve Bayes Classifier selain menghasilkan akurasi yang baik adalah implementasinya yang relative lebih mudah dan hanya memerlukan sejumlah kecil data training untuk memperkirakan parameter (variable mean dan

(33)

2. ANALISIS SENTIMEN PENGGUNA TWITTER PADA AKUN RESMI

SAMSUNG INDONESIA DENGAN

MENGGUNAKAN NAÏVE BAYES

Samsung merupakan sebuah produk yang menggunakan Twitter sebagai salah satu sosial media untuk sarana promosi bisnis. Dengan adanya akun resmi Samsung Indonesia dan jumlah postingan yang banyak setiap harinya memungkinkan terdapat feedback dari costumer atau

follower Samsung Indonesia sebagai ketersediaan senitmen yang dapat dimanfaatkan untuk evaluasi produk Samsung.

Namun permasalahan pada analisis sentimen adalah bagaimana melakukan pengklasifikasian sentimen pada data twitter yang naninya dapat dimanfaatkan untuk evaluasi sebuah produk dengan menggunakan metode Naïve Bayes.

2.1Analisis Sistem

Dalam mengimplementasikan metode Naïve Bayes Classifier akan dibangun sebuah prototype dengan gambaran sistem yang akan tertera pada Gambar 1.

Sistem yang akan dibangun memiliki 4 tahap yaitu praproses, training data, testing, dan cross validation. Untuk penjelasan setiap tahap dapat dilihat sebagai berikut:

1. Tahap pertama adalah tahap mengambil data twitter dengan crawling menggunakan stream API, kemudian data tersebut dilakukan proses

preprocessing yang merupakan tahap dimana data yang akan digunakan sebagai data testing dibersihkan dari noise atau dari hal yang tidak mempunyai pengaruh dalam sentimen.

Preprocessing yang dilakukan dalam tahap ini antara lain: tokenisasi, normalisasi fitur, case folding, hapus stopword,Convert Emoticon, Convert negasi.

2. Tahap yang kedua adalah tahap training data, pada tahap ini data training yang sudah dilakukan tahap preprocessing dan telah diklasifikasikan secara manual kedalam 2 kelas yaitu kelas sentimen positif, dan negatif disimpan kedalam database data training. Setelah itu tweet yang sudah diklasifikasikan secara manual dibuat model probabilistiknya yang nantinya akan disimpan kembali ke dalam database detail data training yang akan digunakan pada tahap testing sebagai model analisis sentimen.

3. Tahap yang ketiga yaitu tahap testing, pada tahap ini menggunakan data testing sebagai data masukan yang tentu saja sudah melalui tahap

preprocessing. Data testing diproses sehingga dapat dilihat kelas sentimennya.

4. Tahap keempat yaitu tahap pengujian menggunakan metode k-fold cross validation

dimana data dibagi sejumlah n-fold yang

diinginkan,kemudian proses testing dan training dilakukan sebanyak n kali . Sampai hasil akurasi keluar, hasil akurasi tersebut didapat dari rata-rata akurasi pada setiap iterasi.

Gambar 1. Gambaran Sistem

2.2Analisis Data Masukan

Data masukan yang digunakan adalah data

tweet dari akun twitter resmi Samsung Indonesia. Data tweet tersebut didapat dengan memanfaatkan fitur API (Application Interface) yang telah Samsung Indonesia “@Samsung_ID”, data tersebut dapat dianggap mewakili sentimen dari pengguna atau followers Samsung Indonesia. Data berupa sebuah kalimat dengan panjang maksimal 140 karakter. Contoh dari setiap tweet yang mengandung sentimen pada akun “@Samsung_ID” terdapat pada Gambar 2. Gambar 3.

Gambar 2. Tweet dengan sentimen positif

Gambar 3. Tweet dengan sentimen negatif

Data tweet yang diambil dari akun resmi Samsung Indonesia masih berupa data mentah dan terdapat noise atau ciri-ciri yang tidak mempunyai pengaruh pada klasifikasi sentimen seperti link, “@”,

stopword, hashtag yang ditandai dengan munculnya karakter “#”. Contoh tweet mentah tersebut ada pada Gambbar 4.

Gambar 4. Contoh data tweet

(34)

emoticon yang merupakan salah satu cara untuk mengekspresikan ungkapan persetujuan atau pertidaksetujuan pada suatu kalimat atau tweets.

Contoh tweet mentah yang terdapat emoticon ada pada Gambar 5.

Gambar 5. Contoh data tweet dengan emoticon

Karakteristik tweet selanjutnya yaitu ada terdapat kata negasi yang perlu diperhatikan dalam analisis sentimen karena dapat merubah nilai sentimen suatu tweet. Kata yang bersifat negasi seperti “tidak”, “bukan”, “ga”, “jangan”, “nggak”, “tak”, “tdk”, dan “gak”. Contohnya kata“lelet” yang merupakan kata dengan sentimen negatif, karena di depan kata “lelet” terdapat kata negasi “tidak” maka sentimen dari gabungan kata tersebut adalah positif. Contoh tweet yang terdapat kata negasi ada padaGambar 6.

Gambar 6. Contoh data tweet dengan negasi

Agar data-data tweets tersebut dapat dimanfaatkan dengan baik untuk mengklasifikasikan sentimen maka diperlukan proses preprocessing .

Pada proses ini data tweet yang digunakan untuk data training data data testing dibersikan dari noise

atau ciri-ciri yang tidak berpengaruh pada klasifikasi sentimen seperti link, “@”, “RT”, stopword, dan lain sebagainya. Gambaran proses preprocessing

dapat dilihat pada Gambar 7.

Gambar 7. Tahapan Preprocessing

1. Normalisasi Fitur

Tweet yang terdapat pada akun resmi Samsung Indonesia memiliki berbagai komponen atau karakteristik tweet yang khas seperti “@” yang diidentifikasi sebagai komponen username, URL yang dikenal melalui operasi regular, hashtag yang menandakan kata sebagai topik yang sedang dibicarakan, dan “RT” yang diidentifikasi sebagai mengulang kembali tweet yang telah diposting. Komponen-komponen tersebut tidak memiliki pengaruh apapun terhadap sentimen, maka akan dibuang.

2. Case Folding

Pada proses case folding huruf besar atau uppercase

yang terdapat pada tweet diubah menjadi lowercase

atau huruf kecil.

3. Hapus Stopword

Data tweet yang sudah melalui proses sebelumnya masih mengandung kata yang dianggap tidak dapat memberikan pengaruh dalam menentukan suatu kategori sentimen. Kata-kata tersebut dimasukkan kedalam daftar stopword yang biasanya berupa kata ganti orang, kata ganti penghubung, pronomial penunjuk, dan lain sebagainya. Jika terdapat kata yang tercantum pada daftar stopword maka kata tersebut dihilangkan.

4. Convert Emoticon

Convert emoticon adalah proses mengkonversikan

emoticon kedalam string yang sesuai dengan ekspresi emoticon itu sendiri. Convert emoticon

dilakukan karena pada data tweet yang diambil dari Samsung Indonesia terdapat emoticon yang merupakan salah satu cara mengekspresikan persetujuan atau pertidaksetujuan dalam suatu tweet. Hal ini dirasa mempunyai pengaruh terhadap pengklasifikasian sentimen, oleh karena itu convert emoticon digunakan.

Tabel 1. Konversi Emoticon [4]

Emoticon Konversi

Convert negasi merupakan proses konversi kata-kata negasi yang terdapat pada suatu tweet, karena kata negasi mempunyai pengaruh dalam merubah nilai sentimen pada suatu tweet. Kata negasi yang terdapat pada suatu tweet akan dihilangkan, dan diberikan penanda . Jika terdapat kata negasi makan akan disatukan dengan kata setelahnya. Kata-kata negasi tersebut meliputi kata “bkn”, “bukan”, “tida”, “tak”, “ga”, “enggak”, “g”, “jangan”, dan “tidak”.

6. Tokenisasi

Pada proses tokenisasi setiap kata pada tweet

(35)

akan dipecah sesuai posisi karakter tersebut dan bagian yang hanya memiliki satu karakter non alphabet dan angka akan dibuang .

2.3Klasifikasi dengan Naïve Bayes

Pada pengklasifikasian menggunakan naïve bayes dibagi kedalam 2 proses, yaitu proses training dan testing. Proses training digunakan untuk menghasilkan model analisis sentimen yang nantinya akan digunakan sebagai acuan untuk mengklasifikasikan sentiment dengan data testing atau data mentah yang baru. Berikut adalah algoritma klasifikasi sentimen menggunakan Naïve Bayes Classifier:

1. Proses Training a. Hitung p (�).

Pemberian kategori dari sebuah dokumen dilakukan dengan memilih nilai c yang memiliki probabilitas kemunculan semua kata pada dokumen

dj.

� � adalah hasil probabilitas dari semua kategori pada data training.

Kategori c* merupakan kategori yang memiliki nilai p(C = ci | D = dj) maksimum. Nilai

p(D = dj) tidak mempengaruhi perbandingan karena

untuk setiap k ategori nilainya akan sama.

3. IMPLEMENTASI DAN PENGUJIAN 3.1 Lingkungan Implementasi

Perangkat keras yang digunakan dalam proses perancangan dan implementasi sistem memiliki beberapa spesifikasi sebagai berikut:

1. Processor Intel® Core™ i3 CPU M 330

@2.13GHz(4 CPUs) 2. Memory 3072MB RAM

3. Monitor resolusi 1366x768 pixels 4. Keyboard

5. Mouse

Perangkat lunak yang digunakan dalam proses implementasi sistem ini adalah sebagai berikut: 1. Sistem Operasi Windows 8 Pro 32-bit 2. Bahasa pemograman PHP.

3. Code editor berupa SublimeText3Portable.

4. DBMS : MySQL 5.5.27

5. Web Browser: Google Chrome 34.0.1847.137

3.2 Impelementasi Antarmuka (Interface)

Pada sub-bab ini akan dijelaskan mengenai implementasi antar muka yang telah dirancang sebelumnya. Hasil perancangan antarmuka yang telah diimplementasikan adalah sebagai berikut:

Gambar 8. Antarmuka Crawling Tweet

Gambar 8. merupakan antarmuka Crawling Tweet yang diimplementasikan dalam sistem. Tab ini berfungsi untuk crawling data tweet dari akun resmi Samsung Indonesia, yang nantinya akan digunakan sebagai data testing untuk diklasifikasikan kedalam beberapa kategori sentimen.

Gambar 9. Antarmuka Training

Gambar 9. merupakan antarmuka training yang berfungsi untuk membuat model probabilitas dari data training yang telah disediakan di dalam

(36)

Gambar 10. Antarmuka Preprocessing

Gambar 10. merupakan antarmuka

preprocessing yang berfungsi untuk menampilkan hasil dari setiap preprocessing data testing sebelum data tersebut di klasfikasi, seperti normalisasi fitur,

casefolding, hapus stopword, convert emoticon,

convert negasi, dan tokenisasi.

Gambar 11. Antarmuka Hasil Testing

Gambar 11. merupakan antarmuka hasil testing atau hasil klasifikasi data testing, klasifikasi sentimen dari setiap tweet pada data testing didapat dari perhitungan naïve bayes yang sebelumnya telah melalui tahap preprocessing.

Gambar 12. Antarmuka Cross Validation

Gambar 12. merupakan antarmuka cross validation yang berfungsi untuk menguji performa klasifikasi dari sistem yang di bangun . Performa

klasifikasi dapat dilihat dari hasil perhitungan akurasi dengan metode cross validation.

3.3 Pengujian Akurasi Sistem dengan Metode 10-fold cross validation

Jumlah data memegang peranan penting di dalam algoritma machine learning. Jumlah data yang sedikit (<100 instance) mungkin membuat algoritma machine learning tidak akurat. Algoritma

machine learning merekomendasikan jumlah instance yang banyak (>1000 instance) namun data itu sendiri tidak mudah untuk diperoleh.

K-fold cross validation adalah teknik yang dapat digunakan apabila memiliki jumlah data yang terbatas (jumlah instance tidak banyak) [12]. 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 n-fold 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[13].

Skenario pengujian merupakan tahap penentuan pengujian yang dilakukan. Pengujian dilakukan menggunakan metode k-cross validation

dengan nilai k sebanyak 10 fold, pengujian ini bertujuan untuk mengetahui akurasi metode naïve bayes classifier yang diterapkan pada analisis sentimen jika diuji dengan data training dan data testing yang berbeda . Penggunaan 10 fold ini dianjurkan karena merupakan jumlah fold terbaik untuk uji validitas[13]. Tahap pengujian dengan menggunakan metode 10-fold cross validation

membagi dataset yang awalnya berjumlah 1500 data akan dibagi menjadi 10 subset(bagian) masing-masing subset berjumlah 150 data. Pada fold

pertama terdapat kombinasi 9 subset yang berbeda digabung dan digunakan sebagai data training, sedangkan 1 subset (sisa) digunakan sebagai data testing, selanjutnya proses training dan testing dilakukan sampai fold kesepuluh. Skenario uji akurasi dengan metode 10-fold cross validation

(37)

Tabel 2. Skenario Uji Stabilitas dengan 10-fold crossvalidation

3.4 Hasil dan Analisis Pengujian

Pada skenario uji dengan jumlah 10-fold cross validation dan iterasi yang dilakukan sebanyak 10 kali iterasi rata-rata yang dihasilkan yaitu 98.87%. Iterasi pertama pada fold pertama menggunakan 1350 data gabungan dari subset ke-2sampai subset ke-9 sisanya yaitu 150 data yang digunakan sebagai data testing pada subset pertama, proses training dan proses testing dilakukan sampai iterasi ke-10. Detail hasil dari akurasi pengujian skenario pada masing-masing foldnya dapat dilihat pada Tabel 3.

Tabel 3. Hasil Uji Stabilitas dengan 10-fold cross validation

Fold

Data

Training Testing Data Akurasi

1 1350 150 100 %

Tabel 3. mengindikasikan bahwa nilai akurasi pada tiap fold sudah sangat stabil. Percobaan pada

fold ke-8 memperlihatkan hasil yang paling rendah diantara 9 fold lainnya yaitu ≈ 93.33%, sedangkan

fold sisanya menghasilkan akurasi yang lebih besar dengan aurasi paling tinggi ada pada fold 1, 2, 3, 5, 7, dan 10. Jika dianalisis performa klasifikasi dengan

Naïve Bayes yang dihasilkan sudah bisa dikatakan akurat, serta kinerja model klasifikasi sudah bisa dikatakan baik dengan melihat rata-rata akurasi dari setiap fold yang cukup besar yaitu ≈98.87% pada

10 fold cross validation dengan data training yang digunakan sebanyak 1350 data, karena secara umum semakin besar data training maka akan semakin baik kinerja model klasifikasi suatu sistem [15].

4. PENUTUP 4.1Kesimpulan

Dari proses pengujian dan analisis yang telah dilakukan, kesimpulan yang dapat diambil antara lain:

1. Metode Naïve Bayes Classifier dapat diterapkan dengan baik pada analisis sentimen dalam mengklasifikasikan sentimen positif dan negatif, hal ini bisa dilihat dari akurasi yang didapatkan cukup tinggi dengan menggunakan pengujian 10-fold cross validation.

2. Jika suatu data tweet tidak terdapat di dalam data training, maka data tweet tersebut tidak dapat diklasifikasikan ,karena peluang untuk data tweet diklasifikasikan kedalam suatu kelas adalah sama untuk setiap kelas yang ada. 3. Dalam proses pengujian dengan 1500 data dan

menggunakan metode 10-fold cross validation, waktu komputasi cukup lambat dengan waktu roses 220 detik. Hal ini disebabkan oleh proses data training yang berkali-kali dengan jumlah data yang sangat besar serta penggunaan bahasa pemograman PHP (Hypertext Prepocessor) yang mempunyai kelemahan lambat dalam hal komputasi perhitungan.

(38)

4.2Saran

Dari hasil pengujian , analisis dan kesimpulan yang telah dirumuskan, terdapat beberapa hal yang disarankan untuk penelitian selanjutnya, saran tersebut diantaranya:

1. Pada proses analisis sentimen bisa digunakan metode selain Naïve Bayes Classifier seperti Suport Vektor Machine (SVM) sebagai metode untuk mengklasifikasikan sentimen kedalam beberapa kategori guna melakukan perbandingan akurasi untuk mengetahui metode mana yang lebih baik sebagai implementasi dari analisis sentimen.

2. Penelitian selanjutnya diharapkan data tweet

yang tidak bisa diklasifikasikan kedalam kelas yang sudah ditentukan dapat dianalisis lebih lanjut misalnya menyimpan data tersebut untuk dijadikan data traning dan dilakukan proses training kembali atau ditambahkan kedalam list

stopword jika memang terdapat kata baru yang tidak mempunyai pengaruh penting untuk klasifikasi.

3. Penelitian selanjutnya diharapkan dapat menganalisis kembali bahasa pemograman yang digunakan untuk mengimplementasikan analisis sentimen agar lebih cepat dalam hal waktu dan lebih optimal .

4. Analisis sentimen pada penelitian ini belum memperhatikan semantik yaitu makna kata dan kalimat. Penelitian selanjutnya diharapkan dapat menggunakan makna kata dan kalimat untuk menentukan kategori sentimen pada suatu dokumen agar mendapatkan hasil yang lebih baik.

DAFTAR PUSTAKA

[1] M. L. Khodra, "kur2003.if.itb.ac.id," [Online]. Available: http://kur2003. if.itb.ac.id/. [Accessed 11 Mei 2014]. [2] L. Pakhpahan, "Social Media Untuk

Promosi Bisnis," [Online]. Pengaruh Promosi melalui Media Sosial," 2013. [Online].Available

:http://repository.usu.ac.id/bitstream/

123456789/37140/5/Chapter%20I.pdf. [Accessed 22 March 2014].

[4] I. Sunni and D. H. Widyantoro, "Analisis Sentimen dan Ekstraksi Topik Penentu Sentimen pada Opini Terhdap Tokoh Publik," Jurnal Sarjana Institut Teknologi Bandung Bidang Elektro dan Informatika, vol. 1, pp. 200 - 206, 2012.

[5] J. D. M. Rennie, L. Shih, J. Teevan and D. R. Karger, "Tackling the Poor Assumptions of Naive BAyes Text

Classifiers," in Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003), Washington DC, 2003.

[6] S. Dharma, "Pendekatan, Jenis, dan Metode Penelitian Pendidikan," Kompetensi Penelitian dan Pengembangan, pp. 19-46, 2008.

[7] I. Sommerville, Software Engeneering, United States of America: Addision Wesley, 2011.

[8] I. H. Wltten, "Text Mining," in Computer Science, University of Waikato, Hamilton, New Zealand, 2003.

[9] M. Lan, "A New Term Weighting Method for Text Categorization," National University of Singapore, 2006.

[10] A. Nurfalah, "Analisis Sentimen Pada Opini Berbahasa Indonesia Menggunakan

(39)

[11] T. M. Mitchell, Machine Learning, McGraw-Hill Science/Engineering/Math, 2005.

[12] D.Anggraeni,http://lontar.ui.ac.id/,

[Online].Available: http://lontar.ui.ac.id/file

?file=digital/123561-SK-739-Klasifikasi%20 topik-Analisis.pdf. [Accessed 18 Juni 2014]. [13] R. Kohavi, "A study of Cross-Validation and

Bootstrap for Accuracy Estimation and Model

Selection,"1995.[Online].Available:

http://frostiebek.free.fr/docs/Machine%20

Learning/validation-1.pdf. [Accessed 23 June 2014].

[14] A. Haryono and A. Kustiyo, "Identifikasi Daun Tanaman Jati Menggunakan Jaringan Syaraf Tiruan Backpropagation dengan Ekstraksi Fitur Ciri Morfologi Daun".

[15] H.Murfi,"http://ocw.ui.ac.id/,"[Online].Avail able:

(40)
(41)

Gambar

Gambar 3. 1 Gambaran Sistem
Gambar 3. 7 Tahapan Preprocessing
Gambar 3.8.
Gambar 3. 9 Case Folding
+7

Referensi

Dokumen terkait

Berdasarkan permasalahan yang ada, maka maksud dari penelitian yang dilakukan adalah menerapkan metode Naive Bayes untuk mengklasifikasikan kalimat sentimen ke

Metode yang digunakan dalam penelitian ini yaitu metode Naive bayes dengan Tools RapidMiner untuk pengklasifikasian sentimen opini positif atau negatif terhadap

Adapun tujuan dalam melakukan penelitian ini yaitu menghasilkan sistem yang dapat mengklasifikasikan sentimen positif dan sentimen negatif pada survei kepuasan

Pada penelitian ini dibuat sistem dengan tujuan untuk menghasilkan informasi sentimen mengenai opini masyarakat terhadap Toko Online Lazada dan Tokopedia yang

Data training dengan prosentase kebenaran 100% digunakan pada sistem analisis sentimen sebagai data training dan data testing berupa data tweet dari responden pada

Hasil dari analisis sentimen dengan menggunakan Naive Bayes Classifier untuk mengklasifikasikan data tweet film “Parasite” dan “Parasitemovie” didapatkan dua sentimen yaitu sentimen

Berdasarkan hasil penelitian yang dilakukan pada sentimen analisis MBKM, penelitian ini menghasilkan akurasi sebesar 86%, presisi sebesar 87% dan recall sebesar 80% dengan data testing

Ada beberapa metode yang digunakan untuk melakukan analisis sentiment, Salah satunya dengan metode Naïve Bayes Classifier Berdasarkan Hasil pengujian algoritma Naive Classifier yang