• Tidak ada hasil yang ditemukan

BAB III METODE PENELITIAN

3.3 Metode Pengumpulan Data

Pada penelitian ini, pengumpulan data dilakukan dengan cara melakukan crawling data untuk mengambil tweets berbahasa indonesia tentang topik terkait melalui fasilitas searching yang disediakan oleh twitter dengan memanfaatkan API Twitter menggunakan tools Rapidminer.

3.4 Teknik Analisis Data

Data mentah yang telah diperoleh kemudian masuk ke tahapan preprocessing, dimana data tersebut akan melewati proses convert emoticon, cleansing, case folding, tokenizing, filtering, serta stemming untuk membersihkan data tersebut dari data yang tidak diperlukan atau tidak dibutuhkan sehingga dapat mengurangi resiko data noise yang tinggi.

3.5 Metode yang Diusulkan

Dalam penilitian ini penulis mengusulkan skema penelitian yang dilakukan sebagai berikut:

Pengumpulan Data

 Crawling

Preprocessing

Convert Emoticon

Cleansing

Case Folding

Token iz e

Filterin g

Stemming

Klasifikasi

Naive Bayes Classification (NBC)

Pengujian dan Evaluasi

 Recall

 Precission

 Accuracy

 Preference Value

Gambar 3.1 Skema Penelitian

Dari skema penelitian tersebut penulis akan menjelaskan langkah-langkah proses crawling sampai dengan preference value diantaranya:

1. Pengumpulan data

Merupakan proses pengambilan data khususnya di twitter dengan cara crawling data menggunakan API Key yang telah disediakan oleh twitter, data diambil melalui Rapid Miner dan mendapatkan sebanyak 5000 data.

2. Preprocessing data

Pada proses preprocessing data penulis menggunakan tahapan proses preprocessing sebagai berikut:

a. Convert Emoticon

Mengkonversi emoticon ke sebuah kata sehingga dapat dikenali dan dapat diklasifikasi sehingga menghasilkan suatu yang bernilai sentimen.

b. Cleansing

Merupakan sebuah proses membersihkan kata-kata yang tidak diperlukan atau digunakan dalam penelitian ini.

c. Case Folding

Proses dimana semua data disama ratakan menjadi huruf kecil maupun huruf besar.

d. Tokenize

Proses dimana data yang masih berupa kalimat dipecah menjadi kata tunggal.

e. Filtering

Proses menghilangkan kata yang tidak mendeskripsikan sesuatu.

f. Stemming

Proses transformasi kata yang berimbuhan ke kata dasar.

3.5.1 Pengumpulan Data

Data yang digunakan dalam penelitian ini diambil dari jejaring sosial twitter. Pengambilan data dengan memanfaatkan tools Rapid Miner menggunakan operator Search Twtitter yang dihubungkan dengan API pencarian twitter dengan mendapatkan kode token API twitter yang berhubungan dengan topik terkait Calon Gubernur Jawa Barat Periode 2018 dengan menggunakan kata kunci akun twitter “@ridwankamil”. Di dalam satu data tweet memiliki maksimal 140 karakter. Setiap kali request pengambilan data API twitter akan memberikan sampel tweet secara acak sebanyak jangka waktu seminggu kebelakang. Kita bisa menentukan batas maksimal data yang kita inginkan. Namun data yang diberikan hanya sebatas berapa banyak tweet dengan kata kunci terkait dalam jangka waktu satu minggu sebelum tanggal pencarian. Sedangkan untuks seleksi bahasa digunakan library bawaan twitter (lang =’in’) yang merupakan code untuk teks bahasa indonesia. Berikut data twitter yang telah diambil oleh penulis sebanyak 5000 sampel data:

Gambar 3.2 Data Utuh

Dari data utuh yang terkumpul kemudian akan dipiliah dan nantinya yang akan digunakan adalah data pada kolom text yang berisi tweets dari berbagai user dengan topik mengenai akun @ridwankamil. Berikut contoh tweets yang berhasil diperoleh.

Gambar 3.3 Data Tweets

3.5.2 Preprocessing

Ada enam tahapan yang peneliti gunakan dalam melakukan preprocessing data diantaranya akan dijelaskan pada gambar 3.3 diantaranya adalah:

Start

Multiple Document

Pre-Processing

Cleansing

Case Folding

Tokenize

Filtering (Stopword Removal)

Stemming

Ready for mining

Wordlist

Stem list Algorithm

Convert Emoticon

Gambar 3.4 Proses Preprocessing Data

3.5.2.1 Convert Emoticon

Convert emoticon pada tahap preprocessing data adalah mengganti karakter spesial dengan kata yang dikenali, adapun emoticon yang penulis convert kedalam penelitian ini adalah:

Tabel 3.3 Convert Emoticon

Emoticon Konversi to String

>:] :-) :) :o) :] :3 :c) :> =] 8) =) :} :^) senang

>:D :-D 8-D 8D x-D xD x-D XD =-D =D =-3 =3 ketawa

>:\ >:/ :-/ :-. :/ :\ =\ =/ :S kesal

>:[ :-( :( :-c :c :-< :< :-[ :[ :{ >.> <.< >.< sedih

3.5.2.2 Cleansing

Cleansing yaitu proses pembersihan dokumen dari kata yang tidak diperlukan untuk mengurangi data noise, kata yang dihilangkan adalah krakter HTML, kata kunci, hashtag (#), RT, username (@username), url (http://situs.com/) dan email ([email protected]) berikut adalah hasil dari proses cleansing yang penulis lakukan:

Gambar 3.5 Proses Cleansing

3.5.2.3 Case Folding

Case folding adalah proses penyeragaman bentuk huruf, penghapusan angka serta tanda baca. Pada kata lain data yang digunakan dalam penelitian ini hanya berupa karakter huruf ‘a’ sampai ‘z’ berikut adalah data twitter yang telah dilakukan case folding:

Tabel 3.4 Proses Case Folding

Kondisi Aksi

Regol Lengkong dalam rangka Agustusan sekaligus perpisahan sebagai walikota Bandung

bermain bersama warga regol lengkong dalam rangka agustusan sekaligus perpisahan sebagai Tahun Republik Indonesia ke yang diselenggarakan

oleh Panhut RI

Kepemudaan

keceriaan ditengah perlombaan di hari ulang tahun republik indonesia ke yang diselenggarakan

oleh panhut ri

kepemudaan Anak-anak di pengungsian

Lombok dirawat

kegembiraannya oleh beragam relawan termasuk relawan Bandung dan Marinir. Dan anak

anak-anak di pengungsian

lombok dirawat

kegembiraannya oleh beragam relawan termasuk relawan bandung dan marinir. dan anak

3.5.2.4 Tokenize

Yaitu proses dimana dokumen teks dipecah menjadi sebuah kata. Adapun contoh dari pemecahan dokumen teks yang penulis lakukan sebagai berikut:

Tabel 3.5 Proses Tokenize

Text Tokenize

keceriaan ditengah perlombaan di hari ulang keceriaan tahun republik Indonesia ke yang ditengah diselenggarakan oleh Kepemudaan perlombaan

dihari

Stopword Removal, yaitu proses penghilangan kata yang tidak mendeskripsikan sesuatu dalam Bahasa Indonesia seperti “di”, “ke”, “dari”,

“yang”, “sedang”, “ini”, dan lain sebagainya. Namun didalam text classification keberadaan kata seperti “tidak”, “bukan”, “tanpa” tidak begitu penting sehingga kata ini biasanya tidak ikut dihilangkan.

Berikut contoh kata dalam Bahasa Indonesia yang masuk dalam stopword list menurut KBBI (Kamus Besar Bahasa Indonesia):

Tabel 3.6 Stopword Removal

Yaitu proses penghilangan imbuhan yang masih melekat sehingga diperoleh sebuah kata dasar, contoh: “membaca”, “dibaca”, “dibacakan” akan dikonversi menjadi kata dasar (stem) “baca”. Dalam proses ini terdapat 5 aturan yaitu:

1. Menghilangkan partikel (-lah, -kah, -tah, dan -pun).

2. Menghilangkan kata ganti kepemilikan (-ku, -mu, dan -nya) . 3. Menghilangkan awalan tingkat pertama (meng-, di-, ter-, dan ke-).

4. Menghilangkan awalan tingkat kedua (per-, dan ber-).

5. Menghilangkan akhiran (-i, -kan, dan -an).

Berikut ini adalah contoh daftar kata dasar dalam Bahasa Indonesia menurut KBBI (Kamus Besar Bahasa Indonesia):

Tabel 3.7 Stemming

Dalam penelitian ini untuk proses stemming akan dilakukan dengan memanfaatkan library “Sastrawi” yang mana library ini memang dikhususkan untuk proses stemming dokumen teks Berbahasa Indonesia.

3.5.3 Klasifikasi

Sebuah dokumen haruslah dapat diklasifikasikan kedalam kelas yang tepat. Proses klasifikasi ini meliputi dua tahapan. Pertama, sebuah model dibuat dengan menggambarkan sekumpulan kelas data atau konsep dari sebuah populasi data yang sudah ditentukan sebelumnya. Model ini dibuat dengan menganalisa data training yang dideskripsikan berdasarkan atribut yang dimilikinya. Setiap tupel diasumsikan dimiliki oleh kelas yang sudah didefinisikan, yang ditentukan dengan sebuah atribut, yang disebut class label attribute.

Tahapan kedua adalah pengujian model terhadap data untuk mengukur tingkat akurasi model atau performanya didalam mengklasifikasikan data testing.

Setelah semuanya diukur, pengambilan keputusan dapat ditentukan untuk menggunakan model tersebut atau mengulangi proses pembentukan model menggunakan data training.

3.5.3.1 Naive Bayes Classification

Naive Bayes Clasifier pada penelitian kali ini bertujuan untuk menghitung probabilitas bersyarat pada tiap atribut(kata) tiap kelas. Tahapan- tahapan yang dilakukan pada proses klasifikasi adalah pertama bag of words bertujuan untuk mengumpulkan kata yang ada pada setiap tweet berdasarkan frekwensi kemunculan di tweet tersebut. Kata yang sudah diklasifikasi menjadi 3 jenis klasifikasi positif, negatif dan netral. Adapun tahapan naive bayes digambarkan dengan flowchart sebagai berikut:

Text Preprocessing Data latih

Data Bersih

NBC

Positif Negatif

Gambar 3.6 Flowchart NBC.

Dari gambar diagram alur diatas dapat dijelaskan sebagai berikut:

1. Data latih yaitu data yang didapat dari proses crawling data. data tersebut masih bersifat data default sehingga belum dapat langsung dilakukan klasifikasi.

2. Text preprocessing dimana data latih diolah melalui proses-proses seperti convert emoticon, cleansing, case foldeing, tokenize, filetering, stopword removal dan stemming. Sehingga data kemungkinan noise akan semakin berukurang.

3. Data bersih adalah data yang sudah di proses sehingga dapat di klasifikasikan menggunakan metode NBC.

4. NBC suatu metode klasifikasi untuk mendapatkan respon masyarakat pengguna twitter dan menghasilkan tiga klasifikasi yang penulis teliti yaitu respon positif, negatif dan netral.

3.6 Pendukung Penelitian

Untuk melakukan tahapan proses sentiment analysis di perlukan adanya perangkat pendukung, diantaranya:

3.6.1 Hardware

Dalam penelitian ini spesifikasi hardware yang penulis gunakan adalah sebagai berikut:

Connection : Internet Access

3.6.2 Software

Untuk spesifikasi software yang digunakan pada penilitian ini dibagi menjadi 2 kategori:

Tabel 3.9 Spesifikasi Software

Kategori OS Tools

Data

Windows 10 32 bit

R GUI

Crawling and Microsoft Excel 2010

Modeling

Data

Berikut adalah susunan jadwal penelitian dari pencarian dan pemilihan objek sampai dengan penyerahan naskah publikasi penelitian.

Tabel 3.10 Jadwal Penelitian

No. Kegiatan

Bulan Pelaksanaan tahun 2018

Juli Agustus September Oktober November 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

asi sampai dengan

12. Sidang Akhir Skripsi

13.

Penyempurnaan

Naskah Akhir Skrispi

14.

Penggandaan Naskah

Akhir Skripsi dan Paper

15.

Pembuatan CD berisi

Naskah Akhir Skripsi,

Paper, dan Slide

Presentasi

16.

Penyerahan Naskah

Akhir Skripsi, Paper dan CD

BAB IV

HASIL DAN PEMBAHASAN

4.1 Klasifikasi data dengan Naive Bayes Classifier

Hasil dari data yang telah di proses melalui preprocessing data kemudian akan dilakukan klasifikasi data yang berupa klasifikasi sentimen dengan data acuan kata positif dan kata negatif dengan algoritma naive bayes.

4.1.1 Penentuan Data

Menentukan data untuk dilakukan klasifikasi menggunakan naive bayes sebagai berikut:

a) Data sampel : 5000 tweet b) Data latih : 795 data c) Data uji : 795 data 4.1.2 Kelas Positif dan Negatif

Kelas-kelas untuk melakukan klasifikasi data dengan acuan kata positif dan kata negatif sebagai berikut:

Tabel 4.1 Kelas negatif

. . 2265 tidak berkelanjutan 2266 tidak berperasaan

2267 tidak bertanggung jawab 2268 tidak bijaksana

4.1.3 Klasifikasi Data Training Kelas Positif

Berikut adalah klasifikasi data training dengan acuan kelas positif:

1. Penentuan Sampel data.

P(A|Sample) : sampel data yang belum diketahui kelas labelnya.

Tabel 4.3 Sample Data P(A|Sample).

2. Menghitung probabilitas kelas positif

Menghitung probabilitas dan menentukan kelas-kelas positif dari data yang belum diketahui kelasnya.

P(B|Ps) :Kelas label positif.

P(A|B) :Probabilitas terjadinya A|Sample jika B|Ps diketahui, peluang A bergantung dari nilai B.

P(B|A) :Probabilitas terjadinya B|Ps jika A|Sample diketahui, peluang B tergantung dengan peluang data sampel A

P(A) :Probabilitas A merupakan probabilitas dari total data A|Sample.

P(B) :Probabilitas B merupakan probabilitas dari total data B|Ps.

Tabel 4.4 Probabilitas kelas label positif

3. Total probabilitas dari kelas label positif

Tabel 4.5 Total probabilitas kelas label positif

No. POSITIF Total Probabilitas Kelas Label Positif 1 0,002515723

2 0

3 0,001257862 4 0

5 0,001257862 6 0,001257862

. .

. .

792 0

793 0,001257862 794 0

795 0,001257862

4.1.4 Klasifikasi Data Training Kelas Negatif

Berikut adalah klasifikasi data training dengan acuan dari kelas negatif : 1. Penentuan Sampel data.

P(A|Sample) : sampel data yang belum diketahui kelas labelnya.

Tabel 4.6 Sample Data P(A|Sample).

2. Menghitung probabilitas kelas negatif

Menghitung probabilitas dan menentukan kelas-kelas positif dari data yang belum diketahui kelasnya.

P(B|Ne) :Kelas label positif.

P(A|B) :Probabilitas terjadinya A|Sample jika B|Ne diketahui, peluang A bergantung dari nilai B.

P(B|A) :Probabilitas terjadinya B|Ne jika A|Sample diketahui, peluang B tergantung dengan peluang data sampel A.

P(A) :Probabilitas A merupakan probabilitas dari total data A|Sample.

P(B) :Probabilitas B merupakan probabilitas dari total data B|Ne.

Tabel 4.7 Probabilitas kelas label negatif

3. Total probabilitas kelas negatif.

Tabel 4.8 Total probabilitas kelas label negatif

No Negatif

Total Probabilitas Kelas Label Negatif

1 0,00754717

2 0

3 0,001257862 4 0,001257862

5 0

6 0

. .

. .

792 0

793 0,001257862 794 0

795 0

796 0,001257862

4.1.5 Hasil Klasifikasi

Telah dilakukan klasifikasi dengan acuan kata positif dan negatif dan mendapatkan nilai probabilitas, berikut adalah sentimen akhir dari nilai probabilitas negatif dan probabilitas positif.

Tabel 4.9 Sentiment Class Prediction

4.2 Skenario Pengujian dan Implementasi.

Pengujian dilakukan dengan perbandingan data training dan data latih 25%, 50%, 75% dan 100 % masing-masing data akan dihitung accuracy, recall dan precission Pada penelitian ini menggunakan persamaan untuk menghitung akurasi. Akurasi bertujuan untuk mengetahui performansi parameter akurasi dari klasifikasi yang dibangun. Berikut adalah proses implementasi dengan rapidminer:

Gambar 4.1 Proses Implementasi

Gambar 4.2 Preprocessing data

Gambar 4.3 Proses Klasifikasi

Untuk mendapatkan akurasi dari akun twitter gubernur jawa barat Ridwan Kamil, berikut adalah skenario yang dilakukan peneliti untuk mengetahui tingkat akurasi, recall dan precission:

4.2.1 Seleksi Data Fitur Persentase 25%

Hasil skenario pengujian tahap pertama dengan data persentase 25%

ditunjukan pada gambar:

Gambar 4.4 Persentase 25%.

Dari gambar diatas dengan data persentase sebanyak 25% dari data latih maka didapatkan nilai akurasi sebesar 79.29%, nilai precision 88,89% dan recall sebesar 86,92%.

4.2.2 Seleksi Data Fitur Persentase 50%

Hasil skenario pengujian tahap kedua dengan data persentase 50%

ditunjukan pada gambar:

Gambar 4.5 Persentase 50%.

Dari gambar diatas dengan data persentase sebanyak 50% dari data latih maka didapatkan nilai akurasi sebesar 83.08%, nilai precision 91% dan recall sebesar 89.65%.

4.2.3 Seleksi Data Fitur Persentase 75%

Hasil skenario pengujian tahap kedua dengan data persentase 75%

ditunjukan pada gambar:

Gambar 4.6 Persentase 75%.

Dari gambar diatas dengan data persentase sebanyak 75% dari data latih maka didapatkan nilai akurasi sebesar 83.08%, nilai precision 91.28% dan recall sebesar 89.25%.

4.2.4 Seleksi Data Fitur Persentase 100%

Hasil skenario pengujian tahap kedua dengan data persentase 100%

ditunjukan pada gambar:

Gambar 4.7 Persentase 100%.

Dari gambar diatas dengan data persentase sebanyak 100% dari data latih maka didapatkan nilai akurasi sebesar 84.38%, nilai precission 92.16% dan recall sebesar 90.05%.

4.3 Analisis Pengujian Akurasi

Dari pengujian akurasi, recall dan precission yang telah dilakukan, dapat dilihat hasil analisis pada tabel:

Tabel 4.10 Analisis pengujian akurasi.

PERSENTASE DATA

25% 50% 75% 100%

NILAI AKURASI Akurasi 79.29% 83.08% 83.08% 84.38%

Precision 88.89% 91% 91.28% 92.16%

Recall 86.92 89.65% 89.25% 90.05%

Jumlah nilai akurasi selalu berubah-ubah pada setiap persentase data latih perbedaan hasil akurasi disebabkan pada banyaknya data yang sudah diklasifikasi

menggunakan naive bayes classifier. Namun terdapat hasil nilai yang sama pada persentase 50% & 70% . persentase 25% merupakan nilai akurasi terendah dengan nilai akurasi sebesar 79.29% sedangkan akurasi tertinggi dimiliki persentase 100% dengan nilai akurasi sebesar 84.38% .

Dari pengujian ini dapat disimpulkan bahwa seleksi fitur tidak begitu berpengaruh terhadap hasil akurasi, hal ini dapat diketahui dari perbedaan nilai akurasi antara menggunakan seleksi fitur dan tidak, yang menghasilkan nilai akurasi yang tidak terlalu signifikan perbedaannya.

4.4 Preference Value

Tujuan dari preference value untuk mengetahui respon positif dari pengguna twitter, sehingga dapat dilihat respon positif dari gubernur jawa barat 2018. Jumlah data positif sebanyak 694 dan jumlah data negatif sebesar 101 dari total 795 data berikut adalah perhitungan preference value:

𝑃𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒 𝑉𝑎𝑙𝑢𝑒 = 694

694 + 101 ∗ 84.38% = 0,736600252

Dari perhitungan diatas maka dapat disimpulkan respon positif masyarakat kepada gubernur aktif Ridwan Kamil sebesar 74% .

BAB V KESIMPULAN

5.1 Kesimpulan

Berdasarkan perolehan hasil dari implementasi dan pengujian yang dilakukan maka penulis bisa menyimpulkan bahwa dalam menganalisis sentimen menggunakan metode Naive Bayes Classifier dapat digunakan untuk model klasifikasi berdasarkan tokoh publik yaitu gubernur jawa barat ridwan kamil dan menghitung nilai preference value , dengan akurasi sebesar 84.38% dan tingkat respon positif masyarakat sebesar 74%.

5.2 Saran

Berdasarkan penelitian diatas maka penulis memiliki saran untuk digunakan dalam penelitian selanjutnya bahwa preprocessing data sangat penting untuk menghasilkan nilai akurasi yang lebih tinggi, banyaknya data latih untuk mencari nilai akurasi sangat mempengaruhi besar kecilnya akurasi.

DAFTAR PUSTAKA

Zhao, Y., & Miner, S. D. (n.d.). Data Mining Applications with R Data Mining Applications with R.

Kent, M. L. 2013. Public Relations Review Using social media dialogically : Public relations role in reviving democracy. Public Relations Review, 39(4), 337–345. https://doi.org/10.1016/j.pubrev.2013.07.024

Taprial, V., & Kanwar, P. (n.d.). 2012. Understanding Social Media.. Ventus Publishing ApS.

Vijayarani, S., Ilamathi, M. J., & Nithya, M. (n.d.). Preprocessing Techniques for Text Mining - An Overview, 5(1), 7–16.

Ms. Nikita P.Katariya., Prof. M. S. 2015. TEXT PREPROCESSING FOR TEXT MINING USING SIDE INFORMATION, 3, 3–7.

Buntoro, A. Ghulam, 2017. Analisis Sentimen Calon Gubernur DKI Jakarta 2017 Di Twitter Analisis Sentimen Calon Gubernur DKI Jakarta 2017 Di Twitter.

Universitas Muhammadyah Ponorogo.

Mujilahwati, S. 2016. PRE-PROCESSING TEXT MINING PADA DATA TWITTER. Universitas Islam Lamongan. Lamongan. 18–19.

Ginting, H. S., Lhaksmana, K. M., & Murdiansyah, D. T. (2018). Klasifikasi Sentimen Terhadap Bakal Calon Gubernur Jawa Barat 2018 di Twitter Menggunakan Naive Bayes, 5(1), 1793–1802.

Charu, C. Aggarwal. 2015. Data Mining The Text Book. IBM T.J. Watson Research Center Yorktown Heights. New York USA.

Patil, T. R., & Sherekar, S. S. (2013). Performance Analysis of Naive Bayes and J48 Classification Algorithm for Data Classification, 6(2).

Abdul, A.M. 2015. Penerapan Algoritma TF-IDF Untuk Pencarian Karya Ilmiah.

Universitas Dian Nuswantoro. Semarang.

Rachmat, Antonius., Lukito, Yuan,. 2016. Klasifikasi Sentimen Komentar Politik dari Facebook Page Menggunakan Naive Bayes, Universitas Kristen Duta Wacana.

S. Kumar, F. Morstatter, and H. Liu,. 2014. Twitter Data Analytics.

A. Novantirani1, M.K. Sabariah, and V. Effendy,. 2015. “Analisis Sentimen pada Twitter untuk Mengenai Penggunaan Transportasi Umum Darat Dalam Kota dengan Metode Support Vector Machine”.

M.Y. Nur and D.D. Santika, “Analisis Sentimen pada Dokumen Berbahasa Indonesia dengan Pendekatan Support Vector Machine”. Konferensi Nasional Sistem dan Informatika, 2014.

Liu, B., 2012. Sentiment Analysis and Opinion Mining. San Rafael: Morgan

& Claypool Publishers.

Routray, P., Swain, C. K. & Mishra, S.P., 2013. A Survey on Sentiment Analysis.

International Journal of Computer Applications, Agustus, 70(10),

Dokumen terkait