Analisis cluster hierarki merupakan salah satu metode dalam analisis multivariat yang digunakan untuk mengelompokkan objek berdasarkan tingkat kemiripan karakteristiknya. Metode ini sangat bermanfaat ketika peneliti ingin memahami pola keterkaitan antar unit amatan tanpa harus menentukan jumlah kelompok sejak awal. Dengan pendekatan hierarki, proses penggabungan objek dilakukan secara bertahap hingga membentuk struktur pohon (dendrogram) yang menggambarkan hubungan antar objek secara jelas. Metode ini sering digunakan dalam berbagai bidang seperti pemasaran, biologi, geografi, epidemiologi, dan perencanaan wilayah. Dalam konteks perencanaan pembangunan daerah, pengelompokan wilayah menjadi sangat penting untuk mengidentifikasi kecamatan atau unit wilayah lain yang memiliki kondisi serupa. Dengan diketahuinya kelompok wilayah yang memiliki karakteristik mirip, pemerintah daerah dapat merumuskan kebijakan yang lebih tepat sasaran, efisien, dan efektif. Pendekatan pengelompokan ini juga membantu dalam prioritas pembangunan, pemerataan layanan publik, evaluasi kebijakan, serta pemetaan masalah yang membutuhkan penanganan khusus.
Kabupaten Brebes, sebagai salah satu wilayah dengan jumlah penduduk besar di Jawa Tengah, memiliki karakteristik pembangunan yang sangat beragam. Perbedaan tersebut dapat dilihat dari variasi jumlah penduduk, tingkat curah hujan, dan jumlah kecelakaan lalu lintas yang terjadi di masing-masing kecamatan. Faktor demografis dan lingkungan tersebut tidak hanya menggambarkan kondisi sosial wilayah, tetapi juga dapat menunjukkan tingkat kerawanan atau tantangan pembangunan yang dihadapi. Misalnya, kecamatan dengan jumlah penduduk tinggi mungkin memiliki mobilitas yang lebih padat sehingga potensi kecelakaan lebih besar. Sementara itu, curah hujan tinggi dapat memberikan risiko tambahan terhadap kondisi jalan dan keselamatan pengguna transportasi.
Dengan memanfaatkan analisis cluster hierarki, khususnya metode average linkage, data-data tersebut dapat dikelompokkan berdasarkan tingkat kemiripan antar kecamatan. Metode average linkage dikenal stabil dan mampu memberikan pembagian cluster yang seimbang, sehingga cocok digunakan dalam penelitian ini. Hasil pengelompokan yang diperoleh akan memberikan wawasan mengenai kecamatan-kecamatan yang memiliki karakteristik serupa terkait faktor-faktor kependudukan dan lingkungan. Informasi tersebut dapat digunakan oleh pemerintah daerah Kabupaten Brebes dalam menyusun prioritas kebijakan, penyediaan infrastruktur jalan, program keselamatan lalu lintas, serta strategi pembangunan yang lebih terarah dan merata antar wilayah. Dengan demikian, analisis cluster tidak hanya memberikan gambaran statistik tetapi juga nilai strategis dalam perencanaan pembangunan daerah jangka panjang.
Data yang digunakan dalam penelitian ini merupakan data Kabupaten Brebes tahun 2021 yang berisi informasi mengenai kondisi kependudukan, curah hujan, serta jumlah kecelakaan lalu lintas pada setiap kecamatan. Data ini berasal dari publikasi resmi Badan Pusat Statistik (BPS) Kabupaten Brebes. Setiap baris pada dataset merepresentasikan satu kecamatan sehingga total objek yang dianalisis sesuai dengan jumlah kecamatan yang tercantum pada data.
Adapun variabel-variabel yang digunakan dalam analisis cluster adalah sebagai berikut:
Kabupaten Brebes Variabel ini berisi nama kecamatan yang ada di Kabupaten Brebes. Nama kecamatan digunakan sebagai identitas atau label dalam analisis, khususnya pada dendrogram dan visualisasi klaster. Variabel ini bersifat kategorik dan tidak digunakan secara langsung dalam perhitungan jarak melainkan hanya sebagai penanda setiap objek.
Jumlah Penduduk Variabel ini menunjukkan banyaknya penduduk yang tercatat di setiap kecamatan pada tahun 2021. Jumlah penduduk merupakan salah satu faktor yang dapat mempengaruhi dinamika mobilitas masyarakat. Kecamatan dengan jumlah penduduk besar cenderung memiliki tingkat aktivitas dan intensitas lalu lintas yang lebih tinggi, sehingga berpotensi meningkatkan risiko kecelakaan. Variabel ini berskala rasio dan diperlakukan sebagai salah satu variabel numerik utama dalam pembentukan cluster.
Jumlah Kecelakaan Variabel ini menggambarkan total kejadian kecelakaan lalu lintas yang terjadi di setiap kecamatan selama tahun 2021. Banyaknya kecelakaan merupakan indikator penting dalam memahami tingkat kerawanan lalu lintas suatu wilayah. Perbedaan jumlah kecelakaan antar kecamatan memberikan dasar yang kuat dalam pengelompokan wilayah berdasarkan tingkat risiko kecelakaan. Variabel ini berskala rasio dan menjadi salah satu variabel inti dalam analisis cluster.
Curah Hujan Variabel ini menunjukkan total curah hujan tahunan di setiap kecamatan. Kondisi curah hujan dapat memengaruhi keselamatan lalu lintas karena intensitas hujan yang tinggi berpotensi menyebabkan jalan licin, banjir, dan menurunnya jarak pandang. Oleh karena itu, curah hujan menjadi faktor relevan yang turut dianalisis dalam pembentukan cluster. Variabel ini juga berskala rasio dan menjadi bagian dari variabel numerik utama.
> library(psych)
> library(GPArotation)
> library(clValid)
> library(ggplot2)
> library(cluster)
> library(factoextra)
> library(tidyverse)
> library(car)
> library(readxl)
> library(dplyr)
> data <- read_excel("D:/Semester 5/Analisis Multivariat/Data Kabupaten Brebes 2021.xlsx")
> data <- data.frame(data)
> statdes <- summary(data)
> kmo <- KMO(data[, 2:4])
> korelasi <- cor(data[, 2:4], method = "pearson")
> datastand <- scale(data[, 2:4])
> rownames(datastand) <- data$Kabupaten.Kota
> datastand
JumlahPenduduk JumlahKecelakaan CurahHujan
[1,] -1.34459668 1.76144051 1.03356064
[2,] -0.33698116 1.01813760 0.62945857
[3,] -0.08715892 1.33669599 0.10024303
[4,] -0.10144742 1.37209137 2.43857036
[5,] -1.17922246 -0.18530521 0.87968548
[6,] -1.00637696 -1.10558500 0.02690066
[7,] 1.04444953 -0.18530521 -0.58860001
[8,] 0.69292239 0.13325318 0.94439933
[9,] 0.32695583 -0.53925897 0.46407871
[10,] 0.56477876 0.02706705 -1.10055852
[11,] -0.28362571 -0.99939887 -0.70796113
[12,] -1.24012465 0.06246243 -1.84836308
[13,] 1.64657872 -1.21177113 -0.48793401
[14,] 1.15563816 0.48720695 -0.72090390
[15,] -0.77421410 0.62878846 -0.11259365
[16,] -0.75748549 -1.07018962 -0.47355316
[17,] 1.67991016 -1.53032952 -0.47642933
attr(,"scaled:center")
JumlahPenduduk JumlahKecelakaan CurahHujan
117216.76471 49.23529 2582.29412
attr(,"scaled:scale")
JumlahPenduduk JumlahKecelakaan CurahHujan
39752.26593 28.25228 695.36886
> jarak <- dist(datastand, method = "euclidean")
> jarak
1 2 3 4 5 6 7
2 1.3157077
3 1.6225410 0.6663030
4 1.9160024 1.8583985 2.3386389
5 1.9598074 1.4900532 2.0289458 2.4529992
6 3.0573832 2.3068083 2.6105703 3.5740633 1.2665040
7 3.4826378 2.2000664 2.0178033 3.5919806 2.6646912 2.3305890
8 2.6096796 1.3938829 1.6641518 2.0972102 1.9001562 2.2943718 1.6047236
9 2.9002785 1.7010723 1.9552684 2.7812599 1.6020566 1.5131511 1.3222000
10 3.3478695 2.1882301 1.8926371 3.8442660 2.6472643 2.2411147 0.7329990
11 3.4323158 2.4211550 2.4797444 3.9443397 1.9963626 1.0361789 1.5622994
12 3.3470771 2.8050995 2.5980891 4.6248797 2.7399538 2.2216181 2.6206241
13 4.4835325 3.1867803 3.1379106 4.2774255 3.3029029 2.7045340 1.1942887
14 3.3095304 2.0816528 1.7147765 3.5136252 2.9095933 2.7875630 0.6943629
15 1.7093585 0.9452020 1.0091964 2.7410859 1.3458819 1.7553944 2.0486259
16 3.2610153 2.3988683 2.5635285 3.8568881 1.6709690 0.5600481 2.0107775
17 4.7184172 3.4330050 3.4168581 4.4826895 3.4384265 2.7658430 1.4918052
8 9 10 11 12 13 14
2
3
4
5
6
7
8
9 0.9038319
10 2.0517185 1.6808851
11 2.2286413 1.3993627 1.3883642
12 3.3972348 2.8574809 1.9540063 1.8283753
13 2.1840626 1.7606832 1.7550840 1.9542781 3.4362035
14 1.7642630 1.7732824 0.8396316 2.0692136 2.6816509 1.7837668
15 1.8749077 1.7057142 1.7694759 1.8017029 1.8843283 3.0641113 2.0284024
16 2.3585052 1.5287426 1.8290683 0.5333868 1.8455199 2.4082726 2.4792556
17 2.4000847 1.9228265 2.0145817 2.0471852 3.5980261 0.3205040 2.0988288
15 16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 1.7369796
17 3.2889045 2.4804505
> hc_single <- hclust(jarak, method = "single")
> cor_single <- cor(jarak, cophenetic(hc_single))
> hc_average <- hclust(jarak, method = "average")
> cor_average <- cor(jarak, cophenetic(hc_average))
> hc_complete <- hclust(jarak, method = "complete")
> cor_complete <- cor(jarak, cophenetic(hc_complete))
> hc_centroid <- hclust(jarak, method = "centroid")
> cor_centroid <- cor(jarak, cophenetic(hc_centroid))
> hc_ward <- hclust(jarak, method = "ward.D")
> cor_ward <- cor(jarak, cophenetic(hc_ward))
> KorCop <- data.frame(
+ Metode = c("Single Linkage", "Average Linkage", "Complete Linkage", "Centroid Linkage", "Ward's Method"),
+ Koefisien_Korelasi = c(cor_single, cor_average, cor_complete, cor_centroid, cor_ward)
+ )
> plot_cluster = plot(hc_average, labels = data$Kabupaten.Kota,
+ hang = 1,
+ main = "Cluster Dendrogram",
+ xlab = "Kabupaten/Kota",
+ ylab = "Jarak")
> inval <- clValid(datastand, 2:5,
+ clMethods = "hierarchical",
+ validation = "internal",
+ metric = "euclidean",
+ method = "average")
> plot_nb <- fviz_nbclust(datastand,
+ FUN = hcut,
+ hc_method = "average",
+ method = "silhouette")
> anggota <- data.frame(
+ Cluster = cutree(hc_average, k = 2)
+ )
> clus_hier <- eclust(datastand,
+ FUNcluster = "hclust",
+ k = 2,
+ hc_method = "average",
+ graph = TRUE)
> dendrogram = fviz_dend(clus_hier,
+ rect = TRUE,
+ main = "Hasil Analisis Cluster",
+ cex = 0.5)
> idclus <- clus_hier$cluster
> nilai = aggregate(data[,2:4], list(Cluster = idclus), mean)
KabupatenBrebes JumlahPenduduk JumlahKecelakaan CurahHujan
Length:17 Min. : 63766 Min. : 6.00 Min. :1297
Class :character 1st Qu.: 86440 1st Qu.:21.00 1st Qu.:2173
Mode :character Median :113184 Median :50.00 Median :2504
Mean :117217 Mean :49.24 Mean :2582
3rd Qu.:144762 3rd Qu.:67.00 3rd Qu.:3020
Max. :183997 Max. :99.00 Max. :4278
Berdasarkan data yang digunakan, diperoleh ringkasan statistika deskriptif untuk setiap variabel. Terlihat bahwa masing-masing kecamatan memiliki variasi nilai jumlah penduduk, jumlah kecelakaan, dan curah hujan yang cukup besar. Kecamatan dengan jumlah penduduk tinggi cenderung memiliki potensi aktivitas masyarakat yang lebih padat, sedangkan kecamatan dengan jumlah penduduk lebih rendah memiliki aktivitas yang relatif lebih kecil. Variasi pada ketiga variabel inilah yang kemudian menjadi dasar dilakukannya analisis cluster untuk mengelompokkan kecamatan berdasarkan kemiripan karakteristiknya.
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data[, 2:4])
Overall MSA = 0.56
MSA for each item =
JumlahPenduduk JumlahKecelakaan CurahHujan
0.63 0.54 0.56
Berdasarkan output uji KMO di atas, nilai KMO keseluruhan berada pada kategori cukup sehingga variabel jumlah penduduk, jumlah kecelakaan, dan curah hujan dapat dikatakan layak untuk dianalisis lebih lanjut. Nilai Measure of Sampling Adequacy (MSA) untuk masing-masing variabel juga berada di atas 0,5. Dengan demikian, tidak ada variabel yang perlu dikeluarkan dari analisis.
JumlahPenduduk JumlahKecelakaan CurahHujan
JumlahPenduduk 1.0000000 -0.3357207 -0.178162
JumlahKecelakaan -0.3357207 1.0000000 0.481293
CurahHujan -0.1781620 0.4812930 1.000000
Matriks korelasi Pearson di atas menunjukkan bahwa tidak terdapat korelasi yang sangat tinggi (mendekati 1 atau -1) antar variabel. Hal ini mengindikasikan bahwa tidak terjadi multikolinearitas, sehingga ketiga variabel dapat digunakan secara bersamaan dalam analisis cluster tanpa menimbulkan gangguan pada proses pengelompokan.
Metode Koefisien_Korelasi
1 Single Linkage 0.6323254
2 Average Linkage 0.6444832
3 Complete Linkage 0.6077535
4 Centroid Linkage 0.6834461
5 Ward's Method 0.6104321
Tabel koefisien korelasi cophenetic di atas membandingkan beberapa metode linkage, yaitu single linkage, average linkage, complete linkage, centroid linkage, dan Ward’s method. Dari hasil tersebut, metode average linkage memberikan nilai korelasi yang cukup baik dan stabil sehingga dipilih sebagai metode utama dalam pembentukan cluster.
Dendrogram pada gambar di atas menggambarkan proses penggabungan kecamatan secara bertahap berdasarkan kemiripan karakteristiknya. Dengan memotong dendrogram pada jarak tertentu, terlihat adanya pemisahan yang jelas menjadi dua kelompok utama, yang kemudian digunakan sebagai dasar pembentukan dua cluster.
Clustering Methods:
hierarchical
Cluster sizes:
2 3 4 5
Validation Measures:
2 3 4 5
hierarchical Connectivity 10.1544 16.3869 18.7964 21.0599
Dunn 0.3741 0.4910 0.4912 0.5608
Silhouette 0.2858 0.3135 0.2832 0.2769
Optimal Scores:
Score Method Clusters
Connectivity 10.1544 hierarchical 2
Dunn 0.5608 hierarchical 5
Silhouette 0.3135 hierarchical 3
Output summary(inval) dan grafik silhouette pada
gambar di atas menunjukkan bahwa jumlah cluster yang memberikan
nilai indeks silhouette paling baik adalah k = 2. Nilai
silhouette yang relatif lebih tinggi pada k = 2 mengindikasikan
bahwa dua cluster tersebut cukup kompak di dalam kelompoknya
dan terpisah dengan baik antar kelompok. Oleh karena itu, jumlah
cluster optimal yang digunakan dalam penelitian ini adalah dua
cluster.
KabupatenBrebes Cluster
1 Salem 1
2 Bantarkawung 1
3 Bumiayu 1
4 Paguyangan 1
5 Sirampog 2
6 Tonjong 2
7 Larangan 2
8 Ketanggungan 2
9 Banjarharjo 2
10 Losari 2
11 Tanjung 2
12 Kersana 2
13 Bulakamba 2
14 Wanasari 2
15 Songgom 1
16 Jatibarang 2
17 Brebes 2
Tabel di atas menunjukkan anggota masing-masing cluster untuk setiap kecamatan di Kabupaten Brebes. Kecamatan-kecamatan yang berada dalam cluster yang sama memiliki karakteristik yang lebih mirip satu sama lain dibandingkan dengan kecamatan di cluster lain.
Dendrogram berwarna pada gambar di atas menegaskan pembagian dua
cluster yang terbentuk. Setiap warna merepresentasikan satu
cluster, dan garis kotak (rect) menunjukkan
batas-batas pengelompokan antar kecamatan.
Cluster JumlahPenduduk JumlahKecelakaan CurahHujan
1 1 96192.6 83.80000 3151.000
2 2 125976.8 34.83333 2345.333
Berdasarkan hasil perhitungan rata-rata setiap variabel pada masing-masing cluster, diperoleh bahwa cluster 1 yang terdiri dari sebagian besar kecamatan memiliki rata-rata jumlah penduduk sebesar 96.192,6 jiwa, rata-rata jumlah kecelakaan sebesar 83,80 kejadian, serta rata-rata curah hujan sebesar 3.151 mm. Hal ini menunjukkan bahwa kecamatan-kecamatan dalam cluster 1 cenderung memiliki populasi yang lebih besar, curah hujan yang lebih tinggi, serta tingkat kecelakaan lalu lintas yang lebih tinggi.
Sementara itu, cluster 2 yang beranggotakan kecamatan dengan karakteristik lebih rendah menunjukkan rata-rata jumlah penduduk sebesar 12.576,8 jiwa, rata-rata jumlah kecelakaan sebesar 34,83 kejadian, dan rata-rata curah hujan sebesar 2.345,33 mm. Hal ini mengindikasikan bahwa kecamatan dalam cluster 2 memiliki tingkat aktivitas masyarakat yang lebih rendah, curah hujan yang lebih sedikit, serta jumlah kasus kecelakaan yang lebih rendah.
Dengan demikian, cluster 1 memiliki karakteristik variabel dengan nilai rata-rata lebih tinggi dibandingkan cluster 2. Artinya, cluster 1 mewakili kelompok kecamatan dengan kepadatan penduduk lebih besar, intensitas hujan lebih tinggi, dan tingkat kecelakaan lebih tinggi. Sedangkan, cluster 2 mewakili kelompok kecamatan dengan kondisi yang relatif lebih rendah pada ketiga variabel tersebut.
Berdasarkan hasil analisis cluster hierarki pada data Kabupaten Brebes tahun 2021, diperoleh beberapa kesimpulan sebagai berikut:
Analisis cluster hierarki dengan metode average linkage berhasil mengelompokkan kecamatan di Kabupaten Brebes berdasarkan tiga variabel, yaitu jumlah penduduk, jumlah kecelakaan, dan curah hujan. Data terlebih dahulu distandarisasi dan jarak Euclidean digunakan sebagai ukuran kedekatan antar kecamatan.Perbandingan koefisien korelasi cophenetic menunjukkan bahwa metode average linkage memberikan representasi struktur jarak yang cukup baik, sehingga dipilih sebagai metode utama dalam pembentukan cluster.
Berdasarkan hasil validasi internal dan analisis dendrogram, jumlah cluster optimal yang digunakan adalah dua cluster. Cluster pertama dan kedua memiliki karakteristik rata-rata variabel yang berbeda, terutama pada jumlah penduduk, curah hujan, dan jumlah kecelakaan.
Masing-masing cluster memiliki karakteristik yang berbeda, di mana cluster 1 cenderung terdiri dari kecamatan dengan jumlah penduduk, curah hujan, dan jumlah kecelakaan yang lebih tinggi, sedangkan cluster 2 berisi kecamatan dengan nilai ketiga variabel tersebut relatif lebih rendah. Hasil ini mendukung upaya pemerintah daerah dalam mengidentifikasi wilayah dengan tingkat risiko kecelakaan yang berbeda untuk perencanaan dan kebijakan yang lebih tepat sasaran.
Badan Pusat Statistik Kabupaten Brebes. (2021). Brebes dalam Angka 2021. Brebes: BPS Kabupaten Brebes.
Badan Pusat Statistik Kabupaten Brebes. (2021). Jumlah Penduduk Kabupaten Brebes Menurut Kecamatan Tahun 2021 [Tabel Statistik]. Brebes: BPS Kabupaten Brebes.
Badan Pusat Statistik Kabupaten Brebes. (2021). Banyaknya Curah Hujan dan Hari Hujan Menurut Kecamatan di Kabupaten Brebes Tahun 2021 [Tabel Statistik]. Brebes: BPS Kabupaten Brebes.