Page 1
ANALISIS SENTIMEN TERHADAP PRODUK
OTOMOTIF DARI TWITTER MENGGUNAKAN
KOMBINASI ALGORITMA K-NEAREST NEIGHBOR
DAN PENDEKATAN LEXICON
(STUDI KASUS: MOBIL TOYOTA)
Skripsi
Oleh
Mahdi Muhammad Rizki
11140910000100
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
2019 M / 1441 H
Page 2
i
PERNYATAAN ORISINALITAS
Page 3
ii
LEMBAR PERSETUJUAN
Page 4
iii
LEMBAR PENGESAHAN
Page 5
iv
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
Page 6
v
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan
rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini. Penulisan skripsi ini
dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar Sarjana
Komputer Program Studi Teknik Informatika Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta. Proses penyelesaian skripsi
ini tidak lepas dari berbagai bantuan, dukungan, saran, dan kritik yang telah penulis
dapatkan, oleh karena itu dalam kesempatan ini penulis ingin mengucapkan terima
kasih kepada:
1. Kedua Orang tua dan keluarga penulis yang selalu mendo’akan, dan
mendukung penulis dalam mengerjakan skripsi.
2. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud., selaku Dekan Fakultas
Sains dan Teknologi.
3. Bapak Dr. Imam Marzuki Shofi, MT, selaku ketua Program Studi Teknik
Informatika, serta Bapak Andrew Fiade M.Kom., selaku sekretaris Program
Studi Teknik Informatika.
4. Ibu Fenty Eka Muzzayana A, M.Kom, selaku Dosen Pembimbing I dan Ibu
Nurul Faizah Rozy, MTI, selaku Dosen Pembimbing II yang telah
memberikan bimbingan, motivasi, dan arahan kepada penulis sehingga
skripsi ini bisa selesai dengan baik.
5. Seluruh Dosen, Staf Karyawan Fakultas Sains dan Teknologi, khususnya
Program Studi Teknik Informatika yang telah memberikan bantuan dan
kerjasama dari awal perkuliahan.
6. Kepada teman seperjuangan Teknik Informatika CCIT angkatan 2014 dan
khususnya teman - teman TI - A dan TI – B, yang sudah membantu penulis
dalam menyelesaikan skripsi ini, terima kasih atas dukungannya. Semoga
kita bisa lebih baik lagi dan sukses di masa yang akan datang.
7. Sahabat baik, teman berbagi cerita, suka duka, canda tawa bersama semasa
kuliah : Ilham Ramadhon, Khairatin, Ilham Aldair, Nur Adli, Novianto
Page 7
vi
Wisnu, Rahmat Sasongko, Raka Setiawan, Rifal Nofri, Romi Indira,
Taufikur Rahman, Umar Wira, Yazid Gostanov.
8. Seluruh pihak yang secara langsung maupun tidak langsung membantu
penulis dalam menyelesaikan skripsi ini.
Akhir kata, penulis menyadari bahwa dalam penyajian skripsi ini
masih jauh dari sempurna. Apabila ada kebenaran dari penulisan ini maka
kebenaran tersebut datangnya dari Allah, tetapi apabila ada kesalahan dalam
penulisan ini maka kesalahan ini berasal dari penulis. Semoga skripsi ini
membawa manfaat bagi pengembangan ilmu. Penulis berharap Allah SWT
berkenan membalas segala kebaikan semua pihak yang telah membantu dan
meridhai segala usaha kita.
Jakarta, 8 November 2019
Mahdi Muhammad Rizki
11140910000100
Page 8
vii
Nama : Mahdi Muhammad Rizki
Program Studi : Teknik Informatika
Judul : Analisis Sentimen Terhadap Produk Otomotif dari
Twitter Menggunakan Kombinasi Algoritma K-
Nearest Neighbor dan Pendekatan Lexicon
(Studi Kasus: Mobil Toyota)
ABSTRAK
Analisis sentiment merupakan cabang penelitian dari text mining. Dalam
dunia bisnis, opinion mining banyak digunakan untuk menganalisis secara otomatis
opini pelanggan tentang produk dan pelayanannya. Fokus dari opinion mining
adalah melakukan analisis opini dari suatu dokumen teks. Pengolahan kata dalam
penelitian ini berkaitan dengan proses klasifikasi dokumen tekstual ke dalam lima
kelas, yaitu gembira, marah, sedih, kecewa, dan takut. Data opini diperoleh dari
jejaring sosial Twitter berkaitan dengan komentar netizen terhadap produk otomotif
dari Toyota sebanyak 1000 komentar. Pada penelitian ini, penulis menggunakan
algoritma k-NN dalam mengklasifikasi data uji. Penelitian bertujuan untuk
mengetahui tingkat akurasi dari algoritma k-NN. Pengujian dilakukan dengan
menggunakan model confusion matrix pada data uji. Pengujian juga dilakukan
terhadap penentuan nilai k pada algoritma k-NN. Hasilnya, tingkat akurasi terbaik
kombinasi algoritma k-NN dan pendekatan lexicon yaitu sebesar 83% dengan nilai
k pada algoritma k-NN adalah k=3.
Kata kunci : Analisis Sentimen, opinion mining, text mining, Twitter,
klasifikasi, k-NN, Lexicon, Confusion Matrix.
Daftar Pustaka : 36 (2005 – 2019)
Jumlah Halaman : VI BAB + xiv Halaman + 107 Halaman + 32 Gambar + 31 Tabel
Page 9
viii
Nama : Mahdi Muhammad Rizki
Program Studi : Teknik Informatika
Judul : Analisis Sentimen Terhadap Produk Otomotif dari
Twitter Menggunakan Kombinasi Algoritma K-
Nearest Neighbor dan Pendekatan Lexicon
(Studi Kasus: Mobil Toyota)
ABSTRACT
Sentiment analysis is a research branch of text mining. In the business
world, opinion mining is widely used to automatically analyze customers ' opinions
about their products and services. The focus of opinion mining is to analyze the
opinion of a text document. The word processing in this study deals with the process
of classification of textual documents into five classes, namely joyful, angry, sad,
disappointed, and afraid. The opinion Data obtained from the Twitter social
network relates to netizens ' comments on automotive products from Toyota as much
as 1000 comments. In this study, the author used K-NN algorithm in classifying test
data. The research aims to determine the accuracy level of the algorithm K-NN.
Testing was conducted using a confusion matrix model in test data. Testing is also
done against the determination of the K-NN algorithm. The result, the best level of
accuracy algorithm combination k ¬-NN and lexicon approach of 83% with a value
of K on K-NN algorithm is k = 3.
Key-words : Sentiment analysis, opinion mining, text mining, Twitter,
Classification, k-NN, Lexicon, Confusion Matrix.
Bibliography : 36 (2005 – 2019)
Page Number : VI Chapters + xiv Pages + 107 Pages + 32 Pictures + 31 Tables
Page 10
ix
DAFTAR ISI
PERNYATAAN ORISINALITAS ...................................................................................... i
LEMBAR PERSETUJUAN ............................................................................................... ii
LEMBAR PENGESAHAN ............................................................................................... iii
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI .............................................. iv
KATA PENGANTAR ........................................................................................................ v
ABSTRAK ........................................................................................................................ vii
ABSTRACT ..................................................................................................................... viii
DAFTAR ISI ...................................................................................................................... ix
DAFTAR GAMBAR ........................................................................................................ xii
DAFTAR TABEL ............................................................................................................ xiii
BAB I PENDAHULUAN .................................................................................................. 1
1.1. Latar Belakang .................................................................................................... 1
1.2. Rumusan Masalah ............................................................................................... 5
1.3. Batasan Masalah ................................................................................................. 5
1.4. Tujuan Penelitian ................................................................................................ 6
1.5. Manfaat Penelitian .............................................................................................. 6
1.6. Metodologi Penelitian ......................................................................................... 6
1.7. Sistematika Penulisan ......................................................................................... 7
BAB II TINJAUAN PUSTAKA ....................................................................................... 9
2.1 Analisis Sentimen ............................................................................................... 9
2.2 Industri Otomotif .............................................................................................. 10
2.3 Twitter ............................................................................................................... 10
2.3.1 Twitter API ............................................................................................... 11
2.3.2 Analisis Sentimen pada Twitter ................................................................ 11
2.3.3 Struktur Data Twitter ................................................................................ 12
2.4 Natural Language Proccessing (NLP) ............................................................. 13
2.5 Text Mining ....................................................................................................... 14
2.6 Pre-proccessing ................................................................................................ 16
2.7 Klasifikasi ......................................................................................................... 17
2.8 Metode Klasifikasi Analisis Sentimen .............................................................. 18
Page 11
x
2.8.1 Supervised Learning ................................................................................. 18
2.8.2 Unsupervised Learning ............................................................................. 19
2.9 Algoritma .......................................................................................................... 20
2.9.1 Dasar Penyusunan Algortima .................................................................... 20
2.9.2 Struktur Dasar Algoritma .......................................................................... 21
2.9.3 Struktur Sekuensial ................................................................................... 21
2.9.4 Struktur Seleksi ......................................................................................... 22
2.9.5 Struktur Pengulangan ................................................................................ 22
2.10 Metode K-Nearest Neighbour (k-NN) .............................................................. 23
2.11 Confussion Matrix ............................................................................................. 24
2.12 Metode Simulasi ............................................................................................... 24
2.12.1 Problem Formulation ................................................................................ 25
2.12.2 Conceptual Model ..................................................................................... 26
2.12.3 Collection of Input/Output Data ............................................................... 26
2.12.4 Modelling Phase ....................................................................................... 26
2.12.5 Simulation Phase....................................................................................... 27
2.12.6 Verification, Validation and Experimentation .......................................... 27
2.12.7 Output Analysis Phase .............................................................................. 28
2.13 PHP ................................................................................................................... 28
2.14 Flowchart .......................................................................................................... 28
2.15 Basis Data ......................................................................................................... 30
2.15.1 Database Management System (DBMS) .................................................. 31
2.16 MySQL ............................................................................................................. 32
2.17 Studi Literatur Sejenis ....................................................................................... 33
BAB III METODOLOGI PENELITIAN ......................................................................... 36
3.1 Metode Pengumpulan Data ............................................................................... 36
3.1.1 Studi Pustaka ............................................................................................. 36
3.1.2 Observasi ................................................................................................... 36
3.2 Metode Simulasi ............................................................................................... 37
3.2.1 Problem Formulation (Formulasi Masalah) ............................................. 37
3.2.2 Conceptual Model (Pemodelan Konsep) .................................................. 38
3.2.3 Collection of Input/Output Data (Pengumpulan Data Masukan/Keluaran)
38
Page 12
xi
3.2.4 Modelling Phase (Tahap Pemodelan) ....................................................... 38
3.2.5 Simulation Phase (Tahap Simulasi) .......................................................... 39
3.2.6 Verification, Validation, and Experimentation ......................................... 39
3.2.7 Output Analysis Phase (Fase Hasil Analisa) ............................................. 39
3.3 Skenario Pengujian ........................................................................................... 39
3.4 Kerangka Berfikir Penelitian ............................................................................ 40
BAB IV IMPLEMENTASI ............................................................................................. 41
4.1. Problem Formulation ........................................................................................ 41
4.2. Conceptual Model ............................................................................................. 42
4.2.1. Conceptual Model Text Mining ................................................................. 42
4.2.2. Conceptual Model Klasifikasi Sentimen dengan pendekatan Lexicon ..... 47
4.2.3. Conceptual Model Klasifikasi Sentimen dengan Kombinasi Algoritma K-
Nearest Neighbor dan Pendekatan Lexicon............................................................... 49
4.3. Collection Input/Output Data ........................................................................... 54
4.4. Modelling Phase ............................................................................................... 59
4.4.1. Konstruksi Pendekatan Lexicon ................................................................ 60
4.4.2. Konstruksi Kombinasi Algoritma k-Nearest Neighbor dan pendekatan
Lexicon 62
4.5. Simulation Phase .............................................................................................. 74
4.5.1. Tahap pengujian data uji ........................................................................... 75
4.6. Verification, Validation and Experimentation .................................................. 85
4.7. Output Analysis Phase ...................................................................................... 85
BAB V HASIL DAN PEMBAHASAN........................................................................... 86
5.1. Verification, Validation and Experimentation .................................................. 86
5.2. Output Analysis Phase ...................................................................................... 87
5.2.1. Hasil Klasifikasi Sentimen Kombinasi Algoritma K-Nearest Neighbor dan
Pendekatan Lexicon .................................................................................................. 87
5.2.2. Analisis Hasil Tingkat Akurasi Kombinasi Algoritma K-Nearest Neighbor
dan Pendekatan Lexicon ............................................................................................ 87
BAB VI KESIMPULAN DAN SARAN ......................................................................... 96
6.1. Kesimpulan ....................................................................................................... 96
6.2. Saran ................................................................................................................. 96
DAFTAR PUSTAKA ....................................................................................................... 97
LAMPIRAN .................................................................................................................... 102
Page 13
xii
DAFTAR GAMBAR
Gambar 2. 1 Sistem Arsitektur Text Mining ......................................................... 15
Gambar 2. 2 Struktur Algoritma Sekuensial (Sumber: Kadir, 2012) .................... 21
Gambar 2. 3 Struktur Algoritma Seleksi (Sumber: Kadir, 2012) ......................... 22
Gambar 2. 4 Struktur Algoritma Pengulangan (Sumber: Kadir, 2012) ................ 22
Gambar 3. 1 Tahapan Pengumpulan Data Twitter ................................................. 37
Gambar 3. 2 Kerangka Berfikir Penelitian ............................................................ 40
Gambar 4. 1 Proses Dokumen Pre-proccessing .................................................... 42
Gambar 4. 2 Flowchart Normalisasi Kata ............................................................. 44
Gambar 4. 3 Flowchart Stopwords........................................................................ 45
Gambar 4. 4 Flowchart Algoritma Nazief dan Adriani ......................................... 47
Gambar 4. 5 Flowchart Diagram analisa pendekatan Lexicon ............................. 49
Gambar 4. 6 Flowchart Diagram Kombinasi k-NN dan Lexicon ......................... 50
Gambar 4. 7 Tahapan pelatihan data latih ............................................................. 51
Gambar 4. 8 Proses Case Folding ......................................................................... 51
Gambar 4. 9 Proses Filtering ................................................................................. 51
Gambar 4. 10 Proses Tokenizing .......................................................................... 52
Gambar 4. 11 Proses Normalisasi ......................................................................... 52
Gambar 4. 12 Proses stopwords dan stemming .................................................... 52
Gambar 4. 13 Hasil Proses Crawling .................................................................... 55
Gambar 4. 14 Tampilan Informasi Tingkat Akurasi Sistem Skenario 1 ............... 76
Gambar 4. 15 Tampilan Informasi Confusion Matrix Skenario 1 ........................ 77
Gambar 4. 16 Tampilan Informasi Tingkat Akurasi Sistem Skenario 2 ............... 78
Gambar 4. 17 Tampilan Informasi Confusion Matrix Skenario 2 ........................ 79
Gambar 4. 18 Tampilan Informasi Tingkat Akurasi Sistem Skenario 3 ............... 80
Gambar 4. 19 Tampilan Informasi Confusion Matrix Skenario 3 ........................ 81
Gambar 4. 20 Tampilan Informasi Tingkat Akurasi Sistem Skenario 4 ............... 82
Gambar 4. 21 Tampilan Informasi Confusion Matrix Skenario 4 ........................ 83
Gambar 4. 22 Tampilan Informasi Tingkat Akurasi Sistem Skenario 5 ............... 84
Page 14
xiii
Gambar 4. 23 Tampilan Informasi Confusion Matrix Skenario 5 ........................ 85
Gambar 5. 1 Grafik Hasil Penelitian ..................................................................... 92
Gambar 5. 2 Hasil perhitungan F-Measure ........................................................... 93
Page 15
xiii
DAFTAR TABEL
Tabel 1. 1 Penjualan mobil nasional 2018 dan 2019 (CNBC Indonesia) ................ 2
Tabel 2. 1 Tabel Klasifikasi (Sumber: Prasetyo, 2012) ........................................ 18
Tabel 2. 2 Confussion Matrix................................................................................ 24
Tabel 2. 3 Daftar Simbol Flowchart ...................................................................... 29
Tabel 2. 4 Studi Literatur Sejenis .......................................................................... 34
Tabel 4. 1 Tipe Data Input Kamus Lexicon Positif .............................................. 55
Tabel 4. 2 Tipe Data Input Kamus Lexicon Negatif ............................................. 55
Tabel 4. 3 Tipe Data Input Kamus Lexicon Negasi .............................................. 56
Tabel 4. 4 Tipe Data Input Kamus Emosi ............................................................. 56
Tabel 4. 5 Tipe Data Input Kamus KBBI ............................................................. 56
Tabel 4. 6 Tipe Data Input Kata Dasar ................................................................. 56
Tabel 4. 7 Tipe Data Input Kamus Stopwords ...................................................... 57
Tabel 4. 8 Tipe Data Input Data Latih .................................................................. 57
Tabel 4. 9 Tipe Data Input Data Uji ...................................................................... 57
Tabel 4. 10 Tipe Data Input Pelatihan .................................................................. 58
Tabel 4. 11 Tipe Data Pre Processing Query ........................................................ 58
Tabel 4. 12 Tipe Data Output Perhitungan Uji ..................................................... 58
Tabel 4. 13 Tipe Data Output Hasil Uji ................................................................ 59
Tabel 4. 14 Hasil identifikasi kata sentimen ......................................................... 62
Tabel 4. 15 Dokumen data latih ............................................................................ 63
Tabel 4. 16 Hasil casefolding pada data latih ....................................................... 64
Tabel 4. 17 Hasil filtering pada data latih ............................................................. 64
Tabel 4. 18 Hasil tokenizing pada data latih ......................................................... 65
Tabel 4. 19 Hasil normalisasi pada data latih ....................................................... 65
Tabel 4. 20 Hasil stopwords dan stemming pada data latih .................................. 66
Tabel 4. 21 Hasil pembobotan kata tf ................................................................... 67
Tabel 4. 22 Hasil pembobotan kata idf ................................................................. 68
Tabel 4. 23 Hasil Pembobotan Query Uji dengan data latih ................................. 70
Page 16
xiv
Tabel 4. 24 Hasil perkalian skalar antara query dan data latih ............................. 71
Tabel 4. 25 Hasil panjang setiap dokumen ........................................................... 72
Tabel 4. 26 Simulasi Penelitian ............................................................................. 74
Page 17
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Industri otomotif Indonesia telah menjadi sebuah pilar penting dalam sektor
manufaktur negara ini karena banyak perusahaan mobil yang terkenal di dunia
membuka (kembali) pabrik-pabrik manufaktur mobil atau meningkatkan kapasitas
produksinya di Indonesia, negara dengan ekonomi terbesar di Asia Tenggara.
Terlebih lagi, Indonesia mengalami transisi yang luar biasa karena berubah dari
hanya menjadi tempat produksi mobil untuk diekspor (terutama untuk wilayah Asia
Tenggara) menjadi pasar penjualan (domestik) mobil yang besar karena
meningkatnya produk domestik bruto (PDB) per kapita. Bagian ini mendiskusikan
industri mobil di Indonesia (indonesia-investments.com, 2017).
Pemerintah Indonesia bertekad untuk mengubah Indonesia menjadi pusat
produksi global untuk manufaktur mobil dan ingin melihat produsen-produsen
mobil yang besar untuk mendirikan pabrik-pabrik di Indonesia karena negara ini
bertekad untuk menggantikan Thailand sebagai pusat produksi mobil terbesar di
Asia Tenggara dan wilayah ASEAN. Dalam jangka panjang, Pemerintah ingin
mengubah Indonesia menjadi sebuah negara pemanufaktur mobil yang independen
yang memproduksi unit-unit mobil yang seluruh komponennya dimanufaktur di
Indonesia. Saat ini, Thailand mengontrol kira-kira 43,5% dalam konteks penjualan
di wilayah ASEAN, sementara Indonesia berada di posisi kedua dengan 34%
pangsa pasar (indonesia-investments.com, 2017).
Penjualan mobil nasional pada Januari 2019 turun 15,36% secara tahunan.
Penurunan penjualan mobil Januari 2019 ini merupakan yang terdalam sejak 2009.
Berdasarkan data Gaikindo yang disampaikan PT Astra International Tbk (ASII),
penjualan total kendaraan roda empat selama Januari 2019 tercatat hanya 81.218
unit. Padahal, pada periode yang sama tahun lalu, jumlah penjualan kendaraan
nasional mencapai 95.955 unit. Hampir semua agen tunggal pemegang merek
(ATPM) mengalami penurunan penjualan selama periode tersebut. Besaran
penurunan penjualan ATPM tersebut mulai dari 1%-28% .
Page 18
2
Pada Januari 2018 penjualan mobil secara tahunan atau YoY tercatat naik
11,2% dan pada Januari 2017 naik 1,5%. Pada Januari 2016 tercatat turun 9,8% dan
Januari 2015 turun 9,1% (cnbcindonesia.com, 2019).
Tabel 1. 1 Penjualan mobil nasional 2018 dan 2019 (Sumber: CNBC Indonesia, 2019)
Produk
Total
Domestik
(unit)
Total
Domestik
(unit)
Total LCGC
(unit)
Total LCGC
(unit)
Januari 2018 Januari 2019 Januari 2018 Januari 2019
Astra 45.760 42.204 14.333 11.540
Non Astra 50.195 39.014 6.054 5.425
Beberapa hal yang menjadi perhatian khusus oleh konsumen dalam citra
perusahaan adalah adanya persaingan harga, reputasi perusahaan di mata
konsumen, pelayanan jasa yang diberikan penyedia jasa, dan adanya komitmen
organisasi yang ada dalam perusahaan tersebut. Diantara beberapa hal tersebut,
yang dianggap paling penting adalah pelayanan jasa yang diberikan penyedia jasa
terhadap konsumen. Hal tersebut dianggap penting karena pada pelayanan akan
menimbulkan beberapa presepsi bahwa pelanggan merasa puas atau merasa kecewa
(Febryanto, 2017).
J.D power Asia Pasifik mengemukakan bahwa tingkat kepuasan pelanggan
terhadap pelayanan merek di Indonesia mengalami peningkatan. Sementara Toyota
mendapat peringkat tertinggi dalam kepuasan pelayanan secara keseluruhan di
antara merek lainnya. Setelah ditotal dari berbagai variabel, nilai merek penguasa
pasar di Indonesia itu mencapai 769. Disebutkan bahwa Toyota tampil sangat baik
dalam hal konsultan layanan, fasilitas servis, dan kualitas servis. Nissan berada di
peringkat kedua (767), diikuti oleh Mitsubishi (766) dan Daihatsu (765)
(kompas.com, 2016).
Dengan fenomena tersebut, para pengguna banyak memberikan macam
pendapat, baik itu pendapat bersifat pujian maupun keluhan yang dipublikasikan di
Page 19
3
berbagai media sosial, salah satunya adalah Twitter. Sebagai jawaban, pengguna
Twitter di seluruh dunia mencapai 328 juta (2018). Indonesia merupakan salah satu
negara dengan jumlah pengguna Twitter terbesar di dunia. Dari data yang dirilis
Twitter Indonesia pada akhir 2016 lalu, disebutkan bahwa 77 persen pengguna
Twitter di Indonesia merupakan pengguna aktif dan dilihat dari jumlah tweet yang
dihasilkan sepanjang 2016 yang mencapai 4.1 miliar tweet (BeritaSatu.com, 2017).
Twitter seringkali digunakan untuk mengungkapkan emosi mengenai
sesuatu hal, baik memuji ataupun mencela. Emosi dapat dikelompokkan menjadi
emosi positif dan emosi negatif. Emosi manusia dapat dikategorikan menjadi lima
emosi dasar yaitu cinta, senang, sedih, marah dan takut. Emosi cinta dan senang
termasuk kedalam emosi positif. Emosi sedih, marah, dan takut merupakan emosi
negatif. Dalam menganalisis sentimen masyarakat diperlukanlah klasifikasi suatu
opini baik positif maupun negative pada Twitter. Namun jika mengklasifikasi
dengan cara manual akan membutuhkan waktu dan usaha yang banyak dalam
pelaksanaannya. Oleh karena itu, dibutuhkan sebuah cara dalam mengklasifikasi
suatu opini tersebut dengan lebih cepat dan akurat. Salah satunya penggunaan Text
Mining yang berfungsi untuk menganalisis atau mengelompokkan dokumen atau
teks dari sejumlah besar dokumen atau teks (Yunita, 2017)
Analisis sentimen atau opinion mining merupakan proses memahami,
mengekstrak dan mengolah data tekstual secara otomatis untuk mendapatkan
informasi sentimen yang terkandung dalam suatu kalimat. Minimumnya di dalam
analisis sentimen terdapat 2 kategori dalam menentukan sentimen yaitu kategori
sentimen positif dan negatif. Sentimen analisis sendiri merupakan salah satu model
klasifikasi data dengan pendekatan supervised learning di dalam machine learning.
Machine learning mempunyai 2 tipe teknik yaitu supervised learning dan
unsupervised learning (Brownlee, 2016).
Supervised learning adalah salah satu tipe algoritma machine learning yang
menggunakan data latih yang dikenal (training dataset) untuk membuat prediksi.
Sedangkan unsupervised learning adalah salah satu tipe algoritma machine
learning yang digunakan untuk menarik kesimpulan dari dataset yang terdiri dari
input data labeled response. Metode unsupervised learning yang paling umum
Page 20
4
adalah analisa cluster, yang digunakan pada analisa data untuk mencari pola-pola
tersembunyi atau pengelompokan dalam data, sedangkan pada supervised learning
contoh yang paling umum adalah klasifikasi data. Mayoritas praktis dari machine
learning sendiri menggunakan supervised learning. Karena besarnya pengaruh dan
manfaat dari klasifikasi data menyebabkan penelitian dan aplikasi berbasis
klasifikasi data seperti text mining, analisis sentimen justru berkembang pesat
(Ghulam, 2016).
Berbagai metode telah dikembangkan dan diterapkan untuk klasifikasi teks.
Seperti K-Nearest Neighbor (K-NN), Naive Bayes Classifier (NBC), SVM, Deep
Learning. Kemudian beberapa klasifikasi yang bergantung dengan kamus atau
Knowledge Base Approach yakni Lexicon dan Point Mututal Information (Bo,
2014).
Alasan penulis menggunakan algoritma K-NN karena, menurut penelitian
(Kurniawan, 2017) KNN memiliki beberapa kelebihan yaitu bahwa dia tangguh
terhadap training data yang noisy dan efektif apabila data latih nya besar dan dapat
menghasilkan data yang lebih akurat. Menurut (Bo, 2014) Lexicon-Based
menggunakan dictionary atau kamus lexicon untuk melakukan penilaian terhadap
kata. Pada dictionary, kata-kata dipasangkan dengan nilai polaritasnya. Yang harus
dilakukan sebelum melakukan analisis menggunakan lexicon adalah menentukan
kata yang akan dianalis dari corpus. Dan metode Pointwise Mutual Inoformation
(PMI) memiliki kekurangan yaitu menghasilkan nilai semantic similarity yang
tinggi pada pasangan kata dengan probabilitas kemunculan rendah.
Pada penelitian ini akan dilakukan klasifikasi orientasi sentimen dalam 5
jenis yaitu gembira, marah, sedih, kecewa, dan takut menggunakan kombinasi
Algoritma K-Nearest Neighbor dan pendekatan Lexicon. Adapun topik dalam
penelitian ini adalah menentukan analisis sentimen terhadap produk otomotif dari
Toyota. Penulis menggunakan klasifikasi 5 emosi dikarenakan pada tahap akhir dari
penelitian akan dijelaskan tweet-tweet konsumen terhadap produk Toyota dari tiap-
tiap emosi.
Page 21
5
Dari penjelasan di atas penulis merumuskan judul penelitian yaitu,
“Analisis Sentimen Terhadap Produk Otomotif dari Twitter Menggunakan
Kombinasi Algoritma K-Nearest Neighbor dan Pendekatan Lexicon (Studi
Kasus: Mobil Toyota)” dari judul tersebut diharapkan penulis akan mendapatkan
perbandingan akurasi dari kedua metode dalam menentukan orientasi sentimen.
1.2. Rumusan Masalah
Berdasarkan tujuan penelitian maka perumusan masalah utama adalah
“Bagaimana menganalisis sentimen pengguna terhadap produk mobil toyota dari
twitter menggunakan kombinasi algoritma k-nearest neighbor dan pendekatan
lexicon?”
1.3. Batasan Masalah
Dengan luasnya cakupan pembahasan, maka penulis membatasi ruang
lingkup pembahasan agar penulis dapat fokus pada pembahasan yang ada. Ruang
lingkup pembahasan adalah:
1. Tweet yang dianalisis sentimen hanya tweet tentang mobil merek
Toyota.
2. Klasifikasi sentimen dibagi menjadi lima, yaitu sentimen gembira,
marah, sedih, kecewa, dan takut.
3. Nilai k yang digunakan pada algoritma k-NN adalah k=1, k=3, k=5, K=9
dan k=10.
4. Menggunakan fitur seleksi TF-IDF pada algoritma K-NN.
5. Menggunakan data latih hasil crawling Twitter dengan tweet yang
merujuk mobil Toyota serta jumlah data latih sebanyak 900 tweet dan
data uji sebanyak 100 tweet.
6. Menggunakan kamus emosi dari EmoSenticNet.
7. Cakupan penelitian ini adalah sebatas menghitung akurasi kombinasi
algoritma K-Nearest Neighbor dan pendekatan Lexicon.
8. Bahasa Pemrograman yang digunakan Hypertext Preprocessor atau
PHP 7.1.11 dan Database MySql menggunakan XAMPP control panel.
9. Metode pengembangan sistem yang digunakan adalah metode simulasi.
Page 22
6
1.4. Tujuan Penelitian
Tujuan dari penelitian ini ialah melakukan analisis sentimen pengguna
terhadap produk mobil merek Toyota dari Twitter menggunakan kombinasi
algoritma K-Nearest Neighbor dan pendekatan Lexicon.
1.5. Manfaat Penelitian
Manfaat yang didapatkan dari penelitian ini adalah:
1.5.1. Penulis
Mengaplikasikan ilmu-ilmu akademis yang didapat selama perkuliahan ke
dalam aplikasi Natural Language Processing (NLP) untuk identifikasi
sentimen twitter terkait mobil produk Toyota dengan menggunakan
kombinasi algoritma K-Nearest Neighbor (K-NN) dan pendekatan Lexicon.
1.5.2. Universitas
1. Mengetahui kemampuan mahasiswa dalam menguasai materi
perkuliahan.
2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan
sebagai bahan evaluasi.
3. Memberikan gambaran tentang kesiapan mahasiswa dalam menghadapi
dunia kerja yang sebenarnya
1.5.3. Pembaca
Manfaat penelitian ini bagi pembaca yaitu:
1. Menambah wawasan pembaca mengenai bagaimana hasil dari
kombinasi algoritma K-Nearest Neighbor dan pendekatan Lexicon
dalam melakukan analisis orientasi sentimen terhadap data twitter.
2. Membantu pembaca untuk memahami bagaimana penggunaan
kombinasi algoritma K-Nearest Neighbor dan pendekatan Lexicon
dalam aplikasi berbasis PHP.
1.6. Metodologi Penelitian
Untuk mencapai tujuan penelitian, maka dalam penelitian ini penulis
menggunakan metode-metode sebagai berikut:
Page 23
7
1.6.1. Pengumpulan Data
Metode pengumpulan data dilakukan dengan studi kepustakaan dan
literatur, yaitu dengan mencari buku-buku yang berkaitan serta jurnal
sebagai referensi dan melakukan observasi berupa crawling data.
1.6.2. Metode Simulasi
Pada penelitian ini Penulis melakukan simulasi terhadap sistem yang
dibuat. Adapun langkah-langkah yang dilakukan yaitu (Madani, Kazmi, &
Mahlknecht, 2014):
1. Problem Formulation
2. Conceptual Model
3. Input Output Data
4. Modelling
5. Simulation
6. Verification, Validation, Experimentation and Output Analysis
1.7. Sistematika Penulisan
Sistematika penulisan skripsi ini dibagi menjadi terdiri dari pokok-pokok
permasalahan yang dibahas pada masing-masing yang akan diuraikan menjadi
beberapa bagian.
BAB I PENDAHULUAN
Bab ini membahas tentang gambaran umum isi tugas akhir yang
meliputi latar belakang masalah, rumusan masalah, batasan masalah,
tujuan, manfaat penelitian, metodologi penelitian dan sistematika
penulisan.
BAB II TINJAUAN PUSTAKA
Page 24
8
Bab ini menyajikan tentang teori-teori yang bersumber dari buku,
jurnal dan e-book berhubungan dengan fakta atau kasus yang sedang
dibahas.
BAB III METODOLOGI PENELITIAN
Bab ini membahas langkah-langkah yang dilaksanakan dalam proses
penelitian berkaitan dengan pengumpulan data dan metode yang
digunakan dalam melakukan simulasi.
BAB IV PERANCANGAN DAN PENGUJIAN SISTEM
Bab ini berisi tentang simulasi sistem dari perancangan sampai
pengujian sistem sesuai dengan metode yang digunakan pada sistem.
BAB V HASIL DAN PEMBAHASAN
Bab ini membahas tentang output yang dihasilkan berdasarkan
analisis perancangan dan implementasi yang dilakukan pada sistem.
BAB VI PENUTUP
Bab ini berisi mengenai beberapa kesimpulan dan saran berdasarkan
pembahasan pada bab-bab sebelumnya.
Page 25
9
BAB II
TINJAUAN PUSTAKA
2.1 Analisis Sentimen
Analisis sentimen dikatakan sebagai opinion mining dapat digunakan dalam
berbagai kemungkinan domain/entitas dari produk dan jasa, peristiwa sosial dan
politik serta kegiatan tertentu lainnya. Opinion atau pendapat adalah pusat dari
semua aktifitas manusia karena merupakan pemberi pengaruh utama perilaku kita.
Opinion dan konsep sejenisnya seperti sentimen, evaluasi, sikap, dan emosi adalah
subjek studi tentang analisis sentiment (Liu, 2016).
Analisis sentimen merupakan topik penelitian yang aktif dibawah Natural
Language Proccessing yang bertujuam untuk membangun sebuah metode yang
dapat diimplementasikan menjadi sebuah tools yang dapat digunakan untuk
mengekstraksi informasi subjektif berupa sentiment atau opini dalam sebuah data
text. Kecenderungan penelitian tentang analisis sentimen berfokus pada pendapat
yang menyatakan suatu sentimen memiliki nilai positif atau negative (Liu, 2016).
Liu mencontohkan permasalahan kalimat sentimen pada kasus pemilihan
berikut: “(1) Saya membeli IPhone 7 enam bulan yang lalu. (2) Saya menyukai
kameranya yang memiliki kualitas gambar menakjubkan. (3) Ketahanan pemakaian
baterai juga sangat bagus. (4) Namun kurang baik karena tidak memiliki fitur fast
charging“.
Dari tulisan tersebut dapat dijelaskan sebagai berikut: tulisan ini memiliki
pendapat tentang suatu entitas/domain yaitu IPhone 7. Pada kalimat (2) dan kalimat
(3) kecenderungan pendapat positif terhadap IPhone 7 tentang kamera yang
menghasilkan kualitas gambar yang bagus dan ketahanan daya baterai yang bagus.
Sedangkan pada kalimat (4) mengekspresikan pendapat negatif tentang fitur
charging yang tidak ada.
Page 26
10
2.2 Industri Otomotif
Industri otomotif ialah merancang, mengembangkan, memproduksi,
memasarkan, dan menjual serta melakukan purna jual kendaraan bermotor.
Pengertian otomotif jika dilihat dari fungsi kata otomotif’ yang berkedudukan
sebagai kata sifat, otomotif merupakan sesuatu yang berhubungan dengan alat yang
dapat berputar atau bergerak dengan sendirinya. Otomotif biasanya akan dikaitkan
dengan motor atau mesin yang dapat menggerakan benda yang lebih besar daripada
mesin/motor penggerak tersebut. Otomotif juga mempunyai kaitan yang sangat erat
dengan dunia industri dan transportasi di mana kedua bidang tersebut pada
umumnya akan menggunakan tenaga mesin atau motor untuk menggerakan alat
pada mobil, motor, bus, dan alat-alat besar yang sering kali digunakan di industri-
industri besar. Namun sayangnya sebgaian besar orang awam yang tidak mengenal
lebih jauh tentang pengertian otomotif akan menyamakan istilah otomotof dengan
berbagai macam alat transportasi seperti mobil, motor, dan bus. Dan bahkan ada
sebagaian orang yang menganggap istilah otomotif sama dengan mobil. Tentu saja
anggapan ini sangat salah karena pada dasarnya istilah otomotif lebih mengacu pada
mesin atau motor sebagai sumber pengerak mobil atau jenis transportasi lainnya
bukan sebagai mobilnya (Kompasiana.com, 2015)
2.3 Twitter
Twitter adalah sebuah situs web yang dimiliki dan dioperasikan oleh Twitter
Inc., yang menawarkan jaringan sosial berupa microblog sehingga memungkinkan
penggunanya untuk mengirim dan membaca pesan Tweets (Twitter, 2013).
Mikroblog adalah adalah satu jenis alat komunikasi online berupa pengguna dapat
memperbarui status tentang mereka yang sedang memikirkan dan melakukan
sesuatu, apa pendapat mereka tentang suatu objek atau fenomena tertentu. Tweets
adalah teks tulisan hingga 140 karakter yang ditampilkan pada halaman profil
pengguna. Tweets bisa dilihat secara publik, namun pengirim dapat membatasi
pengiriman pesan ke daftar teman-teman mereka saja. Pengguna dapat melihat
Tweets pengguna lain yang dikenal dengan sebutan pengikut (follower).
Page 27
11
2.3.1 Twitter API
Application Programming Interface (API) merupakan fungsi-
fungsi/perintah-perintah untuk menggantikan bahasa yang digunakan dalam
system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti
oleh programmer. Fungsi yang dibuat dengan menggunakan API tersebut
kemudian akan memanggil system calls sesuai dengan sistem operasinya.
Tidak tertutup kemungkinan nama dari system calls sama dengan nama di
API. Twitter menyediakan API yang diperuntukkan untuk developer yang
ada pada website https://developer.twitter.com. Twitter API terdiri dari 3
bagian yaitu :
a. Search API
Search API dirancang untuk memudahkan user dalam mengelola query
search di konten Twitter. User dapat menggunakannya untuk mencari
tweet berdasarkan keyword khusus atau mencari tweet lebih spesifik
berdasarkan username Twitter. Search API juga menyediakan akses
pada data Trending Topic.
b. REST API
REST API memperbolehkan developer untuk mengakses inti dari
Twitter seperti timeline, status update dan informasi user. REST API
digunakan dalam membangun sebuah aplikasi Twitter yang kompleks
yang memerlukan inti dari Twitter
c. Streaming API
Streaming API digunakan developer untuk kebutuhan yang lebih
intensif seperti melakukan penelitian dan analisis data. Streaming API
dapat menghasilkan aplikasi yang dapat mengetahui statistik status
update, follower dan lain sebagainya.
2.3.2 Analisis Sentimen pada Twitter
Definisi analisis sentimen twitter pada dasarnya merujuk pada
pendapat komentar yang ada pada media twitter. Pesan twitter lebih mudah
untuk dilakukan analisis karena penulisan yang dibatasi. Kalimat seringkali
Page 28
12
memuat pendapat tunggal, meskipun tidak bersifat mutlak bahwa setiap
kalimat berisi pendapat tunggal. Dalam kasus lain terdapat kalimat dengan
pendapat lebih dari satu pada suatu kalimat namun ini hanya sebagian kecil
(Liu, 2016).
Pada dasarnya analisis sentimen merupakan tahapan klasifikasi.
Namun tahapan klasifikasi sentimen pada twitter yang tidak terstruktur
menyebabkan sedikit lebih sulit dibanding dengan klasifikasi dokumen
terstruktur. Langkah pertama adalah untuk mengklasifikasikan apakah
kalimat mengungkapkan pendapat atau tidak. Langkah kedua adalah
mengklasifikasikan kalimat-kalimat pendapat menjadi positif dan kelas
negatif.
2.3.3 Struktur Data Twitter
Untuk mendalami permasalahan analisis sentimen twitter diperlukan
pemahaman terhadap struktur data twitter itu sendiri. Twitter menjadi
sumber yang hampir tak terbatas yang digunakan pada text classification.
Menurut Go (2009), terdapat banyak karakteristik pada tweets twitter. Pesan
pada twitter memiliki banyak attribute yang unik, yang membedakan dari
media sosial lainnya:
1. Twitter memiliki maksimal panjang karakter yaitu 140 karakter.
2. Twitter menyediakan data yang bisa diakses secara bebas dengan
menggunakan Twitter API, mempermudah saat proses pengumpulan
tweets dalam jumlah yang sangat banyak.
3. Pengguna twitter mem-posting pesan melalui banyak media berbeda
untuk mengungkapkan pendapat tentang suatu topik atau kejadian
tertentu, sehingga merupakan sumber yang bagus dalam menemukan
pendapat orang lain.
4. Terdapat ragam topik didalamnya. Setiap pengguna dapat menuliskan
topik apapun pada pesan twitter.
Page 29
13
2.4 Natural Language Proccessing (NLP)
Natural Language Processing (NLP) adalah salah satu bidang ilmu
komputer yang merupakan cabang dari kecerdasan buatan, dan bahasa (linguistik)
yang berkaitan dengan interaksi antara komputer dan bahasa alami manusia, seperti
bahasa Indonesia atau bahasa Inggris. Tujuan utama dari studi NLP adalah
membuat mesin yang mampu mengerti dan memahami makna bahasa manusia lalu
memberikan respon yang sesuai (Rio, 2016).
Natural Language Processing (NLP) merupakan salah satu cabang ilmu AI
yang berfokus pada pengolahan bahasa natural. Bahasa natural adalah bahasa yang
secara umum digunakan oleh manusia dalam berkomunikasi satu sama
lain. Bahasa yang diterima oleh komputer butuh untuk diproses dan dipahami
terlebih dahulu supaya maksud dari user bisa dipahami dengan baik oleh komputer.
Ada berbagai terapan aplikasi dari NLP. Diantaranya adalah Chatbot (aplikasi yang
membuat user bisa seolah-olah melakukan komunikasi dengan computer),
Stemming atau Lemmatization (pemotongan kata dalam bahasa tertentu menjadi
bentuk dasar pengenalan fungsi setiap kata dalam kalimat), Summarization
(ringkasan dari bacaan), Translation Tools (menterjemahkan bahasa) dan aplikasi-
aplikasi lain yang memungkinkan komputer mampu memahami instruksi bahasa
yang diinputkan oleh user (www.socs.binus.ac.id, 2013).
Berdasarkan (Putstejovsky & Stubbs, 2012) dalam penerapannya, tujuan
NLP untuk memahami bahasa manusia ini memiliki bahasa tantangan, yang antara
lain adalah sebagai berikut:
1. Penandaan kelas kata (part of speech tagging). Sulit untuk menandai kelas kata
(kata benda, kata kerja, kata sifat) suatu kata dalam teks karena pengelasan kata
sangat bergantung kepada konteks penggunaanya.
2. Segmentasi teks. Penentuan segmentasi sulit dilakukan pada bahasa tulis yang
tidak memiliki pembatas kata spsesifik seperti (Mandarin, Thailand dan Jepang)
serta bahasa lisan yang terkadang membaurkan bunyi antar kata.
3. Disambiguasi makna kata. Banyak kata yang memiliki lebih dari satu makna
baik dalam bentuk homonim maupun polisemi. Pembedaan makna hanya dapat
dilakukan dengan melihat konteks penggunaan.
Page 30
14
4. Ambiguitas sintak. Suatu bahasa memiliki berbagai kemungkinan struktur
kalimat. Pemilihan struktur yang paling tepat biasanya membutuhkan gabungan
informasi semantik dan kontekstual.
Diluar dari kesulitan-kesulitan tersebut, NLP telah berhasil diterapkan untuk
berbagai tugas yang semula hanya dapat dilakukan oleh manusia. Beberapa bidang
populer dalam penerapan NLP adalah sebagai berikut:
1. Pemerolehan Informasi. Pencarian dokumen yang relevan, pencarian informasi
yang spesifik di dalam dokumen, serta pembuatan metadata.
2. Penjawaban pertanyaan. Secara otomatis menjawab pertanyaan yang diajukan
dengan bahasa alami dengan jawaban bahasa alami pula.
3. Perangkuman otomatis. Pembuatan versi singkat berisi butir-butir penting dari
suatu dokumen dengan menggunakan program komputer.
4. Penerjemahan mesin. Penerjemahan otomatis dari suatu bahasa alami ke bahasa
lain.
5. Pengenalan wicara. Pengubahan bahasa lisan menjadi masukan yang dikenali
oleh mesin, misalnya pada pendiktean bahasa lisan kepada komputer untuk
menghasilkan bahasa tulis atau pelaksanaan suatu perintah oleh komputer
berdasarkan bahasa lisan dari manusia.
6. Pengenalan karakter optis. Pengubahan penulisan tangan atau teks tercetak
menjadi dokumen yang dapat dikenali oleh mesin.
2.5 Text Mining
Menurut (Mooney, 2006), text mining memiliki definisi menambang data
yang berupa teks sumber data biasanya didapatkan dari dokumen, dan tujuannya
adalah mencari kata-kata yang dapat mewakili isi dari dokumen sehingga dapat
dilakukan analisa keterhubungan antar dokumen. Berikut ini merupakan tahapan
dari text mining:
1. Tahap Tokenizing
Tahap tokenizing adalah tahap pemotongan string input berdasarkan tiap kata yang
menyusunya. Contoh dari tahap ini adalah sebagai berikut:
a. Manajemen Pengetahuan (teks input)
b. Manajemen pengetahuan (hasil tokenizing)
Page 31
15
2. Tahap Filtering
Tahap filtering adalah tahap mengambil kata-kata penting dari hasil tokenizing.
Bisa menggunakan stoplist (membuang kata yang kurang penting) dan wordlist
(menyimpan kata yang penting. Contoh dari tahap ini adalah sebagai berikut:
a. manajemen pengetahuan adalah sebuah konsep baru (hasil token).
b. manajemen pengetahuan konsep baru (hasil filtering)
3. Tahap Stemming
Tahap stemming adalah adalah tahap mencari root kata dari teks yang dimasukan.
Contoh dari tahap ini adalah sebagai berikut:
a. Memasukan (teks input)
b. Masuk (hasil stemming)
4. Tahap Analisis
Tahap analisis adalah tahap penentuan seberapa jauh keterhubungan antara kata-
kata dengan dokumen yang ada.
Berikut gambaran sistem arsitektur text mining yang dicantumkan pada buku
(Feldman, R., & Sanger, 2007)
Gambar 2. 1 Sistem Arsitektur Text Mining (Sumber: Feldman, 2007)
Penelitian dibidang text mining menangani masalah yang berkaitan dengan
representasi teks, klasifikasi, clustering, ekstraksi informasi atau pencarian dan
pemodelan pola. Dalam hal ini pemilihan karakteristik, juga domain penelitan dan
prosedur penelitian menjadi peran penting. Oleh karena itu, adaptasi dari algoritma
data mining dari teks yang diketahui sangat diperlukan. Maka dari itu untuk
mencapai hal ini seringkali berdasarkan penelitian sebelumnya text mining
bergantung pada information retrieval, natural language processing dan
information extraction. Selain itu juga penerapan metode data mining dan statistic
juga diterapkan untuk menangani masalah ini (Hotho, Nurnberger, & Paaß, 2005).
Page 32
16
Information Retrieval (IR) adalah menemukan bahan (biasanya dokumen)
dari suatu keadaan yang tidak terstruktur (biasanya teks) yang memenuhi kebutuhan
informasi dari dalam kumpulan data yang besar (biasanya disimpan didalam
komputer) (Manning, dkk. 2009). Natural Language Processing (NLP) bertujuan
untuk mencapai hasil yang lebih baik dalam pemahaman bahasa alami dengan
menggunakan komputer. Sedangkan Ekstraksi Informasi (IE). Bertujuan untuk
menemukan informasi tertentu dari dokumen teks yang kemudian Ini disimpan
dalam basis data seperti pola sehingga dapat digunakan dan dimanfaatkan (Hotho
et al., 2005).
(Hotho et al., 2005) juga mengatakan bahwa pada penelitian text mining
diperlukan tahapan text preprocessing pada koleksi dokumen dan menyimpan
informasi tersebut dalam struktur data. Pendekatan text mining didasarkan pada
pemikiran bahwa dokumen teks dapat diwakili oleh satu set kata-kata, yaitu
dokumen teks digambarkan berdasarkan pada set kata-kata yang terkandung di
dalamnya.
2.6 Pre-proccessing
Pre-processing dalam proses klasifikasi dokumen digunakan untuk
membangun sebuah index dari koleksi dokumen. Index adalah himpunan term yang
menunjukkan isi atau topik yang dikandung oleh dokumen (Indriani, 2014).
Pembuatan inverted index harus melibatkan konsep linguistic processing
yang bertujuan meng-ekstra term-term penting dari dokumen yang dipresentasikan
sebagai bag-of-words. Ekstraksi term biasanya melibatkan tiga operasi utama,
antara lain:
a. Pemisahan rangkaian term (tokenization). Tokenization adalah tugas
memisahkan deretan kata di dalam kalimat, paragraph atau halaman menjadi
token atau potongan kata tunggal atau termedword. Tahapan ini juga
menghilangkan karakter-karakter tertentu seperti tanda baca dan mengubah
semua token ke bentuk huruf kecil (lower case).
b. Penghapusan stop-words. Stop word didefinisikan sebagai term yang tidak
berhubungan (irrelevant) dengan subyek utama dari database meskipun kata
Page 33
17
tersebut sering kali hadir di dalam dokumen. Contoh stop words adalah
ada,adalah, adanya, adapun, agak, dll.
c. Stemming. Kata-kata yang muncul di dalam dokumen sering mempunyai
banyak varian morfologik. Karena itu, setiap kata yang bukan stop-words
direduksi ke stemmed word (term) yang cocok yaitu kata tersebut distem untuk
mendapatkan bentuk akarnya dengan menghilangkan awalan atau akhiran.
Dengan cara ini, diperoleh kelompok kata yang cocok berupa kata-kata di
dalam kelompok tersebut merupakan varian sintaktis dari satu sama lain dan
dapat menghimpun hanya satu kata per kelompok. Sebagai contoh,kata
terdaftar, pendaftaran berbagi-pakai term stem umum daftar, dan dapat
diperlakukan sebagai bentuk lain dari kata ini (Indriani, 2014)
2.7 Klasifikasi
Klasifikasi merupakan suatu metode untuk mengelompokkan sebuah objek
ke dalam kelompok atau kelas tertentu (Syafitri, 2010). Algoritma klasifikasi yang
banyak digunakan secara luas, yaitu Decision atau Classification Trees, Bayesian
Classifiers atau Naïve Bayes classifiers, Neural Networks, Analisa Statistik,
Algoritma Genetika, Rough Sets, K-Nearest Neighbor, Metode Rule Based,
Memory Based Reasoning, dan Support Vector Machines (SVM) (Leidiyana, 2013).
Proses ini dilakukan agar data atau citra dapat dikategorikan dalam suatu kelas
tertentu yang telah ditentukan.
Sebuah sistem klasifikasi juga harus diukur kinerjanya guna melihat tingkat
akurasi dan kesalahan dari sistem tersebut. Umumnya, pengukuran kinerja
klasifikasi dilakukan dengan matriks konfusi (confusion matrikx). Matriks konfusi
merupakan tabel pencatat hasil kerja klasifikasi. Tabel 2.2 merupakan contoh
matriks konfusi yang melakukan klasifikasi masalah biner pada dua kelas yaitu
kelas 0 dan 1. Setiap set 𝑓𝑖𝑗 dalam matriks menyatakan jumlah record/data dari kelas
i yang hasil prediksinya masuk ke kelas j. Misalnya, set 𝑓11 adalah jumlah data
dalam kelas 1 yang secara benar dipetakan ke kelas 1, dan 𝑓10 adalah data dalam
kelas 1 yang dipetakan secara salah kelas 0 (Prasetyo, 2012)
Page 34
18
Tabel 2. 1 Tabel Klasifikasi (Sumber: Prasetyo, 2012)
𝑓𝑖𝑗 Kelas hasil prediksi (j)
Kelas = 1 Kelas = 0
Kelas Asli (i) Kelas = 1 𝑓11 (True Positive) 𝑓10 (False
Negative)
Kelas = 0 𝑓01 (False
Positive)
𝑓00 (True
Negative)
Berdasarkan isi matriks konfusi, dapat diketahui jumlah data dari masing-
masing kelas yang diklasifikasikan secara benar, yaitu (𝑓10+ 𝑓01) kuantitas matriks
konfusi dapat diringkas menjadi dua nilai, yaitu akurasi dan laju error.
Beradasarkan jumlah data yang diklasifikasi secara benar, maka dapat diketahui
akurasi hasil prediksi, dan dengan mengetahui jumlah data yang diklasifikasikan
secara salah, dapat diketahui laju error dari prediksi yang dilakukan. Dua kuantitas
ini digunakan sebagai matrik kinerja klasifikasi (Prasetyo, 2012).
Untuk menghitung akurasi digunakan formula sebagai berikut:
……………(2.1)
Untuk menghitung laju error (kesalahan prediksi) digunakan formula
……………(2.2)
2.8 Metode Klasifikasi Analisis Sentimen
Ada dua pendekatan utama dalam menentukan orientasi sentimen (Liu,
2016) yaitu, pendekatan supervised learning dan unsupervised learning.
2.8.1 Supervised Learning
Supervised learning adalah sebuah pendekatan berupa data yang
sudah dilatih, dan terdapat variable yang ditargetkan sehingga tujuan dari
pendekatan ini adalah mengkelompokan (klasifikasi) suatu data ke data
Page 35
19
yang sudah ada. Algoritma ini mengamati sekumpulan pasangan masukan-
keluaran dalam jumlah yang cukup besar dan kemudian menghasilkan
sebuah model yang mampu memetakan masukan yang baru menjadi
keluaran yang tepat (Liu, 2016).
Terdapat empat isu yang harus dipertimbangkan dalam
menggunakan teknik supervised learning (Feldman, R., & Sanger, 2007)
yaitu perlunya memutuskan kategori yang akan digunakan untuk
mengklasifikasikan kasus. Kedua, dibutuhkan satu set pelatihan untuk
masing-masing kategori. Ketiga, perlu menentukan fitur dari setiap
kategori. Biasanya, lebih baik untuk menghasilkan fitur sebanyak mungkin
karena sebagian besar algoritma akan dapat fokus hanya pada fitur yang
relevan. Terakhir, perlu memutuskan algoritma yang akan digunakan untuk
kategorisasi tersebut.
Beberapa algoritma yang biasa digunakan terhadap pendekatan
supervised learning, diantaranya naïve bayes, dan support vector machines
(SVM). Supervised learning bergantung pada data pelatihan. Model
klasifikasi berdasarkan data latih yang telah diberi label dalam satu domain,
sering berkinerja buruk dengan domain yang berbeda. Meskipun adaptasi
domain telah dipelajari oleh para peneliti, namun teknologi ini masih jauh
dari sempurna (Liu, 2016).
2.8.2 Unsupervised Learning
Dalam pendekatan unsupervised learning, metode diterapkan tanpa
adanya latihan (training) dan tanpa adanya guru (teacher). Guru yang
dimaksud adalah label dari data. Misalkan ada sekelompok pengamatan atau
data tanpa ada label (output) tertentu, makan dalam unsupervised learning
harus mengelompokkan data tersebut ke dalam beberapa kelas yang kita
kehedaki. Ini terutama dilakukan karena data yang ada tidak memiliki label.
Label menandai kemana data akan dikelompokkan. Untuk melakukan tugas
(task) ini bias kita menerapkan metode unsupervised learning. (Santosa,
2007)
Page 36
20
Unsupervised (Pang & Lee, 2008) adalah teknik yang terlebih
dahulu menciptakan sebuah sentimen tanpa data latih, dan kemudian
menentukan orientasi sentimen dari unit teks melalui beberapa fungsi
berdasarkan positif dan negatif. Menentukan sentimen dengan pendekatan
unsupervised adalah melalui kata-kata atau frase dengan polaritas sentimen,
juga disebut sebagai orientasi semantik. Masuk kedalam kelompok ini
adalah Metode Lexicon.
2.9 Algoritma
Menurut (Munir, 2011) algoritma merupakan prosedur komputasi yang
terdefinisi dengan baik, yang menggunakan beberapa nilai sebagai masukan dan
menghasilkan beberapa nilai yang disebut keluaran. Algoritma merupakan prosedur
yang berisi langkah-langkah penyelesaian suatu masalah. Algoritma merupaka
suatu alur pikiran dalam menyelesaikan pekerjaan, yang dituangkan dalam bentuk
tertulis yang dapat dimengerti oleh orang lain. Suatu pekerjaan dapat diselesaikan
dengan berbagai macam cara, akan tetepi harus tersususn secara logis agar
pekerjaan dapat diselesaikan dengan benar (Sjukani, 2013).
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang
dari ilmu komputer yang diacu dalam terminologi algoritma, misalnya algoritma
perutean (routing) pesan di dalam jaringan komputer, algoritma brensenham untuk
menggambar garis lurus, algoritma KMP untuk mencari suatu pola di dalam teks,
dan sebagainya (Munir, 2011).
2.9.1 Dasar Penyusunan Algortima
Ada beberapa hal yang perlu diperhatikan dalam menyusun suatu
algoritma. Ada lima ciri penting yang harus dimiliki sebuah algoritma, yaitu
berupa finiteness, definiteness, masukan, keluaran, dan efektivitas.
1. Finiteness. Finiteness menyatakan bahwa suatu algoritma harus berakhir
untuk semua kondisi setelah memproses sejumlah langkah.
2. Definiteness. Definiteness menyatakan bahwa setiap langkah harus
dinyatakan dengan jelas (tidak rancu atau mendua-arti).
Page 37
21
3. Masukan. Setiap algoritma bisa tidak memiliki masukan atau mempunyai
satu atau beberapa masukan. Masukan merupakan suatu besaran yang
diberikan di awal sebelum algoritma diproses.
4. Keluaran. Setiap algoritma memiliki keluaran, entah hanya sebuah
keluaran atau banyak keluaran. Keluaran merupakan besaran yang
mempunyai kaitan atau hubungan dengan masukan.
5. Efektivitas. Setiap algoritma diharapkan bersifat efektif, dalam arti semua
operasi yang dilaksanakan oleh algoritma haruslah sederhana dan dapat
dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap intruksi dalam
algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas
dan pensil.
Sebuah algoritma dikatakan benar, untuk berbagai ragam masukan,
jika algoritma berakhir dengan keluaran yang benar. Pada keadaan seperti
ini, algoritma menyelesaikan masalah komputasi yang diberikan
2.9.2 Struktur Dasar Algoritma
Pada dasarnya terdapat tiga buah struktur dasar yang menyusun
suatu algoritma. Ketiga struktur dasar tersebut, yaitu (Kadir, 2012):
2.9.3 Struktur Sekuensial
Pada struktur sekuensial, langkah-langkah yang dilakukan dalam
algoritma diproses secara berurutan (Kadir, 2012), sebagaimana
diperlihatkan pada gambar berikut ini:
Gambar 2. 2 Struktur Algoritma Sekuensial (Sumber: Kadir, 2012)
Page 38
22
2.9.4 Struktur Seleksi
Struktur seleksi menyatakan pemilihan langkah yang didasarkan
oleh suatu kondisi (pengambilan keputusan) (Kadir, 2012). Gambar 2.2
memperlihatkan diagram alur struktur seleksi yang melibatkan dua
alternatif. Dalam hal ini, simbol belah ketupat digunakan untuk mewakili
langkah pengambilan keputusan.
Gambar 2. 3 Struktur Algoritma Seleksi (Sumber: Kadir, 2012)
2.9.5 Struktur Pengulangan
Pengulangan menyatakan suatu tindakan atau langkah yang
dijalankan beberapa kali. Struktur pengulangan menyatakan perwujudan
keadaan seperti itu (Kadir, 2012).
Gambar 2. 4 Struktur Algoritma Pengulangan (Sumber: Kadir, 2012)
Page 39
23
2.10 Metode K-Nearest Neighbour (k-NN)
k-NN adalah algoritma untuk mengklasifikasi objek baru berdasarkan
atribut dan training samples (data latih). Dimana hasil dari sampel uji yang baru
diklasifikasikan berdasarkan mayoritas dari kategori pada k-NN. Algoritma k-NN
menggunakan klasifikasi ketetanggaan sebagai nilai prediksi dari sampel uji yang
baru (Krisandi, Prihandono, & Bayes, 2013). Data latih akan dibangun dengan
memperhatikan keseimbangan dokumen satu sama lain. Adapun algortima k-NN
dapat dijelaskan (Kurniawan, 2017) dengan keterangan berikut:
a. Hitung jarak antara data sampel (data uji) dengan data latih yang telah dibangun.
Salah satu persamaan dalam menghitung jarak kedekatan dapat menggunakan
persamaan Cosine Similirity.
b. Menentukan parameter nilai k = jumlah tetanggaan terdekat.
c. Mengurutkan jarak terkecil dari data sample
d. Pasangkan kategori sesuai dengan kesesuaian
e. Cari jumlah terbanyak dari tetanggaan terdekat. Kemudian tetapkan kategori.
Jarak yang digunakan dalam penelitian ini adalah Cosine Similarity.
𝐶𝑜𝑠(𝑖, 𝑘) =∑ 𝑘 (𝑑1 𝑑𝑘)
√∑ 𝑘 𝑑𝑖𝑘2 √∑ 𝑘 𝑑𝑗𝑘
2
Keterangan :
∑ 𝑘 (𝑑1 𝑑𝑘) = vektor dot produk dari i dan k
√∑ 𝑘 𝑑𝑖𝑘2 = panjang vektor i
√∑ 𝑘 𝑑𝑗𝑘2 = panjang vektor k
Algoritma k-NN (Krisandi et al., 2013) adalah algoritma yang menentukan
nilai jarak pada pengujian data testing dengan data training berdasarkan nilai
terkecil dari nilai ketetanggaan terdekat didefinisikan sebagai berikut:
𝐷𝑛𝑛(𝑐1 𝑐2) = 𝑚𝑖𝑛1≤𝑖≤𝑟,1≤𝑗≤𝑠𝑑(𝑦𝑖 , 𝑧𝑖)
Page 40
24
2.11 Confussion Matrix
Dalam mengukur tingkat akurasi sistem orientasi sentimen, maka
digunakan tabel confussion matrix. Confusion matrix adalah sebuah tabel yang
menyatakan jumlah data uji yang benar diklasifikasikan dan jumlah data uji yang
salah diklasifikasikan. Contoh confusion matrix untuk klasifikasi biner ditunjukkan
pada tabel 2.2 berikut:
Tabel 2. 2 Confussion Matrix
Kelas Sebenarya Kelas hasil prediksi
Positif = 1 Negatif = 0
Positif = 1 TP FN
Negatif = 0 FP TN
Keterangan untuk tabel diatas dinyatakan sebagai berikut :
1. True Posstive (TP), yaitu jumlah dokumen dari kelas 1 yang benar dan
diklasifikan sebagai kelas 1.
2. True Negative (TN), yaitu jumlah dokumen dari kelas 0 yang benar
diklasifikasikan sebagai kelas 0.
3. False Positive (FP), yaitu jumlah dokumen dari kelas 0 yang salah
diklasifikasikan sebagai kelas 1.
4. False Negative (FN) yaitu jumlah dokumen dari kelas 1 yang salah
diklasifikasikan sebagai kelas 0.
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝐹𝑁 + 𝐹𝑃 + 𝑇𝑁
2.12 Metode Simulasi
Simulasi adalah suatu metodologi untuk melaksanakan percobaan dengan
menggunakan model dari suatu sistem nyata (Siagian, 1987). Menurut Hasan
(2002), simulasi merupakan suatu metode pengambilan keputusan dengan
mencontoh atau mempergunakan gambaran sebenarnya dari suatu sistem
Page 41
25
kehidupan dunia nyata tanpa harus mengalaminya pada keadaaan yang
sesungguhnya.
Simulasi adalah suatu teknik yang dapat digunakan untuk memecahkan
model-model dari golongan yang luas. Golongan atau kelas ini sangat luasnya
sehingga dapat dikatakan “Jika semua cara yang lain gagal, cobalah simulasi”
(Schroeder, 1997)
Ada berbagai jenis lifecycle menurut (Madani et al., 2014) yang dapat
digunakan untuk studi pada pemodelan dan simulasi. Terdapat langkah-langkah
dasar yang harus dipertimbangkan dalam melakukan studi simulasi. Lifecycle tidak
harus diartikan sebagai sebuah sekuensial yang strict, bersifat iteratif, dan kadang
juga bertransisi dalam arah yang berlawanan. Demikian juga, beberapa langkah
terkadang dapat dilewati atau di-skip sesuai dengan kompleksitas aplikasi. Hal ini
sangat dianjurkan untuk menggunakan siklus spiral dengan pengembangan
incremental yaitu pada langkah 2-8, yang dapat menyebabkan revisi untuk fase
sebelumnya. Setiap fase dalam siklus spiral harus berakhir sebuah prototipe yang
sudah dapat bekerja yang sudah lebih fungsionalitas dari siklus sebelumnya.
(Madani et al., 2014) memberikan suatu tahapan dalam melakukan studi
simulasi. Adapun tahapan-tahapan tersebut adalah sebagai berikut.
2.12.1 Problem Formulation
Setiap studi seharusnya dimulai dengan statemen terhadap masalah.
Proses simulasi dimulai dengan masalah yang memerlukan pemecahan atau
pemahaman. Sebagai contoh seperti kasus sebuah perusahaan kargo
mencoba untuk mengembangkan strategi baru untuk truk pengiriman atau
astronom mencoba untuk memahami bagaimana nebula terbentuk. Pada
tahap ini, harus dipahami perilaku dari sebuah sistem, organize operasi
sistem sebagai obyek dalam rangka percobaan. Kemudian perlu dianalisis
berbagai alternatif solusi dengan menyelidiki hasil sebelumnya untuk
masalah yang sama. Solusi yang paling diterima harus dipilih
(menghilangkan tahap ini dapat menyebabkan pemilihan solusi yang salah).
Jika masalah melibatkan analisis kinerja, ini adalah titik di mana bisa
Page 42
26
didefinisikan metrik kinerja (berdasarkan variabel output) dan fungsi tujuan
(yaitu, kombinasi dari beberapa metrik) (Madani et al., 2014).
2.12.2 Conceptual Model
Langkah ini terdiri dari pengembangan deskripsi tingkat tinggi dari
struktur dan perilaku atau behavior sebuah sistem dan mengidentifikasi
semua benda dengan atribut dan interface mereka. Pada tahap ini harus
ditentukan apa saja variabel statenya, bagaimana mereka berhubungan, dan
mana yang penting untuk penelitian. Pada langkah ini, aspek-aspek kunci
dari requierements dinyatakan. Selama definisi model konseptual, perlu
diungkapkan fitur yang penting. Kemudian mendokumentasikan informasi-
untuk non-fungsional misalnya, perubahan masa depan, perilaku
unintuitive, dan hubungan sistem dengan lingkungan (Madani et al., 2014).
2.12.3 Collection of Input/Output Data
Pada tahap ini, kita harus mempelajari sistem untuk memperoleh
data input / output. Untuk melakukannya, harus diamati dan mengumpulkan
atribut yang dipilih pada tahap sebelumnya. Isu penting lainnya selama fase
ini adalah pemilihan ukuran sampel yang valid secara statistik dan format
data yang dapat diproses dengan komputer. Akhirnya, kita harus
memutuskan mana atribut yang stokastik dan yang deterministik. Dalam
beberapa kasus, tidak ada sumber data yang bisa dikumpulkan (misalnya,
untuk sistem yang belum ada). Dalam kasus tersebut, kita perlu mencoba
untuk mendapatkan set data dari sistem yang sama (jika tersedia). Pilihan
lain adalah dengan menggunakan pendekatan stokastik untuk menyediakan
data yang diperlukan melalui generasi nomor acak (Madani et al., 2014).
2.12.4 Modelling Phase
Pada tahap pemodelan, kita harus membangun representasi rinci dari
sistem berdasarkan model konseptual dan koleksi data yang dikumpulkan.
Model ini dibangun dengan mendefinisikan objek, atribut, dan metode
menggunakan paradigma yang dipilih. Pada titik ini, spesifikasi model
Page 43
27
dibuat, termasuk set persamaan yang mendefinisikan perilaku dan struktur.
Setelah menyelesaikan definisi ini, kita harus berusaha untuk membangun
struktur awal model (mungkin berkaitan variabel sistem dan metrik kinerja).
Harus berhati-hati dalam menjelaskan setiap asumsi dan penyederhanaan
dan juga dalam mengumpulkan atribut ke EF (Entity Framework) model
(Madani et al., 2014).
2.12.5 Simulation Phase
Selama tahap simulasi, kita harus memilih mekanisme untuk
menerapkan model (dalam banyak kasus menggunakan komputer dan
bahasa pemrograman yang memadai serta ¬tools yang tepat), dan model
simulasi yang dibangun. Selama langkah ini, mungkin diperlukan untuk
menentukan algoritma dan menerjemahkannya ke dalam program
komputer. Pada tahap ini, kita juga harus membangun model EF untuk
proses simulasi (Madani et al., 2014).
2.12.6 Verification, Validation and Experimentation
Pada tahap-tahap sebelumnya, tiga model yang berbeda dibangun:
model konseptual (spesifikasi), model sistem (desain), dan model simulasi
(executable program). Kita perlu untuk memverifikasi dan memvalidasi
model ini. Verifikasi terkait dengan konsistensi internal antara tiga model.
Validasi difokuskan pada korespondensi antara model dan realitas: adalah
hasil simulasi yang konsisten dengan sistem yang dianalisis. Sementara itu
pada fase experimentation, kita harus mengevaluasi hasil dari simulator,
menggunakan korelasi statistik untuk menentukan tingkat presisi untuk
metrik kinerja. Fase ini dimulai dengan desain eksperimen, dengan
menggunakan teknik yang berbeda. Beberapa teknik ini meliputi analisis
sensitivitas, optimasi,dan seleksi (dibandingkan dengan sistem alternatif)
(Madani et al., 2014).
Page 44
28
2.12.7 Output Analysis Phase
Pada tahap analisis output, output simulasi dianalisis untuk
memahami perilaku sistem. Output ini digunakan untuk memperoleh
tanggapan tentang perilaku sistem yang asli. Pada tahap ini, alat visualisasi
dapat digunakan untuk membantu proses tersebut. Tujuan dari visualisasi
adalah untuk memberikan pemahaman yang lebih dalam tentang sistem
yang sedang diselidiki dan membantu dalam mengeksplorasi set besar data
numerik yang dihasilkan oleh simulasi (Madani et al., 2014).
2.13 PHP
PHP adalah salah satu Bahasa pemograman skrip yang dirancang untuk
membangun aplikasi web. Ketika dipanggil dari web browser, program yang ditulis
dengan PHP akan di-parsing di dalam web server oleh interpreter PHP dan
diterjemahkan ke dalam dokumen HTML, yang selanjutnya akan ditampilkan
kembali ke web browser. Karena pemprosesan program PHP dilakukan di
lingkungan web server, PHP dikatakan sebagai Bahasa sisi server (server-side).
Oleh sebab itu, seperti yang telah dikemukakan sebelumnya, kode PHP tidak akan
terlihat pada saat user memilih perintah “view source” pada web browser yang yang
mereka gunakan. Meskipun PHP 5 dapat digunakan untuk membuat aplikasi CLI
(command Line Interface) dan juga aplikasi desktop (seperti Perl, Phyton dan
Ruby), namun pada umumnya orang menggunakan PHP untuk tujuan pembuatan
aplikasi web (Raharjo, Heryanto, & Rk, 2012).
2.14 Flowchart
Menurut Al-Bahra (2010), dalam buku yang berjudul Analisis dan Desain
Sistem Informasi, menyebutkan bahwa: ”flowchart adalah bagan-bagan yang
mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu
masalah.
Sedangkan menurut Jogiyanto (2008) dalam bukunya yang berjudul
Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek
Aplikasi Bisnis, Flowchart merupakan bagan (chart) yang menunjukkan alir (flow)
didalam program atau prosedur sistem secara logika.
Page 45
29
Secara garis besar berdasarkan dua pengertian diatas flowchart adalah cara
penulisan algoritma dengan menggunakan notasi grafis yang memperlihatkan
urutan atau langkah dari suatu program dan hubungan antar proses beserta
pernyataannya.
Pada dasarnya terdapat berbagai macam flowchart, diantaranya yaitu
Flowchart Sistem (System Flowchart), Flowchart Paperwork / Flowchart
Dokumen (Document Flowchart), Flowchart Skematik (Schematic Flowchart),
Flowchart Program (Program Flowchart), Flowchart Proses (Process Flowchart).
Untuk keperluan pembuatan program maka digunakan Flowchart Program. Berikut
adalah daftar simbol-simbol yang digunakan dalam flowchart.
Tabel 2. 3 Daftar Simbol Flowchart
Nama Simbol Deskripsi
Terminator
Simbol mulai dan selesai
Flow line/ arah
aliran
Simbol arah aliran / penghubung
proses
Simbol perhitungan atau proses
Input/output data
Mempresentasikan pembacaan data (read) /
penulisan (write)
Decision
Simbol pernyataan pilihan, berisi suatu
kondisi yang selalu menghasilkan 2 nilai
keluaran yaitu benar atau salah
Preparation
Inisialisasi /pemberian nilai awal
Subprogram
Proses menjalankan sub program / fungsi /
Prosedur
Page 46
30
Dokumen
Dokumen merupakan tampilan data secara
fisik yang dapat dibaca oleh manusia. Data
ini biasanya merupakan hasil pemecahan
masalah (informasi) yang telah dicetak
(print out)
Stored data
Simbol yang menyatakan input yang
berasal dari disk atau disimpan ke disk
Keluaran
Simbol untuk menyatakan peralatan output
yang digunakan yaitu layar, plotter, printer
dan sebagainya.
On page
connector
Penghubung Flow chart pada satu halaman
Off page
connector
Penghubung Flow chart pada halaman
berbeda
2.15 Basis Data
Basis data (database) menurut (Yakub, 2012) diartikan sebagai markas atau
gedung, tempat bersarang atau berkumpul. Prinsip utama basis data adalah
pengaturan data dengan tujuan utama fleksibilitas dan kecepatan dalam
pengambilan data kembali. Adapun tujuan basis data diantaranya sebagai efisiensi
yang meliputi speed, space, dan accurancy, menangani data dalam jumlah besar,
kebersamaan pemakaian, dan meniadakan duplikasi.
Menurut (Connolly & Begg, 2015), basis data adalah sebuah kumpulan data
yang secara logis terkait dan dirancang untuk memenuhi suatu kebutuhan informasi
dari sebuah organisasi. Sedangkan menurut (Indrajani, 2015), basis data adalah
Page 47
31
kumpulan data yang saling berhubungan secara logis dan didesain untuk
mendapatkan data yang dibutuhkan oleh suatu organisasi.
2.15.1 Database Management System (DBMS)
DBMS adalah sebuah sistem perangkat lunak yang mengizinkan
pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol
akses ke dalam basis data (Connolly & Begg, 2015). Fasilitas yang
disediakan DBMS antara lain:
1. Mengizinkan pengguna untuk mendfinisikan basis data, dengan
melalui Data Definition Language (DDL). DDL mengizinkan
pengguna untuk menentukan tipe, struktur, serta kendala data yang
nantinya akan disimpan ke dalam basis data.
2. Mengizinkan pengguna untuk melakukan menambah, mengubah,
menghapus dan mengambil data dari basis data tersebut, dengan
menggunakan Data Manipulation Language (DML). Standard bahasa
dari DBMS ialah Structured Query Language (SQL).
3. Menyediakan akses kontrol ke dalam basis data, seperti sistem
keamanan, yang dapat mencegah pengguna yang tidak diberi kuasa
untuk mengakses basis data. Sistem integritas, yang dapat menjaga
konsistensi dari data yang tersimpan. Sistem kontrol konkurensi, yang
mengizinkan berbagi akses dengan basis data. Sistem kontrol
pemulihan, jika terjadi kegagalan perangkat keras atau perangkat lunak
maka sistem kontrol pemulihan ini dapat mengembalikan basis data ke
keadaan yang konsisten dari yang sebelumnya.
Sistem manajemen database DBMS (Database Management System)
merupakan kumpulan kode program untuk menciptakan dan memelihara
sebuah database yang dilakukan oleh pengguna (user). DBMS merupakan
sistem perangkat lunak (software) yang memiliki fasilitas proses
mendefinisikan (define), membangun (construct) dan memelihara
(manipulate) database pada perangkat aplikasi yang bervariasi (Bagir &
Ayu Yuliani, 2012).
Page 48
32
2.16 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa inggris: databae management system) atau DBMS yang multithread, multi-
user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL
tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public
License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-
kasus dimana penggunaannya tidak cocok dengan penggunaan GPL (Solichin,
2010).
Tidak seperti PHP atau Apache yang merupakan software yang
dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki
oleh penulisnya masing-masing. MySQL dimiliki dan disponsori oleh sebuah
perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh
hak cipta hamper atas semua kode sumbernya. Kedua orang Swedia dan satu orang
Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan
Michael “Monty” Widenius (Solichin, 2010). Fitur-fitur MySQL antara lain:
a. Relational Database System. Seperti halnya software database lain yang ada di
pasaran, MySQL termasuk RDBMS.
b. Arsitektur Client-Server. MySQL memiliki arsitektur client-server dimana
server database MySQL terinstal di server. Client MySQL dapat berada di
komputer yang sama dengan server, dan dapat juga di komputer lain yang
berkomunikasi dengan server melalui jaringan bahkan internet.
c. Mengenal perintah SQL standar. SQL (Structured Query Language) merupakan
suatu bahasa standar yang berlaku di hamper semua software database. MySQL
mendukung SQL versi SQL: 2003.
d. Mendukung Sub Select. Mulai versi 4.1 MySQL telah mendukung select dalam
select (sub select).
e. Mendukung Views. MySQL mendukung views sejak versi 5.0
f. Mendukung Stored Procedured (SP). MySQL mendukung SP sejak versi 5.0
g. Mendukung Triggers. MySQL mendukung trigger pada versi 5.0 namun masih
terbatas. Pengembang MySQL berjanji akan meningkatkan kemampuan trigger
pada versi 5.1
Page 49
33
h. Mendukung replication
i. Mendukung transaksi.
j. Mendukung foreign key.
k. Tersedia fungsi GIS.
l. Free (bebas didownload).
m. Stabil dan tangguh.
n. Fleksibel dengan berbagai pemrograman.
o. Security yang baik.
p. Dukungan dari banyak komunitas.
Lisensi MySQL terbagi menjadi dua, yaitu dapat menggunakan MySQL
sebagai produk opensource di bawah General Public License (GNU) secara gratis
atau dapat membeli lisensi dari versi komersialnya. MySQL komersial tentu
memiliki nilai lebih atau kemampuan yang tidak disertakan pada versi gratis. Pada
kenyataannya, untuk keperluan industri menengah ke bawah, versi gratis dapat
digunakan dengan baik (Raharjo et al., 2012)
2.17 Studi Literatur Sejenis
Studi literatur dilakukan dengan dengan cara mempelajari jurnal-jurnal hasil
penelitian sebelumnya yang telah dibuat, agar bisa dilakukan pengembangan yang
lebih baik dari penelitian sebelumnya. Untuk mengetahui kelebihan dan
kekurangan dari masing-masing penelitian, penulis melakukan perbandingan pada
penelitian terdahulu tersebut yang dapat dilihat pada tabel berikut.
Page 50
34
Tabel 2. 4 Studi Literatur Sejenis
Penulis (Nurjanah, Perdana,
& Fauzi, 2017)
(Dey & Sanjay, 2016) (Ali, Rezwanul Huq, &
Rahman, 2017)
(Purba, Hidayati, &
Gozali, 2016)
Penelitian penulis yang
sekarang
Judul Penelitian Analisis Sentimen
Terhadap Tayangan
Televisi Berdasarkan
Opini Masyarakat
pada Media Sosial
Twitter menggunakan
Metode k-NN
Sentiment Analysis of
Review Datasets using
Naïve Bayes and k-NN
Classifier
Sentiment Analysis on
Twitter Data using
KNN and SVM
Metode Holistic
Lexicon Based untuk
analisis sentiment pada
dokumen Bahasa
Indonesia
Analisis Sentimen
Terhadap Kepuasan
Produk Otomotif dari
Twitter Menggunakan
Algoritma k-NN dan
Pendekatan Lexicon
Media sosial Twitter Twitter Twitter Twitter Twitter
Algoritma yang
digunakan
k-Nearest Neighbor k-Nearest Neighbor dan
Naïve Bayes Classifier
k-Nearest Neighbor
dan Support Vector
Machine
Holistic Lexicon Based Kombinasi k-Nearest
Neighbor dan Lexicon
Metode NLP
yang digunakan
Tokenizing , Case
folding, Cleansing,
Tidak dijelaskan Tokenizing,
Normalization, dan
Tidak dijelaskan Casefolding, Filtering,
Tokenizing,
Page 51
35
Filterisasi, dan
Stemming
parts-of-speech (POS)
tagging
Normalization,
Stopwords, Stemming
Kesimpulan Tingkat akurasi
ketika menggunakan
pembobotan tekstual
mencapai 82.50%,
ketika menggunakan
pembobotan non-
tekstual mencapai
60%, sedangkan
ketika menggunakan
penggabungan
keduanya mencapai
83.33%. Nilai k yang
digunakan yaitu k = 3
yang merupakan k
optimal, dan
konstanta α=0,8 dan
β=0,2
Penelitian ini
menggunakan 2 Dataset
yaitu hotel review dan
movie review:
1. Akurasi untuk movie
review sebesar 81%
untuk algoritma
Naïve Bayes dan
70% untuk
Algoritma k-NN
2. Akurasi untuk hotel
review sebesar 55%
untuk algoritma
Naïve Bayes dan
52% untuk
Algoritma k-NN
1. Akurasi k-NN
sebesar 80%, k-NN
dengan normalisasi
sebesar 81%, k-NN
dengan normalisasi
dan keyword based
sebesar 84%
2. Akurasi dari SVM
sebesar 58%, SVM
dengan normalisasi
59%, dan SVM
dengan normalisasi
dan keyword based
sebesar 67%.
1. Metode Holistic
Lexicon-Based
dapat diterapkan
pada sentiment
analysis terhadap
data tweets.
2. Modifikasi dan
pengembangan
kamus mampu
meningkatkan
akurasi menjadi
rata-rata 88.6%
yang semula hanya
berada pada rata-
rata akurasi 75.3%.
Hasil klasifikasi
sentimen menggunakan
Algoritma k-Nearest
Neighbor menghasilkan
tingkat akurasi sebesar
81%, error rate sebesar
19%, f-measure sebesar
0.8, presisi sebesar
0.8965 dan recall
sebesar 72%
Page 52
36
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Pada penelitian ini penulis mengumpulkan data dan informasi yang dapat
menunjang proses dalam penelitian terkait proses pengumpulan data nya sebagai
berikut.
3.1.1 Studi Pustaka
Studi pustaka dilakukan dengan pengumpulan teori-teori yang
berkaitan dengan penulisan skripsi sebagai bahan untuk melengkapi
penelitian ini. Sumber teori berasal dari buku referensi, hasil penelitian
(jurnal dan skripsi) dan artikel-artikel terkait. Selain itu peneliti juga
mengunjungi situs-situs yang terkait aplikasi natural language processing,
text mining, pendekatan lexicon dan algoritma k-Nearest Neighbor.
3.1.2 Observasi
Peneliti melakukan observasi dengan mengamati dan mengambil
data dari Twitter API tentang komentar pengguna produk otomotif Toyota.
Peneliti mengambil data mulai dari bulan Februari hingga bulan Maret
2019. Proses pengambilan data twitter dilakukan secara manual dengan
memanfaatkan fitur dari Twitter yang diperuntukkan untuk developer yang
ada pada website https://developer.twitter.com/ menggunakan bahasa
pemrograman PHP dan data kemudian dimasukkan ke dalam database
MySql. Pengambilan data dilakukan sebanyak 1000 tweets dengan 900
tweets dijadikan data latih dan 100 tweets dijadikan data uji.
Page 53
37
Mulai
Koneksi API
Registrasi
API KeyApi Secret
Access TokenAccess Token Secret
Otentikasi
Mengambil Data Tweet
Twee
ts
Selesai
1
1
2
2
Gambar 3. 1 Tahapan Pengumpulan Data Twitter
3.2 Metode Simulasi
Metode yang digunakan pada penelitian ini yakni metode simulasi, berikut
langkah-langkah metode simulasi.
3.2.1 Problem Formulation (Formulasi Masalah)
Pada tahap formulasi masalah, penulis melakukan identifikasi
masalah berdasarkan hasil penelitian sebelumnya (pada tabel 3.1).
Penelitian sebelumnya berkaitan dengan Algortima k-NN dan pendekatan
lexicon. Pada penelitian (Nurjanah et al., 2017) menggunakan algoritma k-
NN mendapatkan tingkat akurasi ketika menggunakan pembobotan tekstual
mencapai 82.50%, ketika menggunakan pembobotan non-tekstual mencapai
60%, sedangkan ketika menggunakan penggabungan keduanya mencapai
83.33%. Sementara pada penelitian (Purba et al., 2016) menggunakan
metode Holistic Lexicon mendapatkan akurasi sebesar 75.3%.
Pada penelitian ini, data yang digunakan adalah tweet berbahasa
Indonesia yang terdapat pada Twitter. Terdapat batasan penulisan yaitu
sebanyak 140 karakter didalam tweets. Terbatasnya penulisan membuat
pengguna Twitter seringkali menuliskan pesan berupa singkatan. Selain itu
Page 54
38
juga pengguna Twitter dapat mengungkapkan ekspresi mereka dengan
penggunaan huruf berlebihan pada pesan Twitter. Hal ini menjadi suatu
permasalahan dalam menentukan orientasi sentimen analisis pada Twitter.
Untuk itu diperlukan suatu algoritma yang mampu mengatasi pesan Twitter
yang mengandung sentimen sekaligus dapat menyeleksi kata singkatan dan
kata berlebih kemudian merubahnya dengan kata yang dapat dijadikan fitur.
3.2.2 Conceptual Model (Pemodelan Konsep)
Dalam penelitian ini pemodelan konsep membahas keseluruhan
penelitian ini berkaitan dengan input, proses dan output. Pertama dengan
mengidentifikasikan input pada penelitian ini, yaitu tweet yang berisikan
opini warganet Twitter terkait produk otomotif dari Toyota. Kedua,
komentar yang telah dikumpulkan kemudian diolah dan diproses dengan
pedekatan lexicon sebagai pelabelan terhadap data latih dan Kombinasi
Algoritma K-Nearest Neighbor dan Lexicon sebagai klasifikasi data uji.
Hasilnya aplikasi akan menghitung tingkat akurasi, presisi dan recall.
3.2.3 Collection of Input/Output Data (Pengumpulan Data
Masukan/Keluaran)
Data komentar yang didapat dari Twitter API dijadikan input pada
penelitian ini dalam aplikasi berbasis PHP. Pengambilan data dilakukan
sebanyak 1000 tweets dengan 900 tweets dijadikan data latih, dan 100
tweets dijadikan data uji. Data latih akan diolah menggunakan pendekatan
lexicon, sementara data uji akan diolah menggunakan kombinasi algoritma
k-Nearest Neighbor dan pendekatan lexicon.
3.2.4 Modelling Phase (Tahap Pemodelan)
Pada tahap ini penulis melakukan pemodelan dalam membuat
rancangan sistem yang akan dibuat. Pemodelan yang dibuat yaitu
pemodelan pedekatan lexicon dan pemodelan dengan kombinasi algoritma
k-Nearest Neighbor dan pendekatan lexicon untuk klasifikasi data uji.
Page 55
39
3.2.5 Simulation Phase (Tahap Simulasi)
Pada tahap ini penulis melakukan simulasi pada aplikasi analisis
sentimen ini. Simulasi yang akan dilakukan adalah dengan melakukan input
dataset latih dan uji, melakukan pelabelan terhadap data latih secara
otomatis untuk dikelompokkan sentimennya, melakukan pelatihan terhadap
data latih dan melakukan klasifikasi data uji serta menghasilkan tingkat
akurasi, presisi dan recall dari algoritma yang dijadikan penelitian.
3.2.6 Verification, Validation, and Experimentation
Untuk membuat kesimpulan, Penulis terlebih dahulu melakukan uji
verifikasi, validasi dan ekperimen. Verifikasi dan validasi bertujuan untuk
menyakinkan hasil dari Aplikasi orientasi sentimen dengan menggunakan
kombinasi algoritma k-Nearest Neighbor dan pendekatan lexicon sesuai
dengan yang dikonsepkan sebelumnya. Sedangkan eksperimen bertujuan
untuk mengevaluasi hasil simulasi aplikasi.
3.2.7 Output Analysis Phase (Fase Hasil Analisa)
Penulis melakukan analisa terhadap output berdasarkan skenario
yang akan dilakukan yaitu menghitung tingkat akurasi, presisi dan recall
dari algoritma yang dijadikan penelitian.
3.3 Skenario Pengujian
Setelah aplikasi sudah menjadi suatu perangkat lunak yang siap untuk
dipakai, maka perlu dilakukan pengujian terhadap aplikasi tersebut. Skenario
pengujian yang dilakukan adalah sebagai berikut:
1. Pengujian kombinasi algoritma k-Nearest Neighbor dan pendekatan Lexicon
Pengujian ini dilakukan untuk mengklasifikasikan data uji ke dalam kelas
sentimen gembira, marah, sedih, kecewa dan takut menggunakan kombinasi
algoritma k-Nearest Neihgbor dan pendekatan Lexicon. Perhitungan tingkat
akurasi, presisi, dan, recall akan ditentukan dengan menggunakan model confusion
matrix dari kombinasi algoritma tersebut.
Page 56
40
3.4 Kerangka Berfikir Penelitian
Mulai
Studi Pustaka Observasi
Pengumpulan Data
Problem Formulation
Conceptual Model
Collection of Input/Output
Data
Modelling Phase
Simulation Phase
Verification, Validation, and
Experiment
Output Analysis
Kesimpulan dan Saran
Selesai
Menentukan masalah
Menentukan konsep
keseluruhan dalam
penelitian
Mengumpulkan input dan
menentukan output
Pemodelan algoritma k-
Nearest Neoghbor
Melakukan simulasi aplikasi
Melakukan verifikasi,
validasi, dan eksperimen
Menghitung tingkat akurasi,
presisi, dan recall
Metode Simulasi
Gambar 3. 2 Kerangka Berfikir Penelitian
Page 57
41
BAB IV
IMPLEMENTASI
4.1. Problem Formulation
Pada tahap formulasi masalah, penulis melakukan identifikasi masalah
berdasarkan hasil penelitian sebelumnya (pada tabel 2.4), Penelitian sebelumnya
berkaitan dengan Algortima k-NN dan pendekatan lexicon. Pada penelitian
(Syahfitri Kartika Lidya, Opim Salim Sitompul, Syahril Efendi, 2015)
menggunakan algoritma k-NN dan SVM pada teks berbahasa Indonesia
mendapatkan akurasi sebesar 77,97%. Data latih dilabel secara manual dan
besarnya data latih tidak meningkatkan akurasi sistem. Sementara pada penelitian
(Immanuel Desmon Christianto Purba, 2016) menggunakan metode Holistic
Lexicon mendapatkan akurasi sebesar 75,3%. Analisis sentimen masih sulit
dilakukan pada kalimat sindiran, dan masih kurangnya kamus sentimen pada
aplikasi.
Data yang digunakan pada penelitian ini adalah tweet berbahasa Indonesia
yang terdapat pada Twitter. Terdapat batasan penulisan yaitu sebanyak 140 karakter
didalam tweets. Terbatasnya penulisan membuat pengguna Twitter seringkali
menuliskan pesan berupa singkatan. Selain itu juga pengguna Twitter dapat
mengungkapkan ekspresi mereka dengan penggunaan huruf berlebihan. Hal ini
menjadi suatu permasalahan dalam menentukan orientasi sentimen analisis pada
Twitter. Untuk itu diperlukan suatu algoritma yang mampu mengatasi pesan Twitter
yang mengandung sentimen sekaligus dapat menyeleksi kata singkatan dan kata
berlebih kemudian merubahnya dengan kata yang dapat dijadikan fitur.
Pada penelitian ini, penulis memformulasikan masalah penelitian pada
algoritma K-Nearest Neighbor dan pendekatan Lexicon untuk dilakukan kombinasi
terhadap kedua algoritma tesebut yang diuji berdasarkan tingkat akurasi, presisi dan
recall.
Page 58
42
4.2. Conceptual Model
Pemodelan konsep membahas keseluruhan penelitian ini berkaitan dengan
input, proses dan output. Berdasarkan conceptual model pada sub bab 3.2.2, berikut
merupakan keseluruhan dari penelitian ini.
4.2.1. Conceptual Model Text Mining
Dalam penelitian ini text mining berkaitan dengan tahapan pre-
proccessing dokumen. Pre-proccessing dilakukan menggunakan bahasa
pemrograman PHP, dengan kegiatan case folding, menghapus karakter
selain UTF-8, menghilangkan url-link, hashtag dan mention, tokenizing,
normalisasi, stopwords dan stemming. Hasil dari tahapan ini menghasilkan
fitur yang digunakan sebagai data pembelajaran mesin oleh k-NN dan
Lexicon. Dari data pre-proccessing akan didapat dataset dengan variasi
fitur. Tujuan dilakukannya dokumen pre-processing adalah sebagai berikut:
1. Menghilangkan noise
2. Menyeragamkan bentuk kata
3. Mengurangi volume kata
Tahapan yang dilakukan dari dokumen pre-proccessing dapat
dilihat pada gambar berikut ini :
DokumenCase Folding Filtering Normalisasi
Stopwords dan
StemmingTokenizing
Gambar 4. 1 Proses Dokumen Pre-proccessing
Tahapan yang dilakukan dari dokumen pre-processing dijelaskan dibawah
ini.
1. Tahapan case folding, adalah proses penyeragaman bentuk huruf. Teks
dilakukan proses perubahan dari huruf besar menjadi huruf kecil.
2. Tahapan filtering, adalah proses untuk membersihkan dokumen
kegiatan yang dilakukan adalah proses penghapusan karakter selain utf-
8, url link, hashtag dan mention.
Page 59
43
3. Tahapan Tokenizing, teks dilakukan proses penghapusan semua tanda
baca dan memecah kata.
4. Tahapan Normalisasi, teks dilakukan proses pernormalisasian terhadap
kata berlebihan dan kata singkatan dengan mengganti sesuai kaidah
dalam kamus Kamus Besar Bahasa Indonesia (KBBI). Pada tahapan ini
setiap dijumpai kata yang memiliki penggunaan huruf berlebih dan kata
singkatan akan diubah menjadi kata baku. Adapun algoritma
normalisasi yang dilakukan pada penelitian ini adalah sebagai berikut :
a. Cari kata yang akan dinormalisasi dalam kamus. Jika ditemukan
maka diasumsikan bahwa kata tersebut adalah kata dasar, maka
algoritma berhenti.
b. Jika tidak ditemukan hapus huruf berlebih dimulai untuk setiap huruf
pada kata. Periksa huruf pertama pada kata tersebut, kemudian
lakukan penyimpanan, lalu periksa huruf selanjutnya jika huruf sama
dengan huruf sebelumnya maka hapus huruf tersebut, jika tidak
simpan huruf dan lakukan hal yang sama pada huruf selanjutnya.
c. Jika telah diperiksa untuk setiap huruf, periksa kembali kata hasil
proses sebelumnya pada kamus.
d. Jika ditemukan maka algoritma berhenti, jika tidak ditemukan
algoritma akan mengembalikan kata yang asli sebelum dilakukan
penghapusan huruf berlebih.
Proses normalisasi dapat digambarkan dengan flowchart pada gambar
dibawah ini.
Page 60
44
Mulai
Cek kamus
Hapus huruf berlebih
kata
Selesai
Ditemukan di kamus?
Ditemukan di kamus?
Kata baku
Kata awalTidak
Tidak
Ya
1
1
Gambar 4. 2 Flowchart Normalisasi Kata
5. Tahapan Stopwords dan Stemming, teks dilakukan proses menghapus
kata kata yang dianggap tidak penting (stopwords) dan pengubahan kata
berimbuhan menjadi kata dasar (stemming). Adapun variasi imbuhan
dalam hal ini antara lain adalah prefik (awalan), suffik (akhiran), infik
(sisipan), dan confik (kombinasi awalan dan akhiran). Proses stemming
dilakukan dengan menggunakan bantuan KBBI. Pada tahap ini kata-kata
yang bersifat stopwords akan dibuang hal ini dikarenakan stopwords
dianggap sebagai kata tidak penting atau tidak berguna dan tahapan ini
juga dapat menekan penggunaan waktu dalam menentukan hasil.
Langkah-langkah dalam melakukan stopwords adalah sebagai berikut :
a. Hasil dari tahapan tokenizing berupa kata per kata akan dijadikan
masukan
b. Setiap kata akan dibandingkan dengan kata-kata yang ada pada
database stopwords
Page 61
45
c. Jika kata yang dibandingkan sama, maka kata tersebut akan dihapus.
Namun jika tidak sama maka kata tersebut tidak dihapus.
Proses stopwords digambarkan dengan flowchart dibawah ini
Mulai
kata
bandingkan kata dengan database
stopwords
Kata = kata stopwords
Kata awal
hapus kata
Selesai
Tidak
Ya
Gambar 4. 3 Flowchart Stopwords
Selanjutnya dilakukan proses stemming dimana kata berimbuhan akan
diubah dalam bentuk kata dasar dengan menggunakan algoritma nazief dan
adriani. Tahapan algoritma stemming (Nazief & Andriani) dijelaskan
berikut ini.
1. Pertama, cek kata yang akan dicari akar katanya dalam kamus kata
dasar. Jika ditemukan maka diasumsikan kata tersebut adalah sebagai
Page 62
46
kata dasar. Maka algoritma berhenti. Jika tidak ditemukan lakukan
langkah kedua
2. Hilangkan inflectional suffixes bila ada. Dimulai dari inflectional
particle (“-lah”, “-kah”, “-tah” dan“-pun”), kemudian possessive
pronoun (“-ku”, “-mu” dan “-nya”). Cari kata pada kamus
jika ditemukan algoritma berhenti, jika kata tidak ditemukan dalam
kamus lakukan langkah 3.
3. Hilangkan derivation suffixes (“-an”, “-i” dan “-kan”). Jika akhiran “-
an” dihapus dan ditemukan akhiran “-k”, maka akhiran “-k” dihapus.
Cari kata pada kamus jika ditemukan maka algoritma berhenti, jika kata
tidak ditemukan maka lakukan langkah 4.
4. Hilangkan derivation semua prefixes (“-di”, “ke-, “se-”, “te-”, “be-”,
“me-”, atau “pe-”). Cari kata pada kamus jika ditemukan maka
algoritma berhenti, jika kata tidak ditemukan maka lakukan langkah 5.
5. Melakukan recording
6. Jika semua langkah telah dilakukan tetapi kata dasar tersebut tidak
ditemukan pada kamus, maka algoritma ini mengembalikan kata yang
asli sebelum dilakukan stemming.
Page 63
47
Mulai
Cek kamus
Hilangkan inflection suffiks (-lah, ikah, -
ku, -mu, -nya)
Kata berimbuhan
Selesai
Kata baku
Kata awal
Hilangkan derivation semua suffiks (-i, -an
atau -kan)
Hilangkan derivation semua prefiks(-di, ke-, se-, te-, be-, me-, atau
pe-)
Cek kamus
ADA ?ADA ?
Cek kamus
ADA ?
Cek kamus
ADA ?
Tidak
1
Tidak
1
2Ya
2
2Ya
3
Tidak
3
2Ya
4
4
Tidak
2Ya
2
Gambar 4. 4 Flowchart Algoritma Nazief dan Adriani
4.2.2. Conceptual Model Klasifikasi Sentimen dengan pendekatan
Lexicon
Berikut ini merupakan alur klasifikasi sentimen dengan pendekatan
Lexicon.
a. Membangun kamus sentimen yang terbagi menjadi sentimen positif dan
negatif.
Page 64
48
Dalam penelitian ini dibangun kamus positif dan negatif secara sistem.
Kamus sentimen positif dalam penelitian ini berjumlah 1182 kata dan
kamus negatif berjumlah 2399 kata (sumber github).
b. Membangun kamus emosi yang terbagi menjadi sentimen marah,
kecewa, gembira, sedih, dan takut.
Dalam penelitian ini dibangun kamus emosi secara sistem. Kamus
sentimen emosi dalam penelitian ini berjumlah 5224 kata (sumber
EmoSenticNet).
c. Membangun kamus negasi
Kamus negasi yang digunakan dalam penelitian ini sebanyak 9 kata
(sumber github).
d. Pre-proccessing query yang terdiri dari 4 proses yaitu casefolding,
filtering, tokenizing dan normalisasi.
e. Identifikasi setiap kata sentimen pada query.
f. Identifikasi kata negasi pada query yang ditemukan sentimennya
g. Menentukan orientasi sentimen pada query, dengan cara melakukan
hitung score.
𝑠𝑐𝑜𝑟𝑒(𝑓) = ∑𝑤𝑖𝑆𝑂
𝑑𝑖𝑠(𝑤𝑖,𝑓) .............................................................................(4.1)
Keterangan :
w i SO = Jumlah (score) fitur ke i setiap sentimen
dis (wi,f) = Jumlah fitur yang berhasil ditemukan
Berikut ini merupakan flowchart dari klasifikasi sentimen dengan
pendekatan Lexicon.
Page 65
49
Mulai
Pre-proccessing query
Identifikasi kata sentimen
Identifikasi kalimat negasi
Hitung score
Hasil orientasi sentimen
Selesai
Kamus sentimen positif dan
negatif
Kamus kbbi
Kamus negasi
1
1
Identifikasi sentimen emosi
Kamus emosi
Gambar 4. 5 Flowchart Diagram analisa pendekatan Lexicon
4.2.3. Conceptual Model Klasifikasi Sentimen dengan Kombinasi
Algoritma K-Nearest Neighbor dan Pendekatan Lexicon
Secara keseluruhan analisa orientasi sentimen dengan kombinasi
algoritma k-Nearest Neighbor dan pendekatan lexicon dapat dijelaskan pada
gambar dibawah ini.
Page 66
50
Mulai
Pre-proccessing query
Proses k-NN
Hasil orientasi sentimen
sementara
Identifikasi kamus negasi
Hasil orientasi sentimen
Selesai
Indexing data latih
Kamus sentimen negasi
Kamus kbbi, sentimen positif
dan negatif
Hitung score
1
1
Kamus emosiIdentifikasi emosi
Gambar 4. 6 Flowchart Diagram Kombinasi k-NN dan Lexicon
a. Membangun kamus sentimen yang terbagi menjadi sentimen positif dan
negatif
Dalam penelitian ini dibangun kamus positif dan negatif secara sistem.
Kamus sentimen positif dalam penelitian ini berjumlah 1182 kata dan
kamus negatif berjumlah 2399 kata.
b. Membangun kamus emosi yang terbagi menjadi sentimen marah,
kecewa, gembira, sedih, dan takut.
Dalam penelitian ini dibangun kamus emosi secara sistem. Kamus
sentimen emosi dalam penelitian ini berjumlah 5224 kata (sumber
EmoSenticNet).
c. Membangun kamus negasi
Kamus negasi yang digunakan dalam penelitian ini sebanyak 9 kata.
d. Pelatihan data latih. Pelatihan data latih dilakukan dengan cara
membangun inverted index (indexing) dan pembobotan kata
menggunakan teknik TF-IDF. Pelatihan dilakukan sebagai data
pembelajaran oleh mesin k-NN. Tahapan yang dilakukan adalah
mengumpulkan dokumen yang didapat dari kumpulan tweets berisi
sentimen sebagai data latih, kemudian dilakukan proses pre-proccessing
Page 67
51
query dalam enam tahapan dan terakhir melakukan indexing dan
pembobotan kata per kata data latih.
DokumenCase Folding Filtering
NormalisasiStopwords dan
Stemming
Tokenizing
IndexingPembobotan
kata
Gambar 4. 7 Tahapan pelatihan data latih
Case folding
Toyota Voxy Lambang
Kesempurnaan dan Kemewahan
serta selalu mengutamakan nilai
kekeluargaan yang tinggi… https://
t.co/3wd8U6D97d
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi… https://t.co/
3wd8u6d97d
Gambar 4. 8 Proses Case Folding
Filtering
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi… https://t.co/
3wd8u6d97d
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi
Gambar 4. 9 Proses Filtering
Tokenizing
Page 68
52
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi
Gambar 4. 10 Proses Tokenizing
Normalisasi
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi
Gambar 4. 11 Proses Normalisasi
Stopwords dan Stemming
toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
yang tinggi
toyota voxy lambang sempurna
mewah serta utama nilai keluarga
tinggi
Gambar 4. 12 Proses stopwords dan stemming
Indexing (Pembuatan inverted index)
Pada tahap ini, dilakukan proses pengindeksan pada setiap
token. Pada inverted index akan tersimpan informasi berupa kata,
id dokumen, yang mengandung kata tersebut dan frekuensi
kemunculan kata tersebut pada suatu dokumen.
Pembobotan Kata
Page 69
53
Hasil dari indexing pada proses selanjutnya akan dihitung nilai
bobotnya. Pada penelitian ini digunakan jenis perhitungan
pembobotan lokal dengan menggunakan TF (term frekuency) dan
pembobotan global dengan menggunakan IDF (inverse dokument
frekuency).
e. Klasifikasi query uji sementara (sentimen sementara) dengan algoritma
k-Nearest Neighbor.
1. Melakukan pre-proccessing query data uji. Proses yang terlibat
adalah casefolding, filtering, tokenizing, normalisasi, seleksi kalimat
netral dengan pendekatan lexicon.
2. Menghitung kedekatan kemiripan query dengan persamaan consine
similarity
𝐶𝑜𝑠(𝑖, 𝑘) =∑ 𝑘(𝑑1 𝑑𝑘)
√∑ 𝑘 𝑑𝑖𝑘2 √∑ 𝑘𝑑𝑗𝑘
2
..............................................................................(4.2)
Keterangan :
∑ 𝑘 (𝑑1 𝑑𝑘) = vektor dot produk dari i dan k
√∑ 𝑘 𝑑𝑖𝑘2 = panjang vektor i
√∑ 𝑘 𝑑𝑗𝑘2 = panjang vektor k
3. Menentukan nilai k pada algoritma k-NN.
4. Menyimpulkan orientsi sentimen sementara dengan persamaan
𝐷𝑛𝑛(𝑐1 𝑐2) = 𝑚𝑖𝑛1≤𝑖≤𝑟,1≤𝑗≤𝑠𝑑(𝑦𝑖 , 𝑧𝑖)..............................................(4.3)
5. Tahapan klasifikasi query uji sementara dengan algortima k-NN
dapat dilihat pada flowchart dibawah ini.
f. Evaluasi orientasi sentimen sementara dengan pendekatan lexicon
1. Identifikasi kata kunci menggunakan kamus sentimen
Identifikasi yang dilakukan pada tahapan ini adalah mencari kata
kunci sentimen berdasarkan nilai sentimen sementara dari
Page 70
54
rekomendasi klasifikasi sentimen dengan algoritma K-Nearest
Neighbor.
2. Identifikasi kata kunci menggunakan kamus emosi.
Identifikasi yang dilakukan pada tahapan ini adalah mencari kata
kunci sentimen berdasarkan nilai sentimen sementara dari
rekomendasi klasifikasi sentimen dengan algoritma K-Nearest
Neighbor. Jika rekomendasi menghasilkan nilai gembira maka
hanya dicari kata sentimen yang mengandung nilai sentimen
gembira. Jika hasil rekomendasi adalah marah maka dicari kata yang
mengandung nilai sentimen marah, begitupun seterusnya.
3. Identifikasi kalimat negasi. Kata sentimen yang dicari negasinya
tergantung dengan hasil sentimen sementara berdasarkan
rekomendasi tahapan klasifikasi sentimen dengan algortima k-
Nearest Neighbor. Jika berdasarkan klasifikasi sentimen dengan
algortima k-Nearest Neighbor menghasilkan sentimen gembira
maka hanya dicari kata negasi pada setiap kata bernilai sentimen
gembira. Jika hasil rekomendasi marah maka dicari kata negasi yang
mengandung nilai sentimen marah, begitupun seterusnya.
4. Menentukan orientasi akhir sentimen dengan persamaan 4.1
4.3. Collection Input/Output Data
Pada penelitian ini data-data yang digunakan berupa komentar-komentar
netizen terhadap produk-produk dari Toyota yang didapat dari Twitter dengan
memanfaatkan Twitter API. Proses pengambilan data ini dinamakan dengan
crawling. Selain itu pengumpulan data berkaitan dengan kamus-kamus yang akan
digunakan, yang terdiri dari kamus lexicon positif, kamus lexicon negatif, kamus
emosi, kamus KBBI, kamus kata dasar, dan kamus stopwords.
Dibawah ini adalah contoh dari proses crawling :
Page 71
55
Gambar 4. 13 Hasil Proses Crawling
Data-data yang telah diperoleh dan dikumpukan akan dijadikan input dan
output data. Berikut dibawah ini adalah tipe data dari masing-masing input dan
output.
Tabel 4. 1 Tipe Data Input Kamus Lexicon Positif
Nama Field Type dan Length Primart key Null
Id_positif Bigint(20) Yes No
kata_positif Varchar(100) - No
Tabel kamus lexicon positif ini berisi kata-kata positif seperti bagus,
bahagia, dan baik.
Tabel 4. 2 Tipe Data Input Kamus Lexicon Negatif
Nama Field Type dan Length Primart key Null
id_negatif Bigint(20) Yes No
kata_negatif Varchar(100) - No
Page 72
56
Tabel kamus lexicon negatif ini berisi kata-kata negatif seperti acuh, agresif,
alergi, dan anarkis.
Tabel 4. 3 Tipe Data Input Kamus Lexicon Negasi
Nama Field Type dan Length Primary key Null
id_negasi Bigint(20) Yes No
kata_negasi Varchar(100) - No
Tabel kamus lexicon negasi ini berisi kata-kata negasi seperti tidak bisa,
tidak ada, dan tidak pernah.
Tabel 4. 4 Tipe Data Input Kamus Emosi
Nama Field Type dan Length Primary key Null
id_emosi Bigint(20) Yes No
kata_emosi Varchar(100) - No
emosi Varchar(100) - No
Tabel kamus emosi ini berisi kata-kata emosi dan klasifikasi emosinya,
seperti kata cemas memiliki emosi takut.
Tabel 4. 5 Tipe Data Input Kamus KBBI
Nama Field Type dan Length Primary key Null
id_kamus_kbbi Bigint(20) Yes No
kata_kamus_kbbi Varchar(100) - No
Tabel kamus KBBI ini berisi kata-kata yang terdapat di dalam kamus KBBI.
Tabel 4. 6 Tipe Data Input Kata Dasar
Nama Field Type dan Length Primary key Null
id_katadasar Bigint(20) Yes No
kata_katadasar Varchar(100) - No
Tabel kata dasar ini berisi kata-kata dasar.
Page 73
57
Tabel 4. 7 Tipe Data Input Kamus Stopwords
Nama Field Type dan Length Primary key Null
id_stopwords Bigint(20) Yes No
kata_stopwords Varchar(100) - No
Tabel kamus stopword ini berisi kata-kata umum (common words) yang
biasanya muncul dalam jumlah besar dan dianggap tidak memiliki makna.
Tabel 4. 8 Tipe Data Input Data Latih
Nama Field Type dan Length Primary key Null
id Bigint(20) Yes No
id_tweet_latih Varchar(100) - No
tweet_by Varchar(100) - No
isi_tweet Text - No
sentimen_tweet Varchar(100) - No
Tabel data latih ini berisi tweet yang telah di crawling dan telah
diklasifikasikan sentimennya dengan pendekatan Lexicon.
Tabel 4. 9 Tipe Data Input Data Uji
Nama Field Type dan Length Primary key Null
id int(11) Yes No
id_tweet_uji Varchar(100) - No
tweet_by Varchar(100) - No
isi_tweet Text - No
review_sentimen Varchar(100) - No
Tabel data uji ini berisi tweet yang telah di crawling dan telah
diklasifikasikan sentimennya dengan pendekatan Lexicon.
Page 74
58
Tabel 4. 10 Tipe Data Input Pelatihan
Tabel Pelatihan ini berisi potongan kata yang diproses pada tahap
perhitungan tf-idf yang akan menghasilkan bobot dan panjang vektor.
Tabel 4. 11 Tipe Data Pre Processing Query
Nama Field Type dan
Length
Primart key Null
id_proccessing_query Int(11) Yes No
id_tweet Varchar(100) - No
term_casefolding Text - No
term_filtering Text - No
term_tokenizing Text - No
term_normalisasi Text - No
term_stopwords Text - No
term_stemming Text - No
Tabel Pre Processing Query ini berisi kumpulan tweet yang telah diproses
melalui tahap Pre Processing.
Tabel 4. 12 Tipe Data Output Perhitungan Uji
Nama Field Type dan
Length
Primary key Null
id_term Bigint Yes No
term Varchar(100) - No
asal_dokumen Varchar(100) - No
frekuensi_kemunculan Varchar(100) - No
inverse_dokumen_frekuensi Float - No
bobot Float - No
panjang_vektor Float - No
Page 75
59
Tabel perhitungan uji ini berisi kata-kata yang telah diproses menggunakan
algoritma k-Nearest Neighbor.
Tabel 4. 13 Tipe Data Output Hasil Uji
Nama Field Type dan
Length
Primart key Null
id_hasil Bigint Yes No
id_tweet_uji Varchar(100) - No
hasil_analisis_sentimen Varchar(100) - No
Tabel ini berisi hasil analisis sentiment dari perhitungan algoritma k-Nearest
Neighbor dan pendekatan Lexicon.
4.4. Modelling Phase
Dalam modelling phase atau fase pemodelan pada penelitian ini, dilakukan
pemodelan konstruksi analisis sentimen dengan pendekatan Lexicon dan kombinasi
Algoritma k-Nearest Neighbor dan pendekatan Lexicon. Berikut ini dapat dilihat
pemodelan-pemodelan tersebut secara lengkap.
Nama Field Type dan
Length
Primary key Null
id_proses_hitung Bigint Yes No
id_tweet_uji Varchar(100) - No
query Varchar(100) - No
frekuensi_kemunculan Bigint(100) - No
bobot_query Float - No
Panjang_vektor_query Float - No
Id_tweet_latih Varchar(100) - No
Perkalian_skalar Float - No
Consine_similarity Float - No
Page 76
60
4.4.1. Konstruksi Pendekatan Lexicon
Pada tahap ini dilakukan proses untuk menentukan sentiment pada
data latih menggunakan pendekatan Lexicon. Penggunaan lexicon bertujuan
untuk mempermudah penulis dalam menentukan sentiment pada data latih
secara otomatis yang dilakukan berdasarkan kamus lexicon positif, kamus
lexicon negatif, kamus emosi dan kamus lexicon negasi. Secara keseluruhan
konstruksi analisa orientasi sentimen dengan pendekatan lexicon dapat
dijelaskan dibawah ini.
a. Membangun kamus sentimen yang terbagi menjadi sentimen positif dan
negatif.
Dalam penelitian ini dibangun kamus positif dan negatif secara sistem.
Kamus sentimen positif dalam penelitian ini berjumlah 1182 kata dan
kamus negatif berjumlah 2399 kata.
b. Membangun kamus emosi yang terbagi menjadi sentimen marah,
kecewa, gembira, sedih, dan takut.
Dalam penelitian ini dibangun kamus emosi secara sistem. Kamus
sentimen emosi dalam penelitian ini berjumlah 5224 kata (sumber
EmoSenticNet).
c. Membangun kamus negasi
Kamus negasi yang digunakan dalam penelitian ini sebanyak 9 kata.
d. Pre-proccessing query
Tahapan pre-proccessing query yang dilakukan pada pendekatan
lexicon secara keseluruhan dijelaskan dibawah ini :
a. Case folding
b. Filtering
c. Tokenizing
d. Normalisasi
Untuk lebih jelasnya, berikut adalah contoh tahapan dan hasil pre-
proccessing query pada pendekatan lexicon.
Page 77
61
Tweet: “Toyota Voxy Lambang Kesempurnaan dan Kemewahan serta
selalu mengutamakan nilai kekeluargaan yang tinggi…
https://t.co/3wd8U6D97d”
a. Case folding
“toyota voxy lambang kesempurnaan dan kemewahan serta selalu
mengutamakan nilai kekeluargaan yang tinggi…
https://t.co/3wd8u6d97d”
b. Filtering
“toyota voxy lambang kesempurnaan dan kemewahan serta selalu
mengutamakan nilai kekeluargaan yang tinggi”
c. Tokenizing
- toyota - kemewahan - kekeluargaan
- voxy - serta - yang
- lambang - selalu - tinggi
- kesempurnaan - mengutamakan
- dan - nilai
d. Normalisasi
- toyota - kemewahan - kekeluargaan
- voxy - serta - yang
- lambang - selalu - tinggi
- kesempurnaan - mengutamakan
- dan - nilai
e. Metode Lexicon
Setelah melalui 4 tahapan pre-proccessing query diatas,
maka sistem akan menyimpan query tersebut untuk diproses
ketahap selanjutnya.
1. Identifikasi setiap kata sentimen pada query.
Pada proses ini query akan diidentifikasi kata sentimen berdasarkan
kamus positf, negatif, emosi dan negasi. Kata yang berhasil diidentifikasi
dikelompokkan berdasarkan sentimennya.
Page 78
62
Tabel 4. 14 Hasil identifikasi kata sentimen
Kata Pos Neg Gembira Marah Kecewa Sedih Takut
kesempurnaan 1 0 1 0 0 0 0
kemewahan 1 0 1 0 0 0 0
Diidentifikasi terdapat 2 kata bernilai sentimen positif dan sentimen
gembira.
2. Identifikasi kalimat negasi
Pada tahapan ini, query yang telah ditentukan kata sentimennya akan
dilihat apakah terdapat kata negasi pada setiap kata sentimen tersebut.
Query yang akan diidentifikasi kata negasi didalamnya ditandai dengan
adanya kata negasi dengan batas 2 frasa sebelum kata sentimen (Rustiana &
Rahayu, 2017).
Pada proses ini tidak ada kata yang teridentigikasi sebagai kata negasi.
Sehingga kata sebelumnya tidak berubah.
4.4.2. Konstruksi Kombinasi Algoritma k-Nearest Neighbor dan
pendekatan Lexicon
Pada tahap ini dilakukan proses untuk menentukan sentimen twitter
menggunakan kombinasi algoritma k-Nearest Neighbor dan lexicon.
Algoritma k-Nearest Neighbor pada pendekatan kombinasi ini akan
bertindak sebagai algoritma yang akan melakukan klasifikasi orientasi
sentimen sementara.
Pada dasarnya tahapan yang dilakukan tidak jauh berbeda dengan
analisa sebelumnya. Sehingga proses dan teknik yang sama pada
pendekatan lexicon juga diterapkan pada analisa ini. Dengan adanya
kombinasi diharapkan mampu meningkatkan akurasi dalam orientasi
sentimen. Secara keseluruhan analisa orientasi sentimen dengan kombinasi
algoritma k-Nearest Neighbor dan pendekatan lexicon dapat dijelaskan
dibawah ini.
a. Membangun kamus sentimen yang terbagi menjadi sentimen
positif dan negatif
Page 79
63
Dalam penelitian ini dibangun kamus positif dan negatif secara sistem.
Kamus sentimen positif dalam penelitian ini berjumlah 1182 kata dan
kamus negatif berjumlah 2399 kata.
b. Membangun kamus emosi yang terbagi menjadi sentimen marah,
kecewa, gembira, sedih, dan takut.
Dalam penelitian ini dibangun kamus emosi secara sistem. Kamus
sentimen emosi dalam penelitian ini berjumlah 5224 kata (sumber
EmoSenticNet).
c. Membangun kamus negasi
Kamus negasi yang digunakan dalam penelitian ini sebanyak 9 kata.
d. Pelatihan data latih (inverted index dan pembobotan kata)
Untuk lebih jelas nya, berikut adalah contoh pembuatan inverted index
dan pembobotan kata pada data latih secara keseluruhan.
1. Mengumpulkan dokumen yang didapat dari kumpulan tweet berisi
sentimen sebagai data latih. Sebagai contoh digunakan 4 dokumen
sebagai data latih.
Tabel 4. 15 Dokumen data latih
Dok(n) Isi Tweet Sentimen
Tweet
1 Mobillll terpopuler di Uni Emirat Arab adalah
Kijang Innova yang sepenuhnya diproduksi di
Indonesia. https://t.co/C4NnymnFJk
GEMBIRA
2 Sedih, penjualannya merosot! Nasib Toyota
Sienta sama dengan BR-V. Penjualan Sienta
dalam data yang sama terus merosot setiap
bulannya. Kenapa ya? #ToyotaSienta #Toyota
via @detikoto
SEDIH
3 Mobil Toyota Camry Tabrak lima Sepeda
Motor Tidak Terdaftar Nopolnya
https://t.co/cMXrmk7TIA
https://t.co/SAn0RmLlva
MARAH
4 Pokoknya dulu lagi sering sama kasus
penculikan, bahkan pas kecil takut liat rx king
sama toyota hardtop soalnya disangka
kendaraan culik https://t.co/U1jFVPUdbQ
TAKUT
Page 80
64
2. Case folding
Tabel 4. 16 Hasil casefolding pada data latih
Dok(n) Isi Tweet Sentimen
Tweet
1 mobillll terpopuler di uni emirat arab adalah
kijang innova yang sepenuhnya diproduksi di
indonesia. https://t.co/c4nnymnfjk
GEMBIRA
2 Sedih, penjualannya merosot! Nasib Toyota
Sienta sama dengan BR-V. Penjualan Sienta
dalam data yang sama terus merosot setiap
bulannya. Kenapa ya? #ToyotaSienta #Toyota
via @detikoto
SEDIH
3 mobil toyota camry tabrak lima sepeda motor
tidak terdaftar nopolnya
https://t.co/cmxrmk7tia https://t.co/san0rmllva
MARAH
4 Pokoknya dulu lagi sering sama kasus
penculikan, bahkan pas kecil takut liat rx king
sama toyota hardtop soalnya disangka
kendaraan culik https://t.co/U1jFVPUdbQ
TAKUT
3. Filtering
Tabel 4. 17 Hasil filtering pada data latih
Dok(n) Isi Tweet Sentimen
Tweet
1 mobillll terpopuler di uni emirat arab adalah
kijang innova yang sepenuhnya diproduksi di
indonesia.
GEMBIRA
2 sedih, penjualannya merosot! nasib toyota
sienta sama dengan br-v. penjualan sienta
dalam data yang sama terus merosot setiap
bulannya. kenapa ya?
SEDIH
3 mobil toyota camry tabrak lima sepeda motor
tidak terdaftar nopolnya
MARAH
4 pokoknya dulu lagi sering sama kasus
penculikan, bahkan pas kecil takut liat rx king
sama toyota hardtop soalnya disangka
kendaraan culik
TAKUT
4. Tokenizing
Page 81
65
Tabel 4. 18 Hasil tokenizing pada data latih
5. Normalisasi
Tabel 4. 19 Hasil normalisasi pada data latih
Dok(1) Dok(2) Dok(3) Dok(4)
mobil sedih mobil pokoknya
terpopuler penjualannya toyota dulu
di merosot camry lagi
uni nasib tabrak sering
emirat toyota lima sama
arab sienta sepeda kasus
adalah sama motor penculikan
kijang dengan tidak bahkan
innova brv terdaftar pas
yang penjualan nopolnya kecil
sepenuhnya sienta takut
diproduksi dalam liat
di data rx
indonesia yang king
sama sama
Dok(1) Dok(2) Dok(3) Dok(4)
mobillll sedih mobil pokoknya
terpopuler penjualannya toyota dulu
di merosot camry lagi
uni nasib tabrak sering
emirat toyota lima sama
arab sienta sepeda kasus
adalah sama motor penculikan
kijang dengan tidak bahkan
innova brv terdaftar pas
yang penjualan nopolnya kecil
sepenuhnya sienta takut
diproduksi dalam liat
di data rx
indonesia yang king
sama sama
terus toyota
merosot hardtop
setiap soalnya
bulannya disangka
kenapa kendaraan
ya culik
Page 82
66
terus toyota
merosot hardtop
setiap soalnya
bulannya disangka
kenapa kendaraan
ya culik
6. Stopwords dan Stemming
Tabel 4. 20 Hasil stopwords dan stemming pada data latih
7. Perhitungan manual klasifikasi data latih
Menghitung pembobotan kata TF-IDF
Berikut ini adalah langkah-langkah menghitung TF-IDF:
1. Menghitung Term Frequency (TF) yaitu menghitung kemunculan
term pada dokumen. Hasilnya dapat dilihat pada tabel
2. Menghitung Document Frequency (DF) yaitu menghitung
banyaknya dokumen dimana suatu term muncul. Hasilnya dapat
dilihat pada tabel
3. Menghitung Inverse Document Frequency (IDF)
Menghitung IDF menggunakan rumus:
𝐼𝐷𝐹 = 𝑙𝑜𝑔𝑁
𝑁𝑡
Sebagai contoh menghitung term “camry”, dan hasil
keseluruhannya dapat dilihay pada tabel
Dok(1) Dok(2) Dok(3) Dok(4)
mobil sedih mobil culik
populer jual toyota pas
uni merosot camry takut
emirat nasib tabrak liat
arab toyota sepeda rx
kijang sienta motor king
innova brv daftar toyota
produksi jual nopolnya hardtop
indonesia sienta sangka
data kendara
merosot culik
Page 83
67
𝐼𝐷𝐹(𝑐𝑎𝑚𝑟𝑦) = 𝑙𝑜𝑔4
1= 0.6020
Keterangan:
N = Jumlah seluruh dokumen
Nt = jumlah dokumen yang mengandung kata t (term) atau DF
4. Menghitung TF-IDF atau bobot menggunakan rumus:
𝑊(𝑡, 𝑑) = 𝑡𝑓 𝑥 𝐼𝐷𝐹
𝑊(camry, Dok(3)) = 1 𝑥 0.6020 = 0.6020
Tabel 4. 21 Hasil pembobotan kata tf
Term TF
Dok(1) Dok(2) Dok(3) Dok(4)
arab 1 0 0 0
brv 0 1 0 0
camry 0 0 1 0
culik 0 0 0 2
daftar 0 0 1 0
data 0 1 0 0
emirat 1 0 0 0
hardtop 0 0 0 1
indonesia 1 0 0 0
innova 1 0 0 0
jual 0 2 0 0
kendaraan 0 0 0 1
kijang 1 0 0 0
king 0 0 0 1
liat 0 0 0 1
merosot 0 2 0 0
mobil 1 0 1 0
motor 0 0 1 0
nasib 0 1 0 0
nopolnya 0 0 1 0
pas 0 1 0 0
populer 1 0 0 0
produksi 1 0 0 0
rx 0 0 0 1
sangka 0 0 0 1
sedih 0 1 0 0
sepeda 0 0 1 0
sienta 0 2 0 0
tabrak 0 0 1 0
Page 84
68
takut 0 0 0 1
toyota 1 1 1 1
uni 1 0 0 0
Tabel 4. 22 Hasil pembobotan kata idf
Term DF IDF W = TF IDF
Dok(1) Dok(2) Dok(3) Dok(4)
arab 1 0.6020 0.6020 0 0 0
brv 1 0.6020 0 0.6020 0 0
camry 1 0.6020 0 0 0.6020 0
culik 1 0.6020 0 0 0 1.2040
daftar 1 0.6020 0.6020 0 0 0
data 1 0.6020 0 0 0 0.6020
emirat 1 0.6020 0.6020 0 0 0
hardtop 1 0.6020 0.6020 0 0 0
indonesia 1 0.6020 0 0.6020 0 0
innova 1 0.6020 0.6020 0 0 0
jual 1 0.6020 0 1.2040 0 0
kendaraan 1 0.6020 0 0.6020 0 0
kijang 1 0.6020 0.6020 0 0 0
king 1 0.6020 0 0 0.6020 0
liat 1 0.6020 0 0.6020 0 0
merosot 1 0.3010 0 0 0.6020 0
mobil 2 0.3010 0.3010 0 0.3010 0
motor 1 0.6020 0.6020 0 0 0
nasib 1 0.6020 0.6020 0 0 0
nopolnya 1 0.6020 0 0 0 0.6020
pas 1 0.6020 0 0.6020 0 0
populer 1 0.6020 0 0 0.6020 0
produksi 1 0.6020 0 0.6020 0 0
rx 1 0.6020 0 0 0.6020 0
sangka 1 0.6020 0 0 0 0.6020
sedih 1 0.6020 0 0.6020 0 0
sepeda 1 0.6020 0 0 0.6020 0
sienta 1 0.6020 1.2040 0 0 0
tabrak 1 0.6020 0 0.6020 0 0
takut 1 0.6020 0 0.6020 0 0
toyota 3 0.1249 0 0.1249 0.1249 0.1249
uni 1 0.6020 0.6020 0 0 0
e. Klasifikasi query uji dengan algoritma k-NN (sentimen sementara)
1. Pre-proccessing query uji
Page 85
69
a. Pada tahapan ini menggunakan 1 data uji sebagai contoh. Data
uji ini nantinya akan diproses untuk masuk ke dalam kelas
sentimen yang ada.
Query: Toyota Perkirakan Mobil C-HR Hybrid akan Lebih Laris
https://t.co/Yve1rYPRNo https://t.co/GvKayDo1WQ
b. Case Folding
toyota perkirakan c-hr hybrid akan lebih laris
https://t.co/yve1ryprno https://t.co/gvkaydo1wq
c. Filtering
toyota perkirakan mobil c-hr hybrid akan lebih laris
d. Tokenizing
-toyota -perkirakan -mobil -c-hr
-hybrid -akan -lebih -laris
e. Normalisasi
-toyota -perkirakan - mobil -c-hr
-hybrid -akan -lebih -laris
f. Seleksi kalimat netral dengan pendekatan lexicon
-toyota -perkirakan - mobil -c-hr
-hybrid -akan -lebih
g. Stopwords dan Stemming
-toyota -mobil
h. Pembobotan kata
-tf toyota = 1 -tf mobil = 1
2. Menghitung kedekatan kemiripan query uji dengan data latih
menggunakan rumus consine similarity.
Untuk lebih jelasnya, tahapan ini akan dijelaskan sebagai lanjutan
contoh dari proses pre-proccessing query diatas. Sebagai contoh query
yang sudah dilakukan pre-proccessing sebagai berikut.
Query: toyota mobil
Page 86
70
Sebelum menghitung consine similarity terlebih dahulu dilakukan
tahapan-tahapan berikut :
Menghitung bobot setiap kata dalam dokumen query uji terhadap
bobot data latih.
Tabel 4. 23 Hasil Pembobotan Query Uji dengan data latih
Term DF IDF W = TF IDF
Query Dok(1) Dok(2) Dok(3) Dok(4)
arab 1 0.6020 0 0.6020 0 0 0
Brv 1 0.6020 0 0 0.6020 0 0
camry 1 0.6020 0 0 0 0.6020 0
culik 1 0.6020 0 0 0 0 1.2040
daftar 1 0.6020 0 0.6020 0 0 0
data 1 0.6020 0 0 0 0 0.6020
emirat 1 0.6020 0 0.6020 0 0 0
hardtop 1 0.6020 0 0.6020 0 0 0
indonesia 1 0.6020 0 0 0.6020 0 0
innova 1 0.6020 0 0.6020 0 0 0
jual 1 0.6020 0 0 1.2040 0 0
kendaraan 1 0.6020 0 0 0.6020 0 0
kijang 1 0.6020 0 0.6020 0 0 0
king 1 0.6020 0 0 0 0.6020 0
Liat 1 0.6020 0 0 0.6020 0 0
merosot 1 0.3010 0 0 0 0.6020 0
mobil 2 0.3010 0.3010 0.3010 0 0.3010 0
motor 1 0.6020 0 0.6020 0 0 0
nasib 1 0.6020 0 0.6020 0 0 0
nopolnya 1 0.6020 0 0 0 0 0.6020
pas 1 0.6020 0 0 0.6020 0 0
populer 1 0.6020 0 0 0 0.6020 0
produksi 1 0.6020 0 0 0.6020 0 0
rx 1 0.6020 0 0 0 0.6020 0
sangka 1 0.6020 0 0 0 0 0.6020
sedih 1 0.6020 0 0 0.6020 0 0
sepeda 1 0.6020 0 0 0 0.6020 0
sienta 1 0.6020 0 1.2040 0 0 0
tabrak 1 0.6020 0 0 0.6020 0 0
takut 1 0.6020 0 0 0.6020 0 0
toyota 3 0.1249 0.1249 0 0.1249 0.1249 0.1249
Page 87
71
Selanjutnya berdasarkan perhitungan bobot tersebut, hitung panjang
vektor setiap dokumen. Tahapan yang dilakukan adalah sebagai
berikut :
1. Hitung hasil perkalian skalar antara query uji dan 4 dokumen
lainnya (data latih). Hasilnya perkalian dari setiap dokumen
dengan query dijumlahkan.
Tabel 4. 24 Hasil perkalian skalar antara query dan data latih
Asal_dokumen_perkalian_skalar (WQuery*WDoki)
W(D1) W(D2) W(D3) W(D4)
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0.09060 0 0.09060 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0.01560 0.01560 0.01560
0.09060 0.01560 0.10620 0.01560
Page 88
72
2. Hitung panjang setiap dokumen, termasuk query uji. Caranya
dengan mengkuadratkan bobot setiap kata dalam setiap
dokumen, jumlahkan nilai kuadrat dan terakhir akarkan.
Tabel 4. 25 Hasil panjang setiap dokumen
W(Q) W(D1) W(D2) W(D3) W(D4)
0 0.362404 0 0 0
0 0 0.362404 0 0
0 0 0 0.362404 0
0 0 0 0 0.724808
0 0.362404 0 0 0
0 0 0 0 0.362404
0 0.362404 0 0 0
0 0.362404 0 0 0
0 0 0.362404 0 0
0 0.362404 0 0 0
0 0 0.362404 0 0
0 0 0.724808 0 0
0 0.362404 0 0 0
0 0 0 0.362404 0
0 0 0.362404 0 0
0 0 0 0.362404 0
0.181202 0.181202 0 0.181202 0
0 0.362404 0 0 0
0 0.362404 0 0 0
0 0 0 0 0.362404
0 0 0.362404 0 0
0 0 0 0.362404 0
0 0 0.362404 0 0
0 0 0 0.362404 0
0 0 0 0 0.362404
0 0 0.362404 0 0
0 0 0 0.362404 0
0 0.724808 0 0 0
0 0 0.362404 0 0
0 0 0.362404 0 0
0.01560 0 0.01560 0.01560 0.01560
0.196802 3.805242 4.002044 2.371226 1.82762
0.4436 1.9507 2.0005 1.5399 1.3519
Page 89
73
Terapkan rumus consine similarity. Hitung kemiripan query dengan
4 dokumen lainnya (data latih).
Hasil perhitungan dalam tabel
D1 D2 D3 D4
0.6043088210772052 0.2652681198670746 0.4083793468707038 0.2094021933828712
3. Menentukan besar nilai k pada algoritma k-NN
Menentukan nilai k pada algoritma k-NN. Nilai k merupakan parameter
yang akan membatasi ketetanggaan terdekat yang akan diproses pada
tahap selanjutnya. Ditentukan nilai k pada algoritma k-NN adalah 1.
Sehingga berdasarkan nilai tersebut ketetanggaan terdekat dengan query
adalah sebagai berikut :
Setelah diurutkan (dari yang memiliki nilai terbesar)
4. Menyimpulkan orientasi sentimen sementara dengan persamaan 4.3
D1 = 0.6043088210772052
D1 = GEMBIRA (Dokumen ke empat memiliki sentimen gembira)
Dnn(c1,c2) = GEMBIRA
Dapat disimpulkan bahwa query uji memiliki sentimen gembira
f. Evaluasi orientasi sentimen sementara dengan pendekatan lexicon
Untuk lebih jelasnya, berikut akan dijelaskan proses evaluasi orientasi
sentimen sementara sebagai lanjutan dari proses klasifikasi dengan k-
NN.
a. Identifikasi kata kunci menggunakan kamus sentimen
1 2 3 4
D1 D3 D2 D4
Cos(Q,D1) = 0.181202 / (0.4436 * 1.9507) = 0. 181202 / 0. 86533 = 0. 6043088210772052
Cos(Q,D2) = 0.362404 / (0.4436 * 2.0005) = 0. 362404 / 0. 88742 = 0. 2652681198670746
Cos(Q,D3) = 0.181202 / (0.4436 * 1.5399) = 0. 181202 / 0. 68309 = 0. 4083793468707038
Cos(Q,D4) = 0.362404 / (0.4436 * 1.3519) = 0. 362404 / 0. 59970 = 0. 2094021933828712
Page 90
74
Pada tahapan menggunakan algoritma k-NN didapat nilai
orientasi sentimen sementara adalah gembira. Sehingga pada
tahap ini akan dilakukan pencarian kata kunci sentimen hanya
bernilai sentimen gembira.
Gembira Marah Kecewa Sedih Takut
(+) laris - - - -
1 kata 0 kata 0 kata 0 kata 0 kata
b. Identifikasi kalimat negasi
Tidak ditemukan kalimat negasi pada kata sentimen gembira
tersebut
Gembira Marah Kecewa Sedih Takut
(+) laris - - - -
1 kata 0 kata 0 kata 0 kata 0 kata
4.5. Simulation Phase
Pada tahapan simulasi ini akan dilakukan simulasi aplikasi yang berkaitan
dengan pengujian tingkat akurasi algoritma K-Nearest Neighbor dan pendekatan
Lexicon. Adapun faktor-faktor dalam proses simulasi dapat dilihat pada tabel
berikut.
Tabel 4. 26 Simulasi Penelitian
Variabel/Parameter
Simulasi
Tahap Simulasi
Faktor 1 Tahap klasifikasi sentimen data latih dengan
pendekatan Lexicon
Faktor 2 Tahap pelatihan data pada data latih
Faktor 3 Tahap pengujian data uji dengan kombinasi
algortima k-NN dan pendekatan Lexicon
Page 91
75
berdasarkan nilai k pada algoritma k-NN adalah
1,3,5,9 dan 10.
Faktor 4 Tahap pengujian akurasi menggunakan
confusion matrix
Variabel atau parameter simulasi yang digunakan dalam melakukan
skenario-skenario pengujian yaitu dengan menggunakan pendekatan Lexicon dan
kombinasi algoritma k-NN dan pendekatan Lexicon. Pendekatan Lexicon digunakan
untuk memudahkan peneliti dalam melakukan klasifikasi dan labeling data pada
data latih sebanyak 900 data. Sementara kombinasi algoritma k-NN dan pendekatan
Lexicon digunakan untuk klasifikasi data uji sebanyak 100 data .
Dalam sub-bab berikut akan dibahas simulasi aplikasi analisis orientasi
sentimen berdasarkan skenario simulasi pada tabel 4.28.
4.5.1. Tahap pengujian data uji
Pegujian yang dilakukan adalah untuk mengklasifikasikan data uji
kedalam kelas emosi gembira, marah, sedih, kecewa, takut dengan
kombinasi algoritma k-NN. Proses pengklasifikasian data uji akan
dilakukan kedalam 1 skenario yaitu berdasarkan penentuan nilai k pada
algoritma k-NN dengan nilai k=1, k=3, k=5, k=9 dan k=10.
Pada tahapan ini terdapat informasi sejauh mana tingkat
keberhasilan kombinasi algoritma tersebut dalam mengklasifikasikan data
uji kedalam kelasnya yang dihitung berdasarkan tingkat akurasi, error rate,
presisi, recall dan f-measure.
1. Skenario 1 nilai k pada algoritma k-NN = 1
Pada gambar dibawah menggambarkan tampilan hasil setelah
melakukan proses klasifikasi data uji menggunakan kombinasi algoritma k-
NN dan lexicon dengan nilai k pada algoritma k-NN adalah 1. Tingkat
akurasi yang dihasilkan pada skenario pertama sebesar 81%, error rate
sebesar 19%, recall sebesar 72%, presisi sebesar 0,8965 dan f-measure
sebesar 0,8.
Page 92
76
Gambar 4. 14 Tampilan Informasi Tingkat Akurasi Sistem Skenario 1
Page 93
77
Gambar 4. 15 Tampilan Informasi Confusion Matrix Skenario 1
Page 94
78
2. Skenario 2 nilai k pada algoritma k-NN = 3
Pada gambar dibawah menggambarkan tampilan hasil setelah
melakukan proses klasifikasi data uji menggunakan kombinasi algoritma k-
NN dan lexicon dengan nilai k pada algoritma k-NN adalah 1. Tingkat
akurasi yang dihasilkan pada skenario pertama sebesar 83%, error rate
sebesar 17%, recall sebesar 72%, presisi sebesar 0,9629 dan f-measure
sebesar 0,8253.
Gambar 4. 16 Tampilan Informasi Tingkat Akurasi Sistem Skenario 2
Page 95
79
Gambar 4. 17 Tampilan Informasi Confusion Matrix Skenario 2
Page 96
80
3. Skenario 3 nilai k pada algoritma k-NN = 5
Pada gambar dibawah menggambarkan tampilan hasil setelah
melakukan proses klasifikasi data uji menggunakan kombinasi algoritma k-
NN dan lexicon dengan nilai k pada algoritma k-NN adalah 1. Tingkat
akurasi yang dihasilkan pada skenario pertama sebesar 82%, error rate
sebesar 18%, recall sebesar 72%, presisi sebesar 0,9629 dan f-measure
sebesar 0,8253.
Gambar 4. 18 Tampilan Informasi Tingkat Akurasi Sistem Skenario 3
Page 97
81
Gambar 4. 19 Tampilan Informasi Confusion Matrix Skenario 3
Page 98
82
4. Skenario 4 nilai k pada algoritma k-NN = 9
Pada gambar dibawah menggambarkan tampilan hasil setelah
melakukan proses klasifikasi data uji menggunakan kombinasi algoritma k-
NN dan lexicon dengan nilai k pada algoritma k-NN adalah 1. Tingkat
akurasi yang dihasilkan pada skenario pertama sebesar 79%, error rate
sebesar 21%, recall sebesar 72%, presisi sebesar 0,9629 dan f-measure
sebesar 0,8253.
Gambar 4. 20 Tampilan Informasi Tingkat Akurasi Sistem Skenario 4
Page 99
83
Gambar 4. 21 Tampilan Informasi Confusion Matrix Skenario 4
Page 100
84
5. Skenario 5 nilai k pada algoritma k-NN = 10
Pada gambar dibawah menggambarkan tampilan hasil setelah
melakukan proses klasifikasi data uji menggunakan kombinasi algoritma k-
NN dan lexicon dengan nilai k pada algoritma k-NN adalah 1. Tingkat
akurasi yang dihasilkan pada skenario pertama sebesar 75%, error rate
sebesar 25%, recall sebesar 72%, presisi sebesar 0,9629 dan f-measure
sebesar 0,8253.
Gambar 4. 22 Tampilan Informasi Tingkat Akurasi Sistem Skenario 5
Page 101
85
Gambar 4. 23 Tampilan Informasi Confusion Matrix Skenario 5
4.6. Verification, Validation and Experimentation
Pembahasan pada sub-bab ini akan dibahas pada BAB 5.
4.7. Output Analysis Phase
Pembahasan pada sub-bab ini akan dibahas pada BAB 5.
Page 102
86
BAB V
HASIL DAN PEMBAHASAN
5.1. Verification, Validation and Experimentation
Verifikasi dilakukan untuk memastikan bahwa setiap tahapan pada bab-bab
sebelumnya saling memiliki hubungan, dalam hal ini setiap tahapan pada bab 4
diulas kembali untuk memastikan tiap tahap tersebut saling terkait. Verifikasi juga
memastikan bahwa input dan output sesuai dengan yang diharapkan dimulai dari
tahap problem formulation (formulasi masalah) hingga simulation phase (simulasi).
Dari tahapan problem formulation (formulasi masalah) dilakukan
pembahasan mengenai masalah terpenting dengan cara identifikasi masalah untuk
dirumusakan dalam penulisan skripsi ini, sehingga dari permasalahan tersebut dapat
dikembangkan suatu pemodelan konsep sebagai solusi. Selanjutnya pada tahapan
conceptual model (pemodelan konsep), dilakukan pembahasan konsep secara
keseluruahan pada Aplikasi analisis orientasi sentimen meliputi input, proses,
eksperimen dan output yang diharapkan. Pada tahapan collection input/output data,
membahasa input dan output data dengan menyebutkan atribut-atribut data.
Berlanjut ke tahapan Modelling phase (pemodelan) yaitu berkaitan dengan
mengolah data input dan output yang telah dibuat pada tahapan sebelumnya. Pada
tahapan ini dilakukan perhitungan sampel dan konstruksi klasifikasi sentimen data
latih menggunakan pendekatan Lexicon, perhitungan sampel dan konstruksi
klasifikasi data uji menggunakan kombinasi algoritma K-Nearest Neighbor dan
pendekatan Lexicon yang dilakukan secara manual untuk dapat dijadikan acuan
dalam pembuatan aplikasi pada skripsi ini. Berikutnya pada tahapan terkahir adalah
simulation (simulasi), yaitu dengan melakukan simulasi pada aplikasi analisis
orientasi sentimen yang fungsinya mengimplementasikan pemodelan-pemodelan
manual sebelumnya. Oleh karena itu, setiap tahapan dapat dipastikan memiliki
keterkaitan, karena setiap tahapan yang dibuat akan berpengaruh untuk membuat
tahapan selanjutnya. Sehingga dari seluruh tahapan-tahapan yang dibahas pada sub-
bab sebelumnya dapat diverifikasi sesuai dengan ketentuan verifikasi yang ada.
Page 103
87
Dalam proses validasi dilakukan pengujian kebenaran sistem yaitu dengan
melakukan perbandingan hasil kombinasi algoritma K-Nearest Neighbor dan
pendekatan Lexicon yang dihitung secara manual dengan hasil pada aplikasi
analisis orientasi sentimen sehingga menghasilkan keakuratan sistem. Kemudian
dilakukan eksperimen dengan membandingkan hasil skenario yaitu hasil klasifikasi
sentimen data uji menggunakan kombinasi algoritma K-Nearest Neighbor dan
pendekatan Lexicon. Dari eksperimen tersebut dilakukan analisis outputnya yang
akan dibahas pada tahapan Output Analysis Phase.
5.2. Output Analysis Phase
Dalam melakukan analisis output, dilakukan analisis terhadap hasil
klasifikasi sentimen publik terhadap produk otomotif Toyota dengan menggunakan
kombinasi algoritma K-Nearest Neighbor dan pendekatan Lexicon dan hasil tingkat
akurasi dari algoritma tersebut. Output penelitian ini didapatkan dari aplikasi
berbasis web menggunakan bahasa pemrograman PHP dan database Mysql yang
dibangun oleh penulis.
5.2.1. Hasil Klasifikasi Sentimen Kombinasi Algoritma K-Nearest
Neighbor dan Pendekatan Lexicon
Sub-bab ini menjelaskan hasil dari klasifikasi sentimen 100 data uji
yang bersumber dari Twitter berkaitan dengan komentar netizen terhadap
produk otomotif Toyota. Klasifikasi dilakukan menggunakan kombinasi
algoritma k-NN dan pendekatan Lexicon yang ditentukan berdasarkan ke 5
parameter nilai k pada algoritma k-NN. Penulis menggunakan 5 paramater
nilai k mengambil referensi dari penelitian sebelumnya. Hasil klasifikasi
sentimen 100 data uji dimasukkan ke dalam lampiran.
5.2.2. Analisis Hasil Tingkat Akurasi Kombinasi Algoritma K-
Nearest Neighbor dan Pendekatan Lexicon
Sub-bab ini akan menjelaskan mengenai hasil tingkat akurasi
terhadap kombinasi algoritma k-NN dan pendekatan Lexicon. Pada
algoritma k-NN akan dilakukan pengujian terhadap nilai k dalam 5 nilai
yaitu k=1, k=3, k=5 K=9 dan k=10. Data latih yang digunakan adalah
Page 104
88
berjumlah 900 dokumen. Dan 100 dokumen data uji baru. Nilai kombinasi
antara kedua algoritma dengan akurasi tertinggi akan digunakan pada sistem
analisis orientasi sentimen ini.
a. Hasil Tingkat Akurasi Kombinasi Algoritma k-NN dan Lexicon dengan
nilai k pada algoritma k-NN sama dengan 1.
Tabel 5. 1 hasil akurasi dengan k=1
Sentimen Kelas hasil prediksi
Gembira Marah Sedih Kecewa Takut
Kelas
Sebenarnya
Gembira a = 26 b = 10 c = 0 d = 0 e = 0
Marah f = 2 g = 26 h = 0 i = 0 j = 3
Sedih k = 0 l = 1 m = 6 n = 0 o = 0
Kecewa p = 0 q = 2 r = 0 s = 13 t = 0
Takut u = 1 v = 0 w = 0 x = 0 y = 10
Berdasarkan hasil pengujian dari tabel diatas dapat diambil nilai akurasi
sebagai berikut:
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑎 + 𝑔 + 𝑚 + 𝑠 + 𝑦
(𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎) X 100
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 26 + 26 + 6 + 13 + 10
26 + 10 + 2 + 26 + 3 + 1 + 6 + 2 + 13 + 1 + 10 + 0 X 100
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 81
100 X 100 = 81%
Page 105
89
b. Hasil Tingkat Akurasi Kombinasi Algoritma k-NN dan Lexicon dengan
nilai k pada algoritma k-NN sama dengan 3.
Tabel 5. 2 Hasil akurasi dengan k=3
Sentimen Kelas hasil prediksi
Gembira Marah Sedih Kecewa Takut
Kelas
Sebenarnya
Gembira a = 26 b = 9 c = 1 d = 0 e = 0
Marah f = 1 g = 27 h = 0 i = 0 j = 2
Sedih k = 0 l = 0 m = 6 n = 1 o = 0
Kecewa p = 0 q = 2 r = 0 s = 13 t = 0
Takut u = 0 v = 0 w = 1 x = 0 y = 11
Berdasarkan hasil pengujian dari tabel diatas dapat diambil nilai akurasi
sebagai berikut:
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑎 + 𝑔 + 𝑚 + 𝑠 + 𝑦
(𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎) X 100
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 83
100 X 100 = 83%
c. Hasil Tingkat Akurasi Kombinasi Algoritma k-NN dan Lexicon dengan
nilai k pada algoritma k-NN sama dengan 5.
Tabel 5. 3 Hasil akurasi dengan k=5
Sentimen Kelas hasil prediksi
Gembira Marah Sedih Kecewa Takut
Kelas
Sebenarnya
Gembira a = 26 b = 9 c = 1 d = 0 e = 0
Marah f = 1 g = 26 h = 0 i = 0 j = 3
Sedih k = 0 l = 0 m = 6 n = 1 o = 0
Page 106
90
Kecewa p = 0 q = 2 r = 0 s = 13 t = 0
Takut u = 0 v = 0 w = 1 x = 0 y = 11
Berdasarkan hasil pengujian dari tabel diatas dapat diambil nilai akurasi
sebagai berikut:
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑎 + 𝑔 + 𝑚 + 𝑠 + 𝑦
(𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎) X 100
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 82
100 X 100 = 82%
d. Hasil Tingkat Akurasi Kombinasi Algoritma k-NN dan Lexicon dengan
nilai k pada algoritma k-NN sama dengan 9.
Tabel 5. 4 Hasil akurasi dengan k=9
Sentimen Kelas hasil prediksi
Gembira Marah Sedih Kecewa Takut
Kelas
Sebenarnya
Gembira a = 26 b = 10 c = 0 d = 0 e = 0
Marah f = 1 g = 24 h = 0 i = 1 j = 4
Sedih k = 0 l = 0 m = 6 n = 1 o = 0
Kecewa p = 0 q = 2 r = 0 s = 13 t = 0
Takut u = 0 v = 1 w = 1 x = 0 y = 10
Berdasarkan hasil pengujian dari tabel diatas dapat diambil nilai akurasi
sebagai berikut:
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑎 + 𝑔 + 𝑚 + 𝑠 + 𝑦
(𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎) X 100
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 79
100 X 100 = 79%
Page 107
91
e. Hasil Tingkat Akurasi Kombinasi Algoritma k-NN dan Lexicon dengan
nilai k pada algoritma k-NN sama dengan 10.
Tabel 5. 5 Hasil akurasi dengan k=10
Sentimen Kelas hasil prediksi
Gembira Marah Sedih Kecewa Takut
Kelas
Sebenarnya
Gembira a = 26 b = 9 c = 1 d = 0 e = 0
Marah f = ` g = 22 h = 0 i = 1 j = 6
Sedih k = 0 l = 0 m = 6 n = 1 o = 0
Kecewa p = 0 q = 4 r = 0 s = 11 t = 0
Takut u = 0 v = 1 w = 1 x = 0 y = 10
Berdasarkan hasil pengujian dari tabel diatas dapat diambil nilai akurasi
sebagai berikut:
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑎 + 𝑔 + 𝑚 + 𝑠 + 𝑦
(𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑚𝑢𝑎 𝑑𝑎𝑡𝑎) X 100
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 75
100 X 100 = 75%
Keterangan:
a = jumlah data gembira yang diklasifikasikan sebagai gembira
b = jumlah data gembira yang diklasifikasikan sebagai marah
c = jumlah data gembira yang diklasifikasikan sebagai sedih
d = jumlah data gembira yang diklasifikasikan sebagai kecewa
e = jumlah data gembira yang diklasifikasikan sebagai takut
f = jumlah data marah yang diklasifikasikan sebagai gembira
g = jumlah data marah yang diklasifikasikan sebagai marah
h = jumlah data marah yang diklasifikasikan sebagai sedih
Page 108
92
i = jumlah data marah yang diklasifikasikan sebagai kecewa
j = jumlah data marah yang diklasifikasikan sebagai takut
k = jumlah data sedih yang diklasifikasikan sebagai gembira
l = jumlah data sedih yang diklasifikasikan sebagai marah
m = jumlah data sedih yang diklasifikasikan sebagai sedih
n = jumlah data sedih yang diklasifikasikan sebagai kecewa
o = jumlah data sedih yang diklasifikasikan sebagai takut
p = jumlah data kecewa yang diklasifikasikan sebagai gembira
q = jumlah data kecewa yang diklasifikasikan sebagai marah
r = jumlah data kecewa yang diklasifikasikan sebagai sedih
s = jumlah data kecewa yang diklasifikasikan sebagai kecewa
t = jumlah data kecewa yang diklasifikasikan sebagai takut
u = jumlah data marah yang diklasifikasikan sebagai kecewa
v = jumlah data takut yang diklasifikasikan sebagai gembira
w = jumlah data takut yang diklasifikasikan sebagai sedih
x = jumlah data takut yang diklasifikasikan sebagai kecewa
y = jumlah data takut yang diklasifikasikan sebagai takut
Gambar 5. 1 Grafik Hasil Penelitian
0
20
40
60
80
100
120
k=1 k=3 k=5 k=9 k=10
Per
sen
tase
Kombinasi k-NN dan Pendekatan Lexicon
Akurasi Presisi Recall
Page 109
93
Gambar 5. 2 Hasil perhitungan F-Measure
Berdasarkan grafik pada gambar 5.1, dan 5.2, maka didapatkan hasil analisis
sebagai berikut:
1. Kombinasi algoritma k-NN dan pendekatan Lexicon memiliki tingkat
akurasi, error rate, presisi dan recall yang berbeda disetiap ekperimen
yang dilakukan oleh peneliti. Pada eksperimen pertama/skenario
pertama, kombinasi algoritma ini menghasilkan tingkat akurasi sebesar
82% dengan error rate sebesar 18%, f-measure sebesar 0,7179, presisi
sebesar 0,7368 dan recall sebesar 70%.
2. Pada eksperimen kedua/skenario kedua, kombinasi algoritma ini
menghasilkan tingkat akurasi sebesar 84% dengan error rate sebesar
16%, f-measure sebesar 0,7441, presisi sebesar 0,6956 dan recall
sebesar 80%. Dari eksperimen pertama ke eksperimen kedua mengalami
peningkatan akurasi sebesar 2%.
3. Pada eksperimen ke tiga/skenario ketiga, kombinasi algoritma ini
menghasilkan tingkat akurasi sebesar 83% dengan error rate sebesar
17%, f-measure sebesar 0,7111, presisi sebesar 0,6400 dan recall
sebesar 80%. Pada eksperimen ketiga tingkat akurasi mengalami
penurunan dari 84% pada eksperimen kedua, namun lebih baik dari pada
eksperimen pertama yaitu 82%.
k = 1 k = 2 k = 3 k = 9 k = 10
F-Measure 0.8 0.83 0.8296 0.83 0.8295
0.785
0.79
0.795
0.8
0.805
0.81
0.815
0.82
0.825
0.83
0.835
F-Measure
Page 110
94
4. Pada eksperimen ketiga/skenario ketiga, kombinasi algoritma ini
menghasilkan tingkat akurasi sebesar 81% dengan error rate sebesar
19%, f-measure sebesar 0,7317, presisi sebesar 0,7142 dan recall
sebesar 75%. Eksperimen keempat mengalami penuruan akurasi
disetiap eksperimen yang telah dilakukan sebelumnya.
5. Pada eksperimen kelima/skenario kelima, kombinasi algoritma ini
menghasilkan tingkat akurasi sebesar 77% dengan error rate sebesar
23%, f-measure sebesar 0,6486, presisi sebesar 0,7058 dan recall
sebesar 60%. Eksperimen kelima juga mengalami penurunan akurasi
disetiap eksperimen yang telah dilakukan sebelumnya.
6. Dari kelima eksperimen/skenario yang dilakukan peneliti, tingkat
tertinggi akurasi ada pada eksperimen kedua/skenario kedua dengan
tingkat akurasi sebesar 84% dan error rate yang paling rendah diantara
semua eksperimen/skenario yang telah dilakukan sebesar 16%.
Sementara tingkat terendah akurasi dan tertinggi error rate ada pada
eksperimen kelima/skenario kelima.
7. Perhitungan recall tertinggi ada pada dua eksperimen yaitu eksperimen
kedua dan ketiga sebesar 80%. Semakin tinggi nilai recall yang
dihasilkan maka sistem dapat memproporsikan kasus yang diidentifikasi
dengan benar.
8. Perhitungan f-measure terhadap kelima eksperimen yang tertinggi ada
pada eksperimen kedua diikuti dengan tingkat akurasi yang paling
tinggi. Sementara nilai f-measure terkecil ada pada eksperimen kelima
diikuti dengan tingkat akurasi yang paling rendah. Semakin tinggi nilai
f-measure (mendekati nilai 1) yang dihasilkan semakin bagus sistem.
9. Dimulai dari eksperimen kedua hingga eksperimen kelima, tingkat
akurasinya selalu mengalami penurunan, ini disebabkan karena
penentuan nilai k pada algoritma k-NN yang semakin tinggi. Pada
eksperimen kedua nilai k ditentukan sebesar 3, eksperimen ketiga nilai
k ditentukan sebesar 5, eksperimen keempat nilai k ditentukan sebesar
9 dan eksperimen kelima nilai k ditentukan sebesar 10. Penelitian (Rizki
Page 111
95
Aulianita, 2016) menguji nilai k hanya sampai dengan k=10, hal ini
dikarenakan pengambilan nilai k yang tertinggi. Setelah nilai k pada
algoritma k-NN adalah 3 tingkat hasil akurasi menjadi turun. Pada
penelitian yang dilakukan oleh penulis saat ini juga mengalami hal
demikian.
10. Berdasarkan gambar tweet yang ada pada lampiran 2, sebanyak 26%
gembira karena produk-produk baru dari Toyota, sebanyak 27% marah
karena beberapa perilaku pengendara Toyota menyebabkan kecelakaan,
sebanyak 6% sedih karena beberapa merek mobil Toyota akan berakhir
dan tidak diproduksi kembali, sebanyak 13% kecewa karena pelayanan
servis dan tidak adanya perubahan/upgrade sparepart di beberapa
merek, dan sebanyak 11% takut karena beberapa mobil merek Toyota
melakukan kejahatan.
Page 112
96
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Berdasarkan rumusan masalah dan penejelasan yang telah peneliti
deskripsikan pada bab sebelumnya, maka peneliti dapat menarik kesimpulan
sebagai berikut:
1. Kombinasi algoritma k-NN dan pendekatan Lexicon dapat diterapkan
pada analisis sentimen kata.
2. Nilai k optimal dalam melakukan proses klasifikasi menggunakan
kombinasi algoritma k-NN dan pendekatan Lexicon adalah k=3 dengan
tingkat akurasi mencapai 84%, error rate sebesar 19%, f-measure
sebesar 0.8, presisi sebesar 0.8965 dan recall sebesar 72%.
3. Akurasi pada nilai k dalam algoritma K-NN mengalami pola naik
sebelum mencapai nilai k terbaik lalu mengalami penurunan tingkat
akurasi setelah nilai k terbaik.
6.2. Saran
Penulis menyadari bahwa aplikasi orientasi sentimen ini masih memiliki
beberapa kekurangan dan keterbatasan. Oleh karena itu, ada beberapa hal yang
perlu dipertimbangkan untuk mengembangkan aplikasi ini agar lebih baik, yaitu:
1. Sistem ini hanya dapat mengklasifikasi data teks berbahasa Indonesia
dan tidak mengklasifikasi gambar. Diharapkan dapat dikembangkan
dalam berbagai bahasa dan dapat mengklasifikasi gambar.
2. Adanya peningkatan koleksi kamus sentimen sehingga dapat
meningkatkan akurasi.
Page 113
97
DAFTAR PUSTAKA
Ali, A., Rezwanul Huq, M., & Rahman, A. (2017). Sentiment Analysis on Twitter
Data using KNN and SVM, 8(6), 19–25.
Bagir, M., & Ayu Yuliani, I. (2012). Database Introduction. Depok: CCIT-FTUI.
BeritaSatu.com. (2017). Indonesia Masuk Lima Besar Pengguna Twitter.
Retrieved March 30, 2019, from
https://www.beritasatu.com/iptek/428591/indonesia-masuk-lima-besar-
pengguna-twitter
Bo, Z. H. ; G. W. ; J. (2014). Machine Learning and Lexicon Based Methods for
Sentiment Classification: A Survey, (978-1-4799-5727–9).
https://doi.org/10.1109/WISA.2014.55
Brownlee, J. (2016). Supervised and Unsupervised Machine Learning Algorithms.
Retrieved April 1, 2019, from
https://machinelearningmastery.com/supervised-and-unsupervised-machine-
learning-algorithms/
cnbcindonesia.com. (2019). Waspada! Penjualan Mobil Januari 2019 Anjlok
15,36%. Retrieved March 18, 2019, from
https://www.cnbcindonesia.com/market/20190214171648-17-
55586/waspada-penjualan-mobil-januari-2019-anjlok-1536
Connolly, T., & Begg, C. (2015). Database Systems: a practical approach to
design, implementation, and management (6th ed.). America: Pearson
Education.
Dey, L., & Sanjay, C. (2016). Sentiment Analysis of Review Datasets using Naïve
Bayes and K -NN Classifier, 8(4), 54–62.
https://doi.org/10.5815/ijieeb.2016.04.07
Page 114
98
Febryanto, P. (2017). ANALISIS BEBERAPA FAKTOR YANG
MEMPENGARUHI KEPUASAN PELANGGAN.
Feldman, R., & Sanger, J. (2007). Advanced Approaches in Analyzing
Unstructured Data, The Text Mining Handbook. New York: Cambirdge.
Hotho, A., Nurnberger, A., & Paaß, G. (2005). A Brief Survey of Text Mining.
Computational Linguistics and Language Technology.
indonesia-investments.com. (2017). Industri Manufaktur Otomotif Indonesia.
Retrieved March 29, 2019, from https://www.indonesia-
investments.com/id/bisnis/industri-sektor/otomotif/item6047?
Indriani, A. (2014). Klasifikasi Data Forum dengan menggunakan Metode Naïve
Bayes Classifier. Seminar Nasional Aplikasi Teknologi Informasi (SNATI).
Kadir, A. (2012). Algoritma dan Pemrograman Menggunakan C & C++. (1st
ed.). Yogyakarta: Andi.
kompas.com. (2016). Peringkat Merek Mobil yang ”Mengerti” Kepuasan
Pelanggan - Kompas. Retrieved March 18, 2019, from
https://otomotif.kompas.com/read/2016/08/31/132200415/Peringkat.Merek.
Mobil.yang.Mengerti.Kepuasan.Pelanggan
Kompasiana.com. (2015). Industri Otomotif (Nasional). Retrieved April 30, 2019,
from
https://www.kompasiana.com/dewayuniardi/54f33e65745513a32b6c6d07/in
dustri-otomotif-nasional
Krisandi, N., Prihandono, B., & Bayes, N. (2013). ALGORITMA k - NEAREST
NEIGHBOR DALAM KLASIFIKASI DATA HASIL PRODUKSI
KELAPA SAWIT PADA PT . MINAMAS, 02(1), 33–38.
Kurniawan, H. (2017). Sistem Penentuan Tingkat Kualitas Air pada Depot Air
Minum AIR MINUM MENGGUNAKAN METODE K-NEARST. Sistem
Page 115
99
Penentuan Tingkat Kualitas Air Pada Depot Air Minum Menggunakan
Metode K-Nearest Neighbor (KNN) (Studi Kasus : Dinas Kesehatan Kota
Pekanbaru).
Leidiyana, H. (2013). Penerapan Algoritma K-Nearest Neighbor Untuk Penentuan
Resiko Kredit Kepemilikan Kendaraan Bemotor. Jurnal Penelitian Ilmu
Komputer, System Embedded & Logic, Vol. 1(No.1).
Liu, B. (2016). Sentiment Analysis and Opinion Mining. (H. Graeme, Ed.) (1st
ed.). Chicago: Morgan & Claypool Publisher. Retrieved from
https://www.cs.uic.edu/~liub /FBS/SentimentAnalysis-and-
OpinionMining.pdf
Madani, S. A., Kazmi, J., & Mahlknecht, S. (2014). Wireless sensor networks:
modeling and simulation. InTech.
Mooney, R. J. (2006). Machine Learning Text Categoriztion. University of Texas.
Austin.
Munir, R. (2011). Algoritma dan pemrograman : Dalam bahasa pascal dan C.
Bandung: Informatika.
Nurjanah, W. E., Perdana, R. S., & Fauzi, M. A. (2017). Analisis Sentimen
Terhadap Tayangan Televisi Berdasarkan Opini Masyarakat pada Media
Sosial Twitter menggunakan Metode K-Nearest Neighbor dan Pembobotan
Jumlah Retweet, 1(12), 1750–1757.
Pang, B., & Lee, L. (2008). Opinion Mining and Sentiment Analysis. Foundations
and Trends in Information Retrieval.
Prasetyo, E. (2012). Data Mining Konsep dan Aplikasi Menggunakan Matlab (1st
ed.).
Purba, I. D. C., Hidayati, H., & Gozali, A. A. (2016). METODE HOLISTIC
LEXICON-BASED UNTUK ANALISIS SENTIMEN PADA DOKUMEN
Page 116
100
BAHASA INDONESIA ( STUDI KASUS : TWEETS MENGENAI ISU
SOSIAL KOTA BANDUNG ).
Putstejovsky, J., & Stubbs, A. (2012). Natural Language Annotation for Machine
Learning. Cambridge : O’relly.
Raharjo, B., Heryanto, I., & Rk, E. (2012). Modul Pemrograman Web HTML,
PHP & MYSQL. Bandung: Modula.
Rio, A. (2016). Aplikasi Pendeteksi Plagiat Pada Karya Tulis dengan
Menggunakan Natural Language Processing. Pontianak.
Rustiana, D., & Rahayu, N. (2017). ANALISIS SENTIMEN PASAR
OTOMOTIF MOBIL : TWEET TWITTER MENGGUNAKAN NAÏVE
BAYES, 8(1), 113–120.
Santosa, B. (2007). Data Mining : Teknik Pemanfaatan Data Untuk Keperluan
Bisnis. Graha Ilmu.
Sjukani, M. (2013). Algoritma (Algoritma dan Struktur Data 1) dengan C, C++,
dan Java (8th ed.). Jakarta: Mitra Wacana Media.
Solichin, A. (2010). MySql 5 dari Pemula hingga Mahir. Jakarta.
Syafitri, N. (2010). Perbandingan Metode K-Nearest Neighbor (K-NN) dan
Metode Nearest Cluster Classifier (NCC) dalam Pengklasifikasian Kualitas
Batik Tulis. Jurnal Teknologi Informasi Dan Pendidikan, Vol. 2(No. 1).
Twitter. (2013). Pengertian Twitter.
www.socs.binus.ac.id. (2013). Natural Language Processing. Retrieved March 15,
2019, from http://socs.binus.ac.id/2013/06/22/NATURAL-LANGUAGE-
PROCESSING/
Yakub. (2012). Pengantar Sistem Informasi. Yogyakarta: Graha Ilmu.
Page 117
102
LAMPIRAN
Lampiran 1
Lampiran hasil klasifikasi sentimen kombinasi algoritma k-NN dan pendekatan
Lexicon.
Data
ke-n
Kombinasi algoritma k-NN dan pendekatan Lexicon Kelas
Sebenarnya k=1 k=3 k=5 k=9 k=10
1 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
2 MARAH MARAH MARAH MARAH MARAH MARAH
3 SEDIH SEDIH SEDIH SEDIH SEDIH SEDIH
4 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
5 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
6 MARAH MARAH MARAH MARAH MARAH MARAH
7 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
8 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
9 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
10 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
11 SEDIH SEDIH SEDIH SEDIH SEDIH SEDIH
12 MARAH MARAH MARAH MARAH MARAH MARAH
13 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
14 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
15 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
Page 118
103
16 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
17 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
18 TAKUT MARAH TAKUT TAKUT TAKUT MARAH
19 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
20 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
21 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
22 SEDIH SEDIH SEDIH SEDIH SEDIH SEDIH
23 GEMBIRA TAKUT SEDIH GEMBIRA SEDIH TAKUT
24 MARAH MARAH MARAH MARAH MARAH MARAH
25 MARAH MARAH MARAH MARAH MARAH MARAH
26 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
27 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
28 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
29 MARAH MARAH MARAH MARAH MARAH MARAH
30 TAKUT MARAH TAKUT TAKUT TAKUT MARAH
31 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
32 KECEWA KECEWA MARAH KECEWA MARAH KECEWA
33 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
34 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
35 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
Page 119
104
36 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
37 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
38 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
39 MARAH MARAH MARAH MARAH MARAH MARAH
40 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
41 MARAH MARAH MARAH MARAH MARAH MARAH
42 GEMBIRA GEMBIRA SEDIH GEMBIRA SEDIH GEMBIRA
43 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
44 MARAH MARAH MARAH MARAH MARAH MARAH
45 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
46 MARAH MARAH MARAH MARAH MARAH MARAH
47 KECEWA KECEWA MARAH KECEWA MARAH KECEWA
48 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
49 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
50 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
51 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
52 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
53 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
54 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
55 MARAH MARAH TAKUT MARAH TAKUT MARAH
Page 120
105
56 MARAH GEMBIRA GEMBIRA MARAH GEMBIRA GEMBIRA
57 GEMBIRA MARAH MARAH GEMBIRA MARAH MARAH
58 SEDIH SEDIH SEDIH SEDIH SEDIH SEDIH
59 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
60 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
61 MARAH MARAH TAKUT MARAH TAKUT MARAH
62 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
63 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
64 TAKUT MARAH TAKUT TAKUT TAKUT MARAH
65 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
66 TAKUT TAKUT TAKUT TAKUT TAKUT TAKUT
67 MARAH MARAH MARAH MARAH MARAH MARAH
68 MARAH MARAH MARAH MARAH MARAH MARAH
69 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
70 MARAH MARAH MARAH MARAH MARAH MARAH
71 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
72 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
73 MARAH MARAH TAKUT MARAH TAKUT MARAH
74 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
75 MARAH MARAH MARAH MARAH MARAH MARAH
Page 121
106
76 MARAH MARAH MARAH MARAH MARAH MARAH
77 KECEWA KECEWA KECEWA KECEWA KECEWA KECEWA
78 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
79 MARAH MARAH TAKUT MARAH TAKUT MARAH
80 SEDIH SEDIH SEDIH SEDIH SEDIH SEDIH
81 SEDIH SEDIH SEDIH SEDIH SEDIH SEDIH
82 MARAH MARAH MARAH MARAH MARAH MARAH
83 TAKUT TAKUT MARAH TAKUT MARAH TAKUT
84 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
85 MARAH MARAH MARAH MARAH MARAH MARAH
86 MARAH GEMBIRA MARAH MARAH MARAH GEMBIRA
87 MARAH MARAH MARAH MARAH MARAH MARAH
88 MARAH KECEWA MARAH MARAH MARAH KECEWA
89 GEMBIRA MARAH GEMBIRA GEMBIRA GEMBIRA MARAH
90 MARAH KECEWA MARAH MARAH MARAH KECEWA
91 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
92 MARAH SEDIH KECEWA MARAH KECEWA SEDIH
93 MARAH MARAH MARAH MARAH MARAH MARAH
94 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
95 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
Page 122
107
96 MARAH MARAH MARAH MARAH MARAH MARAH
97 MARAH MARAH MARAH MARAH MARAH MARAH
98 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
99 GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA GEMBIRA
100 MARAH MARAH KECEWA MARAH KECEWA MARAH
Page 123
108
Lampiran 2
Lampiran tweet hasil analisis sentimen kombinasi algoritma k-NN dan pendekatan
Lexicon dengan k=3.