Anda di halaman 1dari 16

2 Tinjauan Pustaka

2.1 Data Mining


Perkembangan teknologi memberikan pengaruh terhadap media
pengumpulan dan penyimpanan data yang kebutuhannya semakin besar. Dari
data yang sangat besar tersebut, dibutuhkan suatu kemampuan untuk
menganalisis, meringkas, dan mengekstraksi data menjadi suatu informasi yang
berguna. Proses ekstraksi data menjadi informasi ini disebut sebagai data mining
[7]. Data mining merupakan solusi yang tepat untuk proses pengolahan data
menjadi informasi tersebut karena data mining dapat menangani data dengan
jumlah yang sangat besar.
Data mining adalah salah satu bidang ilmu yang menggabungkan analisis
data tradisional dengan algoritma modern untuk memproses data dengan jumlah
yang banyak [7]. Terdapat beberapa tahap proses pengolahan data dalam data
mining hingga akhirnya menjadi suatu informasi atau knowledge. Gambaran
proses data mining tersebut adalah seperti pada gambar 2-1.

Gambar 2-1 Data Mining sebagai langkah dalam proses dari Knowledge
Discovery [7]
Adapun penjelasan tahapan proses pengolahan data (knowledge
discovery) dalam data mining sesuai gambar 2-1 adalah sebagai berikut [7]:
1. Pembersihan data
Membuang data yang berupa noise dan data yang tidak konsisten.
2. Integrasi data
Penggabungan data dari beberapa sumber.
3. Seleksi data
Menyeleksi data yang berasal dari database, yang sesuai dan relevan
untuk dianalisis dalam penelitian.
4. Transformasi data
Pengubahan data menjadi bentuk yang sesuai untuk menjalani proses
mining.
5. Aplikasi teknik data mining
Proses utama proses mining untuk menemukan informasi dari suatu data.
6. Evaluasi pola yang ditemukan
Untuk mengidentifikasi pola-pola khas, yang kemudian dievaluasi untuk
mengetahui ketercapaian hipotesa.
7. Presentasi pengetahuan
Teknik visualisasi dan penyajian informasi berdasarkan hasil proses
mining yang telah dilakukan.

2.2 Analisis Sentimen


Analisis sentimen, yang disebut juga dengan opinion mining, merupakan
salah satu cabang ilmu dari data mining yang bertujuan untuk menganalisis,
memahami, mengolah, dan mengekstrak data tekstual yang berupa opini
terhadap entitas seperti produk, servis, organisasi, individu, dan topik tertentu
[8]. Analisis ini digunakan untuk mendapatkan suatu informasi tertentu dari
suatu kumpulan data yang ada. Analisis sentimen berfokus pada pengolahan
opini yang mengandung polaritas, yaitu memiliki nilai sentimen positif ataupun
negatif.
Terdapat empat level dalam opinion mining, yaitu [8] :
1. Document level sentiment classification
Merupakan level dalam opinion mining yang berfokus untuk
menentukan suatu kalimat opini merupakan opini positif atau negatif.
2. Sentence level sentiment analysis
Merupakan level dalam data mining yang berfokus mencari struktur
kata yang merupakan opini pada suatu kalimat. Level ini merupakan
fokus level yang digunakan di dalam penelitian.
3. Featured-based opinion mining and summarization
Merupakan level dalam data mining yang berfokus untuk menentukan
ringkasan berdasarkan orientasi opini dan fitur yang ada dan telah
diskstrak dalam opini tersebut.
4. Comparative sentence and relation extraction
Merupakan level dalam opinion mining yang berfokus untuk
menentukan orientasi opini dalam kalimat yang berisi perbandingan
mengenai dua hal berbeda.

Terdapat empat topik dalam opinion mining, yaitu [8] :


1. Model abstrak dari opinion mining
Merupakan topik dalam opinion mining yang berkonsentrasi mencari
struktur kata-kata yang termasuk fitur ataupun opini dalam suatu
kalimat.
2. Sentiment classification
Merupakan topik dalam opinion mining yang berkonsentrasi untuk
menentukan suatu kalimat opini termasuk opini positif, negatif, atau
netral. Penelitian ini termasuk ke dalam topik sentiment classification.
3. Featured-based opinion mining and summarization
Merupakan topik dalam opinion mining yang berkonsentrasi untuk
menentukan ringkasan berdasarkan orientasi opininya dan fitur yang
diekstrak dalam opini tersebut.
4. Opinion mining from comparative sentence
Merupakan topik dalam opinion mining yang berkonsentrasi untuk
menentukan orientasi opini dalam kalimat yang bersifat
membandingkan sesuatu dengan sesuatu yang lain.

2.3 Twitter
Twitter adalah situs web dimiliki dan dioperasikan oleh Twitter, Inc., yang
menawarkan jaringan sosial berupa microblog. Disebut microblog karena situs ini
memungkinkan penggunanya mengirim dan membaca pesan blog seperti pada
umumnya namun terbatas hanya sejumlah 140 karakter yang ditampilkan pada
halaman profil pengguna. Pesan dalam Twitter dikenal dengan sebutan tweet. [9]
Twitter memiliki karakteristik dan format penulisan yang unik dengan simbol
ataupun aturan khusus. Fitur yang terdapat dalam Twitter, antara lain [9]:
Home biasa disebut dengan timeline dimana tweet yang ditulis akan
muncul pada timeline milik pengguna lain yang merupakan follower
dari pengguna utama.
Profile menampilkan profil atau data diri serta tweets yang pernah
diposting oleh pengguna.
Following merupakan akun yang diikuti (follow) oleh pengguna
sehingga tweets yang dikirim oleh akun tersebut dapat terlihat pada
timeline pengguna.
Follower merupakan akun pengguna lain yang mengikuti akun
pengguna utama.
Mentions (@) merupakan balasan dari percakapan agar sesama
pengguna bisa langsung menandai orang yang diajak bicara. Biasanya
penulisannya ditandai dengan @ diikuti dengan username.
Favourite merupakan tweets yang ditandai bintang, hal ini dilakukan
agar tweets tersebut tidak hilang oleh halaman sebelumnya.
Direct Message merupakan sebuah pesan seperti SMS yang dikirimkan
oleh pengguna satu ke pengguna lain secara personal tanpa dapat
dilihat oleh pengguna lainnya.
Hashtags (#) merupakan simbol yang ada di depan topik tertentu agar
pengguna lain dapat mencari topik sejenis yang ditulis oleh pengguna
lain.
List merupakan pengelompokkan following pengguna ke dalan satu
grup atau list.
Trending Topics merupakan topik yang sedang hangat dibicarakan
oleh banyak pengguna dalam satu waktu yang bersamaan.
.
Twitter sendiri merupakan salah satu media sosial yang akrab digunakan
oleh masyarakat Indonesia. Berdasarkan penelitian Semiocast, jumlah pemilik
akun Twitter di Indonesia merupakan yang terbesar kelima di dunia, dan berada
pada posisi ketiga negara yang paling aktif mengirim tweet perhari [4].
Pemanfaatan Twitter kini mulai meluas untuk berbagai keperluan dalam
berbagai aspek, bukan lagi hanya sekedar tweet keseharian penggunanya, namun
juga sebagai media kampenye politik, penjualan produk, penyampaian berita,
serta penyampaian opini publik mengenai suatu hal yang bersifat subjektif.
Penyampaian opini melalui Twitter menjadi fokus dalam penelitian ini. Data opini
akan diolah dan ditentukan sentimennya, apakah positif atau negatif. Kemudian
akan dibuat kesimpulan berdasarkan analisis sentimen yang dihasilkan sebagai
bahan pertimbangan dan evaluasi bagi pihak terkait.

2.4 Transportasi Umum Darat Dalam Kota


Transportasi umum darat dalam kota, atau disebut juga angkutan kota,
adalah angkutan dari suatu tempat ke tempat lain dalam wilayah kota dengan
menggunakan mobil bus dan/atau mobil penumpang umum yang terkait dalam
trayek tetap dan teratur [10].
Berdasarkan kapasitas kendaraan, angkutan dibagi menjadi beberapa
jenis, yaitu [10]:
Bus lantai ganda
Bus lantai tunggal
Bus patas lantai tunggal
Bus sedang
Mobil bus sedang adalah mobil bus yang mempunyai kapasitas sampai
dengan tiga puluh orang termasuk yang duduk dan berdiri, tidak termasuk
tempat duduk pengemudi.
Bus kecil
Mobil bus kecil adalah mobil bus yang dilengkapi sekurang-kurangnya
sembilan sampai dengan sembilan belas tempat duduk, tidak termasuk
tempat duduk pengemudi.
Mobil Penumpang Umum (hanya roda empat)
Mobil penumpang umum (MPU) adalah mobil penumpang yang
digunakan sebagai kendaraan umum.

Tiap jenis angkutan transportasi umum memiliki rute dan waktu operasi
masing-masing. Penentuan jumlah armada angkutan penumpang umum
disesuaikan dengan permintaan jasa angkutan umum itu sendiri. Penentuan tarif
diperhitungkan sebaik mungkin dengan beberapa faktor kebutuhan operasional
dan perawatannya.
Ketersediaannya transportasi umum yang baik tentunnya akan
memberikan manfaat bagi masyarakat secara umum. Masyrakat akan terbantu
jika ingin berpergian ke suatu tempat tujuan. Apabila transportasi umum dijaga
dan dirawat dengan baik, tentu akan memberikan dampak baik, yaitu masyrakat
akan lebih memilih menggunakan transportasi umum dibandingkan kendaraat
pribadi.

2.5 NodeXL
NodeXL merupakan suatu open-source software tool pada Microsoft
Excel 2007, 2010 dan 2013 yang digunakan untuk memfasilitasi pembelajaran
konsep dan metode analisis jaringan sosial. NodeXL menggunakan template
workbook yang sangat terstruktur, yang mencakup beberapa lembar kerja
(worksheet) untuk menyimpan semua informasi yang dibutuhkan terkait network
graph. NodeXL dapat diunduh secara gratis dari situs Microsoft CodePlex,
www.codeplex.com/NodeXL. [11]
Dalam penelitian ini, NodeXL digunakan dalam proses perolehan data
Twitter. Karena NodeXL merupakan tools tambahan pada Microsoft Excel, maka
data Twitter akan tersimpan dalam bentuk file Excel (.xlsx). Pada gambar 2-2
dapat dilihat contoh pengambilan data Twitter menggunakan NodeXL.

Gambar 2-2 Contoh hasil pengambilan data Twitter menggunakan NodeXL

Terdapat beberapa informasi yang dihasilkan seputar tweet yang diambil


berdasarkan query kata kunci pencarian. Informasi tersebut diantaranya adalah
username, tweet, tanggal, mention, dan lain sebagainya. Pada penelitian ini hanya
diambil informasi kalimat tweet yang akan digunakan sebagai bahan analisis
sentimen.

2.6 Data Preprocessing


Data preprocessing merupakan tahap yang dilakukan sebelum
pengklasifikasian opini. Sebelumnya dataset mentah dibersihkan terlebih dahulu
dengan penyariangan dokumen, pengurangan volume kata, dan penghilangan
noise. Tahap ini dilakukan dengan maksud agar dapat mempermudah proses
klasifikasi. Pada penelitian ini, langkah-langkah yang dilakukan dalam data
preprocessing adalah document cleansing, tokenisasi, dan normalisasi kata.
2.6.1 Document Cleansing
Proses Document Cleansing terdiri dari pembersihan dokumen dari
noise, case folding, dan penghapusan karakter selain huruf. Pada proses
pembersihan noise dilakukan penggantian karakter simbol menjadi
karakter spasi ( ). Penggantian karakter simbol dilakukan terhadap
karakter selain huruf seperti tanda baca, dan angka, sehingga di dalam
dataset hanya terdapat karakter huruf. Yang dimaksud tanda baca adalah
seperti yang terdapat pada tabel 2-1. Kemudian dilakukan case folding,
yaitu pengubahan seluruh huruf kapital menjadi huruf kecil.

Tabel 2-1 Karakter Simbol Tanda Baca

Karakter
! ( { ,
@ ) } .
# - \ <
$ _ | >
% = ; /
^ + : ?
& [ `
* ] ~

2.6.2 Tokenisasi
Pada sistem text mining dilakukan proses tokenisasi sebelum data
diproses lebih dalam. Tokenisasi merupakan pemotongan teks menjadi
kalimat dan potongan kumpulan token kata tunggal (term) [12].
Pemotongan atau pemecahan kalimat menjadi token tersebut dilakukan
menggunakan pembatas berupa spasi. Token akan digunakan sebagai
komponen yang akan dianalisis sentimennya. Token juga dimanfaatkan
untuk penghitungan frekuensi tiap kata yang muncul untuk mendukung
proses analisis sentimen selanjutnya.

2.6.3 Normalisasi Kata


Pada proses ini kata dalam dataset akan diperbaiki yaitu dengan
pengubahan kata yang tidak baku menjadi baku dan pengubahan singkatan
menjadi kata asalnya. Normalisasi kata ini dilakukan dengan mengacu
pada kamus pembakuan kata, yang berasal dari penelitian sebelumnya
[13]. Dari kamus tersebut dilakukan pengembangan dengan memodifikasi
dan menambahkan penanganan yang disesuaikan dengan keadaan dataset
untuk beberapa kata tidak baku yang sebelumnya tidak terdapat dalam
kamus.
2.7 Part-of-Speech (POS) Tagging
POS tagging merupakan proses penandaan kelas kata atau pelabelan kata
dengan kategori gramatikal seperti kata benda, kata kerja, kata sifat, yang sesuai
dengan aturan tata bahasa [13]. Part-of-Speech dalam bahasa Indonesia terdiri
dari beberapa tag yang dapat dilihat pada tabel 2-2. Peran POS tagging dalam
analisis sentimen adalah mendukung proses pengklasifikasian untuk memudahkan
penentuan subyektifitas maupun nilai sentimen, yaitu dengan memisahkan
potongan kata dari suatu tweet berdasarkan kelas kata dalam bahasa Indonesia.
Pada penelitian ini POS tagging digunakan untuk mengetahui kelas kata yang
nantinya akan dipilih kelas kata tertentu dan diekstraksi menjadi kata opini.
Penentuan kelas kata dilakukan berdasarkan Kamus Besar Bahasa Indonesia
(KBBI). Output dari proses POS tagging adalah sebuah POS tag untuk setiap kata.
Hasil pengelompokan kata dari POS tagging akan digunakan untuk proses
berikutnya. Dalam penelitian ini, proses POS tagging terbagi menjadi dua
subproses, yaitu Hidden Markov Model (HMM) dan Rule based tagging.

Tabel 2-2 Daftar Tagging Bahasa Indonesia [13]


POS Tag Arti Contoh
OP Kurung Buka ({[
CP Kurung Tutup )}]
GM Garis Miring /
; Titik Koma ;
: Titik Dua :
Tanda Kutip dan
. Tanda Titik .
, Tanda Koma ,
- Garis -
Tanda Pengganti
JJ Kata Sifat Baik, Bagus
RB Kata Keterangan Sementara, Nanti
NN Kata Benda Kursi, Kulkas
NNP Benda Bernama Toyota, Sony
NNG Benda Berpemilik Motornya
VBI Kata Kerja Intransitif Pergi
VBT Kata Kerja Transitif Membeli
IN Preposisi Di, Dari, Ke
MD Modal Bisa
CC Kata Sambung Setara Dan, Atau, Tetapi
SC Kata Sambung Tidak Jika, Ketika
Setara
DT Determiner Para, Ini, Itu
UH Interjection Wah, Aduh, Oi
CDO Kata Bilangan Berurut Pertama, Kedua, Ketiga
CDC Kata Bilangan Kolektif Berdua
CDP Kata Bilangan Pokok Satu, Dua, Tiga
CDI Kata Bilangan Tidak Biasa Beberapa
POS Tag Arti Contoh
PRP Kata Ganti Orang Saya, Mereka
WP Kata Tanya Apa, Siapa, Dimana
PRN Kata Ganti Bilangan Kedua-duanya
PRL Kata Ganti Lokasi Sini, Situ
NEG Negasi Bukan, Tidak
SYM Simbol #,%,^,&,*
RP Particle Pun, Kah
FW Kata Asing Word

2.1.1 Hidden Markov Model (HMM) POS Tagging


Dalam proses Hidden Markov Model part-of-speech tagger (HMM
POS tagger), data yang akan diobservasi adalah kumpulan setiap kata di
dalam suatu kalimat, dan dari setiap kalimat tersebut akan ditentukan
susunan tiap katanya akan masuk ke dalam kelas kata apa yang tepat [13].
Proses dimulai dengan mempertimbangkan semua urutan tag yang
mungkin untuk setiap kalimat. Dari semua kemungkinan urutan tersebut,
kemudian dipilih urutan tag yang paling mungkin berdasarkan data
observasi yang diberikan, yaitu sesuai hasil probabilitas kemunculan suatu
kata dalam kalimat.
Untuk memudahkan perhitungan, HMM POS Tagger
menggunakan dua buah asumsi. Asumsi yang pertama adalah probabilitas
kemunculan suatu kata hanya tergantung pada tag nya, dan tidak
tergantung dengan kata lain di sekitarnya atau tag lain di sekitarnya.
Asumsi yang kedua adalah probabilitas suatu kemunculan tag hanya
bergantung dari tag sebelumnya. Persamaan 2.1 merupakan persamaan
dari Hidden Markov Model untuk kasus Part of Speech Tagging [14].

(2.1)

Dengan:
Tagn = kelas kata yang dicari
Tagi = kelas kata dari wordi yang terdapat di corpus
Wordi = kata yang dicari kelas kelasnya
Tagi-1 = kelas kata sebelum kelas kata dari wordi yang ada di corpus
sebanyak 1
P = probabilitas

2.1.2 Rule Based Tagging


Metode rule based tagging merupakan metode yang menggunakan
aturan bahasa (gramatikal) untuk mendapatkan kelas kata pada suatu kata
dalam kalimat, yang dilakukan dengan berdasarkan penggunaan kamus
(Jurafsky, 2000). Setiap kata akan diambil kelas katanya, kemudian kelas
kata akan dicocokan dengan rule (aturan) yang terdapat dalam kamus. Jika
ditemukan perbedaan kelas kata dengan kelas kata yang terdapat dalam
kamus, maka sistem akan mengganti kelas kata yang lebih tepat dari kelas
kata yang diperoleh dari proses HMM tagging [14]. Proses ini juga dapat
menangani kata yang tidak dapat ditangani pada proses sebelumnya, yaitu
proses HMM tagging. Untuk kata yang belum memiliki label tersebut akan
diberi label sesuai dengan label kata yang terdapat dalam kamus yang
tersedia dari penelitian sebelumnya [13].

2.8 Ekstraksi Opini


Proses ektraksi opini merupakan proses identifikasi kata opini dalam
kalimat atau teks yang sedang dianalisis. Suatu kalimat atau teks opini biasanya
memiliki suatu indikator opini didalamnya. Indikator opini merupakan kata yang
memiliki label atau kelas kata adjective. Namun pada tugas akhir ini indikator
opini tidak hanya diwakilkan dengan kata dengan berlabel adjective. Indikator
yang digunakan pada tugas akhir ini adalah kata dengan berlabel adjective,
adverb, noun dan juga verb. Jika ditemukan kata dengan label kata tersebut,
kemudian kata akan dievaluasi dengan kamus opinion words. Kamus yang
digunakan dalam penelitian ini merupakan kamus hasil modifikasi dari kamus
penelitian sebelumnya [13]. Apabila kata yang dievaluasi tersebut memiliki
kecocokan dengan daftar kata yang terdapat dalam kamus opinion words, maka
kata tersebut akan disimpan dalam tabel kata opini.

2.9 Stopword Removal


Stopword merupakan kata fungsi atau kata keterangan yang merupakan kata
yang umum dalam bahasa yang biasanya tidak memberikan kontribusi terhadap
semantic dokumen dan tidak memiliki nilai tambah secara nyata [12]. Stopword
removal adalah proses penghapusan kata stopword itu sendiri. Stopword sering
muncul namun tidak memiliki makna spesifik, dan dianggap tidak penting.
Stopword removal dilakukan untuk memperkecil jumlah fitur (term) yang diolah
dan meningkatkan kualitas rekomendasi klasifikasi. Stopword memiliki
karakteristik frekuensi kemunculannya tinggi, yang biasanya berupa kata ganti
orang atau kata penghubung.
Proses stopword removal dilakukan dengan mencocokkan fitur yang
dievaluasi dengan kamus stopword. Jika kata yang terdapat dalam kamus
stopword ditemukan terdapat pada fitur tweet yang dievaluasi, maka fitur/kata
stopword tersebut akan dihapus dari tweet tersebut. Dalam penelitian ini, kamus
stopword yang digunakan adalah kamus hasil modifikasi dari kamus stopword
pada penelitian sebelumnya [13].

2.10 Pembobotan Kata


Pengklasifikasian dengan menggunakan metode SVM dinyatakan dalam
suatu model vector-space. Oleh karena itu sebelum menuju metode SVM,
dibutuhkan proses pembobotan term (kata). Pembobotan kata ini akan
menghasilkan nilai bobot kata yang merupakan sebuah indikator untuk
mengetahui tingkat kepentingan setiap kata dalam dokumen.
Tiap dokumen, yang pada penelitian ini adalah berupa tweet, diwujudkan
sebagai sebuah vector dengan elemen sebanyak term yang terdapat dalam
dokumen tersebut. Vector beranggotakan word id dan bobot dari setiap term.
Metode fitur pembobotan yang digunakan dalam penelitian ini adalah
unigram, dimana tiap kata atau simbol dihitung sebagai fitur. Adapun metode
pembobotan term yang digunakan adalah Term Frequency-Inverse Document
Frequency (TF-IDF).
Pembobotan term TF-IDF dipengaruhi oleh faktor berikut (Mandala,
2004) :
1. Term Frequency (TF), merupakan jumlah kemunculan term dalam
suatu dokumen (tweet). Semakin besar jumlah kemunculan suatu
term dalam dokumen (nilai TF tinggi), maka semakin besar pula nilai
bobot term tersebut.
2. Inverse Document Frequency (IDF), digunakan untuk menangani
term yang banyak muncul di berbagai dokumen (tweet) yang
dianggap sebagai term yang umum (common term) sehingga tidak
penting nilainya. Sebaliknya, faktor kelangkaan kata (uncommon
term) dalam koleksi dokumen merupakan hal yang penting untuk
diperhatiakn dalam pemberian bobot. Oleh karena itu, pembobotan
akan dihitung berdasarkan faktor kebalikan frekuensi dokumen yang
mengandung suatu term (inverse document frequency). Nilai IDF
untuk sebuah term dihitung dengan persamaan 2.2 [15].

(2.2)
( )

Dengan:
N = jumlah koleksi dokumen
dft = jumlah dokumen dimana terdapat term (t)
Jadi pada metode pembobotan TF-IDF ini, perhitungan bobot term t dalam
sebuah dokumen (tweet) dilakukan dengan mengalikan nilai TF dengan nilai IDF.
Persamaan 2.3 untuk perhitungan bobot term (W) adalah sebagai berikut [15]:

(2.3)

Dengan:
W = bobot term t terhadap dokumen d
TF = frekuensi kemunculan term t pada dokumen d
IDF = nilai IDF dari term t
d = dokumen ke-d
t = kata (term) ke-t
Bobot term akan bernilai semakin besar jika kata sering muncul dalam suatu
dokumen dan semakin kecil jika kata tersebut muncul dalam banyak dokumen
(Grossman, 1998). Hasil dari pembobotan term ini selanjutnya akan digunakan
pada tahap klasifikasi.
2.11 Metode Klasifikasi Support Vector Machine (SVM)
Support Vector Machine (SVM) merupakan salah satu metode
klasifikasi dengan menggunakan machine learning (supervised learning) yang
memprediksi kelas berdasarkan model atau pola dari hasil proses training.
Klasifikasi dilakukan dengan mencari hyperplane atau garis pembatas (decision
boundary) yang memisahkan antara suatu kelas dengan kelas lain, yang dalam
kasus ini garis tersebut berperan memisahkan tweet bersentimen positif (berlabel
+1) dengan tweet bersentimen negatif (berlabel -1). SVM melakukan pencarian
nilai hyperplane dengan menggunakan support vector dan nilai margin [7].
Dalam penelitian ini, data inputan yang memiliki representasi vector didapatkan
dari proses pembobotan. Dengan dilakukannyan training pada klasifikasi SVM,
maka akan menghasilkan sebuah nilai atau pola yang akan digunakan pada
proses testing untuk proses pelabelan tweet [16]. Gambaran sederhana dari garis
hyperplane dapat dilihat pada gambar 2-3

Gambar 2-3 Data training dengan berbagai kemungkinan hyperplane [7]


Gambar 2.3 menunjukkan data training yang terpisah secara linear.
Terdapat sejumlah tak terbatas kemungkinan garis pemisah hyperplane yang
dapat dihasilkan dari data tersebut, namun nyatanya hanya dibutuhkan satu garis
pemisah yang paling baik untuk memisahkan kedua kelas tersebut.
Gambar 2-4 Data training dengan hyperplane terbaik [7]
SVM pada dasarnya mencari kemungkinan terbaik untuk memisahkan
kelas positif dan negatif dari data training, yaitu dengan mencari nilai
hyperplane terbaik yang berfungsi sebagai pemisah dua buah kelas pada input
space. Hyperplane sendiri merupakan garis pemisah antar dua kelas. Klasifikasi
atau pemisahan kelas yang optimum adalah yang memiliki hyperplane dengan
jarak terbesar ke titik data terdekat dari setiap kelas (maximum margin
hyperplane), seperti pada gambar 2-4. Margin adalah jarak hyperplane tersebut
dengan titik terdekat dari masing-masing kelas. Titik yang paling dekat ini
disebut sebagai support vector [7] [17].
Fungsi pemisah hyperplane didefinisikan pada persamaan 2.4

(2.4)
Parameter pendukung hyperplane harus terpilih sedemikian rupa sehingga
dapat memenuhi kondisi berikut:

(2.5)

Dengan:
w = parameter hyperplane yang dicari (jarak tegak lurus antara garis
hyperplane dengan titik support vector)
x = data input SVM (indeks kata dan bobot kata)
b = parameter hyperplane yang dicari (nilai bias dalam hyperplane)
y = data output SVM (label kelas)
Selanjutnya dilakukan perhitungan untuk mendapatkan nilai alpha dengan
menggunakan Lagrange multiplier (dual Lagrangian) yang ditunjukkan pada
persamaan 2.6, dimana apabila suatu titik memiliki nilai alpha>0 maka titik
tersebut merupakan support vector [17].

s.t (2.6)

Untuk penggunaan data berjumlah banyak, seperti pada kasus penelitian


ini, akan lebih mudah untuk mencari nilai alpha dengan menggunakan rumus
quadratic programming dibandingkan dengan rumus Lagrangian. Dalam
penelitian ini perhitungan quadratic programming dilakukan menggunakan
bahasa pemrograman Matlab, yang berupa fungsi quadprog.
Setelah nilai alpha didapatkan, maka nilai w dan b sudah dapat dicari.
Nilai w dan b akan digunakan dalam proses testing klasifikasi sebagai bagian
dari garis hyperplane. Adapun untuk mendapatkan nilai w digunakan rumus
yang berasal dari penurunan rumus Lagrangian seperti pada persamaan 2.7
berikut [17]:

[ ] (2.7)

Sedangkan persamaan 2.8 menunjukkan rumus untuk mendapatkan nilai


w.

(2.8)

Dengan:
w = parameter hyperplane yang dicari (jarak tegak lurus antara garis
hyperplane dengan titik support vector)
x = data input SVM (indeks kata dan bobot kata)
b = parameter hyperplane yang dicari (nilai bias dalam hyperplane)
y = data output SVM (label kelas)
= variabel non-negatif Lagrange multiplier
J = fungsi Lagrangian
Setelah diketahui support vector dan nilai w, dengan kondisi Karush-
Kuhn-Tucker (KKT) pada persamaan 2.9.

(2.9)
[ ]
Dari persamaan 2.9 tersebut, nilai bias atau nilai b dapat dihitung untuk
setiap support vector yang ada, dengan kondisi b(1) untuk support vector dari kelas
+1, dan b(2) untuk support vector dari kelas -1 [17]. Berikut ini rumus
penghitungan nilai b ditunjukkan pada persamaan 2.10.
(2.10)

Dimana nilai N, M, b(1) dan b(2) merupakan hasil dari perhitungan pada Persamaan 2.11

( )
(2.11)
( )

Setalah diketahui nilai w dan b, maka langkah terkahir adalah proses


penentuan label dari suatu kata dengan memasukkan inputan (indeks kata dan
bobot kata) serta nilai w dan b ke dalam persamaan 2.12 untuk SVM kernel linear
atau persamaan 2.13 untuk SVM kernel non-linear. Jika nilai f(x) yang dihasilkan
adalah f(x) > 0, maka kata tersebut akan terklasifikasi sebagai kata dengan kelas
positif (+1), selain dari itu kata akan terklasifikasi sebagai kelas negatif (-1),
seperti yang ditunjukkan pada persamaan 2.5.

[ ] (2.12)

Dengan:
f(x) = fungsi Hyperplane
w = parameter hyperplane yang dicari (jarak tegak lurus antara garis
hyperplane dengan titik support vector)
x = data input SVM (indeks kata dan bobot kata)
b = parameter hyperplane yang dicari (nilai bias dalam hyperplane)

[ ] (2.13)

Dengan:
f(x) = fungsi Hyperplane
= variabel non-negatif Lagrange multiplier
yi = data input (label kelas data training)
k(xi x) = nilai hasil hitung kernel
b = nilai bias hyperplane

Setelah semua kata yang terkandung dalam tweet telah dihitung kelas
sentimennya (+1 atau -1), maka setiap sentimen kata dalam suatu tweet tersebut
dijumlahkan untuk menentukan sentimen dari kalimat tweet tersebut. Jika hasil
penjumlahan nya melebihi nol, maka kalimat tweet tersebut dinyatakan sebagai
tweet dengan sentimen positif, selain itu kalimat tweet dinyatakan sebagai tweet
dengan sentiment negatif.

Selain untuk menangani permasalahan secara linear, SVM juga dapat


menangani permasalahan klasifikasi non-linear dengan cara meningkatkan
dimensi ruang dari vector tersebut menggunakan fungsi kernel. Pemetaan data
ke ruang vector berdimensi lebih tinggi akan membuat kedua kelas dapat
dipisahkan secara linear oleh bidang pemisah pada ruang vector yang baru [7].
Ada beberapa fungsi kernel yang sering digunakan dalam literature SVM antara
lain sebagai berikut [18]:
a. Kernel linear adalah kernel yang paling sederhana dari semua fungsi
kernel. Kernel ini biasa digunakan dalam kasus klasifikasi teks. Oleh
karena itu dalam penelitian ini digunakan kernel linear dalam penerapan
klasifikasi SVM.
b. Kernel Radial Basis Gaussian adalah kernel yang umum digunakan
untuk data yang sudah valid (available).
c. Kernel Polynomial adalah kernel yang sering digunakan untuk
klasifikasi gambar.
d. Kernel Tangent Hyperbolic adalah kernel yang sering digunakan untuk
neural networks.

Penggunaan fungsi kernel ini adalah hal penting karena akan


menentukan feature space (ruang vector baru) di mana fungsi klasifikasi akan
dicari. Fungsi kernel yang memberikan hasil paling baik sangat bergantung pada
kondisi data.

2.12 K-fold Cross Validation


Validasi adalah tidakan pembuktian bahwa suatu proses atau metode
memberikan hasil yang konsisten dan mencapai hasil sesuai dengan spesifikasi
tertentu dan terdokumentasi dengan baik. K-fold cross validation merupakan
teknik yang digunakan untuk menilai akurasi berdasarkan partisi secara acak
sampel dari data yang diberikan.
Dalam k-fold cross validation, data awal dipartisi secara acak menjadi
sejumlah k subset (fold), yaitu D1, D2, , Dk, yang masing-masingnya berukuran
sama. Proses training dan testing dilakukan sebanyak k kali. Dalam iterasi ke-i,
data subset Di digunakan sebagai dataset testing, sedangkan data lainnya
digunakan dalam proses training untuk mendapatkan suatu model klasifikasi yang
nantinya akan digunakan dalam proses testing. [7]

Tabel 2-3 Pembagian Data Training dan Testing dalam K-fold Cross Validation
Iterasi ke- Data training Data Testing
1 D2, D3, , Dk D1
2 D1, D3, , Dk D2

k D1, D2, , Dk-1 Dk

Untuk mendapat nilai akurasi dari hasil eksperimen yang dilakukan, dapat
diambil nilai rataan dari seluruh eksperimen tersebut, yaitu dengan menjumlah
seluruh nilai akurasi yang didapat dalam setiap iterasi dibagi dengan jumlah
iterasi atau fold yang digunakan.
Pada umumnya, 10-fold cross validation merupakan validasi yang dianjurkan
untuk memperkirakan akurasi dikarenakan nilai bias dan variansi yang dihasilkan
relatif rendah.

2.13 Evaluasi Performansi


Evaluasi performansi dilakukan untuk menguji hasil dari klasifikasi
dengan mengukur nilai performansi dari sistem yang telah dibuat. Parameter
pengujian yang digunakan untuk evaluasi yaitu akurasi. Untuk penghitungan
evaluasi ini digunakan coincidence matrix (dikenal juga dengan matriks
klasifikasi atau tabel kontigensi) seperti pada tabel 2-4.

Tabel 2-4 Coincidence Matrix [19]


True Class
(Human Says)
Positive Negative
Positive

True Positive Count False Positive Count


Predicted Class
(Machine Says)

(TP) (FP)
Negative

False Negative True Negative


Count (FN) Count (TN)

TP (True Positive) adalah kelas yang diprediksi positif dan faktanya positif.
TN (True Negative) adalah kelas yang diprediksi negatif dan faktanya
negatif.
FP (False Positive) adalah kelas yang diprediksi positif tapi faktanya
negatif.
FN (False Negative) adalah kelas yang diprediksi negatif tapi faktanya
positif.

Akurasi merupakan perbandingan dari jumlah ketepatan hasil prediksi


dari kelas positif dan negatif dengan jumlah keseluruhan kelas yang diprediksi.
Rumus akurasi ditunjukan pada persamaan 2.14 berikut ini:

(2.14)

Anda mungkin juga menyukai