4.1. Implementasi
4.1.1. User Interface
BAB IV
IMPLEMENTASI DAN ANALISA HASIL
Bab ini menjelaskan tentang metodologi yang dijelaskan pada bab sebelumnya, maka implementasinya sebagai berikut:
4.1. Implementasi
Implementasi mencakup proses information retrieval, pengelompokkan data dengan menggunakan K-Means clustering hingga pengujian akurasi menggunakan Confusion Matrix.
4.1.1. User Interface
Dalam pembuatan user interface sistem menggunakan sarana yang diberikan oleh Matlab version 8.0.0.783 (R2012b). Melihat dari desain user interface pada bab sebelumnya, maka bab ini mengimplementasikan user interface untuk melakukan text operation hingga mengetahui akurasi dari pengelompokan data dengan K-Means Clustering, maka sistem dapat langsung menampilkan hasil keseluruhan proses. Gambar 4.1 dan 4.2 merupakan tampilan keseluruhan sistem yang telah dibentuk.
50 Gambar 4.1. Implementasi user interface sebelum proses dilakukan
Gambar 4.2. Implementasi user interface setelah proses dilakukan
Berdasarkan gambar diatas, langkah pertama pengguna menginputkan banyaknya data yang diinginkan, maksimal banyaknya data adalah 400, kemudian menekan button Preprocessing, untuk melihat kata-kata unik yang digunakan dalam proses, maka seluruh kata unik akan muncul beserta dengan jumlah dan nilai terkecil serta terbesar. Ketika telah ada peringatan bahwa preprocessing telah berhasil, maka langkah selanjutnya user menekan
51 button Proses, maka muncul keseluruhan proses, dari pengelompokkan centroid , hasil cluster yang tebentuk, confusion matrix, hingga akurasi. Setelah proses clustering telah berhasil selanjutnya masuk dalam proses input data baru, untuk mengetahui data lirik lagu yang baru masuk dalam salah satu jenis tema. Berikut merupakan penjelasan yang lengkap dari user interface yang dibuat:
1. Proses
a. Button Preprocessing
Pengguna menginputkan jumlah data yang ingin diproses, maksimal jumlah data adalah 400, selanjutnya pengguna menekan button Preprocessing untuk melakukan proses Information Retrievel, dari langkah text operation (tokenizing, stopword, stemming, dan pembobotan kata), dapat dilihat pada Gambar 4.3.
Gambar 4.3. Jumlah data dan button Preprocessing
b. Button Proses
Ketika telah menekan tombol preprocessing dan hasil dari preprocessing telah muncul, maka langkah selanjutnya pengguna menginputkan nilai batas bawah serta batas atas, batas bawah digunakan untuk membatasi kata minimum yang
52 ada pada data, jika frekuensi kata tidak mencukupi batas bawah yang kita inputkan, maka kata tersebut tidak dapat masuk kedalam proses, sebaliknya dengan batas atas. Lihat Gambar 4.4.
Gambar 4.4. Batas bawah dan batas atas c. Button Proses Clustering
Setelah pengguna menginputkan batas bawah serta batas atas, langkah selanjutnya pengguna menekan button Proses
Clustering untuk memproses hasil clustering dan mengetahui hasil akurasi. Lihat Gambar 4.5.
Gambar 4.5. Button Proses Clustering d. Button Input File
Selanjutnya setelah muncul akurasi beserta tabel confusion matrix dan tabel centroid maka pengguna menekan button Input File, berfungsi untuk memasukkan data baru yang ingin diproses, hingga data baru yang diinputkan masuk kedalam salah satu cluster yang ada. Lihat Gambar 4.6.
53 Gambar 4.6. Input File
2. Hasil Proses
a. Hasil Preprocessing
Selanjutnya hasil proses preprocessing yang terdiri dari proses (tokenizing, stopword, stemming) telah muncul dan dapat diketahui bahwa jumlah seluruh kata yang telah mengalami preprocessing, serta nilai minimum dan maksimum yang terdapat dalam jumlah seluruh data, dapat dilihat pada Tabel 4.1.
Tabel 4.1. Tabel kata unik hasil preprocessing
b. Hasil Centroid
Ketika pengguna telah menekan button Proses maka akan muncul hasil centroid, dimana terdapat empat centroid sepanjang banyaknya data yang ada. Lihat Tabel 4.2.
54 Tabel 4.2. Tabel Hasil Centroid
c. Hasil Cluster
Hasil Cluster juga akan muncul, ketika pengguna menekan button Proses, hasil cluster berupa titik-titik sebanyak data yang ada, dan telah mengelompok menjadi empat cluster, warna yang ada pada cluster menjadi ciri bahwa titik-titik dengan warna yang sama itulah anggota kelompoknya. Lihat Gambar 4.7.
Gambar 4.7. Hasil Cluster
d. Hasil Akurasi
Pada hasil akurasi sangat berpengaruh dengan batas atas dan batas bawah yang diinputkan pengguna. Ketika batas bawah=0 dan batas atas=121 memiliki akurasi 93,25%. Lihat Gambar 4.8.
55 Gambar 4.8. Hasil Akurasi
e. Hasil Confusion Matrix
Ketika data yang diproses sebanyak 400, maka dapat dihitung akurasi menggunakan confusion matrix. Lihat Tabel 4.3.
Tabel 4.3. Tabel Confusion Matrix
f. Hasil Klasifikasi Data Baru
Ketika proses clustering telah selesai, selanjutnya input data baru , input data baru mengalami text operation yang nantinya digunakan untuk proses klasifikasi, data baru dicek memiliki kata apa saja, lalu di bandingkan dengan kata yang ada di centroid, apabila ada maka menggunakan index yang ada pada bobot centroid. Lihat Gambar 4.9.
56 g. Tampil Teks Lagu
Untuk mengetahui isi dari teks lagu yang belum mengalami proses apapun, maka setelah pengguna menekan button input file, lalu memilih file berekstensi .txt, maka dengan otomatis isi dari teks yang diinputkan tampil seperti Gambar 4.10.
Gambar 4.10. Tampil Teks Lagu
h. Message Informasi
Message Box merupakan feedback dari suatu aksi yang dilakukan pengguna, aksi yang dilakukan adalah menekan button proses dan button preprocessing. Message box membantu pengguna dalam mengetahui suatu proses yang dilakukan sistem. Lihat Gambar 4.11.
57 4.1.2. Data
Data yang digunakan adalah data berekstensi .txt diambil dari lagu yang bersumber dari Radio Masdha yang terdiri dari empat tema yaitu,
percintaan, perjuangan, persahabatan dan religi, lalu dicari lirik lagu dan diambil bagian refrain. Data yang diolah sebanyak 400 data. Kumpulan data dan contoh data lirik lagu dapat dilihat Gambar 4.12 dan 4.13.
Gambar 4.12. Kumpulan data
58 4.1.2.1. Text Operation
Text Operation merupakan tahap awal yang dilalui sebelum masuk kedalam proses K-Means clustering. Pada text operation ini pengelompokkan data lirik lagu diubah dari data mentah menjadi data yang sudah memiliki bobot dan siap diproses pada tahap selanjutnya. Proses ini merupakan proses information retrieval. Tahapannya adalah sebagai berikut:
4.1.2.1.1. Tokenizing
Tokenizing bertujuan untuk memisahkan lirik lagu berupa kalimat menjadi per-kata. Dibawah ini merupakan implementasi dari proses tokenizing dengan menggunakan bahasa pemrograman matlab. Langkah pertama adalah data lirik lagu dibaca, lalu dipisahkan menjadi per kata, selanjutnya data lirik lagu diubah menjadi huruf kecil lower case, kemudian karakter yang terdiri dari tanda baca dan angka dihapus. Implementasi program dapat dilihat pada Gambar 4.14.
Gambar 4.14. Implementasi Program Tokenizing
4.1.2.1.2. Stopword
Stopword merupakan lanjutan dari proses tokenizing, langkahnya adalah menghilangkan kata yang bukan merupakan kata unik (tidak memiliki arti seperti halnya kata hubung), stopword memiliki kamus tersendiri, maka sistem akan mengambil data kamus dari stopwordID.txt lalu dicek terhadap
59 data lirik lagu, apabila ada kata yang terkandung dalam stopwordID.txt maka kata pada data lirik lagu akan dihapus.
Gambar 4.15. Implementasi Program Stopword
Pada Gambar 4.15 merupakan implementasi program stopword, tahapannya adalah mengambil kamus kata stopword yang ada dalam atribut kataTiadaArti, lalu program mengecek apabila data yang ada pada dokumen termasuk dalam kamus kata stopword, maka kata tersebut di hilangkan.
4.1.2.1.3. Stemming
Setelah proses stopword selesai, maka langkah selanjutnya masuk dalam proses stemming, dalam proses ini dimana setiap imbuhan baik itu di awal, tengah, maupun akhir akan dihilangkan sehingga dihasilkan kata dasar. Dibawah ini merupakan implementasi program stemming.
60 Pada Gambar 4.16 tahapan proses stemming yaitu mengecek kata dasar yang ada di kamus lalu mencocokan dengan dataKataPrefixSufix, jika ada maka kata disimpan dan menjadi kata unik yang nantinya akan diproses pada tahapan K-Means clustering.
4.1.2.1.4. Sinonim
Data pada dokumen lagu merupakan data umum yang sering digunakan, oleh karena itu terdapat banyak kata tetapi hanya memiliki satu makna, sebagai contoh kata teman, sahabat dan kawan sebenarnya hanya memiliki satu makna, maka dapat digabung menjadi satu kata. Dibawah ini merupakan contoh kamus Sinonim serta implementasi program Sinonim.
Gambar 4.17. Kamus Sinonim
Gambar 4.18. Implementasi Program Sinonim
Pada Gambar 4.17 merupakan kamus kata berdasarkan Kamus Besar Bahasa Indonesia. Pada Gambar 4.18 merupakan implementasi program sinonim, dimana kamus sinonim disimpan dalam atribut gabungfeature didalam kamus sinonim terdapat beberapa kata yang memiliki makna sama
61 dipisahkan dengan tanda koma (,) maka ketika membandingkan data dengan sinonim, apabila kata pada dokumen terdapat dalam kamus sinonim, maka yang nanti akan muncul sebagai kata unik adalah kata terdepan yang ada di kamus sinonim.
4.1.2.1.5. Pembobotan Kata
Langkah selanjutnya masuk pada proses pembobotan. Proses ini diawali dengan menghitung frekuensi kata dari tiap kata yang pada tiap lirik, kemudian dilanjutkan dengan mengalikannya dengan idf. Berdasarkan perhitungan tf dan idf, diterapkanlah rumus pembobotan/weight (tf.idf). Berikut adalah hasil pembobotan dapat dilihat pada Tabel 4.4.
Tabel 4.4. Tabel Pembobotan Kata
ID word DF IDF Wij 33 teman 2 1.423245874 2.8464917 34 sejati 2 1.423245874 2.8464917 35 hadapi 1 1.72427587 1.7242759 36 dunia 1 1.72427587 1.7242759 37 genggam 1 1.72427587 1.7242759 38 tangan 1 1.72427587 1.7242759 Total Wij 12.590087 4.1.2.1.6. Normalisasi Z-Score
Setelah mendapat bobot kata tiap lirik, selanjutnya di normalisasi menggunakan z-score untuk menemukan kedekatan antara bobot kata yang satu dan yang lainnya. Berikut adalah bobot hasil normalisasi dapat dilihat pada Tabel 4.5.
62 Tabel 4.5. Normalisasi Z-Score
4.1.2.2. K-Means Clustering
Setelah data lirik telah diproses hingga menemukan bobot tiap kata, maka masuk kedalam proses K-Means clustering, langkah awal adalah penentuan cluster, cluster yang ditentukan sebanyak empat seperti yang telah dijabarkan pada bab sebelumnya, selanjutnya penentuan centroid awal menggunakan rumus varian, kemudian mencari varian terbesar, maka sort lirik berdasarkan varian terbesar, selanjutnya di normalisasi menggunakan Zscore, lalu kelompokkan data lirik menjadi empat bagian, ketika telah terbagi cari rata-rata kelompok data lirik, maka ditemukan hasil rata-rata, selanjutnya bandingkan rata-rata tiap cluster dengan data lirik, cari kedekatannya menggunakan Euclidean distance. Berikut Tabel 4.6.
63 4.1.2.3. Output Centroid
Output yang diperoleh adalah hasil dari centroid. Centroid yang ada sebanyak empat centroid, karena memiliki empat cluster, selanjutnya masing-masing bobot kata memiliki empat centroid. Lihat Tabel 4.7.
Tabel 4.7. Hasil centroid
4.1.2.4. Akurasi
Menghitung akurasi sistem menggunakan confusion matrix, data prediksi di bandingkan dengan data actual lalu dibagi dengan seluruh data yang ada, apabila data actual dengan data prediksi sama, maka berpengaruh pada tingkat akurasi. Lihat gambar 4.19.
Gambar 4.19. Hasil akurasi