ANALISIS EPIDEMIOLOGI KASUS TUBERKULOSIS DI SUMATRA UTARA TAHUN 2024

Disusun oleh:

Charles Joshua Nathaniel Waruwu (140610230048)

Dosen Pengampu:

Dr. I Gede Nyoman Mindra Jaya, M.Si



PROGRAM STUDI S-1 STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
JATINANGOR
2025

Abstrak

uberkulosis (TBC) masih menjadi masalah kesehatan masyarakat yang penting di Indonesia, termasuk di Provinsi Sumatera Utara. Penelitian ini bertujuan untuk menganalisis kondisi epidemiologi kasus TBC di Sumatera Utara tahun 2024 serta hubungannya dengan kepadatan penduduk dan jumlah puskesmas pada tingkat kabupaten/kota. Data yang digunakan merupakan data sekunder agregat yang bersumber dari Badan Pusat Statistik dan instansi terkait. Metode analisis meliputi statistika deskriptif, pemetaan spasial, uji autokorelasi spasial (Moran’s I dan Geary’s C), analisis hotspot (Getis–Ord Gi* dan LISA), serta regresi linier Ordinary Least Squares (OLS). Hasil analisis menunjukkan adanya variasi jumlah dan prevalensi TBC antar wilayah, dengan sebaran yang tidak merata secara geografis. Autokorelasi spasial global tidak signifikan, namun analisis lokal mengidentifikasi beberapa wilayah dengan konsentrasi kasus relatif tinggi. Regresi OLS menunjukkan bahwa kepadatan penduduk berpengaruh positif dan signifikan terhadap prevalensi TBC, sedangkan jumlah puskesmas tidak berpengaruh signifikan. Penelitian ini menegaskan pentingnya pendekatan epidemiologi berbasis wilayah dalam perencanaan pengendalian TBC.

Kata kunci: Tuberkulosis, Epidemiologi, Prevalensi, Kepadatan Penduduk, Sumatera Utara

BAB 1 Pendahuluan

Latar Belakang

Hingga saat ini, tuberkulosis (TBC) masih menjadi masalah kesehatan masyarakat utama di Indonesia. Jumlah kasus TBC masih relatif tinggi dan menunjukkan variasi yang signifikan antarwilayah meskipun berbagai program pengendalian telah dilaksanakan secara nasional. Karena jumlah penduduk yang besar, mobilitas yang tinggi, dan heterogenitas kondisi sosial dan layanan kesehatannya, Provinsi Sumatera Utara akan menjadi salah satu provinsi yang paling rentan terhadap TBC pada tahun 2024.

Dari perspektif epidemiologi, pemahaman mengenai besaran dan distribusi kasus TBC menjadi sangat penting untuk menilai tingkat penularan dan dampak penyakit di suatu wilayah. Analisis epidemiologi memungkinkan pengukuran indikator utama seperti jumlah kasus, tingkat kejadian, serta pola penyebaran kasus berdasarkan karakteristik wilayah administratif. Melalui pendekatan ini, perbedaan risiko antar kabupaten/kota di Sumatera Utara pada tahun 2024 dapat diidentifikasi secara lebih sistematis dan terukur.

Analisis epidemiologi juga berguna untuk menyelidiki kondisi lingkungan dan sosial, kepadatan penduduk, dan ketersediaan dan akses ke fasilitas kesehatan seperti puskesmas. Analisis epidemiologi juga menggambarkan distribusi kasus TBC. Variasi capaian program, seperti angka kesembuhan dan keberhasilan pengobatan, dapat memengaruhi dinamika kasus TBC dan menjadi indikator penting dalam menilai upaya pengendalian penyakit.

Rumusan Masalah

Berdasarkan uraian latar belakang yang tertera di atas, maka rumusan masalah dalam penelitian ini adalah sebagai berikut:

  • Bagaimana gambaran beban dan sebaran kasus Tuberkulosis (TBC) di Provinsi Sumatera Utara tahun 2024 pada tingkat kabupaten/kota?

  • Faktor epidemiologis apa saja yang berkaitan dengan variasi jumlah kasus TBC antar wilayah di Sumatera Utara tahun 2024?

  • Apakah terdapat pengaruh spasial antarwilayah dalam distribusi kasus TBC di Provinsi Sumatera Utara tahun 2024?

Tujuan Penelitian

Tujuan Umumnya adalah untuk Menganalisis beban, pola sebaran, dan determinan epidemiologis Tuberkulosis (TBC) di Provinsi Sumatera Utara pada tahun 2024 untuk mendukung perencanaan intervensi kesehatan yang tepat sasaran. Adapun tujuan khususnya adalah sebagai berikut:

  • Menggambarkan besaran beban dan pola sebaran kasus TBC pada tingkat kabupaten/kota di Provinsi Sumatera Utara tahun 2024.

  • Mengidentifikasi faktor epidemiologis yang berkaitan dengan variasi jumlah kasus TBC antar wilayah.

  • Menilai keberadaan pengaruh spasial (spillover) antarwilayah dalam distribusi kasus TBC dan menentukan wilayah prioritas intervensi

BAB 2 Tinjauan Pustaka

Agent-Host-Environment

Dalam konsep epidemiologi, terjadinya penyakit pada manusia merupakan hasil interaksi antara agent, host, dan environment. Agent adalah faktor penyebab suatu penyakit, yang mana berupa biologis (bakteri, virus, jamur), kimia (racun, polutan, asap rokok), fisik (radiasi, trauma, suhu ekstrem), serta sosial (stres, perilaku). Inang (host) adalah organisme yang rentan terkena penyakit, yang mana dipengaruhi oleh faktor genetik, umur, jenis kelamin, maupun perilaku. Lingkungan (environment) mencakup kondisi fisik, sosial, atau biologis yang memungkinkan interaksi agent dan host. Hubungan ketiganya menentukan apakah suatu penyakit muncul atau tidak. Hal inilah yang dimaksud dengan segitiga epidemiologi.

Agent. Dalam konteks penelitian ini, agent adalah Mycobacterium tuberculosis, bakteri penyebab TBC yang bertanggung jawab atas infeksi dan kejadian penyakit yang terukur sebagai variabel respon (Y = jumlah kasus TBC). Karakteristik agent — termasuk virulensi, beban inoculum, dan kemungkinan resistensi obat — menentukan kemampuan bakteri untuk menginfeksi dan menyebabkan penyakit pada individu yang terpapar. Variasi sifat agent di tingkat populasi (mis. strain yang lebih menular atau resistensi terhadap obat) dapat meningkatkan angka kasus meskipun kondisi host dan lingkungan tidak berubah, sehingga penting dipertimbangkan sebagai faktor biologis dasar yang mempengaruhi pola kejadian TBC yang diamati.

Host. Host merujuk pada populasi manusia di kabupaten/kota Sumatera Utara yang berpotensi terinfeksi, dengan kepadatan penduduk (X1) sebagai salah satu indikator utama karakteristik host pada studi ini. Ciri-ciri host meliputi usia, status imunitas, komorbiditas (mis. HIV, diabetes), perilaku (merokok, kepatuhan pengobatan), serta distribusi demografis; kepadatan penduduk meningkatkan frekuensi kontak antarindividu sehingga memperbesar peluang penularan dari agent ke host dan berkontribusi terhadap peningkatan jumlah kasus (Y). Oleh karena itu, analisis yang mengaitkan X1 dengan Y membantu menjelaskan bagaimana karakteristik dan struktur populasi memodulasi risiko infeksi dan penyebaran TBC di tingkat wilayah.

Environment. Environment mencakup aspek fisik, sosial, dan layanan kesehatan yang mempengaruhi interaksi antara agent dan host; dalam penelitian ini, keberadaan dan distribusi fasilitas layanan primer seperti puskesmas (X2) menjadi representasi penting dari dimensi lingkungan. Kondisi perumahan, ventilasi, sanitasi, akses air bersih, kemiskinan, mobilitas masyarakat, serta ketersediaan dan kualitas layanan kesehatan (mis. jumlah puskesmas, kemampuan skrining dan pengobatan) akan memengaruhi baik penularan maupun deteksi dan pelaporan kasus TBC. Dengan demikian X2 berperan ganda: secara teoritis puskesmas yang lebih banyak dan merata dapat menurunkan beban penyakit melalui deteksi dini dan pengobatan efektif, namun juga dapat meningkatkan angka terlapor karena kapasitas deteksi yang lebih baik — semua ini menunjukkan peran lingkungan dalam membentuk pola Y yang diamati.

Ukuran Asosiasi

Dalam epidemiologi, ukuran asosiasi mencakup seberapa kuat hubungan antara paparan (exposure) dengan hasil (outcome).
Secara umum, ukuran asosiasi terbagi menjadi dua, yaitu Relative Risk (RR) dan Odds Ratio (OR).

Relative Risk (RR)

Relative Risk (RR) membandingkan risiko penyakit antara kelompok yang terpapar dan kelompok yang tidak terpapar pada studi kohort.
Secara matematis, RR dirumuskan sebagai:

\[ RR = \frac{CI_{terpapar}}{CI_{tidak\ terpapar}} \]

dengan:

  • \(CI_{terpapar}\) : proporsi orang yang terpapar penyakit
  • \(CI_{tidak\ terpapar}\) : proporsi orang yang tidak terpapar penyakit

Interpretasi:
- RR = 1 → menunjukkan bahwa risikonya sama
- RR > 1 → paparan meningkatkan risiko penyakit
- RR < 1 → paparan berarti melindungi dari penyakit

Odds Ratio (OR)

Odds Ratio (OR) membandingkan peluang terjadinya penyakit pada kelompok terpapar dibanding kelompok tidak terpapar.
OR biasanya digunakan pada studi kasus–kontrol. Secara matematis, OR dirumuskan sebagai:

\[ OR = \frac{a/b}{c/d} = \frac{ad}{bc} \]

Interpretasi:
- OR = 1 → tidak ada hubungan antara paparan dan penyakit
- OR > 1 → paparan meningkatkan peluang terkena penyakit (faktor risiko)
- OR < 1 → paparan menurunkan peluang terkena penyakit (faktor pelindung)

Desain Studi

Desain studi epidemiologi digunakan untuk menjawab pertanyaan mengenai frekuensi, determinasi, dan efektivitas intervensi pada masalah kesehatan.
Secara umum, desain studi dibagi menjadi dua jenis besar: studi observasional dan studi eksperimental.

Studi Observasional

Pada studi observasional, peneliti tidak memberikan intervensi langsung, hanya mengamati hubungan antara paparan (exposure) dan penyakit (outcome).
Terdapat tiga jenis utama:

  • Cross-sectional study
    Mengukur paparan dan penyakit pada satu titik waktu yang sama.
    Tujuannya untuk mengestimasi prevalensi serta mengeksplorasi asosiasi awal (hipotesis) antara faktor risiko dan penyakit.

  • Case-control study
    Memilih kelompok kasus (sakit) dan kontrol (tidak sakit), lalu menelusuri paparan di masa lalu.
    Desain ini efisien untuk penyakit langka dan digunakan untuk menguji hipotesis hubungan antara paparan dan penyakit.

  • Cohort study
    Mengikuti kelompok terpapar dan tidak terpapar ke depan (prospektif) atau ke belakang (retrospektif) untuk melihat kejadian penyakit.
    Desain ini dapat menghitung insidens dan Relative Risk (RR).

Studi Eksperimental

Pada studi eksperimental, peneliti memberikan intervensi langsung dan biasanya melakukan pengacakan (randomisasi) antara kelompok perlakuan dan kontrol. Desain ini dikenal sebagai Randomized Controlled Trial (RCT), di mana peserta dibagi secara acak untuk menilai efektivitas intervensi seperti obat, vaksin, atau program kesehatan.

BAB 3 Metodologi Penelitian

Sumber Data

Penelitian ini menggunakan data sekunder yang bersumber dari Badan Pusat Statistik (BPS) Sumatra Utara serta instansi resmi terkait. Data yang digunakan bersifat cross-sectional serta menunjukkan kondisi kabupaten/kota di Provinsi Sumatera Utara dengan satu periode pengamatan, yaitu tahun 2024. Selain data kasus TBC, penelitian ini juga memanfaatkan data pendukung yang mencakup indikator epidemiologis dan determinan kesehatan, seperti kepadatan penduduk dan jumlah puskesmas. Kedua data tersebut diperoleh dari Badan Pusat Statistik (BPS) yang relevan dengan tahun pengamatan. Penggunaan data dari sumber resmi bertujuan untuk memastikan konsistensi, validitas, serta reliabiltas informasi.

Variabel Penelitian

Variabel dependen dalam penelitian ini adalah jumlah kasus Tuberkulosis (TBC), yaitu total kasus TBC yang terlapor di setiap kabupaten/kota di Provinsi Sumatera Utara selama tahun 2024. Variabel ini digunakan untuk menggambarkan besaran beban penyakit TBC pada tingkat wilayah administratif dan menjadi indikator utama dalam analisis epidemiologi.

Variabel independen pertama adalah kepadatan penduduk (X1), yang didefinisikan sebagai jumlah penduduk per satuan luas wilayah (jiwa per km²) pada tingkat kabupaten/kota. Kepadatan penduduk digunakan sebagai proksi intensitas interaksi antarmanusia yang berpotensi memengaruhi penularan TBC. Wilayah dengan kepadatan penduduk yang lebih tinggi diasumsikan memiliki risiko penularan yang lebih besar akibat frekuensi kontak yang lebih intens, sehingga variabel ini diperkirakan berhubungan positif dengan jumlah kasus TBC.

Variabel independen kedua adalah jumlah puskesmas (X2), yaitu total fasilitas pelayanan kesehatan tingkat pertama yang beroperasi di setiap kabupaten/kota pada tahun 2024. Variabel ini merepresentasikan ketersediaan dan akses layanan kesehatan dalam mendukung deteksi dini, pengobatan, dan pengendalian TBC. Jumlah puskesmas diasumsikan dapat memengaruhi jumlah kasus TBC yang terlapor, baik melalui peningkatan temuan kasus akibat akses layanan yang lebih baik maupun melalui pengendalian penyakit yang lebih efektif.

Metode Analisis Data

Analisis Data ini dilakukan secara bertahap untuk mengungkap kejadian Tuberkulosis secara epidemiologi pada tahun 2024 di Provinsi Sumatera Utara. Berbagai tahapan yang ada adalah sebagai berikut:

  1. Pengumpulan Data Sekunder

Tahap awal penelitian ini dimulai dengan pengumpulan data sekunder yang diperoleh dari situs resmi instansi terkait, seperti Kementerian Kesehatan Republik Indonesia, Dinas Kesehatan provinsi atau kabupaten/kota, serta Badan Pusat Statistik. Data sekunder merupakan data yang telah dikumpulkan oleh pihak lain untuk tujuan tertentu dan tersedia untuk digunakan kembali dalam penelitian. Dalam konteks penelitian tuberkulosis ini, data yang dikumpulkan mencakup jumlah kasus TBC, jumlah penduduk, serta variabel-variabel lain yang diduga berpengaruh terhadap prevalensi TBC di setiap wilayah kajian. Penggunaan data sekunder memiliki keunggulan dari segi efisiensi waktu dan biaya, serta menjamin cakupan wilayah yang luas dengan data yang telah terstandarisasi oleh lembaga resmi.

  1. Deskripsi Kasus dan Proses Terjadinya Tuberkulosis

Bagian ini menyajikan gambaran komprehensif mengenai karakteristik penyakit tuberkulosis, mulai dari definisi, etiologi, hingga mekanisme patofisiologis terjadinya penyakit. Deskripsi mencakup penjelasan tentang bagaimana bakteri Mycobacterium tuberculosis menginfeksi tubuh manusia, tahapan perkembangan penyakit dari infeksi primer hingga TBC aktif, serta manifestasi klinis yang muncul. Analisis ini juga menguraikan faktor-faktor risiko yang mempengaruhi kerentanan seseorang terhadap TBC, seperti kondisi sosial ekonomi, kepadatan hunian, status gizi, dan komorbiditas. Pemahaman mendalam tentang proses terjadinya penyakit ini menjadi landasan penting untuk menginterpretasikan hasil analisis spasial dan statistik yang dilakukan pada tahap selanjutnya.

  1. Statistika Deskriptif

Analisis statistika deskriptif digunakan untuk memberikan gambaran awal mengenai distribusi dan karakteristik data prevalensi TBC di wilayah kajian. Histogram digunakan untuk memvisualisasikan distribusi frekuensi prevalensi TBC, sehingga dapat diketahui apakah data berdistribusi normal, menceng ke kiri atau ke kanan, serta ada tidaknya pola bimodal atau multimodal. Boxplot membantu mengidentifikasi nilai tengah, sebaran data, serta keberadaan outlier atau nilai ekstrem yang mungkin mengindikasikan wilayah dengan kondisi khusus. Sementara itu, peta sebaran memberikan visualisasi spasial yang memudahkan identifikasi pola geografis kejadian TBC, seperti pengelompokan kasus (clustering) di wilayah tertentu atau penyebaran yang merata. Ketiga teknik visualisasi ini saling melengkapi untuk memberikan pemahaman komprehensif tentang karakteristik data sebelum dilakukan analisis inferensial yang lebih mendalam.

  1. Prevalensi Tuberkulsis

Prevalensi TBC dihitung sebagai ukuran proporsi kasus TBC yang ada dalam populasi pada waktu tertentu, umumnya dinyatakan dalam satuan per 10.000 penduduk. Perhitungan prevalensi dilakukan dengan membagi jumlah kasus TBC di suatu wilayah dengan jumlah total penduduk di wilayah tersebut, kemudian dikalikan 10.000 untuk memudahkan interpretasi dan perbandingan antar wilayah. Angka prevalensi ini menjadi indikator epidemiologis yang sangat penting karena mencerminkan beban penyakit TBC di masing-masing wilayah dan dapat digunakan untuk mengevaluasi efektivitas program pengendalian TBC. Analisis prevalensi juga memungkinkan identifikasi wilayah dengan angka kejadian tinggi (hotspot) yang memerlukan intervensi prioritas, serta wilayah dengan prevalensi rendah yang dapat dijadikan model pembelajaran praktik terbaik dalam pengendalian TBC.

  1. Autokorelasi Spasial

Analisis autokorelasi spasial digunakan untuk menguji apakah terdapat ketergantungan atau keterkaitan nilai prevalensi TBC antar wilayah yang berdekatan secara geografis. Metode yang umum digunakan adalah Indeks Moran’s I yang mengukur derajat kemiripan nilai-nilai yang diamati di lokasi yang bertetangga, dengan nilai berkisar antara -1 hingga +1. Nilai Moran’s I positif dan signifikan menunjukkan adanya autokorelasi spasial positif, yang berarti wilayah dengan prevalensi tinggi cenderung bertetangga dengan wilayah prevalensi tinggi lainnya (cluster tinggi), dan sebaliknya untuk wilayah dengan prevalensi rendah. Sebaliknya, nilai negatif mengindikasikan pola sebaran yang tersebar (dispersed), di mana wilayah dengan nilai tinggi dikelilingi oleh wilayah dengan nilai rendah. Pemahaman tentang autokorelasi spasial ini sangat krusial karena mempengaruhi pemilihan model regresi yang tepat, di mana keberadaan autokorelasi spasial yang signifikan mengharuskan penggunaan model regresi spasial daripada model regresi klasik untuk menghindari bias dalam estimasi parameter.

  1. Model Regresi OLS dan Pemilihan Model Terbaik

Model regresi Ordinary Least Squares (OLS) digunakan sebagai baseline untuk mengidentifikasi faktor-faktor yang berpengaruh signifikan terhadap prevalensi TBC di wilayah kajian. Metode OLS bekerja dengan meminimalkan jumlah kuadrat residual untuk mendapatkan estimasi parameter yang paling optimal. Variabel independen yang dimasukkan dalam model dapat mencakup faktor sosial ekonomi seperti tingkat kemiskinan, kepadatan penduduk, akses layanan kesehatan, tingkat pendidikan, dan kondisi lingkungan. Pemilihan model terbaik dilakukan melalui evaluasi berbagai kriteria statistik seperti koefisien determinasi (R²) yang mengukur proporsi variabilitas data yang dapat dijelaskan oleh model, Akaike Information Criterion (AIC) atau Bayesian Information Criterion (BIC) untuk membandingkan model dengan jumlah variabel yang berbeda, serta uji asumsi klasik yang mencakup normalitas residual, homoskedastisitas, non-multikolinearitas, dan independensi residual.

BAB 4 Hasil dan Pembahasan

Deskripsi Kasus Dan Proses Tuberkulosis

Tuberkulosis (TBC) merupakan penyakit menular yang disebabkan oleh bakteri Mycobacterium tuberculosis dan masih menjadi masalah kesehatan masyarakat global yang signifikan. Menurut World Health Organization (2023), TBC menyerang sekitar 10,6 juta orang di seluruh dunia setiap tahunnya, dengan angka kematian mencapai 1,3 juta kasus. Di Indonesia, TBC masih menempati posisi kedua sebagai negara dengan beban TBC tertinggi di dunia setelah India. Penyakit ini paling sering menyerang paru-paru (TBC paru), namun dapat juga menginfeksi organ tubuh lainnya seperti kelenjar getah bening, tulang, ginjal, dan otak yang dikenal sebagai TBC ekstraparu. Kelompok yang paling rentan terhadap penyakit ini adalah individu dengan sistem kekebalan tubuh yang lemah, termasuk penderita HIV/AIDS, diabetes, malnutrisi, serta lansia (Kemenkes RI, 2020).

Proses terjadinya infeksi TBC dimulai ketika seseorang menghirup droplet atau percikan dahak yang mengandung bakteri M. tuberculosis dari penderita TBC aktif yang batuk, bersin, atau berbicara. Bakteri yang terhirup akan masuk ke dalam saluran pernapasan dan mencapai alveoli paru-paru. Di alveoli, bakteri ini akan difagositosis oleh makrofag alveolar sebagai respons pertahanan tubuh pertama. Namun, M. tuberculosis memiliki kemampuan unik untuk bertahan hidup di dalam makrofag dengan cara menghambat fusi fagosom-lisosom, sehingga bakteri dapat terus berkembang biak di dalam sel fagosit tersebut (Pai et al., 2016). Proses ini menandai tahap awal infeksi primer TBC yang umumnya tidak menimbulkan gejala klinis yang jelas.

Setelah infeksi primer terjadi, sistem imun tubuh akan merespons dengan membentuk granuloma, yaitu struktur berbentuk nodul yang terdiri dari kumpulan makrofag, limfosit, dan sel-sel imun lainnya yang mengelilingi bakteri. Granuloma ini berfungsi sebagai “penjara” untuk membatasi penyebaran bakteri ke bagian tubuh lainnya. Pada sebagian besar individu dengan sistem imun yang baik, sekitar 90-95% kasus akan memasuki fase laten di mana bakteri tetap hidup namun tidak aktif dan tidak menimbulkan gejala serta tidak menular. Namun, pada 5-10% kasus, terutama pada individu dengan sistem imun yang lemah, bakteri dapat terus berkembang dan menyebabkan TBC aktif primer. Selain itu, infeksi laten juga dapat mengalami reaktivasi menjadi TBC aktif sekunder di kemudian hari ketika sistem kekebalan tubuh menurun (Dheda et al., 2016).

Ketika TBC berkembang menjadi aktif, bakteri mulai merusak jaringan paru-paru dan menyebabkan proses nekrosis kaseosa, yaitu kematian jaringan yang menghasilkan massa seperti keju. Proses ini mengakibatkan terbentuknya kavitas atau rongga pada paru-paru yang dapat terlihat pada pemeriksaan foto rontgen. Gejala klinis yang muncul meliputi batuk berkepanjangan lebih dari dua minggu yang kadang disertai darah, demam terutama pada sore dan malam hari, keringat malam, penurunan berat badan, dan kelelahan yang berlebihan. Pada tahap ini, penderita menjadi sangat menular karena ketika batuk atau bersin, jutaan bakteri dapat tersebar ke udara dan menginfeksi orang lain di sekitarnya, terutama dalam ruangan tertutup dengan ventilasi buruk (Zumla et al., 2015).

Diagnosis TBC dilakukan melalui pemeriksaan mikroskopis dahak untuk menemukan bakteri tahan asam, pemeriksaan tes cepat molekuler seperti GeneXpert MTB/RIF yang dapat mendeteksi bakteri dan resistensi obat, serta foto rontgen thoraks untuk melihat kelainan pada paru-paru. Pengobatan TBC memerlukan kombinasi antibiotik yang harus diminum secara teratur selama minimal enam bulan untuk memastikan bakteri benar-benar mati dan mencegah resistensi obat. Strategi Directly Observed Treatment Short-course (DOTS) yang direkomendasikan WHO menekankan pentingnya pengawasan langsung minum obat untuk meningkatkan angka kesembuhan dan mencegah kasus putus obat yang dapat menyebabkan munculnya TBC resisten obat (Kemenkes RI, 2020; WHO, 2023).

Statistika Deskriptif

Analisis statistika deskriptif digunakan untuk memberikan gambaran awal mengenai karakteristik data penelitian melalui ukuran pemusatan dan penyebaran, seperti nilai minimum, maksimum, rata-rata, median, dan kuartil. Melalui analisis ini, dapat diketahui pola umum data, tingkat variasi antar wilayah, serta adanya ketimpangan atau nilai ekstrem pada beberapa kabupaten/kota. Informasi deskriptif ini penting sebagai dasar pemahaman kondisi epidemiologi TBC sebelum dilakukan analisis lanjutan, sehingga membantu peneliti dalam menafsirkan hasil analisis secara lebih tepat dan kontekstual.

# Import Data
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.3.3
data = read.xlsx("C:/Users/MSI Cyborg15/OneDrive/Documents/college/Semester 5/Epidem/uassss/data_tbc_sumut.xlsx")
head(data)
##       Kabupaten.Kota    Y  X1 X2
## 1             Asahan 1865 221 31
## 2          Batu Bara  923 500 15
## 3              Dairi 1117 161 18
## 4       Deli Serdang 5972 805 37
## 5 Humbang Hasundutan  482  89 12
## 6               Karo 1222 196 19
# Statistika Deskriptif
summary(data)
##  Kabupaten.Kota           Y               X1             X2       
##  Length:33          Min.   :   49   Min.   :  42   Min.   : 5.00  
##  Class :character   1st Qu.:  610   1st Qu.:  96   1st Qu.:12.00  
##  Mode  :character   Median :  775   Median : 178   Median :17.00  
##                     Mean   : 1571   Mean   :1171   Mean   :18.91  
##                     3rd Qu.: 1379   3rd Qu.: 707   3rd Qu.:21.00  
##                     Max.   :17161   Max.   :8945   Max.   :47.00

Berdasarkan statistik deskriptif, jumlah kasus TBC (Y) pada 33 kabupaten/kota di Sumatera Utara menunjukkan variasi yang cukup besar. Nilai minimum kasus TBC tercatat sebesar 49 kasus, sementara nilai maksimum mencapai 17.161 kasus, dengan rata-rata sebesar 1.571 kasus dan median 775 kasus. Perbedaan yang cukup jauh antara nilai rata-rata dan median mengindikasikan adanya distribusi yang tidak simetris, di mana beberapa kabupaten/kota memiliki jumlah kasus yang sangat tinggi dibandingkan wilayah lainnya. Hal ini mencerminkan adanya ketimpangan beban penyakit TBC antar wilayah, yang kemungkinan dipengaruhi oleh faktor demografis, kepadatan penduduk, maupun kapasitas layanan kesehatan.

Variabel kepadatan penduduk (X1) juga memperlihatkan variasi yang besar, dengan nilai minimum 42 jiwa/km² dan maksimum mencapai 8.945 jiwa/km². Rata-rata kepadatan penduduk sebesar 1.171 jiwa/km² dan median 178 jiwa/km² menunjukkan bahwa sebagian besar wilayah memiliki kepadatan relatif rendah, namun terdapat beberapa daerah dengan kepadatan sangat tinggi yang berpotensi meningkatkan risiko penularan TBC. Sementara itu, jumlah puskesmas (X2) berkisar antara 5 hingga 47 unit, dengan rata-rata sekitar 19 puskesmas per kabupaten/kota. Variasi jumlah puskesmas ini mencerminkan perbedaan kapasitas layanan kesehatan dasar antar wilayah, yang dapat memengaruhi kemampuan deteksi, pelaporan, dan pengendalian kasus TBC secara efektif.

# Variabel Numerik
vars = data[, c("Y", "X1", "X2")]

# Layout Panel
par(mfrow = c(1, 3),  # 2 baris, 3 kolom
    mar = c(4, 4, 2, 1))

# Histogram
for (i in colnames(vars)) {
  hist(vars[[i]],
       main = paste("Histogram", i),
       xlab = i,
       col = "lightblue",
       border = "white")
}

# Boxplot
for (i in colnames(vars)) {
  boxplot(vars[[i]],
       main = paste("Histogram", i),
       xlab = i,
       col = "lightblue",
       border = "maroon")
}

Secara umum, grafik histogram dan boxplot menunjukkan bahwa data tidak berdistribusi normal dan cenderung miring ke kanan, dengan keberadaan beberapa nilai ekstrem pada sejumlah wilayah. Sebagian besar observasi terkonsentrasi pada nilai rendah hingga menengah, sementara hanya sedikit wilayah yang memiliki nilai sangat tinggi. Kondisi ini mencerminkan adanya ketimpangan antar kabupaten/kota, di mana beban kasus dan karakteristik wilayah tertentu jauh lebih menonjol dibandingkan wilayah lainnya.

# Library
library(sp)
## Warning: package 'sp' was built under R version 4.3.3
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(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(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(ggplot2)

# Shapefile
Indo = st_read("C:/Users/MSI Cyborg15/OneDrive/Documents/college/Semester 5/Epidem/uassss/gadm41_IDN_2.json")
## Reading layer `gadm41_IDN_2' from data source 
##   `C:\Users\MSI Cyborg15\OneDrive\Documents\college\Semester 5\Epidem\uassss\gadm41_IDN_2.json' 
##   using driver `GeoJSON'
## Simple feature collection with 502 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 95.0102 ymin: -11.0075 xmax: 141.0194 ymax: 6.0766
## Geodetic CRS:  WGS 84
# Filter Sumatera Utara
sumut = Indo[Indo$NAME_1 == "SumateraUtara",]

# Hapus Lake Toba (bukan kab/kota)
sumut <- sumut %>%
  filter(NAME_2 != "LakeToba")

# Penyesuaian NAma
sumut$NAME_2 <- dplyr::recode(
  sumut$NAME_2,
  "Asahan"             = "Asahan",
  "BatuBara"           = "Batu Bara",
  "Dairi"              = "Dairi",
  "DeliSerdang"        = "Deli Serdang",
  "Gunungsitoli"       = "Kota Gunungsitoli",
  "HumbangHasundutan"  = "Humbang Hasundutan",
  "Karo"               = "Karo",
  "KotaBinjai"         = "Kota Binjai",
  "KotaMedan"          = "Kota Medan",
  "KotaTanjungbalai"   = "Kota Tanjung Balai",
  "Labuhanbatu"        = "Labuhan Batu",
  "LabuhanbatuSelatan" = "Labuhan Batu Selatan",
  "LabuhanbatuUtara"   = "Labuhan Batu Utara",
  "Langkat"            = "Langkat",
  "MandailingNatal"    = "Mandailing Natal",
  "Nias"               = "Nias",
  "NiasBarat"          = "Nias Barat",
  "NiasSelatan"        = "Nias Selatan",
  "NiasUtara"          = "Nias Utara",
  "PadangLawas"        = "Padang Lawas",
  "PadangLawasUtara"   = "Padang Lawas Utara",
  "Padangsidimpuan"    = "Kota Padangsidimpuan",
  "PakpakBarat"        = "Pakpak Bharat",
  "Pematangsiantar"    = "Kota Pematang Siantar",
  "Samosir"            = "Samosir",
  "SerdangBedagai"     = "Serdang Bedagai",
  "Sibolga"            = "Kota Sibolga",
  "Simalungun"         = "Simalungun",
  "TapanuliSelatan"    = "Tapanuli Selatan",
  "TapanuliTengah"     = "Tapanuli Tengah",
  "TapanuliUtara"      = "Tapanuli Utara",
  "Tebingtinggi"       = "Kota Tebing Tinggi",
  "TobaSamosir"        = "Toba Samosir"
)

# Konversi ke sf
sumut_sf <- st_as_sf(sumut)

# Join dengan data TBC
sumut_merged <- sumut_sf %>%
  left_join(
    data,
    by = c("NAME_2" = "Kabupaten.Kota")
  )

# Peta Sebaran
vars_num <- sumut_merged %>%
  st_drop_geometry() %>%
  dplyr::select(where(is.numeric)) %>%
  names()

for (v in vars_num) {
  p <- ggplot(sumut_merged) +
    geom_sf(aes(fill = .data[[v]]), color = "white", linewidth = 0.2) +
    scale_fill_viridis_c(option = "C", na.value = "grey90") +
    labs(
      title = paste("Sebaran", v, "di Sumatra Utara"),
      fill  = v
    ) +
    theme_minimal()
  
  print(p)
}

Secara keseluruhan, peta sebaran menunjukkan adanya ketimpangan spasial yang jelas antar kabupaten/kota di Sumatera Utara. Konsentrasi nilai tinggi pada beberapa wilayah tertentu mengindikasikan bahwa fenomena yang dikaji tidak tersebar merata, melainkan cenderung mengelompok pada area dengan karakteristik tertentu. Wilayah dengan intensitas lebih tinggi tampak terkonsentrasi di pusat-pusat aktivitas dan kawasan strategis, sementara wilayah lain relatif lebih rendah dan homogen. Pola ini mengisyaratkan adanya keterkaitan antara kondisi wilayah, aktivitas manusia, serta ketersediaan fasilitas yang berpotensi memengaruhi variasi antar daerah, sehingga memperkuat pentingnya pendekatan spasial dalam memahami perbedaan kondisi antar kabupaten/kota.

Prevalensi Tuberkulosis

Prevalensi TBC digunakan untuk menggambarkan beban penyakit TBC dalam suatu wilayah pada periode tertentu, yaitu seberapa besar proporsi penduduk yang sedang menderita TBC. Indikator ini penting untuk membandingkan tingkat masalah TBC antar wilayah, meskipun jumlah penduduknya berbeda-beda, sehingga analisis menjadi lebih adil dan informatif. Selain itu, prevalensi TBC membantu perencanaan dan evaluasi program kesehatan, seperti penentuan prioritas intervensi, alokasi sumber daya, serta pemantauan efektivitas pengendalian TBC dari waktu ke waktu.

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
library(dplyr)

# Baca data
data_tbc <- read_excel("C:/Users/MSI Cyborg15/OneDrive/Documents/college/Semester 5/Epidem/uassss/data_tbc_sumut.xlsx")
data_penduduk <- read_excel("C:/Users/MSI Cyborg15/OneDrive/Documents/college/Semester 5/Epidem/uassss/jumlah penduduk.xlsx")

data_merged <- data_tbc %>%
  left_join(data_penduduk, by = "Kabupaten Kota")

data_merged <- data_merged %>%
  mutate(
    Prevalensi_TBC =
      (`Y` / `Jumlah`) * 10000
  )

data_merged %>%
  dplyr::select(`Kabupaten Kota`, Prevalensi_TBC)
## # A tibble: 33 × 2
##    `Kabupaten Kota`     Prevalensi_TBC
##    <chr>                         <dbl>
##  1 Asahan                         22.9
##  2 Batu Bara                      21.1
##  3 Dairi                          33.8
##  4 Deli Serdang                   29.2
##  5 Humbang Hasundutan             23.3
##  6 Karo                           28.7
##  7 Kota Binjai                    59.3
##  8 Kota Gunungsitoli              20.5
##  9 Kota Medan                     69.0
## 10 Kota Padangsidimpuan           34.1
## # ℹ 23 more rows

Tabel prevalensi TBC menunjukkan adanya variasi yang cukup besar antar kabupaten/kota di Sumatera Utara, yang mengindikasikan bahwa beban TBC tidak tersebar merata. Beberapa wilayah perkotaan seperti Kota Medan dan Kota Binjai memiliki prevalensi relatif lebih tinggi dibandingkan banyak kabupaten lain, yang dapat mencerminkan kepadatan penduduk yang tinggi, mobilitas masyarakat, serta sistem deteksi kasus yang lebih aktif. Sementara itu, kabupaten dengan prevalensi lebih rendah tidak selalu berarti bebas masalah TBC, tetapi bisa juga dipengaruhi oleh keterbatasan pelaporan atau akses layanan kesehatan.

par(
  mfrow = c(1, 2),
  mar = c(5, 4, 4, 2)
)
hist(
  data_merged$Prevalensi_TBC,
  col = "lightskyblue",
  border = "black",
  main = "Histogram",
  xlab = "Prevalensi TBC (%)"
)
boxplot(
  data_merged$Prevalensi_TBC,
  col = "indianred1",
  main = "Boxplot",
  ylab = "Prevalensi TBC (%)"
)

Histogram dan boxplot prevalensi TBC menunjukkan bahwa distribusi data tidak simetris dan cenderung menceng ke kanan, di mana sebagian besar kabupaten/kota memiliki prevalensi pada kisaran rendah hingga menengah, sementara hanya beberapa wilayah yang memiliki nilai prevalensi sangat tinggi. Boxplot mengindikasikan adanya outlier, yang menandakan daerah tertentu dengan beban TBC jauh lebih besar dibandingkan wilayah lain. Pola ini mencerminkan ketimpangan epidemiologi TBC antar wilayah di Sumatera Utara dan menguatkan perlunya fokus intervensi pada daerah-daerah dengan prevalensi ekstrem.

names(sumut_merged)
##  [1] "GID_2"     "GID_0"     "COUNTRY"   "GID_1"     "NAME_1"    "NL_NAME_1"
##  [7] "NAME_2"    "VARNAME_2" "NL_NAME_2" "TYPE_2"    "ENGTYPE_2" "CC_2"     
## [13] "HASC_2"    "Y"         "X1"        "X2"        "geometry"
names(data_merged)
## [1] "Kabupaten Kota" "Y"              "X1"             "X2"            
## [5] "Jumlah"         "Prevalensi_TBC"
data_merged <- data_merged %>%
  rename(NAME_2 = `Kabupaten Kota`)

library(stringr)
## Warning: package 'stringr' was built under R version 4.3.3
sumut_merged$NAME_2 <- str_to_upper(sumut_merged$NAME_2)
data_merged$NAME_2 <- str_to_upper(data_merged$NAME_2)

sumut_map <- sumut_merged %>%
  left_join(
    data_merged %>% dplyr::select(NAME_2, Prevalensi_TBC),
    by = "NAME_2"
  )

library(ggplot2)

ggplot(sumut_map) +
  geom_sf(aes(fill = Prevalensi_TBC), color = "white") +
  scale_fill_viridis_c(option = "plasma", na.value = "grey90") +
  labs(
    title = "Peta Sebaran Prevalensi TBC Kabupaten/Kota
    di Sumatera Utara Tahun 2024",
    fill = "Prevalensi TBC\n(per 10.000)"
  ) +
  theme_minimal()

Peta sebaran menunjukkan bahwa prevalensi TBC antar kabupaten/kota di Provinsi Sumatera Utara tidak merata: sebagian besar wilayah berwarna ungu gelap–ungu menandakan prevalensi rendah–sedang, sementara terdapat beberapa wilayah kecil berwarna oranye–kuning yang menjadi hotspot dengan prevalensi jauh lebih tinggi (per 10.000 penduduk). Pola spasial ini mengindikasikan adanya konsentrasi kasus pada beberapa daerah tertentu daripada penyebaran yang homogen di seluruh provinsi.

Temuan tersebut penting secara programatik karena menunjukkan titik fokus bagi intervensi—wilayah dengan prevalensi tinggi perlu ditindaklanjuti dengan penguatan deteksi, pengobatan, dan penyelidikan determinan lokal. Selain itu, peta mengarahkan kebutuhan analisis lanjut untuk menguji faktor penjelas (mis. kepadatan penduduk, akses layanan kesehatan, atau kualitas pelaporan) serta melakukan uji autokorelasi spasial untuk memastikan apakah pola klaster yang terlihat signifikan secara statistik.

Autokorelasi Spasial

Autokorelasi spasial digunakan untuk mengetahui apakah suatu fenomena (misalnya prevalensi atau kasus TBC) memiliki pola keterkaitan antarwilayah—apakah nilai di satu daerah cenderung mirip dengan daerah sekitarnya atau terjadi secara acak.

library(sp)
library(spdep)

library(dplyr)
library(stringr)

sumut_sf$NAME_2   <- str_to_upper(sumut_sf$NAME_2)
data_merged$NAME_2 <- str_to_upper(data_merged$NAME_2)

sumut_sf <- sumut_sf %>%
  left_join(
    data_merged %>% dplyr::select(NAME_2, Prevalensi_TBC),
    by = "NAME_2"
  )

sumut_sp <- as_Spatial(sumut_sf)
class(sumut_sp)
## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
coords <- coordinates(sumut_sp)
knn <- knearneigh(coords, k = 2)
nb  <- knn2nb(knn)
## Warning in knn2nb(knn): neighbour object has 2 sub-graphs
WL  <- nb2listw(nb, style = "W", zero.policy = TRUE)

x <- sumut_sp$Prevalensi_TBC
x[is.na(x)] <- 0

moran.test(x, WL, zero.policy = TRUE)
## 
##  Moran I test under randomisation
## 
## data:  x  
## weights: WL    
## 
## Moran I statistic standard deviate = 0.24953, p-value = 0.4015
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic       Expectation          Variance 
##        0.00366054       -0.03125000        0.01957296

Hasil uji Moran’s I menunjukkan bahwa nilai statistik Moran’s I sebesar 0,0037 dengan nilai harapan −0,0313 dan p-value sebesar 0,4015, yang lebih besar dari tingkat signifikansi 5%. Hal ini mengindikasikan bahwa tidak terdapat autokorelasi spasial yang signifikan pada variabel yang dianalisis, sehingga pola sebarannya cenderung acak secara geografis. Dengan kata lain, nilai di suatu wilayah tidak memiliki keterkaitan yang kuat dengan nilai di wilayah sekitarnya, dan tidak ditemukan bukti adanya pengelompokan (cluster) spasial yang bermakna pada tingkat kabupaten/kota di Sumatera Utara.

geary_res <- geary.test(x, WL, zero.policy = TRUE)

geary_summary <- data.frame(
  Variabel  = "Prevalensi TBC",
  Geary_C  = geary_res$estimate["Geary C statistic"],
  Expected = geary_res$estimate["Expectation"],
  Z_score  = as.numeric(geary_res$statistic),
  p_value  = geary_res$p.value
)

geary_summary
##                         Variabel  Geary_C Expected      Z_score   p_value
## Geary C statistic Prevalensi TBC 1.001172        1 -0.006216223 0.5024799

Hasil uji Geary’s C menunjukkan nilai statistik sebesar 1,001 dengan nilai harapan 1 dan p-value 0,502, yang lebih besar dari taraf signifikansi 5%. Hal ini menandakan bahwa tidak terdapat autokorelasi spasial yang signifikan pada prevalensi TBC, sehingga pola sebarannya relatif acak dan tidak menunjukkan kecenderungan kemiripan nilai antarwilayah yang berdekatan.

# Statistik Gi
lwB <- nb2listw(nb, style = "B", zero.policy = TRUE)
Gz <- as.numeric(localG(x, listw = lwB, zero.policy = TRUE))

# Hasil ke Data Spasial
sumut_sf$z_Gistar <- Gz

sumut_sf$hotcold <- factor(
  ifelse(Gz >= 1.96, "Hot spot",
         ifelse(Gz <= -1.96, "Cold spot", "Not significant")),
  levels = c("Hot spot", "Cold spot", "Not significant")
)

# Peta Hotspot-Coldspot
library(ggplot2)

ggplot(sumut_sf) +
  geom_sf(aes(fill = hotcold), color = "white", linewidth = 0.2) +
  scale_fill_manual(values = c(
    "Hot spot" = "#b2182b",
    "Cold spot" = "#2166ac",
    "Not significant" = "grey85"
  )) +
  labs(
    title = "Peta Hotspot–Coldspot Getis-Ord Gi* Prevalensi TBC\nProvinsi Sumatera Utara Tahun 2024",
    fill  = "Pola Spasial"
  ) +
  theme_minimal()

Peta hotspot–coldspot Getis–Ord Gi* memperlihatkan bahwa tidak semua wilayah di Sumatera Utara memiliki pola prevalensi TBC yang sama. Area yang ditandai sebagai hotspot (merah) menunjukkan konsentrasi prevalensi TBC yang tinggi dan signifikan secara statistik, artinya wilayah tersebut memiliki nilai prevalensi tinggi dan dikelilingi oleh wilayah lain dengan prevalensi yang juga relatif tinggi. Sementara itu, sebagian besar kabupaten/kota berada pada kategori tidak signifikan, yang menandakan tidak adanya pengelompokan spasial prevalensi TBC yang kuat di wilayah tersebut.

Hasil ini mengindikasikan bahwa masalah TBC di Sumatera Utara bersifat lokal dan terfokus pada wilayah tertentu, bukan tersebar merata. Oleh karena itu, intervensi kesehatan masyarakat sebaiknya diprioritaskan pada daerah hotspot melalui peningkatan deteksi dini, penguatan layanan pengobatan, dan pengawasan penularan.

# Local Moran's I
local_res <- localmoran(x, WL, zero.policy = TRUE)

colnames(local_res) <- c("Ii","E.Ii","Var.Ii","Z.Ii","P.value")

# Rata-rata & Spatial Lag
mean_x   <- mean(x, na.rm = TRUE)
mean_lag <- lag.listw(WL, x)

# Klasifikasi Tiap Klaster LISA
cluster <- rep(NA, length(x))

cluster[x >= mean_x & mean_lag >= mean(mean_lag)] <- "High-High"
cluster[x <= mean_x & mean_lag <= mean(mean_lag)] <- "Low-Low"
cluster[x >= mean_x & mean_lag <= mean(mean_lag)] <- "High-Low"
cluster[x <= mean_x & mean_lag >= mean(mean_lag)] <- "Low-High"

cluster[local_res[, "P.value"] > 0.05] <- "Non-significant"

# Hasil ke Data Spasial
sumut_sf$cluster <- factor(
  cluster,
  levels = c("High-High","Low-Low","High-Low","Low-High","Non-significant")
)

# Peta LISA
library(ggplot2)

ggplot(sumut_sf) +
  geom_sf(aes(fill = cluster), color = "white", linewidth = 0.2) +
  scale_fill_manual(values = c(
    "High-High" = "red",
    "Low-Low" = "blue",
    "High-Low" = "orange",
    "Low-High" = "green",
    "Non-significant" = "grey80"
  )) +
  labs(
    title = "Peta LISA (Local Moran’s I) Prevalensi TBC\nProvinsi Sumatera Utara Tahun 2024",
    fill  = "Tipe Klaster"
  ) +
  theme_minimal()

Peta LISA (Local Moran’s I) menunjukkan adanya pola klaster lokal prevalensi TBC di Sumatera Utara. Wilayah dengan kategori High–High (merah) menandakan daerah dengan prevalensi TBC tinggi yang dikelilingi oleh wilayah lain dengan prevalensi tinggi pula, sehingga menjadi area konsentrasi kasus yang perlu perhatian khusus. Sementara itu, kategori Low–High (hijau) menunjukkan wilayah dengan prevalensi relatif rendah tetapi berada di sekitar wilayah dengan prevalensi tinggi, yang berpotensi berisiko mengalami peningkatan kasus.

Sebagian besar wilayah lainnya termasuk dalam kategori non-significant (abu-abu), yang berarti tidak menunjukkan hubungan spasial lokal yang signifikan. Hal ini mengindikasikan bahwa penularan atau prevalensi TBC tidak merata di seluruh provinsi, melainkan terkonsentrasi pada lokasi tertentu. Informasi ini penting untuk perencanaan kebijakan, karena intervensi dapat difokuskan pada klaster High–High dan wilayah sekitarnya guna mencegah penyebaran ke daerah lain.

Model Regresi OLS

Model regresi OLS (Ordinary Least Squares) digunakan untuk menganalisis dan mengukur hubungan antara satu variabel terikat dengan satu atau lebih variabel bebas. OLS membantu mengetahui seberapa besar pengaruh masing-masing variabel penjelas terhadap variabel yang dijelaskan, baik arah pengaruhnya (positif atau negatif) maupun kekuatannya.

ols <- lm(
  Prevalensi_TBC ~ 
    X1 + X2,
  data = data_merged
)

summary(ols)
## 
## Call:
## lm(formula = Prevalensi_TBC ~ X1 + X2, data = data_merged)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -21.6844  -5.3034  -0.2723   6.3589  23.7228 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 26.2852248  4.1298986   6.365 5.06e-07 ***
## X1           0.0077355  0.0008515   9.085 4.07e-10 ***
## X2          -0.2518401  0.1841174  -1.368    0.182    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.75 on 30 degrees of freedom
## Multiple R-squared:  0.7421, Adjusted R-squared:  0.725 
## F-statistic: 43.17 on 2 and 30 DF,  p-value: 1.481e-09

Model OLS menjelaskan sekitar 74% variasi prevalensi TBC antar kabupaten/kota (Multiple R-squared = 0.7421, Adjusted R-squared = 0.725) dan secara keseluruhan model signifikan (F = 43.17, p < 0.001). Koefisien untuk kepadatan penduduk (X1) positif dan sangat signifikan (β = 0.00774, SE = 0.00085, p < 0.001), yang berarti bahwa kenaikan kepadatan berkaitan dengan kenaikan prevalensi TBC — misalnya kenaikan 100 jiwa/km² berhubungan dengan peningkatan prevalensi kira-kira 0.77 satuan (skala prevalensi yang dipakai). Sebaliknya, jumlah puskesmas (X2) memiliki koefisien negatif (β = −0.2518) tetapi tidak signifikan secara statistik (p = 0.182), sehingga tidak ada bukti kuat bahwa variasi jumlah puskesmas menjelaskan perbedaan prevalensi dalam model ini.

Melihat residual, median residual mendekati nol (−0.27) namun terdapat beberapa nilai ekstrem (rentang residual ≈ −21.7 sampai 23.7), sehingga asumsi homoskedastisitas dan normalitas perlu diperiksa lebih lanjut. Secara praktis, hasil ini menandakan bahwa kepadatan penduduk merupakan prediktor penting untuk prevalensi TBC dan perlu menjadi perhatian dalam perencanaan intervensi; namun karena model OLS mengabaikan struktur spasial, disarankan melakukan pemeriksaan autokorelasi residual.

Pemilihan Model Terbaik

Pemilihan Model Terbaik dilakukan drengan membandingkan tiga jenis selection, yaitu backward, forward, dan stepwise selection untuk menemukan AIC yang paling kecil.

# Backward Selection
model_backward <- step(
  ols,
  direction = "backward",
  trace = FALSE
)

# Forward Selection
model_null <- lm(
  Prevalensi_TBC ~ 1,
  data = data_merged
)

model_forward <- step(
  model_null,
  scope = formula(ols),
  direction = "forward",
  trace = FALSE
)

# Stepwise Selection
model_stepwise <- step(
  model_null,
  scope = formula(ols),
  direction = "both",
  trace = FALSE
)

# Perbandingan AIC
AIC_comparison <- data.frame(
  Model = c("Full", "Backward", "Forward", "Stepwise"),
  AIC   = c(
    AIC(ols),
    AIC(model_backward),
    AIC(model_forward),
    AIC(model_stepwise)
  )
)

AIC_comparison
##      Model      AIC
## 1     Full 255.2274
## 2 Backward 255.2239
## 3  Forward 255.2239
## 4 Stepwise 255.2239

Nilai AIC untuk keempat model (Full, Backward, Forward, Stepwise) hampir sama—berkisar sekitar 255.22 dengan perbedaan sangat kecil (ΔAIC << 2). Secara statistik perbedaan AIC sekecil ini tidak berarti, sehingga semua model memberikan kecocokan yang praktis setara terhadap data. Dengan kata lain, tidak ada model yang secara jelas lebih unggul berdasarkan kriteria AIC.

Dalam kondisi ini, model backward adalah pilihan yang paling tepat. Alasannya, model backward berangkat dari model penuh lalu secara sistematis mengeliminasi variabel yang tidak signifikan, sehingga memastikan bahwa semua variabel penting sudah dipertimbangkan sejak awal. Karena nilai AIC model backward sama rendahnya dengan model forward dan stepwise, maka tidak ada keuntungan statistik untuk memilih model yang lebih kompleks.

Model Akhir

summary(model_backward)
## 
## Call:
## lm(formula = Prevalensi_TBC ~ X1, data = data_merged)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -22.2712  -4.7440   0.2899   5.6868  26.7155 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 2.144e+01  2.148e+00   9.978 3.37e-11 ***
## X1          7.810e-03  8.616e-04   9.064 3.17e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.9 on 31 degrees of freedom
## Multiple R-squared:  0.7261, Adjusted R-squared:  0.7172 
## F-statistic: 82.16 on 1 and 31 DF,  p-value: 3.17e-10

Berdasarkan hasil regresi OLS yang ditampilkan, prevalensi TBC dipengaruhi secara signifikan oleh variabel X1, yang tercermin dari nilai koefisien positif sebesar 0,0078 dengan p-value yang sangat kecil (< 0,001). Hal ini menunjukkan bahwa peningkatan X1 cenderung diikuti oleh peningkatan prevalensi TBC. Model ini juga memiliki kemampuan penjelasan yang cukup baik, ditunjukkan oleh nilai Adjusted R-squared sebesar 0,7172, yang berarti sekitar 71,7% variasi prevalensi TBC dapat dijelaskan oleh X1 saja.

Secara matematis, model regresi linear pada penelitian ini adalah sebagai berikut:

\[ PrevalensiTBC = 21.44 + 0.00781X_1 (Kepadatan Penduduk) \]

Model regresi linier tersebut menunjukkan bahwa prevalensi TBC diperkirakan sebesar 21,44 ketika kepadatan penduduk bernilai nol, yang merepresentasikan tingkat dasar prevalensi TBC tanpa pengaruh kepadatan penduduk. Koefisien kepadatan penduduk sebesar 0,00781 bernilai positif, artinya setiap peningkatan satu satuan kepadatan penduduk akan diikuti oleh peningkatan prevalensi TBC sebesar 0,00781 satuan, dengan asumsi faktor lain tetap. Hal ini mengindikasikan bahwa wilayah dengan kepadatan penduduk yang lebih tinggi cenderung memiliki prevalensi TBC yang lebih besar, sehingga kepadatan penduduk berperan sebagai faktor yang berkontribusi terhadap penyebaran TBC.

BAB 5 Kesimpulan dan Saran

Kesimpulan

Berdasarkan hasil analisis epidemiologi kasus tuberkulosis (TBC) di Provinsi Sumatera Utara tahun 2024, dapat disimpulkan bahwa terdapat variasi jumlah dan prevalensi TBC antar kabupaten/kota yang dipengaruhi oleh faktor kepadatan penduduk dan ketersediaan fasilitas pelayanan kesehatan. Analisis deskriptif dan spasial menunjukkan adanya perbedaan pola sebaran kasus, meskipun autokorelasi spasial global tidak signifikan, yang mengindikasikan bahwa kasus TBC tidak sepenuhnya membentuk pola pengelompokan yang kuat secara menyeluruh.

Hasil regresi OLS menunjukkan bahwa kepadatan penduduk memiliki pengaruh positif dan signifikan terhadap prevalensi TBC, sedangkan jumlah puskesmas tidak menunjukkan pengaruh yang signifikan dalam model, sehingga menegaskan pentingnya faktor lingkungan dan sosial dalam penularan TBC. Temuan ini dapat menjadi dasar bagi pemerintah daerah dalam merumuskan kebijakan pengendalian TBC yang lebih terarah, khususnya pada wilayah dengan kepadatan penduduk tinggi, melalui penguatan upaya pencegahan, deteksi dini, dan peningkatan kualitas layanan kesehatan.

Saran

Untuk penelitian selanjutnya, disarankan agar analisis diperluas dengan menambahkan variabel lain yang lebih merepresentasikan faktor host dan lingkungan, seperti tingkat kemiskinan, kondisi perumahan, sanitasi, mobilitas penduduk, serta kepatuhan pengobatan TBC, sehingga model yang dibangun dapat menjelaskan dinamika penularan TBC secara lebih komprehensif. Selain itu, penggunaan metode analisis spasial yang lebih lanjut, seperti model regresi spasial (SAR/SEM) atau Bayesian Disease Mapping, dapat dipertimbangkan untuk menangkap ketergantungan spasial yang tidak terdeteksi oleh model OLS.

Daftar Pustaka

World Health Organization. (2023). Global tuberculosis report 2023. WHO.

Zumla, A., Raviglione, M., Hafner, R., & von Reyn, C. F. (2015). Tuberculosis. New England Journal of Medicine, 368(8), 745-755. https://doi.org/10.1056/NEJMra1200894

Dheda, K., Barry, C. E., & Maartens, G. (2016). Tuberculosis. The Lancet, 387(10024), 1211-1226. https://doi.org/10.1016/S0140-6736(15)00151-8

Pai, M., Behr, M. A., Dowdy, D., Dheda, K., Divangahi, M., Boehme, C. C., … & Raviglione, M. (2016). Tuberculosis. Nature Reviews Disease Primers, 2(1), 1-23. https://doi.org/10.1038/nrdp.2016.76

Kementerian Kesehatan Republik Indonesia, Profil Kesehatan Indonesia 2024, Jakarta: Kemenkes RI, 2024.

M. Sobari, I. G. N. M. Jaya, and B. N. Ruchjana, “Spatial Analysis of Dengue Disease in Jakarta Province,” CAUCHY – Jurnal Matematika Murni dan Aplikasi, vol.7, no. 4, pp. 535–547, 2023.

BPS Provinsi Sumatera Utara. (2019). Jumlah kasus penyakit menurut kabupaten/kota dan jenis penyakit di Provinsi Sumatera Utara (2018). Badan Pusat Statistik Provinsi Sumatera Utara. Diakses dari https://sumut.bps.go.id/id/statistics-table/3/YTA1Q1ptRmhUMEpXWTBsQmQyZzBjVzgwUzB4aVp6MDkjMw==/jumlah-kasus-penyakit-menurut-kabupaten-kota-dan-jenis-penyakit-di-provinsi-sumatera-utara--2018.html

Lampiran

Dashboard: https://wnajochar2005.shinyapps.io/UASEPIDEMMM/

Video: https://youtu.be/OLDKSxtdLcs

Syntax: https://drive.google.com/drive/folders/1BLz_GpXKrCEIkKHOAN9HdThlx-W77vH4?usp=sharing