Implementasi HASIL DAN ANALISIS HASIL

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