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.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.
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.
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.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.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
(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)
[ ] (2.7)
(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)
( )
[ ] (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.
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.
(TP) (FP)
Negative
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.
(2.14)