Abstrak

Pendahuluan

Tujuan analisis:

Data dan Metode

Sumber data. Jumlah kasus pneumonia balita dan jumlah balita per kecamatan bersumber dari Profil Kesehatan Kota Bandung (Dinas Kesehatan Kota Bandung). Batas wilayah kecamatan bersumber dari data GeoJSON administrasi Kota Bandung. Unit analisis: 30 kecamatan; periode: 2016-2021 (enam tahun, 30 kecamatan).

Variabel penelitian. Data memuat variabel respons (jumlah kasus pneumonia balita), populasi berisiko (jumlah balita), serta enam covariate:

Tabel 1. Deskripsi variabel dalam data.
Variabel Peran
Pneumonia Respons
exclusive_breastfeeding Prediktor
DPT_HB_Hib Prediktor
measles Prediktor
vit_A Prediktor
population Offset
poverty Prediktor
altitude Prediktor

Ukuran Epidemiologi. \[ IR=\frac{O_i}{P_i}\times 100{.}000, \quad E_i=P_i\times\frac{\sum O}{\sum P}, \quad SIR_i=\frac{O_i}{E_i} \] dengan \(O_i\) kasus teramati, \(P_i\) populasi balita berisiko. SIR > 1 mengindikasikan risiko di atas rata-rata kota (Clayton & Kaldor, 1987).

Disease mapping. Peta risiko kasar (crude SIR) dan penghalusan Empirical Bayes menggunakan estimator global berdasarkan metode Marshall (1991) untuk menstabilkan estimasi pada wilayah berpopulasi kecil. Autokorelasi spasial diuji dengan Moran’s I (Moran, 1950; Cliff & Ord, 1981)

## [1] "shp/bandung_kecamatan/bandung_kecamatan.shp"

Hasil dan Pembahasan

Analisis Deskriptif

Berdasarkan data pada Tabel 2, kasus & populasi balita per tahun menunjukkan tren penurunan yang sangat positif pada beban penyakit pneumonia, yang tecermin tidak hanya dari penurunan jumlah absolut total kasus tetapi juga secara proporsional melalui angka Incidence Rate kota (IR_kota) dari tahun 2016 hingga 2021. Meskipun total populasi balita berfluktuasi secara dinamis di kisaran 134 ribu hingga 178 ribu jiwa, total kasus pneumonia terus merosot dari 12.579 kasus pada tahun 2016 menjadi hanya 1.733 kasus pada tahun 2021, yang berdampak pada penurunan tajam nilai IR_kota dari 9350,5 menjadi 988,0.

Tabel 2. Ringkasan kasus & populasi balita per tahun.
Tahun Total_Kasus Total_Balita IR_kota
2016 12579 134527 9350.5
2017 10735 173222 6197.2
2018 10525 168898 6231.6
2019 9716 178042 5457.1
2020 4572 163895 2789.6
2021 1733 175410 988.0

Secara keseluruhan, grafik garis ini menunjukkan tren penurunan total kasus pneumonia pada balita yang sangat signifikan sebesar 86,2% dalam kurun waktu lima tahun, yaitu dari 12.579 kasus (2016) menjadi hanya 1.733 kasus (2021). Penurunan ini tidak berjalan konstan melainkan terbagi ke dalam dua fase kontras, dimulai dengan fase penurunan gradual atau alamiah (2016–2019) ketika kasus berkurang landai secara berkala dari 12.579 ke 9.716 kasus sebagai hasil dari program intervensi kesehatan rutin yang berjalan normal. Namun, memasuki tahun 2020 terjadi patahan tren (trend break) yang sangat curam, di mana kasus anjlok sebesar 52,9% dalam satu tahun menjadi 4.572 kasus dan terus merosot tajam sebesar 62,1% hingga menyentuh titik terendah di tahun 2021. Penurunan tajam yang tidak biasa pasca-2019 ini mengindikasikan adanya korelasi kuat dengan intervensi pandemi COVID-19 melalui dua aspek utama; pertama, dampak nyata protokol kesehatan seperti pembatasan sosial yang membuat balita tetap di rumah serta peningkatan higienitas (PHBS) yang secara tidak sengaja memutus rantai penularan droplet udara, dan kedua, adanya faktor administratif (underreporting) akibat keengganan orang tua mengunjungi faskes karena takut tertular serta pergeseran fokus tenaga kesehatan pada penanganan COVID-19 yang menurunkan intensitas skrining aktif. Dengan demikian, meskipun grafik ini merekam keberhasilan pengurangan beban penyakit pneumonia balita yang luar biasa, penurunan ekstrem tersebut merupakan sebuah anomali positif.

Gambar 1. Tren total kasus pneumonia balita.

Gambar 1. Tren total kasus pneumonia balita.

Ukuran Epidemiologi (IR & SIR)

SIR per Kecamatan Seluruh Tahun

Untuk melihat sebaran risiko relatif pneumonia pada balita di tingkat wilayah, dilakukan analisis terhadap nilai Standardized Incidence Ratio (SIR) di 30 kecamatan dari tahun 201 sampai dengan 2021 (Gambar 2).

Gambar 2. Heatmap SIR pneumonia balita per kecamatan, 2017-2021. Merah = risiko di atas rata-rata kota (SIR>1), biru = di bawah rata-rata; kecamatan diurutkan menurun berdasarkan SIR 2021.

Gambar 2. Heatmap SIR pneumonia balita per kecamatan, 2017-2021. Merah = risiko di atas rata-rata kota (SIR>1), biru = di bawah rata-rata; kecamatan diurutkan menurun berdasarkan SIR 2021.

10 Kecamatan SIR Tertinggi per Tahun

Sepuluh kecamatan dengan SIR tertinggi untuk tiap tahun (klik tab tahun). SIR > 1 menandakan risiko di atas rata-rata kota.

2016

Sepuluh kecamatan SIR tertinggi, 2016.
Kecamatan Kasus Balita IR Expected SIR
Andir 1435 5254 27312.5 263.5 5.44
Cicendo 1292 5020 25737.1 251.8 5.13
Bandung Kidul 812 3296 24635.9 165.3 4.91
Cinambo 221 1523 14510.8 76.4 2.89
Sumur Bandung 247 1772 13939.1 88.9 2.78
Cibeunying Kidul 740 6061 12209.2 304.0 2.43
Cidadap 359 2985 12026.8 149.7 2.40
Coblong 723 6169 11719.9 309.4 2.34
Bandung Kulon 828 7435 11136.5 372.9 2.22
Cibiru 474 4265 11113.7 213.9 2.22

2017

Sepuluh kecamatan SIR tertinggi, 2017.
Kecamatan Kasus Balita IR Expected SIR
Cicendo 1583 6490 24391.4 325.5 4.86
Bandung Kidul 860 4245 20259.1 212.9 4.04
Andir 913 6683 13661.5 335.2 2.72
Cinambo 201 1945 10334.2 97.6 2.06
Sukasari 499 5103 9778.6 256.0 1.95
Astanaanyar 445 4919 9046.6 246.7 1.80
Panyileukan 244 2723 8960.7 136.6 1.79
Cidadap 265 3790 6992.1 190.1 1.39
Bandung Kulon 664 9549 6953.6 479.0 1.39
Gedebage 200 2883 6937.2 144.6 1.38

2018

Sepuluh kecamatan SIR tertinggi, 2018.
Kecamatan Kasus Balita IR Expected SIR
Andir 1155 6341 18214.8 318.1 3.63
Cicendo 871 6200 14048.4 311.0 2.80
Bandung Kidul 578 4185 13811.2 209.9 2.75
Sumur Bandung 277 2190 12648.4 109.9 2.52
Sukasari 563 5015 11226.3 251.6 2.24
Cibeunying Kidul 709 7572 9363.4 379.8 1.87
Bandung Kulon 832 9337 8910.8 468.4 1.78
Bojongloa Kidul 544 6136 8865.7 307.8 1.77
Cinambo 152 1902 7991.6 95.4 1.59
Astanaanyar 357 4566 7818.7 229.0 1.56

2019

Sepuluh kecamatan SIR tertinggi, 2019.
Kecamatan Kasus Balita IR Expected SIR
Bandung Kulon 1107 9997 11073.3 501.5 2.21
Panyileukan 284 2921 9722.7 146.5 1.94
Cicendo 560 6466 8660.7 324.3 1.73
Cinambo 158 2002 7892.1 100.4 1.57
Bandung Kidul 344 4363 7884.5 218.9 1.57
Andir 530 6737 7867.0 337.9 1.57
Astanaanyar 354 4784 7399.7 240.0 1.48
Sumur Bandung 170 2314 7346.6 116.1 1.46
Cibeunying Kidul 575 7863 7312.7 394.4 1.46
Sukasari 383 5323 7195.2 267.0 1.43

2020

Sepuluh kecamatan SIR tertinggi, 2020.
Kecamatan Kasus Balita IR Expected SIR
Bandung Kidul 723 4016 18003.0 201.4 3.59
Cinambo 171 1853 9228.3 92.9 1.84
Bandung Kulon 472 8971 5261.4 450.0 1.05
Astanaanyar 183 4354 4203.0 218.4 0.84
Cicendo 241 6003 4014.7 301.1 0.80
Bojongloa Kidul 213 5802 3671.1 291.0 0.73
Andir 219 6226 3517.5 312.3 0.70
Sumur Bandung 75 2133 3516.2 107.0 0.70
Cibeunying Kidul 244 7304 3340.6 366.4 0.67
Panyileukan 80 2777 2880.8 139.3 0.57

2021

Sepuluh kecamatan SIR tertinggi, 2021.
Kecamatan Kasus Balita IR Expected SIR
Cinambo 126 1926 6542.1 96.6 1.30
Arcamanik 174 5726 3038.8 287.2 0.61
Astanaanyar 118 4560 2587.7 228.7 0.52
Babakan Ciparay 212 10629 1994.5 533.2 0.40
Lengkong 65 4185 1553.2 209.9 0.31
Sumur Bandung 34 2253 1509.1 113.0 0.30
Bojongloa Kidul 89 6199 1435.7 310.9 0.29
Andir 88 6570 1339.4 329.6 0.27
Sukasari 66 5148 1282.1 258.2 0.26
Cibeunying Kidul 95 7646 1242.5 383.5 0.25

Disease Mapping: Crude SIR & Empirical Bayes

Keterangan nomor wilayah pada peta.
No Kecamatan No Kecamatan
1 Andir 16 Cicendo
2 Antapani 17 Cidadap
3 Arcamanik 18 Cinambo
4 Astanaanyar 19 Coblong
5 Babakan Ciparay 20 Gedebage
6 Bandung Kidul 21 Kiaracondong
7 Bandung Kulon 22 Lengkong
8 Bandung Wetan 23 Mandalajati
9 Batununggal 24 Panyileukan
10 Bojongloa Kaler 25 Rancasari
11 Bojongloa Kidul 26 Regol
12 Buahbatu 27 Sukajadi
13 Cibeunying Kaler 28 Sukasari
14 Cibeunying Kidul 29 Sumur Bandung
15 Cibiru 30 Ujungberung

2016

2017

2018

2019

2020

2021

Perbandingan Crude SIR vs EB-smoothed SIR

Secara visual, peta crude dan EB tampak serupa karena penyesuaian Empirical Bayes umumnya kecil. Untuk melihat besarnya penyesuaian, tabel berikut menyajikan lima kecamatan dengan selisih |crude − EB| terbesar tiap tahun.

Tabel 4. Lima kecamatan dengan penyesuaian Empirical Bayes terbesar per tahun.
Tahun Kecamatan Balita Crude_SIR EB_SIR Selisih
2016 Bandung Kidul 3296 4.91 4.89 0.02
Andir 5254 5.44 5.43 0.01
Antapani 4380 0.40 0.41 0.01
Arcamanik 4186 1.03 1.04 0.01
Bandung Wetan 1381 0.74 0.75 0.01
2017 Bandung Kidul 4245 4.04 4.02 0.02
Bandung Wetan 1766 0.37 0.38 0.01
Cicendo 6490 4.86 4.85 0.01
Cinambo 1945 2.06 2.05 0.01
Mandalajati 5352 0.44 0.45 0.01
2018 Sumur Bandung 2190 2.52 2.50 0.02
Andir 6341 3.63 3.62 0.01
Arcamanik 5357 0.86 0.87 0.01
Bandung Kidul 4185 2.75 2.74 0.01
Bandung Kulon 9337 1.78 1.77 0.01
2019 Panyileukan 2921 1.94 1.91 0.03
Cidadap 3777 0.62 0.64 0.02
Cinambo 2002 1.57 1.55 0.02
Andir 6737 1.57 1.56 0.01
Antapani 5935 0.72 0.73 0.01
2020 Bandung Kidul 4016 3.59 3.56 0.03
Cinambo 1853 1.84 1.82 0.02
Bandung Wetan 1602 0.17 0.18 0.01
Andir 6226 0.70 0.70 0.00
Antapani 5588 0.25 0.25 0.00
2021 Cinambo 1926 1.30 1.24 0.06
Arcamanik 5726 0.61 0.60 0.01
Astanaanyar 4560 0.52 0.51 0.01
Bandung Kidul 4310 0.03 0.04 0.01
Bandung Wetan 1667 0.05 0.06 0.01

Interpretasi.

Uji Moran’s I per Tahun

Tabel 5. Moran’s I SIR pneumonia balita per tahun
Tahun Moran_I p_value
2016 0.014 0.319
2017 0.022 0.253
2018 0.076 0.151
2019 -0.001 0.392
2020 -0.050 0.529
2021 -0.052 0.537

Interpretasi. Uji Moran’s I pada SIR menunjukkan tidak ada autokorelasi spasial yang signifikan pada seluruh tahun yang digunakan pada makalah ini (p > 0,05, dengan nilai Moran’s I mendekati nol).

Uji Moran’s I Spasio-Temporal

Selain Moran’s I per tahun, perlu diuji pula autokorelasi spasio-temporal melalui perluasan indeks Moran dengan bobot gabungan ruang dan waktu (Lee & Li, 2017). Uji ini menilai apakah SIR tinggi mengelompok tidak hanya secara geografis, tetapi juga terbawa dari tahun ke tahun.

## Moran's I spasio-temporal: 0.221 | p-value (permutasi): 0.001

Interpretasi. Uji Moran’s I spasial per tahun menunjukkan tidak adanya autokorelasi spasial yang signifikan (p > 0,05 pada seluruh tahun, dengan nilai mendekati nol). Sebaliknya, Moran’s I spasio-temporal bernilai 0,221 dan signifikan (p = 0,001). Kontras ini menandakan bahwa autokorelasi pada data pneumonia balita didominasi oleh dimensi temporal, bukan spasial. Risiko suatu kecamatan lebih persisten antarwaktu daripada mengelompok secara geografis dalam satu tahun.

Daftar Pustaka


Informasi sesi R
## R version 4.6.0 (2026-04-24 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26200)
## 
## Matrix products: default
##   LAPACK version 3.12.1
## 
## locale:
## [1] LC_COLLATE=Dutch_Belgium.utf8  LC_CTYPE=Dutch_Belgium.utf8   
## [3] LC_MONETARY=Dutch_Belgium.utf8 LC_NUMERIC=C                  
## [5] LC_TIME=Dutch_Belgium.utf8    
## 
## time zone: Europe/Brussels
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] glmmTMB_1.1.14   patchwork_1.3.2  scales_1.4.0     MASS_7.3-65     
##  [5] kableExtra_1.4.0 knitr_1.51       spdep_1.4-2      spData_2.3.5    
##  [9] sf_1.1-1         readxl_1.5.0     lubridate_1.9.5  forcats_1.0.1   
## [13] stringr_1.6.0    dplyr_1.2.1      purrr_1.2.2      readr_2.2.0     
## [17] tidyr_1.3.2      tibble_3.3.1     ggplot2_4.0.3    tidyverse_2.0.0 
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.1    viridisLite_0.4.3   farver_2.1.2       
##  [4] S7_0.2.2            fastmap_1.2.0       digest_0.6.39      
##  [7] timechange_0.4.0    lifecycle_1.0.5     magrittr_2.0.5     
## [10] compiler_4.6.0      rlang_1.2.0         sass_0.4.10        
## [13] tools_4.6.0         igraph_2.3.2        yaml_2.3.12        
## [16] labeling_0.4.3      sp_2.2-1            classInt_0.4-11    
## [19] xml2_1.5.2          RColorBrewer_1.1-3  KernSmooth_2.23-26 
## [22] numDeriv_2016.8-1.1 withr_3.0.2         grid_4.6.0         
## [25] e1071_1.7-17        cli_3.6.6           rmarkdown_2.31     
## [28] reformulas_0.4.4    generics_0.1.4      otel_0.2.0         
## [31] rstudioapi_0.19.0   tzdb_0.5.0          minqa_1.2.8        
## [34] DBI_1.3.0           cachem_1.1.0        proxy_0.4-29       
## [37] splines_4.6.0       s2_1.1.11           cellranger_1.1.0   
## [40] vctrs_0.7.3         sandwich_3.1-1      boot_1.3-32        
## [43] Matrix_1.7-5        jsonlite_2.0.0      hms_1.1.4          
## [46] systemfonts_1.3.2   jquerylib_0.1.4     units_1.0-1        
## [49] glue_1.8.1          nloptr_2.2.1        stringi_1.8.7      
## [52] gtable_0.3.6        deldir_2.0-4        lme4_2.0-1         
## [55] pillar_1.11.1       htmltools_0.5.9     R6_2.6.1           
## [58] TMB_1.9.21          wk_0.9.5            textshaping_1.0.5  
## [61] Rdpack_2.6.6        evaluate_1.0.5      lattice_0.22-9     
## [64] rbibutils_2.4.1     bslib_0.11.0        class_7.3-23       
## [67] Rcpp_1.1.1-1.1      svglite_2.2.2       nlme_3.1-169       
## [70] mgcv_1.9-4          xfun_0.58           zoo_1.8-15         
## [73] pkgconfig_2.0.3