Analisis K-Means: Clustering Provinsi di Indonesia Berdasarkan Indikator Sosial dan Ekonomi Tahun 2024

Dominico Savio Winning Nugroho

2024-11-27


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")

1 PENDAHULUAN

1.1 Latar Belakang

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).

1.2 Rumusan Masalah

  1. Berapa banyak klaster atau kelompok yang dapat membagi provinsi di Indonesia berdasarkan indikator sosial dan ekonomi?
  2. Bagaimana karakteristik klaster atau kelompok provinsi di Indonesia yang terbentuk berdasarkan indikator sosial dan ekonomi?

1.3 Tujuan Penelitian

  1. Mengetahui banyaknya klaster atau kelompok provinsi di Indonesia yang akan terbentuk berdasarkan indikator sosial dan ekonomi.
  2. Mengetahui karakteristik klaster atau kelompok provinsi di Indonesia yang terbentuk berdasarkan indikator sosial dan ekonomi.

2 TINJAUAN PUSTAKA

2.1 Analisis Cluster

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.

2.2 Metode Analisis Non-Hirarki K-Means

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.

3 SOURCE CODE

3.1 Library

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
library(dplyr)
## 
## 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
library(cluster)
library(ggplot2)

3.2 Data

3.2.1 Input Data

data_prov <- read_xlsx("D:/Data Anmul UAP Prak.xlsx")
kable(data_prov, caption = "Tabel Data")
Tabel Data
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

3.2.2 Summary Data

summary(data_prov)
##    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

3.2.3 Standarisasi Data

scaledata_prov <-round(scale(data_prov[,2:4]),3)
scaledata_prov
##       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
rownames(scaledata_prov) <- as.character(data_prov$Provinsi)

3.3 Metode K-Means

3.3.1 Penentuan (k) optimal

fviz_nbclust(scaledata_prov, kmeans, method = "silhouette")

3.3.2 Penentuan kelompok/klaster masing-masing provinsi

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')
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')
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

3.3.3 Visualisasi hasil

fviz_cluster(data_prov_km, data = scaledata_prov,
             palette = c("#3D5300", "#AF1740","#0A3981"))

3.3.4 Rata-rata tiap klaster

mean_cluster_km <- aggregate(scaledata_prov, list(data_prov_km$cluster),mean)
mean_cluster_km
##   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

4 Hasil dan Pembahasan

4.1 Statistika Deskriptif

  • Berdasarkan hasil summary data, pada variabel Provinsi memiliki banyak Provinsi sejumlah 38 Provinsi.
  • Berdasarkan hasil summary data, pada variabel “Rata-rata Lama Sekolah” memiliki nilai minimal rata-rata lama sekolah sebanyak 4.2 tahun, nilai maksimal rata-rata lama sekolah yaitu 11.49 tahun, dan nilai tengah rata-rata lama sekolah yaitu 8.9 tahun.
  • Berdasarkan hasil summary data, pada variabel “Tingkat Pengangguran Terbuka” memiliki nilai minimal tingkat pengangguran terbuka sebesar 1.32 persen, nilai maksimal tingkat pengangguran terbuka sebesar 6.75 persen, dan nilai tengah tingkat pengangguran terbuka sebesar 4.19 persen.
  • Berdasarkan hasil summary data, pada variabel “Presentase Kemiskinan”. Pada variabel “Presentase Kemiskinan” memiliki nilai minimal presentase kemiskinan sebesar 4 persen, nilai maksimal presentase kemiskinan sebesar 32.97 persen, dan nilai tengah presentase kemiskinan sebesar 10.13 persen.

4.2 Standarisasi Data

Standarisasi data diperlukan pada analisis ini karena terdapat satuan antar variabel yang berbeda.

4.3 Penentuan (k) optimal

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.

4.4 Penentuan kelompok/klaster masing-masing provinsi

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.

5 KESIMPULAN

  • Berdasarkan hasil analisis klaster dengan metode k-means, didapatkan hasil bahwa berdasarkan indikator sosial dan ekonomi pada tahun 2024, sebanyak 38 Provinsi yang ada di Indonesia dapat dibagi menjadi 3 klaster.
  • Berdasarkan hasil rata-rata masing-masing klaster, dapat diketahui bahwa pada klaster 1 cenderung mewakili wilayah dengan pendidikan relatif tinggi, pengangguran tinggi, tetapi tingkat kemiskinan rendah. Pada klaster 2 dapat dideskripsikan sebagai wilayah dengan pendidikan sangat rendah, tingkat pengangguran rendah, tetapi kemiskinan tinggi.Pada klaster 3 wilayah ini berada di antara kedua kelompok tersebut, dengan kondisi rata-rata atau sedikit di bawah rata-rata.

6 DAFTAR PUSTAKA

  • Hair, J. F., Black, W. C., Babin, B. J., and Anderson, R. E. 2014. Multivariate Data Analysis (7th ed.). Pearson Education, Inc.
  • Kuncoro, M. 2013. Otonomi Daerah: Menuju Era Baru Pembangunan Daerah. Jakarta: Erlangga.
  • Suharyadi dan Purwanto. 2011. Statistika untuk Ekonomi dan Keuangan Modern. Jakarta: Salemba Empat.
  • Todaro, M. P., and Smith, S. C. 2015. Economic Development (12th ed.). Pearson Education, Inc.