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