library(knitr)
## Warning: package 'knitr' was built under R version 4.2.3
opts_chunk$set(message = FALSE)
opts_chunk$set(warning = FALSE)
opts_chunk$set(comment = "")
opts_chunk$set(collapse = TRUE)
opts_chunk$set(error = TRUE)
opts_chunk$set(prompt = TRUE)
opts_chunk$set(fig.align = 'center')

1 PENDAHULUAN

1.1 Latar Belakang

Jawa Timur adalah salah satu kawasan utama untuk ekonomi dan industri di Indonesia. Sektor industri di daerah ini berperan penting dalam menyerap tenaga kerja, menarik investasi, dan meningkatkan nilai produksi lokal. Namun, ada perbedaan potensi dan kontribusi antara kabupaten/kota yang berbeda tersebut dapat memengaruhi pertumbuhan ekonomi secara keseluruhan. Pemahaman tentang distribusi data industri, seperti jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi, sangat penting dalam merancang strategi pengembangan ekonomi dan industri wilayah kabupaten/kota di Jawa Timur yang efektif. Dengan mengelompokkan kabupaten/kota menurut karakteristik industrinya tersebut, dapat diperoleh gambaran menyeluruh untuk mendukung pengambilan keputusan strategis dalam pembangunan ekonomi daerah.

1.2 Rumusan Masalah

  1. Bagaimana distribusi jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi sektor industri di setiap kabupaten/kota di Jawa Timur?
  2. Apakah terdapat pola atau pengelompokan kabupaten/kota di Jawa Timur berdasarkan kontribusi sektor industrinya?

1.3 Tujuan

  1. Menganalisis distribusi jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi sektor industri di kabupaten/kota di Jawa Timur.
  2. Mengidentifikasi pola pengelompokan kabupaten/kota di Jawa Timur berdasarkan kontribusi sektor industrinya menggunakan metode clustering.

1.4 Batasan Masalah

  1. Data yang digunakan hanya mencakup sektor industri untuk tahun 2018 di Provinsi Jawa Timur.
  2. Analisis terbatas pada variabel jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi.

1.5 Data yang Digunakan

Data yang dianalisis berasal dari sektor industri di Provinsi Jawa Timur tahun 2018, dengan variabel-variabel berikut:

  • Kabupaten/Kota: Nama daerah di Jawa Timur sebagai unit analisis.

  • Perusahaan: Jumlah perusahaan industri yang terdaftar di setiap daerah.

  • Tenaga Kerja: Total tenaga kerja yang terlibat di sektor industri di masing-masing daerah.

  • Investasi: Total modal yang diinvestasikan dalam sektor industri, dinyatakan dalam satuan tertentu.

  • Nilai Produksi: Total nilai hasil produksi industri dari masing-masing daerah, dalam satuan tertentu.

Data ini menjadi dasar penting dalam mendukung pengambilan keputusan berbasis data untuk pengembangan wilayah di Jawa Timur.

1.6 Latar Belakang Metode

Pengelompokan kabupaten/kota berdasarkan data industri seperti jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi mempunyai peran penting dalam perencanaan pembangunan daerah. Metode pengelompokan hierarki dan non-hierarki (k-means) digunakan untuk menganalisis pola data ini. Clustering yang bersifat hierarkis dengan dendogram, cocok untuk eksplorasi model awal, sedangkan K-Means (non-hierarki) membagi wilayah kabupaten/kota di Jawa Timur menjadi cluster-cluster tertentu berdasarkan tingkat kontribusi industri, sehingga semakin mendukung perumusan kebijakan yang ditargetkan sesuai dengan kebutuhan dan potensi masing-masing wilayah kabupaten/kota di Jawa Timur.

2 TINJAUAN PUSTAKA

2.1 Statistik Deskriptif

Statistik deskriptif bertujuan menyajikan data penelitian dalam bentuk yang lebih mudah dipahami dan diinterpretasikan. Proses ini melibatkan penyusunan data dalam format numerik dan grafik, serta menampilkan ringkasan statistik yang mencerminkan karakteristik variabel penelitian. Statistik deskriptif mencakup perhitungan seperti rata-rata (mean), median, modus, simpangan baku, hingga uji normalitas distribusi data, yang berfungsi untuk mendukung analisis lebih lanjut (Wahyuni, 2021).

2.2 Standarisasi Data

Menurut Ulinnuha dan Veriani (2020), standarisasi data dilakukan untuk menyamakan skala antar variabel, terutama jika terdapat perbedaan satuan variabel yang signifikan. Ketidaksesuaian satuan dapat memengaruhi validitas analisis clusterisasi. Oleh karena itu, transformasi data ke dalam bentuk z-score dianjurkan sebelum melanjutkan analisis lanjutan.

\[ z = \frac{x_i - \bar{x}}{s} \]

2.3 ANALISIS CLUSTER

Menurut Tan (2006, dalam Triayudi dkk., 2024), Clustering adalah metode pengelompokan objek ke dalam beberapa kelompok (cluster) berdasarkan tingkat kemiripan antar objek. Objek dalam satu cluster memiliki kesamaan yang tinggi, sementara kemiripan antar cluster cenderung rendah. Proses ini dilakukan secara otomatis menggunakan algoritma tertentu, dan sering dikategorikan sebagai unsupervised learning, yang sangat berguna untuk data tanpa label kelas (Muslim, 2019).

Menurut Han (2012, dalam Muhima dkk., 2022), clustering bertujuan untuk mengidentifikasi kelompok-kelompok dalam data yang sebelumnya tidak diketahui. Metode ini memungkinkan analisis dan pengelompokan objek berdasarkan jarak atau kemiripan tertentu.

2.3.1 Cluster Hierarki

Menurut Cohen-Addad dkk. (2018, dalam Muhima dkk., 2022), metode clustering hierarki melibatkan pengelompokan data secara rekursif ke dalam beberapa kelompok, yang dapat divisualisasikan sebagai struktur dendrogram. Pendekatan ini terdiri dari dua cara:

  1. Divisif (Top-Down): Memulai proses dari cluster besar kemudian dipecah menjadi subcluster.

  2. Aglomeratif (Bottom-Up): Memulai dari objek individual kemudian digabungkan menjadi cluster yang lebih besar.

Metode agglomerative mengasumsikan setiap objek awalnya sebagai satu cluster, lalu menggabungkan objek berdasarkan jarak tertentu hingga semua objek berada dalam satu cluster. Proses penggabungan ini melibatkan perbaikan matriks jarak pada setiap tahapannya dan sering divisualisasikan dalam dendrogram (Simamora, 2005). Terdapat 4 Metode Agglomerative:

  1. Single Linkage (Nearest Neighbor): Objek yang memiliki jarak terdekat digabungkan lebih dahulu.

    \[ d_{(ij)k} = \min{(d_{ik},d_{jk})} \]

  2. Complete Linkage (Farthest Neighbor): Jarak antar cluster dihitung berdasarkan objek dengan jarak terjauh.

    \[ d_{(ij)k} = \max{(d_{ik},d_{jk})} \]

  3. Average Linkage: Jarak antar cluster dihitung berdasarkan rata-rata jarak antara semua pasangan objek dari kedua cluster.

    \[d_{(ij)k} = \frac{\sum_{a} \sum_{b} d_{ab}}{n_{(ij)}n_k}\]

  4. Ward’s Method: Mengoptimalkan varians internal cluster dengan meminimalkan peningkatan jumlah kuadrat error (sum of squares) dalam setiap penggabungan. Metode-metode ini memberikan fleksibilitas dalam memilih pendekatan terbaik sesuai dengan karakteristik data dan tujuan analisis.

2.3.1.1 Dendogram

Dendrogram adalah representasi visual dari hasil analisis clusterisasi yang menunjukkan proses pembentukan cluster secara hierarkis. Diagram ini menggambarkan bagaimana objek-objek dikelompokkan berdasarkan nilai koefisien jarak pada setiap langkahnya (Awaliyah, 2018). Hasilnya divisualisasikan dalam bentuk diagram pohon yang memberikan wawasan mengenai hubungan antar objek dalam cluster.

2.3.1.2 Langkah-Langkah Proses Hierarki Cluster

Menurut Muhartin (2022), terdapat beberapa langkah clustering hierarki:

  1. Menentukan ukuran kesamaan antara dua objek dengan menggunakan metode perhitungan jarak (misalnya, Euclidean, Manhattan, atau Mahalanobis).

  2. Memilih metode hierarki yang akan digunakan (Single Linkage, Complete Linkage, Average Linkage, atau Ward’s Method).

  3. Melakukan perbaikan matriks jarak berdasarkan metode cluster yang dipilih.

  4. Menentukan jumlah anggota cluster dengan mempertimbangkan indeks validitas cluster (misalnya, koefisien korelasi kofenetik atau indeks silhouette).

  5. Menginterpretasikan hasil analisis cluster dengan memahami pola atau hubungan antar objek dalam cluster dari dendogram.

2.3.2 Cluster Non-Hierarki

Menurut Kaufman dan Rousseeuw (1990 dalam Muhima dkk., 2022), metode cluster non-hierarki membagi sekumpulan data menjadi sejumlah cluster tertentu (k) yang telah ditentukan sebelumnya, dengan setiap objek hanya dimasukkan ke dalam satu cluster. Pengelompokan ini bersifat eksklusif dan sering digunakan untuk mempartisi data menjadi kelompok-kelompok dengan ukuran atau karakteristik yang diinginkan.

2.3.2.1 K-Means

K-Means adalah metode clusterisasi sederhana yang mempartisi data ke dalam k cluster yang berbeda, tanpa tumpang tindih antar cluster. Metode ini mengelompokkan data berdasarkan jarak ke centroid yang merepresentasikan rata-rata dari setiap cluster.

2.3.2.2 Langkah-langkah K-Means (Muhima dkk., 2022):

Menurut Muhima dkk(2022), terdapat beberapa langkah clustering non-hierarki (K-Means):

  1. Tentukan jumlah k cluster yang diinginkan.

  2. Pilih secara acak k titik awal sebagai centroid untuk cluster awal.

  3. Hitung jarak setiap titik data ke centroid.

  4. Tetapkan setiap titik ke cluster dengan jarak terdekat ke centroid.

  5. Hitung rata-rata setiap cluster untuk menghasilkan centroid baru.

  6. Ulangi langkah 3-5 hingga tidak ada perubahan signifikan dalam komposisi cluster (konvergensi).

2.4 Analisis Jarak Clustering

Tujuan utama clustering adalah mengelompokkan objek yang memiliki jarak antar data yang berdekatan. Metode yang sering digunakan untuk mengukur jarak adalah:

  1. Jarak Euclidean: Mengukur jarak linier antara dua titik dalam ruang vektor.

    \[ d(a,b) = \sqrt{\sum_{i=1}^{n} (a_i - b_i)^2} \]

  2. Jarak Manhattan: Menghitung total perbedaan absolut antara nilai-nilai variabel.

    \[ d(a,b) = \sum_{i=1}^{n} |a_{i+1} - a_i| + |b_{i+1} - b_i| \]

  3. Jarak Mahalanobis: Mengukur jarak berdasarkan korelasi antar variabel, memungkinkan identifikasi pola pada data.

\[ d(a,b) = \sqrt{(x-y)'S^{-1}(x-y)} \]

Semakin kecil nilai jarak, semakin besar tingkat kemiripan antara kedua vektor yang dibandingkan. Sebaliknya, semakin besar nilai jarak maka semakin jauh perbedaan antara kedua vektor tersebut (Budi Santosa, 2007).

2.5 Validitas

Menurut Azzahra & Wijayanto (2022). Terdapat beberapa indeks validitas cluster.

2.5.1 Koefisien Korelasi Kofenetik

Koefisien kofenetik mengukur seberapa baik dendrogram mencerminkan matriks jarak asli. Semakin dekat nilai koefisien dengan 1, semakin baik hasil clusterisasi. Koefisien ini membandingkan metode agglomerative mana yang paling baik untuk clustering.

2.5.2 Indeks Validitas cluster

  1. Indeks Silhouette: Mengukur kualitas cluster dengan mengevaluasi seberapa mirip objek dalam satu cluster dibandingkan dengan cluster lainnya. Jika nilainya mendekati 1 menunjukkan clusterisasi yang baik.

  2. Indeks Dunn: Menilai kejelasan pemisahan cluster. Nilai tinggi menunjukkan cluster yang terpisah dengan baik dan memiliki diameter kecil dalam cluster.

  3. Indeks Konektivitas: Mengukur kepadatan dan homogenitas cluster. Nilai rendah menunjukkan cluster yang lebih padat dan seragam. Indeks-indeks ini memberikan penilaian komprehensif mengenai kualitas cluster, mencakup akurasi, pemisahan, dan kerapatan antar cluster.

3 SOURCE CODE

3.1 Library

> library(readxl)
> library(REdaS)
> library(psych)
> library(StatMatch)
> library(stats)
> library(factoextra)
> library(ggplot2)
> library(cluster)
> library(clValid)
> library(factoextra)  

Library ini digunakan untuk membaca file, menghitung statistik, melakukan clustering, dan visualisasi.

3.2 Input Data

Berikut terdapat 5 variabel dengan 38 Kabupaten/Kota di Jawa Timur.

> data <- read_excel("C:/Users/inggarnadalia/Downloads/Jumlah Perusahaan, Tenaga Kerja, Investasi dan Nilai Produksi pada Industri di Provinsi Jawa Timur Menurut Kabupaten_Kota, 2018.xlsx")
> data
# A tibble: 38 × 5
   `Kabupaten/Kota` Perusahaan TenagaKerja Investasi NilaiProduksi
   <chr>                 <dbl>       <dbl>     <dbl>         <dbl>
 1 Kab.  Pacitan         22490       87299      1886          5911
 2 Kab. Ponorogo         15893       61846      1329          4182
 3 Kab. Trenggalek       30708      119225      2604          8070
 4 Kab. Tulungagung      19970       76408      1659          5003
 5 Kab. Blitar           33565      131487      2831          9253
 6 Kab. Kediri            8389       33665       689          2180
 7 Kab. Malang           48967      190362      4117         14555
 8 Kab. Lumajang         25552       98877      2142          6699
 9 Kab. Jember           20181       81332      1702          5297
10 Kab. Banyuwangi       23531       94768      1962          6171
# … with 28 more rows

Membaca data Excel berisi informasi jumlah perusahaan, tenaga kerja, investasi, dan produksi.

3.3 Memilih Kolom Numerik

data_numerik <- data[, 2:5]

Memilih kolom numerik (dari kolom ke-2 hingga ke-5).

3.4 Statistik Deskriptif

summary(data_numerik)

Menampilkan ringkasan statistik (mean, median, maksimum, minimum) untuk setiap kolom numerik.

3.5 Normalisasi Data

data_scaled <- scale(data_numerik)

Menormalkan data agar semua variabel berada pada skala yang sama.

rownames(data_scaled) <- make.unique(as.character(data$Kabupaten/Kota))

Mengubah nama baris agar sesuai dengan nama kabupaten/kota.

3.6 Clustering Hierarki (Euclidean)

3.6.1 Menghitung Jarak Euclidean

jarak <- dist(data_scaled, method = "euclidean")

Menghitung jarak antar data berdasarkan matriks jarak Euclidean.

3.6.2 Koefisien Korelasi Cophenetic

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_ward <- hclust(jarak, method = "ward.D")
cor_ward <- cor(jarak,cophenetic(hc_ward))

3.6.2.1 Membuat Perbandingan Koefisien Korelasi

data.frame(Single = cor_single, Average = cor_average, Complete = cor_complete, Ward = cor_ward)

Memilih koefisien optimum yang mendekati 1, dipilih sebagai metode terbaik.

3.6.3 Indeks Validitas

dat <- as.data.frame(data_numerik)

inval1 <- clValid::clValid(obj = dat, nClust = 2:10, clMethods = "hierarchical", validation = "internal",method = "average")  summary(inval1)

Menampilkan ringkasan hasil evaluasi indeks validitas cluster hierarki, termasuk berbagai matriks validitas untuk setiap jumlah cluster yang diuji dengan rentang jumlah cluster 2 hingga 10 cluster, berdasarkan metode clustering (average) yang dipilih.

3.6.4 Hierarchical Clustering dengan Average Linkage

hc <- hclust(jarak, method = "average")

Melakukan clustering dengan metode average linkage.

3.6.5 Dendrogram

fviz_dend(hc, k = 2, rect = TRUE, cex = 0.75, main = "Cluster Dendrogram Euclidean Distance Average Linkage", label_cols = "black", show_labels = TRUE) + labs(x = "Kabupaten/Kota", y = "Jarak Clustering")

Menampilkan dendrogram dengan kotak yang menunjukkan 2 cluster.

3.6.6 Menentukan Cluster Tiap Data

clusters_2 <- cutree(hc, k = 2)

clusters_2

Membagi data ke dalam 2 cluster.

3.6.7 Karakteristik Cluster

cluster_means_2 <- aggregate(data_numerik, by = list(Cluster =clusters_2), mean)  cluster_means_2

Menghitung rata-rata setiap variabel dalam masing-masing cluster yang membantu interpretasi.

3.7 Clustering Non-Hierarki (K-Means)

3.7.1 Normalisasi Data

data_scaled <- scale(data_numerik)

Menormalkan data dan menentukan jumlah cluster optimal menggunakan metode silhouette.

3.7.2 Menentukan Jumlah Cluster Optimal (Silhouette Method)

set.seed(123)

fviz_nbclust(data_scaled, kmeans, method = "silhouette") + labs(title= "Silhouette Method")

Visualisasi grafik dari indeks validitas Silhoutte Methods.

3.7.3 Menghitung Silhouette Score K-Means

kmeans_silhouette <- function(k) { kmeans_result <- kmeans(data_scaled, centers = k) silhouette_score <- silhouette(kmeans_result\$cluster, dist(data_scaled)) cat("Silhouette score untuk", k, "cluster:", mean(silhouette_score[, 3]), "\n") return(kmeans_result) } for (k in 2:10) { kmeans_silhouette(k) }

Digunakan untuk menghitung silhouette score K-Means untuk jumlah cluster 2 hingga 10.

3.7.4 Indeks Validitas

data_scaled <- as.data.frame(data_scaled)

inval2 <- clValid::clValid(data_scaled,2:10, clMethods = "kmeans", validation ="internal", method = "average")

summary(inval2)

Menampilkan ringkasan hasil evaluasi indeks validitas non-hierarki k-means, termasuk berbagai matriks validitas untuk setiap jumlah cluster yang diuji dengan rentang jumlah cluster 2 hingga 10 cluster, berdasarkan metode clustering (average) yang dipilih.

3.7.5 Clustering untuk k = 2

set.seed(123)

Digunakan untuk memastikan hasil clustering konsisten tiap syntax dijalankan.

kmeans_2 <- kmeans(data_scaled, centers = 2)
kmeans_2$cluster

Melakukan klustering dengan K-Means pada data data_scaled dan membagi ke dalam 2 cluster.

3.7.5.1 Menampilkan Rata-Rata Variabel dalam Setiap Cluster

cluster_means <- aggregate(data_numerik, by = list(Cluster =kmeans_2$cluster), mean)

cluster_means

Menghitung rata-rata nilai setiap variabel untuk masing-masing cluster.

3.7.5.2 Visualisasi Cluster

fviz_cluster(kmeans_2, data = data_scaled)

Melakukan clustering dengan cluster dan memvisualisasikan hasilnya.

4 HASIL DAN PEMBAHASAN

Berikut adalah hasil dan pembahasan dari data

4.1 Input Data

> data <- read_excel("C:/Users/inggarnadalia/Downloads/Jumlah Perusahaan, Tenaga Kerja, Investasi dan Nilai Produksi pada Industri di Provinsi Jawa Timur Menurut Kabupaten_Kota, 2018.xlsx")
> data
# A tibble: 38 × 5
   `Kabupaten/Kota` Perusahaan TenagaKerja Investasi NilaiProduksi
   <chr>                 <dbl>       <dbl>     <dbl>         <dbl>
 1 Kab.  Pacitan         22490       87299      1886          5911
 2 Kab. Ponorogo         15893       61846      1329          4182
 3 Kab. Trenggalek       30708      119225      2604          8070
 4 Kab. Tulungagung      19970       76408      1659          5003
 5 Kab. Blitar           33565      131487      2831          9253
 6 Kab. Kediri            8389       33665       689          2180
 7 Kab. Malang           48967      190362      4117         14555
 8 Kab. Lumajang         25552       98877      2142          6699
 9 Kab. Jember           20181       81332      1702          5297
10 Kab. Banyuwangi       23531       94768      1962          6171
# … with 28 more rows

4.2 Memilih Kolom Numerik

> data_numerik <- data[, 2:5]

4.3 Statistik Deskriptif

> summary(data_numerik)
   Perusahaan     TenagaKerja       Investasi    NilaiProduksi  
 Min.   : 7199   Min.   : 27799   Min.   : 594   Min.   : 1887  
 1st Qu.:14831   1st Qu.: 56953   1st Qu.:1221   1st Qu.: 3867  
 Median :23124   Median : 89901   Median :1942   Median : 6086  
 Mean   :21495   Mean   : 83859   Mean   :1804   Mean   : 5718  
 3rd Qu.:26991   3rd Qu.:105049   3rd Qu.:2274   3rd Qu.: 7095  
 Max.   :48967   Max.   :190362   Max.   :4117   Max.   :14555  
  • Sebagian besar jumlah perusahaan di kabupaten/kota di Jawa Timur adalah 21.495, dengan rentang antara 7.199 hingga 48.967.
  • Sebagian besar jumlah tenaga kerja di kabupaten/kota di Jawa Timur adalah 83.859 orang, dengan rentang dari 27.799 hingga 190.362.
  • Sebagian besar investasi di kabupaten/kota di Jawa Timur adalah 1.804 juta, dengan nilai maksimum 4.117 dan minimum 594 juta.
  • Sebagian besar nilai produksi di kabupaten/kota di Jawa Timur adalah 5.718 juta, dengan nilai maksimum 14.555 dan minimum 1.887.

4.4 Normalisasi Data

Karena data tersebut memiliki satuan yang berbeda, maka perlu dilakukan normalisasi (standarisasi) data

> data_scaled <- scale(data_numerik)
> data_scaled
       Perusahaan TenagaKerja  Investasi NilaiProduksi
 [1,]  0.10404830  0.09254998  0.1003570    0.07192681
 [2,] -0.58569813 -0.59225489 -0.5855185   -0.57243306
 [3,]  0.96327766  0.95150885  0.9844839    0.87653812
 [4,] -0.15942919 -0.20046891 -0.1791650   -0.26646461
 [5,]  1.26199004  1.28141406  1.2640059    1.31741593
 [6,] -1.37027555 -1.35045572 -1.3735982   -1.31853396
 [7,]  2.87233936  2.86542720  2.8475534    3.29335349
 [8,]  0.42419436  0.40405239  0.4155889    0.36559690
 [9,] -0.13736818 -0.06799026 -0.1262159   -0.15689734
[10,]  0.21288959  0.29350105  0.1939415    0.16882303
[11,]  0.19448799  0.19040231  0.2124121    0.16174215
[12,] -0.21411123 -0.17243423 -0.2259572   -0.22174328
[13,]  0.32622673  0.32199311  0.3601770    0.29478812
[14,]  0.33929605  0.35562396  0.3564829    0.30298703
[15,]  1.39132403  1.37517688  1.3822178    1.27530334
[16,]  1.23355120  1.19179457  1.2184450    1.12362349
[17,]  0.57621669  0.63276909  0.5781303    0.51466801
[18,]  0.32392653  0.31671979  0.2949142    0.26870067
[19,]  0.65212330  0.64280453  0.6470873    0.83628892
[20,] -1.26415267 -1.25607410 -1.2652372   -1.21642025
[21,]  0.08899244  0.11011874  0.1188276    0.05590167
[22,]  0.41833930  0.41371117  0.4242085    0.37714991
[23,]  0.49027284  0.48164549  0.4907027    0.43491496
[24,]  0.58573115  0.57497783  0.5879813    0.52473031
[25,]  0.93065664  0.92038014  0.9450799    0.84970532
[26,] -0.57848387 -0.55181715 -0.5966009   -0.56684289
[27,] -0.73374739 -0.76778103 -0.7591423   -0.72895773
[28,]  0.56973430  0.55552575  0.5781303    0.50833248
[29,] -0.55213612 -0.56126069 -0.5547342   -0.54336419
[30,] -1.32113490 -1.34986382 -1.3354256   -1.27865744
[31,] -1.43415838 -1.44446068 -1.4290100   -1.36884546
[32,]  0.14618378  0.13468271  0.1446865    0.11217601
[33,] -1.44262730 -1.42299075 -1.4400924   -1.37629902
[34,] -1.08850101 -1.10516574 -1.0916134   -1.02001907
[35,] -1.37602605 -1.38720752 -1.3699041   -1.28424761
[36,] -1.41972985 -1.43208453 -1.4117708   -1.35654710
[37,]  1.06647301  1.06380900  1.0891507    0.96933489
[38,] -1.49469547 -1.50827859 -1.4905787   -1.42772855
attr(,"scaled:center")
   Perusahaan   TenagaKerja     Investasi NilaiProduksi 
     21494.84      83859.08       1804.50       5718.00 
attr(,"scaled:scale")
   Perusahaan   TenagaKerja     Investasi NilaiProduksi 
    9564.3844    37168.2522      812.1007     2683.2832 
> rownames(data_scaled) <- make.unique(as.character(data$`Kabupaten/Kota`))

4.5 Clustering Hierarki Euclidean

4.5.1 Menghitung Jarak Euclidean

> jarak <- dist(data_scaled, method = "euclidean")
> jarak
                 Kab.  Pacitan Kab. Ponorogo Kab. Trenggalek Kab. Tulungagung
Kab. Ponorogo       1.35289791                                               
Kab. Trenggalek     1.70445448    3.05727943                                 
Kab. Tulungagung    0.58984893    0.77067592      2.29086388                 
Kab. Blitar         2.37898059    3.73053034      0.68598274       2.96779874
Kab. Kediri         2.89168140    1.53888476      4.59602043       2.30697619
Kab. Malang         5.76861865    7.11645116      4.07671737       6.35803966
Kab. Lumajang       0.62059688    1.97348100      1.08398424       1.20801338
Kab. Jember         0.43330227    0.92708253      2.13364535       0.18123431
Kab. Banyuwangi     0.26528228    1.60602753      1.45666552       0.84339276
Kab. Bondowoso      0.19590189    1.54820839      1.50908874       0.78404803
Kab. Situbondo      0.60346102    0.75272431      2.30670377       0.08925009
Kab. Probolinggo    0.46816771    1.82040353      1.23705944       1.05580427
Kab. Pasuruan       0.49349642    1.84602698      1.21151885       1.08127701
Sidoarjo            2.52853569    3.88143279      0.82457521       3.11487717
Kab. Mojokerto      2.20006866    3.55294144      0.49656218       2.78647636
Kab. Jombang        0.96905456    2.32090438      0.73992191       1.55535356
Kab. Nganjuk        0.41853433    1.77096576      1.28712848       1.00611621
Kab. Madiun         1.21915121    2.56152071      0.55459161       1.80789537
Kab. Magetan        2.68615833    1.33330173      4.39051114       2.10159105
Kab. Ngawi          0.03366465    1.35626109      1.70150430       0.59236611
Kab. Bojonegoro     0.63242728    1.98527463      1.07213863       1.22038223
Kab. Tuban          0.76465343    2.11754050      0.93987020       1.35205355
Kab. Lamongan       0.95266124    2.30554724      0.75186435       1.53983258
Kab. Gresik         1.63923160    2.99209051      0.06561860       2.22583726
Kab. Bangkalan      1.33222980    0.04291066      3.03647748       0.75068787
Kab. Sampang        1.67994828    0.32767850      3.38433168       1.09633847
Kab. Pamekasan      0.92191498    2.27476532      0.78254560       1.50897780
Kab. Sumenep        1.29064863    0.06228744      2.99504013       0.70860077
Kota Kediri         2.82794169    1.47511083      4.53229573       2.24324357
Kota Blitar         3.02378403    1.67089500      4.72811482       2.43922246
Kota Malang         0.08447288    1.43735117      1.61998654       0.67377622
Kota Probolinggo    3.02645197    1.67360289      4.73080038       2.44189013
Kota Pasuruan       2.33876808    0.98607989      4.04311949       1.75557891
Kota Mojokerto      2.89502659    1.54224138      4.59935577       2.31131958
Kota Madiun         2.99557647    1.64269605      4.69988810       2.41098148
Kota Surabaya       1.91119324    3.26401325      0.20694682       2.49741063
Kota Batu           3.14621623    1.79333208      4.85054285       2.56157026
                 Kab. Blitar Kab. Kediri Kab. Malang Kab. Lumajang Kab. Jember
Kab. Ponorogo                                                                 
Kab. Trenggalek                                                               
Kab. Tulungagung                                                              
Kab. Blitar                                                                   
Kab. Kediri       5.26884689                                                  
Kab. Malang       3.39326901  8.65222956                                      
Kab. Lumajang     1.75995340  3.51225113  5.15150366                          
Kab. Jember       2.80809749  2.46376551  6.19764567    1.05106106            
Kab. Banyuwangi   2.13093578  3.14299493  5.52194023    0.38041927  0.67966975
Kab. Bondowoso    2.18433024  3.08696847  5.57472917    0.42573340  0.62697310
Kab. Situbondo    2.98019308  2.29008301  6.36844972    1.22324188  0.17593001
Kab. Probolinggo  1.91280311  3.35916502  5.30378939    0.15625536  0.89866850
Kab. Pasuruan     1.88709179  3.38464973  5.27855514    0.13025569  0.92257766
Sidoarjo          0.20314104  5.42014935  3.26097948    1.90797272  2.95739788
Kab. Mojokerto    0.22016295  5.09173557  3.58446582    1.57948679  2.62951026
Kab. Jombang      1.41628207  3.85900067  4.80919075    0.35222724  1.39548220
Kab. Nganjuk      1.96202460  3.30953806  5.35301867    0.20403891  0.84810308
Kab. Madiun       1.17975901  4.09751325  4.55506622    0.61975534  1.64710131
Kab. Magetan      5.06336247  0.20576506  8.44691926    3.30673408  2.25857144
Kab. Ngawi        2.37712168  2.89467596  5.76764972    0.61865635  0.43392590
Kab. Bojonegoro   1.74757394  3.52404320  5.13905356    0.01831239  1.06255377
Kab. Tuban        1.61616302  3.65628720  5.00820048    0.14434036  1.19451373
Kab. Lamongan     1.42889396  3.84430406  4.82137696    0.33219306  1.38238000
Kab. Gresik       0.74872846  4.53084031  4.14055088    1.01873455  2.06844787
Kab. Bangkalan    3.70949723  1.55997495  7.09570678    1.95269616  0.90442741
Kab. Sampang      4.05745513  1.21236711  7.44253351    2.30044906  1.25428237
Kab. Pamekasan    1.45985381  3.81354017  4.85224256    0.30152814  1.35181374
Kab. Sumenep      3.66835412  1.60112690  7.05444437    1.91122673  0.86506227
Kota Kediri       5.20507430  0.07390831  8.58804411    3.44848085  2.40104920
Kota Blitar       5.40073553  0.13608699  8.78328810    3.64435328  2.59661828
Kota Malang       2.29466675  2.97613918  5.68456412    0.53615310  0.51697835
Kota Probolinggo  5.40342557  0.13510880  8.78629766    3.64703497  2.59864188
Kota Pasuruan     4.71520051  0.55514917  8.09790606    2.95932036  1.91242207
Kota Mojokerto    5.27131905  0.05072439  8.65302777    3.51559062  2.46825574
Kota Madiun       5.37257434  0.10959533  8.75522032    3.61614138  2.56846561
Kota Surabaya     0.48714845  4.80269648  3.87298643    1.29073070  2.34002523
Kota Batu         5.52315622  0.25689742  8.90552084    3.76678100  2.71905606
                 Kab. Banyuwangi Kab. Bondowoso Kab. Situbondo Kab. Probolinggo
Kab. Ponorogo                                                                  
Kab. Trenggalek                                                                
Kab. Tulungagung                                                               
Kab. Blitar                                                                    
Kab. Kediri                                                                    
Kab. Malang                                                                    
Kab. Lumajang                                                                  
Kab. Jember                                                                    
Kab. Banyuwangi                                                                
Kab. Bondowoso        0.10657988                                               
Kab. Situbondo        0.85339459     0.79864409                                
Kab. Probolinggo      0.23907858     0.27240951     1.07087885                 
Kab. Pasuruan         0.25349072     0.29828524     1.09530062       0.03718481
Sidoarjo              2.27926076     2.33336050     3.13047887       2.06145719
Kab. Mojokerto        1.95190490     2.00493310     2.80234833       1.73302748
Kab. Jombang          0.71716049     0.77441050     1.56902163       0.50490344
Kab. Nganjuk          0.18176728     0.22573693     1.02009733       0.07051874
Kab. Madiun           0.98274666     1.02861737     1.81565836       0.76463661
Kab. Magetan          2.93784588     2.88144160     2.08478959       3.15362093
Kab. Ngawi            0.25956290     0.19373957     0.60635906       0.46528177
Kab. Bojonegoro       0.39125828     0.43730364     1.23488808       0.16667460
Kab. Tuban            0.52078013     0.56954396     1.36703280       0.29845015
Kab. Lamongan         0.70723219     0.75748410     1.55502132       0.48591358
Kab. Gresik           1.39139373     1.44392082     2.24144299       1.17194155
Kab. Bangkalan        1.58334975     1.52764964     0.73018444       1.79996601
Kab. Sampang          1.93308568     1.87536676     1.07982055       2.14757635
Kab. Pamekasan        0.67739413     0.72663580     1.52443657       0.45490467
Kab. Sumenep          1.54389373     1.48597886     0.69063822       1.75818667
Kota Kediri           3.08026663     3.02325733     2.22706746       3.29540666
Kota Blitar           3.27592338     3.21904194     2.42275584       3.49115765
Kota Malang           0.18790388     0.11172076     0.68775879       0.38377597
Kota Probolinggo      3.27788790     3.22172707     2.42492609       3.49389688
Kota Pasuruan         2.59150212     2.53408750     1.73814571       2.80618075
Kota Mojokerto        3.14745315     3.09030385     2.29417742       3.36237500
Kota Madiun           3.24779274     3.19082043     2.39461243       3.46292647
Kota Surabaya         1.66258767     1.71583033     2.51323880       1.44383909
Kota Batu             3.39835871     3.34147459     2.54520024       3.61358724
                 Kab. Pasuruan   Sidoarjo Kab. Mojokerto Kab. Jombang
Kab. Ponorogo                                                        
Kab. Trenggalek                                                      
Kab. Tulungagung                                                     
Kab. Blitar                                                          
Kab. Kediri                                                          
Kab. Malang                                                          
Kab. Lumajang                                                        
Kab. Jember                                                          
Kab. Banyuwangi                                                      
Kab. Bondowoso                                                       
Kab. Situbondo                                                       
Kab. Probolinggo                                                     
Kab. Pasuruan                                                        
Sidoarjo            2.03562819                                       
Kab. Mojokerto      1.70742391 0.32916507                            
Kab. Jombang        0.47631629 1.56227147     1.23508212             
Kab. Nganjuk        0.08195132 2.11072189     1.78240711   0.55158751
Kab. Madiun         0.74107717 1.34756727     1.02394300   0.33772415
Kab. Magetan        3.17918120 5.21466612     4.88621200   3.65367737
Kab. Ngawi          0.49036304 2.52577410     2.19754991   0.96538922
Kab. Bojonegoro     0.14038820 1.89620068     1.56780696   0.33987467
Kab. Tuban          0.27220462 1.76390005     1.43551479   0.21030648
Kab. Lamongan       0.46000866 1.57590289     1.24751402   0.06023825
Kab. Gresik         1.14630021 0.88953794     0.56140053   0.67472201
Kab. Bangkalan      1.82503211 3.86039834     3.53209869   2.29918184
Kab. Sampang        2.17324427 4.20840620     3.87983364   2.64810301
Kab. Pamekasan      0.42936795 1.60674785     1.27831014   0.07777335
Kab. Sumenep        1.78380373 3.81918347     3.49068679   2.25869458
Kota Kediri         3.32112526 5.35645232     5.02788792   3.79585149
Kota Blitar         3.51688132 5.55231768     5.22378557   3.99158198
Kota Malang         0.40911361 2.44408447     2.11561733   0.88481166
Kota Probolinggo    3.51943256 5.55494843     5.22651578   3.99385261
Kota Pasuruan       2.83193205 4.86723511     4.53867012   3.30681281
Kota Mojokerto      3.38814362 5.42351083     5.09495232   3.86296420
Kota Madiun         3.48867430 5.52410621     5.19556763   3.96340451
Kota Surabaya       1.41814454 0.61804787     0.29123430   0.94552128
Kota Batu           3.63932284 5.67474805     5.34620724   4.11402768
                 Kab. Nganjuk Kab. Madiun Kab. Magetan Kab. Ngawi
Kab. Ponorogo                                                    
Kab. Trenggalek                                                  
Kab. Tulungagung                                                 
Kab. Blitar                                                      
Kab. Kediri                                                      
Kab. Malang                                                      
Kab. Lumajang                                                    
Kab. Jember                                                      
Kab. Banyuwangi                                                  
Kab. Bondowoso                                                   
Kab. Situbondo                                                   
Kab. Probolinggo                                                 
Kab. Pasuruan                                                    
Sidoarjo                                                         
Kab. Mojokerto                                                   
Kab. Jombang                                                     
Kab. Nganjuk                                                     
Kab. Madiun        0.81254334                                    
Kab. Magetan       3.10408324  3.89210143                        
Kab. Ngawi         0.41733429  1.22021843   2.68922352           
Kab. Bojonegoro    0.21633158  0.60631865   3.31853202 0.63015523
Kab. Tuban         0.34760886  0.48757050   3.45078415 0.76223372
Kab. Lamongan      0.53542355  0.33101460   3.63879725 0.95013092
Kab. Gresik        1.22180566  0.49356726   4.32533438 1.63637990
Kab. Bangkalan     1.74975231  2.54107342   1.35467517 1.33541474
Kab. Sampang       2.09789742  2.88753666   1.00673315 1.68358081
Kab. Pamekasan     0.50505892  0.35597194   3.60802041 0.91932188
Kab. Sumenep       1.70870921  2.49956623   1.39554730 1.29406385
Kota Kediri        3.24592866  4.03333985   0.14437229 2.83123799
Kota Blitar        3.44181511  4.22871670   0.33829931 3.02694754
Kota Malang        0.33436254  1.13618160   2.77061480 0.08780502
Kota Probolinggo   3.44435437  4.23170823   0.34036732 3.02947424
Kota Pasuruan      2.75680384  3.54318113   0.34977920 2.34225963
Kota Mojokerto     3.31307639  4.09869099   0.21276118 2.89837665
Kota Madiun        3.41362828  4.20061500   0.31030879 2.99872921
Kota Surabaya      1.49372604  0.74970110   4.59721020 1.90810913
Kota Batu          3.56424777  4.35102063   0.46063769 3.14938483
                 Kab. Bojonegoro Kab. Tuban Kab. Lamongan Kab. Gresik
Kab. Ponorogo                                                        
Kab. Trenggalek                                                      
Kab. Tulungagung                                                     
Kab. Blitar                                                          
Kab. Kediri                                                          
Kab. Malang                                                          
Kab. Lumajang                                                        
Kab. Jember                                                          
Kab. Banyuwangi                                                      
Kab. Bondowoso                                                       
Kab. Situbondo                                                       
Kab. Probolinggo                                                     
Kab. Pasuruan                                                        
Sidoarjo                                                             
Kab. Mojokerto                                                       
Kab. Jombang                                                         
Kab. Nganjuk                                                         
Kab. Madiun                                                          
Kab. Magetan                                                         
Kab. Ngawi                                                           
Kab. Bojonegoro                                                      
Kab. Tuban            0.13246807                                     
Kab. Lamongan         0.32035679 0.18802429                          
Kab. Gresik           1.00687542 0.87460599    0.68658904            
Kab. Bangkalan        1.96445300 2.09667210    2.28469485  2.97123853
Kab. Sampang          2.31236261 2.44458676    2.63258442  3.31913833
Kab. Pamekasan        0.28971125 0.15749962    0.03162615  0.71733609
Kab. Sumenep          1.92303605 2.05529515    2.24330212  2.92984962
Kota Kediri           3.46034352 3.59258949    3.78058922  4.46712502
Kota Blitar           3.65615495 3.78842568    3.97642664  4.66294892
Kota Malang           0.54796826 0.68019710    0.86820101  1.55476595
Kota Probolinggo      3.65880739 3.79106950    3.97908429  4.66561956
Kota Pasuruan         2.97108600 3.10339397    3.29138645  3.97791687
Kota Mojokerto        3.52734130 3.65965307    3.84764587  4.53416492
Kota Madiun           3.62794503 3.76021470    3.94821303  4.63472776
Kota Surabaya         1.27888063 1.14658869    0.95859931  0.27218662
Kota Batu             3.77859009 3.91085848    4.09885833  4.78537920
                 Kab. Bangkalan Kab. Sampang Kab. Pamekasan Kab. Sumenep
Kab. Ponorogo                                                           
Kab. Trenggalek                                                         
Kab. Tulungagung                                                        
Kab. Blitar                                                             
Kab. Kediri                                                             
Kab. Malang                                                             
Kab. Lumajang                                                           
Kab. Jember                                                             
Kab. Banyuwangi                                                         
Kab. Bondowoso                                                          
Kab. Situbondo                                                          
Kab. Probolinggo                                                        
Kab. Pasuruan                                                           
Sidoarjo                                                                
Kab. Mojokerto                                                          
Kab. Jombang                                                            
Kab. Nganjuk                                                            
Kab. Madiun                                                             
Kab. Magetan                                                            
Kab. Ngawi                                                              
Kab. Bojonegoro                                                         
Kab. Tuban                                                              
Kab. Lamongan                                                           
Kab. Gresik                                                             
Kab. Bangkalan                                                          
Kab. Sampang         0.35135181                                         
Kab. Pamekasan       2.25402057   2.60180524                            
Kab. Sumenep         0.05556489   0.38969341     2.21252187             
Kota Kediri          1.49698059   1.14809260     3.74978997   1.53733185
Kota Blitar          1.69266193   1.34411679     3.94562301   1.73314254
Kota Malang          1.41668591   1.76440704     0.83744694   1.37510369
Kota Probolinggo     1.69481103   1.34705391     3.94831425   1.73585507
Kota Pasuruan        1.00832444   0.65949398     3.26060472   1.04831255
Kota Mojokerto       1.56416683   1.21556069     3.81685434   1.60449149
Kota Madiun          1.66454201   1.31592682     3.91740276   1.70494317
Kota Surabaya        3.24310524   3.59108624     0.98932617   3.20177497
Kota Batu            1.81509853   1.46651236     4.06805212   1.85557711
                 Kota Kediri Kota Blitar Kota Malang Kota Probolinggo
Kab. Ponorogo                                                        
Kab. Trenggalek                                                      
Kab. Tulungagung                                                     
Kab. Blitar                                                          
Kab. Kediri                                                          
Kab. Malang                                                          
Kab. Lumajang                                                        
Kab. Jember                                                          
Kab. Banyuwangi                                                      
Kab. Bondowoso                                                       
Kab. Situbondo                                                       
Kab. Probolinggo                                                     
Kab. Pasuruan                                                        
Sidoarjo                                                             
Kab. Mojokerto                                                       
Kab. Jombang                                                         
Kab. Nganjuk                                                         
Kab. Madiun                                                          
Kab. Magetan                                                         
Kab. Ngawi                                                           
Kab. Bojonegoro                                                      
Kab. Tuban                                                           
Kab. Lamongan                                                        
Kab. Gresik                                                          
Kab. Bangkalan                                                       
Kab. Sampang                                                         
Kab. Pamekasan                                                       
Kab. Sumenep                                                         
Kota Kediri                                                          
Kota Blitar       0.19650650                                         
Kota Malang       2.91239626  3.10823432                             
Kota Probolinggo  0.20148690  0.02666562  3.11090812                 
Kota Pasuruan     0.49023856  0.68565034  2.42321562       0.68905091
Kota Mojokerto    0.07501737  0.13155838  2.97947245       0.13826074
Kota Madiun       0.16845355  0.02845686  3.08002466       0.04241747
Kota Surabaya     4.73904289  4.93485510  1.82672983       4.93749191
Kota Batu         0.31861138  0.12245566  3.23066634       0.12320300
                 Kota Pasuruan Kota Mojokerto Kota Madiun Kota Surabaya
Kab. Ponorogo                                                          
Kab. Trenggalek                                                        
Kab. Tulungagung                                                       
Kab. Blitar                                                            
Kab. Kediri                                                            
Kab. Malang                                                            
Kab. Lumajang                                                          
Kab. Jember                                                            
Kab. Banyuwangi                                                        
Kab. Bondowoso                                                         
Kab. Situbondo                                                         
Kab. Probolinggo                                                       
Kab. Pasuruan                                                          
Sidoarjo                                                               
Kab. Mojokerto                                                         
Kab. Jombang                                                           
Kab. Nganjuk                                                           
Kab. Madiun                                                            
Kab. Magetan                                                           
Kab. Ngawi                                                             
Kab. Bojonegoro                                                        
Kab. Tuban                                                             
Kab. Lamongan                                                          
Kab. Gresik                                                            
Kab. Bangkalan                                                         
Kab. Sampang                                                           
Kab. Pamekasan                                                         
Kab. Sumenep                                                           
Kota Kediri                                                            
Kota Blitar                                                            
Kota Malang                                                            
Kota Probolinggo                                                       
Kota Pasuruan                                                          
Kota Mojokerto      0.55630981                                         
Kota Madiun         0.65752588     0.10442226                          
Kota Surabaya       4.24989714     4.80612816  4.90663065              
Kota Batu           0.80801872     0.25276431  0.15067473    5.05728540

4.5.2 Koefisien Korelasi Cophenetic

> 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_ward <- hclust(jarak, method = "ward.D")
> cor_ward <- cor(jarak, cophenetic(hc_ward))

4.5.2.1 Membuat Perbandingan Koefisien Korelasi

> data.frame(Single = cor_single, Average = cor_average, Complete = cor_complete, Ward = cor_ward)
   Single   Average  Complete      Ward
1 0.70333 0.8229158 0.8054722 0.6839758

Nilai-nilai korelasi yang dihasilkan menunjukkan tingkat kemiripan atau hubungan antara hasil clustering yang diperoleh dari masing-masing metode. Metode average linkage menghasilkan koefisien yang paling optimum (0.8229168) mendekati 1, maka hasil clustering dengan metode average linkage lebih stabil dan baik.

4.5.3 Indeks Validitas

> dat <- as.data.frame(data_numerik)
> inval1 <- clValid::clValid(obj = dat, nClust = 2:10, clMethods = "hierarchical", 
+                            validation = "internal", method = "average")
> summary(inval1)

Clustering Methods:
 hierarchical 

Cluster sizes:
 2 3 4 5 6 7 8 9 10 

Validation Measures:
                                 2       3       4       5       6       7       8       9      10
                                                                                                  
hierarchical Connectivity   2.9290  6.6159 11.2480 14.6750 20.8099 25.4639 29.2873 35.3972 41.6643
             Dunn           0.5178  0.2260  0.2905  0.3286  0.2191  0.2472  0.2472  0.2566  0.3494
             Silhouette     0.6040  0.6451  0.6192  0.6224  0.6418  0.6221  0.6189  0.5675  0.6168

Optimal Scores:

             Score  Method       Clusters
Connectivity 2.9290 hierarchical 2       
Dunn         0.5178 hierarchical 2       
Silhouette   0.6451 hierarchical 3       

Berdasarkan output di atas, Jumlah cluster optimal yang mungkin terbentuk adalah:

  • Connectivity: Nilai terendah pada 2 cluster, menunjukkan bahwa 2 cluster memberikan hasil clustering yang paling kompak.

  • Dunn Index: Nilai tertinggi pada 2 cluster, menunjukkan pemisahan yang paling baik antara 2 cluster.

  • Silhouette Coefficient: Nilai tertinggi pada 3 cluster, menunjukkan bahwa secara keseluruhanlebih baik ditempatkan dalam 3 cluster.

Kesimpulan secara umum, baik terbentuk 2 maupun 3 cluster dianggap sebagai pilihan cluster yang baik.

4.5.4 Hierarchical Clustering dengan Average Linkage

> hc <- hclust(jarak, method = "average")
> hc

Call:
hclust(d = jarak, method = "average")

Cluster method   : average 
Distance         : Euclidean 
Number of objects: 38 

4.5.5 Dendrogram dengan 2 Cluster

Berikut merupakan dendogram yang dihasilkan dari metode average linkage dengan jarak euclidean dengan 2 cluster.

> fviz_dend(hc, 
+           k = 2,                     # Jumlah cluster
+           rect = TRUE,               # Menggambar kotak di sekitar cluster
+           cex = 0.75,                 # Ukuran label
+           main = "Cluster Dendrogram Euclidean Distance Average Linkage", 
+           label_cols = "black",       # Warna label
+           show_labels = TRUE,        # Menampilkan label
+ ) + 
+   labs(x = "Kabupaten/Kota",          # Judul sumbu x
+        y = "Jarak Clustering")     # Judul sumbu y

4.5.6 Menentukan Cluster Tiap Data

> clusters_2 <- cutree(hc, k = 2)
> clusters_2
   Kab.  Pacitan    Kab. Ponorogo  Kab. Trenggalek Kab. Tulungagung 
               1                1                1                1 
     Kab. Blitar      Kab. Kediri      Kab. Malang    Kab. Lumajang 
               1                1                2                1 
     Kab. Jember  Kab. Banyuwangi   Kab. Bondowoso   Kab. Situbondo 
               1                1                1                1 
Kab. Probolinggo    Kab. Pasuruan         Sidoarjo   Kab. Mojokerto 
               1                1                1                1 
    Kab. Jombang     Kab. Nganjuk      Kab. Madiun     Kab. Magetan 
               1                1                1                1 
      Kab. Ngawi  Kab. Bojonegoro       Kab. Tuban    Kab. Lamongan 
               1                1                1                1 
     Kab. Gresik   Kab. Bangkalan     Kab. Sampang   Kab. Pamekasan 
               1                1                1                1 
    Kab. Sumenep      Kota Kediri      Kota Blitar      Kota Malang 
               1                1                1                1 
Kota Probolinggo    Kota Pasuruan   Kota Mojokerto      Kota Madiun 
               1                1                1                1 
   Kota Surabaya        Kota Batu 
               1                1 

Berdasarkan output di atas, hasil dari proses clustering membagi data kabupaten/kota di Jawa Timur menjadi 2 cluster berdasarkan karakteristik tertentu.

Cluster 1: Kabupaten Pacitan, Kabupaten Ponorogo, Kabupaten Trenggalek, Kabupaten Tulungagung, Kabupaten Blitar, Kabupaten Kediri, Kabupaten Lumajang, Kabupaten Jember, Kabupaten Banyuwangi, Kabupaten Bondowoso, Kabupaten Situbondo, Kabupaten Probolinggo, Kabupaten Pasuruan, Kabupaten Sidoarjo, Kabupaten Mojokerto, Kabupaten Jombang, Kabupaten Nganjuk, Kabupaten Madiun, Kabupaten Magetan, Kabupaten Ngawi, Kabupaten Bojonegoro, Kabupaten Tuban, Kabupaten Lamongan, Kabupaten Gresik, Kabupaten Bangkalan, Kabupaten Sampang, Kabupaten Pamekasan, Kabupaten Sumenep, Kota Kediri, Kota Blitar, Kota Probolinggo, Kota Pasuruan, Kota Mojokerto, Kota Madiun, Kota Surabaya, Kota Batu.

Cluster 2: Kabupaten Malang.

4.5.7 Karakteristik Cluster

> cluster_means_2 <- aggregate(data_numerik, by = list(Cluster =
+ clusters_2), mean) 
> cluster_means_2
  Cluster Perusahaan TenagaKerja Investasi NilaiProduksi
1       1   20752.35    80980.62      1742      5479.162
2       2   48967.00   190362.00      4117     14555.000

Karakteristik tiap cluster:

Cluster 1: Memiliki rata-rata perusahaan, tenaga kerja, investasi, dan nilai produksi yang lebih rendah dibandingkan dengan cluster 2.

Cluster 2: Memiliki rata-rata perusahaan, tenaga kerja, investasi, dan nilai produksi yang lebih tinggi dibandingkan dengan cluster 1.

Berdasarkan clustering tersebut, cluster 2 memiliki tingkat perkembangan industri yang lebih tinggi. Wilayah ini cenderung menjadi pusat industri dan ekonomi di Jawa Timur.

4.5.8 Dendrogram dengan 3 Cluster

Berikut merupakan dendogram yang dihasilkan dari metode average linkage dengan jarak euclidean dengan 3 cluster.

> fviz_dend(hc, k = 3, cex = 0.75, main = "Cluster
+ Dendrogram Euclidean Distance Average Linkage", label_cols = "black", show_labels = TRUE) + labs(x =
+ "Kabupaten/Kota",y = "Jarak Clustering") 

4.5.9 Menentukan Cluster Tiap Data

> clusters_3 <- cutree(hc, k = 3) 
> clusters_3
   Kab.  Pacitan    Kab. Ponorogo  Kab. Trenggalek Kab. Tulungagung 
               1                2                1                2 
     Kab. Blitar      Kab. Kediri      Kab. Malang    Kab. Lumajang 
               1                2                3                1 
     Kab. Jember  Kab. Banyuwangi   Kab. Bondowoso   Kab. Situbondo 
               2                1                1                2 
Kab. Probolinggo    Kab. Pasuruan         Sidoarjo   Kab. Mojokerto 
               1                1                1                1 
    Kab. Jombang     Kab. Nganjuk      Kab. Madiun     Kab. Magetan 
               1                1                1                2 
      Kab. Ngawi  Kab. Bojonegoro       Kab. Tuban    Kab. Lamongan 
               1                1                1                1 
     Kab. Gresik   Kab. Bangkalan     Kab. Sampang   Kab. Pamekasan 
               1                2                2                1 
    Kab. Sumenep      Kota Kediri      Kota Blitar      Kota Malang 
               2                2                2                1 
Kota Probolinggo    Kota Pasuruan   Kota Mojokerto      Kota Madiun 
               2                2                2                2 
   Kota Surabaya        Kota Batu 
               1                2 

Berdasarkan output di atas, hasil dari proses clustering membagi data kabupaten/kota di Jawa Timur menjadi 3 cluster berdasarkan karakteristik tertentu.

Cluster 1: Kabupaten Pacitan, Kabupaten Trenggalek, Kabupaten Blitar, Kabupaten Lumajang, Kabupaten Banyuwangi, Kabupaten Bondowoso, Kabupaten Probolinggo, Kabupaten Pasuruan, Kabupaten Sidoarjo, Kabupaten Mojokerto, Kabupaten Jombang, Kabupaten Nganjuk, Kabupaten Madiun, Kabupaten Ngawi, Kabupaten Bojonegoro, Kabupaten Tuban, Kabupaten Lamongan, Kabupaten Gresik, Kabupaten Pamekasan, Kota Surabaya.

Cluster 2: Kabupaten Ponorogo, Kabupaten Tulungagung, Kabupaten Kediri, Kabupaten Jember, Kabupaten Situbondo, Kabupaten Magetan, Kabupaten Bangkalan, Kabupaten Sampang, Kabupaten Sumenep, Kota Kediri, Kota Blitar, Kota Probolinggo, Kota Pasuruan, Kota Mojokerto, Kota Madiun, Kota Batu.

Cluster 3: Kabupaten Malang.

4.5.9.1 Karakteristik Cluster

> cluster_means_3 <- aggregate(data_numerik, by = list(Cluster =
+ clusters_3), mean) 
> cluster_means_3
  Cluster Perusahaan TenagaKerja Investasi NilaiProduksi
1       1   27096.81   105638.19  2283.524      7176.000
2       2   12425.25    48617.56  1031.250      3252.062
3       3   48967.00   190362.00  4117.000     14555.000

Karakteristik tiap cluster:

Cluster 1: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang relatif rendah dibandingkan dengan cluster lainnya. Ini mengindikasikan bahwa kabupaten/kota dalam cluster ini cenderung memiliki aktivitas ekonomi yang sedang berkembang.

Cluster 2: Memiliki karakteristik yang lebih rendah daripada cluster 1 dan 3. Kabupaten/kota dalam cluster ini mungkin memiliki perkembangan ekonomi yang rendah

Cluster 3: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang paling tinggi. Ini menunjukkan bahwa kabupaten/kota dalam cluster ini cenderung menjadi pusatekonomi di Jawa Timur dengan aktivitas industri yang tinggi.

4.6 K-Means

4.6.1 Normalisasi Data

> data_scaled <- scale(data_numerik)

4.6.2 Menentukan Jumlah Cluster Optimal (Silhouette Method)

> fviz_nbclust(data_scaled, kmeans, method = "silhouette") + labs(title=
+ "Silhouette Method")

Berdasarkan grafik Silhouette di atas, nilai tertinggi dicapai ketika jumlah cluster adalah 5. Hal ini menunjukkan bahwa pembagian data menjadi 5 cluster memberikan hasil pengelompokan terbaik.

> set.seed(123)

4.6.3 Menghitung Silhouette Score untuk Jumlah Cluster 2 Hingga 10

> kmeans_silhouette <- function(k) { kmeans_result <- kmeans(data_scaled, centers = k) 
+ silhouette_score <- silhouette(kmeans_result$cluster, dist(data_scaled)) 
+ cat("Silhouette score untuk", k, "cluster:", mean(silhouette_score[, 3]), "\n") 
+ return(kmeans_result) } 
> for (k in 2:10) { kmeans_silhouette(k) }
Silhouette score untuk 2 cluster: 0.6060644 
Silhouette score untuk 3 cluster: 0.6095251 
Silhouette score untuk 4 cluster: 0.5889897 
Silhouette score untuk 5 cluster: 0.6435842 
Silhouette score untuk 6 cluster: 0.5688763 
Silhouette score untuk 7 cluster: 0.572886 
Silhouette score untuk 8 cluster: 0.5257441 
Silhouette score untuk 9 cluster: 0.5811148 
Silhouette score untuk 10 cluster: 0.4676537 

Berdasarkan Silhouette score di atas, nilai tertinggi dicapai ketika jumlah cluster adalah 5, dengan nilai sebesar 0,6435842. Hal ini menunjukkan bahwa pembagian data menjadi 5 cluster memberikan hasil pengelompokan terbaik.

4.6.4 Indeks Validitas

> data_scaled <- as.data.frame(data_scaled) 
> rownames(data_scaled) <- make.unique(as.character(data$`Kabupaten/Kota`))
> inval2 <- clValid::clValid(data_scaled,2:10, clMethods = "kmeans", validation = "internal", method = "average") 
> summary(inval2)

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   6.3056  6.8520 14.9202 16.2825 21.7837 26.7171 31.1365 37.4869 42.6008
       Dunn           0.0284  0.2206  0.0683  0.3455  0.2043  0.1464  0.1612  0.2102  0.3705
       Silhouette     0.6061  0.6421  0.5134  0.6436  0.6158  0.6267  0.6267  0.5700  0.5957

Optimal Scores:

             Score  Method Clusters
Connectivity 6.3056 kmeans 2       
Dunn         0.3705 kmeans 10      
Silhouette   0.6436 kmeans 5       

Berdasarkan output di atas, jumlah cluster optimal yang terbentuk:

  • Connectivity: Nilai terendah pada 2 cluster, menunjukkan bahwa 2 cluster memberikan hasil clustering yang paling baik.

  • Dunn Index: Nilai tertinggi pada 10 cluster, menunjukkan pemisahan yang paling baik antara 10 cluster.

  • Silhouette Coefficient: Nilai tertinggi pada 5 cluster, menunjukkan bahwa secara keseluruhan, objek-objek lebih baik ditempatkan dalam 5 cluster.

Kesimpulan secara umum, 2,5, dan 10 cluster dianggap memberikan hasil clustering yang cukup baik.

4.6.5 Clustering untuk k = 2

> set.seed(123) 
> kmeans_2 <- kmeans(data_scaled, centers = 2)
> kmeans_2$cluster
   Kab.  Pacitan    Kab. Ponorogo  Kab. Trenggalek Kab. Tulungagung 
               2                1                2                1 
     Kab. Blitar      Kab. Kediri      Kab. Malang    Kab. Lumajang 
               2                1                2                2 
     Kab. Jember  Kab. Banyuwangi   Kab. Bondowoso   Kab. Situbondo 
               2                2                2                1 
Kab. Probolinggo    Kab. Pasuruan         Sidoarjo   Kab. Mojokerto 
               2                2                2                2 
    Kab. Jombang     Kab. Nganjuk      Kab. Madiun     Kab. Magetan 
               2                2                2                1 
      Kab. Ngawi  Kab. Bojonegoro       Kab. Tuban    Kab. Lamongan 
               2                2                2                2 
     Kab. Gresik   Kab. Bangkalan     Kab. Sampang   Kab. Pamekasan 
               2                1                1                2 
    Kab. Sumenep      Kota Kediri      Kota Blitar      Kota Malang 
               1                1                1                2 
Kota Probolinggo    Kota Pasuruan   Kota Mojokerto      Kota Madiun 
               1                1                1                1 
   Kota Surabaya        Kota Batu 
               2                1 

Berdasarkan hasil clustering, kita dapat mengelompokkan nama daerah sebagai berikut:

Cluster 1 (Aktivitas Ekonomi Lebih Kecil): Kabupaten Ponorogo, Kabupaten Tulungagung, Kabupaten Kediri, Kabupaten Situbondo, Kabupaten Magetan, Kabupaten Bangkalan, Kabupaten Sampang, Kabupaten Sumenep, Kota Kediri, Kota Blitar, Kota Probolinggo, Kota Pasuruan, Kota Mojokerto, Kota Madiun, Kota Batu.

Cluster 2 (Aktivitas Ekonomi Lebih Besar): Kabupaten Pacitan, Kabupaten Trenggalek, Kabupaten Blitar, Kabupaten Malang, Kabupaten Lumajang, Kabupaten Jember, Kabupaten Banyuwangi, Kabupaten Bondowoso, Kabupaten Probolinggo, Kabupaten Pasuruan, Kabupaten Sidoarjo, Kabupaten Mojokerto, Kabupaten Jombang, Kabupaten Nganjuk, Kabupaten Madiun, Kabupaten Ngawi, Kabupaten Bojonegoro, Kabupaten Tuban, Kabupaten Lamongan, Kabupaten Gresik, Kabupaten Pamekasan, Kota Surabaya.

4.6.5.1 Menampilkan Rata-Rata Variabel dalam Setiap Cluster

> cluster_means <- aggregate(data_numerik, by = list(Cluster =
+ kmeans_2$cluster), mean) 
> print(cluster_means)
  Cluster Perusahaan TenagaKerja Investasi NilaiProduksi
1       1    11908.2     46436.6  986.5333      3115.733
2       2    27747.0    108265.0 2337.9565      7415.130

Karakteristik tiap cluster:

Cluster 1: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang lebih rendah dibandingkan dengan cluster 2. Ini mengindikasikan bahwa kabupaten/kota dalam cluster 1 cenderung memiliki aktivitas ekonomi yang lebih rendah atau sedang berkembang.

Cluster 2: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang lebih tinggi dibandingkan dengan cluster 1. Ini menunjukkan bahwa kabupaten/kota dalam cluster 2 cenderung memiliki aktivitas ekonomi yang lebih maju.

4.6.5.2 Visualisasi Cluster

Berikut adalah cluster plot dengan k = 2

> fviz_cluster(kmeans_2, data = data_scaled)

Berdasarkan visualisasi plot cluster tersebut, dapat disimpulkan bahwa clustering yang dilakukan dapat mengidentifikasi dua cluster data yang berbeda secara signifikan karena tidak ada area yang tumpang tindih.

4.6.6 Clustering untuk k = 5

> set.seed(123) 
> kmeans_5 <- kmeans(data_scaled, centers = 5)
> kmeans_5$cluster
   Kab.  Pacitan    Kab. Ponorogo  Kab. Trenggalek Kab. Tulungagung 
               3                5                4                5 
     Kab. Blitar      Kab. Kediri      Kab. Malang    Kab. Lumajang 
               4                1                2                3 
     Kab. Jember  Kab. Banyuwangi   Kab. Bondowoso   Kab. Situbondo 
               5                3                3                5 
Kab. Probolinggo    Kab. Pasuruan         Sidoarjo   Kab. Mojokerto 
               3                3                4                4 
    Kab. Jombang     Kab. Nganjuk      Kab. Madiun     Kab. Magetan 
               3                3                3                1 
      Kab. Ngawi  Kab. Bojonegoro       Kab. Tuban    Kab. Lamongan 
               3                3                3                3 
     Kab. Gresik   Kab. Bangkalan     Kab. Sampang   Kab. Pamekasan 
               4                5                5                3 
    Kab. Sumenep      Kota Kediri      Kota Blitar      Kota Malang 
               5                1                1                3 
Kota Probolinggo    Kota Pasuruan   Kota Mojokerto      Kota Madiun 
               1                1                1                1 
   Kota Surabaya        Kota Batu 
               4                1 

4.6.6.1 Menampilkan Rata-Rata Variabel dalam Setiap Cluster

> cluster_means <- aggregate(data_numerik, by = list(Cluster =
+ kmeans_5$cluster), mean) 
> print(cluster_means)
  Cluster Perusahaan TenagaKerja Investasi NilaiProduksi
1       1   8517.778    33241.78   703.000      2245.444
2       2  48967.000   190362.00  4117.000     14555.000
3       3  24971.600    97539.67  2102.467      6612.200
4       4  32409.833   125884.50  2736.167      8585.500
5       5  17449.143    68386.43  1453.286      4546.286

Karakteristik tiap cluster:

Cluster 1: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang paling rendah di antara semua cluster. Ini mengindikasikan bahwa kabupaten/kota dalam cluster ini cenderung memiliki aktivitas ekonomi yang paling kecil atau sedang berkembang di antara semua cluster.

Cluster 2: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang paling tinggi di antara semua cluster, menunjukkan aktivitas ekonomi yang paling besar dan maju.

Cluster 3: Karakteristiknya berada di antara cluster 2 dan 4.

Cluster 4: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang cukup tinggi, mengindikasikan aktivitas ekonomi yang cukup besar.

Cluster 5: Memiliki rata-rata jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi yang cukup rendah di antara semua cluster.

4.6.6.2 Visualisasi Cluster

Berikut adalah cluster plot dengan k = 5

> fviz_cluster(kmeans_5, data = data_scaled)

Berdasarkan visualisasi plot cluster tersebut, dapat disimpulkan bahwa clustering yang dilakukan dapat mengidentifikasi 5 cluster data yang berbeda secara signifikan karena tidak ada area yang tumpang tindih.

4.6.7 Clustering untuk k = 10

> set.seed(123) 
> kmeans_10 <- kmeans(data_scaled, centers = 10)
> kmeans_10$cluster
   Kab.  Pacitan    Kab. Ponorogo  Kab. Trenggalek Kab. Tulungagung 
               3                8                6                7 
     Kab. Blitar      Kab. Kediri      Kab. Malang    Kab. Lumajang 
               9                1                2               10 
     Kab. Jember  Kab. Banyuwangi   Kab. Bondowoso   Kab. Situbondo 
               7                3                3                7 
Kab. Probolinggo    Kab. Pasuruan         Sidoarjo   Kab. Mojokerto 
               3                3                9                4 
    Kab. Jombang     Kab. Nganjuk      Kab. Madiun     Kab. Magetan 
              10                3               10                5 
      Kab. Ngawi  Kab. Bojonegoro       Kab. Tuban    Kab. Lamongan 
               3               10               10               10 
     Kab. Gresik   Kab. Bangkalan     Kab. Sampang   Kab. Pamekasan 
               6                8                8               10 
    Kab. Sumenep      Kota Kediri      Kota Blitar      Kota Malang 
               8                1                1                3 
Kota Probolinggo    Kota Pasuruan   Kota Mojokerto      Kota Madiun 
               1                5                1                1 
   Kota Surabaya        Kota Batu 
               6                1 

4.6.7.1 Menampilkan Rata-Rata Variabel dalam Setiap Cluster

> cluster_means <- aggregate(data_numerik, by = list(Cluster = kmeans_10$cluster), mean) 
> print(cluster_means)
   Cluster Perusahaan TenagaKerja Investasi NilaiProduksi
1        1   8024.571    31317.29  661.7143      2110.571
2        2  48967.000   190362.00 4117.0000     14555.000
3        3  23570.375    92294.38 1985.3750      6200.000
4        4  33293.000   128156.00 2794.0000      8733.000
5        5  10244.000    39977.50  847.5000      2717.500
6        6  30933.000   120230.67 2621.6667      8129.000
7        7  19866.000    78396.67 1660.6667      5141.000
8        8  15636.500    60878.75 1297.7500      4100.250
9        9  34183.500   133229.50 2879.0000      9196.500
10      10  26573.000   103534.29 2236.2857      7083.286

Analisis clustering dengan 10 cluster memberikan gambaran yang lebih detail tentang perbedaan karakteristik ekonomi di berbagai kabupaten/kota di Jawa Timur. Dengan membagi data menjadi 10 cluster, dapat mengidentifikasi perbedaan yang lebih halus antara daerah-daerah. Hasil ini dapat menjadi dasar untuk penelitian lebih lanjut dan pengembangan kebijakan yang lebih spesifik dan tertarget.

4.6.7.2 Visualisasi Cluster

Berikut adalah Cluster Plot dengan k = 10

> fviz_cluster(kmeans_10, data = data_scaled)

Berdasarkan visualisasi plot cluster tersebut, dapat disimpulkan bahwa clustering yang dilakukan dapat mengidentifikasi 10 cluster data yang berbeda secara signifikan karena tidak ada area yang tumpang tindih.

5 KESIMPULAN

Berdasarkan data industri Kabupaten/Kota di Jawa Timur pada tahun 2018, analisis clustering hierarki dan non-hierarki dilakukan berdasarkan jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi. Metode average linkage dipilih sebagai metode terbaik untuk analisis clustering hierarki berdasarkan nilai koefisien cophenetic yang tinggi, menunjukkan bahwa metode ini memberikan hasil pengelompokan yang paling sesuai dengan struktur data. Hasil analisis clustering menunjukkan bahwa:

Ketika data dibagi menjadi 2 cluster, terdapat pengelompokan yang jelas antara cluster dengan rata-rata tinggi (perusahaan, tenaga kerja, investasi, dan nilai produksi) dan cluster dengan rata-rata rendah. Semakin banyak cluster yang terbentuk, perbedaan tiap indikator industri akan semakin spesifik, sehingga dapat memberikan wawasan yang lebih rinci tentang karakteristik masing-masing kabupaten/kota. Hasil ini dapat digunakan sebagai dasar untuk perencanaan strategi pengembangan ekonomi dan industri di Jawa Timur, misalnya untuk mengidentifikasi wilayah yang membutuhkan lebih banyak investasi atau untuk menyoroti daerah dengan potensi industri tinggi. Dengan demikian, analisis ini berkontribusi pada pengambilan keputusan yang lebih efektif dalam pengembangan sektor industri di Jawa Timur.

6 DAFTAR PUSTAKA