1 PENDAHULUAN

1.1 Latar Belakang

Layanan kesehatan merupakan hak dasar setiap individu dan menjadi salah satu indikator penting dalam pembangunan suatu daerah. Ketersediaan fasilitas kesehatan dan tenaga kesehatan yang memadai juga merupakan suatu indikasi di mana pembangunan suatu provinsi sudah terarah dengan baik. Kesejahteraan masyarakat juga dapat dicerminkan dari kualitas kesehatan masyarakat, baik dari segi fisik maupun mental. Tinggi rendahnya kualitas kesehatan masyarakat dipengaruh oleh beberapa variabel, diantaranya adalah ketersediaan tenaga kerja yang berkompeten dan dukungan kemudahan akses masyarakat dalam menjangkau fasilitas kesehatan di suatu daerah. Upaya dalam meningkatkan sistem ketahanan nasional melalui kesehatan terus digalakkan. Sejalan dengan Rencana Pembangunan Jangka Menengah (RPJMN) 2020-2024, Kementerian Kesehatan telah mencanangkan transformasi kesehatan melalui 6 pilar. Pemeretaan layananan kesehatan guna mendukung kemudahan akses layanan rujukan bagi para penduduk termasuk dalam transformasi pilar kedua. Berdasarkan uraian di atas, penelitian ini ingin melihat persebaran Kabupaten dan Kota di Jawa Timur pada variabel jumlah tenaga kesehatan dan jumlah fasilitas kesehatan yang nantinya dapat dijadikan sebagai pedoman pembangunan agar kualitas kesehatan semakin merata.

2 TINJAUAN PUSTAKA

2.1 Analisis Multivariat

Analisis multivariat adalah suatu metode inferensia untuk menggali dan menginvestigasi semua perlakuan yang dilakukan kepada objek di mana perlakuan tersebut lebih dari 2 variabel. Beberapa peneliti lain mendefinisikan analisis multivariat sebagai alat untuk menjelaskan hubungan antara 2 atau lebih variabel.

2.2 Analisis Cluster

Menurut Hair Jr, J. F. dkk. (2010) analisis cluster adalah salah satu bentuk dari analisis multivariat di mana bertujuan mengelompokkan objek ke dalam suatu kelompok yang memiliki karakteristik sama. Pengelompokkan ini akan membawa kehomogenan dalam kelompok dan keheterogenan antar kelompok. Secara lebih umum, setiap anggota dalam suatu kelompok yang terbentuk memiliki kesamaan dalam karakteristik, tapi ketika dibandingkan dengan anggota pada kelompok yang lain karakteristik antara kedua anggota kelompok tersebut akan sangat berbeda. Analisis cluster juga salah satu teknik dari eksplorasi unsupervised learning yaitu bersifat deskriptif dan salah satu analisis multivariat yang tidak bersifat inferensia sehingga tidak ada statistika dasar yang digunakan. Karena tidak ada pendugaan suatu variat/parameter, maka tidak perlu adanya asumsi yang ketat. Berdasarkan hal tersebut, tidak ada solusi unik karena kelompok yang terbentuk kemungkinan besar akan berubah semakin bertambahnya amatan yang digunakan.

2.3 Hierarki

Algoritma hierarki adalah salah satu metode agglomerative di mana pengelompokkan dimulai dari menginisialisasi banyak kelompok pada iterasi pertama yang terbentuk jumlahnya sesuai dengan banyaknya amatan. Iterasi akan berlanjut hingga semua amatan berada dalam satu kelompok. Hair Jr, J. F. dkk. (2010), menjelaskan ada 6 langkah pengelompokkan dengan agglomerative jika digunakan 7 amatan yang dapat disimpulkan melalui tahapan berikut:

  1. Identifikasi setiap amatan menjadi suatu kelompok tunggal.

  2. Cari dua amatan terdekat dan gabungkan mereka dalam satu kelompok.

  3. Cari kembali pasangan amatan tersebut dengan amatan lain sesuai jarak terkecil, lalu gabungkan menjadi satu kelompok.

  4. Jika terdapat dua amatan di luar kelompok yang sudah terbentuk memiliki jarak terkecil. Gabungkan amatan tersebut menjadi satu kelompok terpisah.

  5. Jika ada dua kelompok yang jaraknya kecil terhadap kelompok lain maka gabungkan dua kelompok tersebut menjadi satu kelompok yang lebih besar.

  6. Semua proses akan berhenti ketika semua amatan sudah berada dalam satu kelompok.

2.4 Pengukuran Jarak

Pengukuran paling umum pada analisis cluster adalah berdasarkan kedekatan amatan yang diidentifikasikan oleh jarak. Jarak merepresentasikan kesamaan karakteristik amatan didasari dari variabel. Semakin kecil jarak antar amatan maka semakin mirip juga karakteristiknya dan semakin besar jarak antar amatan maka akan menjauh dari kesamaan karakteristik. Kesamaan karakteristik yang diidentifikasi dari jarak adalah salah satu proses inverse relationship. Dalam membantu pengukuran jarak, ada beberapa jenis metode pengukuran jarak yang umum digunakan, seperti Euclidean, Manhattan, Squared Euclidean, Mahalanobis, dll.

2.4.1 Jarak Euclidean

\[ dist(x, y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2} \]

2.4.2 Jarak Manhattan

\[ dist(x, y) = \sum_{i=1}^{n} |x_i - y_i| \]

2.4.3 Jarak Squared Euclidean

\[ dist(x, y) = \sum_{i=1}^{n} (x_i - y_i)^2 \]

2.5 Korelasi Chophenetic

Penentuan jarak dengan linkage paling optimal sebelum membentuk visualisasi dapat menggunakan nilai korelasi cophenetic. Korelasi cophenetic adalah nilai korelasi yang mengukur matriks ketidakmiripan dengan matriks cophenetic yang dihasilkan dari dendogram. Matriks ketidakmiripan biasanya dapat diidentifikasi melalui matriks jarak, sedangkan matriks cophenetic diperoleh dari elemen dalam dendogram. Nilai matriks cophenetic menunjukkan jarak antara dua amatan di mana keduanya bergabung dalam satu kelompok. Nilai korelasi cophenetic dapat dihitung dengan rumus berikut: \[ r_{coph} = \frac{\sum_{i<j}^{n} (d_{ij} - \bar{d})(d_{coph-ij} - \bar{d}_{coph})}{\sqrt{ \left[ \sum_{i<j}^{n} (d_{ij} - \bar{d})^2 \right] \left[ \sum_{i<j}^{n} (d_{coph-ij} - \bar{d}_{coph})^2 \right] }} \] Keterangan:

  • rcoph : Koefisien korelasi cophenetic
  • dij : Jarak asli amatan ke-i dan ke-j
  • dbar : rata-rata dij
  • dcoph-ij : Jarak cophenetic amatan ke-i dan ke-j
  • dbarcoph : rata-rata dcoph-ij

Nilaircoph berjalan dari -1 sampai 1 di mana semakin mendekati 1 maka proses pengelompokkan semakin baik.

2.6 Linkage

Misalkan setelah mengelompokkan 2 amatan (1 dan 2) ke dalam suatu kelompok, anggap saja kelompok A, akan dicari jarak terdekat amatan lain terhadap kelompok terbentuk. Namun, sekiranya penentuan jarak terdekat kelompok terhadap amatan lain, apakah menggunakan jarak dari amatan 1 ataukah jarak dari amatan 2 terhadap amatan di luar kelompok? Penentuan jarak ini dibagi menjadi 3 jenis, yaitu single linkage, complete linkage, dan average linkage. Penggunaan pengukuran kemiripan ini untuk mempermudah mengidentifikasi jarak tanpa menghitung matriks jarak kembali dari data semula.

2.6.1 Single Linkage

Biasa disebut dengan metode tetangga terdekat. Single linkage mendefinisikan bahwa kemiripan antar kelompok diduga dengan jarak terpendek dari amatan yang berada pada kelompok tersebut terhadap kelompok lain. Jarak terkecil diperoleh berdasarkan rumus berikut:

\[ D(A, B) = \min_{a \in A, b \in B} d(a, b) \]

2.6.2 Complete Linkage

Berbeda dengan single linkage, penentuan jarak kelompok menggunakan complete linkage adalah dengan melihat jarak terjauh dari amatan yang ada pada kelompok tersebut. Penggunaan jarak terjauh untuk menjawab masalah yang sering timbul pada single linkage. Amatan akan dikelompokkan menjadi satu kelompok meskipun sebenarnya tidak memiliki hubungan erat. Hal tersebut menyebabkan kelompok yang terbentuk seperti memanjang berbentuk rantai sehingga masalah ini sering disebut chaining problem. Dengan menggunakan complete linkage, kelompok yang terbentuk cenderung akan lebih memusat dan memadat. \[ D(A, B) = \max_{a \in A, b \in B} d(a, b) \]

2.6.3 Average Linkage

Berbeda dengan kedua indeks sebelumnya, average linkage memerhatikan kontribusi semua amatan dalam kelompok untuk menentukan jarak. Seringkali, penggunaan single dan complete linkage akan sangat berpengaruh ketika adalah pencilan dalam kelompok tersebut. Hal ini menyebabkan keragaman dalam kelompok dapat membesar. Maka dari itu, pendekatan average linkage diharapkan mampu memperkecil keragaman dalam kelompok sehingga akan membentuk kelompok-kelompok dengan keragaman yang hampir mirip. Penentuan jarak dapat dilihat dari rumus berikut: \[ D(A, B) = \frac{1}{2} \sum_{a \in A} \sum_{b \in B} d(a, b) \]

2.7 Indeks Validitas Silhouette

Penentuan seberapa baik kualitas hasil pengelompokkan dapat menggunakan beberapa indeks validitas, salah satunya silhouette. Indeks silhouette menilai seberapa baik suatu amatan dikelompokkan ke dalam kelompok yang tepat. Nilai silhouette berjalan dari -1 hingga 1. Nilai negatif bermakna bahwa amatan tersebut kemungkinan besar lebih cocok ditempatkan pada kelompok lain. Sedangkan semakin positif nilai silhouette, maka semakin tepat juga penempatan amatan tersebut pada suatu kelompok. Berdasarkan hal tersebut, penentuan kualitas hasil pengelompokkan dapat dilihat dari rata-rata nilai silhouette setiap kelompok. Nilai silhouette setiap amatan dapat dihitung dengan rumus berikut: \[ s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}} \] Keterangan:

  • s(i): Nilai Silhouette untuk amatan ke-i

  • a(i): rata-rata kemiripan (jarak) amatan ke-i dengan amatan lainnya dalam kelompok

  • b(i): rata-rata kemiripan (jarak) amatan ke-i dengan amatan lain di luar kelompok

Sehingga untuk melihat seberapa baik hasil pengelompokkan, dapat dihitung indeks global silhouette dari semua amatan tersebut dengan rumus: \[ GS_u = \frac{1}{n} \sum_{i=1}^{n} S(i) \] Keterangan

  • GSu : Indeks global silhouette

  • n : Banyak amatan

  • S(i) : Nilai silhouette amatan ke-i

2.8 Visualisasi Cluster

2.8.1 Dendogram

Dendogram adalah sebuah diagram yang memvisualisasikan proses pengelompokkan data secara hierarki. Penggunaan dendogram, memudahkan untuk melihat iterasi pengelompok amatan satu per satu. Setiap amatan akan dihubungkan oleh titik potong pada jarak tertentu. Semakin ke atas, jumlah kelompok yang terbentuk akan semakin sedikit. Visualisasi ini hanya bergantung pada jarak amatan sehingga kekar terhadap banyaknya dimensi.

2.8.2 Scatter Plot

Scatter plot menampilkan amatan sebagai titik-titik pada diagram kartesius. Kemiripan antar amatan diidentifikasi dari dekatnya titik-titik tersebut sehingga seperti membentuk suatu kelompok. Namun, scatter plot memiliki kelemahan yaitu hanya terbatas pada 2 dimensi sehingga jika terdapat lebih dari 2 variabel yang terlibat maka akan dilakukan reduksi dimensi. Hal ini dapat memungkinkan terjadi ketidakakuratan ketika visualisasi.

2.9 Data

Data yang digunakan berupa data sekunder yang diperoleh dari Badan Pusat Statistik (BPS) Jawa Timur yaitu jumlah tenaga kesehatan dan jumlah fasilitas kesehatan pada setiap Kabupaten/Kota. Data ini terdapat 10 variabel, yaitu:

  • X1 : Tenaga Kesehatan - Perawat

  • X2 : Tenaga Kesehatan - Bidan

  • X3 : Tenaga Kesehatan - Tenaga Kefarmasian

  • X4 : Tenaga Kesehatan - Tenaga Gizi

  • X5 : Jumlah Rumah Sakit Umum

  • X6 : Jumlah Rumah Sakit Khusus

  • X7 : Jumlah Puskesmas Rawat Inap

  • X8 : Jumlah Puskesmas Non Rawat Inap

  • X9 : Jumlah Klinik Pratama

  • X10 :Jumlah Posyandu

3 Source Code

3.1 Library yang Dibutuhkan

> library(readxl)
> library(factoextra)
> library(cluster)

4 HASIL DAN PEMBAHASAN

4.1 Data

> library(readxl)
> x <- read_excel("D:/Semester 5/ANMUL/Praktikum/UAP/data uap 2023.xlsx")
> data_uap = as.data.frame(x[,-1])
> rownames(data_uap) = x$`Kabupaten/Kota`
> kable(data_uap)
Tenaga Kesehatan - Perawat Tenaga Kesehatan - Bidan Tenaga Kesehatan - Tenaga Kefarmasian Tenaga Kesehatan - Tenaga Gizi Jumlah Rumah Sakit Umum Jumlah Rumah Sakit Khusus Jumlah Puskesmas Rawat Inap Jumlah Puskesmas Non Rawat Inap Jumlah Klinik Pratama Jumlah Posyandu
Pacitan 738 412 148 68 3 0 15 9 17 843
Ponorogo 1629 759 361 70 8 0 19 12 49 1134
Trenggalek 1032 491 176 90 3 0 20 2 25 858
Tulungagung 2259 1038 450 100 10 0 17 15 52 1242
Blitar 1186 731 336 86 8 0 18 6 26 1472
Kediri 1632 926 483 113 9 0 8 29 58 1753
Malang 3698 1369 633 156 22 2 39 0 106 2868
Lumajang 1600 796 317 92 8 0 25 0 36 1304
Jember 2996 1629 597 173 12 2 43 7 92 2895
Banyuwangi 2010 1139 406 104 13 0 18 27 71 2318
Bondowoso 1259 709 142 60 3 0 25 0 14 1095
Situbondo 1054 733 111 76 6 1 18 2 16 947
Probolinggo 1276 788 164 73 5 0 21 12 21 1342
Pasuruan 1794 1076 378 91 8 1 17 16 62 1925
Sidoarjo 4111 1444 1092 154 24 1 14 16 186 1849
Mojokerto 1737 786 237 75 11 0 17 10 56 1286
Jombang 1954 1277 290 96 13 1 19 15 44 1591
Nganjuk 1307 759 328 65 4 0 14 6 42 1325
Madiun 889 531 246 50 3 0 10 16 12 880
Magetan 973 591 204 52 3 0 17 5 18 930
Ngawi 1314 714 172 70 5 0 23 1 21 1225
Bojonegoro 1699 1243 339 70 10 0 26 9 27 1653
Tuban 1249 756 263 63 6 0 8 25 38 1444
Lamongan 2452 1226 332 90 17 2 31 1 67 1750
Gresik 2300 1236 461 93 19 0 16 16 94 1523
Bangkalan 1244 1129 94 37 3 1 22 0 17 1147
Sampang 1139 865 78 54 3 0 19 3 10 1049
Pamekasan 1351 802 184 64 6 0 21 0 23 993
Sumenep 1575 1260 125 82 4 0 30 0 15 1492
Kota Kediri 1689 536 489 67 9 1 4 5 44 347
Kota Blitar 818 180 188 35 5 0 2 1 25 168
Kota Malang 3761 862 810 196 14 0 0 16 95 651
Kota Probolinggo 559 277 140 31 3 0 2 4 27 219
Kota Pasuruan 526 264 109 30 2 0 0 8 28 305
Kota Mojokerto 970 237 226 35 6 0 2 4 14 170
Kota Madiun 1284 339 405 67 7 1 0 6 36 270
Kota Surabaya 10883 1891 2862 414 40 7 22 41 418 2682
Kota Batu 563 146 169 32 5 0 3 2 12 189

Kolom Kabupaten/Kota dijadikan sebagai indeks supaya ketika visualisasi nama label dapat langsung terlihat.

4.2 Korelasi Cophenetic

Selanjutnya, akan dihitung korelasi cophenetic dari setiap jenis jarak dan linkage yang digunakan. Penentuan algoritma terbaik dapat diidentifikasi dari nilai korelasi cophenetic yang paling tinggi.

4.2.1 Jarak Euclidean

Dengan menggunakan jarak euclidean, akan dihitung korelasi copheneticnya dengan syntax:

> euclid_dist = dist(data_uap,method = "euclidean")
> 
> clust_sing = hclust(euclid_dist, method = "single", members = NULL)
> clust_comp = hclust(euclid_dist, method = "complete", members = NULL)
> clust_ave = hclust(euclid_dist, method = "average", members = NULL)
> 
> euclid_coph = data.frame(linkage, rbind(cor(euclid_dist, cophenetic(clust_sing)),
+                                         cor(euclid_dist, cophenetic(clust_comp)),
+                                         cor(euclid_dist, cophenetic(clust_ave))))
Error in data.frame(linkage, rbind(cor(euclid_dist, cophenetic(clust_sing)), : object 'linkage' not found
> colnames(euclid_coph)[2] = "Euclidean";kable(euclid_coph)
Error in colnames(euclid_coph)[2] = "Euclidean": object 'euclid_coph' not found
Error in kable(euclid_coph): object 'euclid_coph' not found

Dengan menggunakan average linkage, diperoleh nilai korelasi chopenetic tertinggi sebesar 0.9721. Artinya, average linkage memberikan pengukuran kemiripan yang paling optimal pada jarak euclidean.

4.2.2 Jarak Manhattan

Dengan menggunakan jarak manhattan, akan dihitung korelasi copheneticnya dengan syntax:

> manh_dist = dist(data_uap,method = "manhattan")
> 
> clust_sing2 = hclust(manh_dist, method = "single", members = NULL)
> clust_comp2 = hclust(manh_dist, method = "complete", members = NULL)
> clust_ave2 = hclust(manh_dist, method = "average", members = NULL)
> 
> manh_coph = data.frame(linkage, rbind(cor(manh_dist, cophenetic(clust_sing2)),
+                                         cor(manh_dist, cophenetic(clust_comp2)),
+                                         cor(manh_dist, cophenetic(clust_ave2))))
Error in data.frame(linkage, rbind(cor(manh_dist, cophenetic(clust_sing2)), : object 'linkage' not found
> colnames(manh_coph)[2] = "Manhattan";kable(manh_coph)
Error in colnames(manh_coph)[2] = "Manhattan": object 'manh_coph' not found
Error in kable(manh_coph): object 'manh_coph' not found

Dengan menggunakan average linkage, diperoleh nilai korelasi chopenetic tertinggi sebesar 0.9581. Artinya, average linkage memberikan pengukuran kemiripan yang paling optimal pada jarak manhattan.

4.2.3 Jarak Squared Euclidean

Dengan menggunakan jarak squared euclidean, akan dihitung korelasi copheneticnya dengan syntax:

> sqeuclid_dist = (dist(data_uap,method = "euclidean"))^2
> 
> clust_sing3 = hclust(sqeuclid_dist, method = "single", members = NULL)
> clust_comp3 = hclust(sqeuclid_dist, method = "complete", members = NULL)
> clust_ave3 = hclust(sqeuclid_dist, method = "average", members = NULL)
> 
> sqeuclid_coph = data.frame(linkage, rbind(cor(sqeuclid_dist, cophenetic(clust_sing3)),
+                                       cor(sqeuclid_dist, cophenetic(clust_comp3)),
+                                       cor(sqeuclid_dist, cophenetic(clust_ave3))))
Error in data.frame(linkage, rbind(cor(sqeuclid_dist, cophenetic(clust_sing3)), : object 'linkage' not found
> colnames(sqeuclid_coph)[2] = "Squared Euclidean";kable(sqeuclid_coph)
Error in colnames(sqeuclid_coph)[2] = "Squared Euclidean": object 'sqeuclid_coph' not found
Error in kable(sqeuclid_coph): object 'sqeuclid_coph' not found

Dengan menggunakan average linkage, diperoleh nilai korelasi chopenetic tertinggi sebesar 0.9785. Artinya, average linkage memberikan pengukuran kemiripan yang paling optimal pada jarak squared euclidean.

Sehingga dari semua nilai korelasi cophenetic yang diperoleh, dapat ditabuluasi sebagai berikut:

> Corr_Coph = data.frame(linkage, euclid_coph$Euclidean, manh_coph$Manhattan, sqeuclid_coph$`Squared Euclidean`)
Error in data.frame(linkage, euclid_coph$Euclidean, manh_coph$Manhattan, : object 'linkage' not found
> colnames(Corr_Coph)[2:4] = c("Euclidean", "Manhattan", "Squared Euclidean");kable(Corr_Coph)
Error in colnames(Corr_Coph)[2:4] = c("Euclidean", "Manhattan", "Squared Euclidean"): object 'Corr_Coph' not found
Error in kable(Corr_Coph): object 'Corr_Coph' not found

Berdasarkan table korelasi chopenetic, nilai korelasi paling tinggi ada pada Jarak Squared Euclidean dengan Average Linkage. Oleh karena itu, metode pengukuran kemiripan paling optimal untuk mengelompokkan Kabupaten/Kota di Jawa Timur berdasarkan jumlah tenaga kesehatan dan jumlah fasilitas kesehatan tahun 2023 adalah menggunakan jarak Squared Euclidean dengan Average Linkage.

4.3 Indeks Validitas Silhouette

Selanjutnya akan dihitung indeks silhouette untuk mengetahui berapa banyak kelompok paling optimal. Indeks silhouette terbesar mengidentifikasikan bahwa cluster yang terbentuk pada tahap tersebut adalah yang paling optimal. Perhitungan indeks silhouette dan visualisasinya melalui syntax berikut:

> X = list();X
list()
> silval = c(rep(NA,times = NROW(data_uap)));silval
 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[26] NA NA NA NA NA NA NA NA NA NA NA NA NA
> for (i in 1:NROW(data_uap)){
+   X[[i]] = as.data.frame(silhouette(cutree(clust_ave3, k = i),sqeuclid_dist))
+ }
> for (i in 1:NROW(data_uap)){
+   silval[i] = mean(X[[i]]$sil_width)
+ }
> for (i in 1:NROW(data_uap)){
+   if (is.na(silval[i])){
+     silval[i] = 0
+   }
+ }
> silval_plot = plot(1:NROW(data_uap), silval[1:NROW(data_uap)], type = "o",pch = 20,col = "blue",
+                    main = "Optimal number of clusters", ylab = "Average silhouette width",
+                    xlab = "Number of clusters k",xaxt = 'n')
> axis(1, at = 1:NROW(data_uap))
> abline(v = which.max(silval), col = "blue", lty = 2)

Berdasarkan diagram optimal number of clusters dapat dilihat nilai silhouette terbesar dicirikan dengan garis vertikal berwarna biru, tepatnya pada k = 2 dengan besaran nilai 0.94. Dapat disimpulkan bahwa, dari keseluruhan banyak kelompok yang terbentuk (1-38) kelompok sebanyak 2 adalah yang paling optimal untuk mengelompokkan Kabupaten/Kota di Jawa Timur berdasarkan jumlah tenaga kesehatan dan fasilitas kesehatan tahun 2023.

4.4 Dendogram

> fviz_dend(clust_ave3, k = 2, rect = TRUE, show_labels = TRUE, cex = 0.5)

Dapat dilihat dari dendogram yang terbentuk jika terdapat 2 kelompok, Kota Surabaya berdiri sendiri sebagai kelompok tunggal sedangkan Kabupaten/Kota selainnya menjadi 1 kelompok besar.

4.5 Scatter Plot

> fviz_cluster(list(data = data_uap, cluster = cutree(clust_ave3,2)),
+              palette = "jco", ggplot = TRUE, labelsize = 6)

Secara teoritis, visualisasi tidak akan bisa lebih dari 3 dimensi. Pada umumnya, jika terdapat lebih dari 3 variabel yang digunakan, maka sebaiknya dilakukan reduksi dimensi supaya dapat memvisualisasi dalam 2D dan 3D. Namun, secara otomatis, r akan melakukan PCA untuk mereduksi dimensi dari 10 variabel menjadi 2 variabel saja. Visualisasi di atas merupakan visualisasi setelah dilakukan PCA dengan PC1 dapat merepresentasikan 70.5% keragaman data awal dan PC2 dapat merepresentasikan 17.3 % data awal. Terlihat juga bahwa Kota Surabaya berada jauh sendiri di pojok kanan atas (kuadran 1) sebagai kelompok 2 dan Kabupaten/Kota yang lain berada pada kiri bawah (kuadran 3) sebagai kelompok 1. Dengan melihat pusat kelompok, kelompok 1 dapat dicirikan sebagai kelompok dengan jumlah tenaga kesehatan dan fasilitas kesehatan lebih sedikit dibandingkan Kota Surabaya. Bisa dikatakan, Kota Surabaya dianggap sebagai pencilan karena memiliki tenaga dan fasilitas kesehatan yang sangat banyak dibandingkan Kabupaten/Kota lainnya.

> kable(aggregate(data_uap, by=list(cluster = cutree(clust_ave3,k = 2)), mean))
cluster Tenaga Kesehatan - Perawat Tenaga Kesehatan - Bidan Tenaga Kesehatan - Tenaga Kefarmasian Tenaga Kesehatan - Tenaga Gizi Jumlah Rumah Sakit Umum Jumlah Rumah Sakit Khusus Jumlah Puskesmas Rawat Inap Jumlah Puskesmas Non Rawat Inap Jumlah Klinik Pratama Jumlah Posyandu
1 1611.541 812.3243 315.7568 80 8.108108 0.3513514 16.2973 8.27027 43.13514 1201.405
2 10883.000 1891.0000 2862.0000 414 40.000000 7.0000000 22.0000 41.00000 418.00000 2682.000

Melihat dari pusat setiap kelompok berdasarkan 10 variabel, kelompok 2 memiliki angka yang sangat tinggi dibandingkan dengan kelompok 1. Artinya, baik jumlah tenaga kesehatan maupun fasilitas kesehatan pada Kota Surabaya sudah sangat banyak bila dibandingkan Kabupaten/Kota lainnya di Jawa Timur.

5 KESIMPULAN

Berdasarkan eksplorasi dengan analisis cluster hierarki diperoleh beberapa poin sebagai berikut:

  1. Metode agglomerative yang paling optimal dalam mengelompokkan Kabupaten/Kota di Jawa Timur berdasarkan Jumlah Tenaga Kesehatan dan Fasilitas Kesehatan tahun 2023 adalah dengan menggunakan jarak Squared Euclidean dan Average Linkage.

  2. Berdasarkan indeks silhouette, banyak kelompok paling optimal yang terbentuk sebanyak 2 kelompok di mana kelompok 1 beranggotakan Kabupaten/Kota selain Kota Surabaya dan kelompok 2 memiliki anggota tunggal yaitu Kota Surabaya.

  3. Pemerataan persebaran tenaga kesehatan dan fasilitas kesehatan sebaiknya diintensifkan pada kelompok 1 atau tepatnya di luar Kota Surabaya karena pusat kelompok masih lebih kecil daripada Kota Surabaya.

6 DAFTAR PUSTAKA

Joseph F. Hair, Jr., William C. Black, Barry J. Babin, & Rolph E. Anderson. (2010). Multivariate Data Analysis. Pearson Prentice Hall.

Novidianto, R., & Dani, A. T. R. (2020). ANALISIS KLASTER KASUS AKTIF COVID-19 MENURUT PROVINSI DI INDONESIA BERDASARKAN DATA DERET WAKTU. Jurnal Aplikasi Statistika Dan Komputasi Statistik V.

Ogbuabor, G., & Ugwoke, F. N. (2018). CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE. International Journal of Computer Science & Information Technology (IJCSIT), 10.