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
Clustering. 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 Clustering 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 termasuk dalam cluster emosi yang mana. Maka data baru dapat dikategorikan
termasuk 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 dasarroot 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 Clustering. 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 Clustering Setelah data dinormalisasi, data kemudian masuk pada tahap clustering.
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