Templat tugas akhir S1

advertisement
CLUSTERING DATA INDEKS PEMBANGUNAN MANUSIA
(IPM) PULAU JAWA MENGGUNAKAN ALGORITME
ST-DBSCAN DAN BAHASA PEMROGRAMAN R
NURUL AFIFAH
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 Clustering Data Indeks
Pembangunan Manusia (IPM) Pulau Jawa Menggunakan Algoritme ST-DBSCAN
dan Bahasa Pemrograman R 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
Nurul Afifah
NIM G64100087
ABSTRAK
NURUL AFIFAH. Clustering Data Indeks Pembangunan Manusia (IPM) Pulau
Jawa Menggunakan Algoritme ST-DBSCAN dan Bahasa Pemrograman R.
Dibimbing oleh HARI AGUNG ADRIANTO.
Indeks pembangunan manusia (IPM) dapat digunakan sebagai tolak ukur
penentuan derajat kesejahteraan rakyat. Data IPM merupakan data yang terdiri dari
data spasial berbentuk poligon dan data temporal. ST-DBSCAN merupakan salah
satu algoritme yang mampu mengolah data spatial dan temporal. Tujuan penelitian
ini adalah menerapkan algoritme ST-DBSCAN pada data IPM Pulau Jawa tahun
2012. Hasil penelitian memperoleh 9 cluster menggunakan parameter Eps1
(parameter jarak spasial) = 0.4, Eps2 (parameter jarak temporal) = 0, MinPts
(jumlah minimal anggota cluster) = 4, dan  (parameter ukuran selisih atribut
non-spasial yang ditoleransi) = 2. Rata-rata nilai IPM tertinggi terletak di wilayah
Jabodetabek yaitu sebesar 77.67. Tingginya nilai IPM di wilayah ini dikarenakan
letaknya yang berada di pusat ibukota Indonesia. Hal ini berlawanan dengan
wilayah timur Jawa yang memiliki nilai rata-rata IPM terendah yaitu sebesar 72.24.
Ukuran yang dapat menunjukkan kualitas suatu cluster dengan perhitungan
silhouette index. Pada penelitian ini, nilai koefisien silhouette index adalah
0.1599514. Berdasarkan nilai koefisien silhouette index, kualitas cluster data IPM
yang terbentuk belum mendekati nilai terbaik. Implentasi algoritme ST-DBSCAN
menggunakan bahasa R. Package dalam bahasa pemrograman R yang digunakan
adalah maptools, cluster, dan rgeos.
Kata kunci: clustering, IPM, R, silhouette index, ST-DBSCAN
ABSTRACT
NURUL AFIFAH. Clustering on Human Development Index (HDI) Data on Java
in Year 2012 Using ST-DBSCAN Algorithm and R Programming Language.
Supervised by HARI AGUNG ADRIANTO.
Human development index (HDI) is an important indicator for regional
quality evaluation. HDI data consist of a polygon-shaped spatial and temporal data.
ST-DBSCAN can process both spatial and temporal data. The purpose of this
research is to apply ST-DBSCAN algorithm on HDI data on Java. Nine clusters are
found on Eps1 = 0.4, Eps2 = 0, MinPts = 4 and delta-e equal to 2 local z-score. The
highest HDI value is located at Jabodetabek, 77.67. It is caused by its location at
capital of Indonesia. This is in contrast with the eastern of Java that has the lowest
HDI value, 72.24. The precision of a cluster is calculated using silhouette index. In
this research, the cluster evaluation is 0.1599514. Based on this result, it is still not
close to the best value. ST-DBSCAN algorithm is implemented using R language,
using maptools, cluster and rgeos packages.
Keywords: clustering, HDI, R, Silhouette Index, ST-DBSCAN
CLUSTERING DATA INDEKS PEMBANGUNAN MANUSIA
(IPM) PULAU JAWA MENGGUNAKAN ALGORITME
ST-DBSCAN DAN BAHASA PEMROGRAMAN R
NURUL AFIFAH
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 Karlina Khiyarin Nisa, SKom MT
2 Dr Imas Sukaesih Sitanggang, SSi Mkom
Judul Skripsi : Clustering Data Indeks Pembangunan Manusia (IPM) Pulau Jawa
Menggunakan Algoritme ST-DBSCAN dan Bahasa Pemrograman
R
Nama
: Nurul Afifah
NIM
: G64100087
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 Januari 2014 ini ialah data
mining, dengan judul Clustering Data Indeks Pembangunan Manusia (IPM) Pulau
Jawa Menggunakan Algoritme ST-DBSCAN dan Bahasa Pemrograman R.
Terima kasih penulis ucapkan kepada Bapak Hari Agung Adrianto selaku
pembimbing, keluarga, serta teman-teman Program Studi S1 Ilmu Komputer yang
telah banyak memberi saran. Ungkapan terima kasih juga disampaikan kepada
ayah, ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya.
Semoga karya ilmiah ini bermanfaat.
Bogor, September 2014
Nurul Afifah
DAFTAR ISI
DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
3
TINJAUAN PUSTAKA
3
Praproses Data
3
Algoritme ST-DBSCAN
3
Hausdorff Distance
4
Silhouette Index
5
Indeks Pembangunan Manusia
6
METODE PENELITIAN
7
Data Penelitian
7
Tahapan Penelitian
7
Lingkungan Pengembangan
10
HASIL DAN PEMBAHASAN
10
Sumber Data dan Karakteristik Data
10
Praproses Data
11
Implementasi ST-DBSCAN dengan Bahasa Pemrograman R
11
Clustering Menggunakan ST-DBSCAN
13
Hasil Clustering ST-DBSCAN
16
Evaluasi Cluster
17
SIMPULAN DAN SARAN
18
Simpulan
18
Saran
18
DAFTAR PUSTAKA
18
LAMPIRAN
20
DAFTAR TABEL
1 Kriteria IPM menurut UNDP (BPS 2013)
2 Atribut dalam shapefiles
3 Hasil perhitungan nilai silhoutte index untuk MinPts=4
6
11
15
DAFTAR GAMBAR
1 Core-point, border-point, dan noise (Verma 2009)
4
2 Directly density-reachable, density-reachable, dan densityconnected (Cassisi 2011)
4
3 Perbedaan hausdorff distance dengan centroid distance (Joshi 2011) 5
4 Ilustrasi silhouette index (Rousseeuw 1987)
5
5 Diagram penghitungan IPM (BPS 2013)
6
6 Diagram alir penelitian
7
7 Algoritme ST-DBSCAN (Birant dan Kut 2007)
8
8 Grafik nilai Eps (Purwanto 2012)
9
9 Implementasi menghitung jarak antar kota dan kabupaten
11
10 Implementasi direcly density reachable suatu objek
12
12
11 Implementasi pembentukan cluster baru
12 Implementasi penelusuran aspek non-spasial data IPM
13
13 Pergeseran nilai ambang pada K-Dist
14
14 Hubungan jumlah noise dengan nilai Eps 1
14
15 Hubungan jumlah cluster dengan nilai Eps1 pada MinPts=4
15
16
16 Hasil clustering data IPM Pulau Jawa tahun 2012
17 Boxplot data IPM setiap cluster
17
18 Implementasi evaluasi cluster Silhouette Index
17
DAFTAR LAMPIRAN
1 Hasil implementasi ST-DBSCAN menggunakan bahasa
pemrograman R
2 Tabel hasil clustering data IPM pulau Jawa tahun 2014
20
22
1
PENDAHULUAN
Latar Belakang
Peningkatan derajat kesejahteraan rakyat merupakan salah satu tujuan dari
suatu program perekonomian suatu daerah. Konsep IPM (Indeks Pembangunan
Manusia) pertama kali dipublikasikan United Nations Development Programme
(UNDP) melalui Human Development Report tahun 1996, yang kemudian berlanjut
setiap tahun (UNDP 1996). Dalam publikasi ini pembangunan manusia
didefinisikan sebagai “a process of enlarging people’s choices” atau proses yang
meningkatkan aspek kehidupan masyarakat. IPM menggabungkan tiga aspek
penting, yaitu peningkatan kesehatan, pendidikan, dan kemampuan ekonomi
masyarakat dalam kurun waktu tertentu (BPS 2013). Ketiga unsur ini sangat
penting dalam menentukan tingkat kesejahteraan suatu wilayah.
Nilai IPM Indonesia terus meningkat dari 67.70 ke 73.29 selama tahun 1996
sampai 2012, sehingga Indonesia dikelompokkan sebagai negara berkembang
(121th world rank). Pada tahun 2012, Pulau Jawa memiliki rata-rata IPM yang lebih
tinggi jika dibandingkan dengan pulau yang lain, yaitu sebesar 74.33 (BPS 2013).
Jadi, menemukan pola nilai IPM di Pulau Jawa dapat bermanfaat untuk
mendefinisikan strategi pembangunan daerah.
Pemanfaatan metode data mining untuk data IPM mulai banyak dilakukan
pemerintah dalam mengambil kebijakan. Beberapa metode telah digunakan untuk
pengelompokan daerah/kecamatan berdasarkan kemiripan IPM, misalnya Fuzzy
Cmeans Cluster dan Fuzzy C-Shell Cluster (Widodo dan Purhadi 2012) dan SOM
(Santosa et al. 2013) namun tidak satupun dari penelitian tersebut menggunakan
dimensi spasial seperti jarak dan topologi. Dengan menggunakan teknik clustering
diharapkan akan diketahui pola persebaran nilai IPM pada suatu wilayah.
Data IPM terdiri dari data yang berbentuk spasial, data temporal, dan data
non-spasial. Mengekstrak pola data spasial dan temporal pada umumnya lebih
kompleks daripada data numerik dan data kategori sehubungan dengan
kompleksitas tipe data spasial, ukuran yang lebih besar, dan waktu. Clustering
adalah proses pengelompokan data besar sehingga membentuk kelompokkelompok sehingga pada setiap kelompoknya memiliki kesamaan karakteristik
yang lebih tinggi dibandingkan dengan kelompok yang lain (Tork 2012).
DBSCAN dan ST-DBSCAN merupakan penggerombolan berbasis
kepadatan dalam data mining. Penggerombolan berbasis kepadatan memiliki
kelebihan yaitu bentuk penggerombolan yang lebih fleksibel, dan ukuran data yang
besar. DBSCAN dan ST-DBSCAN memiliki kelebihan tahan terhadap titik noise
dan dapat mengatasi penggerombolan yang memiliki perbedaaan bentuk dan
ukuran tetapi DBSCAN gagal dalam mendeteksi penggerombolan dengan
kepadatan yang beragam sedangkan ST-DBSCAN mampu mengatasi kelemahan
DBSCAN tersebut (Ester et al. 1996). DBSCAN digunakan untuk data spasial
sedangkan ST-DBSCAN untuk data spatio-temporal (Han et al. 2001). STDBSCAN merupakan perluasan algoritme DBSCAN, sehingga ST-DBSCAN
mampu mengolah data spasial menggunakan Eps1 dan data temporal menggunakan
Eps2. ST-DBSCAN mampu mendeteksi noise pada kepadatan cluster yang berbeda
dengan mendeteksi faktor kepadatan pada setiap cluster (Birant dan Kut 2007).
2
Dengan diterapkannya proses data mining diharapkan dapat menghasilkan
informasi atau pengetahuan yang penting dan berguna dari data spasial dan
data temporal dengan menggunakan ST-DBSCAN.
Pada penelitian ini, penerapan ST-DBSCAN untuk clustering data spasial
kabupaten dan kota di Pulau Jawa berdasarkan nilai IPM pada tahun 2012. Untuk
mengukur jarak aspek spasial, digunakan perhitungan jarak haussdorff, karena jarak
hausdorff dapat digunakan untuk menghitung jarak antar poligon (Joshii 2011).
Selain itu, parameter Eps2 diabaikan karena pada penelitian ini hanya
menggunakan data 1 tahun. Parameter terakhir adalah z-score yang digunakan
untuk menentukan threshold data non-spasial ().
Salah satu fasilitas perangkat lunak yang sangat efektif untuk implementasi
clustering adalah bahasa R (Venables dan Smith 2009). R efektif dalam
pengelolaan data dan fasilitas penyimpanan. Ukuran fail yang disimpan jauh lebih
kecil dibanding software lainnya. Sehingga, sangat dimungkinkan untuk
pengolahan data kependudukan yang sangat besar. Selain itu, R dapat
dikembangkan sesuai keperluan dan kebutuhan, sifatnya yang terbuka, dan setiap
orang dapat menambahkan fitur-fitur tambahan dalam bentuk paket ke dalam
software R yang sifatnya gratis. R bersifat multiplatform, yakni dapat diinstall dan
digunakan baik pada sistem operasi Windows dan UNIX/LINUX.
Perumusan Masalah
Data IPM Pulau Jawa berbentuk data spasial, data non-spasial, dan data
temporal. Clustering terhadap data spasial, data non-spasial dan data temporal dapat
dilakukan dengan algoritme ST-DBSCAN. Perumusan masalah dalam penelitian
ini ialah bagaimana cara mengimplementasikan algoritme ST-DBSCAN
menggunakan R untuk data spasial berbentuk poligon dan data non-spasial.
Tujuan Penelitian
Tujuan dari penelitian ini adalah menerapkan proses spatial data mining
dengan menggunakan teknik clustering ST-DBSCAN pada data IPM Pulau Jawa
tahun 2012 dengan pengimplementasian menggunakan bahasa pemrograman R.
Manfaat Penelitian
Penelitian ini diharapkan dapat menemukan kelompok wilayah berdasarkan
data IPM Pulau Jawa dan kedekatan jarak antar wilayah, sehingga hasilnya dapat
digunakan oleh pihak yang berkepentingan untuk mendapatkan informasi yang
berguna dan lebih akurat sebagai pendukung proses pengambilan keputusan terkait
dalam pembangunan daerah.
3
Ruang Lingkup Penelitian
Dataset pada penelitian ini adalah data IPM Pulau Jawa tahun 2012.
Algoritme clustering yang akan digunakan untuk pengolahan data IPM adalah STDBSCAN. Implementasi algoritme ST-DBSCAN dilakukan menggunakan bahasa
pemrograman R.
TINJAUAN PUSTAKA
Praproses Data
Praproses diperlukan untuk meningkatkan akurasi dan efisiensi pada proses
mining. Pada praproses data, hal yang dapat dilakukan adalah pembersihan data,
integrasi data, transformasi data, dan reduksi data. Proses pembersihan data adalah
mengisi missing value (nilai yang hilang), menghilangkan noisy, membuang
pencilan, dan memisahkan data yang yang tidak konsisten. Integrasi data adalah
proses penggabungan data dari berbagai sumber. Pada transformasi data, data
diubah atau digabungkan menjadi bentuk yang tepat untuk mining. Transformasi
data ini mencakup smoothing (untuk menghilangkan noise), agregasi (operasi
peringkasan atau penyatuan), generalisasi (penyamarataan level pada suatu atribut),
normalisasi (atribut diskalakan sehingga nilainya berkurang ke rentang yang lebih
kecil), dan konstruksi atribut (atribut baru dibuat dan ditambahkan dari sekumpulan
atribut lain). Reduksi data bertujuan untuk mengurangi ukuran data tanpa merubah
hasil mining. Reduksi data menghasilkan representasi dataset tereduksi yang
berukuran lebih kecil namun memperlihatkan hasil analisis yang sama atau hampir
sama. Strategi reduksi data meliputi agregrasi, seleksi subset atribut, reduksi
dimensional, dan reduksi jumlah (Han et al. 2012).
Algoritme ST-DBSCAN
Algoritme ST-DBSCAN dibangun dengan memodifikasi algoritme
DBSCAN (Ester et al. 1996). Algoritme ST-DBSCAN membutuhkan empat
parameter, yaitu Eps1, Eps2, MinPts, dan . Eps1 adalah parameter jarak untuk
atribut spasial. Eps2 adalah parameter jarak untuk atribut temporal. Eps1 dan Eps2
dapat dihitung dengan matriks Euclidean, Manhattan, Minkowski, Hausdorff, dan
sebagainya. MinPts adalah jumlah minimum objek yang berada dalam jarak Eps1
dan Eps2. Parameter  digunakan untuk mencegah ditemukannya kombinasi
cluster akibat perbedaan nilai yang cukup besar dari atribut non-spasial suatu objek
dengan objek lainnya.
Algoritme ST-DBSCAN dimulai dari objek pertama p di D. Jika p merupakan
core-object – suatu objek yang memiliki tetangga minimal sejumlah MinPts dalam
radius Eps1 dan Eps2 (dapat dilihat pada Gambar 1), maka terbentuklah suatu
cluster. Algoritme mengembalikan semua objek yang berada dalam jangkauan
Eps1 dan Eps2 (directly density-reachable, dapat dilihat pada Gambar 2) dari p.
Jika p adalah border-object – bukan core-object tetapi density-reachable dari core-
4
object lainnya, tidak ada objek-objek lain yang density-reachable dari p, maka
algoritme akan mengunjungi objek berikutnya di D. Proses berulang sampai semua
objek diproses.
Gambar 1 Core-point, border-point, dan noise (Verma 2009)
(a)
(b)
(c)
Gambar 2 Directly density-reachable, density-reachable, dan density-connected
(Cassisi 2011)
(a) q directly density-reachable dari p, (b) q density-reachable dari p, dan
(c) q density-connected ke p dengan o adalah objek penghubung p dan q
Hausdorff Distance
Konsep hausdorff diperkenalkan sebagai solusi pencarian jarak untuk
berbagai jenis objek spasial. Hausdorff distance dari poligon A ke poligon B
didefinisikan sebagai (Joshi 2011):
ℎ(𝐴, 𝐵) = max 𝑑(𝑎, 𝑏))
dengan a dan b adalah point penyusun dari masing-masing poligon A dan B, dan
d(a,b) adalah matriks jarak antara a dan b. Perhitungan matriks jarak antara titik a
dan b menggunakan jarak Euclid. Jika batas-batas dari poligon Pi dan Pj
direpresentasikan oleh dua set point dari masing-masing A dan B, kita dapat
menghitung jarak antara dua poligon dengan cara (Joshi 2011):
𝐷ℎ (𝑃𝑖 , 𝑃𝑗 ) = max⁡(ℎ(𝐴, 𝐵), ℎ(𝐵, 𝐴))
Gambar 3 menyajikan perbandingan antara jarak Centroid dan jarak
Hausdorff antara dua poligon. Pada jarak Centroid Dc memungkinkan terjadinya
underestimate dan overestimate distance ketika centroid jatuh di luar poligon.
5
Sementara itu, dengan jarak Hausdorff, yang didefinisikan dengan Dh, memberikan
pengukuran secara lebih akurat (Joshi 2011).
Gambar 3 Perbedaan hausdorff distance dengan centroid distance (Joshi 2011)
Silhouette Index
Silhouette Index digunakan untuk mengukur kualitas dari cluster yang
terbentuk. Nilai Silhouette Index suatu objek i adalah (Rousseeuw 1987):
𝑏(𝑖) − 𝑎(𝑖)
𝑠(𝑖) =
max⁡{(𝑎), (𝑏)}
dengan a(i) merupakan jarak rata-rata antara objek i dengan seluruh objek yang
berada dalam satu cluster yang sama (intra-cluster). b(i) adalah jarak rata-rata
antara objek i dengan seluruh objek yang berada pada cluster terdekat (nearestcluster) (Sklearn 2014). Sebagai ilustrasi pada Gambar 4, titik i berada dalam
cluster A, maka cluster B adalah cluster terdekatnya, dengan a(i) adalah rataan
jarak titik i dengan titik lain di dalam cluster A dan b(i) adalah rataan jarak titik i
ke semua titik dalam cluster B (Rousseeuw 1987).
Gambar 4 Ilustrasi silhouette index (Rousseeuw 1987)
Nilai koefisien Silhouette (SC) suatu cluster yang terdiri dari N jumlah objek
dapat dihitung dengan rata-rata dari seluruh nilai Silhoette Index setiap objek s(i)
(Rousseeuw 1987):
𝑁
1
𝑆𝐶 = ⁡ ∑ 𝑠(𝑖)
𝑁
𝑖=1
6
Indeks Pembangunan Manusia
Indeks Pembangunan Manusia (IPM) mengukur capaian pembangunan
manusia berbasis sejumlah komponen dasar kualitas hidup. Sebagai ukuran kualitas
hidup, IPM dibangun melalui pendekatan tiga dimensi dasar. Dimensi tersebut
mencakup umur panjang dan sehat; pengetahuan, dan kehidupan yang layak. Ketiga
dimensi tersebut memiliki pengertian sangat luas karena terkait banyak faktor.
Untuk mengukur dimensi kesehatan, digunakan angka harapan hidup waktu lahir.
Selanjutnya untuk mengukur dimensi pengetahuan digunakan gabungan indikator
angka melek huruf dan rata-rata lama sekolah. Adapun untuk mengukur dimensi
hidup layak digunakan indikator kemampuan daya beli masyarakat terhadap
sejumlah kebutuhan pokok yang dilihat dari rata-rata besarnya pengeluaran per
kapita sebagai pendekatan pendapatan yang mewakili capaian pembangunan untuk
hidup layak. Metode perhitungan untuk menyusun indeks pembangunan manusia
telah diterapkan oleh BPS berdasarkan ketetapan United Nations Development
Programs (UNDP) pada tahun 1994.
Gambar 5 Diagram penghitungan IPM (BPS 2013)
Berdasarkan ketiga indikator IPM, pada Gambar 5 (indeks kesehatan,
indeks pendidikan, dan indeks ekonomi), maka nilai IPM dapat dihitungan dengan
menggunakan rumus dibawah ini (BPS 2013):
1
𝐼𝑃𝑀 = (𝐼𝐾 + 𝐼𝑃 + 𝐼𝐸)
3
dengan IPM adalah Indeks Pembangunan Manusia, IK adalah Indeks Kesehatan,
dan IE adalah Indeks Ekonomi. Kriteria untuk setiap tingkat status nilai IPM tiap
wilayah ditunjukkan pada Tabel 1.
Tabel 1 Kriteria IPM menurut UNDP (BPS 2013)
Tingkat Status
Kriteria
Rendah
IPM < 50
Menengah kebawah
50 ≤ IPM < 66
Menengah keatas
66 ≤ IPM < 80
Tinggi
IPM ≥ 80
7
METODE PENELITIAN
Data Penelitian
Data yang digunakan pada penelitian ini adalah data IPM Pulau Jawa pada
tahun 2012. Data spasial berupa batas-batas wilayah kota dan kabupaten pada Pulau
Jawa yang berbentuk poligon.
Tahapan Penelitian
Tahapan-tahapan yang dilakukan pada penelitian ini dapat dilihat pada
Gambar 6.
Mulai
Clustering dengan
ST-DBSCAN
Hasil
Clustering
Pengumpulan
Data
Implementasi STDBSCAN dengan
R
Evaluasi Cluster
Praproses
Data
Data Hasil
Praproses
Selesai
Gambar 6 Diagram alir penelitian
Pengumpulan data
Data IPM diperoleh dari Badan Pusat Statistik (http://bps.go.id/ipm.php).
Peta Pulau Jawa diperoleh dari http://data.ukp.go.id.
Praproses data
Tahap praproses data meliputi seleksi data dan reduksi data. Seleksi data
dilakukan dengan memilih peta Pulau Jawa dari peta Indonesia menggunakan
QuantumGIS. Reduksi data dilakukan dengan memilih atribut yang dibutuhkan
untuk proses clustering.
Implementasi ST-DBSCAN dengan Bahasa Pemrograman R
Implementasi algoritme ST-DBSCAN menggunakan bahasa pemrograman
R. Implementasi dilakukan dengan menyesuaikan syntax dengan algoritme dan
dibantu dengan package yang dapat memudahkan proses implementasi. Package
yang digunakan adalah maptools, rgeos, cluster, dan fpc. Package maptools
digunakan untuk membaca peta Pulau Jawa yang berbentuk poligon, sehingga
koordinat-koordinat penyusun batas kota dan kabupaten dapat digunakan pada
perhitungan jarak spasial. Package rgeos digunakan untuk menghitung jarak antar
poligon kota dan kabupaten menggunakan fungsi Hausdorff. Package cluster
8
digunakan untuk menghitung nilai Silhouette Index hasil clustering menggunakan
fungsi sihouette. Package fpc digunakan sebagai acuan pengetikan kode STDBSCAN, dengan memodifikasi fungsi dbscan di dalam package.
Proses implementasi dimulai dengan memahami algoritme ST-DBSCAN
seperti ditujukan pada Gambar 7:
Gambar 7 Algoritme ST-DBSCAN (Birant dan Kut 2007)
Pada Gambar 7, algoritme dimulai dari objek pertama o1 di D – seperti pada
baris (i). Setelah memproses objek o1, dipilih objek selanjutnya (o2) di D. Jika objek
o2 belum termasuk ke dalam cluster manapun – baris (ii), fungsi
Retrieve_Neighbours dipanggil – baris (iii). Pemanggilan fungsi
Retrieve_Neighbours(o2, Eps1, Eps2) mengembalikan objek yang berada pada
jarak kurang dari parameter Eps1 dan Eps2 dari objek o2.
Fungsi Retrieve_Neighbours(oi, Eps1, Eps2) sama dengan mencari irisan dari
fungsi Retrieve_Neighbours(oi, Eps1) dan fungsi Retrieve_Neighbours(oi, Eps2).
9
Jika jumlah objek yang dikembalikan dalam Eps-Neighborhood kurang dari
MinPts, maka objek ditetapkan sebagai noise – oi tidak memiliki cukup tetangga
untuk membentuk suatu cluster – baris (iv). Objek yang telah ditandai sebagai noise
dapat berubah pada proses selanjutnya jika density-reachable dari objek-objek lain
di D. Kejadian seperti ini sering terjadi pada border-object di cluster.
Jika oi adalah core-object, maka cluster baru dibuat – baris (v). Semua objek
yang directly density-reachable dari core-object tersebut juga ditandai sebagai label
cluster baru. Lalu algoritme mengumpulkan objek yang density-reachable secara
iteratif menggunakan stack – baris (vi). Stack yang dimaksud berguna untuk
mencari objek lain yang density-reachable dari objek directly density-reachable –
ekspansi cluster. Pada baris (vii), data non-spasial (data IPM) suatu objek akan
dibandingkan dengan data non-spasial objek lain dalam satu cluster. Data nonspasial tersebut harus dinormalisasi menggunakan normalisasi zscore, yaitu nilai
mutlak dari rataan data non-spasial cluster dikurangi dengan nilai data non-spasial
objek tersebut. Normalisasi membantu mencegah munculnya atribut dengan
perbedaan nilai rentang yang besar. Berikut adalah normalisasi zscore (z) untuk
nilai non-spasial suatu objek (x) (Han et al. 2001):
𝑥 − 𝑥̅
𝑧=
𝜎𝑥
dengan 𝑥̅ adalah mean dari seluruh nilai data non-spasial pada satu cluster. 𝜎𝑥
adalah standar deviasi dari seluruh nilai data non-spasial pada satu cluster. Jika
suatu objek tidak ditandai sebagai noise atau tidak dalam cluster manapun, dan nilai
zscore objek tersebut kurang dari , maka objek tersebut dilabeli sebagai cluster
yang sedang diproses – baris (vii). Sebaliknya jika nilai zscore objek tersebut lebih
dari , maka objek tersebut dilabeli sebagai noise. Setelah memproses objek
tersebut, algoritme memilih objek selanjutnya di D dan berlanjut sampai semua
objek diproses.
Jika dua cluster C1 dan C2 berhimpitan satu sama lain, ketika objek p dapat
menjadi anggota cluster kedua-duanya (border-object antara C1 dan C2). Algoritme
ST-DBSCAN akan menetapkan objek p ke cluster yang terlebih dahulu di temukan.
Clustering dengan ST-DBSCAN
Data hasil praproses akan diolah menggunakan algoritme clustering STDBSCAN yang telah diimplementasikan menggunakan R sehingga menghasilkan
cluster. Algoritme ST-DBSCAN membutuhkan empat parameter, yaitu Eps1, Eps2,
MinPts, dan . Menentukan parameter Eps dan MinPts dari penggerombolan
terkecil pada basis data dapat dilakukan melalui observasi k-dist (Gambar 8)
(Purwanto 2012).
Gambar 8 Grafik nilai Eps (Purwanto 2012)
10
Berikut langkah-langkah penentuan nilai Eps dan MinPts dari k-dist
(Purwanto 2012):
1 Komputasikan k-dist untuk seluruh titik pada beberapa k. Urutkan dalam
urutan menurun dan plot nilai yang telah diurutkan.
2 Perubahan tajam pada nilai k-dist yang berhubungan dengan nilai Eps dan
nilai k gunakan sebagai MinPts yang sesuai (pada Gambar 8).
3 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.
4 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.
5 Eps dipilih yang kurang dari jarak yang ditentukan oleh lembah pertama.
Penentuan threshold data non-spasial ( menggunakan zscore. Setelah
diperoleh nilai Eps1, Eps2, MinPts, dan data hasil praproses akan dilakukan
clustering dengan menggunakan algoritme ST-DBSCAN.
Evaluasi cluster
Cluster yang ditemukan akan dievaluasi kualitas dari cluster yang telah
terbentuk menggunakan koefisien Silhouette. Koefisien Silhouette didapat dari ratarata nilai koefisien Silhoette semua cluster (Rousseeuw 1987).
Lingkungan Pengembangan
Spesifikasi yang digunakan untuk penelitian ini adalah:
1 Perangkat lunak:
 Sistem operasi: Windows 7 Enterprise 32-bit
 Libre Office, QuantumGIS 2.2.0 
 R-3.0.2 version of R64, RStudio
 Package R: maptools, rgeos, cluster, dan fpc 
2 Perangkat keras:
 Processor: Intel® CoreTM i5-330M 2.13 GHz 
 Memori (RAM): 4.00 GB DDR3 1066 MHz
HASIL DAN PEMBAHASAN
Sumber Data dan Karakteristik Data
Peta Pulau Jawa dengan format shapefiles (.shp) diperoleh dari
http://data.ukp.go.id. Data shapefiles tersebut mencakup seluruh wilayah Indonesia.
Data IPM diperoleh dari Badan Pusat Statistik melalui situs
http://bps.go.id/ipm.php.
11
Praproses Data
Seleksi data
Pada tahapan ini dilakukan pemilihan peta Pulau Jawa dari peta Indonesia.
Peta Pulau Jawa merupakan data dengan format shapefiles (.shp). Kemudian, dari
data IPM Indonesia, hanya dipilih data IPM pada Pulau Jawa dengan format comma
delimited (.csv).
Reduksi Data
Reduksi data dilakukan dengan memilih atribut yang akan digunakan pada
proses clustering, yaitu nama_kabkota, ipm, dan tahun. Contoh nilai atribut yang
akan digunakan terdapat dalam Tabel 2.
Tabel 2 Atribut dalam shapefiles
Nama_KabKota IPM
Tahun
Pemalang
70.66
2012
Magelang
77.26
2012
Implementasi ST-DBSCAN dengan Bahasa Pemrograman R
Implementasi algoritme ST-DBSCAN dilakukan dengan memodifikasi
fungsi dbscan yang tersedia pada R 3.02. R packages yang digunakan adalah
maptools, rgeos, cluster, dan fpc. Package maptools digunakan R untuk membaca
peta Pulau Jawa yang berbentuk poligon, sehingga koordinat-koordinat penyusun
batas kota dan kabupaten dapat digunakan pada perhitungan jarak spasial. Package
rgeos digunakan R untuk menghitung jarak antar poligon kota dan kabupaten
menggunakan fungsi Hausdorff. Package cluster digunakan R untuk menghitung
nilai Silhouette Index hasil clustering menggunakan fungsi sihouette. Package fpc
digunakan sebagai acuan pengetikan kode ST-DBSCAN, dengan memodifikasi
fungsi dbscan di dalam package. Hasil implementasi ST-DBSCAN menggunakan
bahasa pemrograman R terdapat pada Lampiran 1.
Perhitungan Jarak
Matriks jarak antar poligon (data spasial) dihitung dengan hausdorff
distance. Matriks jarak antar waktu (data temporal) dihitung dengan euclidean
distance. Implementasi untuk menghitung jarak antar poligon dan jarak antar waktu
terdapat Gambar 9.
Gambar 9 Implementasi menghitung jarak antar kota dan kabupaten
12
Implementasi diawali dengan membaca data shapefiles peta Pulau Jawa
menggunakan fungsi readShapePoly. Jarak antar kota dan kabupaten berbentuk
matriks dengan dimensi sejumlah kota dan kabupaten. Fungsi outer digunakan
untuk membentuk matriks jarak antar poligon dengan dimensi sejumlah kota dan
kabupaten (115 × 115). Pada fungsi outer terdapat fungsi gDistance untuk
menghitung jarak antar kota dan kabupaten menggunakan metode hausdorff
distance. Hasil dari matriks jarak antar kota dan kabupaten terdapat pada variabel
data_spasial. Fungsi dist digunakan untuk membentuk matriks jarak antar waktu
dengan dimensi sejumlah kota dan kabupaten (115×115). Hasil dari matriks jarak
antar waktu terdapat pada variabel data_temporal.
Proses Implementasi Algoritme ST-DBSCAN Menggunakan Bahasa
Pemrograman R
Algorime dimulai dari objek pertama (O1) dari data. Setelah memproses objek
Oi, dipilih objek selanjutnya (Oi+1) sampai objek terakhir dari data. Jika objek Oi+1
belum termasuk ke dalam cluster manapun, maka akan dicari objek yang berada
pada jarak kurang dari parameter Eps1 dan Eps2 dari Oi+1, seperti yang tertera pada
Gambar 10.
Gambar 10 Implementasi direcly density reachable suatu objek
Isi dari variabel directly_density_reachables adalah semua objek terdekat dari
objek yang sedang dikunjungi dalam jangkauan jarak parameter Eps1 dan Eps2.
Pada Gambar 11, jika jumlah objek yang terdapat pada variabel
directly_density_reachables kurang dari MinPts – baris (i), maka objek ditetapkan
sebagai noise – baris (ii) – (objek tidak memiliki cukup tetangga untuk membentuk
suatu cluster). Jika Oi adalah core object, maka cluster baru dibuat – baris (iv).
Semua objek yang directly density-reachable dari core-object tersebut juga ditandai
sebagai label cluster baru.
Gambar 11 Implementasi pembentukan cluster baru
Pada saat sudah terbentuk cluster baru, nilai atribut non-spasial suatu objek
akan dievaluasi dengan nilai-nilai atribut non-spasial di cluster-nya. Hal ini
dimaksudkan untuk menghindari adanya objek dengan nilai non-spasial yang
sangat berbeda dibandingkan dengan objek-objek lainnya dalam satu cluster.
Implementasi penelusuran aspek non-spasial data IPM tertera pada Gambar 12.
13
Gambar 12 Implementasi penelusuran aspek non-spasial data IPM
Pada Gambar 12, algoritme mengumpulkan objek yang density-reachable
secara iteratif menggunakan stack – baris (ii). Selanjutnya, dihitung rata-rata – baris
(v) – dan standar deviasi – baris (vii) – dari cluster. Stack yang dimaksud berguna
untuk mencari objek lain yang density-reachable dari objek directly densityreachable – ekspansi cluster – baris (x). Jika suatu objek tidak ditandai sebagai
noise atau tidak dalam cluster manapun, dan perbedaan antara nilai rataan cluster
dengan nilai objek tersebut kurang dari , maka objek tersebut dilabeli sebagai
cluster yang sedang diproses – baris (xix). Kemudian menggabungkan seluruh hasil
ekspansi cluster – baris (xxiv). Setelah memproses objek tersebut, algoritme
memilih objek selanjutnya dan berlanjut sampai semua objek diproses.
Clustering Menggunakan ST-DBSCAN
Penentuan Nilai Eps dan MinPts
Penentuan nilai Eps1, Eps2, dan MinPts sangat berpengaruh terhadap
cluster yang akan dihasilkan. Penentuan nilai dari parameter tersebut agar
mendapatkan cluster terbaik. Ide dalam penentuan nilai Eps dan MinPts adalah
untuk titik dalam sebuah penggerombolan, maka k tetangga terdekat secara kasar
memiliki jarak yang sama, titik noise memiliki jarak terjauh dari k-tetangga
terdekat sehingga dilakukan plot jarak secara terurut pada setiap titik pada ktetangga terdekat (Purwanto 2012). Penggerombolan dapat diidentifikasi terbaik
jika k tetangga terdekat memiliki jarak yang sama dengan titik yang lain atau
dapat dikatakan bahwa titik dalam suatu penggerombolan secara kasar memiliki
jarak yang sama. Untuk mengetahuinya dapat digambarkan dengan melakukan
plot seluruh jarak ke k tetangga terdekat dari seluruh titik dengan nilai k yang
14
bervariasi. Untuk mengoptimalkan nilai Eps dan MinPts, dipilih garis yang
mendekati garis menaik kemudian dipotong secara vertikal pada plot k tetangga
terdekat dengan seluruh titik di sebelah kiri garis vertikal merupakan core point
(Gambar 13). Oleh karena itu, semakin jauh digeser ke kiri, core point lebih sedikit
dan penggerombolan yang terbentuk semakin sedikit. Sebaliknya jika garis potong
vertikal berada di dekat sisi kanan grafik core point lebih banyak dan
penggerombolan yang terbentuk semakin banyak. Berdasarkan Gambar 13,
pergeseran nilai ambang pada penelitian ini dilakukan pada nilai k=4, k=5, dan k=6
dengan pergeseran nilai Eps 0.3 sampai 0.6. Nilai tersebutlah yang akan
dimasukkan pada algoritme ST-DBSCAN untuk menentukan nilai Eps dan MinPts
yang tepat.
Jarak Tetangga Terdekat
3
2,5
titik ambang
2
1,5
1
noise
0,5
penggerombolan
0
1
26
51
76
101
Objek Kota dan Kabupaten
k=4
k=5
k=6
Gambar 13 Pergeseran nilai ambang pada K-Dist
Berdasarkan Gambar 14, jumlah titik noise terkecil terdapat pada nilai k=4.
Nilai k=4 yang ditentukan sebagai nilai MinPts. Selanjutnya, dengan MinPts =4,
maka akan dihitung jumlah cluster yang terbentuk.
100
jumlah noise
75
k=4
50
k=5
k=6
25
0
0.3
0.4
0.5
0.6
eps1
Gambar 14 Hubungan jumlah noise dengan nilai Eps 1
15
Berdasarkan Gambar 15, jumlah cluster yang terbentuk memiliki variasi
yang beragam, sehingga, diperlukan perhitungan untuk menentukan kualitas cluster
yang baik. Cara menentukan kualitas suatu cluster adalah dengan menghitung nilai
Silhouette Index dari masing-masing yang terbentuk.
12
jumlah cluster
10
8
minpts=4
6
4
2
0
0.3
0.4
0.5
0.6
Eps1
Gambar 15 Hubungan jumlah cluster dengan nilai Eps1 pada MinPts=4
Hasil perhitungan menggunakan Sillhouette Index berkisar antara nilai
-1 hingga 1, dengan -1 merupakan nilai terburuk dan 1 merupakan nilai
terbaik (Sklearn 2014). Pada Tabel 3, nilai Silhouette Index yang mendekati nilai
1 adalah pada saat Eps1 = 0.4 (sekitar 45 kilometer jarak di bumi), yaitu bernilai
0.1599514.
Tabel 3 Hasil perhitungan nilai silhoutte index untuk MinPts=4
Eps1
Silhouette Index
0.3
-0.09661161
0.4
0.1599514
0.5
-0.08757854
0.6
-0.00065357
Perhitungan menggunakan algoritme ST-DBSCAN membutuhkan
parameter Eps2 untuk mengukur kesamaan pada dimensi temporal, namun
parameter ini diabaikan dengan memberi nilai Eps2=0, karena pada penelitian ini
hanya menggunakan data 1 tahun. Untuk atribut non-spasial (data IPM), objek yang
berdekatan akan terkelompokkan ke dalam sebuah cluster selama IPM kurang dari
2 z-score. Pada penelitian didapatkan nilai Eps1=0.4, Eps2=0, MinPts=4, dan .
16
Hasil Clustering ST-DBSCAN
Pada data IPM Pulau Jawa tahun 2012, dari 115 objek data, dengan nilai
Eps1=0.4, Eps2=0, MinPts=4, dan ditemukan 9 cluster dan 51 noise.
Visualisasi hasil clustering menggunakan QuantumGIS, dapat dilihat pada Gambar
16 dan Lampiran 2.
5
4
Cirebon (-2)
9
Kota Salatiga
Sampang (-2)
8
1
Kota Bandung (-2)
Kota Pasuruan (-2)
2
Sleman
3
Gunung
Kidul
6
7
Pacitan
Gambar 16 Hasil clustering data IPM Pulau Jawa tahun 2012
Pada Gambar 16, Kota Salatiga dan Sleman ditetapkan sebagai cluster 2
meskipun tidak bersebelahan langsung secara wilayah dengan cluster 2. Hal ini
disebabkan ketika proses ekspansi cluster 2, Kota Salatiga dan Sleman terdeteksi
sebagai objek terdekat dalam jangkauan Eps1 untuk cluster 2. Efek atribut nonspasial terjadi pada Kota Bandung, Cirebon, Sampang, dan Kota Pasuruan, yang
dilabeli sebagai outlier (-2) karena IPM keempat kota tersebut sangat berbeda
dibandingkan dengan daerah disekitarnya. Kabupaten Gunung Kidul dan Pacitan
terdeteksi sebagai noise meskipun memiliki kedekatan wilayah dengan cluster 3.
Penyebab kedua kota tersebut dilabeli sebagai noise adalah karena ketika ekspansi
cluster 3, jarak Kabupaten Gunung Kidul dan Pacitan dengan cluster 3 lebih besar
dari nilai Eps1, meskipun ada kemungkinan kedua kota tersebut adalah anggota
cluster 3. Salah satu faktor yang menyebabkan suatu objek dilabeli sebagai cluster
atau noise adalah penentuan parameter Eps1, Eps2, MinPts, dan , sehingga
penentuan empat parameter tersebut lebih baik secara otomatis. Terdapat 47 noise
(berwarna abu-abu) yang disebabkan tetangga mereka berada di bawah parameter
yang diperlukan. Sebagian besar noise terletak di Jawa Barat dan Banten karena
luas wilayah lebih besar daripada di Pulau Jawa bagian tengah dan timur. Dua
lingkaran yang digambar pada Gambar 16 menunjukkan perbedaan kepadatan
antara Pulau Jawa bagian barat dan bagian tengah. Rentang nilai IPM pada masingmasing cluster ada pada Gambar 17.
17
Gambar 17 Boxplot data IPM setiap cluster
Gambar 17 menunjukkan bahwa wilayah JABODETABEK (cluster 5)
memiliki nilai IPM tertinggi di Pulau Jawa yaitu sebesar 77.67. Berdasarkan kriteria
IPM menurut UNDP, cluster 5 termasuk dalam kriteria kelas menengah ke atas.
Tingginya nilai IPM di wilayah ini dikarenakan letaknya yang berada di pusat
ibukota Indonesia. Hal ini berlawanan dengan cluster 1 yang memiliki nilai ratarata IPM terendah yaitu sebesar 72.24.
Evaluasi Cluster
Evaluasi cluster dilakukan setelah hasil cluster didapatkan. Pada Gambar
18, evaluasi cluster dilakukan dengan cara pemanggilan fungsi ‘silhouette’ pada
package ‘cluster’. Perhitungan dilakukan menggunakan hasil cluster yang terdapat
pada variabel hasil$cluster, menggunakan matriks jarak yang terdapat pada
variabel data_spasial. Kemudian dilakukan perhitungan rata-rata dari SI untuk
mendapatkan nilai akhir dari koefisien silhouette menggunakan jarak canberra.
> SI<- silhouette(hasil$cluster,dist(data_spasial,”canberra”))
> mean(SI[,3])
Gambar 18 Implementasi evaluasi cluster Silhouette Index
Hasil evaluasi cluster menggunakan Sillhouette Index berkisar antara nilai -1
hingga 1, dengan -1 merupakan nilai terburuk dan 1 merupakan nilai terbaik
(Sklearn 2014). Jika nilai Sillhouette Index bernilai negatif, maka jarak objek
tersebut lebih dekat dengan objek-objek pada cluster terdekatnya. Pada penelitian
ini, evaluasi cluster bernilai 0.01599514. Berdasarkan hasil perhitungan, nilai
Silhouette masih belum mendekati nilai terbaik. Evaluasi cluster yang tidak bagus
disebabkan kesalahan pemilihan nilai parameter. Oleh karena itu, diharapkan
pada penelitian selanjutnya dapat menghasilkan nilai Eps1, Eps2, dan MinPts
secara otomatis berdasarkan Gaonkar dan Sawant (2013) sehingga cluster yang
terbentuk memiliki nilai evaluasi yang bagus.
18
SIMPULAN DAN SARAN
Simpulan
Pengimplementasian ST-DBSCAN menggunakan bahasa pemrograman R
pada data kependudukan menghasilkan 9 cluster dan 51 titik noise, dengan
menggunakan parameter Eps1 (parameter jarak spasial)=0.4 (≈ 45 km), Eps2
(parameter jarak temporal)=0, MinPts (parameter kepadatan cluster)=4, dan 
(parameter ukuran selisih atribut non-spasial yang ditoleransi)=2. Wilayah
JABODETABEK (cluster 5) memiliki nilai IPM tertinggi di Pulau Jawa yaitu
sebesar 77.67. Berdasarkan kriteria IPM menurut UNDP, cluster 5 termasuk dalam
kriteria kelas menengah ke atas. Tingginya nilai IPM di wilayah ini dikarenakan
letaknya yang berada di pusat ibukota Indonesia. Hal ini berlawanan dengan cluster
1 yang memiliki nilai rata-rata IPM terendah yaitu sebesar 72.24.
Saran
Pada penelitian ini, algoritme ST-DBSCAN hanya diimplementasikan pada
data 1 tahun dan satu atribut non-spasial (IPM). Untuk penelitian selanjutnya,
diharapkan mampu mengimplementasikan pada data lebih dari 1 tahun, dan
memasukkan banyak atribut non-spasial. Menentuan nilai MinPts, Eps1, dan Eps2
yang lebih 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 (ID). 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.
Ester M, Kriegel H, Sander J, Xu X. 1996. A density-based algorithm for
discovering clusters in large spatial databases with noise. Di dalam: 2nd
International Conference on Knowledge Discovery and Data Mining (KDD-96);
1996 Agustus 2-4; Portland, Amerika Serikat. Portland (US): AAAI Press. hlm
226-231.
Cassisi C. 2011. Implemented Methods [internet]. [diacu 2014 April 20]. Tersedia
dari: http://www.dmi.unict.it/~cassisi/DBStrata/help/methods.html
Gaonkar MN, Sawant K. 2013. Autoepsdbscan: dbscan with eps automatic for large
dataset. International Journal on Advanced Computer Theory and Engineering.
2:2319-2526.
Han J, Kamber M, Pei J. 2012. Data Mining: Concepts and Techniques. San
Francisco (US): Morgan Kaufmann Publisher.
Han J, Kamber M, Tung AKH. 2001. Spatial Clustering Methods in Data Mining:
A Survey. Data Mining and Knowledge Discovery-DATAMINE.
19
Joshi D. 2011. Polygonal Spatial Clustering. Nebraska (US): University of
Nebraska.
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.
[Sklearn] Scikit-learn. 2014. sklearn.metrics.silhouette_score [internet]. [diacu
2014 Mei 29]. Tersedia dari: http://scikit-learn.org/stable/modules/generated/
sklearn.metrics.silhouette_score.html.
Tork, HD. 2012. Spatio-temporal clustering methods classification. Di dalam: -,
editor. Doctoral Symposium on Informatics Engineering (DSIE'2012); 2012 Jan
26-27; Porto, Portugal. Porto (PT): Doctoral Symposium on Informatics
Engineering. hlm 1-5.
[UNDP] United Nation Development Programme (NY). 1996. Human Developmet
Report 1996 [internet]. [diacu 2014 Juni 20]. Tersedia dari: http://
hdr.undp.org/sites/default/files/.../hdr_1996_en_complete_nostats.pdf.
Venables WN, Smith DM. 2009. An Introduction to R. Berlin Heidelberg (US):
Springer.
Verma R. 2009. Section 4 DBSCAN [internet]. [diacu 2014 April 20]. Tersedia
dari:http://www.hypertextbookshop.com/dataminingbook/public_version/conte
nts/chapters/chapter004/section004/green/page001.html.
20
LAMPIRAN
Lampiran 1 Hasil implementasi ST-DBSCAN menggunakan bahasa pemrograman
R
## Input: Shapefile already loaded into global shape variable
## Determine eps1 value, Determine eps2 value, delta_e ranges to 2zscore
stdbscan <- function (shape, eps1=0.4, eps2=0, minpts=4, delta_e=2,
seeds=TRUE, countmode=NULL)
{
## Calculate spatial distance
shape.split <- split(shape, seq_len(length(shape)))
data_spasial<-outer(shape.split,shape.split,
FUN=Vectorize(function(x, y)gDistance(x, y,
hausdorff=TRUE)))
## Calculate temporal distance
data_temporal<- dist(cbind(data$date))
data_spasial <- as.matrix(data_spasial)
data_temporal <- as.matrix(data_temporal)
n <- nrow(data_spasial)
# Counting number of element
data_temporal <- matrix(0,n,n) # set zero distance on temporal
dimension
classn <- cv <- integer(n)
# Initiate cluster membership
isseed <- logical(n)
cn <- integer(1)
unclass <- seq(1,115)
# in the beginning, all nodes has
no class yet
for (i in 1:n) {
if (i %in% countmode) unclass <- (1:n)[cv < 1]
if (cv[i] == 0) {
directly_density_reachables<intersect( unclass[data_spasial[i,
unclass]<=eps1],unclass[data_tempo
ral[i,unclass]<=eps2])
if(length(directly_density_reachables)+classn[i]<minp
ts)
# cluster density threshold applied
cv[i] <- (-1)
# mark i node as noise
else {
cn <- cn + 1
# increase cluster number
cv[i] <- cn
# mark i node as a member of
cluster cn
isseed[i] <- TRUE
# flag i node had been
evaluated as a core
directly_density_reachables<setdiff( directly_density_rea
chables,i)
# remove core from cluster
unclass <- setdiff(unclass, i) # remove node i
from un-class set
classn[directly_density_reachables]<classn[ directly_density_reachables] + 1
21
Lanjutan
density_connected <-directly_density_reachables
while (length(density_connected)) {
cv[density_connected] <- cn #assign cluster membership
# mean of current cluster cn
cluster_mean <- mean(shape$IPM_2012[cv==cn])
# variance of current cluster cn
cluster_var <- var(shape$IPM_2012[cv==cn])
cluster_member <- density_connected
density_connected <- integer()
for (i2 in seq(along = cluster_member)) {
j <- cluster_member[i2]
density_reachables_from_j<-intersect(unclass
[data_spasial[j,unclass]<=e
ps1],unclass[data_temporal[
j,unclass]<=eps2])
if(length(density_reachables_from_j)+classn[j]>=minpt
s) {
isseed[j] <- TRUE
#calculate z-score for density_reachables_from_j
zscore<-((shape$IPM_2012[density_reachables_from_j]cluster_mean)/cluster_var)<delta_e
cv[density_reachables_from_j[zscore]] <-cn
}
density_connected<-union(density_connected,
density_reachables_from_j[cv[density_
reachables_from_j] == 0] )
classn[density_reachables_from_j]<classn[ density_reachabl
es_from_j] + 1
unclass <- setdiff(unclass, j)
}
}
}
}
if (!length(unclass))
break
}
rm(classn)
if (any(cv == (-1))) {
cv[cv == (-1)] <- 0
}
out <- list(cluster = cv, eps = eps1, minpts = minpts)
if (seeds && cn > 0) {
out$isseed <- isseed
}
class(out) <- "stdbscan"
out }
22
Lampiran 2 Tabel hasil clustering data IPM pulau Jawa tahun 2014
Cluster 1
No
Nama Kota
1
PEMALANG
2
TEGAL
3
BREBES
4
PEKALONGAN (KOTA)
5
TEGAL (KOTA)
6
BANYUMAS
7
PURBALINGGA
8
BANJARNEGARA
9
BATANG
10 PEKALONGAN
IPM 2012
70,66238
71,74376
69,36627
75,24874
74,62955
73,32884
72,9652
70,70124
71,41448
72,36919
Cluster 2
No
Nama Kota
1
MAGELANG (KOTA)
2
SALATIGA (KOTA)
3
KULON PROGO
4
YOGYAKARTA (KOTA)
5
PURWOREJO
6
WONOSOBO
7
MAGELANG
8
TEMANGGUNG
IPM 2012
77,26195
77,12971
75,33186
80,23854
73,52678
71,44899
73,13523
74,73593
Cluster 3
No
Nama Kota
1
SURAKARTA (KOTA)
2
BANTUL
3
SLEMAN
4
BOYOLALI
5
KLATEN
6
SUKOHARJO
7
WONOGIRI
8
KARANGANYAR
9
SRAGEN
10 GROBOGAN
IPM 2012
78,59729
75,51432
79,39044
71,49617
74,46083
74,2067
72,58867
74,62103
71,84736
71,76505
23
Lanjutan
Cluster 4
No
Nama Kota
1
KARAWANG
2
BEKASI
3
BEKASI (KOTA)
4
JAKARTA
TIMUR
(KOTA)
5
JAKARTA
UTARA
(KOTA)
6
TANGERANG
Cluster 5
No
Nama Kota
1
BOGOR
2
BOGOR (KOTA)
3
DEPOK (KOTA)
4
JAKARTA
SELATAN
(KOTA)
5
JAKARTA
PUSAT
(KOTA)
6
JAKARTA
BARAT
(KOTA)
7
TANGERANG (KOTA)
IPM 2012
70,8945
74,13128
77,1732
79,79702
78,25453
72,36169
IPM 2012
73,07739
76,46565
79,70966
80,16507
79,12363
79,42963
75,7227
Cluster 6
No
Nama Kota
1
PONOROGO
2
TRENGGALEK
3
TULUNGAGUNG
4
MADIUN
5
MAGETAN
6
NGAWI
7
MADIUN (KOTA)
8
BLITAR
IPM 2012
71,90999
74,09
74,44697
70,87703
73,8481
70,2042
77,49995
74,42998
Cluster 7
No
Nama Kota
1
NGANJUK
2
KEDIRI (KOTA)
3
BLITAR (KOTA)
4
KEDIRI
IPM 2012
71,95601
77,19503
78,30677
72,71928
24
Lanjutan
Cluster 8
No
Nama Kota
1
PASURUAN
2
JOMBANG
3
MOJOKERTO (KOTA)
4
SURABAYA (KOTA)
5
MOJOKERTO
6
SIDOARJO
IPM 2012
69,16932
73,85566
78,00757
78,32743
74,41924
77,36346
Cluster 9
No
Nama Kota
1
SEMARANG (KOTA)
2
KUDUS
3
DEMAK
4
SEMARANG
5
KENDAL
IPM 2012
77,98085
73,69454
73,52271
74,979
71,47896
Noise
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
IPM 2012
71,49702
70,01755
74,73184
72,12006
72,83585
72,14092
71,99357
69,58378
71,1566
72,94968
68,8932
71,79197
72,21296
75,73038
76,85586
76,0156
76,27597
18
19
20
21
22
23
24
25
26
Nama Kota
SUKABUMI
CIANJUR
BANDUNG
GARUT
TASIKMALAYA
CIAMIS
KUNINGAN
CIREBON
MAJALENGKA
SUMEDANG
INDRAMAYU
SUBANG
PURWAKARTA
SUKABUMI (KOTA)
BANDUNG (KOTA)
CIREBON (KOTA)
CIMAHI (KOTA)
TASIKMALAYA
(KOTA)
BANJAR (KOTA)
KEPULAUAN SERIBU
LEBAK
PANDEGLANG
SERANG
CILEGON (KOTA)
PACITAN
LUMAJANG
75,347
72,09927
71,44737
68,42803
69,22021
69,83033
75,89282
72,88149
68,9963
25
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
BONDOWOSO
BOJONEGORO
TUBAN
LAMONGAN
BANGKALAN
PAMEKASAN
MALANG (KOTA)
PROBOLINGGO (KOTA)
PASURUAN (KOTA)
BATU (KOTA)
BANYUWANGI
GRESIK
JEMBER
MALANG
PROBOLINGGO
SAMPANG
SITUBONDO
SUMENEP
GUNUNG KIDUL
CILACAP
KEBUMEN
BLORA
REMBANG
PATI
JEPARA
64,98052
67,74232
69,17777
71,0475
65,68775
66,51011
78,42962
75,4365
74,32981
75,41659
70,53415
75,97364
65,99298
71,94313
64,35177
61,66698
65,06144
66,41009
71,11121
72,76898
71,8621
71,4877
72,81291
73,80792
73,53701
26
RIWAYAT HIDUP
Penulis dilahirkan di Bogor pada tanggal 13 Agustus 1992, dari pasangan
Bapak Achmad Ru’yat dan Ibu Triami Sofia sebagai anak pertama dari tujuh
bersaudara. Pada tahun 2010 penulis lulus dari MA Pondok Pesantren Husnul
Khotimah Kuningan dan lulus seleksi masuk Institut Pertanian Bogor (IPB) melalui
jalur Undangan Seleksi Masuk IPB dan diterima di Departemen Ilmu Komputer,
Fakultas Matematika dan Ilmu Pengetahuan Alam.
Selama mengikuti perkuliahan, penulis pernah aktif menjadi anggota dan
penyiar di Badan Eksekutif Mahasiswa, Himpunan Mahasiswa Ilmu Komputer, dan
Lembaga Dakwah Kampus Al-Hurriyah. Pada tahun 2013, penulis mengikuti
kegiatan Praktik Kerja Lapangan di Kantor Kominfo Kota Bogor.
Download