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:
Identifikasi setiap amatan menjadi suatu kelompok tunggal.
Cari dua amatan terdekat dan gabungkan mereka dalam satu kelompok.
Cari kembali pasangan amatan tersebut dengan amatan lain sesuai jarak terkecil, lalu gabungkan menjadi satu kelompok.
Jika terdapat dua amatan di luar kelompok yang sudah terbentuk memiliki jarak terkecil. Gabungkan amatan tersebut menjadi satu kelompok terpisah.
Jika ada dua kelompok yang jaraknya kecil terhadap kelompok lain maka gabungkan dua kelompok tersebut menjadi satu kelompok yang lebih besar.
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
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 foundDengan 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 foundDengan 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 foundDengan 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 foundBerdasarkan 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
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.
| 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:
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.
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.
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.