3.4 Desain
Interface
Gambar 3. 6 Desain
Interface
3.5 Perancangan Struktur Data
Struktur data digunakan untuk mengelola penyimpanan data agar data dapat diakses sewaktu
– waktu jika sedang diperlukan. Pada penelitian ini konsep struktur data yang digunakan ialah :
a. ArrayList
ArrayList digunakan untuk menampung data tweet. Sebagai contoh dapat dilihat pada ilustrasi berikut :
[ �
� �
� �
] Obyek data 1, Data 2, Data 3, Data 4, Data 5 merupakan representasi dari data
tweet yang akan dijelaskan pada tabel berikut :
Obyek Atribut
Data 1 Cinta tak kan menuntut kesempurnaan. Cinta kan menerima,
memahami, rela berkorban. Karena seharusnya cinta membuat mu bahagia
Data 2 Dalam hidup ini berbagi kepada sesama memberi jiwa rasa
damai. Berbagi dengan tulus tanpa pamrih memberikan perasaan sukacita..
Data 3 Aku patah hati, mas Sakit sesakit-sakitnya.
Data 4 Resah dan gelisah tanpa arah.
Data 5 Baru ditinggal berapa jam rasanya khawatir.
3.6 Skenario Sistem 3.5.1 Gambaran Umum Sistem
Gambar 3. 7
Block Diagram
Sistem ini digunakan untuk mengetahui tingkat akurasi penggolongan
tweet
berdasarkan emosi dengan menggunakan metode
Agglomerative Hierarchical Cluster
ing. Langkahnya adalah melalui data
tweet
yang berekstensi .txt. Teks akan mengalami tahap
preprocessing
yang terdiri dari
Tokenizing, stopword,
dan
stemming
. Tahap kedua yaitu tahap pembobotan kata menggunakan
TF
-IDF untuk menentukan nilai frekuensi dari dokumen, serta melakukan penggabungan kata
sinonim, jika ditemukan kata yang berbeda namun memiliki makna yang sama maka gabungkan menjadi satu kata. Setelah mendapatkan bobot, maka hasil
pembobotan di normalisasi. Pada tahap normalisasi ini peneliti menggunakan normalisasi
Min-Max
dan
Z-Score
, dilakukan dua macam normalisasi agar mendapatkan metode yang lebih optimal pada penelitian ini. Tahap selanjutnya
yaitu menentukan kedekatan data emosi cinta, senang, sedih, marah,dan takut dengan metode
Agglomerative Hierarchical Cluster
ing menggunakan
Euclidean Distance
. Tahap terakhir adalah proses perhitungan akurasi menggunakan
Confusion matriks
. Setelah menemukan hasil akurasi serta pengelompokkan selanjutnya sistem
melakukan proses input data baru, yang berfungsi untuk mengetahui data baru
term
asuk dalam
cluster
emosi yang mana. Maka data baru dapat dikategorikan
term
asuk salah satu dari emosi yang ada. 3.5.1.1 Tahap
Preprocessing
Tahap
preprocessing
meliputi tahap
Tokenizing
,
stopword removal
, dan
stemming
. Sistem akan menghapus
link url
,
username
, dan tanda
retweet
. Sistem akan mengubah kata tidak baku atau kata yang disingkat menjadi kata yang baku.
Sistem juga akan mengambil kata yang diawali tanda pagar
hashtag
. Penjelasan tahap
preprocessing
adalah sebagai berikut:
a. Tokenizing
Pada tahap ini sistem akan memotong dokumen menjadi potongan- potongan kecil yang disebut token dan terkadang disertai langkah untuk membuang
karakter tertentu seperti tanda baca Manning,Raghavan,dan Schutze, 2009. Langkah-Langkah
Tokenizing
: 1.
Baca tiap baris pada
file
text sebagai satu
tweet
2. Ambil tiap
token
pada kalimat
tweet
dengan menggunakan spasi sebagai pemisah antara satu
token
dengan
token
lain. 3.
Simpan tiap kalimat
tweet
yang terdiri dari
token
penyusun.
Berikut contoh
Tokenizing
terhadap kalimat
tweet
cinta, senang, marah, sedih, dan takut :
- Tokenizing
tweet
cinta
-
Gambar 3. 8
Tokenizing tweet
cinta
Gambar 3.8 merupakan contoh
tweet
yang mengalami proses
Tokenizing
,
tweet
yang digunakan pada gambar diatas adalah contoh
tweet
yang mengandung emosi cinta
-
Tokenizing tweet
senang
Gambar 3. 9
Tokenizing tweet
senang
Gambar 3.9 merupakan contoh
tweet
yang mengalami proses
Tokenizing
,
tweet
yang digunakan pada gambar diatas adalah contoh
tweet
yang mengandung emosi senang.
-
Tokenizing tweet
marah
Gambar 3. 10
Tokenizing tweet
marah
Gambar 3.10 merupakan contoh
tweet
yang mengalami proses
Tokenizing
,
tweet
yang digunakan pada gambar diatas adalah contoh
tweet
yang mengandung emosi marah.
-
Tokenizing tweet
takut
Gambar 3. 11
Tokenizing tweet
takut
Gambar 3.11 merupakan contoh
tweet
yang mengalami proses
tokenizing
,
tweet
yang digunakan pada gambar diatas adalah contoh
tweet
yang mengandung emosi takut.
-
Tokenizing tweet
sedih
Gambar 3. 12
Tokenizing tweet
sedih
Gambar 3.12 merupakan contoh
tweet
yang mengalami proses
tokenizing
,
tweet
yang digunakan pada gambar diatas adalah contoh
tweet
yang mengandung emosi sedih.
b.
Stopword
Setelah mengalami proses
tokenizing
, kemudian data
tweet
diolah melalui proses
stopword
. Dalam proses
stopword
, kata-kata yang penting akan disaring sehingga kata yang tidak relevan dapat dibuang.
Langkah – langkah stopword :
1. Baca data hasil tokenizing 2. Cek setiap kata hasil tokenizing dengan sebuah daftar stopword
3.Jika kata pada hasil tokenizing sama dengan kata pada daftar stopword, maka kata tersebut dihapus.
4.Jika tidak maka kata akan disimpan. Maka dibawah ini merupakan contoh
tweet
yang mengandung emosi cinta, senang, marah, sedih , dan takut yang mengalami proses
stopword
.
Gambar 3. 13
Stopword tweet
cinta
Gambar 3.13 merupakan contoh kalimat
tweet
yang mengalami proses
stopword
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi cinta.
Gambar 3. 14
Stopword tweet
senang Gambar 3.14 merupakan contoh kalimat
tweet
yang mengalami proses
stopword
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi senang.
Gambar 3. 15
Stopword tweet
marah
Gambar 3.15 merupakan contoh kalimat
tweet
yang mengalami proses
stopword
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi marah.
Gambar 3. 16
Stopword tweet
sedih
Gambar 3.16 merupakan contoh kalimat
tweet
yang mengalami proses
stopword
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi sedih.
Gambar 3. 17
Stopword tweet
takut
Gambar 3.17 merupakan contoh kalimat
tweet
yang mengalami proses
stopword
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi takut.
c.
Stemming
Setelah mengalami proses
stopword
, proses selanjutnya ialah proses
stemming
dimana mencari kata dasar
root word
dari data
tweet
.
Stemming
dilakukan dengan menghilangkan awalan
prefiks
dan akhiran
surfiks
. Berikut langkah
– langkah
stemming
: 1.
Baca tiap katatoken dan cocokan dengan kata pada kamus kata dasar. 2.
Jika token cocok dengan kata pada daftar kamus kata dasar, maka token adalah kata dasar
root word
. 3.
Jika token tidak cocok dengan kata pada daftar kamus kata dasar, hapus akhiran dan awalan pada token.
4. Cocokkan hasil langkah ke 3 dengan kata pada daftar kamus kata dasar, jika
tidak cocok, anggap token sebelum dikenai langkah 3 sebagai kata dasar. Dibawah ini merupakan contoh data
tweet
yang mengalami proses
stemming
:
Gambar 3. 18
Stemming tweet
cinta
Gambar 3.18 merupakan contoh kalimat
tweet
yang mengalami proses
stemming
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi cinta.
Gambar 3. 19
Stemming tweet
senang Gambar 3.19 merupakan contoh kalimat
tweet
yang mengalami proses
stemming
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi senang.
Gambar 3. 20
Stemming tweet
marah Gambar 3.20 merupakan contoh kalimat
tweet
yang mengalami proses
stemming
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi marah.
Gambar 3. 21
Stemming tweet
sedih Gambar 3.21 merupakan contoh kalimat
tweet
yang mengalami proses
stemming
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi sedih.
Gambar 3. 22
Stemming tweet
takut Gambar 3.22 merupakan contoh kalimat
tweet
yang mengalami proses
stemming
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi takut.
3.5.1.2 Tahap Pembobotan dan Penggabungan Sinonim Kata Setelah data melewati proses
preprocessing
, langkah selanjutnya ialah tahap pembobotan. Tahap pembobotan ini bertujuan untuk memberi nilai frekuensi
suatu kata sebagai bobot yang nantinya dapat di proses pada
Agglomerative Hierarchical
Cluster
ing. Langkah pertama ialah menghitung nilai
term frequency
tiap kata. Langkah kedua yaitu menghitung nilai
document frequency
tiap kata. Langkah ketiga yaitu menghitung
inverse document
frequency
. Langkah terakhir yaitu menghitung bobot atau weight dari hasil perkalian
term frequency
dengan
inverse document
frequency
. Berikut contoh proses pembobotan kata : a.
Menghitung
term frequency
Gambar 3. 23
TF tweet
cinta
Gambar 3.23 merupakan contoh kalimat
tweet
yang mengalami proses penghitungan
term frequency
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi cinta.
Gambar 3. 24
TF tweet
senang Gambar 3.24 merupakan contoh kalimat
tweet
yang mengalami proses penghitungan
term frequency
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi senang.
Gambar 3. 25
TF tweet
marah Gambar 3.25 merupakan contoh kalimat
tweet
yang mengalami proses penghitungan
term frequency
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi marah.
Gambar 3. 26
TF tweet
sedih
Gambar 3.26 merupakan contoh kalimat
tweet
yang mengalami proses penghitungan
term frequency
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi sedih.
Gambar 3. 27
TF tweet
takut Gambar 3.27 merupakan contoh kalimat
tweet
yang mengalami proses penghitungan
term frequency
. Kalimat
tweet
yang digunakan pada diatas adalah
tweet
yang mengandung emosi takut.
b. Menghitung
document frequency
Tabel 3. 1 Tabel menghitung
df
No Kata
df
1. Cinta
2 2.
Sayang 3
3. Ikhlas
1 4.
Enak 1
5. Muak
1 6.
Sifat 1
7. Selamat
1 8.
Sore 1
9. Rumah
1 10.
Suasana 1
11. Duka
1 12.
Pergi 1
13. Mamah
1
14. Sedih
1 15.
Ajak 1
16. Nonton
1 17.
Horror 1
18. Indonesia
1 19.
takut 1
Pada tabel 3.1 merupakan contoh perhitungan
document frequency
,
document frequency
merupakan banyaknya bobot yang terkandung dalam seluruh data
tweet
.
c. Menghitung
inverse document
frequency
Tabel 3. 2
idf
No Kata
df Idf
1. Cinta
2 0.397940009
2. Sayang
3 0.22184875
3. Ikhlas
1 0.698970004
4. Enak
1 0.698970004
5. Muak
1 0.698970004
6. Sifat
1 0.698970004
7. Selamat
1 0.698970004
8. Sore
1 0.698970004
9. Rumah
1 0.698970004
10. Suasana
1 0.698970004
11. Duka
1 0.698970004
12. Pergi
1 0.698970004
13. Mamah
1 0.698970004
14. Sedih
1 0.698970004
15. Ajak
1 0.698970004
16. Nonton
1 0.698970004
17. Horror
1 0.698970004
18. Indonesia
1 0.698970004
19. Takut
1 0.698970004
Pada tabel 3.2 merupakan contoh perhitungan
inverse document frequency
.
d. Menghitung bobot atau weight
Setelah menghitung
idf
, langkah selanjutnya ialah menghitung bobot W
ij
yang terdapat pada masing – masing emosi. Dimana bobot ialah hasil perkalian
antara
term frequency
dengan
inverse document
frequency
. Dibawah ini merupakan contoh data
tweet
yang melakukan proses perhitungan bobot.
Hitung bobot W
ij
tweet
cinta
Tabel 3. 3 Hitung Wij
Tweet
Cinta
Kata
tf idf
W
ij
Cinta 2
0.397940009 0.795880018
Sayang 3
0.22184875 0.66554625
Total 1.461426268
Pada tabel 3.3 menunjukkan conntoh perhitungan bobot yang terkandung dalam
tweet
.
Tweet
yang digunakan pada gambar diatas adalah
tweet
yang mengandung emosi cinta.
Hitung bobot W
ij
tweet
senang
Tabel 3. 4 Hitung Wij
Tweet
Senang
Kata
TF
Idf W
ij
Ikhlas 1
0.698970004 0.698970004
Enak 1
0.698970004 0.698970004
Total 1.397940008
Pada tabel 3.4 menunjukkan conntoh perhitungan bobot yang terkandung dalam
tweet
.
Tweet
yang digunakan pada gambar diatas adalah
tweet
yang mengandung emosi senang.
Hitung bobot W
ij
tweet
marah
Tabel 3. 5 Hitung Wij
Tweet
Marah
Kata
TF
Idf W
ij
Muak 1
0.698970004 0.698970004
Sifat 1
0.698970004 0.698970004
Total 1.397940008
Pada tabel 3.5 menunjukkan conntoh perhitungan bobot yang terkandung dalam
tweet
.
Tweet
yang digunakan pada gambar diatas adalah
tweet
yang mengandung emosi marah.
Hitung bobot W
ij
tweet
sedih
Tabel 3. 6 Hitung Wij
Tweet
Sedih
Kata
TF
Idf W
ij
Selamat 1
0.698970004 0.698970004
Sore 1
0.698970004 0.698970004
Rumah 1
0.698970004 0.698970004
Suasana 1
0.698970004 0.698970004
Duka 1
0.698970004 0.698970004
Pergi 1
0.698970004 0.698970004
Mamah 1
0.698970004 0.698970004
Sedih 1
0.698970004 0.698970004
Total 5.591760032
Pada tabel 3.6 menunjukkan conntoh perhitungan bobot yang terkandung dalam
tweet
.
Tweet
yang digunakan pada gambar diatas adalah
tweet
yang mengandung emosi sedih.
Hitung bobot W
ij
tweet
takut
Tabel 3. 7 Hitung Wij
tweet
takut
Kata
TF
Idf W
ij
Ajak 1
0.698970004 0.698970004
Nonton 1
0.698970004 0.698970004
Horror 1
0.698970004 0.698970004
Indonesia 1
0.698970004 0.698970004
Takut 1
0.698970004 0.698970004
Total 3.49485002
Pada tabel 3.7 menunjukkan conntoh perhitungan bobot yang terkandung dalam
tweet
.
Tweet
yang digunakan pada gambar diatas adalah
tweet
yang mengandung emosi takut.
e. Penggabungan Kata Sinonim
Menurut Kamus Besar Bahasa Indonesia KBBI sinonim adlah bentuk bahasa yang maknanya mirip, maka pada proses penggabungan kata dapat
dilakukan ketika terdapat kata berbeda namun memiliki makna yang sama, dapat digabungkan menjadi satu kata, tanpa mengubah nilai frekuensi.
Berikut contoh kata yang mengalami proses penggabungan kata : Tabel 3. 8 Tabel contoh data belum mengalami proses penggabungan
Kata
TF
Riang 1
Gembira 1
Senang 1
Senank 1
Umpat 1
Kesel 1
Kesal 1
Tabel 3. 9 Tabel contoh data setelah penggabungan
Kata
TF
Gembira 3
Kesal 3
3.5.1.3 Tahap Normalisasi Setelah data diproses melalui tahap
preprocessing
, data selanjutnya di normalisasi. Normalisasi pada penelitian ini menggunakan normalisasi
min-max
dan normalisasi
Z-Score
.
a Normalisasi
Min-max
Tabel 3. 10 Tabel Contoh data pembobotan Kata
Cinta senang
Kesal Takut
Sedih
Tweet
1 1.397940
Tweet
2 1.397940
0.698970
Tweet
3 0 2.096910
Tweet
4 0 1.397940
Tweet
5 0 1.397940
Tweet
6 0 0.698970
Tweet
7
0 0.698970
Tweet
8
0 1.397940
Tweet
9 1.39794
Tweet
10 1.39794
Pada tabel 3.10 terdapat bobot yang dominan dibandingkan bobot-bobot lain. Pada contoh diatas, bobot yang dianggap dominan adalah bobot yang paling
banyak muncul. Bobot dominan diitunjukkan dengan warna biru. Langkah
– Langkah Normalisasi
Min-max
: 1.
Cari masing – masing nilai terkecil min dan nilai terbesar max pada
setiap kata. Tabel 3. 11 Tabel
Min-max
cinta Senang
kesal takut
Sedih Min
Max 1.397940
2.096910 1.397940 1.397940
1.39794
Tabel 3.11 menunjukkan nilai terkecil dan nilai terbesar pada data. Nilai terkecil dan terbesar digunakan pada normalisasi
min-max
. 2. Hitung nilai bobot baru :
=
� − �
�
�
��
−�
�
3.1 Tabel 3. 12 Tabel data hasil normalisasi
min - max
Kata Cinta
Senang kesal
Takut Sedih
Tweet
1 1
Tweet
2 1
0,3333
Tweet
3 1
Tweet
4 0,6667
Tweet
5 1
Tweet
6 0,5
Tweet
7 0,5
Tweet
8 1
Tweet
9 1
Tweet
10 1
Tabel 3.12 menunjukkan hasil hitung bobot baru menggunakan normalisasi
min-max
. Bobot baru ditunjukkan dengan warna biru.
b Normalisasi
Z-Score
Normalisasi
Z-Score
digunakan supaya kata hasil pembobotan data dapat dibandingkan. Dibawah ini merupakan langkah
– langkah untuk mendapatkan hasil normalisasi
Z-Score
. 1.
Hasil pembobotan setelah proses
preprocessing
Tabel 3.10 Tabel contoh data pembobotan Kata
Cinta senang
kesal Takut
Sedih
Tweet
1 1.397940
Tweet
2 1.397940
0.698970
Tweet
3 0 2.096910
Tweet
4 0 1.397940
Tweet
5 0 1.397940
Tweet
6 0 0.698970
Tweet
7
0 0.698970
Tweet
8
0 1.397940
Tweet
9 1.39794
Tweet
10 1.39794
Pada tabel 3.10 terdapat bobot yang dominan dibandingkan bobot-bobot lain. Pada contoh diatas, bobot yang dianggap dominan adalah bobot yang paling
banyak muncul. Bobot dominan diitunjukkan dengan warna biru..
2. Mencari nilai rata-rata dari masing
– masing data
tweet
. Tabel 3. 13 Tabel Rata - Rata
Rata – rata
Tweet
1 0.279588
Tweet
2 0.419382
Tweet
3 0.419382
Tweet
4 0.279588
Tweet
5 0.279588
Tweet
6 0.139794
Tweet
7 0.139794
Tweet
8 0.279588
Tweet
9 0.279588
Tweet
10 0.279588
Rata-rata total
0,279588
Tabel 3.13 menunjukkan hasil perhitungan rata-rata setiap kalimat
tweet
. Kemudian dicari total rata-rata tweet untuk dapat diproses pada tahap normalisasi
3. Mencari nilai standar deviasi dari masing
– masing
tweet
. Tabel 3. 14 Tabel Standar Deviasi
Standar Deviasi Standar
deviasi 0,564853063
Pada tabel 3.14 dicari standar deviasi dari semua data untuk dapat diproses pada tahap normalisasi.
4. Hasil Normalisasi
Perhitungan rumus yang telah dipaparkan pada bab sebelumnya pada persamaan 2.6.
Tabel 3. 15 Hasil Normalisasi
Zscore
Kata cinta
Senang kesal
Takut Sedih
Tweet
1 1,39794
-0,49497 -0,49497 -0,49497 -0,49497
Tweet
2 1,39794
0,69897 -0,49497 -0,49497 -0,49497
Tweet
3 -0,49497
2,09691 -0,49497 -0,49497 -0,49497
Tweet
4 -0,49497
1,39794 -0,49497 -0,49497 -0,49497
Tweet
5 -0,49497
-0,49497 1,39794
-0,49497 -0,49497
Tweet
6 -0,49497
-0,49497 0,69897
-0,49497 -0,49497
Tweet
7 -0,49497
-0,49497 -0,49497 0,69897 -0,49497
Tweet
8 -0,49497
-0,49497 -0,49497 1,39794 -0,49497
Tweet
9 -0,49497
-0,49497 -0,49497 -0,49497 1,39794
Tweet
10 -0,49497
-0,49497 -0,49497 -0,49497 1,39794
Tabel 3.15 Menunjukkan hasil normalisasi menggunakan
Z-Score
. Bobot baru ditunjukkan dengan warna biru.
3.5.1.4 Agglomerative Hierarchical
Cluster
ing Setelah data dinormalisasi, data kemudian masuk pada tahap
cluster
ing. Pengelompokkan pada penelitian ini menggunakan
Agglomerative Hierarchical Clustering
AHC. Matriks jarak dihitung dengan menggunakan
Cosine Similarity
. Masing-masing data akan dikelompokkan berdasarkan karakteristik kedekatannya.
Proses pengelompokkan ini akan menggunakan tiga metode yaitu,
single linkage
,
complete linkage
, dan
average linkage
. Berikut langkah – langkah pengelompokkan
menggunakan AHC.
1. Hitung matriks jarak menggunakan
Cosine Similarity
a. Hasil Normalisasi min
– max Tabel 3.12 Tabel data hasil normalisasi
min
–
max
Kata Cinta
Senang kesal
Takut Sedih
Tweet
1 1
Tweet
2 1
0,3333
Tweet
3 1
Tweet
4 0,6667
Tweet
5 1
Tweet
6 0,5
Tweet
7 0,5
Tweet
8 1
Tweet
9 1
Tweet
10 1
Tabel 3.12 menunjukkan hasil hitung bobot baru menggunakan normalisasi
min-max
. Bobot baru ditunjukkan dengan warna biru. Hasil matriks jarak dari normalisasi
min-max
: Tabel 3. 16 Tabel hasil matriks jarak dari normalisasi
min - max
Tweet
1
Tweet
2
Tweet
3
Tweet
4
Tweet
5
Tweet
6
Tweet
7
Tweet
8
Tweet
9
Tweet
10
Tweet
1
0 0,333 1,414 1,202 1,414 1,118 1,118 1,414 1,414 1,414
tweet
2
0 1,202 1,054 1,453 1,167 1,167 1,453 1,453 1,453
tweet
3
0 0,333 1,414 1,118 1,118 1,414 1,414 1,414
tweet
4
0 1,202 0,833 0,833 1,202 1,202 1,202
tweet
5
0 0,500 1,118 1,414 1,414 1,414
tweet
6
0 0,707 1,118 1,118 1,118
tweet
7
0 0,500 1,118 1,118
tweet
8
0 1,414 1,414
tweet
9
tweet
10
b. Hasil Normalisasi
Z-Score
Tabel 3.15 Hasil Normalisasi ZSscore Kata
cinta Senang
kesal Takut
Sedih
Tweet
1 1,39794
-0,49497 -0,49497
-0,49497 -0,49497
Tweet
2 1,39794
0,69897 -0,49497
-0,49497 -0,49497
Tweet
3 -0,49497
2,09691 -0,49497
-0,49497 -0,49497
Tweet
4 -0,49497
1,39794 -0,49497
-0,49497 -0,49497
Tweet
5 -0,49497
-0,49497 1,39794
-0,49497 -0,49497
Tweet
6 -0,49497
-0,49497 0,69897
-0,49497 -0,49497
Tweet
7 -0,49497
-0,49497 -0,49497
0,69897 -0,49497
Tweet
8 -0,49497
-0,49497 -0,49497
1,39794 -0,49497
Tweet
9 -0,49497
-0,49497 -0,49497
-0,49497 1,39794
Tweet
10 -0,49497
-0,49497 -0,49497
-0,49497 1,39794
Tabel 3.15 Menunjukkan hasil normalisasi menggunakan
Z-Score
. Bobot baru ditunjukkan dengan warna biru.
Hasil matriks jarak dari normalisasi
Z-Score
: Tabel 3. 17 Hasil matriks jarak normalisasi
Z-Score
Tweet
1
Tweet
2
Tweet
3
Tweet
4
Tweet
5
Tweet
6
Tweet
7
Tweet
8
Tweet
9
Tweet
10
Tweet
1 1,000 0,767
- 0,185
- 0,221
- 0,221
- 0,146
- 0,146
- 0,221
- 0,221
- 0,221
tweet
2 1,000 0,365 0,334
- 0,406
- 0,414
- 0,414
- 0,406
- 0,406
- 0,406
tweet
3 1,000 0,985
- 0,250
- 0,231
- 0,231
- 0,250
- 0,250
- 0,250
tweet
4 1,000
- 0,221
- 0,146
- 0,146
- 0,221
- 0,221
- 0,221
tweet
5 1,000 0,943
- 0,146
- 0,221
- 0,221
- 0,221
tweet
6 1,000 0,029
- 0,146
- 0,146
- 0,146
tweet
7 1,000 0,943
- 0,146
- 0,146
tweet
8 1,000
- 0,221
- 0,221
tweet
9 1,000 1,000
tweet
10 1,000
2. Setelah didapatkan matriks jarak, kemudian melakukan perhitungan AHC
seperti yang dapat dilihat dalam bab ke dua pada tulisan ini. Dengan menggunakan matlab, data sample pada tabel 3.16 menghasilkan dendrogram
seperti berikut :
a. Hasil data normalisasi min
– max
Gambar 3. 28 Data min – max
Single linkage
Gambar 3. 29 Data min – max
Complete linkage
Gambar 3. 30 Data min – max
average linkage
Berikut
source code
matlab yang digunakan untuk menghasilkan gambar dendrogram diatas :
Gambar 3. 31
Source code
AHC min –max
b. Hasil data normalisasi
Z-Score
Gambar 3. 32 Data
Z-Score Single linkage
Gambar 3. 33 Data
Z-Score Complete linkage
Gambar 3. 34 Data
Z-Score Average linkage
Berikut
source code
matlab yang digunakan untuk menghasilkan gambar dendrogram diatas :
Gambar 3. 35
Source code
AHC
Z-Score
3. Hasil
Cluster
a. Hasil
cluster
menggunakan normalisasi
Z-Score
Tabel 3. 18 Hasil max
cluster
5
single linkage
-
Z-Score Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Tweet
7
Tweet
5
Tweet
1
Tweet
3
Tweet
9
Tweet
8
Tweet 6 Tweet 2
Tweet 4 Tweet 10
Tabel 3. 19 Hasil max
cluster
5
complete linkage
-
Z-Score Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Tweet
1
Tweet
5
Tweet
9
Tweet
1
Tweet
3
Tweet 2 Tweet
6
Tweet 10 Tweet 2
Tweet 4
Tabel 3. 20 Hasil max
cluster
5
average linkage
-
Z-Score Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Tweet
7
Tweet
10
Tweet
6
Tweet
3
Tweet
1
Tweet 8 Tweet 9
Tweet 5 Tweet 4
Tweet 2
b. Hasil
cluster
menggunakan normalisasi
Min - Max
Tabel 3. 21 Hasil max
cluster
5
single linkage
-
Min - Max Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Tweet
7
Tweet
5
Tweet
3
Tweet
1
Tweet
9
Tweet 8 Tweet
6
Tweet 4 Tweet 2
Tweet 10
Tabel 3. 22 Hasil max
cluster
5
complete linkage
-
Min - Max Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Tweet
3
Tweet
1
Tweet
7
Tweet
5
Tweet
9
Tweet 4 Tweet 2
Tweet 8 Tweet 6
Tweet 10
Tabel 3. 23 Hasil max
cluster
5
average linkage
-
Min - Max Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Tweet
8
Tweet
5
Tweet
4
Tweet
2
Tweet
9
Tweet 7 Tweet
6
Tweet 3 Tweet 1
Tweet 10
3.5.1.5 Tahap Hitung Akurasi Setelah dendrogram ditampilkan, maka pengujian akurasi dilakukan agar
dapat mengetahui keakuratan hasil pengelompokkan. Pada pengujian akurasi menggunakan
confusion matriks
.
Confusion matriks
digunakan untuk mengetahui seberapa besar keberhasilan sistem.
Confusion matriks
dipilih sebagai alat ukur evaluasi karena data yang digunakan dalam penelitian ini sudah memiliki label.
Confusion matriks
juga dapat memudahkan dalam menganalisa hasil dan
memudahkan dalam melihat suatu permodelan antara 2
class
yaitu
class
prediksi dan
class actual
. Berikut langkah
– langkah uji akurasi : 1.
Baca label aktual
tweet
berdasarkan
hashtag
yang diberikan penulis
tweet
. 2.
Baca label
tweet
hasil prediksi 3.
Representasikan label aktual dan prediksi ke dalam
confusion matriks
4. Hitung akurasi dengan cara membagi jumlah
tweet
yang benar dikenali dengan jumlah seluruh data kemudian dikalikan dengan 100.
Berikut perbandingan
Cluster
hasil prediksi dan label aktual :
Tabel 3. 24 Tabel perbandingan
cluster
hasil prediksi dan label aktual Prediksi
Aktual
Tweet
1 3
4
Tweet
2 3
4
Tweet
3 4
3
Tweet
4 4
3
Tweet
5 2
2
Tweet
6 2
2
Tweet
7 1
1
Tweet
8 1
1
Tweet
9 5
5
Tweet
10 5
5
Berikut adalah contoh tabel
confusion matriks
dari perhitungan sebelumnya data yang dinormalisasi menggunakan
Z-Score
dengan menggunakan
single linkage
: Tabel 3. 25 Tabel
Confusion
matriks
Cluster
1
Cluster
2
Cluster
3
Cluster
4
Cluster
5
Cluster
1 2
Cluster
2 2
Cluster
3 2
Cluster
4 2
Cluster
5 2
Akurasi = =
3.6 Desain Pengujian