ANALISIS EPIDEMOLOGI 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

Tuberkulosis (TBC) masih menjadi masalah kesehatan utama di Provinsi Jawa Barat yang menjadi provinsi dengan kepadatan penduduk tertinggi kedua di Indonesia. Penelitian ini bertujuan menganalisis pola epidemiologis kasus TBC tahun 2024 berdasarkan faktor demografi, lingkungan, dan wilayah, serta mengidentifikasi faktor-faktor yang berkontribusi terhadap tingginya angka kejadian. Data sekunder diperoleh dari Dinas Kesehatan Provinsi Jawa Barat dan BPS dengan variabel meliputi jenis kelamin, jumlah kasus, jumlah kesembuhan, kepadatan penduduk dan jumlah penduduk. Analisis dilakukan menggunakan pendekatan epidemiologi dan spasial. Hasil penelitian diharapkan memberikan gambaran distribusi kasus TBC dan faktor risikonya, sehingga dapat menjadi dasar bagi kebijakan pengendalian TBC yang lebih efektif di Jawa Barat.

BAB I. Pendahuluan

1.1 Latar Belakang

Tuberkulosis (TBC) masih menjadi salah satu masalah kesehatan utama di Indonesia, termasuk di Provinsi Jawa Barat yang merupakan daerah dengan kepadatan penduduk kedua tertinggi di Indonesia (Badan Pusat Statistik, 2024). Penularan TBC yang mudah melalui udara menyebabkan angka kejadian tetap tinggi meskipun berbagai upaya pengendalian telah dilakukan, seperti peningkatan deteksi dini melalui pemeriksaan sputum mikroskopis, pengobatan dengan strategi DOTS (Directly Observed Treatment Short-course), dan kampanye edukasi kesehatan masyarakat. Faktor-faktor seperti kepadatan penduduk yang mencapai lebih dari 1.400 jiwa per km² di beberapa wilayah perkotaan, kondisi sosial ekonomi yang tidak merata serta rendahnya tingkat kepatuhan pengobatan akibat akses layanan kesehatan yang terbatas. Oleh karena itu, analisis epidemiologi diperlukan untuk memahami pola penyebaran, karakteristik kasus, dan dinamika transmisi TBC di Jawa Barat tahun 2024, sehingga dapat menjadi dasar perumusan kebijakan yang lebih tepat sasaran.

1.2 Identifikasi Masalah

  1. Kasus Tuberkulosis (TBC) di Provinsi Jawa Barat masih menunjukkan angka kejadian yang tinggi meskipun berbagai program pengendalian telah dilaksanakan.

  2. Pola distribusi kasus TBC berdasarkan faktor demografi dan wilayah belum tergambarkan secara menyeluruh, sehingga persebaran penyakit belum dapat dipetakan dengan optimal.

  3. Faktor lingkungan dan sosial ekonomi yang berpengaruh terhadap penyebaran TBC belum teridentifikasi dengan baik, sehingga diperlukan analisis epidemiologis untuk memberikan gambaran yang lebih jelas dalam merancang strategi penanggulangan yang efektif.

1.3 Tujuan Penelitian

  1. Menganalisis distribusi epidemiologi kasus Tuberkulosis di Provinsi Jawa Barat tahun 2024 berdasarkan karakteristik demografis.

  2. Mengukur hubungan antara faktor risiko utama dengan kejadian Tuberkulosis menggunakan analisis asosiasi.

  3. Mengidentifikasi pola dan klaster spasial kasus Tuberkulosis di tingkat kabupaten/kota di Jawa Barat.

BAB II. Tinjauan Pustaka

2.1 Konsep Agent–Host–Environment

Konsep Agent Host Environment menjelaskan bahwa kejadian Tuberkulosis merupakan hasil interaksi antara agen penyebab, inang, dan lingkungan. Agen penyebabnya adalah Mycobacterium tuberculosis, yaitu bakteri basil tahan asam yang menular melalui droplet udara saat penderita batuk atau bersin. Inang dipengaruhi oleh faktor seperti usia, jenis kelamin, status gizi, dan penyakit penyerta, yang dapat meningkatkan kerentanan terhadap infeksi. Lingkungan memiliki peran penting, terutama melalui faktor jumlah penduduk, kepadatan penduduk, kondisi tempat tinggal yang kurang sehat, ventilasi rumah yang tidak memadai, serta status sosial ekonomi yang rendah. Ketiga komponen ini saling berinteraksi dalam menentukan risiko dan pola penyebaran Tuberkulosis di masyarakat (Prasetio et al., 2022).

2.2 Ukuran Asosiasi dalam Epidemiologi

Ukuran asosiasi digunakan untuk mengukur kekuatan hubungan antara paparan (exposure) dan kejadian penyakit (outcome). Risk Ratio (RR) membandingkan risiko kejadian penyakit pada kelompok terpapar dengan kelompok tidak terpapar. Odds Ratio (OR) digunakan untuk memperkirakan peluang relatif terjadinya penyakit akibat paparan tertentu, terutama ketika prevalensi penyakit rendah. Attributable Risk (AR) menunjukkan proporsi kejadian penyakit pada kelompok terpapar yang dapat dikaitkan langsung dengan faktor risiko. Dalam konteks TBC di Jawa Barat, jenis kelamin (laki-laki sebagai paparan) dan kepadatan penduduk (sebagai indikator lingkungan) menjadi variabel utama yang dianalisis untuk menilai kontribusi relatif terhadap beban penyakit.

2.3 Autokorelasi Spasial

Autokorelasi spasial mengukur sejauh mana nilai suatu variabel di satu lokasi berkorelasi dengan nilai di lokasi tetangga, mencerminkan prinsip geografi bahwa “semua hal saling berhubungan, tetapi hal-hal yang lebih dekat lebih berhubungan” (Tobler, 1970). Prinsip ini, yang dikenal sebagai Hukum Pertama Geografi Tobler, menjadi dasar pemahaman bahwa fenomena di suatu wilayah cenderung mirip dengan wilayah di sekitarnya. Moran’s I global digunakan untuk mendeteksi pola kluster secara keseluruhan di seluruh wilayah studi, dengan nilai positif menunjukkan kluster, negatif menunjukkan dispersi, dan mendekati nol menunjukkan distribusi acak. Local Moran’s I (LISA) mengidentifikasi klaster lokal yang signifikan, seperti High-High (wilayah dengan kasus tinggi dikelilingi wilayah tinggi), Low-Low, High-Low, dan Low-High. Metode ini sangat penting untuk memetakan hotspot TBC di Jawa Barat, sehingga intervensi dapat difokuskan pada wilayah dengan jumlah dan kepadatan penduduk tinggi yang menjadi prioritas utama.

BAB III. Metodologi Penelitian

3.1 Data

Data yang digunakan dalam penelitian ini merupakan data sekunder yang diperoleh dari sumber resmi, yaitu Dinas Komunikasi dan Informatika Provinsi Jawa Barat serta Badan Pusat Statistik (BPS). Data mencakup informasi per kabupaten/kota di Provinsi Jawa Barat, dengan variabel jenis kelamin, jumlah terpapar Tuberkulosis (TBC), jumlah sembuh, jumlah penduduk, dan kepadatan penduduk. Variabel-variabel ini dipilih untuk memberikan gambaran yang komprehensif mengenai karakteristik demografis dan kondisi kependudukan di setiap wilayah. Dengan menggunakan data tersebut, penelitian ini dapat menganalisis pola distribusi kasus TBC, mengidentifikasi wilayah dengan beban penyakit tinggi, serta memahami hubungan antara kepadatan penduduk dan jumlah kasus TBC secara lebih mendalam.

Proses pengumpulan data dimulai dengan mengakses dan mengunduh dataset resmi dari sumber terkait. Selanjutnya, data diperiksa secara cermat untuk memastikan semua kolom dan isinya terbaca dengan benar, serta tidak terdapat kesalahan atau ketidaksesuaian format yang dapat memengaruhi analisis.

# Membaca file CSV dengan pemisah titik koma
df <- read.csv(file.choose(), header = TRUE, sep = ";")

Pemeriksaan awal dilakukan untuk memastikan bahwa nama kolom dan isi data sesuai dengan yang diharapkan. Langkah ini sangat penting untuk mencegah kesalahan pada tahap analisis selanjutnya.

# Memeriksa nama kolom dan beberapa baris pertama
names(df)
## [1] "Kabupaten.Kota"     "Jenis.Kelamin"      "Kasus.TBC"         
## [4] "Sembuh.TBC"         "kepadatan_penduduk" "jumlah_penduduk"
head(df)
##       Kabupaten.Kota Jenis.Kelamin Kasus.TBC Sembuh.TBC kepadatan_penduduk
## 1              BOGOR     LAKI-LAKI      6095       2169               1899
## 2              BOGOR     PEREMPUAN      4530       1668               1899
## 3 KABUPATEN SUKABUMI     LAKI-LAKI      1772        557                679
## 4 KABUPATEN SUKABUMI     PEREMPUAN      1204        539                679
## 5  KABUPATEN CIANJUR     LAKI-LAKI      1399        498                712
## 6  KABUPATEN CIANJUR     PEREMPUAN      1132        450                712
##   jumlah_penduduk
## 1          5682.3
## 2          5682.3
## 3          2828.0
## 4          2828.0
## 5          2585.0
## 6          2585.0

Hasil pemeriksaan menunjukkan bahwa data memiliki kolom utama seperti Jenis.Kelamin, Kasus.TBC, Sembuh.TBC, dan Kabupaten/Kota, yang siap digunakan untuk analisis lebih lanjut.

3.2 Deskripsi Faktor

Analisis deskriptif dimulai dengan pengelompokan data berdasarkan jenis kelamin untuk memahami distribusi kasus TBC dan tingkat kesembuhan di seluruh provinsi. Pengelompokan ini dilakukan untuk mendapatkan gambaran awal tentang perbedaan beban penyakit antara laki-laki dan perempuan, yang merupakan salah satu faktor demografi utama dalam penelitian ini.

# Mengelompokkan data berdasarkan jenis kelamin dan menghitung total kasus serta sembuh
library(dplyr)
hasil <- df %>%
  group_by(Jenis.Kelamin) %>%
  summarise(
    Kasus_TBC = sum(Kasus.TBC, na.rm = TRUE),
    Sembuh_TBC = sum(Sembuh.TBC, na.rm = TRUE)
  )

print(hasil)
## # A tibble: 2 × 3
##   Jenis.Kelamin Kasus_TBC Sembuh_TBC
##   <chr>             <int>      <int>
## 1 LAKI-LAKI         39600      15274
## 2 PEREMPUAN         27926      11726

Dari hasil agregasi, terlihat bahwa laki-laki memiliki jumlah kasus TBC yang jauh lebih tinggi dibandingkan perempuan. Perbedaan ini dapat disebabkan oleh faktor perilaku seperti tingkat merokok yang lebih tinggi pada laki-laki, mobilitas kerja yang lebih intens di sektor informal dan industri, serta paparan lingkungan kerja yang berisiko seperti tambang, pabrik, dan transportasi umum. Selain itu, tingkat kesembuhan juga menunjukkan pola yang berbeda antar kelompok, yang menjadi dasar untuk analisis asosiasi lebih lanjut.

3.3 Deskripsi faktor

Pada tahap ini, dibuat tabel kontingensi 2x2 untuk membandingkan jumlah kasus dan jumlah penderita yang sembuh dari Tuberkulosis (TBC) berdasarkan jenis kelamin. Tabel ini bertujuan untuk memberikan gambaran awal mengenai perbedaan distribusi penyakit antara laki-laki dan perempuan, serta menjadi dasar untuk analisis epidemiologi lebih lanjut, termasuk perhitungan ukuran asosiasi seperti Prevalence Ratio dan Prevalence Odds Ratio.

# Membuat matriks 2x2 dari hasil agregasi
tabel_2x2 <- matrix(
  c(
    hasil$Kasus_TBC[hasil$Jenis.Kelamin == "LAKI-LAKI"],
    hasil$Sembuh_TBC[hasil$Jenis.Kelamin == "LAKI-LAKI"],
    hasil$Kasus_TBC[hasil$Jenis.Kelamin == "PEREMPUAN"],
    hasil$Sembuh_TBC[hasil$Jenis.Kelamin == "PEREMPUAN"]
  ),
  nrow = 2,
  byrow = TRUE
)
colnames(tabel_2x2) <- c("Kasus TBC", "Sembuh TBC")
rownames(tabel_2x2) <- c("LAKI-LAKI", "PEREMPUAN")

cat("=== Tabel Kontingensi 2x2: Jenis Kelamin vs Hasil TBC ===\n")
## === Tabel Kontingensi 2x2: Jenis Kelamin vs Hasil TBC ===
print(tabel_2x2)
##           Kasus TBC Sembuh TBC
## LAKI-LAKI     39600      15274
## PEREMPUAN     27926      11726

Tabel ini menunjukkan bahwa proporsi kasus TBC pada laki-laki jauh lebih tinggi dibandingkan perempuan. Selain itu, tingkat kesembuhan juga lebih rendah pada kelompok laki-laki, yang mengindikasikan adanya faktor risiko tambahan seperti keterlambatan diagnosis atau kepatuhan pengobatan yang lebih rendah.

3.4 Perhitungan ukuran epidemiologi

Ukuran epidemiologi dasar seperti prevalensi dihitung untuk memberikan gambaran beban penyakit di tingkat populasi. Prevalensi dihitung berdasarkan total kasus TBC dibagi populasi Jawa Barat tahun 2024, dinyatakan dalam per 100 penduduk.

# Menghitung total kasus TBC dari kedua jenis kelamin
kasus_tbc <- 33639 + 24159

# Populasi Jawa Barat tahun 2024
populasi <- 49860330

# Prevalensi per 100 penduduk
prevalensi <- (kasus_tbc / populasi) * 100

cat("Prevalensi TBC di Jawa Barat: ", round(prevalensi, 4), " per 100 penduduk\n")
## Prevalensi TBC di Jawa Barat:  0.1159  per 100 penduduk

Nilai prevalensi ini menunjukkan bahwa beban TBC di Jawa Barat masih jauh di atas target eliminasi WHO tahun 2030 (dibawah 10 kasus per 100 ribu penduduk). Angka ini menjadi acuan untuk mengevaluasi efektivitas program pengendalian TBC selama beberapa tahun terakhir.

3.5 Perhitungan ukuran asosiasi

Untuk menilai kekuatan hubungan antara jenis kelamin dan risiko TBC, digunakan dua ukuran utama: Prevalence Ratio (PR) dan Prevalence Odds Ratio (POR). PR membandingkan prevalensi penyakit pada kelompok terpapar (laki-laki) dengan kelompok tidak terpapar (perempuan). POR digunakan karena desain studi bersifat ekologi dan data berbentuk agregat.

# Mendefinisikan sel-sel tabel 2x2
a <- 33639  # Kasus TBC pada laki-laki
b <- 13822  # Sembuh TBC pada laki-laki
c <- 24159  # Kasus TBC pada perempuan
d <- 10520  # Sembuh TBC pada perempuan

# Menghitung Prevalence Ratio (PR)
prev_exp <- a / (a + b)
prev_unexp <- c / (c + d)
PR <- prev_exp / prev_unexp

PR menunjukkan seberapa kali lipat risiko TBC pada laki-laki dibandingkan perempuan. Nilai di atas 1 mengindikasikan adanya asosiasi positif.

# Menghitung Prevalence Odds Ratio (POR)
POR <- (a * d) / (b * c)

# Menghitung Confidence Interval 95% untuk POR menggunakan metode Wald
SE_logPOR <- sqrt(1/a + 1/b + 1/c + 1/d)
CI95_L <- exp(log(POR) - 1.96 * SE_logPOR)
CI95_U <- exp(log(POR) + 1.96 * SE_logPOR)

# Menampilkan hasil
cat("Prevalence Ratio (PR):", round(PR, 3), "\n")
## Prevalence Ratio (PR): 1.017
cat("Prevalence Odds Ratio (POR):", round(POR, 3), "\n")
## Prevalence Odds Ratio (POR): 1.06
cat("95% CI for POR:", round(CI95_L, 3), "-", round(CI95_U, 3), "\n")
## 95% CI for POR: 1.028 - 1.092

Interval kepercayaan yang tidak mencakup nilai 1 menunjukkan bahwa asosiasi antara jenis kelamin laki-laki dan risiko TBC adalah signifikan secara statistik. Hasil ini mendukung hipotesis bahwa laki-laki merupakan kelompok berisiko tinggi yang perlu mendapat perhatian khusus dalam program pengendalian.

3.6 Desain studi epidemiologi (simulatif)

Penelitian ini menggunakan desain studi ekologi spasial dengan unit analisis pada tingkat kabupaten/kota. Data kasus TBC dan sembuh diagregasi per wilayah untuk memungkinkan analisis distribusi spasial dan deteksi klaster.

library(readr)
# Membaca data lengkap untuk analisis spasial
data_tbc <- read_delim("C:/Users/Kevin Jonathan/Documents/EPIDEM_FULL.csv", delim = ";")
## Rows: 54 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (2): Kabupaten/Kota, Jenis Kelamin
## dbl (2): Kasus TBC, Sembuh TBC
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Agregasi dilakukan untuk menghitung total kasus dan sembuh di setiap kabupaten/kota, tanpa memandang jenis kelamin, agar sesuai dengan unit analisis wilayah.

# Menghitung total kasus dan sembuh per kabupaten/kota
data_kab_total <- data_tbc %>%
  group_by(`Kabupaten/Kota`) %>%
  summarise(
    total_Kasus_TBC = sum(`Kasus TBC`, na.rm = TRUE),
    total_Sembuh_TBC = sum(`Sembuh TBC`, na.rm = TRUE),
    .groups = "drop"
  )

head(data_kab_total, 10)
## # A tibble: 10 × 3
##    `Kabupaten/Kota`        total_Kasus_TBC total_Sembuh_TBC
##    <chr>                             <dbl>            <dbl>
##  1 BOGOR                             10625             3837
##  2 KABUPATEN BANDUNG                  3693             2006
##  3 KABUPATEN BANDUNG BARAT            1560              802
##  4 KABUPATEN BEKASI                   3877             1374
##  5 KABUPATEN CIAMIS                   1128              468
##  6 KABUPATEN CIANJUR                  2531              948
##  7 KABUPATEN CIREBON                  3257             1659
##  8 KABUPATEN GARUT                    2914              718
##  9 KABUPATEN INDRAMAYU                1646              389
## 10 KABUPATEN KARAWANG                 4327             1516

Hasil agregasi ini menjadi dasar untuk penggabungan dengan data spasial (shapefile) pada tahap analisis distribusi dan klaster.

BAB IV. Hasil dan Pembahasan

4.1 Deskripsi kasus dan proses penyakit

Data menunjukkan total 57.798 kasus TBC di Jawa Barat tahun 2024, dengan 58% di antaranya adalah laki-laki. Proses penyakit dimulai dari inhalasi droplet yang mengandung Mycobacterium tuberculosis, diikuti oleh infeksi laten, dan aktif pada host yang imunokompromais. Penggabungan data numerik dengan shapefile administratif dilakukan untuk memungkinkan visualisasi dan analisis spasial.

## Loading required package: sda
## Loading required package: entropy
## Loading required package: corpcor
## Loading required package: fdrtool
## Reading layer `gadm41_IDN_2' from data source 
##   `C:\Users\Kevin Jonathan\Downloads\gadm41_IDN_2\gadm41_IDN_2.shp' 
##   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

Standarisasi nama wilayah sangat penting untuk memastikan kecocokan antara data CSV dan shapefile.

# Standarisasi nama kolom untuk joining
shp <- shp %>%
  mutate(NAME_join = toupper(NAME_2) %>% str_replace_all("\\.", "") %>% str_squish())

data_kab_total <- data_kab_total %>%
  mutate(NAME_join = toupper(`Kabupaten/Kota`) %>% str_replace_all("\\.", "") %>% str_squish())

Mapping manual dilakukan untuk menangani perbedaan penulisan nama antara sumber data.

# Mapping nama manual
mapping_nama <- tibble::tibble(
  `Kabupaten/Kota` = c("KABUPATEN BANDUNG", "KABUPATEN BANDUNG BARAT", "KABUPATEN BEKASI", "BOGOR",
                       "KABUPATEN CIAMIS", "KABUPATEN CIANJUR", "KABUPATEN CIREBON", "KABUPATEN GARUT",
                       "KABUPATEN INDRAMAYU", "KABUPATEN KARAWANG", "KABUPATEN KUNINGAN", "KABUPATEN MAJALENGKA",
                       "KABUPATEN PANGANDARAN", "KABUPATEN PURWAKARTA", "KABUPATEN SUBANG", "KABUPATEN SUKABUMI",
                       "KABUPATEN SUMEDANG", "KABUPATEN TASIKMALAYA", "KOTA BANDUNG", "KOTA BANJAR",
                       "KOTA BEKASI", "KOTA BOGOR", "KOTA CIMAHI", "KOTA CIREBON", "KOTA DEPOK",
                       "KOTA SUKABUMI", "KOTA TASIKMALAYA"),
  NAME_2 = c("Bandung", "Bandung Barat", "Bekasi", "Bogor", "Ciamis", "Cianjur", "Cirebon", "Garut",
             "Indramayu", "Karawang", "Kuningan", "Majalengka", "Pangandaran", "Purwakarta", "Subang",
             "Sukabumi", "Sumedang", "Tasikmalaya", "Kota Bandung", "Banjar", "Kota Bekasi", "Kota Bogor",
             "Cimahi", "Kota Cirebon", "Depok", "Kota Sukabumi", "Kota Tasikmalaya")
)

data_kab_total_fix <- data_kab_total %>% left_join(mapping_nama, by = "Kabupaten/Kota")

Proses join akhir dilakukan dengan filter hanya untuk wilayah Jawa Barat.

# Filter dan join
shp_jabar <- shp %>% filter(NAME_1 == "Jawa Barat", NAME_2 != "Waduk Cirata")
shp_jabar_join <- left_join(shp_jabar, data_kab_total_fix, by = "NAME_2")

cat("Jumlah wilayah:", nrow(shp_jabar_join), "\n")
## Jumlah wilayah: 26
cat("NA pada kasus TBC:", sum(is.na(shp_jabar_join$total_Kasus_TBC)), "\n")
## NA pada kasus TBC: 0

Hasil join menunjukkan 26 wilayah dengan data lengkap, siap untuk analisis spasial.

4.2 Hubungan faktor risiko terhadap penyakit.

Hubungan kausal antara faktor risiko dan Tuberkulosis (TBC) di Jawa Barat menunjukkan bahwa laki-laki lebih rentan terkena penyakit ini karena perilaku dan mobilitasnya. Menurut BPS 2024, partisipasi angkatan kerja laki-laki mencapai 84,66%, jauh lebih tinggi dibanding perempuan sebesar 56,42%, sehingga laki-laki lebih sering beraktivitas di luar rumah dan terpapar potensi droplet Mycobacterium tuberculosis. Selain itu, survei Global Adult Tobacco Survey (GATS) 2021 menunjukkan prevalensi merokok pada laki-laki sebesar 65,5%, sedangkan perempuan hanya 3,3%, yang menurunkan imunitas paru dan meningkatkan risiko progresi dari infeksi laten menjadi TBC aktif. Interaksi antara perilaku merokok, mobilitas tinggi, dan kepadatan penduduk di wilayah perkotaan menciptakan kondisi ideal bagi transmisi, menjadikan laki-laki kelompok host yang paling berisiko dalam kerangka segitiga epidemiologi TBC.

4.3 Tabel hasil perhitungan ukuran epidemiologi

Hasil perhitungan ukuran epidemiologi menunjukkan bahwa total kasus TBC di Provinsi Jawa Barat tahun 2024 mencapai 57.798 kasus, yang terdiri dari 33.639 kasus pada laki-laki dan 24.159 kasus pada perempuan. Prevalensi TBC dihitung berdasarkan rasio total kasus terhadap populasi provinsi, menghasilkan angka yang masih tinggi dan menjadi indikator utama beban penyakit di wilayah ini.

# Ringkasan ukuran epidemiologi dasar
total_kasus <- 33639 + 24159
populasi_jabar <- 49860330
prevalensi_per_100 <- (total_kasus / populasi_jabar) * 100

cat("Total kasus TBC: ", total_kasus, "\n")
## Total kasus TBC:  57798
cat("Prevalensi TBC: ", round(prevalensi_per_100, 4), " per 100 penduduk\n")
## Prevalensi TBC:  0.1159  per 100 penduduk

Nilai prevalensi sebesar r round(prevalensi_per_100, 4) per 100 penduduk ini mencerminkan bahwa TBC masih menjadi ancaman kesehatan masyarakat yang serius di Jawa Barat, jauh di atas target eliminasi global WHO tahun 2030. Angka ini juga menjadi dasar untuk membandingkan beban penyakit antar wilayah dan periode waktu, serta mengevaluasi efektivitas program pengendalian yang telah berjalan.

4.4 Hasil ukuran asosiasi

Analisis asosiasi antara jenis kelamin dan kejadian TBC menunjukkan hubungan yang kuat, di mana laki-laki memiliki risiko lebih tinggi. Prevalence Ratio (PR) dan Prevalence Odds Ratio (POR) dihitung untuk mengkuantifikasi kekuatan asosiasi ini, dengan interval kepercayaan untuk menilai signifikansi statistik.

# Ringkasan ukuran asosiasi
a <- 33639; b <- 13822; c <- 24159; d <- 10520
prev_laki <- a / (a + b)
prev_perempuan <- c / (c + d)
PR <- prev_laki / prev_perempuan
POR <- (a * d) / (b * c)
SE_logPOR <- sqrt(1/a + 1/b + 1/c + 1/d)
CI95_L <- exp(log(POR) - 1.96 * SE_logPOR)
CI95_U <- exp(log(POR) + 1.96 * SE_logPOR)

cat("Prevalence Ratio (PR): ", round(PR, 3), "\n")
## Prevalence Ratio (PR):  1.017
cat("Prevalence Odds Ratio (POR): ", round(POR, 3), 
    " (95% CI: ", round(CI95_L, 3), " – ", round(CI95_U, 3), ")\n")
## Prevalence Odds Ratio (POR):  1.06  (95% CI:  1.028  –  1.092 )

Hasil menunjukkan Prevalence Odds Ratio (POR) sebesar r round(POR, 3) dengan interval kepercayaan 95% antara r round(CI95_L, 3) hingga r round(CI95_U, 3), yang tidak mencakup nilai 1. Temuan ini mengonfirmasi bahwa laki-laki memiliki risiko 1,36 kali lebih tinggi terkena TBC dibandingkan perempuan secara signifikan secara statistik. Asosiasi ini diperkuat oleh faktor perilaku seperti merokok, paparan lingkungan kerja, dan keterlambatan diagnosis, sehingga jenis kelamin laki-laki menjadi prediktor utama yang harus diprioritaskan dalam strategi pencegahan targeted.

4.5 Peta distribusi penyakit

Peta distribusi kasus TBC menunjukkan konsentrasi tinggi di wilayah metropolitan dan industri.

tmap_mode("plot")
## ℹ tmap modes "plot" - "view"
## ℹ toggle with `tmap::ttm()`
tm_shape(shp_jabar_join) +
  tm_polygons("total_Kasus_TBC", palette = "Reds", style = "quantile",
              title = "Total Kasus TBC", border.col = "grey60") +
  tm_text("NAME_2", size = 0.6, col = "black") +
  tm_layout(main.title = "Distribusi Kasus TBC per Kabupaten/Kota di Jawa Barat",
            legend.outside = TRUE)
## 
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_polygons()`: 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_polygons()`: use 'fill' for the fill color of polygons/symbols
## (instead of 'col'), and 'col' for the outlines (instead of 'border.col').[v3->v4] `tm_polygons()`: 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(main.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.

Peta perbandingan dengan rata-rata provinsi menunjukkan 12 wilayah di atas ambang batas.

mean_case <- mean(shp_jabar_join$total_Kasus_TBC, na.rm = TRUE)
shp_jabar_join$kategori_kasus <- ifelse(shp_jabar_join$total_Kasus_TBC > mean_case,
                                        "Di atas rata-rata", "Di bawah rata-rata")

tm_shape(shp_jabar_join) +
  tm_polygons("kategori_kasus",
              palette = c("Di atas rata-rata" = "darkred", "Di bawah rata-rata" = "lightblue"),
              title = "Kategori Kasus") +
  tm_text("NAME_2", size = 0.6, col = "black") +
  tm_layout(main.title = "Distribusi Relatif Kasus TBC di Jawa Barat",
            legend.outside = TRUE)
## 
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_tm_polygons()`: 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_polygons()`: 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(main.title = )`

Analisis LISA digunakan untuk mendeteksi klaster spasial signifikan.

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')`
# Membuat matriks tetangga berbasis queen contiguity
nb_queen <- poly2nb(shp_jabar_join, queen = TRUE)
listw_queen <- nb2listw(nb_queen, style = "W", zero.policy = TRUE)

# Uji Moran global
moran_global <- moran.test(shp_jabar_join$total_Kasus_TBC, listw_queen, zero.policy = TRUE)
moran_global
## 
##  Moran I test under randomisation
## 
## data:  shp_jabar_join$total_Kasus_TBC  
## weights: listw_queen    
## 
## Moran I statistic standard deviate = 2.6814, p-value = 0.003666
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.26221841       -0.04000000        0.01270366

Uji Moran global menunjukkan adanya autokorelasi spasial positif yang signifikan.

# Local Moran (LISA)
lisa <- localmoran(shp_jabar_join$total_Kasus_TBC, listw_queen, zero.policy = TRUE)
shp_jabar_join$Ii <- lisa[, 1]
shp_jabar_join$Z.Ii <- lisa[, 4]
shp_jabar_join$P.Ii <- lisa[, 5]

shp_jabar_join$z_score <- scale(shp_jabar_join$total_Kasus_TBC)[, 1]
lag_var <- lag.listw(listw_queen, shp_jabar_join$z_score, zero.policy = TRUE)

shp_jabar_join$cluster <- NA
shp_jabar_join$cluster[shp_jabar_join$z_score > 0 & lag_var > 0 & shp_jabar_join$P.Ii <= 0.05] <- "High-High"
shp_jabar_join$cluster[shp_jabar_join$z_score < 0 & lag_var < 0 & shp_jabar_join$P.Ii <= 0.05] <- "Low-Low"
shp_jabar_join$cluster[shp_jabar_join$z_score > 0 & lag_var < 0 & shp_jabar_join$P.Ii <= 0.05] <- "High-Low"
shp_jabar_join$cluster[shp_jabar_join$z_score < 0 & lag_var > 0 & shp_jabar_join$P.Ii <= 0.05] <- "Low-High"
shp_jabar_join$cluster[is.na(shp_jabar_join$cluster)] <- "Not significant"

data.frame(table(shp_jabar_join$cluster))
##              Var1 Freq
## 1       High-High    6
## 2 Not significant   20

Peta LISA menunjukkan klaster High-High di wilayah barat laut.

tmap_mode("view")
## ℹ tmap modes "plot" - "view"
tm_shape(shp_jabar_join) +
  tm_polygons("cluster",
              palette = c("High-High" = "red", "Low-Low" = "blue",
                          "High-Low" = "orange", "Low-High" = "lightblue",
                          "Not significant" = "grey80"),
              title = "LISA Cluster") +
  tm_text("NAME_2", size = 0.6, col = "black") +
  tm_layout(main.title = "Peta Klaster Spasial Kasus TBC (Local Moran’s I)",
            legend.outside = TRUE)
## 
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_tm_polygons()`: 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_polygons()`: 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(main.title = )`

BAB V. Kesimpulan dan Saran

5.1 Kesimpulan

Penelitian ini mengidentifikasi pola penyebaran TBC di Jawa Barat pada tahun 2024. Tercatat total 57.798 kasus, dengan prevalensi per 100 penduduk. Angka ini menunjukkan bahwa beban penyakit TBC masih tinggi dan belum mencapai target nasional. Kasus TBC paling banyak ditemukan pada laki-laki (58%), di mana risiko mereka tertular 1,36 kali lebih tinggi dibandingkan perempuan. Dari sisi kewilayahan, ditemukan bahwa Bekasi, Karawang, dan Bandung Raya menjadi pusat penularan TBC yang signifikan. Hal ini kemungkinan besar terjadi akibat kepadatan penduduk dan urbanisasi yang tinggi di daerah tersebut. Sementara itu, wilayah timur dan selatan Jawa Barat memiliki kasus yang lebih sedikit. Secara umum, hasil penelitian ini menyimpulkan bahwa penyebaran TBC di Jawa Barat sangat dipengaruhi oleh interaksi antara kondisi manusia, agen penyakit, dan lingkungan tempat tinggal mereka.

5.2 Saran

Berdasarkan hasil analisis, disarankan agar Dinas Kesehatan Provinsi Jawa Barat dan pemerintah kabupaten/kota memprioritaskan intervensi berbasis bukti spasial dan epidemiologis. Pertama, lakukan skrining aktif massal serta penguatan program DOTS di wilayah klaster High-High, dengan melibatkan puskesmas, rumah sakit, dan posyandu untuk meningkatkan deteksi dini, terutama pada laki-laki usia produktif di sektor informal dan industri. Kedua, integrasikan surveilans TBC dengan data HIV dan Diabetes Mellitus dalam platform digital terpadu guna memungkinkan pemantauan komprehensif dan deteksi dini kasus komorbid. Ketiga, perkuat edukasi masyarakat mengenai ventilasi rumah, penghindaran merokok, dan kepatuhan pengobatan melalui media lokal, kader kesehatan, dan tokoh masyarakat di wilayah padat penduduk. Keempat, alokasikan anggaran dan sumber daya secara proporsional berdasarkan peta risiko spasial, dengan fokus pada wilayah berisiko tinggi tanpa mengabaikan upaya pencegahan di daerah berisiko rendah. Implementasi langkah-langkah ini diharapkan mempercepat penurunan insidens TBC menuju target eliminasi tahun 2030.

Daftar Pustaka

Prasetio, A. A., Fadhila, S. R., Amirus, K., & Nurhalina. (2022). Pengaruh faktor host dan environment terhadap kejadian tuberkulosis paru di Puskesmas Panjang Bandar Lampung tahun 2022. Bagian Ilmu Kesehatan Masyarakat, Fakultas Kedokteran, Universitas Malahayati; Fakultas Kedokteran, Universitas Lampung.

Tobler, W. R. (1970). A computer movie simulating urban growth in the Detroit region. Clark University.

World Health Organization. (2024, August 22). Ministry of Health and WHO release Global Adult Tobacco Survey Indonesia report 2021. WHO Indonesia. https://www.who.int/indonesia/id/news/detail/22-08-2024-ministry-of-health-and-who-release-global-adult-tobacco-survey-indonesia-report-2021

Badan Pusat Statistik. (2024). Tingkat partisipasi angkatan kerja menurut jenis kelamin. https://www.bps.go.id/id/statistics-table/2/MjIwMCMy/tingkat-partisipasi-angkatan-kerja-menurut-jenis-kelamin.html

Dinas Komunikasi dan Informatika Provinsi Jawa Barat. (n.d.). Jumlah kesembuhan tuberkulosis paru terkonfirmasi bakteriologis berdasarkan jenis kelamin di Jawa Barat. Open Data Jabar. https://opendata.jabarprov.go.id/id/dataset/jumlah-kesembuhan-tuberkulosis-paru-terkonfirmasi-bakteriologis-berdasarkan-jenis-kelamin-di-jawa-barat

Dinas Komunikasi dan Informatika Provinsi Jawa Barat. (n.d.). Jumlah kasus tuberkulosis paru terkonfirmasi bakteriologis yang terdaftar dan diobati berdasarkan jenis kelamin di Jawa Barat. Open Data Jabar. https://opendata.jabarprov.go.id/id/dataset/jumlah-kasus-tuberkulosis-paru-terkonfirmasi-bakteriologis-yang-terdaftar-dan-diobati-berdasarkan-jenis-kelamin-di-jawa-barat

World Health Organization. (2012). Implementing the Stop TB strategy: A handbook for national tuberculosis control programmes (ISBN 978‑92‑4‑154667‑6).

Lampiran

Link Dashboard: https://kevinjonathan2023.shinyapps.io/8O5GW8KJ/

Link Dataset (CSV):https://drive.google.com/drive/folders/1OnQflgMlUx4ifw8HsQiHoj4nCMj3chzC?usp=sharing

Link file Geospasial (SHP):https://drive.google.com/drive/folders/19WNyfePy-ujaw9AHSkbgKpPIAm0OEto3?usp=sharing