1. Pendahuluan

1.1 Latar Belakang

Tenaga kerja merupakan setiap orang yang mampu melakukan pekerjaan baik di dalam maupun diluar hubungan kerja guna menghasilkan jasa atau barang untuk memenuhi kebutuhan sendiri maupun untuk Masyarakat (Undang-Undang Pokok Ketenagakerjaan No. 13 Tahun 2003). Pada beberapa tahun terakhir, salah satu masalah yang cukup ramai diperbincangkan adalah sulitnya mencari lapangan pekerjaan. Hal tersebut dikarenakan jumlah lapangan kerja yang tersedia tidak sebanding dengan jumlah orang yang sedang mencari pekerjaan. Kondisi tenaga kerja di suatu daerah tentu saja berkaitan dengan kemiskinan. Jika terdapat banyak orang yang tidak memiliki pekerjaan (pengangguran), maka hal tersebut berkaitan dengan tingkat kemiskinan (Asri dkk., 2023). Salah satu provinsi yang juga masih menghadapi permasalahan ketenagakerjaan adalah Provinsi Jawa Tengah.

Kondisi ketenagakerjaan di Jawa Tengah dapat dilihat dari beberapa aspek. Berdasarkan permasalahan yang terjadi, pemerintah perlu mengetahui persebaran kondisi ketenagakerjaan di setiap kabupaten/kota di Jawa Tengah agar dapat melakukan tindakan lanjutan sebagai upaya penanganan. Akan tetapi, setiap kabupaten/kota tentu saja memiliki tingkat masalah yang berbeda. Oleh karena itu, pemerintah perlu mengetahui persebaran masalah yang terjadi. Berdasarkan hal tersebut, dapat dilakukan analisis cluster untuk mengetahui kondisi ketenagarkejaan di setiap kabupaten/kota. Analisis cluster dilakukan untuk mengelompokkan kabupaten/kota di Jawa Tengah berdasarkan kesamaan karakteristik ketenagakerjaan setiap kabupaten/kota. Hal tersebut bertujuan agar pemerintah dapat memfokuskan penanganan berdasarkan indikator yang paling perlu ditangani sehingga upaya perbaikan yang dilakukan oleh pemerintah dapat sesuai sasaran dan berjalan lebih efektif.

Salah satu metode clustering yang dapat digunakan adalah analisis cluster nonhierarki dengan metode K-Means. Metode nonhierarki merupakan teknik klasterisasi di mana jumlah cluster yang diinginkan ditentukan sejak awal. Pusat cluster dipilih secara sementara dan terus diperbarui di setiap iterasi hingga tercapai kriteria tertentu. Selama proses iterasi, objek dapat berpindah dari satu cluster ke cluster lain (Puspita, 2021). Keuntungan metode nonhierarki yakni dapat melakukan analisis sampel dalam ukuran yang lebih besar dengan lebih efisien. Selain itu, metode nonhierarki hanya memiliki sedikit kelemahan pada data outlier, ukuran jarak yang digunakan, dan variabel yang tidak relevan.

K-means merupakan metode nonhierarki yang paling banyak digunakan untuk pengelompokan karena kemudahan dan kemampuannya untuk mengelompokkan dalam jumlah data yang besar dengan waktu komputasi yang cepat dan efisien. K-means melihat jarak antar objek terhadap nilai centroid cluster (Lenama dkk., 2023). Metode K-means digunakan karena data yang digunakan merupakan data numerik. Metode K-Means digunakan untuk mengelompokkan Kabupaten/Kota berdasarkan kemiripan pada indikator ketenagakerjaan. Hasil pengelompokan cluster menggunakan analisis cluster K-Means diharapkan dapat membantu pemerintah Provinsi Jawa Tengah dalam lebih memfokuskan upaya penanganan masalah ketenagkerjaan pada kabupaten/kota berdasarkan karakteristik masing-masing cluster.

1.2 Rumusan Masalah

Bagaimana pengelompokan kabupaten/kota di Provinsi Jawa Tengah berdasarkan indikator ketenagakerjaan menggunakan analisis cluster metode K-Means?

1.2 Tujuan

Untuk mengelompokkan kabupaten/kota di Provinsi Jawa Tengah berdasarkan indikator ketenagakerjan menggunakan analisis cluster metode K-Means?

2. Tinjuan Pustaka

2.1 Pengertian Analisis Cluster Metode K-Means

Menurut (Witten, 2012), K-Means merupakan salah satu algoritma untuk mengelompokkan data berdasarkan jarak dengan membagi data ke beberapa cluster serta algoritma hanya dapat bekerja pada data numerik (rindang ndaru). K-means melihat jarak antar objek terhadap nilai centroid cluster. K-means mengelompokkan secara tegas data hanya pada satu cluster dengan menggunakan ukuran jarak terkecil terhadap centroid (Lenama dkk., 2023).

2.2 Tahapan Analisis Cluster Metode K-Means

Menurut Puspita (2021), analisis cluster K-Means tidak memerlukan asumsi tertentu. Tahapan dalam analisis cluster K-Means dimulai dengan menentukan jumlah cluster awal (K) hingga diperoleh nilai centroid yang tetap dan anggota cluster tidak berpindah ke cluster lain. Tahapan analisis cluster K-Means adalah sebagai berikut (Wakhidah, 2010) :

  1. Menetukan nilai K sebagai jumlah cluster yang diinginkan

  2. Memilih K dari set data X sebagai centroid. Nilai centroid merupakan rata-rata objek dalam cluster tersebut. Persamaan untuk menghitung centroid adalah sebagai berikut:
    \[ C_{ij} = \frac{1}{n_i} \sum_{k=1}^{n_i} X_{jk} \] Keterangan:
    \(C_{ij}\): Centroid/rata-rata cluster ke-\(i\) untuk variabel ke-\(j\)
    \(i, k\): Indeks dari cluster \(j\) adalah indeks dari variabel
    \(n_i\): Jumlah data yang menjadi anggota cluster ke-\(i\)
    \(X_{jk}\): Nilai data ke-\(k\) yang ada di dalam cluster tersebut untuk variabel ke-\(j\)

  3. Menghitung jarak setiap objek ke masing-masing centroid dari masing-masing cluster dengan menggunakan jarak Euclidean
    \[ d = \sqrt{(x_i - s_i)^2 + (y_i - t_i)^2} \] Keterangan:
    \(d\): Jarak Euclidean
    \(i\): Banyaknya objek (0, 1, 2, …, n)
    \((s, t)\): Koordinat centroid
    \((x, y)\): Koordinat objek

  4. Mengalokasikan masing-masing objek ke dalam centroid yang paling dekat

  5. Menghitung kembali centroid berdasarkan data yang mengikuti klaster masing-masing

  6. Mengulangi langkah pada nomor 3, 4, dan 5 hingga kondisi konvergen tercapai, yaitu tidak ada data yang berpindah klaster.

2.3 Metode Penentuan Jumlah Cluster

2.3.1 Metode Elbow

Metode Elbow adalah suatu metode untuk menentukan jumlah cluster terbaik dengan menganalisis perubahan nilai SSE (Sum of Square Error) pada grafik. Menurut Izzatin (2020), Pendekatan ini dilakukan dengan mencoba berbagai jumlah cluster dan mengevaluasi model yang terbentuk. Titik optimal ditentukan saat grafik menunjukkan sudut siku, yaitu ketika penurunan nilai SSE antara satu cluster dan cluster berikutnya paling besar. Nilai SSE dihitung untuk setiap jumlah cluster, di mana SSE cenderung berkurang seiring bertambahnya jumlah cluster KK. Penurunan yang signifikan menunjukkan jumlah cluster yang paling sesuai untuk data tersebut. Adapun rumus SSE adalah sebagai berikut :

\[ SSE = \sum_{k=1}^K \sum_{x_i} \|x_i - c_k\|^2 \] Keterangan :

\(K\) : Cluster ke-\(k\)

\(x_i\) : Jarak data objek ke-\(i\)

\(c_k\) : Pusat Cluster ke-\(k\)

2.3.2 Metode Sillhouette

Silhouette Coefficient digunakan untuk mengevaluasi kualitas dan kekuatan sebuah cluster dengan mengukur seberapa tepat sebuah objek dikelompokkan dalam cluster tertentu (Dewi & Paramita, 2019). Metode ini menggabungkan konsep separasi (jarak antar cluster) dan kohesi (kedekatan objek dalam satu cluster). Rumus menghitung nilai Sillhouette adalah sebagai berikut : \[ {SI}_i^j=\frac{(b_i^j-a_i^j)}{max⁡({a_i^j,b_i^j})} \] Keterangan :

\((SI)^j_i\) : Silhouette Index data ke-\(i\) dalam satu cluster

\((b)^j_i\) : Rata-rata jarak data ke-\(i\) terhadap semua data yang tidak dalam satu cluster dengan data ke-\(i\)

\((a)^j_i\) : Rata-rata jarak data ke-\(i\) terhadap semua data dalam satu cluster

2.3.3 Indeks Dunn

Dunn Index adalah salah satu metode untuk memvalidasi hasil clustering. Metode ini memberikan skor optimal pada algoritma clustering yang menghasilkan cluster dengan tingkat kemiripan yang tinggi dalam satu cluster dan perbedaan yang signifikan antar cluster. Tujuan utama Dunn Index adalah untuk mengidentifikasi cluster yang terpisah dengan baik (Malikhatin dkk., 2021). Indeks ini dihitung dengan membandingkan jarak minimum antar cluster dengan jarak maksimum di dalam cluster (intra-cluster). Semakin tinggi nilai Dunn Index, semakin optimal hasil clustering yang diperoleh.Rumus menghitung Dunn Index adalah sebagai berikut :

\[ D = \frac{\min_{1 \leq i \leq k} \min_{i+1 \leq j \leq k} d(C_i, C_j)}{\max_{1 \leq l \leq k} d(C_l)} \] Keterangan :

\(d(C_i, C_j)\) : Jarak minimum antara dua cluster \(C_i\) dan \(C_j\).

\(d(C_l)\) : Jarak maksimum antara dua anggota dalam cluster \(C_l\).

\(C_i, C_j\) : Cluster ke-\(i\) dan \(j\) dengan \(i \neq j\).

\(k\) : Jumlah total cluster dalam hasil clustering.

2.3.4 Indeks Connectivity

Indeks Connectivity memiliki nilai antara 0 hingga tak terhingga. Semakin kecil nilai Indeks Connectivity, semakin baik hasil cluster yang terbentuk (Afira & Wijayanto, 2021). Rumus untuk menghitung Indeks Connectivity adalah sebagai berikut : \[ \text{Conn}(C) = \sum_{i=1}^{N} \sum_{j=1}^{L} X_{i, nni(j)} \] Keterangan

\(X_{i, nni(j)}\) : Nilai pengamatan untuk titik data \(i\) yang terhubung dengan tetangga terdekatnya \(j\).

\(nni(j)\) : Pengamatan tetangga terdekat untuk data \(i\) ke \(j\).

\(L\) : Parameter yang menentukan jumlah tetangga yang berkontribusi untuk menghitung nilai Indeks Connectivity.

\(N\) : Jumlah total pengamatan atau data dalam cluster.

3. Data

Data yang digunakan merupakan data indikator ketenagakerjaan di Provinsi Jawa Tengah pada tahun 2023. Data bersumber dari laman resmi Badan Pusat Statistik (BPS) Provinsi Jawa Tengah. Data terdiri dari 35 pengamatan yang merupakan kabupaten/kota di Jawa Tengah. Data terdiri dari lima varaibel yang merupakan indikator ketenagakerjaan. Variabel yang digunakan adalah sebagai berikut:

  • Tingkat Pengangguran Terbuka (TPT) dalam persen

  • Tingkat Partisipasi Angkatan Kerja (TPAK) dalam persen

  • Upah Minimum (UM) dalam rupiah

  • Jumlah Angkatan Kerja (JKA) dalam ribu

  • Jumah Penduduk Miskin (JPM) dalam ribu

Data yang digunakan adalah sebagai berikut :

Data Indikator Ketenagakerjaan Provinsi Jawa Tengah
Kabupaten/Kota TPT TPAK UM JKA JPM
Kabupaten Cilacap 8.74 66.60 2383090 1046667 191000
Kabupaten Banyumas 6.35 64.60 2118124 924751 216500
Kabupaten Purbalingga 5.61 73.45 2130981 583408 143410
Kabupaten Banjarnegara 6.26 71.64 1958170 583820 138990
Kabupaten Kebumen 5.11 74.54 2035890 813172 195450
Kabupaten Purworejo 4.02 74.76 2043902 469977 81280
Kabupaten Wonosobo 4.95 73.59 2076209 519797 123700
Kabupaten Magelang 4.42 79.45 2236777 833166 144490
Kabupaten Boyolali 4.05 74.73 2155712 636734 97480
Kabupaten Klaten 4.20 66.71 2152323 684248 144430
Kabupaten Sukoharjo 3.40 67.66 2138248 499743 68790
Kabupaten Wonogiri 1.92 82.45 1968448 713252 104820
Kabupaten Karanganyar 4.35 70.69 2207484 531203 88640
Kabupaten Sragen 3.87 68.60 1969569 542178 114620
Kabupaten Grobogan 4.02 75.81 2029569 880463 162520
Kabupaten Blora 3.10 78.02 2040080 568103 99610
Kabupaten Rembang 2.60 72.75 2015927 380165 91970
Kabupaten Pati 4.29 73.10 2107697 790185 118180
Kabupaten Kudus 3.25 72.19 2439814 489161 65160
Kabupaten Jepara 3.35 71.57 2272627 676472 86750
Kabupaten Demak 5.38 70.76 2680421 671407 143260
Kabupaten Semarang 4.05 76.07 2480988 645289 78350
Kabupaten Temanggung 2.32 75.80 2027569 482651 72960
Kabupaten Kendal 5.76 76.93 2508300 634486 92640
Kabupaten Batang 6.06 76.62 2282026 488737 69970
Kabupaten Pekalongan 3.25 70.46 2247346 542190 87930
Kabupaten Pemalang 6.55 69.58 2081783 817491 195570
Kabupaten Tegal 8.60 67.61 2106238 850930 105030
Kabupaten Brebes 8.98 66.10 2018837 1039846 286140
Kota Magelang 5.25 69.66 2066007 69199 7450
Kota Surakarta 4.58 69.18 2174169 291864 43890
Kota Salatiga 4.57 72.09 2284180 113337 9410
Kota Semarang 5.99 69.42 3060349 929014 80530
Kota Pekalongan 5.02 73.95 2305823 180587 21360
Kota Tegal 6.05 66.64 2145012 145442 19220

4. Source Code

4.1 Library

library(readxl)
library(factoextra)
library(cluster)
library(clValid)
library(dplyr)
library(knitr)
library(kableExtra)
  • Library(readxl) berfungsi memuat package readxl yang digunakan untuk membaca file excel dengan format .xlsx.

  • Library(factoextra) berfungsi memuat package factoextra yang menyediakan fungsi untuk memvisualisasikan hasil analisis cluster.

  • Library(cluster) berfungsi memuat package cluster yang digunakan untuk melakukan dan menganalisis klasterisasi data.

  • Library(clValid) berfungsi memuat package clValid yang digunakan untuk evaluasi dan validasi hasil clustering, seperti indeks.

  • Library(dplyr) berfungsi memuat package dplyr yang digunakan untuk memilih, menyaring, mengelompokkan, dan merangkum data dengan cepat.

  • Library(knitr) berfungsi memuat package knitr yang digunakan untuk mengintegrasikan kode R dengan teks untuk menghasilkan output yang mencakup analisis data, visualisasi, dan hasil kode.

  • Library(kableExtra) berfungsi memuat package kableExtra untuk menambahkan styling seperti warna, border, dan pengaturan kolom pada tabel yang dihasilkan oleh package knitr.

4.2 Input Data

data_tenaga_kerja <- read_excel("C:/Users/Asus/Documents/Akademik/Semester 5/Anmul/Tugas/Laprak 2 dan UAP/Data_Tenaga_Kerja_Jateng.xlsx")
data_tenaga_kerja

Fungsi read_excel() digunakan untuk membaca file Excel dengan menunjukkan lokasi file penyimpanan file tersebut. Data dalam file excel diletakkan dalam objek bernama data_tenaga_kerja.

4.3 Statistika Deskriptif

summary(data_tenaga_kerja)

Fungsi summary() digunakan untuk menampilkan ringkasan lima angka dan ukuran pemusatan pada setiap variabel.

4.4 Standarisasi Data

data_tk <- data.frame(scale(data_tenaga_kerja[, 2:6]))

Fungsi scale() berfungsi untuk melakukan standarisasi pada file data_tenaga_kerja mulai dari kolom 2 hingga kolom 6. Hasil standarisasi kemudian disimpan dalam bentuk data frame menggunakan fungsi data.frame() dan disimpan dalam objek bernama data_tk.

4.5 Penentuan Jumlah Cluster (K)

4.5.1 Metode Elbow

fviz_nbclust(data_tk, kmeans, method = "wss")

Fungsi fviz_nbclust() digunakan untuk menentukan jumlah cluster optimal dalam analisis cluster dengan metode yang digunakan adalah K-Means. Pernyataan method = “wss” menyatakan bahwa metode yang digunakan adalah within-cluster sum of squares (WSS) atau metode elbow.

4.5.2 Metode Silhoutte

  • Plot
fviz_nbclust(data_tk, kmeans, method = "silhouette")

Fungsi fviz_nbclust() digunakan untuk menentukan jumlah cluster optimal dalam analisis cluster dengan metode yang digunakan adalah K-Means. Pernyataan method = “silhouette” menyatakan bahwa metode yang digunakan dalam penentuan jumlah cluster adalah metode sillhouette.

  • Inisialisasi vektor untuk menyimpan jumlah klaster dan indeks silhouette
k_values <- 2:10
silhouette_indices <- c()

Vektor k_values yang berisi jumlah cluster yang akan diuji, yaitu dari 2 hingga 10. Objek silhouette_indices digunakan untuk menyimpan indeks Silhouette untuk setiap jumlah cluster K.

  • Loop untuk jumlah cluster dari 2 hingga 5
for (k in k_values) {
  kmeans_result <- kmeans(data_tk, centers = k, nstart = 25)
  silhouette_result <- silhouette(kmeans_result$cluster, dist(data_tk))
  global_silhouette_index <- mean(silhouette_result[, 3])
  silhouette_indices <- c(silhouette_indices, global_silhouette_index)
}

[Penjelasan setiap baris : ]

for (k in k_values) {}

Pernyataan loop “for” digunakan untuk iterasi setiap nilai K dari objek k_values.

kmeans_result <- kmeans(data_tk, centers = k, nstart = 25)

Fungsi kmeans() digunakan untuk melakukan clustering K-Means pada data data_tk dengan k cluster dan nstart=25 yang berarti menjalankan algoritma K-Means sebanyak 25 kali dengan titik awal acak yang berbeda dan memilih hasil dengan total WSS terendah.

silhouette_result <- silhouette(kmeans_result$cluster, dist(data_tk))

Fungsi silhouette() digunakan untuk menghitung Silhouette Index untuk hasil clustering K-Means. Pernyataan kmeans_result$cluster menunjukkan label cluster untuk setiap titik data, sedangkan pernyataan dist(data_tk) menghitung matriks jarak (distance matrix) untuk data data_tk.

global_silhouette_index <- mean(silhouette_result[, 3])

Fungsi mean() berguna menghitung rata-rata Silhouette Index dari hasil silhouette_result. Kolom ketiga ([, 3]) berisi nilai Silhouette untuk setiap titik data.

silhouette_indices <- c(silhouette_indices, global_silhouette_index)

Menambahkan nilai rata-rata Silhouette Index ke objek vektor bernama silhouette_indices.

  • Buat tabel data.frame untuk menampilkan hasil
silhouette_table <- data.frame(
  Cluster = k_values,
  Silhouette_Index = silhouette_indices
)

Membuat data frame silhouette_table dengan dua kolom, yaitu Cluster (jumlah kluster) dan Silhouette_Index (nilai indeks Silhouette untuk jumlah kluster tersebut).

  • Cetak tabel
print(silhouette_table)

Mencetak tabel silhouette_table ke konsol yang menampilkan jumlah cluster dan indeks Silhouette masing-masing.

4.5.3 Indeks Validitas

inval <- clValid(data_tk, nClust = 2:10, clMethods = "kmeans", validation = "internal", metric = "euclidean")
summary(inval)
optimalScores(inval)
plot(inval)

[Penjelasan setiap baris : ]

inval <- clValid(data_tk, nClust = 2:10, clMethods = "kmeans", validation = "internal", metric = "euclidean")

Fungsi clValid digunakan untuk mengevaluasi performa clustering dengan beberapa metode validasi pada data data_tk dengan rentang cluster yang diuji mulai dari 2 hingga 10. Metode yang digunakan adalah K-means dengan validasi internal dan metode pengukuran jarak yang digunakan adalah euclidean.

summary(inval)

Funsi summary() digunakan untuk menampilkan hasil validasi clustering yang mencakup metrik-metrik internal, seperti Silhouette Index, Connectivity, dan Dunn Index yang disimpan pada objek inval.

optimalScores(inval)

OptimalScores() digunakan untuk menampilkan skor optimal untuk setiap metrik validasi yang dihitung pada objek inval.

4.6 Analisis Cluster Metode K-Means

set.seed(123)
km <- kmeans(data_tk, centers = 2, nstart =25)

set.seed(123) digunakan untuk mengatur nilai awal dari generator angka acak di R sehingga hasil analisis klaster yang dilakukan tetap konsisten dan tidak berubah setiap kali kode dijalankan.. Fungsi kmeans() digunakan untuk melakukan clustering K-Means pada data data_tk dengan cluster sebanyak 2 dan nstart=25 yang berarti menjalankan algoritma K-Means sebanyak 25 kali dengan titik awal acak yang berbeda dan memilih hasil dengan total WSS terendah. Hasil analisis cluster K-Means disimpan dalam objek bernama km.

4.7 Karakteristik Cluster yang Terbentuk

data_tk %>%
  mutate(cluster = km$cluster) %>%
  group_by(cluster) %>%
  summarise_all(mean)

library(dplyr) memuat paket dplyr yang digunakan untuk manipulasi data di R. Pernyataan data_tk %>% digunakan untuk menjadikan data frame data_tk sebagai input awal dan mengoperasikan rangkaian fungsi dengan pipe (%>%) yang mempermudah penggabungan fungsi. Pernyataan mutate() berfungsi untuk menambahkan kolom baru bernama cluster ke data frame data_rt. Kolom cluster akan berisi nilai-nilai dari variabel km$cluster yang berasal dari hasil analisi cluster K-Means. Fungsi group_by(cluster digunakan untuk mengelompokkan data berdasarkan kolom cluster. Pernyataan summarise_all(mean) berguna untuk menghitung nilai rata-rata untuk semua kolom dalam data frame per grup cluster.

4.8 Data Pengelompokkan Cluster

hasil_kmeans = data.frame(data_tk[, 1:5], km$cluster)
hasil_kmeans

Fungsi data.frame() digunakan untuk menyusun data frame yang terdiri dari kolom 1 hingga kolom 5 pada data data_tk dan menggabungnya dengan kolom km$cluster. Data frame tersebut disimpan dalam objek bernama hasil_kmeans.

4.9 Plot Cluster

fviz_cluster(km, data = data_tk,
             palette = c( "#FF0000", "#5B99C2"))

Fungsi fviz_cluster() digunakan untuk membuat plot hasil pengelompokkan cluster dari objek km dengan menggunakan data data_rt dan plot diberi warna sesuai kode (merah dan biru).

5. Hasil dan Pembahasan

5.1 Statistika Deskriptif

##  Kabupaten/Kota          TPT             TPAK             UM         
##  Length:35          Min.   :1.920   Min.   :64.60   Min.   :1958170  
##  Class :character   1st Qu.:3.945   1st Qu.:69.30   1st Qu.:2041991  
##  Mode  :character   Median :4.570   Median :72.09   Median :2138248  
##                     Mean   :4.865   Mean   :72.11   Mean   :2198563  
##                     3rd Qu.:5.875   3rd Qu.:74.75   3rd Qu.:2277327  
##                     Max.   :8.980   Max.   :82.45   Max.   :3060349  
##       JKA               JPM        
##  Min.   :  69199   Min.   :  7450  
##  1st Qu.: 488949   1st Qu.: 75655  
##  Median : 583820   Median : 97480  
##  Mean   : 601975   Mean   :108329  
##  3rd Qu.: 801679   3rd Qu.:143335  
##  Max.   :1046667   Max.   :286140
  • Sebagian besar kabupaten/kota di Jawa Tengah memiliki Tingkat Pengangguran Terbuka (TPT) sebesar 4,865% dengan nilai TPT terendah yang dimiliki suatu kabupaten/kota sebesar 1,920% dan TPT tertinggi mencapai 8,980%.

  • Sebagian besar kabupaten/kota di Jawa Tengah memiliki Tingkat Partisipasi Angkatan Kerja (TPAK) sebesar 72,09% dengan nilai TPAK terendah yang dimiliki suatu kabupaten/kota sebesar 64,60% dan TPAK tertinggi mencapai 82,45%.

  • Sebagian besar kabupaten/kota di Jawa Tengah memiliki Upah Minimum (UM) sebesar Rp2.198.563 dengan nilai UM terendah yang dimiliki suatu kabupaten/kota sebesar Rp1.958.170 dan UM tertinggi mencapai Rp3.060.349.

  • Sebagian besar kabupaten/kota di Jawa Tengah memiliki Jumlah Angkatan Kerja (JKA) sebesar 601.975 orang dengan nilai JKA terendah yang dimiliki suatu kabupaten/kota sebesar 69.199 orang dan JKA tertinggi mencapai 1.046.667 orang.

  • Sebagian besar kabupaten/kota di Jawa Tengah jumlah penduduk miskin (JPM) sebesar 108.329 jiwa dengan nilai JPM terendah yang dimiliki suatu kabupaten/kota sebesar 7.450 jiwa dan JPM tertinggi mencapai 286.140 jiwa.

5.2 Penentuan Jumlah Cluster (K)

5.2.1 Metode Elbow

Berdasarkan plot dengan metode Elbow, terlihat bahwa posisi grafik curam dari titik pertama, setelah itu pergerakannya mulai melandai sedikit-demi sedikit. Pergerakan grafik yang mulai landai adalah pada titik ke 2-3. Oleh karena itu, jumlah cluster optimum yang disarankan berdasarkan metode ini adalah 2.

5.2.2 Metode Silhouette

Berdasarkan plot dengan metode Silhouette, dapat diketahui bahwa jumlah optimal cluster yang terbentuk adalah sebanyak 2 cluster.

##   Cluster Silhouette_Index
## 1       2        0.3694338
## 2       3        0.2877671
## 3       4        0.3095639
## 4       5        0.2819002
## 5       6        0.2814333
## 6       7        0.2875295
## 7       8        0.2679831
## 8       9        0.2476606
## 9      10        0.2451789

Selain melihat pada plot, Indeks sillhouette juga menunjukkan nilai tertinggi saat jumlah cluster sebanyak 2. Oleh karena itu, jumlah cluster optimal yang dipilih sebanyak 2.

5.2.3 Indeks Validitas

## Warning in clValid(data_tk, nClust = 2:10, clMethods = "kmeans", validation =
## "internal", : rownames for data not specified, using 1:nrow(data)
## 
## Clustering Methods:
##  kmeans 
## 
## Cluster sizes:
##  2 3 4 5 6 7 8 9 10 
## 
## Validation Measures:
##                            2       3       4       5       6       7       8       9      10
##                                                                                             
## kmeans Connectivity  10.9790 14.3726 25.9611 30.9095 35.4401 38.0234 39.2734 45.5234 50.8111
##        Dunn           0.2448  0.2319  0.2452  0.2628  0.2880  0.2899  0.2899  0.3189  0.3476
##        Silhouette     0.3694  0.2935  0.2583  0.2819  0.2814  0.2466  0.2290  0.2497  0.2257
## 
## Optimal Scores:
## 
##              Score   Method Clusters
## Connectivity 10.9790 kmeans 2       
## Dunn          0.3476 kmeans 10      
## Silhouette    0.3694 kmeans 2

Analisis cluster nonhierarki dengan metode K-means pada output tersebut memuat tiga jenis indeks untuk menentukan banyaknya cluster optimal. Indeks Connectivity dan Silhouette menunjukkan cluster optimal yang terbentuk sebanyak 2 cluster, sedangkan indeks Dunn menunjukkan cluster optimal yang terbentuk sebanyak 10 cluster. Berdasarkan hal tersebut, dikarenakan dua jenis indeks menunjukkan banyaknya cluster optimal adalah sebanyak 2 cluster, sedangkan satu jenis indeks menunjukkan banyaknya cluster optimal adalah sebanyak 1 cluster, maka digunakan banyaknya cluster optimal yang terbentuk adalah sebanyak 2 cluster.

5.3 Analisis Cluster Metode K-Means

Beberapa metode yang digunakan dalam menentukan jumlah cluster menghasilkan jawaban yang sama, yaitu jumlah cluster optimal yang terbentuk dengan analisis cluster metode K-Means adalah sebanyak 2 cluster. Hasil analisis cluster metode K-Means adalah sebagai berikut.

## K-means clustering with 2 clusters of sizes 7, 28
## 
## Cluster means:
##          TPT       TPAK         UM        JKA        JPM
## 1  1.3981977 -1.0401967  0.6715444  1.1888386  1.0838665
## 2 -0.3495494  0.2600492 -0.1678861 -0.2972096 -0.2709666
## 
## Clustering vector:
##  [1] 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 2 2
## 
## Within cluster sum of squares by cluster:
## [1] 34.07605 82.75859
##  (between_SS / total_SS =  31.3 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
  • Cluster means menunjukkan rata-rata dari masing-masing variabel dalam tiap cluster.

  • Clustering vector menunjukkan pembagian setiap data ke dalam Cluster 1 atau Cluster 2.

  • Within-Cluster Sum of Squares (WCSS) adalah metrik yang mengukur seberapa dekat data dalam sebuah cluster terhadap centroidnya (titik pusat cluster). Nilai ini menunjukkan tingkat kekompakan (compactness) dari data di dalam cluster. WCSS cluster 1 sebesar 34,07605 lebih kecil dari cluster 2 yang memiliki WCSS sebesar 82,75859. Hal tersebut karena jumlah anggota cluster 1 lebih sedikit dari jumlah anggota cluster 2.

5.4 Karakteristik Cluster yang Terbentuk

Berdasarkan hasil analisis cluster tersebut, dapat diketahui karakteristik masing-masing cluster adalah sebagai berikut :

  • Cluster 1 : Daerah kabupaten/kota di Jawa Tengah yang memiliki karakteristik tinggi pada Tingkat Pengangguran Terbuka (TPT), Upah Minimum (UM), Jumlah Angkatan Kerja (JKA), serta Jumlah Penduduk Miskin (JPM).

  • Cluster 2 : Daerah kabupaten/kota di Jawa Tengah yang memiliki karakteristik tinggi pada Tingkat Partisipasi Angkatan Kerja (TPAK)

5.5 Anggota Cluster

Berikut data indikator kabupaten/kota di Jawa Tengah yang sudah di standarisasi beserta pengelompokan cluster yang terbentuk.

Tabel di bawah ini memuat daftar Kabupaten/Kota di Jawa Tengah berdasarkan kategori cluster. Kolom “Nomor Kabupaten/Kota” memberikan informasi nomor bagi setiap kabupaten/kota yang akan digunakan dalam visualisasi cluster.

Cluster 1

Kabupaten/Kota di Jawa Tengah Anggota Cluster 1
No.  Kabupaten/Kota Nomor Kabupaten/Kota Cluster
Kabupaten Cilacap 1 1
Kabupaten Banyumas 2 1
Kabupaten Demak 21 1
Kabupaten Pemalang 27 1
Kabupaten Tegal 28 1
Kabupaten Brebes 29 1
Kota Semarang 33 1

Cluster 2

Kabupaten/Kota di Jawa Tengah Anggota Cluster 2
No.  Kabupaten/Kota Nomor Kabupaten/Kota Cluster
Kabupaten Purbalingga 3 2
Kabupaten Banjarnegara 4 2
Kabupaten Kebumen 5 2
Kabupaten Purworejo 6 2
Kabupaten Wonosobo 7 2
Kabupaten Magelang 8 2
Kabupaten Boyolali 9 2
Kabupaten Klaten 10 2
Kabupaten Sukoharjo 11 2
Kabupaten Wonogiri 12 2
Kabupaten Karanganyar 13 2
Kabupaten Sragen 14 2
Kabupaten Grobogan 15 2
Kabupaten Blora 16 2
Kabupaten Rembang 17 2
Kabupaten Pati 18 2
Kabupaten Kudus 19 2
Kabupaten Jepara 20 2
Kabupaten Semarang 22 2
Kabupaten Temanggung 23 2
Kabupaten Kendal 24 2
Kabupaten Batang 25 2
Kabupaten Pekalongan 26 2
Kota Magelang 30 2
Kota Surakarta 31 2
Kota Salatiga 32 2
Kota Pekalongan 34 2
Kota Tegal 35 2

5.6 Plot Cluster

Plot cluster tersebut menggambarkan penyebaran cluster 1 dan cluster 2. Cluster 1 merupakan daerah dengan warna merah, sedangkan cluster 2 merupakan daerah dengan warna biru. Plot Cluster tersebut menunjukkan bahwa Kabupaten/Kota di Jawa Tengah lebih banyak tergolong dalam cluster 1 dibanding cluster 2.

6. Penutup

6.1 Kesimpulan

Penggunaan Analisis Cluster metode K-Means pada kabupaten/kota di Jawa Tengah berdasarkan indikator ketenagakerjaan menghasilkan 2 cluster. Kabupaten/kota di Jawa Tengah yang termasuk dalam cluster 1 sebanyak 7 kabupaten/kota, lebih sedikit dari cluster 2 sebanyak 28 kabupaten/kota. Cluster 1 menghadapi tantangan ketenagakerjaan yang lebih besar. Hal tersebut tercermin dari tingginya tingkat pengangguran terbuka (TPT), Jumlah penduduk miskin (JPM), Jumlah Angkatan Kerja (JKA), dan rendahnya upah minimum (UM) yang menunjukkan perlunya fokus pada peningkatan lapangan pekerjaan, kualitas tenaga kerja, dan pemerataan ekonomi. Sementara itu, cluster 2 memiliki Tingkat partisipasi angkatan kerja (TPAK) yang lebih tinggi. Hal tersebut mengindikasikan bahwa kabupaten/kota di Jawa Tengah pada cluster 2 berhasil menciptakan kondisi yang mendukung partisipasi angkatan kerja yang tinggi.

6.2 Saran

Analisis cluster metode K-Means yang dilakukan pada proyek ini menggunakan empat metode dalam menentukan jumlah cluster optimal, yaitu metode Elbow, metode Sillhouette, indeks Dunn, serta indeks Connectivity. Penentuan jumlah cluster optimal dalam melakukan analisis cluster metode K-Means setidaknya perlu menggunakan lebih dari satu metode penentuan jumlah cluster. Hal tersebut agar hasil yang diperoleh lebih valid dan dapat memberikan gambaran yang lebih akurat mengenai struktur data. Selain itu, akan lebih baik lagi jika menambahkan metode lain untuk dibandingkan, seperti Gap Statistic atau indeks Davies-Bouldin supaya dapat dipastikan bahwa cluster yang terbentuk memang optimal dan representatif.

6.3 Daftar Pustaka

Afira, N., & Wijayanto, A. W. (2021). Analisis Cluster Kemiskinan Provinsi di Indonesia Tahun 2019 dengan Metode Partitioning dan Hierarki. Komputika: Jurnal Sistem Komputer, 10, 101-109.

Asri, Y. S., Wijayanti, S. K., Vianey, A. M., & Kartiasih, F. (2023). Indikator ketenagakerjaan terhadap kemiskinan di Indonesia. Jurnal Ekonomi, 14(2), 157-166.

Badan Pusat Statistik Provinsi Jawa Tengah. (n.d.). Tenaga kerja. Badan Pusat Statistik. Diakses pada 17 November 2024, dari https://jateng.bps.go.id/id/statistics-table?subject=520

Dewi, D. A. I. C., & Pramita, D. A. K. (2019). Analisis Perbandingan Metode Elbow dan Silhouette pada Algoritma Clustering K-Medoids dalam Pengelompokan Produksi Kerajinan Bali. Matrix: Jurnal Manajemen Teknologi dan Informatika, 9(3), 102-109.

Izzadin, F. M. (2020). Optimasi Jumlah Cluster K-Means Dengan Metode Elbow Dan Silhouette Pada Produktivitas Tanaman Pangan Di Provinsi Jawa Tengah Tahun 2018. Skripsi. Universitas Islam Indonesia.

Lenama, N., Kleden, M. A., & Pasangka, I. G. (2023). K-Means Clustering Analysis Pada Pengelompokkan Kabupaten/Kota di Provinsi Nusa Tenggara Timur Berdasarkan Indikator Pendidikan. Jurnal Cakrawala Ilmiah, 2(9), 3365-3376.

Malikhatin, H., Rusgiyono, A., & Di Asih, I. M. (2021). Penerapan K-Modes Clustering dengan Validasi Dunn Index pada Pengelompokan Karakteristik Calon TKI Menggunakan R-Gui. Jurnal Gaussian, 10(3), 359-366.

Pemerintah Indonesia. (2003). Undang-Undang Republik Indonesia Nomor 13 Tahun 2003 tentang Ketenagakerjaan. Lembaran Negara Republik Indonesia Tahun 2003 Nomor 39. Jakarta: Kementerian Sekretariat Negara.

Puspita, R. N. (2021). Analisis K-Means Cluster Pada Kabupaten/Kota Di Provinsi Banten Berdasarkan Indikator Indeks Pembangunan Manusia. Jurnal Lebesgue: Jurnal Ilmiah Pendidikan Matematika, Matematika Dan Statistika, 2(3), 267-281.

Wakhidah, Nur. (2010). Clustering Menggunakan K-Means Algorithm. Jurnal Transformatika, 8(1): 45-52

Witten, H.I. & Frank, E. (2012). Data Mining Practical Machine Learning Tools and Technique, 2nd Edition. San Faransisco: Morgan Kaufmann