1 PENDAHULUAN
1.1 Latar Belakang
Kemiskinan adalah kondisi ketidakmampuan seseorang dalam memenuhi kebutuhan dasar, baik kebutuhan pokok maupun kebutuhan minimum yang memungkinkan seseorang hidup secara layak. Ketika pendapatan seseorang tidak mencukupi untuk memenuhi kebutuhan pokok tersebut, individu tersebut dapat dikategorikan sebagai miskin. Secara sederhana, kemiskinan diartikan sebagai ketidakmampuan dalam memenuhi kebutuhan dasar keluarga, mencakup makanan dan non-makanan (Agustiya, 2024).
Kemiskinan merupakan salah satu masalah mendasar karena berkaitan dengan pemenuhan kebutuhan hidup yang paling esensial. Masalah ini juga menjadi tantangan global yang dihadapi oleh banyak negara (Maulana, 2017). Kemiskinan dapat terjadi ketika individu dalam masyarakat tidak berpartisipasi dalam proses perubahan akibat ketidakmampuan mereka memiliki faktor-faktor produksi atau karena kualitasnya yang berada di bawah standar.
Provinsi Jawa Timur saat ini tumbuh menjadi provinsi besar yang modern. Dengan pertumbuhan provinsi yang cukup pesat, mendorong bertambah pula permasalahan sosial setempat antara lain adalah kesenjangan ekonomi pembangunan yang tidak merata di lingkup wilayah provinsi jawa timur. Berdasarkan data Badan Pusat Statistik (BPS) Provinsi Jawa Timur, tercatat tingkat kemiskinan provinsi Jawa Timur adalah sebesar 9.79% pada tahun 2024. Oleh karena itu sangat perlu untuk mengelompokan kabupaten/kota di provinsi Jawa Timur untuk mengidentifikasi wilayah-wilayah yang memerlukan perhatian lebih dalam pelaksanaan program-program pemerintah agar lebih tepat sasaran
1.2 Tujuan
Penelitian ini bertujuan untuk:
Memahami dan menerapkan langkah-langkah analisis Hierarchical Clustering.
Mengelompokkan Kabupaten/Kota di Jawa Timur berdasarkan banyak penduduk miskin dan garis kemiskinan.
1.3 Tinjauan Pustaka
1.3.1 Analisis Klaster
Analisis klaster adalah sebuah teknik analisis multivariat yang bertujuan untuk mengelompokkan objek atau kasus berdasarkan karakteristik yang dimilikinya. Teknik ini mengklasifikasikan objek sehingga objek-objek dengan karakteristik yang paling mirip akan dikelompokkan ke dalam klaster (kelompok) yang sama. Pengelompokan data dalam analisis klaster dapat dilakukan dengan dua pendekatan, yaitu Metode Hierarki dan Non-Hierarki.
1.3.2 Metode Hierarki (Hierarchical Clustering)
Metode ini dimulai dengan mengelompokkan dua atau lebih objek yang memiliki kesamaan paling tinggi, lalu melanjutkan proses pengelompokan berdasarkan tingkat kesamaan berikutnya, hingga membentuk struktur seperti pohon (dendogram). Struktur ini menunjukkan hirarki (tingkatan) antar objek, mulai dari yang paling mirip hingga yang paling berbeda. Beberapa metode yang digunakan dalam klaster hierarki meliputi single linkage, complete linkage, average linkage, Ward’s method, dan centroid method (Santoso, 2010).
1.3.3 Metode Non-Hierarki (Non-Hierarchical Clustering)
Untuk pendekatan non-hierarki dimulai dengan menentukan jumlah klaster yang diinginkan, proses ini berbeda dengan metode hierarki yang tidak memerlukan penentuan awal jumlah klaster. Selanjutnya, proses pengelompokan/klasterisasi dilakukan tanpa mempertimbangkan struktur hierarki antar objek (Santoso, 2010). Beberapa teknik yang digunakan dalam metode ini adalah K-Means, K-Medoids, dan DBSCAN.
1.4 Data
Data yang digunakan diperoleh dari BPS tentang tingkat kemiskinan di kabupaten/kota Jawa Timur berdasarkan banyak penduduk miskin dan garis kemiskinan pada tahun 2024.
2 Source Code
2.1 Library
> library(psych)
> library(GPArotation)
> library(clValid)
> library(ggplot2)
> library(cluster)
> library(factoextra)
> library(tidyverse)
> library(car)
> library(readxl)
> library(corrplot)library(psych)untuk analisis statistik multivariat, termasuk analisis faktor, uji reliabilitas, dan deskriptif statistik.library(GPArotation)untuk melakukan rotasi pada analisis faktor, seperti rotasi ortogonal atau oblique, untuk interpretasi yang lebih baik.library(clValid)untuk mengevaluasi dan membandingkan hasil klasterisasi.library(ggplot2)untuk membuat visualisasi data yang fleksibel dan estetis berdasarkan grammar of graphics.library(cluster)untuk berbagai teknik klasterisasi, seperti partitioning, hierarchical clustering, dan visualisasi klaster.library(factoextra)memvisualisasikan hasil analisis multivariat.library(tidyverse)untuk manipulasi data, analisis, dan visualisasi dalam format yang konsisten.library(car)untuk analisis regresi lanjutan dan diagnosis model, seperti uji asumsi regresi.library(readxl)untuk membaca file excel.
2.2 Syntax
2.2.1 Input Data
1. Input Data
> data <- read_excel("C:/Users/ASUS/Downloads/datamiskin.xlsx")
> data.fix <- data.frame(data)read_excel()untuk membaca file excel dari lokasi yang ditentukan ke dalam variabel yang diberi namadata.data.frame()digunakan untuk tabel data 2 dimensi di R.
2. Statistika Deskriptif
> summary(data.fix)
Kabupaten Penduduk_Miskin Garis_Kemiskinan
Length:38 Min. : 6.59 Min. :370643
Class :character 1st Qu.: 68.07 1st Qu.:448367
Mode :character Median :107.49 Median :499161
Mean :104.81 Mean :514364
3rd Qu.:146.44 3rd Qu.:585628
Max. :240.14 Max. :742678 summary()untuk memberikan ringkasan statistik deskriptif dari dataset data.
2.2.2 Uji Asumsi
1. Uji Sampel Representatif
> kmo <- KMO(data.fix[,2:3])Menghitung nilai Kaiser-Meyer-Olkin (KMO) untuk variabel yang ditentukan. Pada syntax ini perhitungan KMO dilakukan pada dataset dari kolom 2 hingga 3.
2. Uji Non-Multikolinieritas
> korelasi <- cor(data.fix[,2:3], method = 'pearson')Pada Uji Asumsi Non-Multikolinieritas digunakan syntax
cor() untuk menghitung matriks korelasi antar variabel dari
dataset. Pada syntax ini perhitungan hanya dilakukan pada kolom
2 hingga 3 dan disimpan dalam korelasi. Untuk lebih memudahkan
interpretasi, digunakan corrplot() sebagai visualisasi dari
matriks korelasi.
2.2.3 Standarisasi
> datastandar <- scale(data.fix[,2:3])
> rownames(datastandar) <- 1:nrow(datastandar)Melakukan standarisasi data pada kolom 2 dan 3 dari dataset
menggunakan scale(), yang mengubah data menjadi skala
dengan mean 0 dan standar deviasi 1. Hasil standarisasi tersebut
disimpan dalam variabel datastandar. Selanjutnya, nama
baris pada datastandar diatur ulang menjadi urutan numerik
menggunakan rownames() <- 1:nrow(),
sehingga lebih mudah dibaca.
2.2.4 Koefisien Korelasi Cophenetic
> d1 <- dist(data.fix[,2:3])
>
> #Single Linkage
> his <- hclust(dist(data.fix[,2:3]), method = "single")
> #korelasi cophenetic
> hc1 <- hclust(d1, "single")
> d2 <- cophenetic(hc1)
> cors <- cor(d1,d2)
> cors
[1] 0.7971804>
> #Average Linkage
> hiave <- hclust(dist(data.fix[,2:3]), method = "ave")
> #korelasi cophenetic
> hc2 <- hclust(d1, "ave")
> d3 <- cophenetic(hc2)
> corave <- cor(d1,d3)
> corave
[1] 0.7940961>
> #Complete Linkage
> hicomp <- hclust(dist(data.fix[,2:3]), method = "complete")
> #korelasi cophenetic
> hc3 <- hclust(d1, "complete")
> d4 <- cophenetic(hc3)
> corcomp <- cor(d1,d4)
> corcomp
[1] 0.7859921>
> #Centorid Linkage
> hicen <- hclust(dist(data.fix[,2:3]), method = "centroid")
> #korelasi cophenetic
> hc4 <- hclust(d1, "centroid")
> d5 <- cophenetic(hc4)
> corcen <- cor(d1,d5)
> corcen
[1] 0.7939699>
> #Ward
> hiward <- hclust(dist(data.fix[,2:3]), method = "ward.D")
> #korelasi cophenetic
> hc5 <- hclust(d1,"ward.D")
> d6 <- cophenetic(hc5)
> corward <- cor(d1,d6)
> corward
[1] 0.7829488>
> KorCop<-data.frame(cors,corave,corcomp,corcen,corward)Analisis ini membantu memilih metode linkage yang paling sesuai berdasarkan korelasi cophenetic tertinggi, sehingga hasil klasterisasi lebih akurat dalam merepresentasikan struktur jarak data.
2.2.5 Indeks Validitas
> inval <- clValid(datastandar, 2:3, clMethods = "hierarchical", validation = "internal", metric = "euclidean", method = "single")Syntax diatas bertujuan untuk menentukan jumlah klaster yang paling representatif dan metode klasterisasi yang paling sesuai berdasarkan indeks validitas.
2.2.6 Metode Single Linkage
> his <- hclust(dist(scale(data.fix[,2:3])), method = "single")Syntax ini digunakan untuk melakukan analisis hierarchical clustering menggunakan metode single linkage
2.2.7 Dendogram
> clus_hier <- eclust(data.fix, FUNcluster = "hclust", k = 2, hc_method = "single", graph = TRUE)Syntax ini digunakan untuk memvisualisasikan dendogram berdasarkan klaster yang sudah ditentukan.
2.2.8 Karateristik Masing-Masing Cluster
> data.fix2 <- data.fix[sapply(data.fix, is.numeric)]
> idclus = clus_hier$cluster
> idclus
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1> aggregate(data.fix2,list(idclus),mean)
Group.1 Penduduk_Miskin Garis_Kemiskinan
1 1 106.4242 502689.3
2 2 75.7300 724509.5Syntax ini digunakan untuk mengidentifikasikan karateristik setiap klaster yang terbentuk serta membandingkan setiap klasternya.
3 Hasil dan Pembahasan
3.1 Uji Asumsi Sampel Representatif
Hasil perhitungan Uji KMO
> kmo
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data.fix[, 2:3])
Overall MSA = 0.5
MSA for each item =
Penduduk_Miskin Garis_Kemiskinan
0.5 0.5 Output dari masing-masing variabel memiliki nilai KMO 0.5, sehingga dapat kita simpulkan bahwa data representatif dan dapat digunakan untuk analisis selanjutnya.
3.2 Uji Asumsi Non-Multikolinearitas
> korelasi
Penduduk_Miskin Garis_Kemiskinan
Penduduk_Miskin 1.0000000 -0.3777792
Garis_Kemiskinan -0.3777792 1.0000000> corrplot(korelasi, method="number")Output menunjukkan bahwa seluruh nilai korelasi antar variabel kurang dari 0.8 maka dapat disimpulkan tidak terdapat multikolinieritas antar variabel.
3.3 Standarisasi
> datastandar
Penduduk_Miskin Garis_Kemiskinan
1 -0.48639706 -1.572339894
2 -0.37895059 -1.102172925
3 -0.47537691 -0.877602994
4 -0.58756817 -0.728301788
5 -0.13620117 -1.159280883
6 0.83357208 -1.211553262
7 2.07134927 -1.028709337
8 -0.21058718 -1.194978826
9 1.83609967 -0.605224294
10 0.02757052 -0.477551906
11 -0.07941678 0.036944841
12 -0.37711390 -1.102260447
13 1.41274222 0.255563292
14 0.61270990 -0.703193979
15 0.07012054 0.907162897
16 0.05986568 -0.062862802
17 0.08818134 -0.002122691
18 0.05450866 0.277334333
19 -0.48456037 -0.592511756
20 -0.69333100 -0.648153724
21 0.17848536 -0.749394536
22 0.65082125 -0.469412381
23 1.01678209 -0.286995124
24 0.64546424 0.112377670
25 0.57521078 1.033456817
26 1.31830565 0.357230772
27 1.67615443 -0.247369641
28 0.28547265 -0.512779420
29 1.40218124 -0.085279316
30 -1.30969415 1.167179147
31 -1.45326222 0.894264376
32 -1.07092422 2.100270658
33 -1.37091720 1.532123063
34 -1.40413071 0.435759684
35 -1.49045523 1.056868891
36 -1.48417986 1.350832649
37 0.18078122 2.497805495
38 -1.50331207 1.404877345
attr(,"scaled:center")
Penduduk_Miskin Garis_Kemiskinan
104.8087 514364.0263
attr(,"scaled:scale")
Penduduk_Miskin Garis_Kemiskinan
65.33486 91405.82570 Hasil standarisasi menunjukkan data yang memiliki nilai positif menunjukkan data tersebut bernilai lebih besar dari rata-rata. Data dengan nilai negatif menunjukkan data tersebut bernilai lebih kecil dari rata-rata dan 0 menunjukkan data tersebut persis di rata-rata.
3.4 Koefisien Korelasi Cophenetic
> KorCop
cors corave corcomp corcen corward
1 0.7971804 0.7940961 0.7859921 0.7939699 0.7829488Output diatas menunjukkan bahwa metode yang memiliki nilai korelasi mendekati 1 adalah metode single linkage, sehingga dipilih sebagai metode terbaik.
3.5 Metode Single Linkage
> optimalScores(inval)
Score Method Clusters
Connectivity 3.1829365 hierarchical 2
Dunn 0.4606623 hierarchical 3
Silhouette 0.4969932 hierarchical 3Berdasarkan ketiga indeks diatas terbentuk sebanyak 2 klaster sebagai klaster optimal menggunakan metode single linkage.
3.6 Cluster Dendogram
> fviz_dend(clus_hier, rect = TRUE, cex = 0.5)Berdasarkan output tersebut didapatkan pengelompokan sebagai berikut :
Cluster 1 : Dendogram berwarna merah yang terdiri dari Kota Malang dan Surabaya.
Cluster 2 : Dendogram berwarna biru yang terdiri dari 35 Kabupaten/Kota yaitu, Kabupaten Pacitan, Ponorogo, Trenggalek, Tulungagung, Lumajang, Blitar, Kediri, Malang, Jember, Banyuwangi, Bondowoso, Situbondo, Probolinggo, Pasuruan, Sidoarjo, Mojokerto, Jombang, Nganjuk, Madiun, Magetan, Ngawi, Bojonegoro, Tuban, Lamongan, Gresik, Bangkalan, Sampang, Pamenkasan, Sumenep, Kota Kediri, Kota Blitar, Kota Probolinggo, Kota Pasuruan, Kota Mojokerto, Kota Madiun, dan Kota Batu
3.7 Karateristik Masing-Masing Cluster
> aggregate(data.fix2,list(idclus),mean)
Group.1 Penduduk_Miskin Garis_Kemiskinan
1 1 106.4242 502689.3
2 2 75.7300 724509.5Dapat kita lihat pada cluster 1 jumlah penduduk miskin (X1) lebih banyak dibandingkan cluster 2, tetapi garis kemiskinan (X2) yang dimiliki lebih rendah jika dibandingkan dengan cluster 2.
3.8 Indeks Validitas
> summary(inval)
Clustering Methods:
hierarchical
Cluster sizes:
2 3
Validation Measures:
2 3
hierarchical Connectivity 3.1829 5.9036
Dunn 0.2962 0.4607
Silhouette 0.3342 0.4970
Optimal Scores:
Score Method Clusters
Connectivity 3.1829 hierarchical 2
Dunn 0.4607 hierarchical 3
Silhouette 0.4970 hierarchical 3 Connectivity index value yang diperoleh bernilai lebih dari 1, tetapi 2 index yang lain memiliki nilai kurang dari 1. Dapat kita simpulkan hasil cluster tersebut kurang baik.
4 Penutup
4.1 Kesimpulan
Klaster 1 memiliki rata-rata jumlah penduduk miskin yang lebih tinggi (106.42 ribu jiwa) tetapi dengan garis kemiskinan yang lebih rendah (502.689,3). Hal ini menunjukkan bahwa meskipun penduduk miskin banyak, kebutuhan minimum mereka lebih rendah dibandingkan dengan Klaster 2.
Klaster 2 memiliki rata-rata jumlah penduduk miskin yang lebih rendah (75.73 ribu jiwa), tetapi garis kemiskinan lebih tinggi (724.509,5). Hal ini menunjukkan bahwa biaya hidup atau kebutuhan minimum di kelompok ini lebih tinggi meskipun jumlah penduduk miskin lebih sedikit.
4.2 Saran
Pemerintah dapat memprioritaskan program di daerah dengan jumlah penduduk miskin yang lebih besar, yaitu klaster 1. Bantuan sosial dan program pengentasan kemiskinan, seperti distribusi kebutuhan pokok, pemberdayaan ekonomi, dan pelatihan kerja, perlu difokuskan pada daerah ini.
Sementara itu, untuk daerah yang termasuk dalam klaster 2, pemerintah dapat menyesuaikan program dengan kebutuhan lokal, mengingat garis kemiskinan yang lebih tinggi menunjukkan tingginya biaya hidup. Intervensi seperti subsidi harga kebutuhan dasar, pengembangan infrastruktur, atau perbaikan layanan kesehatan dan pendidikan dapat membantu menurunkan beban ekonomi masyarakat. Pemerintah juga perlu memastikan adanya pemantauan dan evaluasi yang berkelanjutan untuk menilai efektivitas program yang diterapkan.
5 Daftar Pustaka
Agustiya, K. W. D. N. N. F. B., & H. H. (2024). Kontribusi Dinas Sosial dalam upaya pengentasan kemiskinan di Kabupaten Jember. Jurnal Pengabdian Mandiri, 3(2), 193–200
Maulana, P., & A. (n.d.). Analisis pengaruh kemiskinan dan kondisi ekonomi terhadap indeks pembangunan manusia di Provinsi Jawa Tengah tahun 2013-2017
Santoso, S. (2010). Statistik non parametrik konsep dan aplikasi dengan SPSS. Jakarta: PT Elex Media Komputindo.