• Tidak ada hasil yang ditemukan

ANALISIS SENTIMEN BERDASARKAN KOMENTAR P

N/A
N/A
Protected

Academic year: 2018

Membagikan "ANALISIS SENTIMEN BERDASARKAN KOMENTAR P"

Copied!
122
0
0

Teks penuh

(1)

HALAMAN JUDUL

LAPORAN PROYEK AKHIR

ANALISIS SENTIMEN BERDASARKAN

KOMENTAR PUBLIK TERHADAP TOKO

ONLINE DI SOSIAL MEDIA FACEBOOK

(STUDI KASUS : ZALORA DAN

BERRYBENKA)

Syahmia Gusriani NIM. 1257301057

Pembimbing

Kartina Diah Kusuma Wardhani, S.T., M.T. Muhammad Ihsan Zul, S.Pd., M.Eng.

PROGRAM STUDI SISTEM INFORMASI POLITEKNIK CALTEX RIAU

(2)

ABSTRAK

Maraknya penggunaan jejaring sosial seperti Facebook mendorong munculnya data tekstual yang tidak terbatas, sehingga muncul kebutuhan penyajian informasi tanpa mengurangi nilai dari informasi tersebut. Salah satu pemanfaatan data ini adalah untuk mengetahui opini atau sentimen publik terhadap pelayanan dan produk suatu toko online. Metodologi yang digunakan untuk melakukan analisis sentimen dimulai dari data collecting, preprocessing, feature selection, klasifikasi dan pengukuran akurasi. Metode klasifikasi naïve bayes, k-NN dan decision tree digunakan untuk membandingkan hasil prediksi klasifikasi yang terbaik. Hasil analisis pengujian menunjukkan naïve bayes memiliki kestabilan akurasi setelah diuji dengan nilai minimum support 0.036 pada Frequent Itemset. Naïve bayes memiliki rata-rata akurasi 90.1%.

(3)

ABSTRACT

The widespread use of social networks such as Facebook encourage the emergence of textual data that is infinite, so it appears the need of presenting information without reducing the value of the information. One of the utilization of this data is to find out the opinion or public sentiment to services and products an online store. The methodology used to perform sentiment analysis starts from the collecting data, preprocessing, feature selection, classification and measurement accuracy. Naïve bayes bayes classification method, k-NN and decision tree are used to compare the results of the classification best predictions. The results of the analysis shows naïve bayes test has an accuracy stability tested by minimum support value 0.036 in frequent itemset. Naïve bayes has an average accuracy of 90.1%.

(4)

KATA PENGANTAR

Segala puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan barokah-Nya sehingga penulis dapat menyelesaikan proyek akhir yang berjudul “ANALISIS SENTIMEN BERDASARKAN KOMENTAR PUBLIK TERHADAP TOKO ONLINE PADA SOSIAL MEDIA FACEBOOK (STUDY KASUS : ZALORA DAN BERRYBENKA)”. Proyek akhir ini disusun sebagai salah satu syarat untuk menyelesaikan jenjang pendidikan Diploma IV pada Program Studi Sistem Informasi Politeknik Caltex Riau.

Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak yang telah banyak memberikan bantuan dan dukungan yang tiada terhingga baik secara langsung maupun tidak langsung. Ucapan terima kasih tersebut penulis tujukan kepada: 1. Allah SWT atas rahmat dan karunia-Nya, sehingga penulis bisa

menyelesaikan tugas akhir ini tepat waktu.

2. Kedua orang tua penulis atas dukungan dan kasih sayang tak terhingga, sehingga penulis bisa menyelesaikan tugas akhir tepat waktu.

3. Ibu Kartina Diah Kusuma Wardhani, S.T., M.T. selaku pembimbing utama, dan Bapak Muhammad Ihsan Zul, S.Pd., M.Eng. selaku dosen pembimbing, yang telah memberikan ilmu dan bimbingan dengan penuh kesabaran kepada penulis dalam menyelesaikan proyek akhir.

4. Dr. Hendriko, S.T., M.Eng. selaku Direktur Politeknik Caltex Riau yang telah memberikan dukungan moral dalam menyelesaikan proyek akhir ini.

5. Bapak Bapak Wawan Yunanto, S.Kom., M.T.selaku Ketua Program Studi Sistem Informasi yang telah memberikan izin untuk menyelesaikan proyek akhir.

(5)

Penulis sangat menyadari sepenuhnya bahwa laporan proyek akhir ini masih jauh dari sempurna, oleh karena itu segala jenis kritik, saran dan masukan yang membangun sangat penulis harapkan agar dapat memberikan wawasan bagi pembaca dan yang paling utama penulis sendiri.

Pekanbaru, 15 Agustus 2016

(6)

DAFTAR ISI

HALAMAN JUDUL i

ABSTRAK ii

ABSTRACT iii

KATA PENGANTAR iv

DAFTAR ISI vi

DAFTAR GAMBAR viii

DAFTAR TABEL xii

BAB I PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 2

BAB II TINJAUAN PUSTAKA 4

2.1 Tinjauan Pustaka 4

2.1.1 Penelitian Terdahulu 4

2.2 Landasan Teori 6

2.2.1 Text Mining 6

2.2.2 Frequent Itemset 11

2.2.3 Sentimen, Opini dan Analisis Sentimen 13 2.2.4 Naïve Bayes Classifier 15

2.2.5 K-Nearest Neighbor 16

2.2.6 Decision Tree 17

2.2.7 Pengujian / Pengukuran Akurasi 18 2.2.8 Ms. Excel dan Power Query 21

BAB III PERANCANGAN 22

(7)

3.1.1 Sumber Data 23

3.1.2 Preprocessing 25

3.1.3 Metode Klasifikasi 32

3.1.4 Pengujian 42

BAB IV PENGUJIAN DAN ANALISIS 45

4.1 Implementasi 45

4.1.1 Data Latih 45

4.1.2 Punctuation and Number Filter 48 4.1.3 Case Folding and Filtering/Stopword Removal

49

4.1.4 Stemming 50

4.1.5 Convert Negation 51

4.1.6 Frequent Itemset 52

4.1.7 Klasifikasi k-NN dan Pengujian 56 4.1.8 Klasifikasi Naïve Bayes dan Pengujian 59 4.1.9 Klasifikasi Decision Tree dan Pengujian 61

4.2 Analisis 63

4.2.1 Analisis Sentimen Zalora dan Visualisasi Kata Sentimen 63

BAB V KESIMPULAN DAN SARAN 89

5.1 Kesimpulan 89

5.2 Saran 89

DAFTAR PUSTAKA 91

Lampiran A. Daftar Kecenderungan Sentimen Berdasarkan

SentimenWordNet A

(8)

DAFTAR GAMBAR

Gambar 1 Proses Text Mining (Even, Yair and Zohar, 2002) 7 Gambar 2 Ilustrasi Tahap Functuation & Number Filtering 8 Gambar 3 Ilustrasi Tahapan CaseFolding 8

Gambar 4 Stemming 10

Gambar 5 Prosedur 5-fold cross validation (Bramer, 2007) 19 Gambar 6 Alur Perancangan Analisis Sentimen 22 Gambar 7 Contoh Hasil Crawling Menggunakan Power Query 23 Gambar 8 Contoh Penggunaan Power Query Editor 23 Gambar 9 Hasil Percobaan Decision Tree 41 Gambar 10 Percobaan DecisionTree Menggunakan KNIME 41 Gambar 11 Data Komentar Sebelum Preprocessing 48 Gambar 12 Punctuation and Number Filter 48 Gambar 13 Hasil Punctuation and Number Filter 49 Gambar 14 Hasil Case Folding and Stopword Removal 49 Gambar 15 Case Folding and Stopword Removal 49 Gambar 16 Stemming Java Snippet 50 Gambar 17 Tampilan Code Pada Editor Java Snippet 50 Gambar 18 Hasil Stemming dengan Java Snippet 51 Gambar 19 Rangkaian Proses Convert Negation 51 Gambar 20 Hasil Convert Negation 52 Gambar 21 Proses Frequent Itemset 52

(9)

Gambar 23 Hasil GroupBy 54 Gambar 24 Tampilan hasil Document Vector 55 Gambar 25 Hasil Category to class 55

Gambar 26 Proses setelah FIM (1) 56

Gambar 27 Proses setelah FIM (2) 56

Gambar 28 Klasifikasi k-NN, k-Fold Cross Validation dan

Confusion Matrix 56

(10)

Gambar 44 Akurasi ConfusionMatrix Zalora Layanan 69 Gambar 45 Visualisasi Kata Sentimen Positif Zalora Layanan (FIM) 69 Gambar 46 Visualisasi Kata Sentimen Negatif Zalora Layanan (FIM) 70 Gambar 47 Visualisasi Kata Sentimen Negatif Zalora Layanan

(SentiWord) 70

Gambar 48 Visualisasi Kata Sentimen Positif Zalora Layanan

(SentiWord) 71

Gambar 49 Hasil ConfusionMatrix Zalora Layanan dan Produk 73 Gambar 50 Visualisasi Kata Sentimen Negatif Zalora Layanan dan

Produk (FIM) 74

Gambar 51 Visualisasi Kata Sentimen Positif Zalora Layanan dan

Produk (FIM) 74

Gambar 52 Visualisasi Kata Sentimen Negatif Zalora Layanan dan

Produk (SentiWord) 75

Gambar 53 Visualisasi Kata Sentimen Positif Zalora Layanan dan

Produk (SentiWord) 75

Gambar 54 Hasil ConfusionMatrix Berrybenka Produk 77 Gambar 55 Visualisasi Kata Sentimen Positif Berrybenka Produk

(FIM) 78

Gambar 56 Visualisasi Kata Sentimen Negatif Berrybenka Produk

(SentiWord) 79

Gambar 57 Visualisasi Kata Sentimen Positif Berrybenka Produk

(SentiWord) 79

Gambar 58 Visualisasi Kata Sentimen Negatif Berrybenka Produk

(FIM) 79

(11)

Gambar 60 Visualisasi Kata Sentimen Positif Berrybenka Layanan

(FIM) 82

Gambar 61 Visualisasi Kata Sentimen Negatif Berrybenka Layanan

(FIM) 83

Gambar 62 Visualisasi Kata Sentimen Negatif Berrybenka Layanan

(Sentiword) 83

Gambar 63 Hasil ConfusionMatrix Berrybenka Layanan dan Produk 85 Gambar 64 Visualisasi Kata Sentimen Positif Berrybenka Layanan

dan Produk (FIM) 86

Gambar 65 Visualisasi Kata Sentimen Negatif Berrybenka Layanan

dan Produk (SentiWord) 87

Gambar 66 Visualisasi Kata Sentimen Positif Berrybenka Layanan

dan Produk (FIM) 87

Gambar 67 Visualisasi Kata Sentimen Positif Berrybenka Layanan

dan Produk (SentiWord) 88

Gambar 68. Library yang dibutuhkan Java Snippet E Gambar 69Gambar 3.4 Percobaan Decision Tree Menggunakan

KNIME// Mulai proses stemming F

(12)

Table 1 Perbandingan Penelitian Terdahulu 5

Table 2 StopwordList 9

Table 3 Contoh Itemset/Basket 12

Table 4 Contoh Tabel ConfusionMatrix Prediksi Dua Kelas 20 Table 5 Contoh Komentar Data Training 24 Table 6 Data Komentar Toko Online 26 Table 7 Penerapan CaseFolding dan Tokenizing 27 Table 8 Contoh Penerapan Filtering 28 Table 9 Contoh Penerapan Stemming 29 Table 10 Contoh Penerapan Convert Negation 30

Table 11 Hasil Jumlah Kata 31

Table 12 Data Atribut 32

Table 13 Data Hasil Preprocessing 32

Table 14 Data Atribut 33

Table 15 Data Training Berdasarkan Atribut Data 34 Table 16 Hasil Training Model Probabilitas Dari Data Training 35

Table 17 Nilai Vmap 36

Table 18 Data Training Berdasarkan Atribut Data 37

Table 19 Hasil Perhitungan k-NN 38

Table 20 Hasil Klasifikasi Jarak Euclid 38 Table 21 Memilih Jarak Euclid Terdekat 38 Table 22 Perhitungan decision tree algrotima C4.5 39 Table 23 Tabel Skenario Uji Stabilitas dengan 5-fold cross

(13)

Table 24 Contoh hasil data aktual dan prediksi 43

Table 25 Tabel Confusion Matrix 44

(14)

BAB I

PENDAHULUAN 1.1 Latar Belakang

Belanja online merupakan proses membeli barang dan jasa dari pedagang yang dijual di internet. Konsumen dapat mengunjungi toko online dari rumah secara nyaman sambil duduk di depan komputer (Ling & Jusoh, 2012). Berdasarkan survey pembelian online secara global termasuk Indonesia, sebanyak 71% konsumen melakukan peninjauan terhadap toko online sebelum membeli produk. Sebanyak 43% setuju bahwa media sosial menjadi alat bantu untuk memenuhi kebutuhan pengetahuan berupa review produk dan ulasan forum, guna membantu membuat keputusan pembelian (Nielsen, 2014). Review produk maupun ulasan forum disampaikan melalui komentar di sosial media yang berisi keluhan, pujian atau pandangan terhadap produk atau jasa dari suatu toko online. Komentar tersebut mendeskripsikan tanggapan yang berbeda-beda dari setiap konsumen.

Komentar-komentar berupa teks tersebut dapat dikumpulkan dan diolah dengan analisis sentimen. Analisis sentimen mempelajari opini yang mengungkapkan atau mengekspresikan pandangan positif atau negatif (Liu, 2012). Opini yang dibutuhkan untuk melakukan analisis berasal dari komentar halaman fanpage toko online di Facebook. Facebook dipilih karena penggunanya saling berinteraksi secara massif, dimana total pengguna Facebook sebanyak 1,44 miliar dengan pengguna harian sebanyak 936 juta (CNBC, 22 April 2015).

(15)

memberikan pengetahuan baru berupa kecenderungan positif atau negatif dan sebagai alat bantu untuk mengetahui sentimen konsumen terhadap toko online yang dituju.

1.2 Rumusan Masalah

Perumusan masalah dalam pembuatan proyek akhir ini adalah “Bagaimana mengimplementasikan analisis sentimen untuk menentukan kecenderungan padangan publik terhadap toko online dengan membandingkan metode klasifikasi naïve bayes, k-NN dan decision tree?”

1.3 Batasan Masalah

Batasan masalah dalam pembuatan proyek akhir ini adalah: 1. Data teks komentar pelayanan dan kategori fashion diambil

dari halaman toko online Zalora dan BerryBenka pada Facebook dalam Bahasa Indonesia.

2. Data komentar merupakan komentar setahun terakhir, yaitu 2014 s/d 2015.

3. Crawling teks komentar menggunakan power query pada Ms Excel.

4. Pemilihan data training berdasarkan keyword dan keberadaan kata sentimen.

5. Pemrosesan text processing dan klasifikasi menggunakan tools miner.

1.4 Tujuan Penelitian

Adapun tujuan dari pembuatan proyek akhir ini adalah melakukan klasifikasi sentimen dengan membandingkan hasil perhitungan metode naïve bayes, k-NN dan decision tree berdasarkan komentar-komentar publik terhadap produk dan layanan suatu toko online dan mendapatkan metode klasifikasi terbaik.

1.5 Manfaat Penelitian

(16)

1. Sebagai referensi konsumen sebelum membeli produk / menggunakan layanan pada toko online.

2. Media alternatif bagi konsumen untuk memilih produk-produk yang berkualitas.

3. Referensi indikator kualitas produk dan layanan berdasarkan tanggapan konsumen bagi pemilik toko online.

4. Sebagai referensi penelitian dan menambah pengetahuan terkait analisis sentimen terhadap toko online di sosial media.

(17)

BAB II

TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka

1.5.1 Penelitian Terdahulu

Analisis sentimen dilakukan oleh Ismail Sunni (2012), dengan meneliti data twitter terkait opini terhadap tokoh publik. Topik pembicaraan mengenai tokoh politik menjadi domain penelitian. Metode yang digunakan adalah F3 (F3 is Factor Finder) untuk menangani model bahasa. Sedangkan naïve bayes classifier digunakan untuk melakukan analisis sentimen dengan menggunakan frequency based selection untuk mengurangi kesalahaan eja dari banyaknya word. Hasil analisis menyebutkan bahwa casefolding justru menurunkan hasil akurasi karena program menyamakan kata yang muncul sebagai kabar berita dan opini hasil dari pengguna Twitter.

Penelitian lain mengenai analisis sentimen dilakukan oleh Nur dan Santika (2011). Objek yang diteliti adalah dokumen-dokumen berbahasa Indonesia terkait merk telepon seluler. Penelitian ini bertujuan untuk mengetahui akurasi perbandingan dua klasifikasi yang digunakan dalam analisis. Penelitian analisis sentimen menggunakan pendekatan machine learning yang dikenal dengan Support Vector Machine (SVM) dan dikhususkan pada dokumen teks berbahasa Indonesia.

Pada tahun 2014, Ahmad Fathan juga melakukan penelitian analisis sentimen. Objek penelitiannya adalah tweet yang membicarakan tokoh publik dengan tujuan mengetahui suatu topik terkait tokoh publik atau kejadian yang menyebabkan sentimen publik turun. Nama tokoh publik yang dianalisis adalah tokoh publik dengan hasil survei tertinggi berdasarkan survei lembaga-lembaga kompeten di Indonesia. Naïve bayes classifier digunakan untuk memperoleh hasil klasifikasi dari sentimen terkait tokoh publik.

(18)

Table 1 Perbandingan Penelitian Terdahulu

Penelitian Merk telepon seluler; apple, blackberry,

(19)

2.2 Landasan Teori

1.5.2 Text Mining

Text mining adalah lintas disiplin ilmu yang mengacu pada pencarian informasi, data mining, machine learning, statistik, dan komputasi linguistik (Han dkk, 2012). Text mining juga dikenal dengan text data mining atau pencarian pengetahuan di basis data tekstual adalah proses yang semi otomatis melakukan ekstraksi dari pola data (Turban dkk, 2011).

Tipe pekerjaan text mining meliputi kategorisasi, text clustering, ekstraksi konsep/entitas, analisis sentimen, document summarization, dan entity-relation modeling (yaitu, hubungan pembelajaran antara entitas) (Han dkk, 2012). Sumber data yang digunakan pada text mining adalah kumpulan teks yang memiliki format yang tidak terstruktur atau minimal semi terstruktur. Tujuan dari text mining adalah untuk mendapatkan informasi yang berguna dari sekumpulan dokumen.

(20)

Gambar 1 Proses Text Mining (Even, Yair and Zohar, 2002) 1.5.2.1

Text

Sama halnya dengan permasalahan pada data mining, pada text mining data yang akan diolah jumlahnya sangat banyak, dimensi yang tinggi, data dan struktur yang terus berubah dan data noise. Perbedaan di antara keduanya adalah pada data yang digunakan. Pada data mining, data yang digunakan adalah structured data, sedangkan pada text mining, data yang digunakan text mining pada umumnya adalah unstructured data, atau minimal semistructured. Hal ini menyebabkan adanya tantangan tambahan pada text mining yaitu struktur text yang complex dan tidak lengkap, arti yang tidak jelas dan tidak standar, dan bahasa informal.

(21)

Gambar 2 Ilustrasi Tahap Functuation & Number Filtering

Gambar 3 Ilustrasi Tahapan CaseFolding dari halaman website Sentiwordnet. Bobot sentimen dapat dilihat pada Lampiran A.

1.5.2.2 Text Preprocessing

Preprocessing dilakukan untuk menghindari data yang kurang sempurna, gangguan pada data, dan data-data yang tidak konsisten (Hemalatha, dkk, 2012). Tahap preprocessing diperlukan untuk membersihkan data dari noise, menyeragamkan bentuk kata dan mengurangi volume kata. Agar pada tahap masuk ke dalam metode klasifikasi lebih optimal dalam perhitungannya. Tahap preprocessing pada penelitian ini diantaranya:

1. Punctuation and Number Filter

Punctuation dan number filter merupakan tahap menghapus tanda baca dan angka yang terdapat pada teks komentar. Tahap ini sangat diperlukan untuk mengurangi noise.

a. Case folding

Case

folding yaitu penyeragaman bentuk huruf menjadi lower case atau upper case serta penghapusan angka dan tanda baca. Dalam hal ini yang digunakan hanya huruf latin antara “a” sampai dengan “z” (Putranti, 2014).

@Lucu....keren!! Unik2 banget ini konsepnya.. suka

banget!

Lucu keren unik banget ini konsepnya suka banget

Lucu keren unik banget ini konsepnya suka banget

(22)

1.5.2.3 Text Transformation (Feature Generation)

Transformasi teks atau pembentukan atribut mengacu pada proses untuk mendapatkan representasi dokumen yang diharapkan. Pendekatan representasi dokumen yang lazim adalah bag of words (Yuliana, 2014). 1.5.2.4 Featured Selection

Tahap feature selection merupakan tahap lanjut dari pengurangan dimensi pada proses transformasi teks. Pada tahap feature selection terbagi atas :

a. Filtering

Filtering adalah proses untuk memilih kata-kata penting dari hasil tokenization. Filtering dilakukan dengan menggunakan algoritma stopword removal. Stopword removal digunakan untuk membuang kata-kata yang sering muncul dan bersifat umum, kurang menunjukan relevansinya dengan teks (Sentiaji, 2014). Membuang kata-kata yang sering muncul namun tidak memiliki pengaruh apapun terhadap ekstraksi sentimen. Misalnya “di”, “oleh”, “pada”, “sebuah”, “karena” dan lain sebagainya. Kata-kata yang akan dibuang didefenisikan dalam stopword list.

Table 2 StopwordList

b. Stemming

Stemming adalah tahap membuat kata yang berimbuhan kembali ke bentuk asalnya (Sentiaji, 2014). Atau dengan kata lain, stemming merupakan proses mencari akar kata dan menghilangkan imbuhan pada kata (Hidayatullah, 2014). Stemming bertujuan mengurangi variasi kata yang memiliki kata dasar sama.

Atau Di Oleh Karena

Saya Gue Min Dalam

Sih Aja Bagi Iya

Dengan Ke Lu Gaul

(23)

Gambar 4 Stemming

c. Convert Negation

Convert negation adalah proses mengganti negasi yang terdapat dalam komentar. Negasi adalah sesuatu yang dikenal dalam semua bahasa dan biasanya negasi digunakan untuk mengubah polaritas dari suatu pernyataan (Blanco dan Moldovan, 2011). Kata-kata yang bersifat negasi adalah keseluruhan teks. Tindakan yang lazim dilakukan pada tahap ini adalah operasi text mining, dan biasanya menggunakan teknik-teknik data mining (Yuliana, 2014). Untuk menentukan pola ini, proses text mining dikombinasikan dengan proses-proses data mining.

1.5.2.6 Interpretation / Evaluation

(24)

merupakan tahap akhir dari proses text mining dan akan melakukan ekstraksi informasi dari database berdasarkan seberapa sering suatu event terjadi, yaitu suatu peristiwa atau suatu set peristiwa (Moens dkk, 2013 ). Frequent itemset merupakan tahapan awal yang digunakan pada teknik Association Rules atau sering disebut market basket analysis, yang digunakan untuk menemukan relasi diantara himpunan item-item (event). Market basket analysis adalah analisis dari kebiasaan membeli customer dengan mencari asosiasi dan korelasi antara item-item berbeda yang diletakkan customer dalam keranjang belanjaannya.

Model data market basket sering digunakan untuk mendeskripsikan bentuk umum dari banyak hubungan diantara dua objek. Dengan kata lain, ada items dan juga ada baskets atau disebut juga “transaksi”. Setiap basket berisi satu set item (an itemset). Itemset yaitu himpunan dari item-item yang muncul bersama-sama. Setiap satu itemset yang muncul di banyak basket disebut “frequent”. Frequent itemset didefinisikan sebagai itemset dimana support-nya lebih besar atau sama dengan minsupport yang merupakan ambang yang diberikan oleh user.

(25)

Table 3 Contoh Itemset/Basket

1.

Tabel 3 merupakan contoh baskets yang berisi item-item yang berupa kata-kata. Diantara sets tunggal, secara jelas kata “cat” dan “dog” banyak muncul (frequent). “dog” muncul hampir pada semua basket kecuali (5), sehingga nilai supportnya adalah 7. Sementara itu, “cat” muncul kecuali No Itemset/basket

1 Cat, and, dog, bites

2 Yahoo, news, claims, a, cat, mates, with, a , dog, and, poduced, viable, offspring

3 Cat, killer, likely, is, a, big, dog

4 Proffesional, free, advice, on, dog, training, puppy, training

5 Cat, and, kitten, training, and, behavior

6 Dog, &, cat, provides, dog, training, in, eugene, oregon

7 Dog, and, cat, is, a slang term, used, by, police, officer, for, a, male-female, relationship

(26)

pada (4) dan (8), sehingga nilai supportnya adalah 6. Kata “and” juga muncul cukup sering pada (1), (2), (5), (7), dan (8), sehingga supportnya adalah 5. Kata “a” dan “training” muncul pada 3 sets, sementara “for” dan “is” masing-masing muncul dua kali. Selebihnya, tidak ada kata lain yang muncul lebih dari dua kali. Jika ditentukan ambang supportnya adalah s = 3. Itu berarti ada lima itemset tunggal yang sering muncul yaitu, dog,cat, and,a, dan training.

1.5.4 Sentimen, Opini dan Analisis Sentimen

1.5.4.1 Sentimen

Menurut Kamus Besar Bahasa Indonesia (KBBI), sentimen berarti pendapat atau pandangan yang didasarkan pada perasaan yang berlebih-lebihan terhadap sesuatu. Sedangkan menurut Merriam-Webster’s Online Dictionary, sentimen menunjukkan pendapat tetap(terus menerus) yang merefleksikan / mencerminkan perasaan seseorang.

1.5.4.2 Opini

Opini dan konsep terkait seperti sentimen, evaluasi, tingkah laku, dan emosi merupakan subjek studi dari analisis sentimen dan opinion mining (Bing Liu, 2012). Opini atau pendapat merupakan pusat hampir semua aktivitas manusia dan menjadi pengaruh utama dari perilaku. Persepsi terhadap realitas untuk mengevaluasi objek disekitar.

Defenisi Opini menurut Hajmohammadi dkk dalam jurnal Opinion Mining and Sentiment Analysis: A Survey pada tahun 2012, yaitu:

(27)

2. Keyakinan atau pandangan dari sejumlah besar atau mayoritas orang-orang tentang hal tertentu.

Secara umum, opini mengacu pada apa yang orang pikirkan tentang sesuatu. Dengan kata lain, opini adalah keyakinan subjektif, dan merupakan hasil emosi atau interpretasi fakta.

1.5.4.3 Analisis Sentimen

Analisis sentimen disebut juga opinion mining, adalah bidang ilmu yang menganalisa pendapat, sentimen, evaluasi, penilaian, sikap dan emosi publik terhadap entitas seperti produk, jasa, organisasi, individu, masalah, peristiwa, topik, dan atribut mereka (Bing Liu, 2012). Analisis sentimen berfokus pada opini-opini yang mengekspresikan atau mengungkapkan sentimen positif atau negatif.

Secara umum analisis sentimen yang telah diteliti memiliki tiga tingkat (level), yaitu:

1. Level dokumen: mengklasifikasikan apakah seluruh dokumen opini mengungkapkan sentimen positif atau negatif. Analisis mengasumsikan bahwa setiap dokumen mengungkapkan opini yang objektif tentang suatu entitas tunggal (misalnya, produk tunggal).

2. Level kalimat: menentukan apakah setiap kalimat menyatakan opini positif, negatif, atau netral.

(28)

panggilan dan daya tahan baterai iPhone adalah target pendapat.

Analisis sentimen merupakan salah satu cabang penelitian text mining (Purwanto dan Santoso, 2015). Analisis sentimen hadir untuk menangani kondisi ledakan informasi teks yang tidak terstruktur. Seperti yang diprediksi Putten (2002) pada penelitiannya, kondisi ledakan informasi semakin menyulitkan proses data mining karena bentuk data tidak terstuktur dan jumlahnya sangat banyak.

1.5.5 Naïve Bayes Classifier

Naïve bayes classifier membuat asumsi yang sangat kuat (naif) akan independensi dari masing-masing kelas kejadian yang diberikan label (Han dkk, 2012). Naive bayes classifer digunakan untuk klasifikasi sentimen dari data komentaryang telah diperoleh. Naive bayes juga digunakan oleh Hidayatullah (2014) untuk menentukan sentimen terhadap toko publik yang disampaikan melalui

tweet berbahasa Indonesia.

Naïve bayes merupakan metode pembelajaran mesin yang memiliki model dalam membentuk probalilitas dan peluang. Maka dari itu, naïve bayes akan menghitung probabilitas kemunculan fitur yang mempresentasikan komentar berdasarkan kelas positif maupun negatif. Persamaan naïve bayes yang digunakan untuk menentukan kelas dari komentas ditunjukkan dalam persamaan berikut.

V

MAP

=

argmax

vj

ϵ

v

P

(

v

j)

i=1 n

P

(

a

i

|

v

j) ……...[1]

Keterangan :

ai = atribut atau fitur ke-i

(29)

V = himpunan kelas target

VMAP = kelas sentimen suatu komentar

Menghitung probabilitas P(vj) ditentukan pada saat

pelatihan, yang nilainya didekati dengan:

P

(

v

j)

=

¿

doc

j

|

contoh

¿

|

¿

…………...[2]

Dimana |docj| adalah banyaknya dokumen yang

memiliki kategori j dalam pelatihan dan |contoh| adalah banyaknya dokumen dalam contoh yang digunakan untuk pelatihan. Untuk nilai P(ai | vj), yaitu menentukan

probabilitas kata ai dalam kategori j ditentukan dengan

persamaan berikut :

P

(

a

i

|

v

j

¿

=

n

i

+

1

n

+

¿

vocabulary

¿ ¿

…………...[3] Berdasarkan persamaan, ni adalah frekuensi

munculnya kata ai dalam dokumen berkategori vj, sedangkan

nilai n adalah banyaknya seluruh kata dalam berkategori vj,

dan |vocabulary| adalah banyaknya kata dalam contoh pelatihan.

Berdasarakan persamaan diatas, dapat dilihat bahwa setiap atribut atau fitur diasumsikan tidak memiliki keterhubungan satu sama lainnya. Naïvebayes menggunakan asumsi dalam sebuah dokumen kemunculan kata tidak mempengaruhi kemunculan kata yang lain. Meskipun asumsi ini bertentangan dengan aturan bahasa, namun tidak mengurangi keakuratan metode naïve bayes (Nur, 2011).

1.5.6 K-Nearest Neighbor

(30)

2012). K-Nearest Neighbor merupakan salah satu metode machine learning yang melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut (Putri, 2014). Adapun rumus k-NN yang digunakan :

d

(

x

i

, x

j

)=

r=1

n

(

a

r(

x

i)

a

r(

x

j)

)

2 ……...[4]

Keterangan:

d

(

x

i

, x

j

)

= Jarak Euclidean (Euclidean Distance)

(

x

¿¿

i

)

¿

= record ke-i

(

x

¿¿

j

)

¿

= record ke-j

(

a

¿¿

r

)

¿

= data ke-r

i , j

= 1, 2, 3, … , n

Berikut merupakan langkah-langkah dalam menghitung metode Algoritma k-NN :

1. Menentukan Parameter K (Jumlah tetangga paling dekat).

2. Menghitung kuadrat jarak euclid (queri instance) masing-masing objek terhadap data sampel yang diberikan.

3. Kemudian mengurutkan objek-objek tersebut ke dalam kelompok yang mempunyai jarak euclid terkecil. 4. Mengumpulkan kategori Y (Klasifikasi Nearest

Neighbor).

(31)

1.5.7 Decision Tree

Decision tree merupakan metode yang menyimpulkan pernyataan-pernyataan dari sebuah label data testing pada data training, untuk menemukan masalah-masalah yang mengarah dalam membuat sebuah keputusan (Han & Kamber, 2006). Decision tree adalah model prediksi berupa miniatur struktur pohon dimana terdapat node internal (bukan daun) yang mendeskripsikan atribu-atribut, setiap cabang menggambarkan hasil dari atribut yang diuji, dan setiap daun menggambarkan kelas. Adapun rumus yang digunakan pada algoritma decision tree sebagai berikut.

Entropy

(

S

)

=

i=1

c

p

i

log

2

p

i ………...[5]

Keterangan :

C = jumlah nilai yang ada pada attribut target (jumlah kelas klasifikasi).

Pi = jumlah proporsi sampel (peluang) untuk kelas i

Entropy merupakan suatu parameter untuk mengukur tingkat keberagaman (heterogenitas) dari kumpulan data. Semakin heterogen, nilai entropy semakin besar. Menghitung nilai Gain ialah untuk mengetahui ukuran efektifitas suatu atribut dalam mengklasifikasikan data.

Gain

(

S , A

)

=

Entropy

(

S

)

V = nilai yang mungkin untuk atribut A

(32)

|S| = jumlah seluruh sampel data.

Entropy(Sv ) = Entropy untuk sampel yang memiliki nilai v

1.5.8 Pengujian / Pengukuran Akurasi 1.5.8.1 K-Fold Cross Validation

Cross validation digunakan sebagai metode evaluasi hasil klasifikasi (Alvino, 2013). Pengujian dilakukan untuk memprediksi error rate. Training data dibagi menjadi K buah subset secara acak dengan ukuran yang sama, satu diantara subset acak tersebut digunakan sebagai testing data. Setelah itu dilakukan iterasi sebanyak K kali dan dilakukan perhitungan error rate tiap subset. Kemudian hitung error rate pada setiap subset. Berdasarkan hasil error rate tiap subset, dihitung rata-ratanya untuk mendapatkan nilai error rate keseluruhan.

Pada proses evaluasi k-fold cross validation, perlu dibentuk k subset dari data sets yang ada. Misalnya, 5-fold cross validation berarti 4 subsets digunakan sebagai data training dan 2 subset digunakan sebagai data testing, dilakukan 5 kali iterasi. Hasil pengukuran adalah nilai rata-rata dari 5 kali pengujian, seperti ilustrasi pada Gambar 5 berikut.

(33)

1.5.8.2 Confusion Matrix

Salah satu metode evaluasi yang digunakan untuk klasifikasi naïve bayes adalah confusion matrix. Confusion matrix adalah salah satu tools penting dalam metode visualisasi yang digunakan pada mesin pembelajaran yang biasanya memuat dua kategori atau lebih (Manning dkk, 2009; Horn, 2010). Sebanyak setengah atau dua pertiga dari data keseluruhan digunakan untuk keperluan proses training sedangkan sisanya digunakan untuk keperluan testing (Kantardzic, 2003).

Untuk memperoleh informasi hasil pencarian akurasi, dilakukan perhitungan recall dan precision. Precision dapat dianggap sebagai ukuran ketepatan atau ketelitian, sedangkan recall adalah kesempurnaan (Yuliana, 2014).

Confusion matrix merupakan tabel yang digunakan untuk mengevaluasi kinerja dari suatu model klasifikasi. Tabel terdiri atas banyaknya baris data uji yang diprediksi bernar atau tidak benar dari model klasifikasi. Berikut contoh perhitungan akurasi tabel confusion matrix:

Table 4 Contoh Tabel ConfusionMatrix Prediksi Dua Kelas Prediksi

Positi f

Negati f

Aktual Positif TP FN

Negatif FP TN

(34)

yang salah dari contoh positif, FP adalah jumlah prediksi yang salah prediksi dari contoh negatif dan TN adalah jumlah prediksi yang benar dari contoh positif.

Rumus Accuracy (AC) adalah jumlah prediksi yang benar. Ini ditentukan dengan persamaan :

AC

=

TP

TP

+

TN

+

FP

+

TN

+

FN

…….………

[7]

Recall atau truepositifrate (TP) adalah proporsi dari kasus positif yang telah diidentifikasi dengan benar, rumus mencari Recall:

True Positive

/

Recall

=

TP

TP

+

TN

………[8]

True negative rate (TN) adalah proporsi dari kasus negatif yang telah diidentifikasi dengan benar, rumus TN:

True Negative

=

TN

TN

+

FN

………[9]

1.5.9 Ms. Excel dan Power Query

Microsoft Excel adalah sebuah program aplikasi lembar kerja dikembangkan yang dibuat oleh Microsoft Corporation pada sistem operasi Microsoft Windows dan Mac OS. Kemampuan aplikasi ini di fokuskan untuk pengolahan data, baik data angka, karakter (string), maupun waktu (jam dan tanggal).

Power query merupakan fitur analisis data yang tersedia untuk Excel yang memungkinkan pengguna menemukan, menggabungkan dan memperbaiki data. Power query memungkinkan mentransformasikan data web dan menambahkan query ke model data ke worksheet yang ada.

(35)
(36)

Gambar 6 Alur Perancangan Analisis Sentimen

BAB III

PERANCANGAN 2.1 Perancangan Alur Analisis Sentimen

Perancangan alur analisis sentimen merupakan gambaran umum terkait alur penelitian yang akan dilakukan pada tugas akhir ini. Alur kerja dari analisis sentimen dapat dilihat pada Gambar 3.1 berikut:

Alur pertama dari analisis sentimen ialah mendapatkan data komentar dengan melakukan crawling data dan pemilihan training data. Langkah kedua, dilakukan preprocessing utama data komentar yang terdiri dari dua tahap, yaitu functuation and number filtering dan case folding. Langkah ketiga, yakni featured selection dengan tiga tahapan, filtering, stemming dan convet negation. Selanjutnya menentukan atribut sebelum masuk ke proses klasifikasi dengan metode frequent itemset. Setelah didapat atribut-atribut yang sering muncul, barulah dilakukan proses klasifikasi dengan metode klasifikasi naïve bayes, k-NN dan decision tree. Hasil dari klasifikasi selanjutnya diukur keakuratannya dengan kombinasi metode K-fold cross validation dan confusion matrix.

Collecting Data k-NN, Naïve Bayes &

(37)

Gambar 8 Contoh Hasil Crawling Menggunakan Power Query Gambar 7 Contoh Penggunaan Power Query Editor 2.1.1 Sumber Data

(38)

Berdasarkan data komentar hasil crawling, data training dikumpulkan dengan menyaring keywords yang berhubungan dengan pelayanan/produk fashion dikombinasikan dengan kata-kata sentimen dan atau emoticon. Berikut ketentuan yang digunakan dalam memilih data training diantara ribuan data komentar yang hasil crawling :

1. Menentukan target/entitas.

a. Pelayanan, yaitu terkait pelayanan pengiriman dan respon komplain pelanggan. Keyword terkait pelayanan diantaranya; kirim, order, pesan, paket, klarifikasi, komplain, balas, respon, jawab, retur, barang, konfirmasi, jawab dan retur.

b. Produk fashion, yaitu terkait kualitas produk yang dikirim apakah bentuk, ukuran, jenis, motif ataupun warnanya sesuai dengan yang dipesan. Keyword yang digunakan ialah baju, shirt, kaos, kasu, dress, ukuran, warna, size, sepatu, jam, watch, celana, sandal, sendal, heels, wedges, tas, koko, kemeja.

2. Menentukan keyword sentimen positif/negatif dan atau emoticon yang mengiringi suatu kalimat komentar.

a. Pelayanan-sentimen-positif ; sampai, sampe, cepat, cepet, sudah, datang, mudah, thx, dan terima kasih.

b. Pelayanan-sentimen-negatif ; lama, kecewa, lambat, telat, susah, sulit, parah, bohong, salah, batal dan maaf.

c. Produk-sentimen-positif ; bagus, percaya, keren, cantik, cakep, puas, oke dan sesuai.

d. Produk-sentimen-negatif ; kecewa, jelek, rusak, parah, komplain, salah, ganti, tukar, retur, refund, rongsok dan bohong.

3. Melakukan filtering kata target/entitas dan sentimen ada dalam satu kalimat komentar. jika salah satu tidak ada, maka tidak layak menjadi data training.

Table 5 Contoh Komentar Data Training

(39)

1 orderan saya sdh dikirim blm min ? no order 205595279 mau saya cek status di web tp kok tdk ditemukan. thx. 2 zalora, saya ingin melakukan pembatalan pemesanan yg

saya lakukan. tapi mengapa CS via telepon hanya bisa mengecek status order saja. apakah tidak bisa berbicara langsung?

3 halo, mau tanya proses retur order 202167159 yg sudah berminggu2 ga ada kabar :( kalau ga bisa retur kan bisa kirim balik aja yg kemarin saya kirim :(

4 thanks ZALORA barangnya udah sampe cepat banget :) 5 Terima kasih ZALORA paketnya sudah sampai,

6 Udah sampai nih zalora pesanan saya, terima kasih ya 7 pelayanan na cepat bgt. selalu konfirmasi. Cuma kemarin

sempat nyebelin krn pake jasa pengiriman yg memiliki jam terbang yg masih pendek. Tapi berkat kegigihan cs zalora, semua teratasi. Tq

8 Mav saya telp cs kok gak bsa untuk pembatalan no order 203387759 soalnya mau ganti barang sma ganti alamatnya . Mohon konfirmasinya terimakasih

9 maaf, sy sdh bayar untuk pembelanjaan dgn no order 209342847 tpi sy dpat sms lgi jika belum membayar, sy bayar atas nama Rohani Sibuea, trus uang sy kemana? 10 Puas banget belanja di Zalora ...^^ barangnya oke Dan

sesuai dengan gw bangeeeeet.:))

2.1.2 Preprocessing

(40)

akan mempengaruhi keoptimalan hasil klasifikasi nantinya. Tahapan preprocessing terdiri dari tiga tahap. Setiap tahapan akan dijabarkan pada subab ini. Berdasarkan data komentar pada Tabel 5, berikut contoh dilakukannya proses preprocessing.

2.1.2.1 Tahap Punctuation dan Number Filter

Table 6 Data Komentar Toko Online

No Komentar

1 orderan saya sudah dikirim order saya status tidak ditemukan terimakasih

2 zalora saya ingin melakukan pembatalan pemesanan saya lakukan tapi mengapa telepon hanya bisa mengecek status order saja apakah tidak bisa berbicara langsung

3 halo mau tanya proses retur order sudah berminggu tidak ada kabar sedih kalau tidak bisa retur bisa kirim balik kemarin saya kirim sedih

4 Terimakasih ZALORA barangnya udah sampe cepat banget senyum

5 Terimakasih ZALORA paketnya sudah sampai 6 Sudah sampai zalora pesanan saya terimakasih 7 pelayanan cepat selalu konfirmasi Cuma kemarin

sempat nyebelin pake jasa pengiriman yg memiliki jam terbang yg masih pendek Tapi berkat kegigihan zalora semua teratasi terimakasih

8 Maaf saya telp tidak bisa untuk pembatalan no order soalnya ganti barang sama ganti alamatnya Mohon konfirmasinya terimakasih

9 maaf bayar untuk pembelanjaan order dapat jika belum membayar bayar atas nama Rohani Sibuea trus uang kemana

(41)

2.1.2.2 Tahap Case Folding

Pada tahapan ini data komentar akan diubah menjadi huruf kecil semua dan karakter selain huruf akan dihilangkan.

Table 7 Penerapan CaseFolding dan Tokenizing

N o

Komentar

1 orderan saya sudah dikirim order saya status tidak ditemukan terima kasih

2 zalora saya ingin melakukan pembatalan pemesanan saya lakukan tapi mengapa telepon hanya bisa mengecek status order saja apakah tidak bisa berbicara langsung

3 halo mau tanya proses retur order sudah berminggu tidak ada kabar sedih kalau tidak bisa retur bisa kirim balik kemarin saya kirim sedih

4 terima kasih zalora barangnya udah sampe cepat banget senyum

5 terima kasih zalora paketnya sudah sampai 6 sudah sampai zalora pesanan saya terimakasih

7 pelayanan cepat selalu konfirmasi cuma kemarin sempat nyebelin pake jasa pengiriman yg memiliki jam terbang masih pendek tapi berkat kegigihan zalora semua teratasi terimakasih

8 maaf saya telp tidak bisa untuk pembatalan order soalnya ganti barang sama ganti alamatnya mohon konfirmasinya terimakasih

(42)

belum membayar bayar atas nama rohani sibuea trus uang kemana

10 puas banget belanja di zalora barangnya bagus sesuai dengan bangeeeeet senyum

2.1.2.3 Tahap Filtering

Tahap filtering akan menghapus kata-kata yang sering muncul dan bersifat umum yang terdapat pada komentar. Contoh penerapan filtering berdasarkan stopwordlist pada Tabel 8.

Table 8 Contoh Penerapan Filtering

No Komentar

1 orderan sudah dikirim order status tidak ditemukan terimakasih

2 zalora ingin melakukan pembatalan pemesanan lakukan mengapa telepon bisa mengecek status order tidak bisa berbicara langsung

3 proses retur order sudah berminggu tidak ada kabar sedih kalau tidak bisa retur bisa kirim balik kemarin kirim sedih

4 terimakasih zalora barangnya udah sampe cepat senyum

5 terimakasih zalora paketnya sudah sampai 6 sudah sampai zalora pesanan terimakasih

7 pelayanan cepat selalu konfirmasi kemarin sempat nyebelin pake jasa pengiriman memiliki terbang masih pendek berkat kegigihan zalora semua teratasi terimakasih

8 maaf telp tidak bisa pembatalan order soalnya ganti barang ganti alamatnya mohon konfirmasinya terimakasih

9 maaf bayar pembelanjaan order dapat belum membayar bayar rohani sibuea uang kemana

(43)

bangeeeeet senyum

2.1.2.4 Tahap Stemming

Pada tahap ini kata-kata komentar akan dikembalikan ke bentuk dasarnya dengan menghilangkan imbuhan pada setiap kata.

Table 9 Contoh Penerapan Stemming

No Komentar

1 order sudah kirim order status tidak temu terimakasih 2 zalora ingin lakukan batal pesan lakukan mengapa

telepon bisa cek status order tidak bisa bicara langsung 3 proses retur order sudah minggu tidak ada kabar sedih

kalau tidak bisa retur bisa kirim balik kemarin kirim sedih

4 terimakasih zalora barang udah sampe cepat senyum 5 terimakasih zalora paket sudah sampai

6 sudah sampai zalora pesan terimakasih

7 layan cepat selalu konfirmasi kemarin sempat nyebelin pake jasa kirim milik terbang masih pendek berkat gigih zalora semua atasi terimakasih

8 maaf telp tidak bisa batal order soal ganti barang ganti alamat mohon konfirmasi terimakasih

9 maaf bayar belanja order dapat belum bayar bayar rohani sibuea uang kemana

(44)

2.1.2.5 Convert Negation

Kata-kata yang bersifat negasi yang akan di lakukan konversi diantaranya, “kurang”, “tidak”, “enggak”, “ga”, “nggak”, “tak”, dan “gak”. Contoh penerapan convert negation seperti pada tabel berikut.

Table 10 Contoh Penerapan Convert Negation

No Komentar

1 order sudahkirim order status tidaktemu terimakasih 2 zalora ingin lakukan batal pesan lakukan mengapa

telepon bisa cek status order tidakbisa bicara langsung 3 proses retur order sudah minggu tidakada kabar sedih kalau tidakbisa retur bisa kirim balik kemarin kirim sedih

4 terimakasih zalora barang udah sampe cepat senyum 5 terimakasih zalora paket sudahsampai

6 sudahsampai zalora pesan terimakasih

7 layan cepat selalu konfirmasi kemarin sempat nyebelin pake jasa kirim milik terbang masih pendek berkat gigih zalora semua atasi terimakasih

8 maaf telp tidakbisa batal order soal ganti barang ganti alamat mohon konfirmasi terimakasih

9 maaf bayar belanja order dapat belum bayar bayar rohani sibuea uang kemana

10 puas belanja zalora barang bagus sesuai bangeeeeet senyum

2.1.2.6 Penentuan Atribut

(45)

penentuan atribut. Tahap ini akan menyaring setiap kata yang muncul berdasarkan jumlah kemunculan kata. Skenario penentuan atribut ditentukan setelah menguji minimal kemunculan tertentu (k) dan dilihat pengaruhnya terhadap tingkat akurasi klasifikasi. K minimal kemunculan tertentu yang memiliki pengaruh hasil akurasi klasifikasi paling baik akan ditetapkan menjadi minimal kemunculan penentuan atribut. Pada percobaan ini, kata yang akan diambil hanya dengan kemunculan minimal 2 kali pada dokumen komentar.

Table 11 Hasil Jumlah Kata Order (6) Berdasarkan Tabel 11 total kata pada daftar adalah 60. Kata yang muncul <2 akan dihapus. Atribut yang dihasilkan ialah :

Table 12 Data Atribut

(46)

Status A2 Bisa A8 Konfirmasi A14 Belanja A20 Terimakasi

h A3 Tidak_bisa A9 Kemarin A15 Retur A21

Zalora A4 Sedih A10 Maaf A16 Senyum A22

Lakukan A5 Barang A11 Ganti A17

Batal A6 Sudah_sampai A12 Bayar A18

2.1.3 Metode Klasifikasi

Metode klasifikasi diterapkan menggunakan tools miner KNIME. Terdapat tiga metode klasifikasi yang akan digunakan pada penelitian ini. Diantaranya naïve bayes, k-NN dan decision tree. 2.1.3.1 Metode Naïve Bayes

Metode naïve bayes merupakan metode yang digunakan untuk mengkasifikasikan data komentar untuk memperoleh sentimen analisis. Untuk melakukan klasifikasi sentimen akan menggunakan data hasil preprocessing pada Tabel 3.9. terdapat sepuluh data training dan satu data testing.

Table 13 Data Hasil Preprocessing

I kabar sedih kalau tidak_bisa retur bisa kirim balik kemarin kirim sedih

Negatif

4 terimakasih zalora barang udah sampe cepat senyum

Positif

(47)

6 sudah_sampai zalora pesan terimakasih Positif 7 layan cepat selalu konfirmasi kemarin sempat

nyebelin pake jasa kirim milik terbang masih pendek berkat gigih zalora semua atasi

9 maaf bayar belanja order dapat belum bayar bayar rohani sibuea uang kemana

Negatif

11 maaf udah transfer kenapa bilang order batal order bayar mandiri konfirmasi zalora layan

?

Untuk melakukan perhitungan naïve bayes diperlukan data tabel atribut untuk melihat hasil training model probabilitas.

Table 14 Data Atribut

Order A1 Pesan A7 Cepat A13 Kirim A19

Status A2 Bisa A8 Konfirmasi A14 Belanja A20

Terimakasih A3 Tidak_bisa A9 Kemarin A15 Retur A21

Zalora A4 Sedih A10 Maaf A16 Senyum A22

Lakukan A5 Barang A11 Ganti A17

Batal A6 Sudah_sampai A12 Bayar A18

Tabel 15 menampilkan data training dengan menunjukkan kemunculan setiap atribut pada data training dan data testing. Angka 1 mewakilkan atribut muncul, sedangkan angka 0 mewakilkan atribut tidak muncul pada data.

Table 15 Data Training Berdasarkan Atribut Data

(48)
(49)

Perhitungan menggunakan metode naïve bayes dapat dilakukan dengan langkah-langka berikut.

a. Menghitung probabilitas pada setiap komentar terhadap sekumpulan komentar.

P(Positif) = 5/10 P(Negatif) = 5/10

b. Tahap pembelajaran klasifikasi naïve bayes untuk data training dengan menghitung nilai P ¿ ¿

Table 16 Hasil Training Model Probabilitas Dari Data Training

36 Kemunculan kata

P

¿ ¿

Positif Negatif

Order 1/103 7/ 124

Status 1/103 3/ 124

Terimakasih 5/103 3/ 124

Zalora 6/103 2/ 124

Lakukan 1/103 3/ 124

Batal 1/103 3/ 124

Pesan 2/103 2/ 124

Bisa 1/103 3/ 124

Tidak_bisa 1/103 4/ 124

Sedih 1/103 3/ 124

Barang 2/103 2/ 124

Sudah_sampai 3/103 1/ 124

Cepat 3/103 1/ 124

Konfirmasi 2/103 2/ 124

Kemaren 2/103 2/ 124

Maaf 2/103 3/ 124

Ganti 1/103 3/ 124

Bayar 1/103 4/ 124

Kirim 1/103 3/ 124

Belanja 2/103 2/ 124

(50)

c. Tahap berikutnya ialah menghitung nilai Vmap kata pada data testing yang terdapat pada data training.

Table 17 Nilai Vmap Kata yang

terdapat pada data training

Sentimen

Positif Negatif

P(Vj) 5/10 5/10

Maaf 2/103 3/ 124

Order 1/103 7/ 124

Batal 1/103 2/ 124

Order 1/103 7/ 124

Bayar 1/103 4/ 124

Konfirmasi 2/103 2/ 124

Zalora 6/103 2/ 124

Vmap 9.76 x 10-14 5.22x 10-12

Berdasarkan hasil Vmap pada Tabel 17 dapat dilihat bahwa nilai Vmap paling besar adalah pada sentimen negatif. Sehingga pada kasus ini diperoleh hasil klasifikasi sentimen data testing adalah negatif.

2.1.3.2 Metode k-NN

(51)

testing. Angka 1 mewakilkan atribut muncul, sedangkan angka 0 mewakilkan atribut tidak muncul pada data.

Table 18 Data Training Berdasarkan Atribut Data

ID A

Adapun langkah-langkah dalam menghitung sentimen menggunakan metode k-NN adalah sebagai berikut:

(52)

b. Menghitung kuadrat jarak euclid pada masing-masing atribut terhadap data sampel yang diberikan.berikut adalah perhitungan untuk data training pertama terhadap data testing.

D

1

=

(

1

1

)2

+

(

1

0

)2

+

(

1

0

)2

+

(

0

1

)2

+

(

0

)2

+

(

0

1

)2

+

¿

(

0

)2

+

+

(

0

1

)2

+

(

0

)2

+

(

0

1

)2

+

(

0

)2

+(

0

1

)

2

Lakukan hal yang sama untuk tiap data training kedua hingga kesepuluh terhadap data testing. Hasil perhitungan tiap data training dapat dilihat pada Tabel 19.

Table 19 Hasil Perhitungan k-NN c.

Tahap selanjutnya ialah mengurutkan hasil perhitungan k-NN yang memiliki nilai jarak euclid terkecil hingga terbesar.

Table 20 Hasil Klasifikasi Jarak Euclid d.

Setelah diurutkan, kategori sentimen dikumpulkan berdasarkan tetangga terdekat dengan nilai k adalah 5.

Table 21 Memilih Jarak Euclid Terdekat e.

Berdasarkan hasil perhitungan jarak euclid terdekat, dapat diperdiksi bahwa data testing memiliki jarak terdekat dengan atribut sentimen negatif. Diketahui D9, D8, D1, D10 adalah data

D1 D2 D3 D4 D5 D6 D7 D8 D9 D10

2,64 2,82 3,46 2,82 2,64 2,82 2,64 2,23 2 2,64

D 9

D8 D1 D5 D7 D10 D2 D4 D6 D3

2 2,23 2,64 2,64 2,64 2,64 2,82 2,82 2,82 3,4 6

D 9

D8 D1 D5 D7 D10 D2 D4 D6 D3

(53)

training dengan label sentimen negatif. Sedangkan D5 memiliki label sentimen positif.

2.1.3.3 Metode Decision Tree

Dalam perhitungan decision tree, dilakukan pehitungan entropy. Dari data training diketahui jumlah data adalah 10, sentimen positif 5 record dan negatif 5 record.

a. Perhitungan Entropy

Entropy= (-5/10 . log 2 (5/10) + -5/10 . log 2 (5/10)) = 0.602

b. Menghitung nilai Gain setiap atribut data seperti pada Tabel 22. Nilai gain tertinggi yang dijadikan root atau akar pohon. Berdasarkan Tabel 3.15 diketahui nilai gain tertinggi adalah pada D9. Sehingga D9 menjadi root, yaitu sentimen negatif.

Table 22 Perhitungan decision tree algrotima C4.5

(54)
(55)

A3 6 4 2 0.92

A6 2 0 2 0

A9 3 0 3 0

A11 2 1 1 0.5

A14 2 1 1 0.5

A16 3 1 2 0.92

A17 2 0 2 0

D9 0.529

A1 6 0 6 0

A16 3 1 2 0.92

A18 3 0 3 0

A20 2 1 1 0.5

D10 0.473

A4 6 5 4 0.64

A11 2 1 1 0.5

A20 2 1 1 0.5

(56)

Gambar 10 Hasil Percobaan Decision Tree

Gambar 9 Percobaan DecisionTree Menggunakan KNIME c. Perhitungan menggunakan decisiontree ini dicobakan pada

tools KNIME untuk memeriksa keberhasilan klasifikasi terhadap data testing. Berdasarkan percobaan Gambar 9 diperoleh hasil klasifikasi decision tree (Gambar 10) terhadap data testing adalah negatif. Hasil ini sesuai dengan pehitungan manual dua metode sebelumnya, yaitu naïve bayes dan k-NN.

2.1.4 Pengujian

2.1.4.1 K-Fold Cross Validation

(57)

fold. Berikut merupakan skenario uji akurasi dengan metode 5-fold cross validation:

Table 23 Tabel Skenario Uji Stabilitas dengan 5-fold cross validation

Fold

Data

Subset

Fold 1

Training

S2, S3, S4, S5, S6, S7, S8, S9, S10

Testing

S1

Fold 2

Training

S1, S3, S4, S5, S6, S7, S8, S9, S10

Testing

S2

Fold 3

Training

S1, S2, S4, S5, S6, S7, S8, S9, S10

Testing

S3

Fold 4

Training

S1, S2, S3, S5, S6, S7, S8, S9, S10

Testing

S4

Fold 5

Training

S1, S2, S3, S4, S6, S7, S8, S9, S10

Testing

S5

Tahap pengujian dengan menggunakan metode 5-fold cross validation membagi dataset yang awalnya berjumlah 50 data akan dibagi menjadi 5 subset masing-masing subset berjumlah 10 data. Pada fold pertama terdapat kombinasi 9 subset yang berbeda digabung dan digunakan sebagai data training, sedangkan 1 subset digunakan sebagai data testing, selanjutnya proses training dan testing dilakukan sampai fold kelima. Selanjutnya untuk menghitung tingkat akurasinya menggunakan confusion matrix.

2.1.4.2 Confusion Matrix

(58)

jumlah berapa kali pengujian nilai k frequent itemset hingga

diperoleh hasil errorrate paling rendah dari confusion matrix. Table 24 Contoh hasil data aktual dan prediksi

No Label aktual

D

ib

an

di

ng

ka

n

Label prediksi

1 Negatif Negatif

2 Negatif Negatif

3 Negatif Negatif

4 Positif Positif

5 Positif Positif

6 Positif Positif

7 Positif Negatif

8 Negatif Positif

9 Negatif Negatif

10 Positif Positif

Table 25 Tabel Confusion Matrix

Akurasi=

5

6

+

+

5

6

100 %

=

83,3 %

Hasil Prediksi Positif Negatif

Positif 5 1

(59)

Precision:

True Positive =

5

5

+

1

100 %

=

83,3 %

True Negative =

1

5

+

5

100 %

=

83,3 %

(60)

BAB IV

PENGUJIAN DAN ANALISIS 3.1 Implementasi

Penelitian dilakukan dengan menggunakan beberapa aplikasi open source. Crawling data komentar dilakukan dengan Ms.Excel, pemrosesan text mining dengan KNIME, web server Xampp untuk menyimpan data kata dasar database hingga visualisasi data dengan kombinasi tabel pivot dan tabel kembali menggunakan Ms.Excel. 3.1.1 Data Latih

Data latih diperoleh dari hasil crawling page toko online Zalora dan BerryBenka. Jumlah data BerryBenka yang diperoleh 8.900 baris dan Zalora 5.400 baris. Jumlah ini mengalami penyusutan saat dilakukan seleksi komentar yang mengandung sentimen. Penyusutan jumlah dikarenakan terdapat status admin, komentar iklan, komentar pertanyaan, dan komentar yang tidak ada hubungannya dengan pelayanan dan produk. Jenis komentar tersebut tidak menjadi data latih.

(61)

Table 26 Data keyword hasil FIM untuk Zalora produk

Baju Barang Beli Busana Celana Kacam

ata Kapok

Model Pakaian Ransel Sandal Sepatu Topi Tshirt

Belanja Biru Cardigan Casual Diskon Dress Fashion

Heels Kemeja Muslim Produk Sendal Size Sweater

Warna Wanita Wedges Flat Hijab Jaket Kaos

Mudah Kapok Kecewa Kekecilan Mantab Keren Bahan

Gamis Ukuran Sesuai

Table 27 Data keyword hasil FIM untuk Zalora layanan

Nunggu Order Pesan Tanggap Terimaka

sih

Bantua n

Batal

Belum Cancel Chat Datang Balas Kirim Proses

Inbox Info Komplain Konfirm

asi Layan Message Sampai

Ongkir Bayar Pemesanan Please Refund Resi Tolong

Tracking Transfer Tukar Sudah Website

Table 28 Data keyword hasil FIM untuk Berrybenka produk

Fashion Jeans Suka Bagus Baju Belanja Bigsize

Blazer Cantik Coklat Detail Diskon Dress Gamis

Gambar Hitam Jogger Jumpsuit Kalung Legging Lucu

Love Heart Mahal Pants Produk Sepatu Shirt

Style Ukuran Berlubang Beauty Gaya Size Stock

Table 29 Data keyword hasil FIM untuk Berrybenka layanan

Ongkir Overload Pesan Recomm Reply Cepat Tolong

Balas Barang Batal Belum Cancel Kirim Respon

Email Tidak Help Mau Terimakasih Please Order

Bayar Resi Susah Tanggap Transfer Konfirm

asi Telat

(62)

komentar menjadi kata yang sesuai dengan penulisan EYD. Proses ini sangat membantu preprocessing nantinya.

Table 30 Data latih Zalora produk dan layanan

I D

Komentar Sentime

n 1 selalu puas belanja disini,,,ukuran,,bahan,harga,, warnadll

pokoe top Positif

2 terimakasih zalora,pelayanannya memuaskan harga oke barang sesuai pesanan,dapet potongan lagi,recomended lahh

Positif

3 terimakasih zalora. cs na keren. omelanku ditanggapi terus. tiap hari aku ditelp sampai pesananku nyampek. tidak jadi nyesel belanja di zalora.

pelayanan na cepat bgt. selalu konfirmasi. Cuma kemarin sempat nyebelin krn pake jasa pengiriman yg memiliki jam terbang yg masih pendek. Tapi berkat kegigihan cs zalora, semua teratasi. terimakasih . hebat

Positif

4 Gak sia sia gua order , barang nya bagus seperti digambar

terimakasih min .. fast respon lagi kalo ada masalah . Positif

5 Min, barang nya bagus sama nyampe nya cepet. Jadi pelanggan setia nih kaya nya. senang

Positif

6 Kecewa banget belanja di zalora...proses pengirimannya atas order tgl 24 juni...tapi sampai hari ini tidak jelas tuh barangnya...masa solusinya refund...emang gitu ya cara zalora jual barang?? Bayar pake CC, trus nanti suruh refund???

Negatif

7 layan cepat selalu konfirmasi kemarin sempat nyebelin pake jasa kirim milik terbang masih pendek berkat gigih zalora semua atasi terimakasih

Positif

8 Hi Zalora team, sy kecewa no order 208548958 yg dijanjikan oleh Zalora pasti datang sebelum lebaran ternyata sampai sekarang belum tiba.. Padahal sy berada di wilayah jabodetabek dan menurut info barang dikirim oleh kurir zalora sedih

Negatif

9 Susah bggggggt si mau pesen... sy ud tlfn ke zalora ..ktny sruh msuk ke link Zalora dot co id flash promo-xl .... tp tetep q g bsa gunaen voucherny tolong donng kirimin link ny biar q bsa lngsung msuk

Negatif

(63)

Gambar 11 Data Komentar Sebelum Preprocessing

Gambar 12 Punctuation and Number Filter datang2 pesanan saya,,saya kecewa ini yang nelpon saya janjiin ke saya 02150321388 saya kecewa sudah 5 hari saya tunguin mn tidak ada barangnya

3.1.2 Punctuation and Number Filter

(64)

Gambar 13 Hasil Punctuation and Number Filter

Gambar 15 Hasil Case Folding and Stopword Removal Gambar 14 Case Folding and Stopword Removal

3.1.3 Case Folding and Filtering/Stopword Removal

Case folding dilakukan untuk menyamakan format huruf menjadi huruf kecil pada dokumen. Stopwordremoval menggunakan node stop word filter dengan melakukan attach file .txt yang sudah berisi list kata-kata tidak penting untuk dibandingkan dengan data komentar. Apabila terdapat kata pada komentar sama dengan kata yang ada dalam list stopword maka kata tersebut akan dihapus. Sehingga, dokumen hanya akan berisi kata-kata yang memungkinkan menjadi kata sentimen pada komentar.

3.1.4 Stemming

(65)

Gambar 16 Stemming Java Snippet

Gambar 17 Tampilan Code Pada Editor Java Snippet

Kode stemming Bahasa Indonesia terdiri dari beberapa 5 method utama yang berfungsi menghapus imbuhan di awal dan di akhir kata. Setiap kata pada data latih akan dicek apakah sebuah kata

(66)

dasar. Apabila terdapat kata yang terdeteksi memiliki imbuhan, maka akan masuk ke dalam proses stemming dengan memeriksa apa huruf yang mengawali atau pun yang mengakhiri kata tersebut. Sehingga diperoleh kata dasar dari kata yang distemming tersebut. Pada

(67)

Gambar 19 Rangkaian Proses Convert Negation 3.1.5 Convert Negation

Convert negation dilakukan dengan menghapus spasi diantara kata-kata yang mengandung memiliki makna kebalikan. Seperti kata tidak sesuai, tidak bagus, tidak sampai, tidak datang menjadi tidaksesuai, tidakbagus, dan seterusnya.

(68)

Gambar 21 Proses Frequent Itemset

dihitung sebagai satu kata bernilai negatif dan ‘bagus’ dihitung sebagai satu kata positif. Maka nilai sentimen pada komentar tersebut akan imbang. Sehingga, perhitungan klasifikasi dapat mengalami penurunan keakuratannya. Sampai pada prosess convert negation, preprocessing selesai dilakukan.

3.1.6 Frequent Itemset

FIM atau pemilihan atribut dilakukan dengan menggunakan node tf dan dikombinasikan dengan node GroupBy. Tf digunakan untuk mendapatkan nilai frequent term relative dari suatu kata sentimen.

Proses FIM sendiri terdiri dari serangkaian proses penting diantaranya :

1. BoW creator : membagi-bagi kata berdasarkan spasi sehingga diperoleh setiap kata pada tiap komentar. Proses ini disebut juga sebagai bag of words. Hasilnya adalah satu kata yang berdiri sendiri, bukan kalimat. 2. Term to String : node ini berfungsi mengkonversikan

(69)

Gambar 22 Hasil Term Frequent ‘term’. Pada kondisi ini, term tidak bisa diproses ketahap berikutnya sehingga harus dijadikan String.

3. Tf : Term frequent berfungsi menghitung nilai term relative / minimum support masing-masing kata hasil BoW. Semakin sering kata muncul pada dokumen, maka nilai term relative semakin besar. Nilai term relative adalah 0-1.

4.

GroupBy : node ini berperan untuk melihat kesamaan kata pada BoW. Jika ada kata yang berulang, maka kata tersebut dijadikan satu grup. Artinya pengulangan kata tidak akan terjadi dan setiap kata akan dihitung berapa kali kata tersebut muncul pada dokumen.

(70)

Gambar 23 Hasil GroupBy

(71)

Gambar 24 Tampilan hasil Document Vector 1. Hasil Tf dan GroupBy digabungkan pada node Reference

Row Filter untuk menyamakan Row ID kata yang telah dihitung dengan cara masing-masing. Sehingga kata yang sudah ditentukan minimal kemunculannya akan tersimpan bersamaan dengan nilai term relative-nya. Hal ini penting dilakukan agar data dokumen tidak tertukar.

Gambar

Table 3 Contoh Itemset/Basket
Gambar 5 Prosedur 5-fold cross validation (Bramer, 2007)
Table 6 Data Komentar Toko Online
Table 7 Penerapan Case Folding dan Tokenizing
+7

Referensi

Dokumen terkait

Penelitian ini diharapkan dapat menjadi salah satu referensi yang berguna bagi penelitian selanjutnya mengenai topik yang sama yaitu pengaruh penerapan Prosedur Penjualan

Sejak BPTP berdiri lebih dari 10 tahun yang lalu, maka telah banyak teknologi inovasi yang didiseminasikan melalui berbagai macam media, yaitu media elektronika, cetak, kegiatan

Ampul dibuat dari bahan gelas tidak berwarna akan tetapi untuk bahan obat yang peka terhadap cahaya, dapat digunakan ampul yang terbuat dari bahan gelas

kode kategori disertai deskripsi lengkap dan rinci tentang kondisi penyakit.. • Termasuk Bab ini

Ransum dengan sumber serat tongkol jagung sebesar 30% dengan kombinasi sumber protein bungkil kelapa dan tepung ikan atau kombinasi sumber protein bungkil kelapa dan

Eko Freestiantoni 500031963 Magister Manajemen Dampak Gaya Kepemimpinan, Pemberdayaan Psikologis Terhadap Kepuasan Kerja dan Kinerja pada Karyawan Operasi Tambang Bawah Tanah Doz

Dengan menerapkan metode pembelajaran yang terintegrasi dengan teknologi komputer (seperti SPC) akan memberikan suatu model yang berbasis unjuk kerja, hal ini

Hasil penelitian yang telah dilakukan di Sungai Lahei Desa Lahei Kabupaten Barito Utara dengan daerah pengamatan yang berbeda yaitu pada stasiun A (wilayah muara