Library:
> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")
Kesehatan ibu dan anak merupakan salah satu indikator fundamental dalam menilai kualitas pembangunan suatu negara. Keberhasilan pembangunan nasional tidak hanya dilihat dari pertumbuhan ekonomi, tetapi juga dari kemampuan negara dalam menurunkan angka kematian bayi, kematian balita, dan kematian ibu. Menurut World Health Organization (WHO), angka kematian ibu dan anak merupakan salah satu indikator yang paling sensitif terhadap kinerja sistem kesehatan, sehingga tingginya mortalitas menunjukkan masih adanya ketimpangan dalam akses dan kualitas layanan kesehatan. Hal ini selaras dengan kondisi Indonesia, yang meskipun menunjukkan perkembangan positif dalam beberapa dekade terakhir, namun masih menghadapi disparitas yang besar antar wilayah.
Data dari Badan Pusat Statistik (BPS) menunjukkan bahwa angka kematian bayi (AKB), angka kematian balita (AKABA), dan angka kematian ibu (AKI) sangat bervariasi antar provinsi. Beberapa provinsi di kawasan barat Indonesia memiliki angka mortalitas yang lebih rendah, sedangkan provinsi-provinsi di kawasan timur, seperti Nusa Tenggara, Maluku, dan Papua cenderung memiliki angka kematian yang lebih tinggi. Ketimpangan ini menunjukkan adanya permasalahan struktural terkait distribusi dan kualitas layanan kesehatan di tingkat lokal.
Selain itu, layanan kesehatan yang tersedia di tingkat desa/kabupaten juga memainkan peran strategis dalam menurunkan risiko mortalitas. WHO (2020) menyatakan bahwa ketersediaan fasilitas pelayanan kesehatan primer sangat mempengaruhi deteksi dini dan intervensi tepat waktu terhadap komplikasi terkait kehamilan. Di Indonesia, Puskesmas, Posyandu, dan klinik merupakan fasilitas kesehatan dasar yang berfungsi sebagai garda depan dalam pelayanan kesehatan ibu dan anak. Namun distribusinya juga tidak merata. Provinsi tertentu memiliki jumlah sarana dan fasilitas kesehatan yang mencukupi, sedangkan provinsi lain menghadapi keterbatasan sarana dan kekurangan tenaga kesehatan.
Melihat kompleksitas persoalan ini, diperlukan suatu pendekatan analitis untuk mengelompokkan provinsi berdasarkan indikator mortalitas (kematian bayi, balita, ibu) dan indikator infrastruktur kesehatan (jumlah sarana kesehatan desa/kabupaten dan jumlah fasilitas kesehatan provinsi). Analisis klaster menjadi metode yang relevan karena mampu mengidentifikasi pola kemiripan dan perbedaan antarprovinsi secara komprehensif. Hasil pengelompokan tersebut dapat memberi gambaran jelas mengenai provinsi mana yang tergolong dalam kondisi kesehatan baik, cukup, buruk, maupun sangat buruk.
Dengan demikian, penelitian ini penting dilakukan untuk mendukung perumusan kebijakan kesehatan berbasis bukti. Provinsi yang tergolong dalam klaster dengan mortalitas tinggi dan infrastruktur kesehatan rendah dapat menjadi prioritas utama dalam intervensi pembangunan kesehatan. Penelitian ini diharapkan dapat memberikan kontribusi nyata dalam penguatan layanan kesehatan ibu dan anak di Indonesia.
Berdasarkan latar belakang tersebut, rumusan masalah dalam penelitian ini adalah:
Tujuan dari penelitian ini adalah sebagai berikut:
Menurut WHO (2023), Angka Kematian Bayi didefinisikan sebagai: \[IMR= \frac{Jumlah\ kematian\ bayi<1\ tahun}{Jumlah\ kelahiran\ hidup}×1000\] IMR merupakan indikator utama kesejahteraan sosial dan kualitas pelayanan kesehatan dasar. Faktor yang mempengaruhi tinggi rendahnya IMR meliputi status gizi, akses terhadap imunisasi, sanitasi lingkungan, serta ketersediaan layanan neonatal.
Definisi U5MR menurut WHO adalah: \[U5MR= \frac{Jumlah\ kematian\ anak<5 tahun}{Jumlah\ kelahiran\ hidup}×1000\] Tingginya AKABA dapat menjadi indikator ketidakadilan sosial karena dipengaruhi oleh kemiskinan, tingkat pendidikan ibu, serta akses terhadap layanan kesehatan anak.
Angka kematian ibu dihitung menggunakan: \[MMR= \frac{Jumlah\ kematian\ ibu}{Jumlah\ kelahiran\ hidup}×1000\] Penelitian WHO (2020) menekankan bahwa sebagian besar kematian ibu dapat dicegah dengan perawatan medis yang tepat waktu dan memadai. Keterbatasan akses dan fasilitas kesehatan merupakan faktor yang paling umum di negara berkembang.
Sarana kesehatan di tingkat desa, seperti Posyandu, Poskesdes, dan Polindes, merupakan fasilitas layanan pertama yang dijangkau masyarakat. Menurut BPS, keberadaan sarana kesehatan desa sangat menentukan akses awal terhadap pelayanan maternal. Ketimpangan jumlah sarana antara provinsi memperbesar risiko mortalitas terutama pada daerah terpencil.
Fasilitas kesehatan provinsi mencakup rumah sakit, puskesmas, klinik, dan layanan gawat darurat. WHO (2020) mencatat bahwa distribusi fasilitas kesehatan tingkat tinggi yang tidak merata menciptakan hambatan geografis yang membatasi rujukan tepat waktu dalam keadaan darurat kebidanan.
Beberapa penelitian menyimpulkan bahwa kesenjangan geografis adalah penyebab utama disparitas kesehatan. Misalnya, penelitian Ramadhani & Wahyono (2022) menemukan bahwa:
Uji KMO digunakan untuk menilai apakah data layak digunakan untuk analisis yang berbasis korelasi, termasuk cluster dan factor analysis. Nilai KMO mengukur kecukupan sampel (sampling adequacy), dengan rentang:
| KMO | Kriteria |
|---|---|
| ≥ 0,9 | Sangat Baik |
| 0,8–0,89 | Baik |
| 0,7–0,79 | Cukup |
| 0,6–0,69 | Mediocre |
| 0,5–0,59 | Buruk tapi dapat diterima |
| < 0,5 | Tidak layak di analisis |
Menurut Kaiser (1974) statistik KMO menunjukkan proporsi varians di antara variabel yang mungkin merupakan varians umum.
Rumus KMO adalah: \[\text{KMO} = \frac{\sum_{i \neq j} r_{ij}^2}{\sum_{i \neq j} r_{ij}^2 + \sum_{i \neq j} p_{ij}^2}\] keterangan:
\(r_{ij}\) = korelasi antar variabel
\(p_{ij}\) = korelasi parsial antar variabel
Semakin kecil korelasi parsial, semakin besar nilai KMO, maka data semakin layak digunakan.
Multikolinieritas terjadi ketika variabel-variabel sangat berkorelasi satu sama lain. Dalam analisis cluster, hal ini tidak membatalkan analisis, namun bisa membuat variabel tertentu memberi bobot lebih besar.
Menurut Hair et al. (2010) korelasi yang tinggi antar variabel dapat mendistorsi perhitungan jarak dan menyebabkan terbentuknya klaster secara artifisial. Multikolinieritas dapat dideteksi melalui:
Rumus korelasi Pearson: \[r_{xy}= \frac{\sum (x - \bar{x})(y - \bar{y})} {\sqrt{\sum (x - \bar{x})^2 \, \sum (y - \bar{y})^2}}\]
Statistika deskriptif digunakan untuk memahami karakteristik awal data, seperti mean, median, varians, range, standar deviasi.
Menururt Walpole (2012) statistik deskriptif meringkas dan menggambarkan fitur utama suatu kumpulan data sebelum inferensi atau pemodelan lebih lanjut dilakukan.
Statistika deskriptif sangat penting pada analisis cluster untuk mendeteksi apakah terdapat variabel yang memiliki skala terlalu besar sehingga perlu distandarisasi.
Karena analisis cluster berbasis jarak, variabel dengan skala besar dapat mendominasi hasil. Oleh karena itu digunakan Z-score Standardization: \[Z=\frac{x-μ}{σ}\] Menurut Jain & Dubes (1988) standarisasi memastikan bahwa setiap variabel memberikan kontribusi yang sama terhadap pengukuran jarak.
Standarisasi terutama penting jika: * Variabel berbeda satuan. * Rentang nilai antar variabel tidak seimbang.
Jarak Euclidean adalah ukuran jarak paling umum pada cluster hierarki. \[d(x,y) = \sqrt{ \sum_{i=1}^{n} (x_i - y_i)^2 }\] Menurut Kaufman & Rousseeuw (1990) jarak Euclidean adalah dasar dari sebagian besar algoritma pengelompokan hierarkis, yang mewakili perbedaan geometris di antara pengamatan. Semakin kecil jarak, maka semakin mirip dua objek.
Single Linkage \[D(A,B)=min\ d(i,j)\] cenderung menghasilkan chaining effect.
Complete Linkage \[D(A,B)=max\ d(i,j)\] membentuk cluster kompak.
Complete Linkage \[D(A,B)=\frac{1}{|A||B|} \sum_{i∈A} \sum_{i∈B} d(i,j)\] seimbang antara single dan complete.
Centroid Linkage \[D(A,B) = d(\bar{A}, \bar{B})\] menggunakan jarak antar centroid cluster.
Menurut Everitt et al. (2011) metode penautan yang berbeda dapat menghasilkan struktur dendrogram yang berbeda, pemilihan bergantung pada stabilitas dan interpretabilitas.
Untuk memilih jumlah cluster terbaik digunakan silhouette coefficient. Rumus silhouette: \[ s(i) = \frac{b(i) - a(i)}{\max\left(a(i),\, b(i)\right)} \] keterangan:
\(a(i)\) = rata-rata jarak objek i ke cluster sendiri
\(b(i)\) = jarak minimum ke cluster lain
Nilai:
Menurut Rousseeuw (1987) lebar silhouette menggabungkan kohesi dan pemisahan dan merupakan ukuran yang kuat untuk validasi klaster.
> library(psych)
> library(GPArotation)
> library(clValid)
> library(ggplot2)
> library(cluster)
> library(factoextra)
> library(tidyverse)
> library(car)
> library(readxl)
> library(dplyr)
> Data_Kondisi_Kesehatan <- read_excel("C:/Users/User/Documents/semester 5/anmul/praktikum/Data Kondisi Kesehatan.xlsx")
> Data_Kondisi_Kesehatan <- data.frame(Data_Kondisi_Kesehatan)
> head(Data_Kondisi_Kesehatan)
Provinsi Kematian.Bayi Kematian.Balita Kematian.Ibu Sarana.Kesehatan
1 ACEH 19.41 22.88 201 2152
2 SUMATERA UTARA 18.28 21.37 195 4228
3 SUMATERA BARAT 16.35 19.19 178 1514
4 RIAU 15.69 18.24 158 1963
5 JAMBI 16.99 19.98 177 1187
6 SUMATERA SELATAN 16.78 19.62 175 1721
Fasilitas.Kesehatan
1 429
2 828
3 355
4 305
5 249
6 429
> kmo <- KMO(Data_Kondisi_Kesehatan[, 2:6])
> kmo
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = Data_Kondisi_Kesehatan[, 2:6])
Overall MSA = 0.62
MSA for each item =
Kematian.Bayi Kematian.Balita Kematian.Ibu Sarana.Kesehatan
0.62 0.61 0.92 0.51
Fasilitas.Kesehatan
0.50
Berdasarkan Uji KMO (Kaiser Mayer Olkin), didapatkan nilai MSA (Measure of Sampling Adequancy) untuk seluruh variabel bernilai lebih dari sama dengan 0.5. Sehingga, dapat disimpulkan bahwa banyak sampel sudah cukup untuk dilakukan analisis cluster.
> korelasi <- cor(Data_Kondisi_Kesehatan[, 2:6], method = "pearson")
> korelasi
Kematian.Bayi Kematian.Balita Kematian.Ibu Sarana.Kesehatan
Kematian.Bayi 1.0000000 0.9988538 0.86287638 -0.30422100
Kematian.Balita 0.9988538 1.0000000 0.86870484 -0.29573223
Kematian.Ibu 0.8628764 0.8687048 1.00000000 -0.06188416
Sarana.Kesehatan -0.3042210 -0.2957322 -0.06188416 1.00000000
Fasilitas.Kesehatan -0.2985726 -0.2874987 -0.06357903 0.97749310
Fasilitas.Kesehatan
Kematian.Bayi -0.29857263
Kematian.Balita -0.28749870
Kematian.Ibu -0.06357903
Sarana.Kesehatan 0.97749310
Fasilitas.Kesehatan 1.00000000
Pendeteksian asumsi non multikolinieritas dapat dilakukan melalui korelasi antar variabel. Jika nilai mutlak dari korelasi bernilai lebih dari 0.8, maka dapat dikatakan terjadi multikolinieritas. Hasil korelasi menunjukkan adanya multikolinieritas kuat, terutama antara Kematian Bayi–Kematian Balita, Kematian Balita–Kematian Ibu, serta Sarana Kesehatan–Fasilitas Kesehatan, yang semuanya memiliki korelasi sangat tinggi. Kondisi ini dapat memengaruhi hasil clustering karena memberi bobot ganda pada informasi yang sama. Oleh karena itu, langkah selanjutnya adalah melakukan transformasi untuk mengurangi pengaruh multikolinieritas.
Transformasi Data
> Data_Kondisi_Kesehatan$sqrt_X2 <- sqrt(Data_Kondisi_Kesehatan[,2])
> Data_Kondisi_Kesehatan$sqrt_X3 <- sqrt(Data_Kondisi_Kesehatan[,3])
> Data_Kondisi_Kesehatan$sqrt_X4 <- sqrt(Data_Kondisi_Kesehatan[,4])
> Data_Kondisi_Kesehatan$sqrt_X5 <- sqrt(Data_Kondisi_Kesehatan[,5])
> Data_Kondisi_Kesehatan$sqrt_X6 <- sqrt(Data_Kondisi_Kesehatan[,6])
> cor_sqrt <- cor(Data_Kondisi_Kesehatan[, c("sqrt_X2","sqrt_X3","sqrt_X4",
+ "sqrt_X5","sqrt_X6")])
> cor_sqrt
sqrt_X2 sqrt_X3 sqrt_X4 sqrt_X5 sqrt_X6
sqrt_X2 1.0000000 0.9992796 0.85924066 -0.30727316 -0.30587990
sqrt_X3 0.9992796 1.0000000 0.85944116 -0.30230792 -0.29782992
sqrt_X4 0.8592407 0.8594412 1.00000000 -0.02204993 -0.05513937
sqrt_X5 -0.3072732 -0.3023079 -0.02204993 1.00000000 0.96407917
sqrt_X6 -0.3058799 -0.2978299 -0.05513937 0.96407917 1.00000000
Berdasarkan hasil transformasi akar kuadrat, terlihat bahwa beberapa nilai korelasi antar variabel mengalami penurunan meskipun sebagian hubungan masih tergolong tinggi. Namun demikian, analisis cluster hierarki tidak mensyaratkan bebas dari multikolinieritas sehingga kondisi ini masih dapat diterima. Oleh karena itu, data hasil transformasi tersebut sudah dapat digunakan dan layak untuk dilanjutkan ke tahap analisis cluster hierarki.
> statdes <- summary(Data_Kondisi_Kesehatan)
> statdes
Provinsi Kematian.Bayi Kematian.Balita Kematian.Ibu
Length:34 Min. :10.38 Min. :12.02 Min. : 48.0
Class :character 1st Qu.:15.55 1st Qu.:18.09 1st Qu.:177.2
Mode :character Median :17.23 Median :20.25 Median :194.5
Mean :19.74 Mean :23.58 Mean :210.5
3rd Qu.:24.30 3rd Qu.:29.01 3rd Qu.:252.8
Max. :38.17 Max. :49.04 Max. :565.0
Sarana.Kesehatan Fasilitas.Kesehatan sqrt_X2 sqrt_X3
Min. : 368.0 Min. : 66.0 Min. :3.222 Min. :3.467
1st Qu.: 875.5 1st Qu.: 203.2 1st Qu.:3.944 1st Qu.:4.253
Median :1201.5 Median : 265.5 Median :4.150 Median :4.500
Mean :1784.2 Mean : 387.2 Mean :4.379 Mean :4.776
3rd Qu.:1865.8 3rd Qu.: 429.0 3rd Qu.:4.929 3rd Qu.:5.386
Max. :6935.0 Max. :1459.0 Max. :6.178 Max. :7.003
sqrt_X4 sqrt_X5 sqrt_X6
Min. : 6.928 Min. :19.18 Min. : 8.124
1st Qu.:13.314 1st Qu.:29.59 1st Qu.:14.257
Median :13.946 Median :34.66 Median :16.286
Mean :14.207 Mean :38.92 Mean :18.345
3rd Qu.:15.898 3rd Qu.:43.19 3rd Qu.:20.712
Max. :23.770 Max. :83.28 Max. :38.197
Berdasarkan hasil analisis statistika deskriptif, diketahui bahwa kelima variabel memiliki range yang cukup jauh berbeda sehingga diperlukan standarisasi data.
> datastand <- scale(Data_Kondisi_Kesehatan[, 2:6])
> rownames(datastand) <- Data_Kondisi_Kesehatan$Provinsi
> head(datastand)
Kematian.Bayi Kematian.Balita Kematian.Ibu Sarana.Kesehatan
ACEH -0.0459448 -0.0758175 -0.1066100 0.21150506
SUMATERA UTARA -0.2046857 -0.2384102 -0.1739427 1.40533735
SUMATERA BARAT -0.4758096 -0.4731468 -0.3647185 -0.15538560
RIAU -0.5685256 -0.5754402 -0.5891606 0.10281801
JAMBI -0.3859033 -0.3880817 -0.3759406 -0.34343144
SUMATERA SELATAN -0.4154038 -0.4268455 -0.3983848 -0.03634741
Fasilitas.Kesehatan
ACEH 0.12335988
SUMATERA UTARA 1.30022350
SUMATERA BARAT -0.09490556
RIAU -0.24238220
JAMBI -0.40755604
SUMATERA SELATAN 0.12335988
Standarisasi dilakukan menggunakan Z-score. Standarisasi dilakukan agar hasil cluster tidak bias karena adanya variabel tertentu yang mendominasi proses pengelompokan.
> jarak <- dist(datastand, method = "euclidean")
> jarak
ACEH SUMATERA UTARA SUMATERA BARAT RIAU
SUMATERA UTARA 1.69304823
SUMATERA BARAT 0.76910524 2.13242727
RIAU 0.94928856 2.12003858 0.39730711
JAMBI 0.93565265 2.46388875 0.38543057 0.58338485
SUMATERA SELATAN 0.63740411 1.89571812 0.26217548 0.48482612
BENGKULU 1.03897349 2.70459717 0.88337862 1.09156644
LAMPUNG 0.73424112 1.84001945 0.41263951 0.46715545
KEPULAUAN BANGKA BELITUNG 1.52263733 3.12397543 1.05170032 1.22253013
KEPULAUAN RIAU 1.87626867 3.18446671 1.14414912 1.10528024
DKI JAKARTA 2.54612519 3.08067287 1.93571012 1.80175441
JAWA BARAT 4.24950336 2.58467822 4.53985126 4.47427076
JAWA TENGAH 3.58619280 1.97860808 3.82850214 3.72852007
DI YOGYAKARTA 2.49091055 3.38106222 1.79819248 1.59954756
JAWA TIMUR 4.02030422 2.36167705 4.30126217 4.22221797
BANTEN 1.40737508 2.34750020 0.74935222 0.56845221
BALI 1.99635647 3.04983473 1.32062989 1.13024023
NUSA TENGGARA BARAT 1.47412176 2.91284348 1.88876115 2.13385579
NUSA TENGGARA TIMUR 1.78923755 2.65248856 2.40485617 2.67220291
KALIMANTAN BARAT 0.86182637 2.33829824 0.81111264 1.09929223
KALIMANTAN TENGAH 0.73910789 2.35083719 0.53802567 0.73211182
KALIMANTAN SELATAN 0.93728317 2.48763445 0.65198812 0.97303781
KALIMANTAN TIMUR 1.08082541 2.46444372 0.38676657 0.46053947
KALIMANTAN UTARA 1.57903657 3.17410163 1.09343777 1.23937944
SULAWESI UTARA 1.01143358 2.57735142 0.75781122 1.05150803
SULAWESI TENGAH 1.93221057 3.15976862 2.44291524 2.67647974
SULAWESI SELATAN 0.55027349 1.21451994 0.96877586 1.07034487
SULAWESI TENGGARA 1.08216897 2.57936070 1.48595241 1.76086634
GORONTALO 2.50613378 3.82722314 2.90886419 3.14015960
SULAWESI BARAT 2.48742051 3.80945529 2.89176244 3.12699686
MALUKU 2.36311982 3.53625746 2.85935292 3.09504314
MALUKU UTARA 2.24031805 3.56887290 2.65378183 2.89083308
PAPUA BARAT 4.09204787 5.01095376 4.63293868 4.86674899
PAPUA 5.62213497 6.06766204 6.22583347 6.48761172
JAMBI SUMATERA SELATAN BENGKULU LAMPUNG
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN 0.61566953
BENGKULU 0.58388332 1.01916275
LAMPUNG 0.74270212 0.37546170 1.21794088
KEPULAUAN BANGKA BELITUNG 0.70874645 1.29527466 0.75301637 1.35871457
KEPULAUAN RIAU 0.97488568 1.36930286 1.34519239 1.41156088
DKI JAKARTA 2.07266590 1.94331034 2.48768168 2.05145133
JAWA BARAT 4.90919835 4.31302551 5.23598880 4.21605331
JAWA TENGAH 4.19373555 3.61697279 4.55573245 3.48529674
DI YOGYAKARTA 1.78693997 1.91088212 2.17376851 1.97402143
JAWA TIMUR 4.66850674 4.07848781 5.00409941 3.97082828
BANTEN 0.91857596 0.80405989 1.42545595 0.87078858
BALI 1.27256173 1.45046649 1.64134922 1.54184960
NUSA TENGGARA BARAT 1.73074122 1.92061998 1.29885465 2.03129304
NUSA TENGGARA TIMUR 2.40460646 2.34612548 2.14025598 2.40088650
KALIMANTAN BARAT 0.80055994 0.91454672 0.97100333 0.85627050
KALIMANTAN TENGAH 0.37457939 0.69691736 0.57667730 0.73697481
KALIMANTAN SELATAN 0.54823815 0.81807335 0.75282159 0.85043563
KALIMANTAN TIMUR 0.30664831 0.64230287 0.88102525 0.64925140
KALIMANTAN UTARA 0.74521759 1.34087685 0.79586691 1.39892515
SULAWESI UTARA 0.60936269 0.93345305 0.75826565 0.94320086
SULAWESI TENGAH 2.30784751 2.43851477 1.84572853 2.57125148
SULAWESI SELATAN 1.27842681 0.73254965 1.51477868 0.77635392
SULAWESI TENGGARA 1.37176482 1.48566010 0.95865595 1.66568776
GORONTALO 2.70574910 2.94354544 2.17829748 3.09276442
SULAWESI BARAT 2.69091989 2.92863398 2.17320463 3.06816733
MALUKU 2.71080644 2.85189423 2.20916773 3.01364173
MALUKU UTARA 2.46480022 2.67853375 1.94124898 2.83875211
PAPUA BARAT 4.48683813 4.62112784 3.98946940 4.75195918
PAPUA 6.18163871 6.18445458 5.84111305 6.20705416
KEPULAUAN BANGKA BELITUNG KEPULAUAN RIAU DKI JAKARTA
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU 0.92409302
DKI JAKARTA 2.43561205 1.65785455
JAWA BARAT 5.56507400 5.42475896 4.76166799
JAWA TENGAH 4.84354518 4.67475042 4.09338868
DI YOGYAKARTA 1.97990559 1.09326770 0.90629710
JAWA TIMUR 5.32486822 5.17709273 4.54214714
BANTEN 1.44115473 0.95370910 1.23893127
BALI 1.51846550 0.73710687 1.14279010
NUSA TENGGARA BARAT 1.75630112 2.57874417 3.71099571
NUSA TENGGARA TIMUR 2.57666178 3.33093940 4.24162827
KALIMANTAN BARAT 1.01485269 1.58533711 2.68209538
KALIMANTAN TENGAH 0.81865627 1.29306309 2.40682690
KALIMANTAN SELATAN 0.73984023 1.30329689 2.45436817
KALIMANTAN TIMUR 0.79352927 0.82249656 1.92315321
KALIMANTAN UTARA 0.08650038 0.88421915 2.42654654
SULAWESI UTARA 0.68742709 1.32821156 2.55240909
SULAWESI TENGAH 2.36153564 3.16714790 4.21269938
SULAWESI SELATAN 1.93199061 2.09283505 2.40733869
SULAWESI TENGGARA 1.54340123 2.26353015 3.23950833
GORONTALO 2.61137380 3.45347925 4.60413249
SULAWESI BARAT 2.58915454 3.44256243 4.61009620
MALUKU 2.73327492 3.53611957 4.55362166
MALUKU UTARA 2.41533529 3.24021597 4.34619795
PAPUA BARAT 4.44039130 5.29075872 6.34936283
PAPUA 6.17112973 7.03803410 8.06914511
JAWA BARAT JAWA TENGAH DI YOGYAKARTA JAWA TIMUR
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH 0.85845799
DI YOGYAKARTA 5.31108022 4.57059559
JAWA TIMUR 0.29993500 0.56655926 5.06493782
BANTEN 4.51996727 3.78511520 1.13697878 4.27487617
BALI 5.17043325 4.42704234 0.54495331 4.92139581
NUSA TENGGARA BARAT 5.45738585 4.86234999 3.46240753 5.24908686
NUSA TENGGARA TIMUR 4.98658982 4.49828669 4.16604391 4.81269809
KALIMANTAN BARAT 4.78406575 4.09490446 2.48490961 4.55381948
KALIMANTAN TENGAH 4.85078464 4.13778839 2.12482517 4.60896816
KALIMANTAN SELATAN 4.93404860 4.24124269 2.22828263 4.70342860
KALIMANTAN TIMUR 4.83628823 4.09837355 1.62029879 4.58980571
KALIMANTAN UTARA 5.61081015 4.88357973 1.94168936 5.36851408
SULAWESI UTARA 5.03015003 4.33298677 2.28818009 4.79788273
SULAWESI TENGAH 5.64464769 5.11020135 4.00095856 5.45295262
SULAWESI SELATAN 3.72942204 3.07278988 2.52286876 3.50285528
SULAWESI TENGGARA 5.13374361 4.54116474 3.07342480 4.92778979
GORONTALO 6.32220620 5.78534875 4.31708658 6.13058728
SULAWESI BARAT 6.30232863 5.76312128 4.32178699 6.11032689
MALUKU 5.98152258 5.48312166 4.34777691 5.80107952
MALUKU UTARA 6.07338048 5.53396721 4.08723376 5.88122053
PAPUA BARAT 7.22412911 6.83451884 6.13450657 7.07753642
PAPUA 7.71421010 7.48808036 7.96289839 7.62689762
BANTEN BALI NUSA TENGGARA BARAT
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH
DI YOGYAKARTA
JAWA TIMUR
BANTEN
BALI 0.75830900
NUSA TENGGARA BARAT 2.59239497 2.92576272
NUSA TENGGARA TIMUR 3.13543599 3.64821878 1.08349707
KALIMANTAN BARAT 1.51840488 2.01138951 1.42818957
KALIMANTAN TENGAH 1.20535851 1.60748040 1.45614614
KALIMANTAN SELATAN 1.32525834 1.75074253 1.50573954
KALIMANTAN TIMUR 0.74640877 1.13950157 1.99004077
KALIMANTAN UTARA 1.44631077 1.48488683 1.81280588
SULAWESI UTARA 1.41819633 1.80886088 1.45748936
SULAWESI TENGAH 3.12986403 3.46142049 0.63073643
SULAWESI SELATAN 1.39913637 2.09428831 1.97172951
SULAWESI TENGGARA 2.17074508 2.54356277 0.54882361
GORONTALO 3.56432096 3.78605270 1.08929365
SULAWESI BARAT 3.55752589 3.79009565 1.05003846
MALUKU 3.52194813 3.81272540 1.07636700
MALUKU UTARA 3.31006689 3.55465967 0.85978678
PAPUA BARAT 5.31352729 5.59967918 2.78039509
PAPUA 6.96686374 7.43835548 4.56454532
NUSA TENGGARA TIMUR KALIMANTAN BARAT
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH
DI YOGYAKARTA
JAWA TIMUR
BANTEN
BALI
NUSA TENGGARA BARAT
NUSA TENGGARA TIMUR
KALIMANTAN BARAT 1.86053342
KALIMANTAN TENGAH 2.10128342 0.56960018
KALIMANTAN SELATAN 2.06942246 0.33630061
KALIMANTAN TIMUR 2.61339408 0.87811187
KALIMANTAN UTARA 2.64800388 1.08505039
SULAWESI UTARA 2.05288211 0.33507369
SULAWESI TENGAH 1.01482257 2.02642214
SULAWESI SELATAN 2.07953716 1.23092441
SULAWESI TENGGARA 1.25474998 1.18945939
GORONTALO 1.60137237 2.49400143
SULAWESI BARAT 1.54133103 2.45097483
MALUKU 1.34462392 2.48012569
MALUKU UTARA 1.43290070 2.26498939
PAPUA BARAT 2.62123985 4.16307729
PAPUA 3.84533478 5.57771205
KALIMANTAN TENGAH KALIMANTAN SELATAN KALIMANTAN TIMUR
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH
DI YOGYAKARTA
JAWA TIMUR
BANTEN
BALI
NUSA TENGGARA BARAT
NUSA TENGGARA TIMUR
KALIMANTAN BARAT
KALIMANTAN TENGAH
KALIMANTAN SELATAN 0.45531781
KALIMANTAN TIMUR 0.55825522 0.65938011
KALIMANTAN UTARA 0.86609341 0.81395635 0.81466389
SULAWESI UTARA 0.47689027 0.13513315 0.71934864
SULAWESI TENGAH 2.04238335 2.11346125 2.57866516
SULAWESI SELATAN 1.18138701 1.31380996 1.33041327
SULAWESI TENGGARA 1.15466789 1.20751698 1.65052897
GORONTALO 2.47744166 2.53075205 2.98488276
SULAWESI BARAT 2.45460955 2.49745217 2.96571042
MALUKU 2.47349251 2.54072357 2.99435026
MALUKU UTARA 2.24031495 2.29765802 2.74822920
PAPUA BARAT 4.22612941 4.26545640 4.76007503
PAPUA 5.86531861 5.79685609 6.38813844
KALIMANTAN UTARA SULAWESI UTARA SULAWESI TENGAH
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH
DI YOGYAKARTA
JAWA TIMUR
BANTEN
BALI
NUSA TENGGARA BARAT
NUSA TENGGARA TIMUR
KALIMANTAN BARAT
KALIMANTAN TENGAH
KALIMANTAN SELATAN
KALIMANTAN TIMUR
KALIMANTAN UTARA
SULAWESI UTARA 0.76175075
SULAWESI TENGAH 2.41536499 2.07537228
SULAWESI SELATAN 1.98604341 1.41281291 2.37340686
SULAWESI TENGGARA 1.60798208 1.20332764 0.99522484
GORONTALO 2.65396288 2.47474249 0.68324586
SULAWESI BARAT 2.63298255 2.43866913 0.65834216
MALUKU 2.78389070 2.50458498 0.48743885
MALUKU UTARA 2.46173860 2.25054796 0.47193889
PAPUA BARAT 4.48787261 4.21498466 2.19577518
PAPUA 6.23401471 5.74772079 4.12204060
SULAWESI SELATAN SULAWESI TENGGARA GORONTALO
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH
DI YOGYAKARTA
JAWA TIMUR
BANTEN
BALI
NUSA TENGGARA BARAT
NUSA TENGGARA TIMUR
KALIMANTAN BARAT
KALIMANTAN TENGAH
KALIMANTAN SELATAN
KALIMANTAN TIMUR
KALIMANTAN UTARA
SULAWESI UTARA
SULAWESI TENGAH
SULAWESI SELATAN
SULAWESI TENGGARA 1.56086625
GORONTALO 2.98214995 1.48347099
SULAWESI BARAT 2.96463955 1.46868866 0.10557620
MALUKU 2.78784134 1.38688993 0.47237155
MALUKU UTARA 2.71053299 1.21107464 0.28680776
PAPUA BARAT 4.47301758 3.16253839 1.85804619
PAPUA 5.86756903 4.94332173 4.07223227
SULAWESI BARAT MALUKU MALUKU UTARA PAPUA BARAT
SUMATERA UTARA
SUMATERA BARAT
RIAU
JAMBI
SUMATERA SELATAN
BENGKULU
LAMPUNG
KEPULAUAN BANGKA BELITUNG
KEPULAUAN RIAU
DKI JAKARTA
JAWA BARAT
JAWA TENGAH
DI YOGYAKARTA
JAWA TIMUR
BANTEN
BALI
NUSA TENGGARA BARAT
NUSA TENGGARA TIMUR
KALIMANTAN BARAT
KALIMANTAN TENGAH
KALIMANTAN SELATAN
KALIMANTAN TIMUR
KALIMANTAN UTARA
SULAWESI UTARA
SULAWESI TENGAH
SULAWESI SELATAN
SULAWESI TENGGARA
GORONTALO
SULAWESI BARAT
MALUKU 0.49923359
MALUKU UTARA 0.30878424 0.39647873
PAPUA BARAT 1.86489783 1.80224895 2.06138523
PAPUA 4.02152247 3.95258334 4.20794002 2.72970189
Nilai jarak Euclidean menunjukkan tingkat kemiripan antarprovinsi, jarak yang kecil berarti provinsi tersebut memiliki kondisi yang mirip, sedangkan jarak yang besar menunjukkan perbedaan yang lebih besar. Hasil jarak ini menjadi dasar pengelompokan pada analisis cluster hierarki.
> ##Single Linkage
> hc_single <- hclust(jarak, method = "single")
> cor_single <- cor(jarak, cophenetic(hc_single))
> ##Average Linkage
> hc_average <- hclust(jarak, method = "average")
> cor_average <- cor(jarak, cophenetic(hc_average))
> ##Complete Linkage
> hc_complete <- hclust(jarak, method = "complete")
> cor_complete <- cor(jarak, cophenetic(hc_complete))
> ##Centroid Linkage
> hc_centroid <- hclust(jarak, method = "centroid")
> cor_centroid <- cor(jarak, cophenetic(hc_centroid))
> ##Ward’s Method
> hc_ward <- hclust(jarak, method = "ward.D")
> cor_ward <- cor(jarak, cophenetic(hc_ward))
> ##Ringkasan Koefisien Korelasi
> KorCop <- data.frame(
+ Metode = c("Single Linkage", "Average Linkage", "Complete Linkage", "Centroid Linkage", "Ward's Method"),
+ Koefisien_Korelasi = c(cor_single, cor_average, cor_complete, cor_centroid, cor_ward)
+ )
> KorCop
Metode Koefisien_Korelasi
1 Single Linkage 0.8801694
2 Average Linkage 0.8570729
3 Complete Linkage 0.8510908
4 Centroid Linkage 0.8805955
5 Ward's Method 0.6629202
Nilai koefisien korelasi menunjukkan seberapa baik metode linkage mempertahankan struktur jarak asli dalam dendrogram. Semakin mendekati 1, semakin baik kualitas pengelompokan.
Meskipun Centroid dan Single Linkage memiliki korelasi lebih tinggi, Average Linkage merupakan pilihan yang baik dan aman karena stabil, mudah diinterpretasikan, dan menghasilkan dendrogram yang lebih representatif.
> plot(hc_average,
+ labels = Data_Kondisi_Kesehatan$Provinsi,
+ hang = -1,
+ main = "Cluster Dendrogram",
+ xlab = "Provinsi",
+ ylab = "Jarak",
+ cex = 0.7,
+ las = 2)
## Penentuan Metode Analisis Cluster Hierarki Terbaik
> inval <- clValid(datastand, 2:6,
+ clMethods = "hierarchical",
+ validation = "internal",
+ metric = "euclidean",
+ method = "average")
> summary(inval)
Clustering Methods:
hierarchical
Cluster sizes:
2 3 4 5 6
Validation Measures:
2 3 4 5 6
hierarchical Connectivity 3.0718 9.2306 12.6929 13.8929 17.0651
Dunn 0.3779 0.1913 0.3031 0.3031 0.3574
Silhouette 0.5392 0.5074 0.5436 0.4852 0.4663
Optimal Scores:
Score Method Clusters
Connectivity 3.0718 hierarchical 2
Dunn 0.3779 hierarchical 2
Silhouette 0.5436 hierarchical 4
Berdasarkan nilai Silhouette, jumlah cluster terbaik adalah 4, karena memiliki nilai Silhouette tertinggi (0.5436), yang menunjukkan bahwa pemisahan antar-cluster paling jelas dan struktur cluster paling baik dibandingkan jumlah cluster lainnya.
> plot_nb <- fviz_nbclust(datastand, FUN = hcut, hc_method = "average", method = "silhouette")
> print(plot_nb)
> anggota <- data.frame(
+ Cluster = cutree(hc_average, k = 4)
+ )
> anggota
Cluster
ACEH 1
SUMATERA UTARA 2
SUMATERA BARAT 1
RIAU 1
JAMBI 1
SUMATERA SELATAN 1
BENGKULU 1
LAMPUNG 1
KEPULAUAN BANGKA BELITUNG 1
KEPULAUAN RIAU 1
DKI JAKARTA 1
JAWA BARAT 2
JAWA TENGAH 2
DI YOGYAKARTA 1
JAWA TIMUR 2
BANTEN 1
BALI 1
NUSA TENGGARA BARAT 3
NUSA TENGGARA TIMUR 3
KALIMANTAN BARAT 1
KALIMANTAN TENGAH 1
KALIMANTAN SELATAN 1
KALIMANTAN TIMUR 1
KALIMANTAN UTARA 1
SULAWESI UTARA 1
SULAWESI TENGAH 3
SULAWESI SELATAN 1
SULAWESI TENGGARA 3
GORONTALO 3
SULAWESI BARAT 3
MALUKU 3
MALUKU UTARA 3
PAPUA BARAT 3
PAPUA 4
> clus_hier <- eclust(datastand, FUNcluster = "hclust", k = 4,
+ hc_method = "average", graph = TRUE)
> fviz_dend(clus_hier, rect = TRUE, main = "Hasil Analisis Cluster", cex = 0.5)
| Cluster | Jumlah Anggota | Daftar Provinsi |
|---|---|---|
| 1 | 20 | Aceh, Sumatera Barat, Riau, Jambi, Sumatera Selatan, Bengkulu, Lampung, Kepulauan Bangka Belitung, Kepulauan Riau, DKI Jakarta, DI Yogyakarta, Banten, Bali, Kalimantan Barat, Kalimantan Tengah, Kalimantan Selatan, Kalimantan Timur, Kalimantan Utara, Sulawesi Utara, Sulawesi Selatan. |
| 2 | 4 | Sumatera Utara, Jawa Barat, Jawa Tengah, Jawa Timur. |
| 3 | 9 | Nusa Tenggara Barat, Nusa Tenggara Timur, Sulawesi Tengah, Sulawesi Tenggara, Gorontalo, Sulawesi Barat, Maluku, Maluku Utara, Papua Barat. |
| 4 | 1 | Papua |
> idclus <- clus_hier$cluster
> aggregate(Data_Kondisi_Kesehatan[, 2:6], list(Cluster = idclus), mean)
Cluster Kematian.Bayi Kematian.Balita Kematian.Ibu Sarana.Kesehatan
1 1 15.96500 18.69700 169.0500 1293.3500
2 2 14.52500 16.93250 187.2500 6121.2500
3 3 28.38778 34.57222 273.5556 936.1111
4 4 38.17000 49.04000 565.0000 1886.0000
Fasilitas.Kesehatan
1 289.4500
2 1208.7500
3 229.3333
4 476.0000
Cluster 1 yang beranggotakan 20 provinsi memiliki rata-rata kematian bayi sebesar 15.97, kematian balita 18.70, dan kematian ibu 169.05, dengan rata-rata sarana kesehatan 1293.35 serta fasilitas kesehatan 289.45. Nilai-nilai ini menunjukkan bahwa cluster 1 terdiri dari provinsi dengan kondisi kesehatan yang relatif lebih baik dibandingkan cluster lain.
Cluster 2 yang terdiri dari 4 provinsi memiliki rata-rata kematian bayi 14.53, kematian balita 16.93, dan kematian ibu 187.25, disertai sarana kesehatan yang sangat tinggi yaitu 6121.25 serta fasilitas kesehatan 1208.75. Kondisi ini menunjukkan bahwa cluster 2 merupakan kelompok dengan dukungan infrastruktur kesehatan yang lebih kuat.
Cluster 3 memiliki rata-rata kematian bayi 28.39, kematian balita 34.57, dan kematian ibu 273.56, dengan sarana kesehatan 936.11 dan fasilitas kesehatan 229.33. Nilai ini menandakan bahwa cluster 3 mencerminkan daerah dengan kondisi kesehatan yang lebih rendah dibandingkan cluster 1 dan 2.
Cluster 4 menunjukkan kondisi kesehatan yang paling berat, dengan rata-rata kematian bayi 38.17, kematian balita 49.04, dan kematian ibu 565.00, meskipun rata-rata sarana dan fasilitas kesehatan masing-masing sebesar 1886.00 dan 476.00. Hal ini menunjukkan bahwa cluster 4 merupakan kelompok provinsi dengan tantangan kesehatan terbesar di antara seluruh cluster.
Dengan demikian, dapat disimpulkan bahwa cluster 2 memiliki kondisi kesehatan dan infrastruktur kesehatan paling baik, sedangkan cluster 4 merupakan kelompok dengan kondisi kesehatan paling buruk, dan cluster 1 serta 3 berada di antara keduanya dengan tingkat yang berbeda.
Berdasarkan analisis cluster hierarki terhadap kondisi kesehatan provinsi di Indonesia dengan menggunakan lima variabel, yaitu angka kematian bayi, angka kematian balita, angka kematian ibu, jumlah sarana kesehatan desa/kabupaten, dan jumlah fasilitas kesehatan tiap provinsi, dan diperoleh beberapa kesimpulan sebagai berikut:
Ramadhani, R., & Wahyono, T. Y. M. (2022). Human development index, geographic disparities and strategies to reduce maternal mortality in Indonesia: an ecological study. Jurnal Kesehatan Ibu dan Anak.
Ridde, V., & Tine, J. (2018). An evaluation of health systems equity in Indonesia: study protocol. International Journal for Equity in Health.
Dibley, M. J., & Budiharsana, M. (2015). Keeping women and babies healthy within an unequal system. Inside Indonesia. Safitri, M. D., Htike, K. M., Khairunnisa, Z. D., & et al. (2025). Provincial disparities in maternal health: analyzing the relationship between antenatal care visit, iron supplementation, and maternal hemorrhage in Indonesia. Prosiding International Conference On Health Sciences.
WHO / NCBI. Governance issues – Reducing maternal and neonatal mortality in Indonesia. NCBI Bookshelf.
Wijayanti, L. P., & Utarini, A. (2020). Determinants of healthcare facility utilization for childbirth in Kuantan Singingi regency, Riau province, Indonesia. BMC Public Health, 20, 933.
WHO. State of Health Inequality: Indonesia. WHO report.
UNICEF Indonesia. Health – giving children the best chance to survive and thrive. UNICEF Indonesia.
Wickramasinghe, N., & et al. (2020). Impact of Indonesia’s national health insurance scheme on inequality in access to maternal health services.
Putri, A. (2022). Tantangan akses persalinan institusional di Indonesia. JAKI / Universitas Airlangga.
Adrian, V., Sari, I. R., & Hikmahrachim, H. (2021). Establishing Data Warehouse to Improve Standardize Health Care Delivery: A Protocol Development in Jakarta City.
Shah, V., Hatamyar, J., Hidayat, T., & Kreif, N. (2025). Exploring the heterogeneous impacts of Indonesia’s conditional cash transfer scheme (PKH) on maternal health care utilisation using instrumental causal forests.