Desain Perancangan Struktur Data Skenario Sistem 3.5.1 Gambaran Umum Sistem

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