## 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
- Bagaimana distribusi jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi sektor industri di setiap kabupaten/kota di Jawa Timur?
- Apakah terdapat pola atau pengelompokan kabupaten/kota di Jawa Timur berdasarkan kontribusi sektor industrinya?
1.3 Tujuan
- Menganalisis distribusi jumlah perusahaan, tenaga kerja, investasi, dan nilai produksi sektor industri di kabupaten/kota di Jawa Timur.
- Mengidentifikasi pola pengelompokan kabupaten/kota di Jawa Timur berdasarkan kontribusi sektor industrinya menggunakan metode clustering.
1.4 Batasan Masalah
- Data yang digunakan hanya mencakup sektor industri untuk tahun 2018 di Provinsi Jawa Timur.
- 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:
Divisif (Top-Down): Memulai proses dari cluster besar kemudian dipecah menjadi subcluster.
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:
Single Linkage (Nearest Neighbor): Objek yang memiliki jarak terdekat digabungkan lebih dahulu.
\[ d_{(ij)k} = \min{(d_{ik},d_{jk})} \]
Complete Linkage (Farthest Neighbor): Jarak antar cluster dihitung berdasarkan objek dengan jarak terjauh.
\[ d_{(ij)k} = \max{(d_{ik},d_{jk})} \]
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}\]
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:
Menentukan ukuran kesamaan antara dua objek dengan menggunakan metode perhitungan jarak (misalnya, Euclidean, Manhattan, atau Mahalanobis).
Memilih metode hierarki yang akan digunakan (Single Linkage, Complete Linkage, Average Linkage, atau Ward’s Method).
Melakukan perbaikan matriks jarak berdasarkan metode cluster yang dipilih.
Menentukan jumlah anggota cluster dengan mempertimbangkan indeks validitas cluster (misalnya, koefisien korelasi kofenetik atau indeks silhouette).
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):
Tentukan jumlah k cluster yang diinginkan.
Pilih secara acak k titik awal sebagai centroid untuk cluster awal.
Hitung jarak setiap titik data ke centroid.
Tetapkan setiap titik ke cluster dengan jarak terdekat ke centroid.
Hitung rata-rata setiap cluster untuk menghasilkan centroid baru.
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:
Jarak Euclidean: Mengukur jarak linier antara dua titik dalam ruang vektor.
\[ d(a,b) = \sqrt{\sum_{i=1}^{n} (a_i - b_i)^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| \]
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
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.
Indeks Dunn: Menilai kejelasan pemisahan cluster. Nilai tinggi menunjukkan cluster yang terpisah dengan baik dan memiliki diameter kecil dalam cluster.
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.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
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
> 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
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.2 Menentukan Jumlah Cluster Optimal (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.
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
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
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
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:
Pada clustering hierarki, menggunakan jarak Euclidean dan batas 2 hingga 10 cluster, cluster terbaik yang terbentuk adalah 2 dan 3 cluster.
Pada clustering non-hierarki menggunakan metode k-means dengan batas 2 hingga 10 cluster, cluster terbaik yang terbentuk adalah 2, 5, dan 10 cluster.
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
Awaliyah, R. 2018. Analisis Clustering untuk Mengelompokkan Tingkat Kesejahteraan Kabupaten/Kota Berdasarkan Sosial Ekonomi Rumah Tangga di Wilayah Provinsi Sulawesi Selatan [Skripsi]. Makassar: Universitas Islam Negeri (UIN) Alauddin Makassar, Fakultas Sains dan Teknologi.
Azzahra, A., & Wijayanto, A. W. (2022). Perbandingan Agglomerative Hierarchical dan K-Means dalam Pengelompokkan Provinsi Berdasarkan Pelayanan Kesehatan Maternal. SISTEMASI: Jurnal Sistem Informasi, 11(2), 481-495.
Badan Pusat Statistik Provinsi Jawa Timur. (2019). Jumlah Perusahaan, Tenaga Kerja, Investasi dan Nilai Produksi pada Industri di Provinsi Jawa Timur Menurut Kabupaten/Kota, 2018 [Online]. Tersedia di: https://jatim.bps.go.id/id/statistics-table/1/MTY2OCMx/jumlah-perusahaan--tenaga-kerja--investasi-dan-nilai-produksi-pada-industri-di-provinsi-jawa-timur-menurut-kabupaten-kota--2018.html (Diakses pada 22 November 2024).
Muhartini, A. A., Febriati, T., & Sukmawati, S. (2022). ANALISIS CLUSTER UNTUK MENGELOMPOKKAN PENGGUNAAN KARTU PERDANA SELULER DI UNIVERSITAS BINA BANGSA: Survei Mahasiswa Jurusan Pendidikan Matematika. Jurnal Bayesian: Jurnal Ilmiah Statistika dan Ekonometrika, 2(1), 15-30.
Muhima, R. R., Kurniawan, M., Kom, S., Kom, M., Anton Yudhana, S. T., & Sunardi, S. T. (2022). Kupas Tuntas Algoritma Clustering: Konsep, Perhitungan Manual, dan Program. Yogyakarta: Penerbit Andi.
Munthe, D. A. 2019. Penerapan Clustering Time Series Untuk Menggerombolkan Provinsi di Indonesia Berdasarkan Nilai Produksi Padi. Jurnal Litbang Sukowati. Volume 2 No. 2 Tahun 2019.
Muslim, M. A., Prasetiyo, B., Mawarni, E. L., Herowati, A. J., Mirqotussa’dah, M., Rukmana, S. H., & Nurzahputra, A. (2019). Data Mining Algoritma C4. 5 Disertai contoh kasus dan penerapannya dengan program computer. Nucl. Phys, 13(1), 104-116.
Nugraheny, D. (2015). Metode Nilai Jarak guna Kesamaan atau Kemiripan Ciri suatu Citra (kasus deteksi awan cumulonimbus menggunakan principal component analysis). Angkasa: Jurnal Ilmiah Bidang Teknologi, 7(2), 21-30.
Santosa, B. (2007). Data Mining (Teori dan Aplikasi). Graha Ilmu, Yogyakarta.
Simamora, B. (2005). Analisis Multivariat Pemasaran. Jakarta: PT. Gramedia Pustaka.
Triayudi, A., dkk. (2024). Clustering. Yogyakarta: PT Penamuda Media.
Ulinnuha, N., & Veriani, R. (2020). Analisis Cluster dalam Pengelompokan Provinsi di Indonesia Berdasarkan Variabel Penyakit Menular Menggunakan Metode Complete Linkage, Average Linkage dan Ward. InfoTekJar: Jurnal Nasional Informatika dan Teknologi Jaringan, 5(1), 102-108.
Wahyuni, M., 2021. Statistik Deskriptif untuk Penelitian Olah Data Manual dan SPSS Versi 25: Bintang Pustaka.