Anda di halaman 1dari 127

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
PERNYATAAN ORISINALITAS

i
LEMBAR PERSETUJUAN

ii
LEMBAR PENGESAHAN

iii
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

iv
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
v
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

vi
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

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)

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

viii
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
ix
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

x
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
xi
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
xii
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

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

xiii
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

xiv
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% .
1
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)
Total Total Total LCGC Total LCGC
Domestik Domestik (unit) (unit)
Produk (unit) (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
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
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.
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.
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:
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


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.
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.

9
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).
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
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.
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.
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)
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).
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
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)
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 𝑓00 (True


Positive) 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
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)
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).
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)


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)


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≤𝑗≤𝑠 𝑑(𝑦𝑖 , 𝑧𝑖 )
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
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
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
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).
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.
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 Simbol arah aliran / penghubung


aliran

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
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
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).
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
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.
34

Tabel 2. 4 Studi Literatur Sejenis

Penulis (Nurjanah, Perdana, (Dey & Sanjay, 2016) (Ali, Rezwanul Huq, & (Purba, Hidayati, & Penelitian penulis yang
& Fauzi, 2017) Rahman, 2017) Gozali, 2016) sekarang
Judul Penelitian Analisis Sentimen Sentiment Analysis of Sentiment Analysis on Metode Holistic Analisis Sentimen
Terhadap Tayangan Review Datasets using Twitter Data using Lexicon Based untuk Terhadap Kepuasan
Televisi Berdasarkan Naïve Bayes and k-NN KNN and SVM analisis sentiment pada Produk Otomotif dari
Opini Masyarakat Classifier dokumen Bahasa Twitter Menggunakan
pada Media Sosial Indonesia Algoritma k-NN dan
Twitter menggunakan Pendekatan Lexicon
Metode k-NN

Media sosial Twitter Twitter Twitter Twitter Twitter

Algoritma yang k-Nearest Neighbor k-Nearest Neighbor dan k-Nearest Neighbor Holistic Lexicon Based Kombinasi k-Nearest
digunakan Naïve Bayes Classifier dan Support Vector Neighbor dan Lexicon
Machine
Metode NLP Tokenizing , Case Tidak dijelaskan Tokenizing, Tidak dijelaskan Casefolding, Filtering,
yang digunakan folding, Cleansing, Normalization, dan Tokenizing,
35

Filterisasi, dan parts-of-speech (POS) Normalization,


Stemming tagging Stopwords, Stemming
Kesimpulan Tingkat akurasi Penelitian ini 1. Akurasi k-NN 1. Metode Holistic Hasil klasifikasi
ketika menggunakan menggunakan 2 Dataset sebesar 80%, k-NN Lexicon-Based sentimen menggunakan
pembobotan tekstual
yaitu hotel review dan dengan normalisasi dapat diterapkan Algoritma k-Nearest
mencapai 82.50%,
ketika menggunakan movie review: sebesar 81%, k-NN pada sentiment Neighbor menghasilkan
pembobotan non- 1. Akurasi untuk movie dengan normalisasi analysis terhadap tingkat akurasi sebesar
tekstual mencapai
review sebesar 81% dan keyword based data tweets. 81%, error rate sebesar
60%, sedangkan
ketika menggunakan untuk algoritma sebesar 84% 2. Modifikasi dan 19%, f-measure sebesar
penggabungan Naïve Bayes dan 2. Akurasi dari SVM pengembangan 0.8, presisi sebesar
keduanya mencapai
70% untuk sebesar 58%, SVM kamus mampu 0.8965 dan recall
83.33%. Nilai k yang
digunakan yaitu k = 3 Algoritma k-NN dengan normalisasi meningkatkan sebesar 72%
yang merupakan k 2. Akurasi untuk hotel 59%, dan SVM akurasi menjadi
optimal, dan review sebesar 55% dengan normalisasi rata-rata 88.6%
konstanta α=0,8 dan
β=0,2 untuk algoritma dan keyword based yang semula hanya
Naïve Bayes dan sebesar 67%. berada pada rata-
52% untuk rata akurasi 75.3%.
Algoritma k-NN
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.

36
37

Mulai 1 2

API Key

Tweets
Api Secret
Koneksi API Access Token
Access Token Secret
Otentikasi

Mengambil Data
Registrasi Selesai
Tweet

1 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
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.
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.
40

3.4 Kerangka Berfikir Penelitian

Mulai

Pengumpulan Data

Studi Pustaka Observasi

Metode Simulasi

Collection of Verification,
Problem Conceptual Modelling Simulation Output
Input/Output Validation, and
Formulation Model Phase Phase Analysis
Data Experiment

Menentukan Melakukan Menghitung


Menentukan Mengumpulkan Pemodelan Melakukan
konsep simulasi tingkat
masalah input dan algoritma k- verifikasi,
keseluruhan aplikasi akurasi,
menentukan Nearest validasi, dan
dalam presisi, dan
output Neoghbor eksperimen
penelitian recall

Kesimpulan
dan Saran

Selesai

Gambar 3. 2 Kerangka Berfikir Penelitian


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.

41
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 :

Dokumen Stopwords dan


Case Folding Filtering Tokenizing Normalisasi
Stemming

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.
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.
44

Mulai 1

Ditemukan di
Ya Kata baku
kata kamus?

Tidak

Hapus huruf
Cek kamus berlebih

1 Ditemukan di
Tidak Kata awal
kamus?

Selesai

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
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
Ya hapus kata
stopwords

Tidak

Kata awal

Selesai

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
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.
47

Mulai 1 3

Hilangkan inflection Hilangkan derivation


Kata
suffiks (-lah, ikah, - semua suffiks (-i, -an
berimbuhan
ku, -mu, -nya) atau -kan)

Cek kamus Cek kamus Cek kamus

ADA ? Ya 2 ADA ? Ya 2 ADA ? Ya 2

Tidak Tidak Tidak

1 3 4

2 4 ADA ? Ya 2

Tidak
Hilangkan derivation
Kata baku semua prefiks(-di, ke-,
se-, te-, be-, me-, atau
pe-) Kata awal

Selesai
Cek kamus
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.
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.
49

Mulai 1

Pre-proccessing
Kamus kbbi
query
Hitung score

Kamus sentimen
Identifikasi kata
positif dan
sentimen
negatif
Hasil
orientasi
sentimen
Identifikasi
Kamus emosi
sentimen emosi

Selesai

Identifikasi kalimat
Kamus negasi
negasi

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.
50

Mulai 1

Kamus kbbi,
Pre-proccessing
sentimen positif
query
dan negatif Identifikasi kamus Kamus sentimen
negasi negasi

Identifikasi emosi
Kamus emosi

Hitung score

Indexing data
Proses k-NN
latih

Hasil
orientasi
Hasil orientasi
sentimen
sentimen
sementara

1 Selesai

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
51

query dalam enam tahapan dan terakhir melakukan indexing dan


pembobotan kata per kata data latih.

Dokumen
Case Folding Filtering Tokenizing

Pembobotan Stopwords dan


Indexing Normalisasi
kata Stemming

Gambar 4. 7 Tahapan pelatihan data latih

 Case folding

Toyota Voxy Lambang toyota voxy lambang kesempurnaan


Kesempurnaan dan Kemewahan dan kemewahan serta selalu
serta selalu mengutamakan nilai mengutamakan nilai kekeluargaan
kekeluargaan yang tinggi… https:// yang tinggi… https://t.co/
t.co/3wd8U6D97d 3wd8u6d97d

Gambar 4. 8 Proses Case Folding

 Filtering

toyota voxy lambang kesempurnaan


toyota voxy lambang kesempurnaan
dan kemewahan serta selalu
dan kemewahan serta selalu
mengutamakan nilai kekeluargaan
mengutamakan nilai kekeluargaan
yang tinggi… https://t.co/
yang tinggi
3wd8u6d97d

Gambar 4. 9 Proses Filtering

 Tokenizing
52

toyota voxy lambang kesempurnaan toyota voxy lambang kesempurnaan


dan kemewahan serta selalu dan kemewahan serta selalu
mengutamakan nilai kekeluargaan mengutamakan nilai kekeluargaan
yang tinggi yang tinggi

Gambar 4. 10 Proses Tokenizing

 Normalisasi

toyota voxy lambang kesempurnaan toyota voxy lambang kesempurnaan


dan kemewahan serta selalu dan kemewahan serta selalu
mengutamakan nilai kekeluargaan mengutamakan nilai kekeluargaan
yang tinggi yang tinggi

Gambar 4. 11 Proses Normalisasi

 Stopwords dan Stemming

toyota voxy lambang kesempurnaan


toyota voxy lambang sempurna
dan kemewahan serta selalu
mewah serta utama nilai keluarga
mengutamakan nilai kekeluargaan
tinggi
yang 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
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
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 :
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
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.


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.
58

Tabel 4. 10 Tipe Data Input Pelatihan


Nama Field Type dan Primary key Null
Length
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

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 Primart key Null


Length
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


59

Nama Field Type dan Primary key Null


Length
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

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 Primart key Null


Length
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.
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.
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.
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
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 GEMBIRA
Kijang Innova yang sepenuhnya diproduksi di
Indonesia. https://t.co/C4NnymnFJk
2 Sedih, penjualannya merosot! Nasib Toyota SEDIH
Sienta sama dengan BR-V. Penjualan Sienta
dalam data yang sama terus merosot setiap
bulannya. Kenapa ya? #ToyotaSienta #Toyota
via @detikoto
3 Mobil Toyota Camry Tabrak lima Sepeda MARAH
Motor Tidak Terdaftar Nopolnya
https://t.co/cMXrmk7TIA
https://t.co/SAn0RmLlva
4 Pokoknya dulu lagi sering sama kasus TAKUT
penculikan, bahkan pas kecil takut liat rx king
sama toyota hardtop soalnya disangka
kendaraan culik https://t.co/U1jFVPUdbQ
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 GEMBIRA
kijang innova yang sepenuhnya diproduksi di
indonesia. https://t.co/c4nnymnfjk
2 Sedih, penjualannya merosot! Nasib Toyota SEDIH
Sienta sama dengan BR-V. Penjualan Sienta
dalam data yang sama terus merosot setiap
bulannya. Kenapa ya? #ToyotaSienta #Toyota
via @detikoto
3 mobil toyota camry tabrak lima sepeda motor MARAH
tidak terdaftar nopolnya
https://t.co/cmxrmk7tia https://t.co/san0rmllva
4 Pokoknya dulu lagi sering sama kasus TAKUT
penculikan, bahkan pas kecil takut liat rx king
sama toyota hardtop soalnya disangka
kendaraan culik https://t.co/U1jFVPUdbQ

3. Filtering

Tabel 4. 17 Hasil filtering pada data latih

Dok(n) Isi Tweet Sentimen


Tweet
1 mobillll terpopuler di uni emirat arab adalah GEMBIRA
kijang innova yang sepenuhnya diproduksi di
indonesia.
2 sedih, penjualannya merosot! nasib toyota SEDIH
sienta sama dengan br-v. penjualan sienta
dalam data yang sama terus merosot setiap
bulannya. kenapa ya?
3 mobil toyota camry tabrak lima sepeda motor MARAH
tidak terdaftar nopolnya
4 pokoknya dulu lagi sering sama kasus TAKUT
penculikan, bahkan pas kecil takut liat rx king
sama toyota hardtop soalnya disangka
kendaraan culik

4. Tokenizing
65

Tabel 4. 18 Hasil tokenizing pada data latih

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

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
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

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

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
67

4
𝐼𝐷𝐹(𝑐𝑎𝑚𝑟𝑦) = 𝑙𝑜𝑔 = 0.6020
1
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

TF
Term
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
68

takut 0 0 0 1
toyota 1 1 1 1
uni 1 0 0 0

Tabel 4. 22 Hasil pembobotan kata idf

W = TF IDF
Term DF 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
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


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

W = TF IDF
Term DF 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
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
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
73

 Terapkan rumus consine similarity. Hitung kemiripan query dengan


4 dokumen lainnya (data latih).

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

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)
1 2 3 4
D1 D3 D2 D4

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
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 Tahap Simulasi


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
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.
76

Gambar 4. 14 Tampilan Informasi Tingkat Akurasi Sistem Skenario 1


77

Gambar 4. 15 Tampilan Informasi Confusion Matrix Skenario 1


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


79

Gambar 4. 17 Tampilan Informasi Confusion Matrix Skenario 2


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


81

Gambar 4. 19 Tampilan Informasi Confusion Matrix Skenario 3


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


83

Gambar 4. 21 Tampilan Informasi Confusion Matrix Skenario 4


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


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.
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.

86
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
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

Gembira a = 26 b = 10 c=0 d=0 e=0

Marah f=2 g = 26 h=0 i=0 j=3

Kelas Sedih k=0 l=1 m=6 n=0 o=0


Sebenarnya
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
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = X 100
26 + 10 + 2 + 26 + 3 + 1 + 6 + 2 + 13 + 1 + 10 + 0
81
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = X 100 = 81%
100
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

Gembira a = 26 b=9 c=1 d=0 e=0

Marah f=1 g = 27 h=0 i=0 j=2

Kelas Sedih k=0 l=0 m=6 n=1 o=0


Sebenarnya
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
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = X 100 = 83%
100
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

Gembira a = 26 b=9 c=1 d=0 e=0

Kelas Marah f=1 g = 26 h=0 i=0 j=3


Sebenarnya
Sedih k=0 l=0 m=6 n=1 o=0
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
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = X 100 = 82%
100
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

Gembira a = 26 b = 10 c=0 d=0 e=0

Marah f=1 g = 24 h=0 i=1 j=4

Kelas Sedih k=0 l=0 m=6 n=1 o=0


Sebenarnya
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
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = X 100 = 79%
100
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

Gembira a = 26 b=9 c=1 d=0 e=0

Marah f=` g = 22 h=0 i=1 j=6

Kelas Sedih k=0 l=0 m=6 n=1 o=0


Sebenarnya
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
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = X 100 = 75%
100

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
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

Kombinasi k-NN dan Pendekatan Lexicon


120
100
Persentase

80
60
40
20
0
k=1 k=3 k=5 k=9 k=10

Akurasi Presisi Recall

Gambar 5. 1 Grafik Hasil Penelitian


93

F-Measure
0.835
0.83
0.825
0.82
0.815
0.81
0.805
0.8
0.795
0.79
0.785
k=1 k=2 k=3 k=9 k = 10
F-Measure 0.8 0.83 0.8296 0.83 0.8295

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%.
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
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.
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.

96
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

97
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

98
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

99
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.

100
LAMPIRAN

Lampiran 1
Lampiran hasil klasifikasi sentimen kombinasi algoritma k-NN dan pendekatan
Lexicon.

Data Kombinasi algoritma k-NN dan pendekatan Lexicon Kelas


ke-n k=1 k=3 k=5 k=9 k=10 Sebenarnya

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

102
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

103
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

104
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

105
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

106
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

107
Lampiran 2

Lampiran tweet hasil analisis sentimen kombinasi algoritma k-NN dan pendekatan
Lexicon dengan k=3.

108
109
110
111
112

Anda mungkin juga menyukai