ANALISIS SPASIAL SEBARAN KASUS TUBERKULOSIS DI PROVINSI JAWA BARAT
Dosen Pembimbing: Dr. I Gede Nyoman Mindra Jaya, M.Si.
Disusun Oleh: Kevin Jonathan (140610230040)
PROGRAM STUDI S-1 STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU
PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
JATINANGOR
2025
Daftar Isi
Abstrak
Penelitian ini menganalisis sebaran spasial kasus Tuberkulosis (TBC) di Provinsi Jawa Barat serta faktor-faktor yang memengaruhinya menggunakan pendekatan ekonometrika spasial. Data diperoleh dari Dinas Kesehatan dan BPS, dengan variabel independen seperti kasus HIV/AIDS, penderita Diabetes Mellitus, kepadatan penduduk, dan persentase penduduk miskin. Analisis dilakukan melalui peta deskriptif, uji autokorelasi spasial, serta pemodelan SAR dan SEM. Hasil menunjukkan adanya pengelompokan kasus TBC antarwilayah, dengan klaster signifikan di daerah padat dan kurang padat penduduk. Variabel kepadatan penduduk dan kemiskinan berpengaruh signifikan terhadap jumlah kasus TBC. Pendekatan spasial ini memberikan pemahaman lebih mendalam tentang pola penyebaran TBC dan dapat menjadi dasar kebijakan kesehatan berbasis wilayah.
Tuberkulosis (TBC) masih menjadi salah satu masalah kesehatan utama di Indonesia, termasuk di Provinsi Jawa Barat yang mencatat jumlah kasus tinggi setiap tahunnya (BPS). Penyakit yang disebabkan oleh Mycobacterium tuberculosis ini mudah menular melalui udara, terutama di lingkungan padat penduduk dengan sanitasi yang kurang baik. Berbagai faktor sosial, ekonomi, dan kesehatan seperti jumlah penderita HIV/AIDS, Diabetes Mellitus, kepadatan penduduk, serta persentase penduduk miskin turut berperan dalam peningkatan kasus TBC. Kondisi tersebut menunjukkan bahwa penyebaran TBC tidak hanya dipengaruhi oleh aspek medis, tetapi juga oleh karakteristik wilayah dan kesejahteraan masyarakat. Oleh karena itu, analisis spasial diperlukan untuk mengidentifikasi pola persebaran dan faktor-faktor yang memengaruhi TBC di kabupaten/kota Jawa Barat, sehingga strategi penanggulangan dapat dirancang secara lebih tepat sasaran dan efektif.
Berdasarkan latar belakang tersebut, permasalahan yang diidentifikasi dalam penelitian ini adalah bagaimana pola sebaran kasus TBC di kabupaten/kota Provinsi Jawa Barat serta bagaimana pengaruh berbagai faktor terhadap persebaran tersebut. Faktor-faktor yang dimaksud antara lain jumlah kasus HIV/AIDS yang dapat melemahkan sistem kekebalan tubuh sehingga meningkatkan risiko infeksi TBC (Qi et al., 2023), jumlah penderita Diabetes Mellitus yang cenderung memiliki kerentanan lebih tinggi terhadap reaktivasi infeksi laten TBC (Franco et al., 2024), kepadatan penduduk yang memengaruhi tingkat transmisi penyakit antarindividu, serta persentase penduduk miskin yang seringkali berkorelasi dengan keterbatasan akses terhadap fasilitas kesehatan dan kondisi lingkungan yang kurang sehat (Sihaloho, 2019). Penelitian ini bertujuan untuk memahami interaksi faktor-faktor tersebut secara spasial, sehingga dapat mengidentifikasi wilayah-wilayah dengan risiko tinggi serta memberikan dasar bagi perumusan strategi intervensi yang lebih efektif dan tepat sasaran dalam upaya penanggulangan TBC di Jawa Barat.
Penelitian ini dibatasi pada wilayah administratif kabupaten/kota di Provinsi Jawa Barat dengan menggunakan data sekunder pada periode tertentu. Variabel independen yang digunakan meliputi jumlah kasus HIV/AIDS (X1), jumlah penderita Diabetes Mellitus (X2), kepadatan penduduk per km² (X3), dan persentase penduduk miskin (X4), sedangkan variabel dependen adalah jumlah kasus TBC. Analisis difokuskan pada hubungan spasial antarwilayah tanpa meninjau faktor individual atau temporal secara mendalam.
Spatial dependence atau ketergantungan spasial menggambarkan kondisi di mana suatu fenomena pada satu lokasi dipengaruhi oleh fenomena di lokasi sekitarnya. Dalam konteks kesehatan masyarakat, seperti kasus TBC, wilayah dengan tingkat kejadian tinggi cenderung berdekatan dengan wilayah lain yang juga memiliki tingkat kejadian tinggi. Prinsip ini sejalan dengan Tobler’s First Law of Geography yang menyatakan bahwa “everything is related to everything else, but near things are more related than distant things.” Oleh karena itu, analisis spasial diperlukan untuk mengidentifikasi adanya pola keterkaitan antarwilayah, yang tidak dapat dijelaskan hanya dengan analisis statistik konvensional.
Autokorelasi spasial digunakan untuk mengukur sejauh mana nilai suatu variabel di satu lokasi berkorelasi dengan nilai di lokasi lain yang berdekatan. Terdapat dua jenis analisis autokorelasi spasial, yaitu Global Moran’s I dan Local Moran’s I (LISA). Global Moran’s I digunakan untuk menilai apakah pola spasial secara keseluruhan bersifat mengelompok (clustered), acak (random), atau menyebar (dispersed), sedangkan Local Moran’s I digunakan untuk mengidentifikasi lokasi-lokasi spesifik yang membentuk klaster signifikan, seperti wilayah dengan kasus TBC tinggi yang berdekatan dengan wilayah serupa (High-High) atau rendah dengan rendah (Low-Low). Kedua ukuran ini penting untuk memahami pola sebaran penyakit dan mendeteksi daerah prioritas penanganan.
Model spasial digunakan untuk menganalisis hubungan antarvariabel dengan mempertimbangkan efek spasial. Dua model utama yang umum digunakan adalah Spatial Error Model (SEM) dan Spatial Autoregressive Model (SAR). Model SAR memasukkan ketergantungan spasial melalui variabel dependen, menunjukkan bahwa nilai TBC di suatu wilayah dipengaruhi oleh nilai TBC di wilayah sekitar. Sebaliknya, model SEM memperhitungkan korelasi spasial pada komponen error, yang menunjukkan adanya faktor spasial yang tidak teramati tetapi memengaruhi variabel dependen. Dengan membandingkan kedua model ini, dapat diketahui apakah pengaruh spasial lebih dominan berasal dari interaksi antarwilayah atau dari faktor-faktor tak teramati dalam struktur residual.
Data yang digunakan dalam penelitian ini merupakan data sekunder yang diperoleh dari sumber resmi, antara lain Dinas Kesehatan Provinsi Jawa Barat dan Badan Pusat Statistik (BPS). Variabel dependen penelitian adalah jumlah kasus Tuberkulosis (TBC) di setiap kabupaten/kota, sedangkan variabel independennya meliputi jumlah kasus HIV/AIDS baru (X1), jumlah penderita Diabetes Mellitus (X2), kepadatan penduduk per km² (X3), serta persentase penduduk miskin (X4). Data yang dikumpulkan mencerminkan kondisi sosial, ekonomi, dan kesehatan masyarakat pada periode penelitian yang telah ditentukan, sehingga memungkinkan analisis hubungan antarvariabel dan pemetaan persebaran TBC secara spasial dengan akurat.
Unit spasial yang digunakan dalam penelitian ini adalah wilayah administratif tingkat kabupaten/kota di Provinsi Jawa Barat. Setiap unit spasial direpresentasikan dalam bentuk poligon pada peta digital (shapefile), yang memungkinkan analisis hubungan spasial antarwilayah secara lebih akurat. Pemilihan unit kabupaten/kota didasarkan pada ketersediaan data yang lengkap serta peran strategisnya sebagai pelaksana utama program pengendalian TBC di tingkat daerah. Dengan menggunakan unit spasial ini, penelitian dapat mengidentifikasi pola persebaran kasus TBC, mengamati klaster atau hotspot, serta menganalisis keterkaitan antara faktor-faktor sosial, ekonomi, dan kesehatan dengan distribusi penyakit di masing-masing wilayah.
Analisis yang digunakan terdiri atas analisis deskriptif spasial, autokorelasi spasial, dan model ekonometrika spasial. Analisis deskriptif dilakukan untuk memvisualisasikan persebaran kasus TBC di Jawa Barat. Autokorelasi spasial dihitung menggunakan Global Moran’s I untuk mendeteksi pola sebaran secara keseluruhan dan Local Moran’s I (LISA) untuk mengidentifikasi klaster signifikan antarwilayah. Selanjutnya, dilakukan pemodelan menggunakan Spatial Autoregressive Model (SAR) dan Spatial Error Model (SEM) untuk menganalisis pengaruh variabel independen terhadap jumlah kasus TBC dengan mempertimbangkan efek spasial, serta membandingkan model mana yang memberikan hasil paling sesuai.
Penelitian ini diawali dengan pengumpulan dan pengolahan data sekunder dari berbagai sumber resmi, kemudian dilakukan penyusunan peta dan pembentukan matriks pembobot spasial (spatial weights matrix). Selanjutnya dilakukan analisis autokorelasi spasial untuk mendeteksi adanya ketergantungan spasial antarwilayah. Setelah itu dilakukan pemodelan menggunakan model SAR dan SEM untuk mengetahui faktor-faktor yang memengaruhi jumlah kasus TBC. Tahap akhir penelitian adalah interpretasi hasil analisis, penarikan kesimpulan, dan penyusunan rekomendasi kebijakan berbasis spasial untuk penanggulangan TBC di Jawa Barat.
Provinsi Jawa Barat merupakan salah satu provinsi dengan jumlah penduduk terbanyak di Indonesia. Tingginya kepadatan penduduk di beberapa wilayah mempengaruhi risiko penularan penyakit menular, termasuk Tuberkulosis (TBC). Untuk memahami pola penyebaran TBC, peta berikut menggambarkan sebaran kasus di setiap kabupaten/kota pada tahun 2023.
# =========================================================
# --- LIBRARY ---
# =========================================================
library(sf)
## Warning: package 'sf' was built under R version 4.3.3
## Linking to GEOS 3.11.2, GDAL 3.8.2, PROJ 9.3.1; sf_use_s2() is TRUE
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(spdep)
## Warning: package 'spdep' was built under R version 4.3.3
## Loading required package: spData
## Warning: package 'spData' was built under R version 4.3.3
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
library(tmap)
# =========================================================
# --- 1. SHAPEFILE & DATA ---
# =========================================================
indo_lvl2 <- st_read("C:/Users/Kevin Jonathan/Downloads/Epidem_UTS")
## Reading layer `gadm41_IDN_2' from data source
## `C:\Users\Kevin Jonathan\Downloads\Epidem_UTS' using driver `ESRI Shapefile'
## Simple feature collection with 502 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 95.00971 ymin: -11.00761 xmax: 141.0194 ymax: 6.076941
## Geodetic CRS: WGS 84
jabar_shp <- indo_lvl2 %>%
filter(NAME_1 == "Jawa Barat") %>%
mutate(KabKota = NAME_2) %>%
filter(KabKota != "Waduk Cirata")
# --- Membaca data CSV ---
data <- read.csv(file.choose())
# --- Penyesuaian nama kabupaten/kota ---
data <- data %>%
mutate(KabKota = dplyr::recode(Kabupaten.Kota,
"Kota Banjar" = "Banjar",
"Kota Cimahi" = "Cimahi",
"Kota Depok" = "Depok",
.default = Kabupaten.Kota))
# --- Join shapefile dan data ---
jabar_data <- left_join(jabar_shp, data, by = "KabKota") %>%
st_as_sf()
# --- Eksplorasi awal ---
summary(jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1140 3994 5467 7781 10574 26912
hist(jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.,
main = "Distribusi Kasus TBC Jawa Barat",
xlab = "Jumlah Kasus",
col = "lightblue", border = "white")
# --- Peta Deskriptif Awal ---
tmap_mode("plot")
## ℹ tmap modes "plot" - "view"
## ℹ toggle with `tmap::ttm()`
## This message is displayed once per session.
tm_shape(jabar_data) +
tm_fill("Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.",
style = "quantile",
palette = "Reds",
title = "Kasus TBC (Awal)") +
tm_borders() +
tm_layout(title = "Peta Distribusi Awal Kasus TBC di Jawa Barat (2023)")
##
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_fill()`: instead of `style = "quantile"`, use fill.scale =
## `tm_scale_intervals()`.
## ℹ Migrate the argument(s) 'style', 'palette' (rename to 'values') to
## 'tm_scale_intervals(<HERE>)'[v3->v4] `tm_fill()`: migrate the argument(s) related to the legend of the
## visual variable `fill` namely 'title' to 'fill.legend = tm_legend(<HERE>)'[v3->v4] `tm_layout()`: use `tm_title()` instead of `tm_layout(title = )`[cols4all] color palettes: use palettes from the R package cols4all. Run
## `cols4all::c4a_gui()` to explore them. The old palette name "Reds" is named
## "brewer.reds"Multiple palettes called "reds" found: "brewer.reds", "matplotlib.reds". The first one, "brewer.reds", is returned.
Jumlah kasus TBC di Jawa Barat tahun 2023 berkisar antara 1.140–26.912 kasus dengan rata-rata 7.781 kasus. Peta menunjukkan sebaran tidak merata, dengan konsentrasi kasus tinggi di wilayah perkotaan padat penduduk.
# =========================================================
# --- SPATIAL WEIGHT & UJI MORAN GLOBAL ---
# =========================================================
nb <- poly2nb(jabar_data, queen = TRUE)
lw <- nb2listw(nb, style = "W", zero.policy = TRUE)
# --- Uji Moran Global ---
moran.test(jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.,
lw, zero.policy = TRUE)
##
## Moran I test under randomisation
##
## data: jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.
## weights: lw
##
## Moran I statistic standard deviate = 2.9365, p-value = 0.00166
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.34378742 -0.04000000 0.01708125
# =========================================================
# --- LOCAL MORAN’S I (LISA) ---
# =========================================================
local_moran <- localmoran(jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.,
lw, zero.policy = TRUE)
# Tambahkan hasil ke data spasial
jabar_data$Ii <- local_moran[, 1]
jabar_data$Z.Ii <- local_moran[, 4]
jabar_data$Pval <- local_moran[, 5]
# =========================================================
# --- KLASIFIKASI CLUSTER LISA ---
# =========================================================
mean_val <- mean(jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y., na.rm = TRUE)
lag_val <- lag.listw(lw, jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y., zero.policy = TRUE)
jabar_data$Quadrant <- "Not Sig."
for (i in 1:nrow(jabar_data)) {
if (jabar_data$Pval[i] <= 0.05) {
if (jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.[i] >= mean_val & lag_val[i] >= mean(lag_val, na.rm = TRUE)) {
jabar_data$Quadrant[i] <- "High-High"
} else if (jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.[i] <= mean_val & lag_val[i] <= mean(lag_val, na.rm = TRUE)) {
jabar_data$Quadrant[i] <- "Low-Low"
} else if (jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.[i] >= mean_val & lag_val[i] <= mean(lag_val, na.rm = TRUE)) {
jabar_data$Quadrant[i] <- "High-Low"
} else if (jabar_data$Jumlah.Kasus.Penyakit...Angka.Penemuan.TBC..Y.[i] <= mean_val & lag_val[i] >= mean(lag_val, na.rm = TRUE)) {
jabar_data$Quadrant[i] <- "Low-High"
}
}
}
Nilai Moran’s I = 0.3438 dengan p-value = 0.00166 (< 0.05) menunjukkan adanya autokorelasi spasial positif. Artinya, wilayah dengan kasus TBC tinggi cenderung berdekatan dengan wilayah lain yang juga memiliki kasus tinggi.
# =========================================================
# --- VISUALISASI HASIL LISA ---
# =========================================================
tmap_mode("view")
## ℹ tmap modes "plot" - "view"
# --- Peta Klaster LISA ---
tm_shape(jabar_data) +
tm_fill("Quadrant",
palette = c("red", "blue", "orange", "cyan", "grey"),
title = "LISA Cluster TBC") +
tm_borders() +
tm_text("KabKota", size = 0.7, col = "black") +
tm_layout(title = "Peta Interaktif LISA Kasus TBC Jawa Barat (2023)")
##
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_tm_fill()`: migrate the argument(s) related to the scale of the
## visual variable `fill` namely 'palette' (rename to 'values') to fill.scale =
## tm_scale(<HERE>).[v3->v4] `tm_fill()`: migrate the argument(s) related to the legend of the
## visual variable `fill` namely 'title' to 'fill.legend = tm_legend(<HERE>)'[v3->v4] `tm_layout()`: use `tm_title()` instead of `tm_layout(title = )`