BAB I PENDAHULUAN

1.1 Latar Belakang

Sarana kesehatan merupakan salah satu indikator penting dalam menilai kualitas pembangunan suatu wilayah. Pemerataan fasilitas kesehatan sangat berpengaruh terhadap akses layanan kesehatan masyarakat, efektivitas penanganan penyakit, serta pemerataan mutu pelayanan kesehatan di seluruh Indonesia. Jumlah fasilitas kesehatan seperti rumah sakit, puskesmas, poliklinik, puskesmas pembantu, hingga apotek dapat mencerminkan seberapa optimal pelayanan kesehatan sebuah provinsi. Oleh karena itu, analisis terhadap fasilitas kesehatan tidak hanya penting untuk evaluasi pembangunan, tetapi juga sebagai dasar perencanaan kebijakan kesehatan yang lebih efektif.

Untuk memahami perbedaan distribusi fasilitas kesehatan antar provinsi, diperlukan pendekatan analisis yang mampu mengelompokkan provinsi berdasarkan kemiripan karakteristik fasilitas kesehatan yang dimiliki. Analisis multivariat menjadi salah satu pilihan tepat karena dapat memproses banyak variabel secara simultan dan mengungkap pola hubungan antar provinsi berdasarkan data kuantitatif.

Data yang digunakan dalam penelitian ini merupakan data jumlah sarana kesehatan per provinsi di Indonesia. Data tersebut terdiri dari beberapa variabel utama, yaitu:

  • Provinsi

  • Rumah Sakit

  • Rumah Sakit Bersalin

  • Poliklinik

  • Puskesmas

  • Puskesmas Pembantu

  • Apotek

library("readxl")
## Warning: package 'readxl' was built under R version 4.3.3
data_anmul_uprak<-read_excel("C:/Users/Chrisman Eben Ezer S/Downloads/DATA_SARANA_KESEHATAN.xlsx")
data_anmul_uprak
## # A tibble: 34 × 7
##    Provinsi            `Rumah Sakit` `Rumah Sakit Bersalin` Poliklinik Puskesmas
##    <chr>                       <dbl>                  <dbl>      <dbl>     <dbl>
##  1 ACEH                           64                    225        258       395
##  2 SUMATERA UTARA                199                    441        800       661
##  3 SUMATERA BARAT                 54                    139        127       294
##  4 RIAU                           55                    207        329       272
##  5 JAMBI                          36                    151        103       231
##  6 SUMATERA SELATAN               65                    248        195       403
##  7 BENGKULU                       20                      5         49       190
##  8 LAMPUNG                        53                    238        307       350
##  9 KEP. BANGKA BELITU…            21                     25         25        63
## 10 KEP. RIAU                      23                     35         76        88
## # ℹ 24 more rows
## # ℹ 2 more variables: `Puskesmas Pembantu` <dbl>, Apotek <dbl>

Sumber data: BPS, 2025. (https://www.bps.go.id/id/statistics-table/2/MjMzIzI=/number-of-villages-sub-districts-having-health-facilities-by-province.html)

Penggunaan data ini sangat relevan karena memuat informasi kuantitatif yang dapat digunakan untuk memetakan kondisi fasilitas kesehatan antar provinsi secara komprehensif.

1.2 Metode Analisis Cluster

Analisis Cluster Hierarki (Hierarchical Clustering) merupakan salah satu metode pengelompokan dalam analisis multivariat yang bertujuan untuk mengelompokkan objek berdasarkan tingkat kemiripan atau kedekatan karakteristiknya. Metode ini menyusun proses pengelompokan secara bertahap dan menghasilkan struktur berbentuk pohon (dendrogram), di mana setiap percabangan menunjukkan tingkat kemiripan antar objek.

Terdapat dua jenis utama pendekatan cluster hierarki:

  1. Agglomerative (Bottom-Up)
    Elemen terpisah yang secara bertahap digabungkan berdasarkan kesamaan hingga menghasilkan satu klaster besar

  2. Divisive (Top-Down)
    Satu klaster besar yang secara bertahap dipecah-pecah berdasarkan kesamaannya hingga menghasilkan elemen-elemen saja atau klaster-klaster yang lebih kecil.

Dalam analisis ini digunakan pendekatan agglomerative, karena data yang tersedia berbentuk elemen-elemen kecil yang perlu dianalisis kesamaan antar elemen untuk dijadikan klaster.

1.3 Tinjauan Pustaka

1.3.1 Normal Baku (Standarisasi Data)

Standarisasi adalah proses mengubah skala variabel agar memiliki satuan yang sebanding. Pada data multivariat, variabel yang memiliki skala besar dapat mendominasi jarak antar objek sehingga memengaruhi hasil klaster. Oleh karena itu, standarisasi diperlukan agar setiap variabel memiliki pengaruh yang setara.

Metode standarisasi yang paling umum adalah normal baku, yaitu: \[ Z = \frac{X - \mu}{\sigma} \]

dengan:

  • \(X=\) nilai amatan

  • \(\mu=\) rata-rata

  • \(\sigma=\) standar deviasi

Setelah standarisasi dengan normal baku, seluruh amatan akan menyebar secara normal dengan rata-rata 0 dan standar deviasi 1.

1.3.2 Perhitungan Jarak

Perhitungan jarak antar objek merupakan dasar terbentuknya suatu klaster. Secara sederhana, antar elemen yang memiliki jarak cukup dekat cenderung akan berada di satu klaster yang sama.

Beberapa ukuran jarak yang sering digunakan dalam analisis multivariat adalah sebagai berikut:

  1. Euclidean

    Ukuran jarak paling umum dapat dihitung sebagai:

    \[ d(x,y) = \sqrt{ \sum_{i=1}^{p} (x_i - y_i)^2 } \] Jarak Euclidean sensitif terhadap skala variabel sehingga sangat disarankan untuk diterapkan pada data hasil standarisasi.

  2. Manhattan

    Jarak Manhattan mengukur total nilai mutlak dari selisih antar variabel dengan rumus sebagai berikut:

    \[ d(x,y) = \sum_{i=1}^{p} |x_i - y_i| \] Metode ini lebih kuat terhadap outlier dibandingkan dengan Euclidean.

  3. Mahalanobis

    Metode ini mengukur jarak dengan mempertimbangkan korelasi antar variabel, sehingga lebih akurat secara statistik. Jarak Mahalanobis dapat dikukur dengan rumus sebagai berikut:

    \[ d(x,y) = \sqrt{ (x - y)^T S^{-1} (x - y) } \] dengan \(S^-1\) merupakan matriks kovarian invers.

    Metode ini jarang digunakan dalam analisis cluster hierarki karena perhitungannya yang cukup rumit, namun sangat signifikan ketika variabel berkorelasi tinggi.

1.3.3 Linkage Methods

Setelah jarak dihitung, objek atau elemen digabung berdasarkan kedekatan tertentu. Pemilihan linkage method (metode penggabungan klaster) akan mempengaruhi bentuk klaster.

  1. Single Linkage

    Menggunakan jarak terdekat antar dua klaster dengan rumus sebagai berikut:

    \[ D(A,B) = \min_{i \in A, j \in B} d(i,j) \]

  2. Complete Linkage

    Menggunakan jarak terjauh antar dua klaster dengan rumus sebagai berikut:

    \[ D(A,B) = \max_{i \in A, j \in B} d(i,j) \]

  3. Average Linkage

    Menggunakan rata-rata jarak antar pasangan objek dengan rumus sebagai berikut:

    \[ D(A,B) = \frac{1}{|A||B|} \sum_{i \in A} \sum_{j \in B} d(i,j) \]

  4. Ward’s Method

    Konespnya adalah menggabungkan klaster berdasarkan minimasi jumlah kuadrat dalam klaster. Metode Ward memilih penggabungan yang menghasilkan kenaikan varinsi paling kecil. Ketika dua klaster A dan B akan digabung, maka kenaikan error sum of squares dapat dihitung menggunakan:

    \[ \Delta ESS(A,B) = \frac{n_A n_B}{n_A + n_B} \; || \bar{x}_A - \bar{x}_B ||^2 \]

    dengan:

    • \(n_A=\) jumlah objek dalam klaster A

    • \(n_B=\) jumlah objek dalam klaster B

    • \(\bar{x}_A=\) centroid klaster A

    • \(\bar{x}_B=\) centroid klaster B

    Metode Ward akan memilih klaster yang memberikan nilai \(\Delta ESS(A,B)\) paling kecil untuk digabung.

1.3.4 Dendogram

Dendrogram adalah representasi visual dari proses penggabungan klaster dalam analisis hierarki. Setiap percabangan menunjukkan tingkat kemiripan antar objek/klaster.

  • Tinggi cabang vertikal menunjukkan tingkat dissimilarity (ketidaksamaan).

  • Klaster terbentuk dari penggabungan cabang yang paling rendah.

  • Pemotongan dendrogram pada tingkat tertentu digunakan untuk menentukan jumlah klaster terbaik.

  • Semakin rendah jarak penggabungan, semakin mirip objek tersebut.

Dendrogram memberikan gambaran struktur pengelompokan sehingga sangat membantu dalam menentukan jumlah klaster optimal.

1.4 Tujuan

Penelitian ini bertujuan untuk:

  1. Mengelompokkan provinsi-provinsi di Indonesia berdasarkan kesamaan karakteristik sarana kesehatan yang meliputi Rumah Sakit, Rumah Sakit Bersalin, Poliklinik, Puskesmas, Puskesmas Pembantu, dan Apotek.
  2. Menganalisis pola dan kedekatan antar provinsi melalui pendekatan analisis klaster hierarki berbasis perhitungan jarak dan metode single linkage.
  3. Mengidentifikasi provinsi-provinsi yang berada dalam klaster yang sama, sehingga dapat memberikan gambaran mengenai kesamaan tingkat ketersediaan sarana kesehatan antar wilayah.

BAB II HASIL & PEMBAHASAN

2.1 Source Code

2.1.1 Library

Berikut library yang digunakan untuk dapat menggunakan fungsi bawaan dari RStudio.

Library Fungsi
readxl() Membaca file Excel (.xlsx)
dplyr() Memanipulasi data
cluster() Untuk dapat menggunakan fungsi clustering
factoextra() Untuk memvisualisasikan dendogream atau klaster

Library wajib dijalankan terlebih dahulu sebelum menggunakan fungsi bawaan.

2.1.2 Syntax & Pembahasan

Syntax Pembahasan
data_anmul_uprak<-read_excel(“C:/Users/Chrisman Eben Ezer S/Downloads/DATA_SARANA_KESEHATAN.xlsx”) Membaca file Excel dari path lokal dan menyimpan isi sheet ke dalam dataframe bernama “data_anmul_uprak”.
data_anmul_uprak<-data_anmul_uprak %>% as.data.frame() Mengubah hasil read_excel menjadi data frame.
rownames(data_anmul_uprak)<-data_anmul_uprak$Provinsi Mengganti nama baris dengan nama provinsi, agar dendogram tidak menggunakan label angka baris, namun nama setiap provinsinya.
data_standarisasi<-data_anmul_uprak %>% mutate(across(2:6, scale)) Melakukan standarisasi normal baku hanya pada kolom 2 hingga kolom 6.
dist_euclidean<-dist(data_standarisasi[, 2:6], method = “euclidean”) Menghitung jarak antar amatan menggunakan metode Euclidean.
hc_single<-hclust(dist_euclidean, method = “single”) Menggabungkan amatan sesuai dengan jarak terdekat.
plot( hc_single, main = “Dendrogram - Single Linkage (Euclidean Distance)”, xlab = “Provinsi”, ylab = “Jarak Penggabungan”, sub = ““, cex = 0.7 ) Membentuk visualisasi dendogram dari objek “hclust”.

height_diff<-diff(hc_single$height)

gap_terbesar<-which.max(height_diff)

k_optimal<-length(hc_single$height)-gap_terbesar+1

Mencari gap terbesar dalam pembentukan klaster.
h_cut <- hc_single$height[gap_terbesar] Mencari gap terbesar antar klaster untuk memotong relasi antar cluster.
abline(h = h_cut, col = “red”, lty = 2, lwd = 2) Membuat garis pemotong pada gap terbesar.
rect.hclust(hc_single, k = k_optimal, border = 2:(k_optimal+1)) Membagi setiap klaster dengan kotak.
cluster_hasil <- cutree(hc_single, k = k_optimal) data.frame( Provinsi = names(cluster_hasil), Klaster = cluster_hasil ) Mendefinisikan setiap provinsi berdasarkan klasternya masing-masing.
data_terurut<-read_excel(“C:/Users/Chrisman Eben Ezer S/Documents/Data_FASKES_terurut.xlsx”) Membaca file Excel dengan data provinsi yang telah disesuaikan dengan klaster.

Penerapan syntax RStudio dalam melakukan analisis klaster hierarki adalah sebagai berikut.

library(readxl)      
library(dplyr)       
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(cluster)     
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
data_anmul_uprak<-read_excel("C:/Users/Chrisman Eben Ezer S/Downloads/DATA_SARANA_KESEHATAN.xlsx")
data_anmul_uprak <- data_anmul_uprak %>%as.data.frame()
rownames(data_anmul_uprak) <- data_anmul_uprak$Provinsi
data_standarisasi<-data_anmul_uprak %>% mutate(across(2:6, scale))
dist_euclidean <- dist(data_standarisasi[, 2:6], method = "euclidean")
hc_single <- hclust(dist_euclidean, method = "single")
#Dendogram
plot(
  hc_single,
  main = "Dendrogram - Single Linkage (Euclidean Distance)",
  xlab = "Provinsi",
  ylab = "Jarak Penggabungan",
  sub = "",
  cex = 0.7
)
#Mencari gap terbesar
height_diff<-diff(hc_single$height)
gap_terbesar<-which.max(height_diff)   
k_optimal<-length(hc_single$height)-gap_terbesar+1
#Garis Pemotong
h_cut <- hc_single$height[gap_terbesar]
abline(h = h_cut, col = "red", lty = 2, lwd = 2)
#Kotak klaster
rect.hclust(hc_single, k = k_optimal, border = 2:(k_optimal+1))

#Definisi provinsi menurut klaster
cluster_hasil <- cutree(hc_single, k = k_optimal)
data.frame(
  Provinsi = names(cluster_hasil),
  Klaster = cluster_hasil
)
##                                  Provinsi Klaster
## ACEH                                 ACEH       1
## SUMATERA UTARA             SUMATERA UTARA       2
## SUMATERA BARAT             SUMATERA BARAT       1
## RIAU                                 RIAU       1
## JAMBI                               JAMBI       1
## SUMATERA SELATAN         SUMATERA SELATAN       1
## BENGKULU                         BENGKULU       1
## LAMPUNG                           LAMPUNG       1
## KEP. BANGKA BELITUNG KEP. BANGKA BELITUNG       1
## KEP. RIAU                       KEP. RIAU       1
## DKI JAKARTA                   DKI JAKARTA       1
## JAWA BARAT                     JAWA BARAT       3
## JAWA TENGAH                   JAWA TENGAH       4
## DI YOGYAKARTA               DI YOGYAKARTA       1
## JAWA TIMUR                     JAWA TIMUR       5
## BANTEN                             BANTEN       1
## BALI                                 BALI       1
## NUSA TENGGARA BARAT   NUSA TENGGARA BARAT       1
## NUSA TENGGARA TIMUR   NUSA TENGGARA TIMUR       1
## KALIMANTAN BARAT         KALIMANTAN BARAT       1
## KALIMANTAN TENGAH       KALIMANTAN TENGAH       1
## KALIMANTAN SELATAN     KALIMANTAN SELATAN       1
## KALIMANTAN TIMUR         KALIMANTAN TIMUR       1
## KALIMANTAN UTARA         KALIMANTAN UTARA       1
## SULAWESI UTARA             SULAWESI UTARA       1
## SULAWESI TENGAH           SULAWESI TENGAH       1
## SULAWESI SELATAN         SULAWESI SELATAN       1
## SULAWESI TENGGARA       SULAWESI TENGGARA       1
## GORONTALO                       GORONTALO       1
## SULAWESI BARAT             SULAWESI BARAT       1
## MALUKU                             MALUKU       1
## MALUKU UTARA                 MALUKU UTARA       1
## PAPUA BARAT                   PAPUA BARAT       1
## PAPUA                               PAPUA       1
#Data Terurut
data_terurut<-read_excel("C:/Users/Chrisman Eben Ezer S/Documents/Data_FASKES_terurut.xlsx")

2.2 Hasil Analisis

Berikut visualisasi dendogram analisis klaster hierarki menggunakan metode single linkage dan perhitungan jarak Euclidean.

Berdasarkan bentuk dendogram di atas, dapat dilihat provinsi mana saja yang memiliki kemiripan dengan provinsi lainnya menggunakan perhitungan jarak terdekat. Namun, perlu analisis lanjutan untuk melihat klaster mana yang memiliki jarak atau gap yang cukup jauh sehingga hubungan antar klaster tersebut dapat dipisahkan. Hasil dari analasis tersebut dapat dilihat melalui dendogram berikut.

Dapat diperhatikan bahwa provinsi Sumatera Utara, Jawa Barat, Jawa Tengah, dan Jawa Timur masing-masing membentuk klaster tersendiri. Sementara provinsi lainnya berada di klaster yang sama. Sehingga menurut jarak terdekatnya, setidaknya terdapat 5 klaster.

Ini dapat dilihat jelas, kita data awal disusun kembali menurut klaster sebagai berikut.

data_terurut
## # A tibble: 34 × 8
##    Cluster Provinsi    `Rumah Sakit` `Rumah Sakit Bersalin` Poliklinik Puskesmas
##      <dbl> <chr>               <dbl>                  <dbl>      <dbl>     <dbl>
##  1       1 ACEH                   64                    225        258       395
##  2       1 SUMATERA B…            54                    139        127       294
##  3       1 RIAU                   55                    207        329       272
##  4       1 JAMBI                  36                    151        103       231
##  5       1 SUMATERA S…            65                    248        195       403
##  6       1 BENGKULU               20                      5         49       190
##  7       1 LAMPUNG                53                    238        307       350
##  8       1 KEP. BANGK…            21                     25         25        63
##  9       1 KEP. RIAU              23                     35         76        88
## 10       1 DKI JAKARTA           119                    156        230       257
## # ℹ 24 more rows
## # ℹ 2 more variables: `Puskesmas Pembantu` <dbl>, Apotek <dbl>

Sekilas terlihat jelas bahwa bahwa provinsi Sumatera Utara, Jawa Barat, Jawa Tengah, dan Jawa Timur memiliki fasilitas kesehatan yang jauh lebih banyak dibanding provinsi lainnya. Nampak bahwa terjadi ketimpangan ketersediaan fasilitas kesehatan antar provinsi di Indonesia.

BAB III PENUTUP

3.1 Kesimpulan

Berdasarkan analisis yang dilakukan, diperoleh beberapa kesimpulan utama berikut.

  1. Analisis klaster hierarki menggunakan jarak Euclidean dan metode single linkage mampu membagi provinsi-provinsi di Indonesia ke dalam beberapa kelompok berdasarkan kemiripan jumlah fasilitas kesehatan, yaitu Rumah Sakit, Rumah Sakit Bersalin, Poliklinik, Puskesmas, Puskesmas Pembantu, dan Apotek. Struktur dendrogram yang terbentuk menggambarkan bahwa masing-masing provinsi memiliki tingkat ketersediaan fasilitas yang berbeda-beda sehingga terbentuk klaster-klaster yang jelas.
  2. Pola dan kedekatan antar provinsi menunjukkan adanya perbedaan tingkat sarana kesehatan yang cukup mencolok. Hasil dendrogram memperlihatkan bahwa terdapat kelompok provinsi yang bergabung pada jarak penggabungan sangat kecil (kompak), menandakan kemiripan tinggi, sementara provinsi lain bergabung pada jarak penggabungan tinggi (jauh), menandakan perbedaan besar. Provinsi seperti Jawa Barat, Jawa Tengah, Jawa Timur, dan Sumatera Utara menunjukkan jarak penggabungan yang jauh lebih besar dibandingkan provinsi lainnya. Hal ini mencerminkan perbedaan signifikan dalam jumlah fasilitas kesehatan yang tersedia, terutama karena populasi yang besar, urbanisasi, dan tingginya aktivitas ekonomi di provinsi tersebut.
  3. Identifikasi klaster menunjukkan adanya sekelompok provinsi dengan tingkat ketersediaan sarana kesehatan yang serupa. Sebagian besar provinsi lainnya membentuk satu klaster besar yang bergabung pada jarak rendah, menunjukkan bahwa tingkat ketersediaan sarana kesehatan mereka relatif homogen. Klaster besar ini terdiri dari banyak provinsi dari wilayah Sumatera, Kalimantan, Sulawesi, Bali, dan Papua. Sementara itu, empat klaster yang beranggotakan Jawa Barat, Jawa Tengah, Jawa Timur, dan Sumatera Utara menunjukkan tingginya ketersediaan sarana kesehatan dibandingkan provinsi lain. Keempat provinsi tersebut menjadi outlier positif dalam konteks tersedianya fasilitas kesehatan.

Secara keseluruhan, analisis klaster hierarki berhasil menggambarkan variasi dan pola kedekatan antar provinsi dalam hal fasilitas kesehatan. Terdapat ketimpangan tingkat ketersediaan fasilitas antara provinsi berpopulasi besar di Pulau Jawa dan Sumatera Utara dibandingkan provinsi-provinsi lainnya. Hasil ini memperlihatkan bahwa ketimpangan ketersediaan fasilitas kesehatan antarprovinsi di Indonesia masih cukup terlihat, terutama antara provinsi yang berpopulasi besar dan provinsi-provinsi lain yang populasinya lebih sedang atau kecil. Analisis klaster ini memberi gambaran bahwa kebijakan pemerataan dan penambahan fasilitas kesehatan masih diperlukan, khususnya bagi provinsi yang tergolong berada dalam klaster fasilitas rendah atau menengah.

3.2 Saran

Untuk menghasilkan pemetaan ketimpangan sarana kesehatan yang lebih komprehensif, penelitian lanjutan perlu melibatkan variabel tambahan seperti jumlah penduduk, tingkat urbanisasi, PDRB, rasio fasilitas kesehatan per kapita, serta indikator outcome kesehatan. Penambahan variabel-variabel tersebut akan memperkuat pemahaman mengenai faktor-faktor yang menyebabkan perbedaan jumlah fasilitas kesehatan antarprovinsi.

Di sisi lain, pemerintah perlu memberikan prioritas pada provinsi yang berada dalam klaster besar, terutama melalui peningkatan pembangunan puskesmas dan puskesmas pembantu serta perbaikan distribusi tenaga kesehatan. Upaya pemerataan tersebut sangat penting untuk mengurangi ketimpangan akses layanan antarwilayah. Penguatan layanan kesehatan primer juga harus menjadi fokus utama, mengingat provinsi dengan fasilitas terbatas sangat bergantung pada keberhasilan puskesmas dan puskesmas pembantu dalam memberikan layanan dasar dan mencegah lonjakan rujukan ke provinsi berfasilitas tinggi.

Daftar Pustaka

Badan Pusat Statistik. (2023). Jumlah desa/kelurahan yang memiliki sarana kesehatan menurut provinsi. https://www.bps.go.id/id/statistics-table/2/MjMzIzI=/number-of-villages-sub-districts-having-health-facilities-by-province.html

Supranto, J. (2004). Statistik multivariat. Jakarta: Rineka Cipta.

Everitt, B. S., Landau, S., Leese, M., & Stahl, D. (2011). Cluster analysis (5th ed.). Wiley.

Kaufman, L., & Rousseeuw, P. J. (1990). Finding groups in data: An introduction to cluster analysis. Wiley.

Wickham, H., & Grolemund, G. (2016). R for data science. O’Reilly Media. Retrieved from https://r4ds.had.co.nz/