Library:
# install.packages("knitr")
# install.packages("htmltools")
# install.packages("rsconnect")
# install.packages("rmarkdown")
# install.packages("prettydoc")
# install.packages("equatiomatic")
# install.packages("kableExtra")
# install.packages("readxl")
# install.packages("factoextra")
# install.packages("dplyr")
# install.packages("cluster")
# install.packages("ggplot2")
Indonesia memiliki luas wilayah dan keberagaman yang signifikan dalam menghadapi tantangan sosial dan ekonomi yang kompleks. Perbedaan kondisi di tiap provinsi sering kali mencerminkan berbagai faktor sosial ekonomi, seperti tingkat pendidikan, pengangguran, dan kemiskinan. Variabel seperti rata-rata lama sekolah, persentase tingkat pengangguran terbuka (TPT), dan persentase penduduk miskin menjadi indikator penting dalam memahami kualitas sumber daya manusia, kondisi pasar tenaga kerja, dan kesejahteraan masyarakat secara umum (Todaro & Smith, 2015).
Pendidikan yang diwakili oleh rata-rata lama sekolah, memainkan peranan penting dalam mengurangi angka kemiskinan. Semakin tinggi tingkat pendidikan, semakin besar peluang individu untuk keluar dari lingkaran kemiskinan karena pendidikan meningkatkan keterampilan dan daya saing masyarakat. Di sisi lain, angka pengangguran terbuka yang tinggi sering kali memperparah tingkat kemiskinan karena keterbatasan akses terhadap pekerjaan produktif. Ketiga indikator ini saling berhubungan dan memberikan gambaran utuh tentang tantangan yang dihadapi masyarakat dalam mencapai kesejahteraan yang lebih baik (Kuncoro, 2013).
Sebagai alternatif dalam memahami pola-pola yang muncul dari indikator-indikator tersebut, metode statistik seperti K-means clustering menjadi alat analisis yang efektif. Metode ini membantu mengelompokkan wilayah berdasarkan karakteristik sosial-ekonominya, sehingga dapat menjadi dasar pengambilan kebijakan yang lebih terfokus dan efisien (Suharyadi & Purwanto, 2011).
Analisis klaster adalah teknik statistik yang digunakan untuk mengelompokkan objek berdasarkan karakteristik yang serupa. Objek dalam satu klaster memiliki kesamaan tertentu yang berbeda dari objek dalam klaster lainnya. Teknik ini sering digunakan dalam berbagai bidang, seperti pemasaran, kesehatan, geografi, dan analisis sosial-ekonomi (Hair et al., 2014). Analisis klaster dibagi menjadi dua yaitu analisis klaster hirarki dan non hirarki.
Salah satu metode analisis klaster non hirarki yang paling sering digunakan adalah K-means clustering. Metode ini berfungsi untuk membagi data ke dalam sejumlah klaster (k) berdasarkan jarak rata-rata (centroid) antara data dan pusat klaster. Menurut Han et al. (2012), metode K-means efektif untuk dataset berukuran besar tetapi sensitif terhadap skala data, sehingga normalisasi menjadi langkah penting sebelum penerapan metode ini.
Salah satu tantangan utama dalam penggunaan K-means adalah penentuan jumlah klaster yang optimal. Dalam membantu menentukan jumlah klaster yang tepat, digunakan salah satu metode yaitu silhouette. Metode ini mengukur seberapa baik sebuah objek berada pada klaster yang benar dibandingkan dengan klaster lain. Nilai silhouette berkisar antara -1 dan +1, di mana nilai yang lebih tinggi menunjukkan bahwa objek dalam klaster yang sesuai.
library(htmltools)
library(rsconnect)
library(knitr)
library(rmarkdown)
library(prettydoc)
library(equatiomatic)
library(kableExtra)
library(readxl)
library(factoextra)## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
##
## group_rows
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
| Provinsi | Rata-Rata Lama Sekolah | Tingkat Pengangguran Terbuka | Presentase Kemiskinan |
|---|---|---|---|
| ACEH | 9.64 | 5.75 | 14.23 |
| SUMATERA UTARA | 9.93 | 5.60 | 7.99 |
| SUMATERA BARAT | 9.44 | 5.75 | 5.97 |
| RIAU | 9.43 | 3.70 | 6.67 |
| JAMBI | 8.90 | 4.48 | 7.10 |
| SUMATERA SELATAN | 8.57 | 3.86 | 10.97 |
| BENGKULU | 9.04 | 3.11 | 13.56 |
| LAMPUNG | 8.36 | 4.19 | 10.69 |
| KEP. BANGKA BELITUNG | 8.33 | 4.63 | 4.55 |
| KEP. RIAU | 10.50 | 6.39 | 5.37 |
| DKI JAKARTA | 11.49 | 6.21 | 4.30 |
| JAWA BARAT | 8.87 | 6.75 | 7.46 |
| JAWA TENGAH | 8.02 | 4.78 | 10.47 |
| DI YOGYAKARTA | 9.92 | 3.48 | 10.83 |
| JAWA TIMUR | 8.28 | 4.19 | 9.79 |
| BANTEN | 9.23 | 6.68 | 5.84 |
| BALI | 9.54 | 1.79 | 4.00 |
| NUSA TENGGARA BARAT | 7.87 | 2.73 | 12.91 |
| NUSA TENGGARA TIMUR | 8.02 | 3.02 | 19.48 |
| KALIMANTAN BARAT | 7.78 | 4.86 | 6.32 |
| KALIMANTAN TENGAH | 8.81 | 4.01 | 5.17 |
| KALIMANTAN SELATAN | 8.62 | 4.20 | 4.11 |
| KALIMANTAN TIMUR | 10.02 | 5.14 | 5.78 |
| KALIMANTAN UTARA | 9.35 | 3.90 | 6.32 |
| SULAWESI UTARA | 9.84 | 5.85 | 7.25 |
| SULAWESI TENGAH | 9.04 | 2.94 | 11.77 |
| SULAWESI SELATAN | 8.86 | 4.19 | 8.06 |
| SULAWESI TENGGARA | 9.42 | 3.09 | 11.21 |
| GORONTALO | 8.29 | 3.13 | 14.57 |
| SULAWESI BARAT | 8.15 | 2.68 | 11.21 |
| MALUKU | 10.26 | 6.11 | 16.05 |
| MALUKU UTARA | 9.37 | 4.03 | 6.32 |
| PAPUA BARAT | 7.86 | 4.13 | 21.66 |
| PAPUA BARAT DAYA | 8.39 | 6.48 | 18.13 |
| PAPUA | 9.82 | 6.48 | 17.26 |
| PAPUA SELATAN | 8.38 | 4.05 | 17.44 |
| PAPUA TENGAH | 6.12 | 2.75 | 29.76 |
| PAPUA PEGUNUNGAN | 4.21 | 1.32 | 32.97 |
## Provinsi Rata-Rata Lama Sekolah Tingkat Pengangguran Terbuka
## Length:38 Min. : 4.210 Min. :1.320
## Class :character 1st Qu.: 8.300 1st Qu.:3.217
## Mode :character Median : 8.885 Median :4.190
## Mean : 8.841 Mean :4.380
## 3rd Qu.: 9.515 3rd Qu.:5.713
## Max. :11.490 Max. :6.750
## Presentase Kemiskinan
## Min. : 4.00
## 1st Qu.: 6.32
## Median :10.13
## Mean :11.15
## 3rd Qu.:14.06
## Max. :32.97
## Rata-Rata Lama Sekolah Tingkat Pengangguran Terbuka Presentase Kemiskinan
## [1,] 0.650 0.969 0.457
## [2,] 0.887 0.863 -0.468
## [3,] 0.488 0.969 -0.767
## [4,] 0.479 -0.481 -0.663
## [5,] 0.048 0.071 -0.600
## [6,] -0.221 -0.368 -0.026
## [7,] 0.162 -0.898 0.358
## [8,] -0.392 -0.134 -0.068
## [9,] -0.416 0.177 -0.978
## [10,] 1.351 1.421 -0.856
## [11,] 2.157 1.294 -1.015
## [12,] 0.023 1.676 -0.546
## [13,] -0.669 0.283 -0.100
## [14,] 0.879 -0.636 -0.047
## [15,] -0.457 -0.134 -0.201
## [16,] 0.317 1.627 -0.786
## [17,] 0.569 -1.831 -1.059
## [18,] -0.791 -1.167 0.261
## [19,] -0.669 -0.961 1.235
## [20,] -0.864 0.340 -0.715
## [21,] -0.026 -0.261 -0.886
## [22,] -0.180 -0.127 -1.043
## [23,] 0.960 0.538 -0.795
## [24,] 0.414 -0.339 -0.715
## [25,] 0.813 1.040 -0.577
## [26,] 0.162 -1.018 0.093
## [27,] 0.015 -0.134 -0.457
## [28,] 0.471 -0.912 0.010
## [29,] -0.449 -0.884 0.508
## [30,] -0.563 -1.202 0.010
## [31,] 1.155 1.223 0.727
## [32,] 0.431 -0.247 -0.715
## [33,] -0.799 -0.177 1.558
## [34,] -0.368 1.485 1.035
## [35,] 0.797 1.485 0.906
## [36,] -0.376 -0.233 0.933
## [37,] -2.216 -1.152 2.759
## [38,] -3.772 -2.164 3.235
## attr(,"scaled:center")
## Rata-Rata Lama Sekolah Tingkat Pengangguran Terbuka
## 8.841316 4.379737
## Presentase Kemiskinan
## 11.145789
## attr(,"scaled:scale")
## Rata-Rata Lama Sekolah Tingkat Pengangguran Terbuka
## 1.227811 1.414222
## Presentase Kemiskinan
## 6.746527
data_prov_km <- kmeans(scaledata_prov, centers = 3, nstart =25)
data_prov$cluster <- as.factor(data_prov_km$cluster)
kable(data_prov, caption = 'Tabel Klaster Tiap Provinsi')| Provinsi | Rata-Rata Lama Sekolah | Tingkat Pengangguran Terbuka | Presentase Kemiskinan | cluster |
|---|---|---|---|---|
| ACEH | 9.64 | 5.75 | 14.23 | 1 |
| SUMATERA UTARA | 9.93 | 5.60 | 7.99 | 1 |
| SUMATERA BARAT | 9.44 | 5.75 | 5.97 | 1 |
| RIAU | 9.43 | 3.70 | 6.67 | 3 |
| JAMBI | 8.90 | 4.48 | 7.10 | 3 |
| SUMATERA SELATAN | 8.57 | 3.86 | 10.97 | 3 |
| BENGKULU | 9.04 | 3.11 | 13.56 | 3 |
| LAMPUNG | 8.36 | 4.19 | 10.69 | 3 |
| KEP. BANGKA BELITUNG | 8.33 | 4.63 | 4.55 | 3 |
| KEP. RIAU | 10.50 | 6.39 | 5.37 | 1 |
| DKI JAKARTA | 11.49 | 6.21 | 4.30 | 1 |
| JAWA BARAT | 8.87 | 6.75 | 7.46 | 1 |
| JAWA TENGAH | 8.02 | 4.78 | 10.47 | 3 |
| DI YOGYAKARTA | 9.92 | 3.48 | 10.83 | 3 |
| JAWA TIMUR | 8.28 | 4.19 | 9.79 | 3 |
| BANTEN | 9.23 | 6.68 | 5.84 | 1 |
| BALI | 9.54 | 1.79 | 4.00 | 3 |
| NUSA TENGGARA BARAT | 7.87 | 2.73 | 12.91 | 3 |
| NUSA TENGGARA TIMUR | 8.02 | 3.02 | 19.48 | 3 |
| KALIMANTAN BARAT | 7.78 | 4.86 | 6.32 | 3 |
| KALIMANTAN TENGAH | 8.81 | 4.01 | 5.17 | 3 |
| KALIMANTAN SELATAN | 8.62 | 4.20 | 4.11 | 3 |
| KALIMANTAN TIMUR | 10.02 | 5.14 | 5.78 | 1 |
| KALIMANTAN UTARA | 9.35 | 3.90 | 6.32 | 3 |
| SULAWESI UTARA | 9.84 | 5.85 | 7.25 | 1 |
| SULAWESI TENGAH | 9.04 | 2.94 | 11.77 | 3 |
| SULAWESI SELATAN | 8.86 | 4.19 | 8.06 | 3 |
| SULAWESI TENGGARA | 9.42 | 3.09 | 11.21 | 3 |
| GORONTALO | 8.29 | 3.13 | 14.57 | 3 |
| SULAWESI BARAT | 8.15 | 2.68 | 11.21 | 3 |
| MALUKU | 10.26 | 6.11 | 16.05 | 1 |
| MALUKU UTARA | 9.37 | 4.03 | 6.32 | 3 |
| PAPUA BARAT | 7.86 | 4.13 | 21.66 | 3 |
| PAPUA BARAT DAYA | 8.39 | 6.48 | 18.13 | 1 |
| PAPUA | 9.82 | 6.48 | 17.26 | 1 |
| PAPUA SELATAN | 8.38 | 4.05 | 17.44 | 3 |
| PAPUA TENGAH | 6.12 | 2.75 | 29.76 | 2 |
| PAPUA PEGUNUNGAN | 4.21 | 1.32 | 32.97 | 2 |
k1 = data_prov$Provinsi[data_prov_km$cluster == 1]
k2 = data_prov$Provinsi[data_prov_km$cluster == 2]
k3 = data_prov$Provinsi[data_prov_km$cluster == 3]
k1 = paste(k1, collapse = ', ')
k2 = paste(k2, collapse = ', ')
k3 = paste(k3, collapse = ', ')
klaster = data.frame(
Klaster = c('Klaster 1','Klaster 2','Klaster 3'),
Anggota = c(k1,k2,k3)
)
kable(klaster, caption = 'Anggota hasil clustering')| Klaster | Anggota |
|---|---|
| Klaster 1 | ACEH, SUMATERA UTARA, SUMATERA BARAT, KEP. RIAU, DKI JAKARTA, JAWA BARAT, BANTEN, KALIMANTAN TIMUR, SULAWESI UTARA, MALUKU, PAPUA BARAT DAYA, PAPUA |
| Klaster 2 | PAPUA TENGAH, PAPUA PEGUNUNGAN |
| Klaster 3 | RIAU, JAMBI, SUMATERA SELATAN, BENGKULU, LAMPUNG, KEP. BANGKA BELITUNG, JAWA TENGAH, DI YOGYAKARTA, JAWA TIMUR, BALI, NUSA TENGGARA BARAT, NUSA TENGGARA TIMUR, KALIMANTAN BARAT, KALIMANTAN TENGAH, KALIMANTAN SELATAN, KALIMANTAN UTARA, SULAWESI TENGAH, SULAWESI SELATAN, SULAWESI TENGGARA, GORONTALO, SULAWESI BARAT, MALUKU UTARA, PAPUA BARAT, PAPUA SELATAN |
## Group.1 Rata-Rata Lama Sekolah Tingkat Pengangguran Terbuka
## 1 1 0.7691667 1.2158333
## 2 2 -2.9940000 -1.6580000
## 3 3 -0.1350833 -0.4697083
## Presentase Kemiskinan
## 1 -0.2237500
## 2 2.9970000
## 3 -0.1377917
Standarisasi data diperlukan pada analisis ini karena terdapat satuan antar variabel yang berbeda.
Berdasarkan grafik visualisasi dengan metode silhouette, didapatkan k optimal yaitu 3 dan didapat nilai pada saat titik k=3 bernilai sekitar 0.42. Hal ini karena nilai 0.42 merupakan nilai yang paling tinggi dibandingkan titik lain dan nilai 0.42 merupakan nilai yang paling mendekati 1. Sehingga dipilih k=3 sebagai k optimal.
Berdasarkan hasil perhitungan dengan metode k-means, didapatkan hasil bahwa provinsi dapat dibagi menjadi 3 klaster. Pada klaster 1 terdapat 24 provinsi, klaster 2 terdapat 2 provinsi, dan klaster 3 terdapat 12 provinsi.