TUGAS AKHIR – SM141501
PENGKLASTERAN LAPORAN ASPIRASI MASYARAKAT
MENGGUNAKAN
METODE
SINGLE
LINKAGE
CLUSTERING
DAN
K-MEANS
NENI IMRO’ATUS SHOLIKHAH NRP 1213 100 060
Dosen Pembimbing
1. Alvida Mustika Rukmi, S.Si, M.Si 2. Drs. Soetrisno, MI.Komp.
DEPARTEMEN MATEMATIKA
Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember
FINAL PROJECT – SM141501
CLUSTERING OF PUBLIC ASPIRATIONS REPORT USING SINGLE LINKAGE CLUSTERING AND K-MEANS METHODS
NENI IMRO’ATUS SHOLIKHAH NRP 1213 100 060
Supervisors
1. Alvida Mustika Rukmi, S.Si, M.Si 2. Drs. Soetrisno, MI.Komp.
DEPARTMENT OF MATHEMATICS
Faculty of Mathematics and Natural Science Sepuluh Nopember Institute of Technology Surabaya 2017
v
LEMBAR PENGESAHAN
PENGKLASTERAN LAPORAN ASPIRASI MASYARAKAT MENGGUNAKAN METODE SINGLE
LINKAGE CLUSTERING DAN K-MEANS CLUSTERING OF PUBLIC ASPIRATIONS REPORT
USING SINGLE LINKAGE CLUSTERING AND K-MEANS
Diajukan untuk memenuhi salah satu syarat Untuk memperoleh gelar Sarjana Sains
Pada bidang studi Ilmu Komputer Program Studi S-1 Departemen Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Teknologi Sepuluh Nopember Surabaya Oleh :
NENI IMRO’ATUS SHOLIKHAH NRP. 1213 100 060
Menyetujui,
Dosen Pembimbing I,
Alvida Mustika Rukmi, S.Si, M.Si NIP. 19720715 199802 2 001 Mengetahui,
Kepala Departemen Matematika FMIPA ITS
Dr. Imam Mukhlash, S.Si, MT NIP. 19700831 199403 1 003
Surabaya, Juli 2017 Dosen Pembimbing II,
Drs. Soetrisno, MI.Komp. NIP. 19571103 198603 1 003
vi
vii
PENGKLASTERAN LAPORAN ASPIRASI MASYARAKAT MENGGUNAKAN METODE SINGLE
LINKAGE CLUSTERING DAN K-MEANS
Abstrak
Musyawarah Perencanaan Pembangunan (Musrenbang) merupakan forum untuk menyusun rencana pembangunan nasional dan rencana pembangunan daerah. Pada Musrenbang memberikan banyak aspirasi mengenai APBD. Data aspirasi hasil Musrenbang terkumpul sangat besar dan apabila diolah secara manual membutuhkan waktu yang cukup lama, oleh karena itu dibutuhkan metode dalam pengelolaan data aspirasi masyarakat tersebut. Data Mining merupakan metode yang dapat mempermudah proses pengolahan data. Pengklasteran adalah suatu metode pengelompokkan berdasarkan ukuran kedekatan. Metode K-Means merupakan metode pengklasteran yang memiliki kemampuan dalam mengelompokkan data dalam jumlah cukup besar, namun metode K-means mempunyai kelemahan yang diakibatkan oleh penentuan pusat awal cluster oleh karena itu K-Means akan dikolaborasikan dengan metode Single Linkage Clustering. Pada penelitian ini data aspirasi masyarakat akan di cluster dengan metode K-Means dan Single Linkage Clustering. Hasil dari penelitian yang telah dilakukan menunjukkan penentuan banyak cluster 10 memiliki pengelompokkan yang lebih baik karena nilai Silhouette Coefficient yang lebih baik dibandingkan dengan penentuan banyaknya cluster 5, 15, 22, dan 50 yaitu sebesar 0.9214197771459077.
Kata Kunci : APBD, Text Mining, Pengklasteran, Single Linkage Clustering dan K-means
Nama Mahasiswa : Neni Imro’atus Sholikhah
NRP : 1213 100 060
Departemen : Matematika
Dosen Pembimbing :
1. Alvida Mustika Rukmi, S.Si, M.Si 2. Drs. Soetrisno, MI.Kompix
CLUSTERING OF PUBLIC ASPIRATIONS REPORT USING SINGLE LINKAGE CLUSTERING AND
K-MEANS METHODS
Abstract
Musyawarah Perencanaan Pembangunan (Musrenbang) is a forum to develop national development plan and regional development plan. In Musrenbang gives a lot of aspiration to APBD. The data of Musrenbang aspiration result collected is very big and needs processed manually takes a long time, therefore needed method of data management aspiration of that society. Data mining is a viable method. Clustering is a grouping method based on the size of proximity. K-Means method is a clustering method that has capability in grouping large amount of data, K-means method has weakness caused by center point of cluster therefore K-Means will be collaborated with Single Linkage Clustering method. In this research, community aspiration data will be clustered by K - Means and Single Linkage Clustering method. The results of the research have shown that many clusters 10 have better classification because the value of Silhouette Coefficient is better than the number of clusters 5, 15, 22, and 50 that is 0.9214197771459077
Keywords : APBD, Text Mining, Clustering, Single Linkage
Clustering and K-means
Name of Student : Neni Imro’atus Sholikhah
NRP : 1213 100 060
Department : Mathematics
Supervisors : 1. Alvida Mustika Rukmi, S.Si, M.Si 2. Drs. Soetrisno, MI.Komp
xi
KATA PENGANTAR
Segala puji syukur penulis panjatkan ke hadirat Allah SWT, karena dengan ridlo-Nya penulis dapat menyelesaikan Tugas Akhir yang berjudul
“PENGKLASTERAN LAPORAN ASPIRASI MASYARAKAT MENGGUNAKAN METODE SINGLE
LINKAGE CLUSTERING DAN K-MEANS”
yang merupakan salah satu persyaratan akademis dalam menyelesaikan Program Sarjana Departemen Matematika, Matematika dan Ilmu Pengethuan Alam, Institut Teknologi Sepuluh Nopember Surabaya.
Tugas Akhir ini dapat diselesaikan dengan baik berkat kerja sama, bantuan, dan dukungan dari banyak pihak. Sehubungan dengan hal tersebut, penulis ingin mengucapkan terima kasih kepada :
1.
Bapak Dr. Imam Mukhlash, S.Si, MT selaku Kepala Departemen Matematika ITS.2.
Bapak Prof. Dr. Mohammad Isa Irawan, MT selaku Dosen Wali yang telah memberikan arahan akademik selama penulis menempuh pendidikan di Jurusan Matematika ITS.3.
Ibu Alvida Mustika Rukmi, S.Si dan Bapak Drs. Soetrisno, MI.Komp selaku Dosen Pembimbing yang telah memberikan bimbingan dan motivasi kepada penulis dalam mengerjakan Tugas Akhir ini sehingga dapat terselesaikan dengan baik.4.
Bapak Dr. Didik Khusnul Arif, S.Si, M.Si selaku Kepala Program Studi S1 Departemen Matematika ITS.5.
Bapak Drs. Iis Herisman, M.Si selaku Sekretaris Program Studi S1 Departemen Matematika ITS.6.
Seluruh jajaran dosen dan staf Departemen Matematika ITS.xii
7.
Keluarga tercinta yang senantiasa memberikan dukungan dan doa yang tak terhingga.8.
Teman-teman angkatan 2013 yang saling mendukung dan memotivasi.9.
Semua pihak yang tak bisa penulis sebutkan satu-persatu, terima kasih telah membantu sampai terselesaikannya Tugas Akhir ini.Penulis menyadari bahwa Tugas Akhir ini masih jauh dari kesempurnaan. Oleh karena itu, penulis mengharapkan kritik dan saran dari pembaca. Akhir kata, semoga Tugas Akhir ini dapat bermanfaat bagi semua pihak yang berkepentingan.
Surabaya, Juli 2017
xiii DAFTAR ISI HALAMAN JUDUL...i LEMBAR PENGESAHAN ... v Abstrak ………...vii Abstract ... ix KATA PENGANTAR ... xi
DAFTAR ISI ... xiii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvii
BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 4 1.3 Batasan Masalah ... 4 1.4 Tujuan ... 4 1.5 Manfaat ... 5
1.6 Sistematika Penulisan Tugas Akhir ... 5
BAB II TINJAUAN PUSTAKA ... 7
2.1 Penelitian Terdahulu ... 7
2.2 Rapid Automatic Keyphrase Extraction (RAKE) ... 8
2.3 Latent Sematic Analysis (LSA) ... 10
2.3.1 Pembobotan TF-IDF……….11
2.3.2 Singular Value Decomposition (SVD)……...13
2.4 Metode Single Linkage Clustering ... 13
2.5 Metode K-Means ... 14
2.6 Pengklasteran dengan Single Linkage Clustering dan K-Means ... 15
2.7 Metode Koefisien Silhouette ... 18
BAB III METODE PENELITIAN ... 21
BAB IV PERANCANGAN DAN IMPLEMENTASI SISTEM ... 25
4.1 Lingkungan Hardware dan Software ... 25
xiv
4.2.1 Data Masukan……….25
4.2.2 Data Keluaran……….26
4.3 Perancangan Proses ... 26
4.3.1 Ekstraksi Konsep Dokumen………..29
4.3.2 Clustering……….38
4.4 Implementasi Program ... 44
4.4.1 Implementasi Proses Ekstraksi Konsep……44
4.4.2 Implementasi Proses Clustering…………...50
4.5 Implementasi Interface... 55
BAB V HASIL DAN PEMBAHASAN ... 61
5.1 Data Uji Coba ... 61
5.2 Ekstraksi Konsep Dokumen ... 61
5.2.1 Ekstraksi Kata Kunci dengan RAKE………..62
5.2.2 TF-IDF………..63
5.2.3 Singular Value Decomposition (SVD)…….64
5.3 Clustering Konsep dengan metode Single Linkage Clustering dan K-means ... 64
5.4 Clustering Konsep dengan K-Means ... 67
5.5 Perbandingan Hasil Gabungan Metode Single Linkage Custering dan K-Means dengan K-Means..68
5.6 Analisa Hasil Cluster Konsep ... 69
5.7 Analisa Aspirasi Masyarakat ... 73
BAB VI PENUTUP ... 75
6.1 Kesimpulan ... 75
6.2 Saran ... 75
DAFTAR PUSTAKA ... 77
xv
DAFTAR GAMBAR
Gambar 2.1 Corpus pada LSA ... 10
Gambar 2.2 Ilustrasi algoritma tf-idf ... 12
Gambar 2.3 Alur Metode Single Linkage Clustering dan K-Means ... 16
Gambar 3.1 Diagram Alur Pengerjaan Tugas Akhir ... 23
Gambar 4.1 Perancangan Proses ... 28
Gambar 4.2 Ekstraksi Kata Kunci dengan RAKE ... 31
Gambar 4.3 Proses Pembentukan Vektor Konsep ... 36
Gambar 4.4 Implementasi Proses Ekstraksi Konsep... 44
Gambar 4.5 Implementasi Proses Pemisahan Usulan Kegiatan Berdasarkan Tanda Baca ... 45
Gambar 4.6 Implementasi Proses Pemisahan Data Usulan Kegiatan Berdasarkan Stopword ... 46
Gambar 4.7 Implementasi Tahap Penghitungan Nilai Degree, Frekuensi, dan Rasio ... 46
Gambar 4.8 Implementasi Proses Penghitungan Nilai Fitur Kandidat Kata Kunci ... 47
Gambar 4.9 Implementasi Proses Pembentukan Matriks Kemunculan Kata Kunci ... 48
Gambar 4.10 Implementasi Pembentukan Matriks Inverse Dokumen Frekuensi ... 49
Gambar 4.11 Implementasi Proses SVD... 49
Gambar 4.12 Implementasi Proses Euclidian Distance ... 50
Gambar 4.13 Implementasi Metode Single Clustering ... 51
Gambar 4.14 Implementasi Clustering Konsep ke Cluster Terdekat ... 53
Gambar 4.15 Implementasi Euclidean Distance ... 54
Gambar 4.16 Preprocessing ... 55
Gambar 4.17 Ekstraksi ... 56
Gambar 4.18 Proses Clustering Single Linkage Clustering . 57 Gambar 4.19 Proses Clustering dengan K-means ... 57
Gambar 4.20 Proses Generate Vektor Dokumen ... 58
xvi
Gambar 5.1 Pembagian Cluster dengan Single Linkage Clustering ... 65 Gambar 5.2 Centroid hasil Single Linkage Clustering ... 66 Gambar 5.3 Perbandingan Nilai Silhouette Coefficient ... 65
xvii
DAFTAR TABEL
Tabel 2.1 Matriks LSA ... 11
Tabel 4.1 Spesifikasi Hardware dan Software ... 25
Tabel 5.1 Ekstraksi Konsep Dokumen ... 61
Tabel 5.2 Data Sebelum Diolah ... 62
Tabel 5.3 Contoh Hasil Preprocessing ... 62
Tabel 5.4 Contoh Hasil Ekstraksi RAKE dengan Input 2 Kata Kunci ... 63
Tabel 5.5 Matris TF-IDF ... 63
Tabel 5.6 Hasil Perhitungan Koefisien Silhouette ... 67
Tabel 5.7 Hasil Cluster ke-4 ... 70
Tabel 5.8 Hasil Cluster ke-5 ... 71
Tabel 5.9 Hasil Cluster ke-6 ... 72
Tabel 5.10 Hasil Cluster ke-7 ... 73
Tabel 5.11 Hasil Cluster ke-8 ... 73
Tabel 5.12 Cluster dan Bahasannya ... 69
1
BAB I PENDAHULUANPada bab ini, dijelaskan mengenai latar belakang penelitian Tugas Akhir serta rumusan masalah dan batasan masalah. Selain itu, juga dijelaskan tujuan dan manfaat penelitian Tugas Akhir serta sistematika penulisan tugas akhir. 1.1 Latar Belakang
Anggaran Pendapatan dan Belanja Daerah (APBD) merupakan salah satu indikator keberhasilan pembangunan suatu daerah, sebab APBD menggambarkan prioritas dan arah kebijakan pemerintahan dalam satu tahun anggaran yang bertujuan untuk mensejahterakan masyarakat. Partisipasi masyarakat menjadi sangat penting, karena masyarakatlah yang memiliki informasi mengenai kondisi dan kebutuhannya. Oleh sebab itu, masyarakat dapat menyampaikan aspirasi serta tuntutannya untuk diprogramkan dan dianggarkan dalam APBD, sehingga mempermudah Pemda dan DPRD untuk memperjuangkan aspirasi serta kebutuhan masyarakat dalam merumuskan program-program yang mampu meningkatkan pelayanan dan kesejahteraan masyarakat [1].
Partisipasi masyarakat dalam proses perencanaan penganggaran daerah dalam konteks Indonesia telah diatur dalam berbagai peraturan perundang - undangan di antaranya Undang - Undang (UU) Nomor 32 dan 33 Tahun 2004 Tentang Pemerintahan Daerah dan Perimbangan antara Keuangan Pemerintah Pusat dan Pemerintah Daerah, Peraturan Menteri Dalam Negeri (Permendagri) No. 59/ 2007 Tentang Perubahan Permendagri No.13/2004 Tentang Pedoman Pengelolaan Keuangan Daerah, UU No.25/2004 Tentang Perencanaan Pembangunan Nasional dan Surat Edaran Bersama Bappenas dan Mendagri No. 1354/M. PPN/03/2004050/744/SJ tentang Pedoman Pelaksanaan Forum Musyawarah Perencanaan Pembangunan (Musrenbang) dan Perencanaan Partisipatif
Daerah [2]. Musyawarah Perencanaan Pembangunan (Musrenbang) menurut Pasal 1 ayat (21) berarti forum antarpelaku dalam rangka menyusun rencana pembangunan nasional dan rencana pembangunan daerah.
Pada Musrenbang memberikan banyak aspirasi mengenai APBD. Data aspirasi hasil Musrenbang terkumpul sangat besar dan apabila diolah secara manual membutuhkan waktu yang cukup lama. Jumlah data aspirasi masyarakat yang begitu besar dapat didefinisikan sebagai Big Data. Big Data merupakan data yang mempunyai jumlah dan variasi besar, sehingga melampaui kapasitas pengolahan database konvensional. Dalam mengolah Big Data, Data Mining merupakan metode yang dapat mempermudah proses pengolahan data untuk mengekstraksi pengetahuan dari informasi yang tidak bisa diamati hanya dengan melihat data karena terlalu rumit atau multidimensi. Kasus data aspirasi Musrenbang mengenai APBD merupakan data teks, jenis metode Data Mining yang digunakan adalah Text Mining. Text Mining memegang peran penting dalam analisis Big Data yang bersifat tidak terstruktur seperti data teks dan dalam jumlah yang sangat besar [3].
Text Mining merupakan salah satu bagian dari Data Mining yang dapat menganalisis dan memproses data teks yang bersifat semi terstruktur (semistructured) dan tidak terstruktur (unstructured). Hal ini sedikit berbeda dengan Data Mining yang secara umum digunakan untuk menganalisis data yang lebih bersifat ketegorikal, ordinal, maupun kontinu [4]. Text Mining pertama kali dikembangkan pada tahun 1980-an yang menjadi semakin efektif seiring dengan daya komputasi yang meningkat. Proses Text Mining akan menghasilkan topik yang kemudian akan diproses pada teknik pengklasteran untuk mengetahui topik dari aspirasi yang paling banyak diusulkan.
Pengklasteran adalah suatu proses untuk mengklasifakisikan data ke dalam kelompok yang sama yang memiliki tingkat similiritas tinggi [5]. K-means merupakan
salah satu metode pengklasteran. K-Means mempunyai kemampuan mengelompokkan data dalam jumlah cukup besar dengan komputasi yang relatife cepat dan efisien, namun K-means mempunyai kelemahan yang diakibatkan oleh penentuan pusat awal cluster. Hasil cluster yang terbentuk dari metode K-means sangatlah tergantung pada inisiasi nilai pusat awal cluster yang diberikan. Hal ini menyebabkan hasil clusternya berupa solusi yang sifatnya local optimal. Untuk itu, maka K-means dikolaborasikan dengan metode Single Linkage Clustering untuk penentuan pusat awal cluster.
Beberapa penelitian terdahulu tentang metode K-Means dan atau metode Single Linkage Clustering antara lain Analisa Perbandingan Metode Hierarchical Clustering, K-means dan Gabungan Keduanya dalam Cluster Data (Studi kasus : Problem Kerja Praktek Jurusan Teknik Industri ITS) menghasilkan kombinasi Single Linkage Clustering dan K-Means mempunyai pengelompokkan data yang terbaik dibandingkan dengan metode Hierarchical lainnya [6]. Evaluasi kinerja K-Means dan Hierarchical Clustering dalam rangka Akurasi dan Waktu yang berjalan [7] Penelitian perbandingan metode clustering menggunakan Single Linkage Clustering dan K-Means pada pengelompokkan dokumen [8]. Peningkatan kinerja metde K-Means dengan dikombinasikan dengan Hierarchical Clustering [9].
Berdasarkan latar belakang tersebut, pada Tugas Akhir ini akan dilakukan penelitian pengklasteran laporan aspirasi masyarakat menggunakan metode Single Linkage Clustering dan K-means sehingga m
emberikan informasi kepada
Pemerintah Daerah yang terkait mengenai aspirasi
masyarakat yang paling banyak diusulkan sebagai bahan
pertimbangan dalam penentuan kebijakan daerah agar
pengelolaan dana APBD tepat sasaran.
1.2 Rumusan Masalah
Berdasarkan latar belakang tersebut, dapat dirumuskan permasalahan dalam Tugas Akhir ini adalah sebagai berikut :
1. Bagaimana membuat pengklasteran data aspirasi masyarakat pada Musrenbang mengenai APBD berdasarkan usulan kegiatan dengan Single Linkage Clustering dan K-means.
2. Bagaimana mendeteksi data aspirasi masyarakat pada Musrenbang mengenai APBD yang paling banyak diusulkan
1.3 Batasan Masalah
Pada penelitian ini, penulis membuat batasan masalah sebagai berikut :
1. Data yang digunakan adalah database aspirasi masyarakat pada Musrenbang
2. Atribut data yang digunakan pada proses pengklasteran adalah id usulan, usulan kegiatan pada Musrenbang mengenai APBD
3. Metode Pengklasteran yang digunakan adalah Single Linkage Clustering dan K-means.
4. Aplikasi ini dibuat menggunakan bahasa pemrograman Java dan software basis data MySQL
5. Data usulan kegiatan yang salah penulisan tetap diproses 1.4 Tujuan
Berdasarkan permasalahan yang telah dirumuskan sebelumnya, tujuan penelitian Tugas Akhir ini adalah :
1. Membuat pengklasteran data aspirasi masyarakat pada Musrenbang mengenai APBD berdasarkan usulan kegiatan
2.
Mendeteksi data aspirasi masyarakat pada Musrenbang mengenai APBD yang paling banyak diusulkan1.5 Manfaat
Manfaat dari penelitian ini adalah Memberikan informasi mengenai kencenderungan aspirasi yang paling banyak diusulkan oleh masyarakat pada Musrenbang mengenai APBD
1.6 Sistematika Penulisan Tugas Akhir
Sistematika dari penulisan Tugas Akhir ini adalah sebagai berikut :
1. BAB I PENDAHULUAN
Bab ini menjelaskan tentang gambaran umum dari penulisan Tugas Akhir ini yang meliputi latar belakang masalah, perumusan masalah, batasan masalah, tujuan, manfaat penelitian, dan sistematika penulisan.
2. BAB II TINJAUAN PUSTAKA
Bab ini menjelaskan mengenai penelitian terdahulu, Rapid Automatic Keyphrase Extraction (RAKE), Latent Sematic Analysis (LSA), pembobotan TF-IDF, Singular Value Decomposition (SVD), K-Means, pengklasteran dengan Single Linkage Clustering dan K-Means, Koefisien Silhouette
3. BAB III METODOLOGI PENELITIAN
Pada bab ini dibahas tentang langkah-langkah dan metode yang digunakan untuk menyelesaikan Tugas Akhir ini.
4. BAB IV PERANCANGAN DAN IMPLEMENTASI SISTEM
Pada bab ini akan menguraikan bagaimana tahapan-tahapan dalam perancangan implementasi. Pembahasan perancangan implementasi dimulai dari perancangan pra-pemrosesan data.
5. BAB V HASIL DAN PEMBAHASAN
Bab ini menjelaskan mengenai implementasi Single Linkage Clustering dan K-Means untuk mengklaster data aspirasi masyarakat. Setelah itu, dilakukan analisis terhadap hasil implementasi. Analisis ini bertujuan untuk
mengetahui aspirasi masyarakat apa yang sering diusulkan
6. BAB VI PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari pembahasan masalah sebelunya serta saran yang diberikan untuk pengembangan selanjutnya.
7
BAB IITINJAUAN PUSTAKA
Pada bab ini dibahas mengenai dasar teori yang digunakan dalam penyusunan Tugas Akhir ini. Dasar teori yang dijelaskan yaitu penelitian terdahulu, Rapid Automatic Keyphrase Extraction (RAKE), Latent Sematic Analysis (LSA), pembobotan TF-IDF, Singular Value Decomposition (SVD), K-Means, pengklasteran dengan Single Linkage Clustering dan K-Means, Koefisien Silhouette
2.1 Penelitian Terdahulu
Pada penelitian sebelumnya, Tahta Alfina, Budi Santosa, dan Ali Ridho Barakbah [6] melakukan penelitian mengenai
analisa perbandingan metode Hierarchical Clustering, K-means dan gabungan keduanya dalam cluster. Data yang
digunakan merupakan data studi kasus problem kerja praktek Jurusan Teknik Industri ITS. Berdasarkan hasil percobaan diperoleh kombinasi metode Hierarchical Clustering dan K-means menghasilkan pengelompokan data yang lebih baik jika dibandingkan dengan K-Means dalam semua pengujian. Gabungan metode Single Linkage Clustering dan K-means memberikan hasil cluster yang lebih baik dengan parameter uji cluster variance dan metode Silhouette Coefisien.
Nidhi Singh dan.Divakar Sing [7] meneliti tentang evaluasi performasi algoritma Clustering partisi (K-Means) dan algoritma Hierarchical clustering (agglomerative). Pada penelitian ini menjelaskan bahwa algoritma K-Means memiliki efisiensi yang lebih tinggi dan skalabilitas. Hierarchical clustering membangun sebuah hirarki cluster penggabungan dua kelompok yang lebih kecil menjadi lebih besar atau membelah cluster yang lebih besar menjadi lebih kecil. Pada penelitian ini aplikasi yang digunakan menggunakan Weka untuk menghitung kinerja K-means dan algoritma Hierarchical clustering atas dasar akurasi dan waktu yang berjalan. Hasil
dari penelitian ini sebuah pengelompokan yang baik menghasilkan cluster berkualitas tinggi untuk memastikan bahwa kesamaan antar-cluster rendah dan intra-cluster kesamaan tinggi, dengan kata lain. algoritma k-means ini baik digunakan untuk mengolah dataset yang besar
Rendy Handoyo, R. Rumani, dan Surya Michrandi Nasution dari Universitas Telkom melakukan penelitian tentang perbandingan metode Single Iinkage dan metode K-Means [8]. Kedua metode clustering tersebut dicari performasi metode mana yang lebih baik. Data yang digunakan pada penelitian ini adalah data berita. Hasil penilitian ini didapatkan bahwa metode Single Linkage memiliki performansi yang lebih baik dibandingkan dengan metode K-means. Nilai Silhouette Coefficient Single Linkage selalu lebih unggul dibandingkan dengan K-Means. Pertambahan jumlah dokumen membuat nilai Silhouette Coefficient single linkage semakin kecil sedangkan K-means terkadang menghasilkan nilai yang negatif. Untuk nilai Purity , Single Linkage selalu bernilai 1 sedangkan K-Means tidak pernah bernilai 1.
Penelitian selanjutnya dilakukan oleh Kohei Arai and Ali Ridho Barakbah [9] menjelaskan tentang titik awal yang dihasilkan secara acak oleh K-means menghasilkan pengelompokan yang bersifat optimal lokal. Oleh karena itu dilakukan pendekatan baru untuk mengoptimalkan centroid awal untuk K-means dengan cara menggabungkan dengan algoritma Hirarkis untuk menentukan centroid awal untuk K-means. Hasil percobaan menunjukkan metode yang digunakan dapat memperbaiki hasil pengelompokan metode K-means.
2.2 Rapid Automatic Keyphrase Extraction (RAKE)
Metoda RAKE memperhatikan asosiasi kata dengan menghitung matriks kemunculan bersama satu dengan yang lain. Matriks tersebut digunakan untuk mengukur skor
kandidat kata kunci untuk kemudian dilakukan perangkingan[10].
Mula-mula, RAKE memotong isi dokumen dengan stopword dan tanda baca menjadi kandidat kata kunci. Kandidat kata kunci merupakan semua kata dan frase yang tersimpan setelah dilakukan proses pemotongan isi dokumen. Kemudian, dibuat matriks co-occurrence per kata untuk mendapatkan nilai derajat (deg(w)) dan frekuensi kata (freq(w)). Frekuensi kata dapat diambil dari skor diagonal kata pada matriks co-occurrence.
Derajat kata adalah jumlah kata tersebut pada dokumen ditambah jumlah frase yang mengandung kata tersebut. Derajat kata pada matriks co-occurrence diambil dari penjumlahan skor kata pada satu baris atau satu kolom.
RAKE menghitung skor rasio per kata sebagai fitur tunggal. Skor kandidat kata kunci dihitung dari penjumlahan skor rasio per kata yang berada di dalamnya [11]. Rasio dapat dihitung dengan menggunakan persamaan berikut
𝑟𝑎𝑠𝑖𝑜 =𝑓𝑟𝑒𝑞(𝑤)𝑑𝑒𝑔(𝑤) (2.1) dimana:
𝑑𝑒𝑔(𝑤) = derajat kata 𝑓𝑟𝑒𝑞(𝑤) = frekuensi kata.
Langkah selanjutnya yaitu menghitung nilai fitur dasar. Nilai fitur dasar merupakan nilai penjumlahan rasio kata yang ada pada kandidat kata kunci. Nilai tersebut kemudian diurutkan berdasarkan nilai tertinggi sampai terendah. Nilai fitur dasar dihitung dengan menggunakan persamaan berikut ini.
Nfd = ras
𝑖𝑜
(t) + 𝑟𝑎𝑠𝑖𝑜 (ft) (2.2) dimana:𝑁𝑓𝑑 = nilai fitur dasar
Rasio(t) = rasio kata kunci 𝑡
Langkah terakhir kandidat diurutkan dari skor tertinggi hingga terendah dan ambil sejumlah kandidat dengan skor tertinggi sebagai hasil kata kunci yang diekstraksi secara otomatis [11].
2.3 Latent Sematic Analysis (LSA)
LSA adalah suatu metode untuk menemukan hubungan, keterkaitan, dan kemiripan antar dokumen-dokumen, penggalan dari dokumen-dokumen, dan kata-kata yang muncul pada dokumen-dokumen dengan memanfaatkan komputasi statistik untuk menggali dan merepresentasikan konteks yang digunakan sebagai sebuah arti kata untuk sejumlah corpus yang besar. Corpus adalah kumpulan teks yang memiliki kesamaan subjek atau tema.
Metode LSA menerima masukan (input) berupa dokumen teks yang selanjutnya akan dibandingkan kata-kata unik yang digunakan atau yang ada pada dokumen kemudian direpresentasikan sebagai matriks, dimana indeks dokumen-dokumen yang dibandingkan merupakan kolom matriks, kata unik (term) merupakan baris matriks, dan nilai dari matriks tersebut adalah banyaknya atau frekuensi kemunculan sebuah kata (term) di setiap dokumen [12]. Contoh corpus pada LSA direpresentasikan pada Gambar 2.1 dan bentuk matriks hasil dari Gambar 2.1 dapat dilihat pada Tabel 2.1
Tabel 2. 1 Matriks LSA
2.3.1 Pembobotan TF-IDF
TF-IDF adalah perhitungan yang menggambarkan seberapa pentingnya kata (term) dalam sebuah dokumen dan corpus. Proses ini digunakan untuk menilai bobot relevansi term dari sebuah dokumen terhadap seluruh dokumen dalam corpus.
Pembobotan Term (Term Weighting) bertujuan untuk menentukan bobot setiap term. Perhitungan bobot term memerlukan dua hal yaitu Term Frequency (tf) dan Inverse Document Frequency (idf). Term Frequency (tf) merupakan frekuensi kemunculan suatu kata (term) dalam suatu dokumen. Nilai tf bervariasi ditiap dokumen bergantung pada kemunculan kata di suatu dokumen. Besar nilai tf sebanding Term\Document c1 c2 c3 c4 c5 m1 m2 m3 m4 human 1 0 0 1 0 0 0 0 0 interface 1 0 1 0 0 0 0 0 0 computer 1 1 0 0 0 0 0 0 0 user 0 1 1 0 1 0 0 0 0 system 0 1 1 2 0 0 0 0 0 response 0 1 0 0 1 0 0 0 0 time 0 1 0 0 1 0 0 0 0 EPS 0 0 1 1 0 0 0 0 0 Survey 0 1 0 0 0 0 0 0 1 Trees 0 0 0 0 0 1 1 1 0 Graph 0 0 0 0 0 0 1 1 1 Minor 0 0 0 0 0 0 0 1 1
dengan tingkat kemunculan term di dokumen. Semakin sering term muncul pada suatu dokumen, semakin besar pula nilai tf pada dokumen tersebut dan semakin jarang term muncul semakin kecil pula nilai tf. Selain Term Frequency diperlukan pula Inverse Document Frequency (idf) pada pembobotan term. Inverse Document Frequency (idf) merupakan frekuensi kemunculan term pada keseluruhan dokumen. Nilai idf berkaitan dengan distribusi term di berbagai dokumen. Ilustrasi algoritma tf-idf ditunjukkan pada Gambar 2.2 [13]:
Gambar 2. 2 Ilustrasi algoritma tf-idf dimana :
D1, …, D5 = dokumen
𝑡𝑓 = banyaknya term yang dicari pada setiap dokumen
𝑁 = total dokumen
𝑑𝑓 = banyaknya dokumen yang mengandung term yang dicari
𝑖𝑑𝑓 = Inverse Document Frequency dengan
𝑖𝑑𝑓 = log𝑁
𝑑𝑓 (2.3)
Persamaan dalam menghitung pembobotan adalah : 𝑊𝑖,𝑗= 𝑡𝑓𝑖,𝑗 × 𝑖𝑑𝑓𝑗= 𝑡𝑓𝑖,𝑗 × log (
𝑁
𝑑𝑓𝑗) (2.4) keterangan :
𝑡𝑓𝑖,𝑗 = jumlah kemunculan term j ke dalam dokumen i 𝑁 = jumlah dokumen secara keseluruhan
𝑑𝑓𝑗 = jumlah dokumen yang mengandung term j 𝑖𝑑𝑓𝑗 = Inverse document frequency mengandung term j 2.3.2 Singular Value Decomposition (SVD)
Singular Value Decomposition atau Dekomposisi Nilai Singular adalah suatu teknik yang digunakan secara luas untuk mendekomposisikan suatu matriks kedalam beberapa komponen matriks yang berkaitan erat dengan nilai singular dari matriksnya. Proses dekomposisi ini sering juga disebut dengan faktorisasi. SVD suatu matriks difaktorkan menjadi tiga buah matriks, di mana salah satu dari matriks tersebut entrinya merupakan nilai singular dari matriksnya [14].
SVD akan menguraikan sebuah matriks menjadi tiga buah matriks baru yaitu matriks vektor singular kiri, matriks nilai singular dan vektor singular kanan. SVD dari sebuah matriks A yang berdimensi mxn adalah sebagai berikut :
𝐴𝑚×𝑑= 𝑈𝑚×𝑛𝑆𝑛×𝑛𝑉𝑛×𝑑𝑇 (2.5)
Keterangan :
A = Matriks berdimensi mxn
U = matriks vektor singular kiri berdimensi mxn S = matriks nilai singular berdimensi nxn dengan nilai
terurut menurun
V = matriks vektor singular kanan berdimensi dxn 𝑉𝑇 = matriks V transpose
2.4 Metode Single Linkage Clustering
Single Linkage merupakan merupakan contoh dari metode Agglomerative Clustering. Metode Agglomeratif Clustering mengelompokkan data dengan pendekatan bawah atas (bottom up). Metode Single Linkage Clustering menggunakan obyek yang paling dekat untuk dikelompokkan
Untuk menggunakan algoritma ini ada beberapa langkah yang harus dilakukan yaitu [8] :
1. Menentukan k sebagai jumlah cluster yang ingin dibentuk 2. Setiap data dianggap sebagai cluster. Kalau n = jumlah
data dan c = jumlah cluster, berarti ada n = c.
3. Menghitung jarak antar cluster dengan Euclidian Distance. 4. Cari dua cluster yang mempunyai jarak antar cluster yang
minimal dan gabungkan (n = n-1). Setelah semua jarak diketahui, selanjutnya dikelompokkan dokumen-dokumen yang memiliki jarak terdekat.
5. Jika c > 3, kembali ke langkah 3 2.5 Metode K-Means
K-means merupakan salah satu metode data clustering yang berusaha mempartisi N jumlah data ke dalam K jumlah kelompok/klaster. K-means melakukan partisi data ke dalam kelompok/klaster sehingga data yang memiliki karakteristik yang sama akan dikelompokkan ke dalam satu klaster yang sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam kelompok yang lain. Tujuan dari metode clustering ini yaitu untuk meminimalisasikan objective function yang diset dalam proses clustering, dimana objective function tersebut pada umumnya berusaha meminimalisasikan variasi di dalam suatu klaster dan memaksimalisasikan variasi antar klaster [3]. Dalam melakukan pengelompokan menggunakan k-means, langkah-langkah yang harus dilakukan adalah sebagai berikut [15].
1. Pilih jumlah cluster k.
2. Inisialisasi k pusat cluster ini bisa dilakukan dengan berbagai cara. Namun yang paling sering dilakukan adalah dengan cara random. Pusat-pusat cluster diberi nilai awal dengan angka-angka random,
3. Alokasikan semua data atau objek ke cluster terdekat. Kedekatan dua objek ditentukan berdasarkan jarak kedua
objek tersebut. Demikian juga kedekatan suatu data ke cluster tertentu ditentukan jarak antara data dengan pusat cluster. Dalam tahap ini perlu dihitung jarak tiap data ke tiap pusat cluster. Jarak paling antara satu data dengan satu cluster tertentu akan menentukan suatu data masuk dalam cluster mana.
4. Hitung kembali pusat cluster dengan keanggotaan cluster yang sekarang. Pusat cluster adalah rata-rata dari semua data atau objek dalam cluster tertentu. Jika dikehendaki bisa juga menggunakan median dari cluster tersebut. Jadi rata-rata (mean) bukan satu-satunya ukuran yang bisa dipakai.
5. Tugaskan lagi setiap objek dengan memakai pusat cluster yang baru. Jika pusat cluster tidak berubah lagi maka proses clustering selesai. Atau, kembali ke langkah nomor 3 sampai pusat cluster tidak berubah lagi.
2.6 Pengklasteran dengan Single Linkage Clustering dan
K-Means
Penggabungan metode Single Linkage Clustering dean metode K-means dilakukan agar menghasilkan clustering yang lebih baik. Hasil dari metode Single Linkage Clustering digunakan untuk menentukan pusat cluster. Pusat cluster yang dihasilkan Single Linkage Clustering digunakan sebagai pusat cluster awal pada perhitungan metode K-means. Langkah – langkah yang dilakukan sebagai berikut [6]:
Gambar 2.3 Alur Metode Single Linkage Clustering dan K-Means
Ya Single-Linkage Clistering
Tidak
Centroid
Hitung jarak antar cluster dengan euclidian distance
Pilih jarak yang paling minimal kemudian gabungkan
Jumlah Cluster sesuai yang diinginkan ?
Mulai
Tentukan banyaknya c cluster
Jumlah data (n) = jumlah cluster (c)
Hitung Centroid
K-Means
Tidak ada objek yang berpindah cluster?
Tentukan banyaknya k cluster
Ambil k pusat cluster dari perhitungan metode Single Linkage Cluster
Hitung jarak ke masing-masing centroid
Pilih centroid terdekat
Hitung pusat cluster baru
Selesai
Tidak
Dari Gambar 2.3 diatas, dapat diketahui tentang urutan metode clustering dengan Single Linkage Clustering dan K-Means. Tahap awal Single Linkage Clustering diasumsikan setiap data sebagai cluster, n merupakan jumlah data, dan c adalah jumlah cluster, maka besarnya n = c. Kemudian hitung jarak antar cluster dengan menggunakan Euclidian Distance berdasarkan jarak rata - rata antar objek, dengan rumus
𝑑(𝑖, 𝑗) = √(𝑥𝑖1− 𝑥𝑗1) 2 + (𝑥𝑖2− 𝑥𝑗2) 2 + ⋯ + (𝑥𝑖𝑛− 𝑥𝑗𝑛) 2 (2.6) dimana :
𝑑(𝑖,𝑗)= Jarak dokumen ke − i ke dokumen ke − j 𝑥𝑖(𝑛)= kata ke n di dokumen ke − i
𝑥𝑗(𝑛)= kata ke n di dokumen ke − j
Selanjutnya hasil perhitungan Euclidian Distance dipilih jarak yang paling minimal dan digabungkan dengan rumus
dimana
𝑑(𝐴, 𝐵) = jarak klaster A dan klaster B
𝑠𝑥𝑦 = jarak data x dari klaster A dan data y dari klaster B
Hal ini akan terus dilakukan dan akan berhenti jika kondisi jumlah cluster sesuai yang diinginkan. Setelah terbentuk cluster, hitung centroid diambil dari rata-rata bobot term di setiap cluster. Setelah didapatkan centroid dilanjutkan dengan metode K-means. Pada metode ini, seharusnya diawali oleh penentuan jumlah k cluster yang akan dibentuk, kemudian dilanjutkan dengan penentuan pusat awal cluster secara random. Namun, karena metode ini merupakan kombinasi antara single linkage clustering dan K-means, maka penentuan pusat cluster untuk metode K-means ditentukan dengan mencari rata-rata dari data yang berada pada sebuah cluster
𝑑(𝐴, 𝐵) = 𝑚𝑖𝑛 {𝑠𝑥𝑦} 𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵
hasil dari Single Linkage Clustering. Sehingga pada tahapan ini, pusat cluster metode K-means langsung dapat ditentukan. Selanjutnya, dihitung jarak anggota cluster ke setiap centroidnya. Setelah didapatkan hasilnya, anggota cluster dimasukkan kedalam cluster yang memiliki jarak yang paling dekat dengan centroidnya. Iterasi pada K-Means akan berhenti ketika semua data yang berada pada sebuah cluster tertentu tidak berpindah ke cluster yang lainnya.
2.7 Metode Koefisien Silhouette
Koefisien Silhouette digunakan untuk melihat kualitas dan kekuatan cluster seberapa baik suatu objek ditempatkan dalam suatu cluster. Nilai Koefisien Silhouette rentang -1 sampai dengan 1. Nilai Koefisien Silhouette mendekati 1 adalah hasil pengelompokkan yang lebih baik. Tahapan perhitungan Silhouette Coefficient adalah sebagai berikut [8]:
a. Hitung rata-rata jarak dari suatu dokumen, misalkan i dengan semua dokumen lain yang berada dalam satu cluster
𝑎(𝑖) = 1
|𝐴| − 1 ∑𝑗𝜖𝐴,𝑗≠𝑖𝑑(𝑖, 𝑗)
dengan j adalah dokumen lain dalam satu
cluster A dan d(i,j) adalah jarak antara dokumen i dengan j.
b. Hitung rata-rata jarak dari dokumen i dengan semua dokumen di cluster lain, dan diambil nilai terkecilnya.
𝑑(𝑖, 𝐶) = 1
|𝐴|∑𝑗𝜖𝐶𝑑(𝑖, 𝑗)
dengan d(i,C) adalah jarak rata-rata dokumen I,
dengan semua objek pada cluster lain C dimana A ≠ C. 𝑏(𝑖) = 𝑚𝑖𝑛 C ≠ A 𝑑(𝑖, 𝐶) (2.10)
c. Nilai Koefisien Silhouette nya adalah : 𝑠(𝑖) = 𝑏(𝑖) − 𝑎(𝑖) max (𝑎(𝑖), 𝑏(𝑖)) dimana (2.8) (2.9) (2.11)
s(i) = Nilai Koefisien Silhouette
a(i) = rata-rata jarak antar anggota dalam cluster
b(i) = jarak terkecil antara anggota cluster dengan anggota cluster terdekatnya (nearest neigbor)
21
BAB IIIMETODE PENELITIAN
Pada bab ini dijelaskan langkah-langkah yang digunakan dalam penyusunan Tugas Akhir. Disamping itu, dijelaskan pula prosedur dan proses pelaksanaan tiap-tiap langkah yang dilakukan dalam menyelesaikan Tugas Akhir.
Langkah-langkah yang digunakan dalam menyelesaikan Tugas Akhir ini yang diringkas dalam Gambar 3.1 adalah sebagai berikut :
1. Pengumpulan Data
Pengumpulan Data merupakan tahap untuk mengumpulkan data yang diperlukan dalam pengerjaan Tugas Akhir ini yaitu data aspirasi masyarakat berupa data musrenbang. Data yang terkumpul akan digunakan sebagai masukan (input). Adapun variabel data yang akan dipakai berdasarkan data Musrenbang meliputi : usulan_id dan usulan_kegiatan
2. Studi Literatur
Pada tahap ini dilakukan berbagai pengumpulan informasi mengenai beberapa hal berikut
a. Pengumpulan informasi mengenai cara ekstraksi kata kunci suatu dokumen menggunakan metode Rapid Automatic Keyphrase (RAKE),
b. Pengumpulan informasi mengenai cara mengekstraksi konsep dengan menggunakan metode Latent Semantic Analysy (LSA) yang meliputi pembobotan TF-IDF, dengan Metode Singular Value Decomposition
c. Pengumpulan informasi mengenai proses pengklasteran dengan menggunakan metode Single Linkage Clustering dan K-means
d. Bahasa pemograman Java dalam proses pembuatan program
3. Ekstraksi Kata Kunci
Proses ekstraksi kata kunci dalam pengerjaan Tugas Akhir menggunakan metode Rapid Automatic Keyphrase Extraction (RAKE). Tahap ekstrasi kunci menggunakan Rapid Automatic Keyphrase Extraction (RAKE) memilki 5 tahapan utama, yaitu ekstraksi kandidat kata kunci, menghitung matriks co-ocurrence, menghitung nilai rasio, menghitung nilai fitur dasar, dan memilih kata kunci dengan nilai fitur tertinggi.
4. Pembentukan Vektor Konsep
Proses pembentukan vektor konsep menggunakan metode Latent Semantic Analysis (LSA) memilki 3 tahapan utama yaitu membangun matriks kemunculan tiap kata kunci pada tiap dokumen, menghitung nilai invers document frequency (idf), dan mengaplikasikan metode Singular Value Decomposition pada matriks yang telah dibentuk.
5. Clustering
Proses Clustering dilakukan dengan menggunakan metode Single Linkage Clustering dan K-Means. Proses ini bertujuan untuk mengelompokkan topik aspirasi ke dalam beberapa cluster.
6. Analisa hasil dan Pembahasan
Analisa hasil dari proses Clustering topik aspirasi yang sering disampaikan oleh masyarakat pada Musyawarah Perencanaan Pembangunan (Musrenbang) mengenai APBD dan dilakukan evaluasi untuk validasi clustering.
7. Penarikan Kesimpulan
Setelah proses analisa hasil dan pembahasan, maka tahap selanjutnya adalah penarikan kesimpulan dari keseluruhan tahap yang sudah dilakukan dan pemberian saran terkait kekurangan hasil penelitian untuk pengembangan penelitian selanjutnya.
8. Pembuatan Laporan Tugas Akhir
Tahap akhir setelah semua tahap dijalankan adalah penulisan laporan Tugas Akhir. Konten laporan Tugas Akhir
sesuai dengan hasil yang telah didapatkan dari proses awal pengumpulan data sampai dengan penarikan kesimpulan.
Gambar 3. 1 Diagram Alur Pengerjaan Tugas Akhir
Mulai
Pengumpulan Data
Studi Literatur
Analisa hasil dan Pembahasan Ekstraksi Kata Kunci
Pembentukan Vektor Konsep
Clustering
Penarikan Kesimpulan
Pembuatan Laporan Tugas Akhir
Selesai
Pembuatan Perangkat Lunak
Pendukung Proses
25
BAB IVPERANCANGAN DAN IMPLEMENTASI SISTEM Bab ini menjelaskan rancangan desain sistem yang digunakan sebagai acuan untuk implementasi sistem. Desain sistem menggambarkan proses rancang bangun secara terperinci dari awal tahap perancangan data sistem hingga proses Clustering menggunakan metode Single Linkage Clustering dan K-Means.
4.1 Lingkungan Hardware dan Software
Lingkungan perancangan sistem dibangun dari dua lingkungan yaitu lingkungan software dan lingkungan hardware. Spesifikasi lingkungan perancangan sistem secara lengkap dapat dilihat pada Tabel 4.1.
Tabel 4. 1 Spesifikasi Hardware dan Software
Lingkungan Spesifikasi
Hardware Processor Intel® Core™
i3-2350M CPU @
2.30GHz 2.30 GHz
RAM 6.00 GB
Software Sistem Operasi Windows 10 Pro 64-bit
Tools NetBeans IDE 8.2
4.2 Perancangan Data Sistem
Data-data yang digunakan dalam perangkat lunak ini dapat dibedakan menjadi dua jenis, yaitu data masukan dan data keluaran.
4.2.1 Data Masukan
Data masukkan adalah data-data yang digunakan sebagai masukan dari perangkat lunak. Masukan-masukan ini yang kemudian diolah oleh aplikasi melalui tahap-tahap tertentu
sehingga menghasilkan keluaran yang diinginkan data masukan yang digunakan pada aplikasi ini adalah:
1. Data aspirasi masyarakat berupa data Musyawarah Perencanaan Pembangunan (Musrenbang).
Data aspirasi masyarakat memiliki beberapa atribut yaitu: a. usulan_id merupakan usulan_id
b. usulan_kegiatan merupakan usulan_kegiatan
2. Data kumpulan kata-kata yang tidak penting (stopword) seperti dan, dari, adalah, yang telah tersimpan di dalam database
4.2.2 Data Keluaran
Data keluaran merupakan data yang dihasilkan oleh aplikasi setelah proses-proses tertentu selesai dilakukan. Terdapat beberapa data keluaran pada aplikasi ini, yaitu: 1. Data hasil ekstraksi konsep menggunakan metode Latent
Semantic Analysis beserta vektor tiap konsep.
2. Data hasil Clustering menggunakan metode Single Linkage Clustering dan K-Means berupa cluster beserta konsep yang berada di dalamnya.
3. Data hasil perhitungan aspirasi masyarakat yang paling banyak diusulkan.
4.3 Perancangan Proses
Tahap perancangan proses merupakan tahap perancangan fungsi-fungsi yang terdapat dalam aplikasi. Terdapat dua proses utama yang dapat dilakukan oleh pengguna dalam perangkat lunak ini. Proses-proses tersebut yaitu ekstraksi konsep dokumen dan Clustering. Secara mum tahap perancangan proses dapat dilihat di Gambar 4.1 . Langkah-langkah perancang proses dijelaskan sebagai berikut 1. Masukkan data dokumen aspirasi masyarakat yang
diambil dari database
2. Lakukan proses Rapid Automatic Keyphrase Extraction (RAKE) yang didalamnya terdapat proses preprocessing
yaitu proses mengubah huruf besar menjadi huruf kecil, hilangkan seluruh karakter angka dan pemotongan isi dokumen dengan stopword. Outputan dari proses ini adalah kata kunci
3. Proses Ekstraksi konsep menggunakan metode Latent Semantic Analysisi yang didalamnya terdiri dari proses TF-IDF serta Singular Value Decomposition. Hasil proses ekstraksi konsep adalah konsep dan vektor konsep
4. Clustering dilakukan menggunakan 2 metode yaitu metode Single Linkage Clustering dan K-Means. Proses Clustering menghasilkan cluster topik.
Gambar 4.1 Perancangan Proses
Mulai
Dokumen aspirasi masyarakat
Kata kunci
Rapid Automatic Keyphrase Extraction (RAKE)
TF-IDF
Singular Value Decomposition (SVD)
Konsep dan vektor konsep
Singular Value Decomposition (SVD) Clustering dengan Single Link age
Selesai
Database Aspirasi Masyarakat
Ekstraksi Konsep
4.3.1 Ekstraksi Konsep Dokumen
Proses ini berfungsi untuk melakukan ekstraksi konsep dari koleksi dokumen yang ada pada database. Proses ini memiliki dua tahapan utama yaitu ekstraksi kata kunci menggunakan metode Rapid Automatic Keyphrase Extraction, dan ekstraksi konsep menggunakan metode Latent Semantic Analysis. Pada proses ini pengguna memasukkan parameter berupa jumlah kata kunci teratas yang diambil pada tahap ekstraksi kata kunci menggunakan metode Rapid Automatic Keyphrase Extraction.
Proses ekstraksi konsep dokumen pada perangkat lunak dimulai dengan tahap ekstraksi kata kunci menggunakan metode Rapid Automatic Keyphrase Extraction (RAKE). Kata kunci merupakan kata-kata yang dianggap penting apabila termasuk dalam peringkat 10 – 20 kata yang memiliki nilai skor terbesar dari sebuah dokumen. Setelah itu kata kunci dari seluruh dokumen tersebut dijadikan input pada tahap ekstraksi konsep dokumen menggunakan metode Latent Semantic Analysisi (LSA). Hasil dari proses ini berupa konsep beserta vektor konsep.
1. Ekstraksi kata kunci
Proses ekstraksi kata kunci menggunakan metode Rapid Automatic Keyphrase Extraction memilki 5 tahapan utama, yaitu ekstraksi kandidat kata kunci, menghitung matriks co-ocurrence, menghitung nilai rasio, menghitung nilai fitur dasar, memilih kata kunci dengan nilai fitur tertinggi. Langkah-langkah ekstraksi kata kunci sebagai berikut:
➢ Input : Dokumen Musrenbang ➢ Output : kata kunci
Langkah-langkah
1. Data teks stopword dan tanda baca di dokumen 2. Ubah seluruh huruf pada usulan kegiatan menjadi
huruf kecil
4. Pisahkan isi usulan kegiatan menurut tanda baca 5. Simpan seluruh kata dan frase sebagai kandidat
kata kunci
6. Hitung matriks co-occurrence tiap kata
7. Hitung frekuensi kemunculan setiap kata di dalam dokumen 𝑓𝑟𝑒𝑞(𝑤)
8. Hitung nilai degree setiap kata deg (𝑤) 9. Hitung nilai rasio kata, 𝑟𝑎𝑠𝑖𝑜(𝑤) = deg (𝑤)
𝑓𝑟𝑒𝑞(𝑤) setiap
kata
10. Hitung nilai fitur setiap kandidat kata kunci dengan cara menambahkan milai rasio tiap kata yang ada pada kandidat kata kunci
11. Penggolongan kandidat frase kunci
12. Urutkan nilai fitur kandidat kata kunci dari kecil ke besar
Berikut langkah-langkah proses dari metode Rapid Automatic Keyphrase Extraction (RAKE)
Tabel 4.2 Dokumen Sebelum diolah Usulan ID Usulan Kegiatan
44697 Pengurasan saluran air / got di Jln Rajawali Selatan I dan II RT 002, 03, 04, 006 RW 02 45023 Pengadaan sarana dan prasarana Posyandu
(almari) di RW.08 Kel. Jelambar
a. Ekstraksi Kandidat
Tahap ekstraksi kandidat akan dilakukan proses preprocessing data yang meliputi
1. Case Folding yaitu mengubah huruf besar menjadi huruf kecil, menghilangkan angka dan menghilangkan tanda baca
2. Filtring yaitu menghilangkan kata yang tidak penting (stopword)
3. Proses Tokenezing yang memisahkan kata berdasarkan tanda baca dan stopword
Tabel 4.3 Hasil Preprocessing
No Kandidat Kata Kunci
1 pengurasan saluran air 2 got 3 jln rajawali selatan 4 pengadaan sarana 5 prasarana posyandu 6 almari 7 kel 8 jelambar
b. Menghitung Matrik Co-Occurrence tiap kata
Setelah kandidat kata kunci didapatkan, langkah selanjutnya adalah menghitung matriks co-ocurrence. Matriks co-ocurrence memetakan frekuensi kemunculan suatu kata dan frase kata kunci.
Tabel 4.4 Matrik Co-Occurrence dengan Usulan Id 44697
c. Menghiitung Rasio
Nilai rasio merupakan perbandingan antara derajat kata dengan frekuensi kata. Derajat kata adalah jumlah kemunculan kata pada dokumen ditambah jumlah frase yang mengandung kata tersebut. Derajat kata pada matriks co-ocurrence didapat dari penjumlahan satu kolom atau satu baris. Frekuensi kata adalah jumlah kemunculan kata dalam teks.
Tabel 4.5 Menghitung Rasio Term p en gu ras a n salu ran
air got jln raj
awali se lat an pengurasan 1 1 1 saluran 1 1 1 air 1 1 1 got 1 jln 1 1 1 rajawali 1 1 1 selatan 1 1 1 Term p en gu ras a n salu ran
air got jln raj
awali se lat an pengurasan 1 1 1 saluran 1 1 1 air 1 1 1 got 1 jln 1 1 1 rajawali 1 1 1 selatan 1 1 1 deg(w) 3 3 3 1 3 3 3 freq(w) 1 1 1 1 1 1 1 rasio 3 3 3 1 3 3 3
d. Menghitung Nilai Fitur Dasar (NFD)
Nilai fitur dasar merupakan nilai penjumlahan rasio kata yang ada pada kandidat kata kunci. Nilai tersebut kemudian diurutkan berdasarkan nilai tertinggi sampai terendah.
Tabel 4.6 Nilai Fitur Dasar
e. Pemilihan kandidat frase kunci dengan skor tertinggi Setelah kandidat kata kunci diberi nilai, selanjutnya dipilih sejumlah k. Berikut hasil RAKE dengan mengambil 2 kata kunci
Tabel 4.7 Kata Kunci
No Kata Kunci
1 pengurasan saluran air 2 jln rajawali selatan
Untuk dokumen dengan usulan id 45023 dilakukan langkah yang sama dengan usulan id 44697. Tabel 4.8 hasil kata kunci proses RAKE dengan mengambil 2 kata kunci.
Tabel 4.8 Kata Kunci
No Kata Kunci 1 prasarana posyandu 2 pengadaan sarana Term p en gu ras a n S alu ra n
air got jln raj
awali se lat an pengurasan 1 1 1 saluran 1 1 1 air 1 1 1 got 1 jln 1 1 1 rajawali 1 1 1 selatan 1 1 1 deg(w) 3 3 3 1 3 3 3 freq(w) 1 1 1 1 1 1 1 rasio 3 3 3 1 3 3 3 NFD 3 + 3 + 3 = 9 1 3 + 3 + 3 = 9
2. Pembentukan vektor konsep
Proses pembentukan vektor konsep menggunakan metode Latent Semantic Analysis memilki 3 tahapan utama yaitu membangun matriks kemunculan tiap kata kunci pada tiap dokumen, menghitung nilai invers document frequency (idf), dan mengaplikasikan metode Singular Value Decomposition pada matriks yang telah dibentuk. Langkah-langkah pembentukan vektor konsep adalah sebagai berikut:
➢ Input : dokumen dan kata kunci ➢ Output : konsep beserta vektor konsep ➢ Langkah-langkah:
1. Hitung frekuensi kemunculan kata kunci pada dokumen (tf)
2. Hitung jumlah koleksi dokumen yang ada (D)
3. Hitung jumlah dokumen yang mengandung kata kunci tersebut (df)
4. Hitung tf x (1 + log(D) – log(df)) yang merupakan nilai inverse document frequency (idf) setiap kata 5. Dekomposisi matriks invers document frequency (idf)
tersebut menjadi matriks U, matriks
Σ, serta matriks
V. Matriks U merupakan vektor kata kunci,
Matriks Σ merupakan vektor sigma, dan Matriks
V merupakan vektor dokumen
6.
Hitung
k
=
√𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑜𝑙𝑜𝑚 𝑚𝑎𝑡𝑟𝑖𝑘𝑠yang
merupakan nilai batas pemotongan kolom pada
matriks U, Σ, dan V.
7.
Kembalikan matriks ke bentuk awal dengan
mengalikan metrik U, Σ, dan 𝑉
𝑇8.
Simpan seluruh konsep beserta matriks barisnya
sebagai vektor konsep.
Gambar 4.3 Proses Pembentukan Vektor Konsep Berikut langkah-langkah proses dari metode Latent Semantic Analysis yang meliputi proses TF-IDF dan Singular Value Decomposition.
a. Term frequency-invers document frequency (TF-IDF) Tahap awal proses TF-IDF adalah menghitung nilai TF yaitu jumlah kata yang muncul di dokumen. Matriks TF dari hasil ekstraksi 2 kata kunci dapat dilihat di Tabel 4.9.
Mulai Hitung D, tf, dan df kata kunci Dekomposisi matriks (SVD) menggunakan JAMA Hitung k Potong matriks U, S, V menjadi k kolom Hitung U*S*VT Hitung tf x (1 + log (D) – log(df)) kata kunci
Selesai Database kata kunci Matriks idf Matriks U, S,V U, S, V Matriks Vektor Konsep U, S, V
Tabel 4.9 Matriks TF
Term D1 D2
pengurasan saluran air 1 jln rajawali selatan 1
prasarana posyandu 1
pengadaan sarana 1
Langkah selanjutnya dihitung pembobotan atau TF-IDF. Proses perhitungan pembobotan matriks ditampilkan sebagai berikut
𝑊𝑖,𝑗= 𝑡𝑓𝑖,𝑗 × 𝑖𝑑𝑓𝑗= 𝑡𝑓𝑖,𝑗 × log ( 𝑁 𝑑𝑓𝑗
) + 1 Tabel 4.10 Perhitungan Bobot TF-IDF 𝑊11= 1 x log ( 2 1) + 1 = 1 x (0.3010 + 1) = 1.3010 𝑊12 = 0 𝑊21= 1 x log ( 2 1) + 1 = 1 x (0.3010 + 1) = 1.3010 𝑊22 = 0 𝑊31 = 0 𝑊 32 = 1 x log ( 2 1) + 1 = 1 x (0.3010 + 1) = 1.3010 𝑊41 = 0 𝑊 42 = 1 x log ( 2 1) + 1 = 1 x (0.3010 + 1) = 1.3010
Tabel 4.11 Bobot TF-IDF
D1 D2
pengurasan saluran air 1.301 0 jln rajawali selatan 1.301 0
prasarana posyandu 0 1.3010
pengadaan sarana 0 1.3010
4.3.2 Clustering
Pada proses ini konsep-konsep yang sudah terekstraksi dari dokumen dikelompokkan menjadi beberapa cluster. Pengelompokan ini menggunakan metode Single Linkage Clustering dan K-Means. Pada tahap ini pengguna memasukkan input parameter berupa jumlah cluster yang dikehendaki. Proses Clustering dilakukan dengan menggunakan Single Linkage Clustering dan K-Means. Proses ini bertujuan untuk mengelompokkan konsep-konsep ke dalam beberapa cluster. Langkah-langkah Clustering adalah sebagai berikut
➢ Input : konsep beserta vektor baris hasil metode Latent Sematic Analysis
➢ Output : Cluster konsep ➢ Langkah – langkah
1. Memasukkan input berupa jumlah cluster yang diinginkan
2. Clustering dengan metode Single Linkage Clustering 3. Hitung jarak setiap konsep dengan menggunakan
Euclidean Distance
4. Pilih jarak yang paling minimal kemudian gabungkan 5. Ulangi langkah 3 hingga terbentuk sesuai banyaknya
cluster yang diinginkan 6. Lakukan metode K-Means
7. Menentukan jumlah k cluster yang ingin dibentuk 8. Ambil k pusat cluster dari perhitungan metode Single
9. Hitung jarak ke masing-masing centroid
10. Jika tidak ada objek yang berpindah cluster maka proses cluster selesai
Gambar 4.4 Clustering
Ya Single-Linkage Clistering
Tidak
Centroid
Hitung jarak antar cluster dengan euclidian distance
Pilih jarak yang paling minimal kemudian gabungkan
Jumlah Cluster sesuai yang diinginkan ?
Mulai
Tentukan banyaknya c cluster
Jumlah data (n) = jumlah cluster (c)
Hitung Centroid
K-Means
Tidak ada objek yang berpindah cluster?
Tentukan banyaknya k cluster
Ambil k pusat cluster dari perhitungan metode Single Linkage Cluster
Hitung jarak ke masing-masing centroid
Pilih centroid terdekat
Hitung pusat cluster baru Selesai Tidak Ya Matriks vektor konsep
Proses perhitungan proses Clustering dapat dilihat sebagai berikut
1. Single Linkage Clustering
a. Tahap awal Single Linkage Clustering menentukan jumlah cluster (c) yang ingin dibentuk. Banyaknya cluster yang dibentuk ada 2
b. Menghitung jarak dengan Euclidian Distance
Tabel 4.12 Matrik Jarak
44653 44697 45023
44653 0.0 1.0 1.0
44697 1.0 0.0 1.0
45023 1.0 1.0 0.0
c. Memilih jarak minimal dan gabungkan
Jarak minimal yang dipilih adalah jarak antara usulan id 44653 dan 44697. Jadi dokumen 44653 dan 44697 digabungkan.
d. Hasil Centroid
Centroid didapat dari perhitungan bobot term di setiap cluster
Gambar 4.4 Hasil Centroid 2. K-Means
Disediakan data sampel berupa 4 data sebagaimana yang terpampang pada Tabel 4.13 . Data tersebut memiliki dua dimensi (fitur x dan fitur y) agar mudah di visualisasikan dalam koordinat kartesius.
center = 2 center1
term = peninggian jembatan jalan mangga vektor = [1.4771212547196624, 0.0, 0.0] center2
term = pengadaan sarana
Tabel 4.13 Data Awal Dua Dokumen
Data ke-i Term 44697 45023
1 jln rajawali selatan 1.3 0
2 pengadaan sarana 0 1.3
3 pengurasan saluran air 1.3 0
4 prasarana posyandu 0 1.3
Berdasarkan data awal dari dua dokumen tersebut, dilakukan proses pengelompokan menjadi 2 cluster (k = 2). berdasarkan k = 2, maka ditentukan titik centroid dari perhitungan Single Linkage Clustering.
Tabel 4.14 Pusat Cluster (Centroid)
Data ke-i Term 44697 45023
1 jln rajawali selatan 1.3 0
2 pengadaan sarana 0 1.3
Proses perhitungan dimulai dari iterasi 1. Awalnya, dihitung jarak dari setiap data (1-4) terhadap semua centroid yang ada. Dari hasil perhitungan jarak antara setiap data terhadap semua centroid, didapatkan nilai jarak terkecil terhadap satu centroid, maka centroid tersebut disebut sebagai centroid terdekat, dan data akan berafiliasi menjadi cluster dari centroid terdekat. Berikut ini contoh menghitung jarak dengan Euclidian Distance. d(𝑥1, 𝑐1,) = √∑𝑟 (𝑥1𝑖− 𝑐1𝑖)2 𝑖=1 = √(1.3 − 1.3)2+ (0 − 0)2 = 0 d(𝑥1, 𝑐2,) = √∑𝑟 (𝑥1𝑖− 𝑐2𝑖)2 𝑖=1 = √(1.3 − 0)2+ (0 − 1.3)2 = 3.38 d(𝑥2, 𝑐1,) = √∑𝑟𝑖=1(𝑥2𝑖− 𝑐1𝑖)2= √(0 − 1.3)2+ (1.3 − 0)2 = 3.38 d(𝑥2, 𝑐2,) = √∑𝑟𝑖=1(𝑥2𝑖− 𝑐2𝑖)2= √(0 − 0)2+ (1.3 − 1.3)2 = 0 d(𝑥3, 𝑐1,) = √∑𝑟𝑖=1(𝑥3𝑖− 𝑐1𝑖)2= √(1.3 − 1.3)2+ (0 − 0)2 = 0 d(𝑥3, 𝑐2,) = √∑𝑟 (𝑥3𝑖− 𝑐2𝑖)2 𝑖=1 = √(1.3 − 0)2+ (0 − 1.3)2 = 3.38 d(𝑥4, 𝑐1,) = √∑𝑟 (𝑥4𝑖− 𝑐1𝑖)2 𝑖=1 = √(0 − 1.3)2+ (1.3 − 0)2 = 3.38 d(𝑥4, 𝑐2,) = √∑𝑟 (𝑥4𝑖− 𝑐2𝑖)2 𝑖=1 = √(0 − 0)2+ (1.3 − 1.3)2 = 0
Berdasarkan hasil perhitungan di atas, ditentukan jarak terdekat pada semua data terhadap centroid. Jarak terdekat menentukan suatu data akan masuk ke cluster 1 atau 2
Tabel 4.15 Jarak Terdekat
Data ke-i Jarak ke Centroid Terdekat Cluster
1 2
1 0 3.38 1 1
2 3.38 0 2 2
3 0 3.38 1 1
4 3.38 0 2 2
Setelah dipastikan bahwa data 1 hingga data 4 sudah masuk ke salah satu cluster. Selanjutnya, ditentukan centroid baru berdasarkan data yang tergabung pada setiap clusternya. Dimulai dari cluster 1, terdapat dua data yang tergabung didalamnya. Centroid baru didapatkan dari rata-rata yang diperoleh yaitu 1.3 dan 0.
Tabel 4.16 Centroid ke-1
Data Anggota 44697 45023
1 1.3 0
3 1.3 0
Jumlah 2.6 0
Rata-rata 1.3 0
Kemudian untuk cluster ke-2, ada 2 data yang tergabung didalamnya. Centroid baru didapatkan dari rata-rata yang diperoleh yaitu 0 dan 1.3
Tabel 4.17 Centroid ke-2
Data Anggota 44697 45023
2 0 1.3
4 0 1.3
Jumlah 0 2.6
Rata-rata yang didapatkan dari kedua cluster tersebut merupakan centroid baru yang didapat. Centroid baru digunakan untuk perhitungan pada iterasi ke-2.
Tabel 4.18 Centroid Baru
Centroid 44697 45023
1 1.3 0
2 0 1.3
4.4 Implementasi Program
Perangkat lunak pada project ini dibuat menggunakan bahasa pemrograman Java pada platform Java Development Kit 7 dan Netbeans IDE 8.2 dengan library tambahan adalah JAMA. Database server yang digunakan adalah MySQL. 4.4.1 Implementasi Proses Ekstraksi Konsep
Proses ekstraksi konsep terdiri dari dua tahap yaitu ekstraksi kata kunci dari usulan kegiatan dokumen Project dan pembentukan vektor konsep menggunakan metode Latent Semantic Analysis. Ekstraksi kunci dimulai dengan memisahkan usulan kegiatan dokumen berdasarkan tanda baca dan stopword. Proses ini dilakukan pada kelas RAKE.
Gambar 4.5 Implementasi Proses Ekstraksi Konsep Pada kode di atas terdapat beberapa method pada kelas RAKE yang digunakan yaitu:
1. ProsesLowerCase()
listKata = new ArrayList<>();
listKataKunci = new ArrayList<>(); Database db = new Database(); db.connectFirst();
String Dok = dokumen.getusulan_kegiatan(); ArrayList<String> tempKata = new ArrayList<>(); String hasil = prosesLowerCase(Dok);
/*Split berdasarkan tanda baca*/
ArrayList<String> kandidatKK= prosesSplitTB(hasil); /*Split berdasarkan stopword*/