Library:
> # install.packages("knitr")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")
Kabupaten Sidoarjo merupakan salah satu wilayah penyangga utama di Jawa Timur yang memiliki dinamika pembangunan cukup pesat. Masing-masing kecamatan di Sidoarjo memiliki karakteristik yang berbeda-beda, mulai dari kondisi demografis, ketersediaan fasilitas umum, hingga aktivitas ekonomi masyarakat. Informasi mengenai karakteristik suatu kecamatan penting untuk dianalisis karena dapat membantu pemerintah daerah dalam memetakan kebutuhan pembangunan, mengidentifikasi sektor yang masih perlu ditingkatkan, serta mengevaluasi pemerataan kesejahteraan antarwilayah.
Variabel-variabel seperti luas wilayah, jumlah penduduk, jumlah desa, jumlah fasilitas sekolah, jumlah puskesmas, jumlah tenaga kesehatan, jumlah tempat ibadah, jumlah keluarga penerima manfaat, laporan kebakaran, jumlah ternak kecil, jumlah perusahaan besar-sedang, dan jumlah koperasi aktif menggambarkan aspek geografis, sosial, dan ekonomi dari setiap kecamatan. Dengan melihat pola kesamaan dari variabel tersebut, dapat diketahui kelompok kecamatan mana yang memiliki kondisi serupa dan mana yang berbeda secara signifikan. Informasi ini sangat bermanfaat untuk mendukung perencanaan pembangunan yang lebih tepat sasaran.
Salah satu metode statistik yang dapat digunakan untuk mengelompokkan kecamatan berdasarkan kemiripan karakteristik adalah analisis cluster. Pada analisis ini, objek dengan karakteristik yang mirip akan dikelompokkan ke dalam klaster yang sama, sementara objek yang berbeda akan berada di klaster lain. Dalam penelitian ini, digunakan hierarchical clustering karena metode ini dapat menampilkan struktur pengelompokan dalam bentuk dendrogram sehingga memungkinkan penelusuran proses pembentukan klaster secara bertahap. Metode pengelompokan yang digunakan adalah single linkage dan complete linkage. Single linkage mengukur jarak minimum antar objek dari dua kelompok dan cenderung menghasilkan struktur berbentuk rantai (chaining), sedangkan complete linkage menggunakan jarak maksimum antar objek sehingga mampu membentuk klaster yang lebih kompak. Kedua metode ini diterapkan menggunakan jarak Euclidean, yang merupakan ukuran jarak paling umum dan sesuai digunakan ketika seluruh variabel telah melalui proses standardisasi.
Dengan memanfaatkan data Sidoarjo dalam Angka 2025, analisis cluster hierarki ini diharapkan dapat memberikan gambaran mengenai pola pengelompokan kecamatan berdasarkan kemiripan karakteristik sosial, ekonomi, serta fasilitas wilayah. Hasil pengelompokan ini dapat menjadi salah satu dasar untuk melihat kondisi wilayah secara lebih terstruktur dan mendukung upaya penyusunan strategi pembangunan yang lebih efektif di Kabupaten Sidoarjo.
LatarBelakang LatarBelakang LatarBelakang
LatarBelakang Latar Belakang Latar
Belakang LatarBelakang
Kecamatan merupakan unit wilayah administratif yang memiliki karakteristik berbeda satu sama lain, baik dari segi demografi, sosial, ekonomi, maupun sarana prasarana. Dalam konteks pembangunan daerah, pemahaman mengenai karakteristik setiap kecamatan menjadi penting sebagai dasar pengambilan kebijakan yang efektif dan tepat sasaran.
Kabupaten Sidoarjo sebagai salah satu pusat pertumbuhan di Jawa Timur memiliki dinamika wilayah yang kompleks. Perbedaan luas wilayah, jumlah penduduk, ketersediaan fasilitas pendidikan dan kesehatan, tingkat kesejahteraan, hingga potensi ekonomi menyebabkan setiap kecamatan memiliki profil pembangunan yang tidak seragam. Analisis pengelompokan diperlukan untuk mengidentifikasi kecamatan yang memiliki kemiripan karakteristik, sehingga pemerintah daerah dapat menyusun strategi pembangunan berbasis klaster.
Penelitian ini menggunakan 12 variabel karakteristik wilayah yang menggambarkan dimensi sosial, ekonomi, pelayanan publik, dan infrastruktur. Definisi operasional variabel dijabarkan sebagai berikut:
Variabel tersebut dipilih karena mampu merepresentasikan kondisi sosial, ekonomi, sarana-prasarana, serta potensi wilayah kecamatan di Kabupaten Sidoarjo secara komprehensif.
Statistika deskriptif digunakan untuk menggambarkan karakter data melalui ukuran seperti nilai minimum, maksimum, dan rata-rata sehingga pola umum dari setiap variabel dapat dilihat sebelum dilakukan analisis lanjutan. (Walpole, 2012)
Outlier adalah nilai pengamatan yang secara signifikan berbeda dari sebagian besar data, sehingga berpotensi memengaruhi hasil analisis. Identifikasi outlier dapat dilakukan menggunakan metode seperti z-score atau boxplot. (Barnett & Lewis, 1994)
Sampel representatif adalah sampel yang mampu menggambarkan karakteristik populasi secara akurat, sehingga hasil analisis dapat digeneralisasi. Representativitas dicapai apabila sampel memiliki variasi yang sama dengan populasi. (Cochran, 1977)
Multikolinieritas adalah kondisi di mana antar variabel independen memiliki korelasi sangat tinggi sehingga menyebabkan distorsi pada hasil analisis multivariat. Untuk analisis cluster, multikolinieritas diperiksa agar variabel tidak memberikan informasi yang berulang. Pemeriksaan dapat dilakukan menggunakan nilai korelasi atau Variance Inflation Factor (VIF). (Hair et al., 2010)
Metode pengukuran jarak merupakan inti dari analisis cluster. Jarak Euclidean merupakan ukuran jarak garis lurus yang paling umum digunakan dalam analisis klaster, terutama pada data kontinu seperti yang digunakan dalam penelitian ini. \[ d(x,y) = \sqrt{\sum_{i=1}^{k}(x_{i}-y_{i})^{2}} \] Jarak yang lebih kecil berarti kecamatan tersebut memiliki karakteristik yang lebih mirip.
A. Hierarchical Clustering
Hierarchical clustering membentuk struktur bertingkat melalui penggabungan (agglomerative) atau pemisahan (divisive). Metode agglomerative dimulai dari setiap objek sebagai klaster tunggal dan kemudian digabungkan berdasarkan ukuran jarak. (Kaufman & Rousseeuw, 1990)
Metode linkage yang umum digunakan:
Complete linkage: Teknik ini menghitung semua jarak berpasangan antar anggota di cluster dan lainnya. Lalu, jarak yang terbesar dijadikan sebagai jarak antar kedua kluster. \[ d(K_{1}, K_{2}) = max[d(x, y)] \]
Single linkage: Teknik ini menghitung semua jarak berpasangan antar anggota di cluster 1 dan cluster lainnya. Lalu, jarak yang terkecil dijadikan sebagai jarak antar kedua kluster. \[ d(K_{1}, K_{2}) = mi[d(x, y)] \]
B. Non-Hierarchical Clustering
Metode non-hierarki, seperti K-Means, membagi objek ke dalam jumlah klaster tertentu yang telah ditentukan, lalu memperbarui pusat klaster secara iteratif hingga stabil. (MacQueen, 1967)
Jumlah klaster dapat ditentukan menggunakan:
Metode ini membantu memilih jumlah klaster yang paling mempresentasikan struktur alami kecamatan di Kabupaten Sidoarjo.
Data yang digunakan dalam analisis pengelompokan ini adalah data sekunder yang bersumber dari publikasi resmi Badan Pusat Statistik (BPS) Kabupaten Sidoarjo, yaitu Buku Sidoarjo Dalam Angka Tahun 2025. Unit observasi dalam penelitian ini adalah 18 kecamatan di Kabupaten Sidoarjo. Variabel yang dianalisis adalah 12 variabel kuantitatif yang merepresentasikan karakteristik wilayah, sosial, ekonomi, dan fasilitas publik dari setiap kecamatan, seperti Luas Wilayah (X1), Jumlah Penduduk (X2), dan Jumlah Desa (X3), dst.
| Kecamatan | X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | X9 | X10 | X11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Tarik | 39.73 | 67948 | 20 | 12 | 20 | 2 | 83 | 337 | 6691 | 3859 | 4 |
| Prambon | 29.89 | 79571 | 20 | 26 | 20 | 1 | 67 | 524 | 4998 | 3105 | 13 |
| Krembung | 27.9 | 69101 | 19 | 23 | 19 | 1 | 56 | 306 | 6306 | 1827 | 18 |
| Porong | 30.71 | 70455 | 15 | 30 | 15 | 2 | 77 | 215 | 5275 | 1820 | 10 |
| Jabon | 82.92 | 55737 | 13 | 5 | 13 | 1 | 66 | 191 | 5453 | 3754 | 11 |
| Tanggulangin | 29.78 | 88285 | 18 | 12 | 18 | 1 | 53 | 380 | 3326 | 2533 | 38 |
| Candi | 42.86 | 157791 | 24 | 39 | 24 | 3 | 73 | 472 | 3852 | 2568 | 53 |
| Tulangan | 31.31 | 102821 | 22 | 23 | 22 | 2 | 85 | 251 | 5220 | 2294 | 19 |
| Wonoayu | 30.29 | 85338 | 23 | 13 | 23 | 2 | 79 | 283 | 3867 | 3423 | 51 |
| Sukodono | 32.85 | 125578 | 19 | 25 | 19 | 1 | 77 | 370 | 2744 | 2099 | 38 |
| Sidoarjo | 62.03 | 200170 | 24 | 45 | 24 | 4 | 113 | 458 | 3644 | 2575 | 115 |
| Buduran | 43.65 | 101229 | 15 | 44 | 15 | 1 | 48 | 241 | 2312 | 3685 | 99 |
| Sedati | 79.23 | 97678 | 16 | 37 | 16 | 1 | 60 | 210 | 2254 | 2350 | 22 |
| Waru | 30.59 | 195761 | 17 | 50 | 17 | 3 | 102 | 358 | 3480 | 750 | 204 |
| Gedangan | 24.01 | 120066 | 15 | 34 | 15 | 3 | 61 | 320 | 2667 | 2600 | 173 |
| Taman | 31.36 | 203134 | 24 | 42 | 24 | 2 | 98 | 418 | 4502 | 2516 | 165 |
| Krian | 25.89 | 132811 | 22 | 70 | 22 | 2 | 100 | 415 | 6636 | 4029 | 71 |
| BalongBendo | 44.34 | 74400 | 20 | 20 | 20 | 1 | 66 | 273 | 5795 | 4089 | 53 |
Tujuan dari analisis ini adalah sebagai berikut:
> # Library
> library(cluster)
> library(factoextra)
> library(readxl)
> library(psych)
> library(nortest)
> data <- read_excel("C:/Users/LENOVO/Downloads/DATA SDA UAP.xlsx")
> data <- data.frame(data)
> data_num <- data[sapply(data, is.numeric)]
> head(data_num)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
1 39.73 67948 20 12 20 2 83 337 6691 3859 4 35
2 29.89 79571 20 26 20 1 67 524 4998 3105 13 38
3 27.90 69101 19 23 19 1 56 306 6306 1827 18 50
4 30.71 70455 15 30 15 2 77 215 5275 1820 10 47
5 82.92 55737 13 5 13 1 66 191 5453 3754 11 38
6 29.78 88285 18 12 18 1 53 380 3326 2533 38 64
> deskriptif <- psych::describe(data_num)
> deskriptif
vars n mean sd median trimmed mad min max
X1 1 18 39.96 17.46 31.34 38.28 6.58 24.01 82.92
X2 2 18 112659.67 47702.03 99453.50 110562.69 40862.68 55737.00 203134.00
X3 3 18 19.22 3.51 19.50 19.31 4.45 13.00 24.00
X4 4 18 30.56 16.28 28.00 29.69 18.53 5.00 70.00
X5 5 18 19.22 3.51 19.50 19.31 4.45 13.00 24.00
X6 6 18 1.83 0.92 2.00 1.75 1.48 1.00 4.00
X7 7 18 75.78 18.36 75.00 75.19 17.79 48.00 113.00
X8 8 18 334.56 97.30 328.50 331.69 121.57 191.00 524.00
X9 9 18 4390.11 1467.43 4184.50 4379.81 1748.73 2254.00 6691.00
X10 10 18 2770.89 901.26 2571.50 2814.81 947.38 750.00 4089.00
X11 11 18 64.28 61.91 44.50 59.31 43.00 4.00 204.00
X12 12 18 70.67 38.67 59.50 65.19 16.31 35.00 194.00
range skew kurtosis se
X1 58.91 1.42 0.70 4.12
X2 147397.00 0.78 -0.82 11243.48
X3 11.00 -0.11 -1.36 0.83
X4 65.00 0.51 -0.28 3.84
X5 11.00 -0.11 -1.36 0.83
X6 3.00 0.73 -0.60 0.22
X7 65.00 0.41 -0.97 4.33
X8 333.00 0.25 -1.15 22.93
X9 4437.00 0.09 -1.43 345.88
X10 3339.00 -0.22 -0.70 212.43
X11 200.00 0.99 -0.42 14.59
X12 159.00 1.82 3.06 9.12
> par(mfrow = c(3, 4))
> for (i in 1:ncol(data_num)) {
+ hist(data_num[[i]],
+ main = paste("Histogram", colnames(data_num)[i]),
+ xlab = colnames(data_num)[i],
+ col = "lightblue",
+ border = "white")
+ }
> par(mfrow = c(1,1))
> sum(is.na(data_num))
[1] 0
> apply(data_num, 2, var)
X1 X2 X3 X4 X5 X6
3.050055e+02 2.275484e+09 1.230065e+01 2.650850e+02 1.230065e+01 8.529412e-01
X7 X8 X9 X10 X11 X12
3.370065e+02 9.467908e+03 2.153342e+06 8.122732e+05 3.832330e+03 1.495647e+03
> sapply(data_num, function(x) shapiro.test(x)$p.value)
X1 X2 X3 X4 X5 X6
0.0003241890 0.0181155739 0.2654534464 0.6818606578 0.2654534464 0.0027433162
X7 X8 X9 X10 X11 X12
0.5801414257 0.7650489991 0.3171573000 0.3079451886 0.0050708040 0.0005138238
> data_scaled <- scale(data_num)
> dist_euc <- dist(data_scaled, method = "euclidean")
> hc_single <- hclust(dist_euc, method = "single")
>
> plot(hc_single,
+ main = "Dendrogram Single Linkage",
+ xlab = "", sub = "", cex = 0.7)
>
> hc_complete <- hclust(dist_euc, method = "complete")
>
> plot(hc_complete,
+ main = "Dendrogram Complete Linkage",
+ xlab = "", sub = "", cex = 0.7)
>
> cluster_single <- cutree(hc_single, k = 3)
> cluster_complete <- cutree(hc_complete, k = 3)
>
> table(cluster_single)
cluster_single
1 2 3
16 1 1
> table(cluster_complete)
cluster_complete
1 2 3
12 3 3
>
> fviz_cluster(
+ list(data = data_scaled, cluster = cluster_single),
+ main = "Visualisasi Cluster – Single Linkage"
+ )
>
> fviz_cluster(
+ list(data = data_scaled, cluster = cluster_complete),
+ main = "Visualisasi Cluster – Complete Linkage"
+ )
Analisis statistik deskriptif dilakukan untuk melihat gambaran umum
dari masing-masing variabel sebelum dilakukan analisis lebih lanjut.
Berdasarkan output psych::describe, seluruh variabel
(X1–X12) memiliki jumlah pengamatan n = 18. Berikut interpretasi umum
dari nilai mean, variabilitas, serta distribusi masing-masing
variabel.
Sebagian besar variabel memiliki nilai mean yang relatif dekat dengan median, yang mengindikasikan bahwa data cenderung tidak terlalu menceng (tidak sangat skewed). Namun pada beberapa variabel seperti X2, X9, X10, X11, dan X12, nilai mean lebih besar daripada median, yang mengindikasikan adanya kecenderungan ke arah right-skewed (beberapa nilai yang sangat besar menaikkan mean).
Variabel dengan variabilitas tertinggi adalah:
Besarnya standar deviasi dan range menunjukkan bahwa sebaran nilai pada variabel tersebut sangat lebar, yang mengindikasikan adanya kemungkinan outlier atau ketidakhomogenan variasi antar data.
Sebaliknya, variabel dengan variabilitas rendah adalah:
Variabel-variabel ini memiliki rentang nilai yang pendek, sehingga persebarannya relatif homogen.
Skewness menggambarkan kemencengan distribusi data.
Right-skewed (kemencengan positif): X1, X2, X4, X6, X7, X8, X11, X12 Artinya sebagian besar nilai berada di sisi lebih rendah, sedikit nilai ekstrem di sisi tinggi.
Left-skewed (kemencengan negatif): X3, X5, X10 Artinya sebagian besar nilai berada di sisi lebih tinggi namun ada nilai kecil ekstrem.
Secara umum, skewness masih dalam batas wajar (kecuali X12 yang cukup tinggi, 1.82), sehingga tidak terlalu mengganggu, tetapi mengindikasikan bahwa pemeriksaan outlier memang diperlukan.
Kurtosis negatif (platykurtic) muncul di banyak variabel seperti X2, X3, X4, X7, X8, X9, X10. Ini menandakan distribusi data lebih “datar” dan memiliki ekor yang lebih tipis.
Sementara kurtosis positif yang tinggi terdapat pada:
Standard error menunjukkan seberapa stabil mean pada setiap variabel. SE yang besar dimiliki oleh X2, X9, X10, X11, X12. Mendukung indikasi bahwa variabel ini memiliki penyebaran data yang cukup besar.
artinya…. Histogram pada Gambar 2 memiliki bentuk…, yang mana menunjukkan…
sum(is.na(data_num)) = 0 menunjukkan tidak ada
nilai hilang (missing values).apply(data_num, 2, var) menunjukkan semua
variabel memiliki varians > 0, artinya tidak ada variabel
konstan.Berdasarkan uji Shapiro-Wilk
(sapply(data_num, function(x) shapiro.test(x)$p.value)):
| Variabel | P-Value | Kesimpulan |
|---|---|---|
| X1 | 0.0003 | Tidak Normal |
| X2 | 0.0181 | Tidak Normal |
| X3 | 0.265 | Normal |
| X4 | 0.682 | Normal |
| X5 | 0.265 | Normal |
| X6 | 0.0027 | Tidak Normal |
| X7 | 0.580 | Normal |
| X8 | 0.765 | Normal |
| X9 | 0.317 | Normal |
| X10 | 0.308 | Normal |
| X11 | 0.0051 | Tidak Normal |
| X12 | 0.0005 | Tidak Normal |
Beberapa variabel (X1, X2, X6, X11, X12) tidak terdistribusi normal.
Anggota cluster
`Tarik, Prambon, Krembung, Porong, Tanggulangain, Tulangan, Wonoayu, Sukodono, Balongbendo`
Ciri utama berdasarkan variabel:
Makna cluster Cluster ini menunjukkan wilayah semi-rural dengan ciri:
Anggota cluster
`Jabon, Buduran, Sedati`
Ciri utama berdasarkan variabel:
Makna cluster Cluster ini mengelompokkan kecamatan:
Anggota cluster
`Sidoarjo, Candi, Taman, Krian, Waru, Gedangan`
Ciri utama berdasarkan variabel:
Makna cluster Cluster ini adalah inti kota dan pusat aktivitas:
Anggota cluster
`Tulangan, Wonoayu, Tarik, Balongbendo, Krembung, Porong, Prambon, Tanggulangin, Sukodono`
Profil Cluster Cluster ini berisi kecamatan yang bergabung pada height rendah, menunjukkan bahwa mereka memiliki karakteristik yang paling mirip pada banyak variabel, terutama:
Makna Cluster Cluster ini mencerminkan kecamatan semi-rural / suburban yang memiliki: - Pola sebaran penduduk sedang. - Struktur desa-berbasis. - Kebutuhan pelayanan publik yang homogen.
Anggota cluster
`Candi, Sidoarjo, Taman`
Profil Cluster Kecamatan ini bergabung pada height menengah, menandakan bahwa mereka tidak semirip cluster 1, tetapi lebih padat dan lebih maju dalam hal:
Makna Cluster Kelompok ini merupakan kecamatan yang mulai menunjukkan karakteristik semi-perkotaan, menjadi penghubung antara wilayah suburban (cluster 1) dan kota inti (cluster 3).
Anggota cluster
`Waru, Gedangan, Krian, Buduran, Sedati`
Profil Cluster Cluster ini terbentuk pada height tinggi, yang menunjukkan bahwa kecamatan ini berbeda cukup signifikan dibanding dua cluster lainnya. Ciri utamanya:
Makna Cluster Cluster ini merupakan pusat-pusat aktivitas industri, perdagangan, dan transportasi, sehingga memiliki kebutuhan pelayanan publik yang lebih kompleks.
Charrad, M., Ghazzali, N., Boiteau, V., & Niknafs, A. (2014). NbClust: An R package for determining the relevant number of clusters in a dataset. Journal of Statistical Software, 61(6), 1-36.
Everitt, B. S., Landau, S., Leese, M., & Stahl, D. (2011). Cluster analysis (5th ed.). Wiley.
Hair, J. F., Black, W. C., Babin, B. J., & Anderson, R. E. (2010). Multivariate data analysis (7th ed.). Pearson.
Johnson, R. A., & Wichern, D. W. (2007). Applied multivariate statistical analysis (6th ed.). Pearson Prentice Hall.
Kaiser, H. F. (1974). An index of factorial simplicity. Psychometrika, 39(1), https://doi.org/10.1007/BF02291575 31–36.
Kassambara, A. (2017). Practical guide to cluster analysis in R: Unsupervised machine learning (Vol. 1). STHDA.
Kassambara, A., & Mundt, F. (2020). factoextra: Extract and visualize the results of multivariate data analyses (R package). https://cran.r-project.org/package=factoextra
Maechler, M., Rousseeuw, P., Struyf, A., Hubert, M., & Hornik, K. (2023). cluster: Cluster analysis basics and extensions (R package). https://cran.r-project.org/package=cluster
Mardia, K. V., Kent, J. T., & Bibby, J. M. (1979). Multivariate analysis. Academic Press.
R Core Team. (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.r-project.org/
Revelle, W. (2024). psych: Procedures for psychological, psychometric, and personality research (R package). https://cran.r-project.org/package=psych
Badan Pusat Statistik. (2024). Data kecamatan di Kabupaten Sidoarjo. BPS Kabupaten https://share.google/M2wL9VWfXnfpzh7DG