71
BAB IV HASIL DAN ANALISIS HASIL
Bab ini berisi mengenai implementasi, hasil dan analisis hasil dari metodologi yang dibahas pada bab sebelumnya.
4.1 Implementasi
4.1.1 Data
Data yang digunakan ialah data berekstensi .txt diambil dari
tweet
yang bersumber dari netlytic.com, yang terdiri dari lima emosi yaitu cinta, senang, sedih,
takut, dan marah. Data yang diolah sebanyak 500 data. Berikut kumpulan data dan contoh data
tweet
:
Gambar 4. 1 Kumpulan Data
Gambar 4. 2 Contoh Data
4.1.2
Preprocessing Processing
merupakan tahap awal dalam proses
agglomerative hierarchical clustering
. Pada tahap ini pengelompokkan
tweet
akan diubah dari data mentah menjadi data yang sudah memiliki bobot dan siap diproses pada tahap selanjutnya.
Tahap
preprocessing
adalah sebagai berikut : 1.
Tokenizing Tokenizing
bertujuan untuk memecah kalimat menjadi per kata dengan memanfaatkan karakter spasi sebagai pemisah setiap kata. Berikut merupakan
implementasi dari proses
tokenizing
dengan menggunakan bahasa pemograman matlab. Langkah pertama adalah membaca data
tweet
, lalu dipisah menjadi per kata, selanjutnya data
tweet
diubah menjadi huruf kecil
lowercase
, kemudian karakter yang terdiri dari tanda baca dan angka dihapus. Gambar menunjukkan potongan
source code
proses
tokenizing
:
Gambar 4. 3
Source code Tokenizing
2.
Stopword
Proses
stopword
bertujuan untuk menghilangkan kata – kata umum yang
sering muncul. Gambar beriku menunjukkan sebagian
stopword
yang disimpan dalam file stopwordID.txt. Sistem akan mengambil data dari file stopwordID.txt
lalu dicek terhadap data
tweet
, apabila ada kata yang terkandung dalam file tersebut maka kata pada data
tweet
akan dihapus.
Gambar 4. 4
Source code Stopword
Pada gambar 4.4 merupakan implementasi
stopword
, dimana kamus kata pada
stopword
yang ada dalam atribut kataTiada Arti, lalu program mengecek apakah data yang ada pada dokumen termasuk dalam kata
stopword
, jika ada maka kata tersebut dihilangkan.
3.
Stemming
Proses
stemming
ialah mengembalikan kata – kata berimbuhan ke bentuk
dasarnya. Proses dilakukan dengan menghapus awalan prefiks dan akhiran surfiks. Dalam proses ini, program dibantu dengan kamus kata dasar. Berikut
merupakan implementasi program
stemming
:
Gambar 4. 5
Source code Stemming
Pada gambar 4.5 tahapan proses
stemming
yaitu mengecek kata dasar yang ada di kamus lalu mencocokkan dengan dataKataPrefixSurfix, jika ada maka kata
disimpan dan menjadi kata unik yang nantinya akan di proses pada tahap selanjutnya.
4. Penanganan Sinonim
Kata yang terkandung di dalam data
tweet
mengandung kata umum yang sering digunakan, oleh karena itu banyak kata yang memiliki satu makna, maka
dapat digabung. Berikut implementasi penanganan sinonim :
Gambar 4. 6 Kamus Kata Sinonim
Gambar 4. 7
Source code
Penanganan Sinonim
Pada gambar 4.7 merupakan implementasi tahap penanganan sinonim, dimana data kamus sinonim disimpan dalam atribut gabungfeature, didalam kamus
sinonim terdapat kata yang memiliki makna sama dipisah dengan tanda koma, maka ketika membandingkan data dengan sinonim, apabila kata pada dokumen
terdapat dalam kamus sinonim, maka akan dikenali sebagai kata unik adalah kata terdepan yang ada di kamus sinonim.
5. Pembobotan
Tahap selanjutnya ialah tahap pembobotan menggunakan
tf-idf
, dimana pada tahap ini akan menghitung bobot
tweet
yaitu pertama menghitung frekuensi kata dari tiap kata pada tiap
tweet
kemudian mengalikannya dengan
idf
. Berikut implementasi pembobotan
tf-idf
:
Gambar 4. 8
Source code
Pembobotan
6. Normalisasi
Setelah menghitung bobot kata tiap
tweet
, selanjutnya data di normalisasi. Normalisasi dilakukan agar tidak ada nilai yang mendominasi. Normalisasi yang
digunakan yaitu normalisasi
Z-Score
dan normalisasi
min
–
max
. Normalisasi ini dilakukan terpisah untuk mengetahui normalisasi yang lebih cocok pada penelitian
ini. a.
Normalisasi
Min
–
Max
Berikut implementasi normalisasi
min- max
:
Gambar 4. 9
Source code
Normalisasi
Min
–
Max
b. Normalisasi
Z-Score
Berikut implementasi normalisasi
Z-Score
:
Gambar 4. 10
Source code
Normalisasi
Z-Score
4.1.3 Pengujian Sistem
1. Perhitungan Jarak
Setelah data dinormalisasi, selanjutnya dilakukan perhitungan jarak antar setiap data
tweet
. Perhitungan jarak yang digunakan ialah perhitungan jarak menggunakan
euclidean distance
dan perhitungan jarak menggunakan
cosine similarity
. Perhitungan jarak ini dilakukan terpisah agar mengetahui perhitungan jarak yang cocok untuk penelitian ini.
a. Euclidean distance
Berikut implementasi perhitungan jarak menggunakan
euclidean distance
Gambar 4. 11
Source code
Hitung Jarak
Euclidean b.
Cosine similarity
Berikut implementasi perhitungan jarak menggunakan
cosine similarity
Gambar 4. 12
Source code
Hitung Jarak
Cosine
2.
Agglomerative Hierarchical Clustering
Setelah mengukur jarak setiap
tweet
, selanjutnya data akan dikelompokkan menggunakan Agglomerative hierarchical
clustering
. Agglomerative hierarchical
clustering
dibagi menjadi tiga metode yaitu
single linkage
,
complete linkage,
dan
average linkage
. Metode pengelompokkan AHC ini dilakukan terpisah agar mengetahui metode yang cocok untuk penelitian ini. Berikut implementasi AHC :
Gambar 4. 13
Source code
AHC
3.
Output
Hasil setiap metode AHC akan ditampilkan dalam tabel yang berisi hasil prediksi dan dendrogram.
Gambar 4. 14 Gambar
Output
Hasil
4. Akurasi
Pada penelitian ini, perhitungan akurasi yang digunakan ialah
Confusion Matrix
. Hasil prediksi akan dibandingkan dengan label aktual. Banyaknya kecocokan antara prediksi dan label aktual akan mempengaruhi tingkat akurasi
sistem. Berikut implementasi proses perhitungan
Confusion Matrix
:
Gambar 4. 15
Source code Confusion Matrix
Gambar 4. 16 Hasil Implementasi
Confusion Matrix
4.1.4 Pengujian Data Baru Pengujian data baru digunakan pada sebuah kalimat
tweet
Data baru tersebut akan melalui tahap ekstraksi ciri, kemudian program akan menentukan
tweet
termasuk pada
cluster
cinta, marah, senang, sedih, atau takut. Penentuan dilakukan dengan mengukur kedekatan data baru pada
centroid
tiap
cluster
.
Gambar 4.17 menunjukkan contoh
tweet
yang digunakan sebagai data baru. Menurut prediksi, data baru termasuk dalam
cluster
cinta. Hasil prediksi ditunjukkan pada Gambar 4.18.
Gambar 4. 17 Contoh Tweet Uji
Gambar 4. 18 Hasil Tweet Uji
4.2 Hasil Analisis Hasil
Setelah melakukan implementasi maka selanjutnya menganalisa hasil terhadap pengelompokkan
tweet
. Analisa dilakukan terhadap seluruh data
tweet
, sehingga dengan demikian dapat diketahui kelompok emosi pada seluruh data
tweet
. Tahapan yang telah dilakukan mulai dari
preprocessing
yang terdiri dari
tokenizing
untuk memisahkan kalimat
tweet
menjadi tiap - tiap kata dan menghilangkan tanda baca,
stopword
untuk menghapus kata yang tidak memiliki arti,
stemming
untuk menghilangkan kata berimbuhan menjadi kata dasar lalu
mencocokkan kembali dengan kamus
stopword.
Tahap selanjutnya ialah proses pembobotan kata yaitu untuk menghitung frekuensi kemunculan kata pada tiap data
tweet
, sehingga kata yang lebih sering muncul pada suatu
tweet
dianggap lebih penting. Frekuensi kemunculan kata unik perlu dibatasi. Kemudian melakukan
proses normalisasi data, pada penelitian ini menggunakan normalisasi
min - max
dan normalisasi
z-score
. Hal ini dilakukan agar dapat mengetahui normalisasi yang paling optimal. Setelah melakukan normalisasi data, kemudian masuk pada proses
Agglomerative Hierarchical Cluster
ing AHC dalam tiga metode
single linkage, complete linkage, average linkage
. Masing – masing metode menggunakan
euclidean distance
dan
cosine similarity
untuk perhitungan jarak. Sejalan dengan proses AHC, setiap pengelompokkan diuji dengan
Confusion Matrix
, dimana data prediksi dibandingkan dengan data
actual
kemudian dikalikan dengan 100.
Berikut langkah – langkah percobaan yang dilakukan :
1. Menentukan jumlah
cluster
=5. Sesuai dengan emosi yang telah ditentukan. 2.
Data
tweet
=500 3.
Menginputkan batas atas dan batas bawah yang pada akhirnya sangat menentukan tingkat akurasi
4. Memilih normalisasi
min
–
max
atau
z-score
5. Memilih perhitungan jarak
euclidean distance
atau
cosine similarity
6. Memilih metode AHC
single linkage, complete linkage, average linkage
Sebelum masuk pada tahap normalisasi, frekuensi kemunculan kata perlu dibatasi. Frekuensi kemunculan kata dengan batas atas = 85 dan batas bawah = 2
menghasilkan pengelompokkan yang baik sehingga batas atas = 85 dan batas bawah = 2 digunakan untuk percobaan ini. Hasil dari percobaan dapat dilihat pada tabel
dan gambar berikut :
1. Percobaan tanpa normalisasi