8
BAB 2
TINJAUAN PUSTAKA
2.1 Penelitian Terkait
Pada bagian ini akan dipaparkan beberapa penelitian dengan domain yang sama,
yakni terkait dengan analisis sentimen terhadap pelayanan perusahaan ataupun
analisis sentimen terhadap suatu kejadian. Penulis memilih penelitian yang telah
dipublikasi maksimal 5 tahun yang lalu, melalui sejumlah jurnal atau prosedur
nasional maupun internasional. Dari paparan yang diberikan, sejumlah
pengetahuan disimpulkan untuk dijadikan sebagai pijakan atau penguatan pada
penelitian yang peneliti lakukan.
2.1.1 Analisis Sentimen pada Jasa Ojek Online Menggunakan Metode Naive
Bayes[10]
Didik, Yulison, dan Agung melakukan penelitian analisis sentimen mengenai
layanan pada jasa ojek online untuk mengklasifikasikan opini masyarakat yang
bersifat positif, negatif ataupun netral. Pada penelitian ini dilakukan pengujian
dengan menggunakan 800 tweet yang dibagi menjadi 300 data latih dan 500 data
uji, kemudian dari 300 data latih dibagi pada setiap klasifikasinya 100 data latih
positif, 100 data latih negatif , dan 100 data latih netral. Data latih untuk kelas
sentimen positif antara lain promo, gratis, nyaman, thanks dan baik. Kemudian
data latih untuk kelas sentimen negatif yaitu jarang, rugi dan kecewa. Sedangkan
data latih untuk kelas sentimen netral yaitu driver, gojek, orderan, dan
gojekindonesia. Pada proses ini mengunakan preprocessing case folding,
tokenizing, stemming, dan filtering. Hasil dari preprocessing tersebut diklasifikasi
menggunakan algoritma Naive Bayes yang nantinya akan muncul hasil klasifikasi
sentimen positif, netral dan negatif. Menggunakan algoritma Naïve Bayes mampu
menghasilkan tingkat akurasi mencapai 80%, namun dalam penelitian ini
9
diungkapkan bahwa sering terjadi kesalahan pada data fitur yang muncul tidak
sesuai dengan klasifikasinya.
2.1.2 Analisis Sentimen pada Twitter untuk Mengenai Penggunaan
Transportasi Umum Darat Dalam Kota dengan Metode Support Vector
Machine[11]
Anita, Mira dan Veronikha melakukan analisis sentimen mengenai pelayanan
transportasi umum di dalam kota. Penelitian ini untuk mengklasifikasikan opini
positif atau negatif dari masyarakat melalui twitter untuk mengetahui penilaian
terhadap pelayanan transportasi umum yang berada didalam kota. Dataset
menggunakan opini berbahasa indonesia, memilih sebagai sampel transportasi
umum antara lain angkot, kopaja, metromini dan transjakarta. Pada proses ini
dataset dilakukan preprocessing kemudian apabila ditemukan data uji maka
diproses dengan POS Tagging, kemudian ekstraksi opini yang nantinya akan
menghasilkan hasil klasifikasi dari opini tersebut. Apablia data latih yang
ditemukan maka data latih tersebut diproses terlebih dahulu dengan menggunakan
stopword removal, pembobotan, klasifikasi menggunakan algoritma SVM,
kemudian ditemukan hasil klasifikasi dan kesimpulan proses. Menggunakan
algoritma Support Vector Machine menghasilkan tingkat akurasi yang lebih tinggi
dibandingkan dengan metode lain yaitu mencapai 78,12% dan berhasil
mengklasifikasikan dokumen dengan baik, namun sangat dipengaruhi oleh data
training, data testing, jumlah data set, jumlah data positif dan jumlah data negatif.
2.1.3 Sentiment Analysis Pada Review Barang Berbahasa Indonesia Dengan
Metode K-Nearest Neighbor (K-NN)[13]
Yugo, Mardji, dan Lailil melakukan penelitian analisis sentimen terhadap produk
kosmetik untuk mengklasifikasikan opini positifatau negatif dari masyarakat
tentang produk pada penelitian ini. Proses yang digunakan pada penelitian ini
yaitu pada dataset di lakukan preprocessing antaralain cleansing, case folding,
tokenizing, stopwords removal, kemudian stemming. Dari hasil tersebut dilakukan
proses pembobotan yang nantinya akan di evaluasi dan validasi nilai sentimen
10
yang ada. Pada penelitian ini mengatakan bahwa tingkat akurasi dengan
menggunakan algoritma K-NN jauh lebih baik dibandingkan dengan NaïveBayes,
akan tetapi penulis menggunakan data berupa emotikon yang seharusnya
dihilangkan dalam proses filtering. Penambahan emotikon mengakibatkan
meningkatnya noisy data, namun metode K-NN terbukti lebih baik untuk
mengatasi noisy data.
2.1.4 Penerapan Algoritma K-Nearest Neighbor untuk Penentuan Resiko
Kredit Kepemilikan Kendaraan Bemotor[12]
Henny melakukan penelitian suatu perusahaan dengan mengklasifikasi kelayakan
pemberian kredit khususnya pada kredit kepemilikan kendaraan bermotor. Pada
penelitian ini penulis menggunakan 558 data transaksi kredit bermasalah dan tidak
bermasalah, dengan menentukan atribut diantaranya status perkawinan, jumlah
tanggungan, pendidikan terakhir, usia, kepemilikan rumah, lama tinggal, kondisi
rumah, jenis pekerjaan, status perusahaan, penghasilan perbulan, pembayaran
pertama dan masa kerja. Melalui tahap pemilihan data uji kemudian dilakukan
preprocessing, setelah itu pengujian menggunakan algoritma KNN dan analisa
data uji. Menggunakan algoritma K-NN menunjukkan bahwa metode yang
digunakan menghasilkan tingkat akurasi mencapai 81,46%. Pada penelitian ini
mengatakan bahwa untuk mengukur kinerja algoritma K-NN digunakan metode
Cross Validation,Confusion Matrix dan Kurva ROC.
2.1.5 Analisis Sentimen Terhadap Telkom IndiHome Berdasarkan Opini
Publik menggunakan Metode K-Nearest Neighbor[9]
Herdiawan melakukan analisis sentimen tehadap produk layanan atau service pada
perusahaan Telkom IndiHome guna mengetahui bagaimana respon customer
terhadap produk Indihome. Analisis sentimen yang dilakukan Herdiawan pada
perusahaan Telkom IndiHome ini menggunakan metode K-Nearest Neighbor
untuk melakukan mengklasifikasikan opini positif dan negatif pada customer
Telkom IndiHome. Pada penelitian ini dilakukan preprocessing convert negation,
cleansing, case folding, convert negation, tokenizing, filtering, stemming. Setelah
11
melalui tahap preprocessing selanjutnya proses pembobotan menggunakan TF-
IDF. Hasil dari pembobotan akan di uji dengan menggunakan algoritma K-
Nearest-Neighbor (KNN). Hasil yang dilakukan bahwa menggunakan algoritma
K-NN dapat mengklasifikasikan opini negatif dan opini positif dengan akurat
mencapai 80%, dengan menggunakan pengujian Precision, Recall dan F-
Measure.
2.1.6 Application of K-Nearest Neighbour Classification in Medical Data
Mining[14]
Khamis, Kipruto dan Stephen melakukan penelitian untuk mengklasifikasi
diagnosis penyakit, dengan membagi data latih dan data uji sebelum dilakukannya
preprocessing, serta menentukan variabel seperti kecelakaan, usia, alergi, tekanan
darah, kebiasaan merokok, kolesterol, diabetes dan hipertensi. Pada penelitian ini
penulis menggunakan algoritma K-Nearest Neighbor dengan hasil akurasi yang
tinggi dalam menentukan diagnosis penyakit pada pasien di rumah sakit.
2.2 Justifikasi dari Penelitian Terkait
Berdasarkan paparan dari beberapa penelitian terkait yang sudah dipaparkan pada
sub bab sebelumnya penulis meringkasnya dalam tabel perbandingan
sebagaimana tampak pada tabel 2.1. Dari paparan tersebut, pada penelitian ini
penulis mengusulkan analisa sentimen pelanggan dengan menggunakan algoritma
K-Nearest Neighbor (KNN) untuk klasifikasi opini positif dan negatif karena
memiliki tingkat akurasi yang cukup tinggi. Pada proses preprocessing dilakukan
dengan proses cleansing, case folding, tokenizing, stopwords removing, dan
stemming. Kemudian untuk menguji validasi dan keakuratan pada penelitian ini
digunakan dengan metode confusion matrix.
12
Tabel 2.1 Penelitian Terkait
No Topik Riset Masalah Metode Dataset Hasil
1. Analisis
layanan ojek
online berbasis
Naïve Bayes
[10]
Sering terjadi kesalahan
pada data uji fitur yang
muncul tidak sesuai
dengan klasifikasinya,
serta tingkat akurasi
bergantung pada jumlah
data latih
Pada penelitian ini
menggunakan metode
Naïve Bayes
Data publik dengan 300
data latih dan 500 data uji
Menggunakan metode
Naïve Bayes mendapatkan
akurasi sebesar 80%
2. Analisis
mengenai
penggunaan
transportasi
umum darat
berbasis
Support Vector
Machine [11]
Variabel yang
berpengaruh terhadap
akurasi adalah jumlah
data, perbandingan jumlah
data uji dan data latih,
serta perbandingan jumlah
yang digunakan pada data
positif dan data negatif
Metode yang digunakan
yaitu Support Vector
Machine
Data publik dengan jumlah
dataset 1138
Analisis sentimen
menggunakan metode
Support Vector Machine
pada penelitian ini tingkat
akurasi mencapai 78,12%
3 Analisis pada
review barang
berbasis K-
Nearest
Neighbor [13]
Dalam paper ini kurang
optimal dikarenakan
sistem mengabaikan kata
yang memiliki makna
yang sama
Menggunakan metode K-
Nearest Neighbor
Data publik dengan jumlah
dataset 2000, 1000 sebagai
data latih dan 1000 sebagai
data uji
Analisis ini dapat
mengklasifikasikan
sentimen berdasarkan
review barang secara
otomatis dengan acuan
nilai k yang tepat
13
No Topik Riset Masalah Metode Dataset Hasil
4 Penentuan
resiko kredit
kepemilikan
kendaraan
bermotor
berbasis K-
Nearest
Neighbor [12]
Pada penelitian ini
mengungkapkan bahwa
untuk mendapat akurasi
yang baik perlu dilakukan
preprocessing sebelum
diterapkan ke dalam
algoritma dan
menggunakan metode
cross validation untuk
mengukur kinerja
algoritma
Penggunaan metode K-
Nearest Neighbor dalam
melakukan klasifikasi
pada customer pada kredit
kepemilikan kendaraan
bermotor
Data privat Penerapan metode K-
Nearest Neighbor pada
penelitian ini
menghasilkan tingkat
akurasi mencapai 81,46%
5 Analisis
terhadap
layanan
IndiHome
berdasarkan
opini publik
berbasis K-
Nearest
Neighbor [9]
Dalam penelitian ini
mendapatkan hasil yang
baik, akan tetapi pada
proses pembobotan, sistem
menghitung
kemiripanberdasarkan
frekuensi kemunculan
kata,sehingga untuk
mendapatkan hasil yang
optimalsebaiknya
digunakan sistem yang
dapatmengecek kata yang
bersinonim.
Menggunakan metode K-
Nearest Neighbor untuk
melakukan analisis
sentimen terhadap Telkom
IndiHome
Data publik Dihasilkan akurasi
mencapai 80% dengan
dengan menggunakan
precision sebesar
80% dan recall sebesar
80%.
14
No Topik Riset Masalah Metode Dataset Hasil
6 Klasifikasi
data medical
berbasis K-
Nearest
Neighbor
Dalam penelitian ini
mendapatkan hasil yang
baik, namun penulis
mengatakan bahwa hasil
dari akurasi sangat
dipengaruhi pada saat
menentukan variabel.
Menggunakan metode K-
Nearest Neighbor
Data privat Penerapan metode K-
Nearest Neighbo rmampu
mengklasifikasi dengan
baik sehingga mampu
mengurangi kesalahan
dalam mendiagnosis, dan
meningkatkan efisiensi dan
efektivitas dalam
pengobatan.
15
2.3 Tinjauan Pustaka
Pada bagian merupakan penjelasan tentang bagian serta metode yang digunakan
pada penelitian ini seperti data mining, analisis sentimen, twitter API, klasifikasi,
TF-IDF, K-Nearest Neighbor (KNN), serta alat ukur dan validasi.
2.3.1 Data Mining
Data mining yaitu beberapa rangkaian proses guna menggali nilai tambah berupa
informasi belum diketahui saat ini bahwa secara manual dari suatu basis data
dapat dilakukan penggalian pola-pola dari data, bertujuan untuk memanipulasi
data menjadi suatu informasi yang bermanfaat dengan diperoleh melalui cara
ekstraksi dan mengenali pola data di dalam basisdata yang penting dan menarik
[15]. Data mining merupakan suatu proses yang memiliki prosedur tertentu dan
bersifat interaktif serta memiliki umpan balik dari setiap tahapan sebelumnya [16].
Tahapan data mining dapat dilihat pada gambar 2.1.
Gambar 2.1 Tahap-Tahap Data Mining[17]
16
Alasan utama mengapa menggunakan data mining karena adanya data dalam
jumlah yang besar serta semakin banyaknya kebutuhan untuk melakukan
manipulasi data tersebut menjadi informasi yang berguna. Tahapan tersebut
bersifat interaktif dimana pengguna dapat terlibat langsung dengan melalui
knowledge base. Berikut tahapanan data mining :
1. Cleaning, merupakan proses untuk menghilangkan data yang tidak konsisten
atau data tidak relevan (noise). Pada dasarnya data yang telah diperoleh, baik
itu dari database suatu perusahaan maupun dari hasil eksperimen, memiliki
makna yang tidak sempurna sama halnya dengan data yang hilang atau data
yang tidak valid meskipun sekedar salah ketik. Disisi lain, terdapat juga
atribut-atribut data hipotesa data mining yang dimiliki tidak relevan. Data-
data yang tidak relevan itu lebih baik dihapus. Pengaruh performasi dari
teknik data mining ini dengan cara pembersihan data, karena jumlah data dan
kompleksitas data yang didapat berkurang.
2. Integration, merupakan penggabungan data dari macamnya jumlah database
ke dalam suatu database yang baru. Data yang diperlukan untuk data mining
tidak hanya berasal dari satu database, akan tetapi berasal dari beberapa
database. Integrasi data dapat dilakukan pada atribut-aribut yang
mengidentifikasikan entitas yang unik seperti atribut nama, alamat, pekerjaan
nomor pelanggan dan lainnya sebagainya. Integrasi data ini perlu dilakukan
dengan cara cermat karena suatu kesalahan pada integrasi data dapat
menghasilkan hasil sesuatu yang menyimpang saat pengambilan proses
selanjutnya.
3. Selection, yaitu data yang tersedia di database sering kali semuanya tidak
dipakai, maka dari itu hanya data-data yang sesuai dari database yang dapat
dianalisis.
4. Transformation, manipulasi data atau dijadikan satu ke dalam suatu format
yang sesuai. Format data yang khusus dibutuhkan dalam beberapa metode
data mining sebelum melakukan pengaplikasian. Beberapa metode dalam
data mining seperti analisis dan klasifikasi hanya mampu menerima input
17
data kategorikal. Karena data berupa angka numerik masih perlu dibagi
menjadi beberapa interval.
5. Proses Mining, yaitu suatu proses utama dimana metode diterapkan untuk
menemukan informasi bermanfaat dan data tersembunyi.
6. Pattern Discovery, merupakan proses esensial untuk mengekstrak pola data
serta mengidentifikasikan pola yang benar-benar unik dan dapat mewakili
informasi berdasarkan beberapa tindakan yang menarik.
7. Knowledge Presentation, yaitu untuk mengidentifikasikan pola menarik
dalam jumlah besar kedalam knowledge based. Pada tahap ini menghasilkan
pola-pola yang khas maupun model evaluasi untuk dinilai apakah hipotesa
yang ada sudah tercapai. Apabila hasil yang diperoleh ternyata tidak sesuai
dengan hipotesa maka dapat diambil alternatif seperti menjadikan umpan
balik guna memperbaiki proses data mining, menerima hasil yang di luar
dugaan yang mungkin hasil tersebut bermanfaat.
2.3.2 Analisis Sentimen
Analisis sentimen atau yang sering disebut dengan opinion mining, merupakan
salah satu cabang ilmu dari data mining yang memiliki tujuan untuk menganalisis,
memahami, mengekstrak, dan mengolah data tekstual berupa opini terhadap suatu
entitas seperti layanan, publik figur, lembaga, produk, peristiwa atau topik-topik
tertentu [18].
Secara umum analisis sentimen dibagi menjadi 2 yaitu [19]:
1. Analisis sentimen coarse-grained
Pada analisis sentimen coarse-grained, proses klasifikasi dilakukan
berdasarkan orientasi sebuah dokumen secara keseluruhan. Orientasi
dibagi menjadi 3 jenis yaitu negatif, netral dan positif. Namun orientasi ini
menjadi kontinu atau dapat juga dikatakan bahwa orientasinya bersifat
tidak diskrit.
18
2. Analisis senitmen fined-grained
Peneliti sekarang ini kebanyakan berfokus pada kategori analisis sentimen
fined-grained, karena metode ini menggunakan objek dengan berupa
kalimat, bukan sebuah dokumen secara keseluruhan.
Contoh :
a. Saya sangat puas dengan pelayanan JNE (positif)
b. Pengiriman JNE tidak tepat waktu (negatif)
c. Paket saya telat, tetapi saya senang akhirnya datang juga (netral)
Analisis sentimen dibagi menjadi 3 subproses besar. Masing-masing dari
subproses mampu dijadikan sebagai topik penelitian, karena dari semua subproses
tersebut membutuhkan teknik dan metode yang rumit. Subproses tersebut
diantaranya[20]:
1. Subjectivity Classification (menentukan kalimat berupa opini)
Contoh: “Mobil itu memliliki 4 roda VS Itu mobil yang sangat keren!”
2. Orientation Detection (setelah berhasil pada proses subjectivity
classification sekarang tinggal menentukan apakah termasuk kedalam
opini positif, netral atau negatif)
Contoh: “Mobil itu sangat keren! VS Mobil itu jelek sekali!”
3. Opinion Holder and Target Detection (menentukan bagian Opinion
Holder dan target)
Contoh: “Budi mengatakan bahwa mobil itu sangat keren.”
Masalah yang sering muncul pada kasus analisis sentimen ini yaitu masih yang
membuat tweet dengan menggunakan kata yang tidak sesuai dengan kaidah,
sehingga menyebabkan banyak variasi bahasa. Sebagai contoh kata “tidak”
memiliki banyak variasi seperti“nggak”, “gak”, “tdk”, “ga”, “gk”, “nda”,“kagak”,
“kgk” dan lain sebagainya.
19
Gambar 2.2 Proses Analisis Sentimen pada Produk[21]
Analisis sentimen dapat dikatakan sebagai proses klasifikasi seperti yang
diilustrasikan pada gambar 2.2. Ada 3 tingkatan klasifikasi dalam melakukan
analisis sentiment [21] :
1. Document-Level Sentiment Analysis
Document-Level Sentiment Analysis bertujuan untuk mengklasifikasikan
dokumen opini positif atau negatif pada suatu topik.
2. Sentence-Level Sentiment Analysis
Sentence-Level Sentiment Analysis bertujuan untuk mengklasifikasikan
opini di setiap kalimat, dengan cara mengidentifikasi kalimat apakah
kalimat tersebut masuk kedalam kalimat subjektif atau kalimat objektif.
Kemudian Sentence-Level Sentiment Analysis akan menentukan apakah
kalimat tersebut masuk kedalam opini positif atau opini negatif.
20
3. Aspect-Level Sentiment Analysis
Aspect-Level Sentiment Analysis bertujuan untuk mengklasifikasikan
sentimen dengan aspek-aspek tertentu dari sebuah entitas dengan cara
mengidentifikasi entitas dan aspeknya. Karena opini bisa memberikan
pendapat yang berbeda untuk aspek yang berbeda dari entitas yang sama.
Contoh : “Kualitas ponsel ini tidak baik, tetapi daya tahan baterainya
sangat lama”.
2.3.3 Twitter Search API
Dalam setiap harinya twitter menghasilkan lebih dari 65 juta tweet per hari. Setiap
tweet tersimpan pada corpus twitter dan dapat diakses oleh publik dengan
menggunakan Antarmuka Pemrograman Aplikasi (API). API merupakan bagian
dari twitter, dari API memungkinkan pengembang untuk membangun aplikasi
mereka sendiri. Twitter menyediakan satu set API untuk mengakses data dan
mekanisme ini memungkinkan query terhadap tweet dengan menggunakan kata
kunci, hastagh, lokasi dan kriteria lainnya. API dibagi menjadi 3 bagian
diantaranya [22]:
1. REST API, disediakannya akses program untuk menulis dan membaca
data pada twitter. REST API mengidentifikasi user dan aplikasi twitter
seperti tweet baru , membaca profil penulis dan data follower, dan masih
banyak lagi.
2. Stream API, streaming API memberikan developer akses latency rendah
ke stream global yang ada pada data twitter. Streaming API akan
mendorong pesan dengan menunjukkan tweet dan acara lainnya telah
terjadi , tanpa adanya overhead terkait dengan pengambilan endpoint
REST.
3. Ads API, ads Twitter API mengintegrasikan mitra dengan platform iklan
twitter dengan menggunakan iklan mereka sendiri. Mitra yang dipilih
memiliki kemampuan untuk menciptakan alat custom untuk melaksanakan
dan mengelola kampanye iklan di twitter.
21
2.3.4 Klasifikasi
Dalam metode text mining dikategorikan sebagai supervised learning atau
unsupervised learning. Perbedaan dari kedua metode tersebut antara lain
supervised learning bertujuan untuk menemukan pola baru dengan cara
menghubungkan pola data yang baru dengan data yang sudah ada. Sedangkan
pada unsupervised learning, belum memiliki pola data apapun, maka dari itu
unsupervised learning bertujuan untuk menemukan pola dalam sebuah data.
Klasifikasi termasuk supervised learning dimana ada data atau variabel yang telah
diprediksi terhadap data lain agar diketahui dikelas manakah objek tersebut masuk
kedalam model yang mudah disimpan [23]. Klasifikasi merupakan proses dimana
bertujuan menemukan fungsi atau model yang membedakan antara kelas data,
bertujuan untuk memperkirakan kelas yang tidak diketahui objeknya.
Dalam pengklasifikasian data terdapat tiga proses yang dilakukan yaitu:
1. Proses Training
Pada proses training ini menggunakan data latih yang telah diketahui labelnya
untuk membangun suatu model atau fungsi.
2. Proses Testing
Untuk mengetahui keakuratan model maupun fungsi yang akan dibangun pada
proses training, maka dari itu digunakannya data yang sering disebut sebagai
data uji.
Pemrosesan awal dokumen atau preprocessing yaitu tahapan dimana pada setiap
proses berfungsi untuk mentransformasikan dokumen kedalam bentuk
representasi yang lain. Dengan tujuan untuk mempercepat pemrosesan terhadap
dokumen, mempermudah proses dalam pencarian query ke dalam sebuah
dokumen, serta mempermudah pada proses pengurutan dokumen. Proses
preprocessing pada penelitian ini adalah sebagai berikut [24] :
1. Cleansing
Proses cleansing ini dilakukan untuk membersihkan dokumen dari kata yang
tidak diperlukan untuk mengurangi noise. Kata yang dihilangkan adalah
22
karakter HTML, kata kunci, emotikon, hashtag (#), username (@username),
url dan email.
2. Case Folding
Pada tahap ini yaitu merubah huruf ke dalam sebuah dokumen menjadi huruf
kecil atau lowercase. Karakter selain huruf dalam tahapan ini dihilangkan.
3. Tokenizing
Tokenizing atau tokenisasi merupakan proses untuk memisahkan atau
memecahkan suatu kalimat menjadi kata-kata yang terpisah. Token yaitu suatu
turunan dari urutan karakter kedalam beberapa dokumen tertentu,dimana
dokumen dikelompokkan sebagai unit semantik yang layak untuk diproses.
4. Stopwords Removing
Menyaring kata hasil dari proses tokenizing yang dianggap tidak berguna atau
tidak penting dalam proses text mining atau yang sering disebut stoplist.
Stoplist berisi kata-kata yang sering muncul secara umum pada sebuah
dokumen dengan jumlah yang banyak akan tetapi tidak ada kaitannya dengan
tema tertentu. Kata per kata hasil dari tokenizing akan dicocokkan kedalam
kamus stopword di dalam database, apabila kata tersebut cocok dengan salah
satu kata maka kata tersebut akan dihilangkan, sementara untuk kata yang tidak
cocok akan dianggap cocok dan akan diproses lebih lanjut.
5. Stemming
Mengembalikan kata-kata yang diperoleh dari hasil stopwords removing
kedalam bentuk dasar, melakukan dengan cara menghilangkan imbuhan awal
(prefix) dan akhir (sufix) sehingga akan di peroleh hanya kata dasar.
Menghasilkan keluaran berupa root word metode stemming ini memerlukan
masukan berupa kata yang terdapat dalam suatu dokumen.
2.3.5 Term Frequency – Inverse Document Frequency (TF-IDF)
Pembobotan TF-IDF ini termasuk dalam jenis pembobotan yang sering digunakan
oleh Information Retrieval serta text mining. Pada pembobotan ini merupakan
suatu pengukuran statistik dimana penting sebuah kata dalam kumpulan dokumen
23
untuk diukur. Meningkatnya tingkat kepentingan dokumen yaitu pada saat kata
muncul beberapa kali dalam sebuah dokumen tetapi diimbangi dengan frekuensi
kemunculan kata tersebut dalam kumpulan dokumen. Berikut ini rumusan dari
TF-IDF : [25]
( ) ( ) (2.1)
Dimana dihitung terlebih dahulu Term Frequency (TF) yaitu frekuensi
kemunculan suatu term di setiap dokumen. Kemudian dilakukan perhitungan
Inverse Document Frequency (IDF) yaitu menghitung nilai bobot suatu term dari
seringnya suatu term muncul di beberapa dokumen. Semakin sering suatu term
muncul, maka nilai IDF nya akan kecil.
Berikut rumusan TF dan IDF :
( ) ( ) (2.2)
(2.3)
2.3.6 K-Nearest Neighbor (KNN)
Algoritma K-Nearest Neighbor (KNN) merupakan salah satu metode yang
digunakan dalam proses klasifikasi terhadap sebuah objek berdasarkan data
pembelajaran yang memiliki jarak terdekat dengan objek tersebut[26].
Algoritma ini mendeskripsikan data learning dengan atribut numerik n-dimensi.
Dengan menerapkan konsep “learning by analogy”. Setiap data learning
merepresentasikan sebuah titik, yang ditandai dengan c, dalam ruang n-dimensi.
Apabila data query yang dimasukkan tidak diketahui labelnya, maka K-Nearest
24
Neighbor (KNN) akan mencari k buah data learning yang memiliki jarak terdekat
dengan query dalam ruang n-dimensi. Pengukuran jarak antara data learning
dengan query dilakukan dengan mengukur jarak antar titik yang
merepresentasikan data query dengan semua titik data learning menggunakan
perhitungan Euclidean Distance [26]. Gambaran umum algoritma KNN ini dapat
dilihat dalam flowchart berikut [26] :
Gambar 2.3 Flowchart KNN
Pada tahap fase training, algoritma ini hanya menyimpan vektor-vektor fitur dan
klasifikasi data training sample. Saat fase klasifikasi, semua fitur yang sama
dihitung untuk kemudian dilakukan testing data. Jarak vektor baru yang terbentuk
kemudian dihitung seluruh vektor training sampel, kemudian jumlah k buah yang
25
terdekat diambil. Klasifikasinya diprediksikan pada titik yang baru termasuk pada
klasifikasi terbanyak berdasarkan titik-titik tersebut [26].
Nilai k merupakan jumlah titik pembanding yang akan dibandingkan dengan titik
uji. Pada k=1 akan dicari jarak terdekat dengan nilai titik uji. Untuk nilai k lebih
dari satu, selanjutnya akan dilakukan voting berdasarkan mayoritas keberadaan
kelasnya. Maka dari itu besar nilai k harus merupakan bilangan ganjil, supaya
dapat dilakukan voting berdasarkan mayoritas keberadaannya didalam suatu
kelas[27]. Nilai k dapat dikatakan bagus apabila dipilih dengan optimasi
parameter, seperti contoh menggunakan confusion matrix. Pada contoh kasus
tertentu disebut algoritma nearest neighbor apabila klasifikasi diprediksikan
berdasarkan data pembelajaran yang paling dekat (dengan kata lain, k = 1) [26].
Algoritma KNN ini sangat dipengaruhi oleh eksistensi fitur-fitur yang tidak
relevan, dengan kata lain bobot fitur tidak setara dengan relevansinya terhadap
klasifikasi. Sebagian besar penelitian menggunakan algoritma ini yaitu membahas
bagaimana memilih dan memberi bobot pada tiap fitur, agar performa klasifikasi
menjadi lebih baik [26].
K buah data learning menentukan label mayoritas dengan melakukan voting.
Label data query ditentukan berdasarkan label mayoritas dan apabila ada lebih
dari satu label mayoritas maka label secara acak data query akan dipilih di antara
label mayoritas yang ada [26].
Setelah melalui tahap preprocessing, setiap dokumen akan menjadi fitur vektor
yang memiliki dimensi ke-m tahapan penerapan Algoritma KNN dapat dituliskan
sebagai berikut [28]:
1. Menentukan nilai k sebagai k terdekat dari data latih.
2. Mengubah dari masing-masing dokumen setelah preprocessing menjadi
sebuah term. Kemudian dihitung bobot per-term menggunakan TF-IDF.
3. Hitung jarak titik ruang dengan menggunakan Euclidean Distance.
4. Memberikan 2 buah titik Q dan P dalamsebuah ruang vektor n-dimensi
dengan Q (q1, q2,..., qn) dan P (p1, p2, ..., pn), maka jarak antara Q dan P
dapat dihitung menggunakan persamaan Euclidean Distance berikut [25] :
26
√∑ (2.5)
Dimana q dan p merupakan titik pada vektor n pada ruang vektor n
dimensi sedangkan qi dan pi merupakan besaran skalar untuk dimensi ke i
dalam ruang vektor n dimensi.
5. Menghitung jumlah bobot pada proses Euclidean Distance pada setiap
dokumen.
6. Menentukan hasil jarak terdekat antara data uji dengan data latih.
7. Menentukan kelas dari obyek berdasarkan kelas yang paling dominan .
2.3.7 Alat Ukur & Validasi
Ada beberapa alat untuk mengukur akurasi algoritma klasifikasi, metode yang
digunakan yaitu :
1. Confusion Matrix
Confusion matrix merupakan alat ukur yang biasanya digunakan dalam
melakukan perhitungan akurasi pada konsep data mining. Tabel matrik
digunakan dalam metode ini, jika data set hanya terdiri dari dua kelas, maka
satu kelas dianggap sebagai kelas positif dan lainnya kelas negatif.
True positives yaitu jumlah record positif yang diklasifikasikan sebagai kelas
positif, dan false positives yaitu jumlah record negative yang diklasifikasikan
sebagai kelas positif, sedangkan false negatives yaitu jumlah record positif
yang diklasifikasikan sebagai kelas negatif, dan true negatives yaitu jumlah
record negatif yang diklasifikasikan sebagai kelas negatif, setelah itu
masukkan data uji. Kemudian data uji dimasukkan ke dalam confusion matrix,
dan hitung nilai-nilai yang telah dimasukkan untuk menghitung jumlah
sensitivity (recall), specificity, precision dan accuracy. Seperti yang dapat di
dalam tabel 2.2 berikut [29] :
Tabel 2.2 Model Confusion Matrix
Klasifikasi
yang benar
Diklasifikasikan sebagai
+ -
27
+ True
Positives
False
Negatives
- False
Positives
True
Negatives
Sensitivity atau recall ini digunakan untuk membandingkan jumlah TP dari jumlah
record yang bernilai positif, sedangkan specificity yaitu membandingkan jumlah
TN darijumlah record yang bernilai negatif. Berikut persamaan yang digunakan
untuk melakukan perhitungannya [29] :
Precission = (2.6)
Recall = (2.7)
Precision = (2.8)
Accuracy =∑ ∑ ∑ (2.9)
Keterangan :
TP = Jumah True Positives
TN = Jumah True Negatives
P = Jumlah Record Positives
N = Jumlah Tupel Negatives
FP = Jumlah False Positives
2.3.8 R Programming
R merupakan suatu kesatuan software yang terintegrasi dengan menyediakan
beberapa fasilitas antara lain fasilitas untuk melakukan manipulasi, perhitungan
dan menampilkan grafik dengan baik. R ini merupakan bahasa pemrograman yang
berbasis pada bahasa pemrograman S yang telah dikembangkan oleh AT & T
Laboratories yang sekarang lebih dikenal Lucent Technologies. R itu sendiri
memliliki beragam jenis model statistik, seperti linear dan nonlinear modeling,
28
classical statistical tests, time series analysis, classification, clustering, dan lain
sebagainya [30].
R juga termasuk bahasa terinterpretasi atau interpreted. Bahasa terinterpretasi
yaitu setiap perintah tunggal harus dievaluasi dan dieksekusi. Sedangkan bahasa
kompilasi yaitu keseluruhan program harus dikompilasi oleh sebuah kompiler
yang menerjemahkan bahasa pemrograman ke dalam bahasa mesin [30].
Gambar 2.4 R Programming
Berikut penjelasan sesuai nomor pada gambar 2.4 :
1. Menu Toolbar, kumpulan perintah-perintah yang dapat digunakan di R
2. Halaman untuk membuat coding atau script code.
3. Halaman untuk membuat function.
4. Files Browser, untuk mencari folder atau file pada laman kerja.
5. Objek Dinamis dan Packages Browser.
6. Penjelasan mengenai dokumen yang kita buat.
7. Functions Browser, untuk memilih function yang akan dibuat.
29
R memiliki teknik komputasi grafik dimana Source Code yang multiplatform
(tersedia padasistem operasi Windows, Linux dan Unix) dan tersedia secara bebas
dibawah lisensi oleh GNU General Public License, dan versi precompiled binary
tersedia untuk berbagai sistem operasi. R didukung dengan model serta teori
statistik terdepan, dengan menggunakan standar tertinggi bagi analisis data. R
dapat dikatakan hampir bisa untuk digunakan dalam berbagai bidang, seperti
kalkulasi biasa layaknya kalkulator, statistik, ekonometri, geografi, sampai
pemrograman computer [30].
Top Related