PENGELOMPOKAN DATA INDEKS PEMBANGUNAN MANUSIA DI PULAU JAWA DENGAN ALGORITME ST-DBSCAN DAN BAHASA PEMROGRAMAN PYTHON AJENG TRISNANINGTYAS DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014 PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Pengelompokan Data Indeks Pembangunan Manusia di Pulau Jawa dengan Algoritme ST-DBSCAN dan Bahasa Pemograman Python adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, September 2014 Ajeng Trisnaningtyas NIM G64100094 ABSTRAK AJENG TRISNANINGTYAS. Pengelompokan Data Indeks Pembangunan Manusia di Pulau Jawa dengan Algoritme ST-DBSCAN dan Bahasa Pemrograman Python. Dibimbing oleh HARI AGUNG ADRIANTO. Indeks Pembangunan Manusia (IPM) merupakan indikator yang biasa digunakan oleh United Nations Development Programme (UNDP) untuk menilai keberhasilan pembangunan. Tiga unsur pembentuk IPM adalah tingkat kesehatan, pendidikan dan ekonomi. Data IPM per kabupaten yang digunakan pada penelitian ini hanya mencakup wilayah Jawa tahun 2012 yang diperoleh dari Badan Pusat Statistik meliputi data spasial (koordinat wilayah), temporal (tahun) dan non-spasial (IPM). Teknik data mining yang diaplikasikan adalah teknik clustering dengan STDBSCAN menggunakan bahasa pemrograman Python. Clustering digunakan untuk menemukan pengelompokan berdasarkan tingkat kemiripan IPM di tiap wilayah. Visualisasi dari objek data IPM menghasilkan peta wilayah persebaran cluster. Dengan menggunakan parameter jarak spasial (Eps1)=0.4, jarak temporal (Eps2)=0, ukuran selisih nilai atribut non-spasial yang ditoleransi (∆)=2, dan minimum anggota dalam cluster (MinPts)=5 menghasilkan 4 cluster dan 18 titik noise dengan silhouette coefficient bernilai 0.020. Kata kunci: clustering, indeks pembangunan manusia, Python, ST-DBSCAN ABSTRACT AJENG TRISNANINGTYAS. Clustering on Human Development Index Data in Java with ST-DBSCAN Algorithm and Python Programming Language. Supervised by HARI AGUNG ADRIANTO. Human Development Index (HDI) is an indicator commonly used by the United Nations Development Programme (UNDP) to assess the success of development. Three elements forming the HDI value are the level of health, education, and economics. The HDI data per district used in this research only cover Java region in 2012, obtained from the Central Bureau of Statistics including spatial data (area coordinates), temporal data (years), and non-spatial data (HDI). Data mining technique applied in this research is clustering with ST-DBSCAN using Python programming language. Clustering can be used to found similar grouping based on HDI in each region. Visualization of HDI data objects produces a map of the cluster spread. By using spatial distance parameter (Eps1)=0.4, temporal distance (Eps2)=0, size of the tolerated difference in value of non-spatial atributes (∆)=2, and minimum number of members in each cluster (MinPts)=5 resulted in 4 clusters and 18 point of noise with silhouette coefficient worth 0.020. Keywords : clustering, human development index, Python, ST-DBSCAN PENGELOMPOKAN DATA INDEKS PEMBANGUNAN MANUSIA DI PULAU JAWA DENGAN ALGORITME ST-DBSCAN DAN BAHASA PEMROGRAMAN PYTHON AJENG TRISNANINGTYAS Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer pada Departemen Ilmu Komputer DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014 Penguji: 1 Dr Imas Sukaesih Sitanggang, SSi Mkom 2 Karlina Khiyarin Nisa, SKom MT Judul Skripsi : Pengelompokan Data Indeks Pembangunan Manusia di Pulau Jawa dengan Algoritme ST-DBSCAN dan Bahasa Pemrograman Python Nama : Ajeng Trisnaningtyas NIM : G64100094 Disetujui oleh Hari Agung Adrianto, SKom MSi Pembimbing I Diketahui oleh Dr Ir Agus Buono, MSi MKom Ketua Departemen Tanggal Lulus: PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Maret 2014 ini ialah data mining, dengan judul Pengelompokan Data Indeks Pembangunan Manusia di Pulau Jawa dengan Algoritme ST-DBSCAN dan Bahasa Pemograman Python. Terima kasih penulis ucapkan kepada Ayah dan Ibu serta seluruh keluarga atas segala doa dan kasih sayangnya. Ungkapan terima kasih juga disampaikan kepada Bapak Hari Agung Adrianto selaku pembimbing, serta teman-teman Program Studi S1 Ilmu Komputer yang telah banyak memberi saran. Semoga karya ilmiah ini bermanfaat. Bogor, September 2014 Ajeng Trisnaningtyas DAFTAR ISI DAFTAR TABEL ix DAFTAR GAMBAR ix DAFTAR LAMPIRAN ix PENDAHULUAN 1 Latar Belakang 1 Perumusan Masalah 2 Tujuan Penelitian 2 Manfaat Penelitian 2 Ruang Lingkup Penelitian 2 TINJAUAN PUSTAKA 3 Data Spasial Temporal 3 ST-DBSCAN (Spatio Temporal-Density Based Spatial Clustering) 3 Indeks Pembangunan Manusia (IPM) 4 Praproses Data 4 Penentuan Koordinat Centroid (Titik Tengah) pada Poligon 5 Perhitungan Jarak menggunakan Metrik Euclidean 5 METODE PENELITIAN 5 Data Penelitian 5 Tahapan Penelitian 6 Lingkupan Pengembangan 8 HASIL DAN PEMBAHASAN 8 Sumber Data dan Karakteristik Data 8 Praproses Data 9 Penentuan Nilai Parameter 10 Implementasi Algoritme ST-DBSCAN menggunakan Python 11 Hasil Clustering menggunakan ST-DBSCAN 14 SIMPULAN DAN SARAN 16 Simpulan 16 Saran 16 DAFTAR PUSTAKA 16 Lampiran 18 DAFTAR TABEL 1 2 3 4 Kriteria indeks pembangunan manusia (BPS 2013) Contoh nilai atribut dalam shapefile Nilai koefisien Silhouette cluster Karakteristik wilayah tiap cluster 4 9 11 15 DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10 11 12 Data spasial dalam bentuk poligon Core point, border point, dan noise (Birant dan Kut 2007) Diagram alir penelitian Grafik observasi k-dist (Purwanto 2012) Ilustrasi titik i dalam koefisien Silhouette (Rousseeuw 1987) Peta wilayah Pulau Jawa Pergeseran nilai ambang pada k-dist Hubungan titik noise dengan Eps1 Diagram jumlah cluster Implementasi ST-DBSCAN menggunakan Python Pengelompokan di Pulau Jawa berdasarkan IPM tahun 2012 Hasil cluster dengan Eps1=0.4, Eps2=0, MinPts=5, dan ∆=2 3 3 6 7 7 9 10 10 11 13 14 14 DAFTAR LAMPIRAN 1 Antar muka implementasi ST-DBSCAN menggunakan Python 2 Hasil cluster menggunakan Python 3 Anggota cluster 18 18 19 PENDAHULUAN Latar Belakang Pada tahun 2013, perekonomian Indonesia tumbuh sebesar 5.78% dibanding tahun 2012, dimana semua sektor ekonomi mengalami pertumbuhan. Perkembangan Indeks Pembangunan Manusia (IPM) Provinsi di Indonesia juga menunjukkan peningkatan pada tahun 2012 sebesar 0.52 poin dibanding tahun 2011 yaitu dari 72.77 menjadi 73.29 (BPS 2013). Meningkatnya indikator-indikator tersebut diharapkan dapat memberikan dampak positif terhadap penyelesaian permasalahan yang terjadi di Indonesia. Menurut Badan Pusat Statistik, pertumbuhan ekonomi dan IPM merupakan indikator yang biasa digunakan untuk menilai sampai seberapa jauh pembangunan suatu daerah tersebut berjalan. Secara spesifik United Nations Development Programme (UNDP) menetapkan indeks komposit yang sangat berpengaruh dalam melakukan pembangunan pada umumnya. Tiga unsur pembentuk IPM tersebut adalah tingkat kesehatan, pendidikan dan ekonomi. Pada tahun 2012, rata-rata IPM di Pulau Jawa meningkat dibanding tahuntahun sebelumnya yaitu sebesar 74.33 (BPS 2013). Dengan meningkatnya nilai IPM dari tahun ke tahun di Pulau Jawa, maka data IPM di Pulau Jawa menarik untuk diteliti apakah persebarannya merata. Data IPM yang diperoleh dari Badan Pusat Statistik meliputi data spasial (koordinat wilayah), temporal (tahun) dan nonspasial (indeks pembangunan manusia), dapat digolongkan sebagai data spasial temporal. Penggunaan data spasial dalam beberapa tahun ini mengalami peningkatan, contohnya adalah pemanfaatan Sistem Informasi Geografis (SIG) dalam memperoleh, menyimpan, dan merepresentasikan data yang bersifat geografis. Keunggulan dari SIG adalah mempermudah pengguna dalam memperoleh data yang dibutuhkan serta mempermudah dalam mendigitalisasi objek-objek di lapangan yang umumnya tidak nampak pada peta. Data spasial yang digunakan pada penelitian ini direpresentasikan dalam bentuk poligon. Perancangan mekanisme untuk pengelompokan objek spasial penting dilakukan, karena sebagian besar objek dalam ruang geografis adalah dua dimensi. Hasilnya pun akan lebih akurat untuk direpresentasikan sebagai poligon dua dimensi dibandingkan dengan titik satu dimensi (Joshi 2011). Salah satu sarana untuk mendapatkan suatu pola persebaran kondisi sosial ekonomi di Pulau Jawa adalah dengan melakukan pengelompokan. Pada penelitian ini, teknik data mining yang akan diaplikasikan adalah teknik clustering. Teknik clustering bertujuan untuk menemukan pengelompokan dan mengidentifikasi pendistribusian dan pola yang menarik dari data yang digunakan (Halkidi et al. 2001). Hasil akhir dari penggunaan teknik clustering dengan metode ST-DBSCAN adalah terdapat pengelompokan wilayah-wilayah walaupun dengan kerapatan yang bervariasi. Metode ST-DBSCAN diimplementasikan dalam bahasa pemrograman Python. Python dirancang agar dikembangkan dengan kode kompilasi untuk efisien dan beberapa tools yang tersedia untuk memudahkan integrasi Python dengan bahasa pemrograman lainnya (Cai et al. 2005). Selain sederhana, bahasa pemrograman Python merupakan opensource software yang dapat memudahkan pengguna untuk bebas mengembangkan perangkat lunak tanpa harus membeli 2 interpreternya. Hal ini didukung dengan tersedianya beberapa modul di Python yang dapat diunduh, sehingga akan mendukung pengerjaan pembangunan geospasial di Python. Visualisasi dari objek data IPM di Pulau Jawa, berupa peta wilayah persebaran per cluster berdasarkan pengaruh indikator IPM di Pulau Jawa. Hasil visualisasi bisa dibedakan dengan memberi warna area tiap-tiap cluster dengan deskripsi simbol area. Perumusan Masalah Perumusan masalah pada penelitian ini adalah bagaimana cara mengimplementasi algoritme ST-DBSCAN dalam bahasa pemrograman Python dan menemukan informasi pola persebaran kesejahteraan penduduk di Pulau Jawa. Tujuan Penelitian Tujuan yang ingin dicapai dari penelitian ini adalah menerapkan teknik clustering dengan metode ST-DBSCAN terhadap data IPM Pulau Jawa tahun 2012. Hasil dari cluster-cluster tersebut akan divisualisasikan dalam peta wilayah penyebaran per cluster sehingga didapatkan informasi yang lebih berguna dan lebih mudah untuk dipahami. Persebaran tersebut bisa dibedakan dengan memberi warna area tiap-tiap cluster dengan disertai deskripsi area tersebut. Manfaat Penelitian Penelitian ini diharapkan dapat mengetahui persebaran kondisi pembangunan manusia, khususnya masyarakat di Pulau Jawa sehingga bisa menentukan daerah mana yang harus diprioritaskan, merujuk pada hasil clustering data yang dilakukan. Hasil dari penelitian ini diharapkan dapat digunakan oleh pihak-pihak yang berkepentingan untuk mendapatkan informasi pengetahuan yang bermanfaat dan akurat terkait dengan perkembangan kependudukan di Pulau Jawa serta menjadi pendukung dalam proses pengambilan keputusan. Ruang Lingkup Penelitian 1 2 3 Ruang lingkup dari penelitian ini adalah: Penelitian ini menerapkan proses data mining dengan menggunakan teknik clustering dengan algoritme ST-DBSCAN. Penelitian ini menggunakan data IPM di Pulau Jawa tahun 2012. Implementasi program menggunakan bahasa pemrograman Python. 3 TINJAUAN PUSTAKA Data Spasial Temporal Data spasial temporal terdiri atas data spasial dan data temporal. Data spasial merupakan sebuah data yang berorientasi geografis, memiliki sistem koordinat tertentu sebagai dasar referensinya dan mempunyai dua bagian utama yaitu informasi lokasi (spasial) dan informasi deskriptif (atribut). Informasi lokasi (spasial) berkaitan dengan suatu koordinat baik koordinat geografi meliputi lintang dan bujur. Informasi lokasi dari suatu objek spasial terbagi ke dalam tiga kategori yaitu titik, garis, dan poligon (dua dimensi). Informasi deskriptif merupakan uraian atribut data spasial (hasil pengukuran, kategori objek, dan penjelasan hasil analisis). Atribut yang terdapat dalam data temporal memiliki faktor waktu yang mempengaruhi sebuah analisis yang dapat direpresentasikan secara berbeda-beda (Tork 2012). Contoh data spasial berupa area (poligon) ditunjukkan pada Gambar 1. Gambar 1 Data spasial dalam bentuk poligon ST-DBSCAN (Spatio Temporal-Density Based Spatial Clustering) Metode Density Based digunakan ketika cluster-cluster tidak beraturan dan ketika terdapat noise dan outlier dalam data. Konsep dasar ST-DBSCAN yaitu untuk setiap dari hasil clustering sekitar radius Eps tertentu harus memiliki setidaknya minimum jumlah titik. Neighboorhood dengan radius ɛ dari suatu objek dikatakan sebagai Eps-neighboorhood. Berdasarkan pendekatan tersebut, terdapat tiga macam titik (Gambar 2) yaitu core point, border point dan noise. Suatu titik disebut sebagai core point jika jumlah Eps-neighboorhood ≥ MinPts. Seperti yang dijelaskan pada Gambar 2 bahwa nilai minimum dari MinPts yaitu berjumlah 5. Border point merupakan titik yang bukan core point tetapi density reachable dari core point lainnya. Density reachable merupakan objek yang terjangkau oleh tetangga dari objek. Noise point merupakan titik yang tidak menjadi anggota manapun dari suatu cluster (Birant dan Kut 2007). Gambar 2 Core point, border point, dan noise (Birant dan Kut 2007) 4 Algoritme ST-DBSCAN merupakan perluasan dari algoritme DBSCAN. Terdapat empat parameter input dalam ST-DBSCAN yaitu Eps1, Eps2, MinPts dan ∆. Eps1 digunakan untuk mengukur parameter jarak untuk atribut spasial seperti lintang dan bujur. Eps2 digunakan untuk mengukur parameter jarak untuk atribut non-spasial. MinPts merupakan jumlah minimum titik dalam Eps-neighboorhood dari suatu titik. ∆ digunakan untuk mencegah penemuan cluster gabungan karena perbedaan kecil nilai non-spasial dari lokasi neighboorhood. Algoritme ini mampu menemukan clustering yang berkaitan dengan nilai-nilai spasial, non-spasial dan temporal dari objek (Lopez et al. 2011). Indeks Pembangunan Manusia (IPM) Indeks Pembangunan Manusia (IPM) merupakan indeks komposit untuk mengukur tiga dimensi pokok pembangunan manusia yang dinilai mampu mencerminkan kemampuan dasar (basic capabilities) penduduk. Ketiga kemampuan dasar itu adalah umur panjang dan sehat, berpengetahuan dan berketerampilan, serta akses terhadap sumber daya yang dibutuhkan untuk mencapai standar hidup layak (Setiawan dan Hakim 2013). Metode perhitungan untuk menyusun indeks pembangunan manusia telah diterapkan oleh Badan Pusat Statistik berdasarkan ketetapan United Nations Development Programme (UNDP) pada tahun 1994. Kriteria untuk setiap tingkat status nilai IPM tiap wilayah ditunjukkan pada Tabel 1. Tabel 1 Kriteria indeks pembangunan manusia (BPS 2013) Tingkat Status Kriteria Rendah IPM < 50 Menengah ke bawah 50 ≤ IPM < 66 Menengah ke atas 66 ≤ IPM < 80 Tinggi IPM ≥ 80 Praproses Data Praproses data merupakan proses yang dilakukan sebelum melakukan analisis terhadap data yang digunakan. Hal ini dilakukan untuk mengatasi data yang seringkali bersifat incomplete (kurangnya nilai dari suatu atribut), noisy (mengandung kesalahan atau mengandung nilai outlier yang menyimpang dari analisis yang diharapkan), dan inconsistent (mengandung data yang tidak konsisten). Tahapan praproses data meliputi (Han et al. 2012): 1 Pembersihan data Pembersihan data dilakukan untuk mengatasi nilai-nilai atribut yang hilang, mengidentifikasi atau membuang data pencilan serta memperbaiki data yang tidak konsisten. 2 Integrasi dan Transformasi data Integrasi data dilakukan untuk menggabungkan data yang berasal dari berbagai sumber menjadi satu penyimpanan data yang koheren. Ketika menggabungkan beberapa data, struktur dari data tersebut harus diperhatikan. Hal ini untuk memastikan bahwa data tersebut sesuai dengan format yang akan digunakan 5 3 dalam proses analisis. Proses transformasi data dilakukan dengan mengubah data menjadi format yang dapat digunakan untuk proses analisis. Reduksi data Teknik reduksi data diterapkan untuk memperoleh representasi kumpulan data dengan ukuran yang lebih kecil, namun tetap mempertahankan integritas keaslian data. Walaupun ukuran dataset berkurang namun tetap menghasilkan hasil analisis yang lebih efisien. Penentuan Koordinat Centroid (Titik Tengah) pada Poligon Centroid merupakan titik tengah dari suatu wilayah geografis. Misalnya, centroid dari wilayah di suatu kabupaten/kota letaknya tepat berada di tengahtengah wilayah kabupaten/kota tersebut. Menentukan titik centroid dapat dilakukan menggunakan software QuantumGIS yang menyediakan plugin fTools geometri. Tools polygon_centroids ini akan memberikan koordinat centroid yang terletak di setiap poligon pada lapisan poligon data yang diberikan. Dengan demikian, hasilnya akan didapatkan suatu koordinat centroid_longitude dan centroid_latitude di tiap wilayah kabupaten/kota tersebut. Perhitungan Jarak menggunakan Metrik Euclidean Terdapat beberapa langkah yang mudah untuk menentukan jarak antar objek. Pada penelitian ini, perhitungan jarak antar objek spasial dan objek temporal menggunakan euclidean metric. Metode ini digunakan untuk mengukur kesamaan antara data item dalam cluster. Berikut merupakan perhitungan jarak menggunakan metrik Euclidean antara titik i dan j: 𝑑(𝑖, 𝑗) = √ (𝑥𝑖1 − 𝑥𝑗1 )2 + (𝑥𝑖2 − 𝑥𝑗2 )2 … + (𝑥𝑖𝑛 − 𝑥𝑗𝑛 )2 dimana d(i,j) adalah jarak antar objek i dan j, dengan i= (𝑥𝑖1 , 𝑥𝑖2 , ... , 𝑥𝑖𝑛 ) dan j= (𝑥𝑗1 , 𝑥𝑗2 , ... , 𝑥𝑗𝑛 ) adalah n-dimensi objek (Han et al. 2012). Perhitungan jarak dengan metrik euclidean sering digunakan dalam algoritme clustering. Berdasarkan analisis dan hasil eksperimen menunjukkan bahwa metrik euclidean menghasilkan performa yang lebih baik dibandingkan dengan metode lainnya seperti Manhattan metric dalam hal jumlah iterasi yang dilakukan selama proses perhitungan (Sinwar dan Kaushik 2014). METODE PENELITIAN Data Penelitian Data yang digunakan adalah data IPM tahun 2012 di Pulau Jawa. Dataset ini terdiri atas 115 objek kabupaten/kota. 6 Tahapan Penelitian Penelitian ini mengacu pada langkah-langkah dalam proses Knowledge Discovery in Database (Han et al. 2012). Proses tersebut dilaksanakan dalam beberapa tahapan. Tahapan-tahapan yang dilakukan pada penelitian ini dapat dilihat pada Gambar 3. Mulai Evaluasi cluster Representasi pengetahuan Pengumpulan data Clustering menggunakan ST-DBSCAN Praproses data Hasil praproses data Selesai Gambar 3 Diagram alir penelitian a b c Pengumpulan data Data yang digunakan adalah data IPM di Pulau Jawa tahun 2012. Data tersebut diperoleh dari Badan Pusat Statistik dan http://data.ukp.go.id yang merupakan portal resmi data Indonesia yang berisi data Kementrian, lembaga pemerintahan, pemerintah daerah dari semua instansi lain yang terkait dengan Indonesia. Data IPM yang digunakan berupa data spasial (koordinat wilayah), data non-spasial (indeks pembangunan manusia) dan data temporal (tahun). Praproses data Tahap praproses data meliputi seleksi data, reduksi data serta integrasi dan transformasi data. Clustering menggunakan ST-DBSCAN Clustering data IPM tersebut menggunakan algoritme ST-DBSCAN dan bahasa pemrograman Python dengan memodifikasi fungsi DBSCAN pada package Scikit-learn. Algoritme ST-DBSCAN mampu menemukan cluster yang berkaitan dengan nilai-nilai spasial, non-spasial dan temporal dari objek (Lopez et al. 2011). Apabila pada teknik DBSCAN hanya diperlukan satu nilai Eps, maka pada teknik ST-DBSCAN diperlukan dua nilai Eps untuk mengukur persamaan data temporal yaitu atribut waktu dan persamaan untuk mengukur jarak data spasial. Penentuan nilai parameter tersebut dapat dilakukan menggunakan observasi k-dist yang mengacu pada penelitian Purwanto (2012). Berikut merupakan langkah-langkah penentuan nilai Eps dan MinPts melalui observasi k-dist yang ditunjukkan pada Gambar 4: 7 Gambar 4 Grafik observasi k-dist (Purwanto 2012) 1 2 3 4 d Komputasikan k-dist untuk seluruh titik pada beberapa k. Urutkan dalam urutan menurun dan plot nilai yang telah diurutkan. Perubahan tajam pada nilai k-dist yang berhubungan dengan nilai Eps dan nilai k digunakan sebagai MinPts yang sesuai. Poin yang k-dist lebih kecil dari Eps akan disebut sebagai core point (titik inti), sementara titik lain akan dilabeli sebagai titik noise atau titik border. Jika k terlalu besar maka penggerombolan kecil (ukuran kurang dari k) cenderung diberi label sebagai titik noise. Jika k terlalu kecil maka titik noise atau outlier akan salah diberi label sebagai penggerombolan. Evaluasi cluster Hasil cluster yang telah diperoleh akan dievaluasi seberapa bagus cluster tersebut menggunakan koefisien Silhouette. Berikut merupakan formula perhitungan koefisien Silhouette (Sklearn 2014) untuk satu titik sampel i: s(i) = b(i) – a(i) max { a(i), b(i) } dimana a(i) merupakan rata-rata jarak intra-cluster dan b(i) merupakan rata-rata jarak nearest-cluster. Penjelasan tentang intra-cluster dan nearest-cluster ditunjukkan pada Gambar 5. Gambar 5 Ilustrasi titik i dalam koefisien Silhouette (Rousseeuw 1987) Misalkan, titik sampel i berada di dalam cluster A (Gambar 5), sehingga a(i) merupakan rata-rata jarak titik i ke titik-titik lain yang berada di dalam cluster A. Kemudian, b(i) merupakan rata-rata jarak titik i ke titik-titik lain yang berada di cluster terdekat dengan cluster A, yaitu cluster B. Setelah mendapatkan nilai koefisien Silhouette untuk satu titik i, nilai koefisien Silhouette (Rousseeuw 1987) untuk N jumlah titik dapat dihitung menggunakan: 𝑁 1 SC = 𝑁 ∑𝑖=1 s(𝑖) 8 Nilai koefisien Silhouette yang diperoleh berada pada rentang -1 hingga 1. Nilai terbaik diperoleh adalah 1 dan nilai terburuk adalah -1. Jika nilai yang diperoleh bernilai negatif, hal ini bisa disebabkan karena terdapat sampel titik yang telah ditetapkan masuk ke dalam cluster yang salah serta dapat disimpulkan juga bahwa rata-rata jarak titik i dengan titik-titik lain di cluster B (nearest-cluster) lebih dekat daripada rata-rata jarak titik i dengan titik-titik lain yang berada di cluster itu sendiri (cluster A). e Representasi pengetahuan Tahap representasi pengetahuan merupakan tahap untuk memperlihatkan kepada pengguna hasil visualisasi terhadap cluster yang telah divalidasi menggunakan koefisien Silhouette. Pada tahap ini hasil visualisasi berbentuk peta wilayah cluster yang didasarkan pada berbagai sektor yang bisa dibedakan dengan memberi warna berbeda tiap-tiap cluster. Lingkupan Pengembangan Pembuatan model clustering dengan menggunakan metode ST-DBSCAN pada penelitian ini menggunakan beberapa perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut: 1 Perangkat Keras Processor: Intel(R) Core(TM) i3 CPU M 2348 @ 2.30GHz Memori: 4 GB RAM 2 Perangkat Lunak Sistem operasi Windows 7 Enterprise 32-bit Bahasa Pemograman Python 2.7.2 Quantum GIS Microsoft Excel 2013 Notepad++ LibreOffice 4.2 Package di Python yang digunakan: Scikit-learn 0.14.1, Numpy-MKL 1.8.1, Matplotlib 1.3.1, Scipy, dan Osgeo. HASIL DAN PEMBAHASAN Sumber Data dan Karakteristik Data Data poligon dengan format shapefile (.shp) diperoleh dari http://data.ukp.go.id. Data shapefile tersebut mencakup seluruh wilayah Indonesia. Tetapi pada penelitian ini hanya digunakan data Pulau Jawa saja. Wilayah yang berasal dari pengumpulan data pada penelitian ini dapat dilihat pada Gambar 6. Data IPM dengan format comma delimited (.csv) diperoleh dari Badan Pusat Statistik berisi atribut-atribut IPM yang terkait dengan kabupaten dan kota yang ada di wilayah Indonesia. 9 Gambar 6 Peta wilayah Pulau Jawa Praproses Data Tahapan-tahapan praproses data dilakukan terhadap semua data yang digunakan dalam penelitian ini meliputi: 1 Seleksi Data Pada tahapan ini dilakukan pemilihan data di Pulau Jawa yang terdiri atas pemilihan data poligon dan data IPM. Data poligon dengan format shapefile (.shp) dan data IPM dengan format comma delimited (.csv) berisi seluruh wilayah di Indonesia, dipilih hanya yang mencakup Pulau Jawa saja. Reduksi Data 2 Dataset yang diperoleh berisi data IPM dan komponen-komponen terkait per Kabupaten dan Kota di Pulau Jawa dalam bentuk csv file. Reduksi data dilakukan dengan cara memilih 3 atribut dari 11 atribut. Atribut yang terdapat dalam dataset awal yaitu: nama_provinsi, kode_kabkota, nama_kabkota, koordinat_kabkota, tahun, angka_harapan_hidup, angka_melek_huruf, lama_sekolah, pengeluaran_perkapita, ipm, dan jumlah_penduduk. Atribut yang dipilih yaitu nama_kabkota, ipm, dan tahun. 3 Integrasi dan Transformasi data Integrasi data dilakukan dengan menggabungkan atribut-atribut yang menarik dari tabel ke dalam format shapefile (.shp). Koordinat titik centroid dari data poligon diperoleh dari software QuantumGIS digabungkan ke dalam shapefile menggunakan software LibreOffice. Atribut-atribut IPM yang terdapat dalam csv file yang telah direduksi, juga digabungkan ke dalam shapefile. Transformasi ke dalam bentuk data shapefile, dilakukan agar data shapefile tersebut dapat digunakan sebagai input dalam implementasi ST-DBSCAN menggunakan Python. Contoh nilai atribut yang terdapat dalam shapefile, ditunjukkan dalam Tabel 2. Nama_Kab Pemalang Magelang Tabel 2 Contoh nilai atribut dalam shapefile Centroid_Longitude Centroid_Latitude IPM 109,39612 -7,03542 70,66 110,2622 -7,49445 77,26 Tahun 2012 2012 10 Penentuan Nilai Parameter Penentuan nilai parameter Eps1, Eps2, MinPts, dan ∆ɛ akan mempengaruhi hasil cluster yang diperoleh. Parameter Eps1 diperlukan untuk mengukur persamaan jarak data spasial (koordinat posisi suatu geometri) dan Eps2 digunakan untuk mengukur persamaan jarak data temporal. Parameter ∆ diperlukan untuk mengukur selisih nilai atribut non-spasial yang masih berada dalam batas toleransi yang telah ditentukan, sedangkan MinPts merupakan jumlah minimum titik yang terdapat dalam Eps1 dan Eps2. Penentuan keempat parameter tersebut merujuk pada penelitian Purwanto (2012) yang dapat dilakukan melalui observasi k-dist. Grafik k-dist dari data IPM tahun 2012 terdapat pada Gambar 7. Gambar 7 Pergeseran nilai ambang pada k-dist Banyaknya titik noise Untuk mendapatkan nilai Eps dan MinPts yang optimal, dipilih garis yang mendekati garis menaik kemudian dipotong secara vertikal pada plot k tetangga terdekat untuk menjadi batas titik ambang. Tujuan diberikannya titik ambang ini adalah untuk mendapatkan penggerombolan dengan jumlah noise yang sedikit. Nilai Eps yang dipilih kurang dari jarak yang ditentukan oleh lembah pertama yaitu berkisar dari 0.3-0.5. Pergeseran nilai Eps1 (Gambar 7) dilakukan pada nilai k=5, k=6, k=7, dan k=10. Berdasarkan nilai Eps1 tersebut diperoleh jumlah titik noise paling sedikit pada k=0.5 seperti yang ditunjukkan pada Gambar 8. 120 100 k=5 80 k=6 60 40 k=7 20 k=10 0 0 0,1 0,2 0,3 0,4 0,5 0,6 Nilai Eps 1 Gambar 8 Hubungan titik noise dengan Eps1 11 Banyaknya penggerombolan Pada Gambar 8 terlihat bahwa titik noise paling sedikit diperoleh pada k=5 dengan nilai Eps1=0.3, Eps1=0.4, dan Eps1=0.5. Berdasarkan nilai Eps1=0.3 didapatkan jumlah cluster sebanyak 4 cluster ditunjukkan pada Gambar 9. Jika menggunakan nilai Eps1=0.4 didapatkan jumlah cluster sebanyak 4 cluster. Tetapi, jika menggunakan nilai Eps1=0.5 hanya didapatkan 1 cluster saja. 5 4 3 0,3 0,4 0,5 2 1 0 Nilai Eps 1 Gambar 9 Diagram jumlah cluster Berdasarkan jumlah hasil cluster yang diperoleh dari nilai Eps1 yang digunakan dari rentang 0.3 - 0.5, akan dievaluasi hasil cluster tersebut menggunakan koefisien Silhouette. Berikut merupakan nilai koefisien Silhouette yang diperoleh dari tiap cluster yang terdapat dalam Tabel 3. Tabel 3 Nilai koefisien Silhouette cluster Nilai Eps1 Koefisien Silhouette 0.3 - 0.158 0.4 0.235 0.5 - 0.343 Pada penelitian ini digunakan nilai k=5 dan Eps1=0.4, hal ini dikarenakan jumlah titik noise pada k=5 cenderung melandai seiring dengan penambahan jumlah nilai Eps1. Nilai k merupakan representasi dari MinPts. Kemudian nilai Eps1 yang dipilih adalah 0.4, dikarenakan dari nilai koefisien Silhouette yang diperoleh mendekati nilai 1. Pemilihan nilai Eps2 diberikan nilai Eps2=0, dikarenakan data non-spasial yang digunakan hanya data IPM tahun 2012. Implementasi Algoritme ST-DBSCAN menggunakan Python Implementasi ST-DBSCAN di Python dapat dilihat pada Gambar 10 yang dilakukan dengan mengubah beberapa fungsi DBSCAN yang ada dalam package Scikit-learn. Pada modul DBSCAN, perhitungan jarak titik hanya dilakukan dengan menggunakan aspek spasial, sedangkan pada modul ST-DBSCAN dilakukan perhitungan jarak dari aspek spasial dan aspek temporal yang dilakukan pada baris 21-22. Perhitungan jarak menggunakan metrik Euclidean yang terdapat dalam modul pairwise dengan fungsi pairwise_distance(S, metric=’euclidean’), dimana S merupakan data spasial yang berisi koordinat centroid longitude dan centroid 12 latitude. Hasil perhitungan jarak akan disimpan dalam DistS dan DistT yang merupakan matriks jarak spasial dan matriks jarak temporal (baris 21-22). Melalui perhitungan matriks jarak spasial dan jarak temporal, dilakukan pencarian tetangga terdekat yang berada dalam rentang nilai Eps. Pencarian tetangga dilakukan dengan mencari irisan antara aspek spasial dan juga temporal. Tetangga terdekat yang berada dalam rentang nilai Eps1 merupakan anggota tetangga spasial yang disimpan dalam spat_neighbor (baris 23), sedangkan tetangga terdekat yang berada dalam rentang nilai Eps2 merupakan anggota tetangga temporal yang disimpan dalam temp_neighbor (baris 24). Irisan antara aspek spasial dan juga aspek temporal disimpan dalam neigh (baris 28) yang merupakan anggota tetangga secara aspek spasial dan temporal. Baris 1-42 menunjukkan proses clustering dengan melibatkan dua aspek yaitu aspek spasial dan aspek temporal (Gambar 10). Untuk proses clustering yang melibatkan aspek non-spasial (IPM) dijelaskan pada baris 43-62 (Gambar 10). Variabel non-spasial yang merupakan nilai IPM tiap kabupaten/kota akan disimpan dalam variabel global NS (baris 43). Parameter ∆ dihitung menggunakan formula perhitungan Zscore untuk setiap objek x di dalam cluster (Han et al. 2012): 𝑧= |x − x̄ | 𝜎 dimana x merupakan nilai IPM objek dalam cluster, x̄ merupakan mean dari IPM satu cluster, dan σ merupakan standar deviasi untuk data populasi. Nilai Zscore berisi atribut non-spasial yaitu nilai IPM tahun 2012. Variabel NS disimpan ke dalam variabel numpy array yaitu ave_cluster (baris 46). Variabel tersebut didefinisikan sebagai fungsi Zscore yang menghitung nilai IPM tiap kabupaten/kota. Jika suatu objek tidak ditandai sebagai noise atau tidak berada dalam cluster manapun, objek tersebut akan dievaluasi menggunakan Zscore. Jika nilai Zscore dari titik objek tersebut >= ∆ (baris 55), maka titik tersebut akan dilabeli dengan label -1 atau noise, sebaliknya jika nilai Zscore dari titik tersebut <∆ maka titik tersebut akan dilabeli sebagai cluster yang sedang diproses. Hasil akhir dari proses clustering ini berupa objek poin yang sudah memiliki label tiap-tiap objeknya. Kemudian hasil cluster yang berupa data poin tersebut ditransformasi menjadi peta wilayah persebaran menggunakan software QuantumGIS. 13 1 S = np.array(object_spatial) # Mengubah array ke bentuk numpy 2 T = np.array(object_temporal) # Numpy digunakan untuk mengolah matrix 3 NS = np.array(object_nonspatial) 4 O = np.array(object) # terdiri dari objek spasial, nonspasial dan temporal 5 6 eps1 = 0.5 # Parameter input yang dibutuhkan 7 eps2 = 0 8 min_samples = 4 9 de = 2 10 metric = 'euclidean' # Menghitung matrix jarak dengan metric euclidean 11 random_state= None # Jenis random_state yang diinginkan, dibuat default=none 12 13 n = O.shape[0] # Menghitung panjang array O (banyaknya data di obj) 14 random_state = check_random_state(random_state) # Memeriksa random_state 15 index_order = np.arange(n) # Membuat array sepanjang n, dijadikan index 16 random_state.shuffle(index_order) # Mengacak urutan dari index_order 17 labels = -np.ones(n) # Semua titik dijadikan noise dulu, dilabeli dgn -1 18 core_samples = [] # List untuk menyimpan core_sample 19 label_num = 0 # Label jika ditemukan cluster baru 20 21 DistS = pairwise_distances(S, metric=metric) # Mengukur jarak spatial 22 DistT = pairwise_distances(T, metric=metric) # Mengukur jarak temporal 23 spat_neighbor = [np.where(s <= eps1)[0] for s in DistS] # Tetangga spasial 24 temp_neighbor = [np.where(t <= eps2)[0] for t in DistT] # Tetangga temporal 25 26 neighborhoods = [] # Mencari tetangga di setiap baris (X1-Xn) 27 for i in range(n): 28 neigh = list( set(spat_neighbor[i]) & set(temp_neighbor[i]) ) 29 # Mencari irisan (intersection) antara tetangga spasial degan temporalnya 30 array_neigh = np.array(neigh, dtype=np.int64) # Ubah ke numpy array 31 neighborhoods.append(array_neigh) # Append ke var neighborhoods 32 33 for index in index_order: 34 if labels[index] != -1 or len(neighborhoods[index]) < min_samples: 35 continue # Jika objek sudah dilabeli/bukan core, maka tdk diproses 36 core_samples.append(index) # jika objek=core msk ke dlm core_samples 37 labels[index] = label_num # labeli dgn label cluster yg sdg diproses 38 candidates = [index] 39 40 while len(candidates) > 0: # Ekspansi cluster ke seluruh objek 41 new_candidates = [] 42 43 global NS # Dijadikan global variabel 44 NS=np.array(object_nonspatial) 45 stats.zscore(NS, axis=0, ddof=0) # Fungsi Zscore dengan objek non-spasial 46 global ave_cluster 47 ave_cluster=np.array(stats.zscore) # Zscore disimpan dalam numpy ave_cluster 48 49 for c in candidates: 50 noise = np.where(labels[neighborhoods[c]] == -1)[0] 51 noise = neighborhoods[c][noise] 52 labels[noise] = label_num # Tetangga dari kandidat yg 53 mempunyai nilai -1 akan dijadikan noise 54 for neighbor in noise: 55 if ave_cluster >= de: 56 labels[neighbor] = label_num 57 if len(neighborhoods[neighbor]) >= min_samples: 58 # Jika tetangga memenuhi min-pts, ditemukan core_point baru 59 new_candidates.append(neighbor) 60 core_samples.append(neighbor) 61 candidates = new_candidates # core_point yg baru didapat, 62 label_num += 1 akan dimulai dengan cluster baru Gambar 10 Implementasi ST-DBSCAN menggunakan Python 14 Hasil Clustering menggunakan ST-DBSCAN Proses clustering data IPM dilakukan menggunakan aplikasi yang telah dibuat menggunakan bahasa pemrograman Python. Tampilan utama dari aplikasi tersebut dapat dilihat pada Lampiran 1. Gambar 11 menunjukkan bahwa wilayahwilayah di Pulau Jawa terkelompokkan berdasarkan nilai IPM yang diperoleh di tiap wilayahnya. Nilai IPM yang digunakan adalah nilai IPM pada tahun 2012. Intensitas warna yang diberikan, digunakan untuk membedakan tinggi rendahnya nilai IPM di suatu wilayah. Semakin tinggi intensitas warnanya maka nilai IPM di wilayah tersebut semakin tinggi. Yogyakarta merupakan wilayah yang memiliki nilai IPM tertinggi di tahun 2012 yaitu sebesar 80.24, sedangkan Sampang memiliki nilai IPM terendah yaitu sebesar 61.67. SampangS ampang Yogyakarta Sampang Gambar 11 Pengelompokan di Pulau Jawa berdasarkan IPM tahun 2012 Proses clustering menggunakan algoritme ST-DBSCAN pada data IPM di Pulau Jawa tahun 2012 menghasilkan 4 cluster dan 18 titik noise dengan menggunakan parameter Eps1=0.4 (≈ 44 km), Eps2=0, MinPts=5, dan ∆=2. Hasil clustering menggunakan Python menghasilkan data berupa titik (poin) seperti yang ditunjukkan pada Lampiran 2. Kemudian, poin tersebut ditransformasikan ke dalam peta wilayah menggunakan software QuantumGIS. Hasil transformasi tersebut dapat dilihat pada Gambar 12. Cilegon Tanggerang Sampang Majalengka Tubana mpang Sampan Lebak SampangS ampang Bandung Sumedang Yogyakarta Blitar SurabayaS ampang Gambar 12 Hasil cluster dengan Eps1=0.4, Eps2=0, MinPts=5, dan ∆=2 15 Hasil cluster yang telah terbentuk dianalisis persebarannya berdasarkan aspek spasial, aspek non-spasial dan juga aspek temporalnya. Setiap cluster memiliki karakteristik wilayah yang berbeda-beda seperti yang ditunjukkan pada Tabel 4. Tabel 4 Karakteristik wilayah tiap cluster Cluster ke- Karakteristik wilayah 0 Memiliki rata-rata IPM=72.49, anggota cluster 0 terdiri dari wilayah-wilayah di sekitar timur Jawa seperti Blitar dan Kediri. 1 Memiliki rata-rata IPM=76.57, anggota cluster 1 sebagian besar wilayah di sekitar JABODETABEK yang memiliki nilai IPM cenderung tinggi. 2 Memiliki rata-rata IPM=73.70, anggota cluster 2 terdiri dari wilayah Bandung, Sumedang, dan sekitarnya. 3 Memiliki rata-rata IPM=72.15, wilayah yang berada di dalam cluster 3 sebagian besar memiliki nilai IPM yang rendah seperti Indramayu dan Cirebon Gambar 12 menunjukkan bahwa wilayah yang berada di cluster 1 terdiri atas wilayah yang berada di sekitar JABODETABEK seperti yang ditunjukkan pada Lampiran 3. Secara umum, nilai IPM DKI Jakarta berada di atas angka IPM Nasional. Selama kurun waktu 2004-2012, kinerja pembangunan manusia di DKI Jakarta menunjukkan peningkatan. Tingginya nilai IPM di wilayah ini dikarenakan tingginya akses masyarakat terhadap layanan di bidang pendidikan dan kesehatan. Namun, wilayah Cilegon dan Lebak yang secara spasial berdekatan dengan Tanggerang tidak termasuk ke dalam cluster 1. Hal ini disebabkan karena nilai IPM di Cilegon dan Lebak berbeda jauh dengan nilai IPM di sekitarnya. Kenyataannya, Lebak yang secara spasial berdekatan dengan Bogor, memiliki nilai IPM yang rendah yaitu 68.42 hal ini dilihat dari akses jalan dan transportasi yang sangat buruk. Cluster 3 beranggotakan Indramayu, Majalengka dan Kabupaten Cirebon memiliki rata-rata IPM terendah yaitu sebesar 72.15. Hal ini disebabkan karena masih tingginya kesenjangan kualitas sumber daya manusia antara gender. Pada bidang pendidikan misalnya, kualitas angka melek huruf penduduk perempuan dewasa jauh tertinggal dibandingkan dengan penduduk laki-laki. Cluster 2 merupakan cluster yang memiliki rata-rata IPM sebesar 73.70. Anggota dari cluster 2 yaitu wilayah Bandung dan sekitarnya, sedangkan cluster 0 memiliki rata-rata IPM tertinggi ketiga yaitu sebesar 72.49 yang terdiri dari wilayah-wilayah di sekitar timur Jawa yaitu seperti Kediri, Blitar, dan Surabaya. Sebagian besar wilayah yang masuk ke dalam kategori noise terletak di wilayah Jawa Barat dan Provinsi Banten. Hal ini dikarenakan wilayah-wilayah di daerah barat luasnya lebih besar secara spasial dibandingkan wilayah-wilayah di bagian timur dan tengah. Setiap wilayah di Pulau Jawa memiliki potensi dan kemampuan yang berbeda-beda, sehingga laju pertumbuhan pembangunannya pun berbeda-beda. Oleh karena itu, pemerintah harus memberikan perhatian yang lebih besar bagi kabupaten/kota yang pembangunannya masih lambat. Pemerataan penyebaran fasilitas dan tenaga kesehatan masih perlu ditingkatkan, khususnya di wilayahwilayah pedesaan seperti di wilayah yang menghadapi kendala dalam hal aksesibilitas karena kurangnya sarana dan prasarana transportasi. 16 SIMPULAN DAN SARAN Simpulan Pengimplementasian ST-DBSCAN menggunakan bahasa pemrograman Python pada data indeks pembangunan manusia tahun 2012 menghasilkan 4 cluster dan 18 titik noise, dengan menggunakan parameter jarak spasial (Eps1) = 0.4 (≈ 44 km), parameter jarak temporal (Eps2) = 0, parameter untuk mengukur selisih nilai atribut non-spasial yang masih berada dalam batas toleransi yang telah ditentukan (∆) = 2, dan minimum anggota dalam cluster (MinPts) = 5. Cluster 1 memiliki rata-rata nilai IPM tertinggi pertama di Pulau Jawa yaitu sebesar 76.57 yang sebagian besar wilayahnya berada di JABODETABEK. Tingginya nilai IPM di wilayah ini dikarenakan tingginya akses masyarakat terhadap layanan di bidang pendidikan maupun kesehatan. Hal ini berlawanan dengan cluster 3 yang berangotakan wilayah di sekitar Indramayu dan Cirebon, memiliki nilai rata-rata IPM terendah di Pulau Jawa yaitu sebesar 72.15. Hal ini disebabkan oleh masih tingginya kesenjangan kualitas sumber daya manusia antar gender. Oleh karena itu, pemerintah harus memberikan perhatian yang lebih besar bagi kabupaten/kota yang pembangunannya masih lambat. Saran 1 2 Berikut merupakan saran-saran yang diberikan untuk penelitian selanjutnya: Pada penelitian selanjutnya dapat menambahkan aspek temporal dari beberapa tahun, tidak hanya satu tahun saja. Menentukan parameter Eps1, Eps2, MinPts, dan ∆ secara otomatis untuk membentuk suatu cluster yang optimal. DAFTAR PUSTAKA Birant D, Kut A. 2007. ST-DBSCAN: An algorithm for clustering spatialtemporal data. Data and Knowledge Engineering. 60:208-221. doi:10.1016/j.datak.2006.01.013. [BPS] Badan Pusat Statistik. 2013. Publikasi Indeks Pembangunan Manusia 2012 [internet]. [diacu 2014 Juni 12]. Tersedia pada: http://www.bps.go.id/publications/publikasi2013.php?key=indeks+pembangun an+manusia. Cai X, Langtangen HP, Moe H. 2005. On the performance of the python programming language for serial and parallel scientific computations. Scientific Programming. 13(2005): 31-56. Halkidi M, Batistakis Y, Vazirgiannis M. 2001. On clustering validation techniques. Journal of Intelligent Information Systems. 17: 2/3: 107-145. Han J, Kamber M, Pei J. 2012. Data Mining: Concepts and Techniques. San Francisco (US): Morgan Kaufmann Publisher. 17 Joshi D. 2011. Polygonal spatial clustering [disertasi]. Nebraska (NE): University of Nebraska. Lopez D, Parimala M, Senthilkumar NC. 2011. A survey on density based clustering algorithms for mining large spatial databases. International Journal of Advanced Science and Technology. 31: 59-66. Purwanto UY. 2012. Penggerombolan spasial hotspot kebakaran hutan dan lahan menggunakan DBSCAN dan ST-DBSCAN [tesis]. Bogor (ID): Institut Pertanian Bogor. Rousseeuw PJ. 1987. Silhouettes: a graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics. 20(1987): 53-65. doi: 10.1016/0377-0427(87)90125-7. Setiawan MB, Hakim A. 2013. Indeks pembangunan manusia. Jurnal Economia. 9(1).2013. Sinwar D, Kaushik R. 2014. Study of euclidean and manhattan distances metrics using simple K-Means clustering. International Journal for Research in Applied Science and Engineering Technology. 2(5): 1-5. doi: 2321-9653/ijraset.2014.2.5 [Sklearn] Scikit-learn. 2014. sklearn.metrics.silhouette_score [internet]. [diacu 2014 Agustus 11]. Tersedia dari: http://scikitlearn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html. Tork HF. 2012. Spatio-temporal clustering methods classification. Di dalam: -, Doctoral Symposium on Imformatics Engineering (DSIE 2012); 2012 Jan 26-27; Porto, Porto, Portugal. Porto (PT): Doctoral Symposiums on Informatics Engineering. hlm 1-5. 18 Lampiran 1 Antar muka implementasi ST-DBSCAN menggunakan Python Lampiran 2 Hasil cluster menggunakan Python 19 Lampiran 3 Anggota cluster Cluster 0 Nama kabupaten/kota Pemalang Tegal Brebes Magelang (kota) Surakarta (kota) Salatiga (kota) Semarang (kota) Pekalongan (kota) Tegal (kota) Pacitan Ponorogo Trenggalek Tulungagung Lumajang Pasuruan Jombang Nganjuk Madiun Magetan Ngawi Bojonegoro Lamongan Bangkalan Kediri (kota) Blitar (kota) Malang (kota) Probolinggo(kota) Pasuruan (kota) Mojokerto (kota) Madiun (kota) Surabaya (kota) Batu (kota) Blitar Kediri Mojokerto Gresik Malang Probolinggo Sidoarjo Kulon progo Bantul Gunung kidul Sleman Ipm tahun 2012 70.662376 71.743761 69.366273 77.261946 78.597285 77.129706 77.980854 75.248743 74.629548 72.881491 71.909985 73.656883 74.446967 68.996296 69.169316 73.855656 71.956013 70.877027 73.848102 70.204196 67.742321 71.047504 65.687752 77.195027 78.306771 78.429620 75.436503 74.329810 78.007568 77.499953 78.327431 75.416594 74.429981 72.719278 74.419242 75.973641 71.943130 64.351772 77.363461 75.331858 75.514320 71.111213 79.390441 20 Cluster 0 (lanjutan) Nama kabupaten/kota Yogyakarta(kota) Banyumas Purbalingga Banjarnegara Kebumen Purworejo Wonosobo Magelang Boyolali Klaten Sukoharjo Wonogiri Karanganyar Sragen Grobogan Blora Pati Kudus Jepara Demak Semarang Temanggung Kendal Batang Pekalongan Ipm tahun 2012 80.238544 73.328836 72.965203 70.701244 71.862102 73.526780 71.448986 73.135228 71.496167 74.460829 74.206700 72.588668 74.621029 71.847363 71.765051 71.487698 73.807917 73.694539 73.537009 73.522710 74.978996 74.735930 71.478963 71.414477 72.369186 Cluster 1 Nama kabupaten/kota Bogor Karawang Bekasi Bogor (kota) Sukabumi (kota) Bekasi (kota) Depok (kota) Jakarta selatan (kota) Jakarta pusat (kota) Jakarta timur (kota) Jakarta barat (kota) Jakarta utara (kota) Tangerang Tangerang (kota) Ipm tahun 2012 73.077391 70.894504 74.131281 76.465651 75.730382 77.173204 79.709663 80.165068 79.123632 79.797018 79.429627 78.254531 72.361690 75.722700 21 Cluster 2 Nama kabupaten/kota Bandung Sumedang Subang Purwakarta Bandung (kota) Ipm tahun 2012 74.731844 72.949681 71.791968 72.212963 76.855860 Nama kabupaten/kota Ciamis Kuningan Cirebon Majalengka Indramayu Cirebon (kota) Tasikmalaya (kota) Banjar (kota) Ipm tahun 2012 72.140920 71.993569 69.583783 71.156603 68.893204 76.015603 75.347001 72.099265 Nama kabupaten/kota Sukabumi Cianjur Garut Tasikmalaya Kepulauan seribu Lebak Pandeglang Cilegon (kota) Bondowoso Tuban Pamekasan Banyuwangi Jember Sampang Situbondo Sumenep Rembang Serang Ipm tahun 2012 71.497019 70.017547 72.120058 72.835846 71.447367 68.428030 69.220213 75.892821 64.980519 69.177773 66.510109 70.534151 65.992982 61.666981 65.061439 66.410087 72.812905 69.830330 Cluster 3 Noise 22 RIWAYAT HIDUP Penulis dilahirkan di Samarinda pada tanggal 23 Januari 1994, dari pasangan Bapak Ir Agus Darmono, MM dan Ibu Ir Irma Haerastiati sebagai anak terakhir dari empat bersaudara. Pada tahun 2010 penulis lulus dari SMA Negeri 3 Bogor dan lulus seleksi masuk Institut Pertanian Bogor (IPB) melalui jalur Undangan Seleksi Masuk IPB dan diterima di Program Studi S1 Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama mengikuti perkuliahan, penulis pernah aktif menjadi anggota dalam Himpunan Mahasiswa Ilmu Komputer (HIMALKOM). Pada tahun 2013, penulis mengikuti kegiatan Praktik Kerja Lapangan di PT Industri Telekomunikasi Indonesia (Persero).