Logo UNPAD

ANALISIS EPIDEMIOLOGIS KASUS TUBERKULOSIS
DI PROVINSI JAWA BARAT

Ditujukan untuk memenuhi ujian Mata Kuliah Epidemiologi
Dosen Pengampu:
Dr. I Gede Nyoman Mindra Jaya, M.Si.
Disusun Oleh:
Reira Falisha Adrevi (140610230002)
PROGRAM STUDI STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
JATINANGOR
2025

Link Dashboard : https://dashboard-epidem-hipertensi.streamlit.app/Kesimpulan

Link Media Sosial : https://youtu.be/BeFMHcLsaRw

BAB 1.PENDAHULUAN

1.1 Latar Belakang

Hipertensi adalah penyakit yang dapat menyerang siapa saja, dari muda sampai tua dan tidak terbatas pada gender. Hipertensi menjadi salah satu penyakit yang paling sering dikhawatirkan karena memiliki dampak yang luas terhadap kualitas hidup dan risiko komplikasi berkepanjangan.

Berdasarkan data Survei Kesehatan Indonesia (SKI) 2023, hipertensi merupakan faktor risiko tertinggi penyebab kematian keempat di Indonesia yang menyumbang 10,2% dari total kematian penyakit tidak menular. Pada tahun 2023, prevalensi hipertensi pada penduduk usia di atas 18 tahun mencapai 30,8%. Di antara sepuluh provinsi penyumbang kasus hipertensi tertinggi, Provinsi Jawa Barat menempati peringkat kedua dengan prevalensi tertinggi sebesar 39,6%.

Secara ilmiah, hipertensi atau tekanan darah tinggi didefinisikan sebagai kondisi tekanan darah sistolik ≥140 mmHg atau diastolik ≥90 mmHg. Faktor penyebab hipertensi meliputi genetik, gaya hidup (seperti konsumsi garam tinggi, obesitas, stres, merokok, dan konsumsi alkohol), serta faktor lingkungan.Jika tidak ditangani dengan serius, penyakit dengan julukan “the silent killer” ini dapat menyebabkan komplikasi seperti stroke, penyakit jantung koroner, gagal ginjal, diabetes, bahkan kebutaan. Komplikasi ini dapat meningkatkan angka kematian dan disabilitas, serta menurunkan kualitas hidup penderita.

Menanaggapi berbahayanya penyakit ini, pemerintah dan para ahli kesehatan telah mengkampanyekan langkah penurunan hipertensi, seperti perilaku hidup sehat ‘PATUH’ dan ‘CERDIK’ yang menekankan pemeriksaan kesehatan rutin, gizi seimbang, aktivitas fisik, kelola stres, istirahat yang cukup, sampai menghindari sumber zat karsinogenik. Namun, tetap dibutuhkan kesadaran masyarakat yang tinggi serta pengoptimalan dukungan kebijakan pemerintah untuk meningkatkan deteksi dini, edukasi, dan akses pengobatan hipertensi, guna menekan angka prevalensi dan komplikasi hipertensi.

Sebagai langkah kecil, penelitian ini dilakukan untuk memberi kontribusi dalam melihat peluang optimalisasi penekanan angka hipertensi melalui sisi epidimiologis. Dalam hal ini, akan ditinjau lebih lanjut terkait kasus hipertensi khusus di Provinsi Jawa Barat.

1.2 Rumusan Masalah

Adapun rumusan masalah yang akan diteliti adalah :

  1. Apa saja faktor agent-host-environment yang relevan terhadap kasus hipertensi dan bagaimana hubungan faktor risiko terhadap penyakit tersebut?

  2. Bagaimana sebaran kasus hipertensi di setiap kabupaten/kota di Jawa Barat tahun 2024 berdasarkan analisis epidemiologis?

  3. Bagaimana simulasi desain studi epidemiologi untuk kasus hipertensi di Jawa Barat?

  4. Apa implikasi hasil penelitian terhadap kebijakan pengendalian hipertensi yang berfokus pada intervensi epidemiologis lokal?

1.3 Tujuan

Guna menjawab rumusan masalah yang ada, penelitian ini bertujuan untuk :

  1. Mengidentifikasi faktor agent-host-environment yang relevan terhadap kasus hipertensi dan menggambarkan hubungan faktor risiko terhadap penyakit tersebut.

  2. Menganalisis pola sebaran kasus hipertensi di Jawa Barat tahun 2024 menggunakan pendekatan epidemiologis.

  3. Merancang desain simulatif studi epidemiologi kasus hipertensi di Jawa Barat

  4. Memberikan rekomendasi kebijakan pengendalian hipertensi di Jawa Barat.

1.4 Batasan Penelitian

  1. Ruang lingkup wilayah dibatasi pada seluruh kabupaten dan kota di Provinsi Jawa Barat, sehingga hasil penelitian tidak dapat digeneralisasikan untuk provinsi lain di Indonesia.

  2. Analisis yang dilakukan hanya mencakup tiga pendekatan, yaitu:

  • Analisis deskriptif untuk menggambarkan karakteristik dan distribusi kasus hipertensi,

  • Analisis prevalensi untuk mengukur tingkat sebaran hipertensi di setiap wilayah kabupaten/kota, artinya penelitian ini tidak menilai hubungan sebab-akibat (kausalitas) antarvariabel.

  1. Penelitian ini tidak membahas aspek klinis, perilaku individu, maupun efektivitas intervensi medis terhadap hipertensi, melainkan fokus pada analisis statistik berdasarkan data agregat wilayah.

BAB 2 : TINJAUAN PUSTAKA

2.1 Hipertensi

Hipertensi atau tekanan darah tinggi adalah kondisi medis kronis di mana tekanan dalam pembuluh arteri meningkat secara persisten. Hipertensi umumnya didefinisikan sebagai tekanan darah sistolik ≥140 mmHg atau tekanan darah diastolik ≥90 mmHg jika diukur secara berulang dalam keadaan istirahat yang adekuat. Tekanan darah tinggi menyebabkan jantung bekerja lebih keras untuk memompa darah dan dapat merusak pembuluh darah serta organ target seperti otak, jantung, dan ginjal jika tidak ditangani dengan tepat.

Hipertensi merupakan faktor risiko utama penyakit kardiovaskular termasuk stroke dan penyakit jantung koroner, serta berkontribusi terhadap sekitar 9 juta kematian global setiap tahun. Hipertensi sering tidak menunjukkan gejala pada tahap awal atau biasa disebut sebagai “the silent killer” sehingga banyak penderitanya tidak menyadari kondisinya hingga terjadi komplikasi.

2.2 Triad Epidemiologi

Model ini dapat digunakan untuk memahami faktor-faktor yang berkontribusi terhadap terjadinya hipertensi sebagai penyakit tidak menular dengan menggambarkan bagaimana interaksi antara penyebab, individu, dan lingkungan berperan dalam terjadinya kondisi hipertensi.

Agent : berupa faktor non-infeksi seperti asupan natrium berlebih, konsumsi alkohol dan kafein, obesitas, resistensi insulin, serta penggunaan obat tertentu yang memicu peningkatan volume darah dan resistensi vaskular.

Host : mencakup individu dengan faktor predisposisi seperti usia lanjut, jenis kelamin, faktor genetik, status gizi, obesitas, kebiasaan merokok, stres, serta aktivitas fisik rendah yang meningkatkan kerentanan terhadap hipertensi.

Environment : meliputi lingkungan fisik dan sosial seperti gaya hidup modern penuh tekanan, pola makan tinggi garam terutama di wilayah pesisir, kurangnya aktivitas fisik di daerah perkotaan, perbedaan geografis, serta keterbatasan akses dan peran pelayanan kesehatan dalam pencegahan dan deteksi dini hipertensi.

2.3 Ukuran Epidemiologi

Prevalensi

Proporsi individu yang memiliki penyakit tertentu (kasus lama + baru) pada suatu titik waktu (point prevalence) atau periode tertentu (period prevalence). Menggambarkan beban penyakit pada populasi.

\[ Prevalensi = \frac{\text{Jumlah kasus pada waktu tertentu}}{\text{Total populasi}} \times 100\% \]

2.4 Spatial Dependence

Spatial dependence atau ketergantungan spasial adalah kondisi ketika nilai suatu variabel di suatu lokasi memiliki keterkaitan atau pengaruh terhadap nilai variabel di lokasi lain yang berdekatan. Dalam konteks epidemiologi hipertensi, hal ini berarti wilayah dengan angka kasus tinggi dapat memengaruhi wilayah yang berdekatan. Memungkinkan terjadi karena mobilitas masyarakatnya, gaya hidupnya, atau kesamaan karakteristik lingkungannya.

Ketergantungan spasial dapat diuji melalui Moran’s I, Geary’s C, atau Local Indicators of Spatial Association (LISA). Apabila pengujian yang dilakukan menghasilkan autokorelasi spasial positif, maka kasus hipertensi dikatakan cenderung mengelompok (clustered) di wilayah tertentu, bukan menyebar acak. Informasi ini penting untuk digunakan dalam rancangan pengendalian hipertensi melalui intervensi berbasis wilayah (spatial targeting).

2.4.1 Pengujian Ketergantungan Spasial

Ketergantungan spasial dapat diuji melalui beberapa metode statistik (Anselin, 1995):

A. Moran’s I (Global) - Mengukur autokorelasi spasial secara keseluruhan - Nilai: -1 (dispersi sempurna) hingga +1 (klaster sempurna) - I > 0: autokorelasi positif (pengelompokan) - I < 0: autokorelasi negatif (dispersi) - I ≈ 0: distribusi acak

B. Geary’s C - Alternatif dari Moran’s I - Nilai: 0 (klaster sempurna) hingga 2 (dispersi sempurna)

C. Local Indicators of Spatial Association (LISA) - Mengidentifikasi klaster lokal - Mendeteksi hotspot (High-High) dan coldspot (Low-Low)

Interpretasi Hasil: Apabila pengujian menghasilkan autokorelasi spasial positif yang signifikan, maka kasus hipertensi dikatakan cenderung mengelompok (clustered) di wilayah tertentu, bukan menyebar acak. Informasi ini penting untuk merancang pengendalian hipertensi melalui intervensi berbasis wilayah (spatial targeting) (Pfeiffer et al., 2008).


2.5 Matriks Bobot Spasial

Matriks bobot spasial (spatial weights matrix, W) digunakan untuk menggambarkan hubungan kedekatan antar wilayah dalam analisis spasial (Bivand et al., 2013). Matriks ini mengkuantifikasi seberapa kuat pengaruh suatu wilayah terhadap wilayah lainnya.

2.5.1 Jenis Matriks Bobot Spasial

A. Contiguity-based Weights (Berdasarkan Batas Wilayah) - Rook contiguity: Wilayah dianggap tetangga jika berbagi sisi batas - Queen contiguity: Wilayah dianggap tetangga jika berbagi sisi atau titik sudut - Bishop contiguity: Wilayah dianggap tetangga jika berbagi titik sudut saja

B. Distance-based Weights (Berdasarkan Jarak) - Menggunakan jarak Euclidean antar centroid wilayah - Bobot menurun seiring jarak meningkat - Formula umum: \(w_{ij} = \frac{1}{d_{ij}^{\alpha}}\) (α biasanya = 2)

C. K-Nearest Neighbors (KNN) - Setiap wilayah memiliki k tetangga terdekat - Mengatasi masalah wilayah terpencil tanpa tetangga

Dalam konteks hipertensi di kabupaten/kota Jawa Barat, penelitian ini menggunakan queen contiguity karena: - Lebih mencerminkan interaksi sosial-ekonomi antar wilayah - Memperhitungkan wilayah yang hanya bersinggungan di sudut - Sesuai dengan pola mobilitas penduduk Jawa Barat


2.6 Matriks Bobot Spasial

Matriks bobot spasial (W) digunakan untuk menggambarkan hubungan kedekatan antarwilayah. Matriks ini juga dapat menunjukkan seberapa kuat pengaruh antarwilayah tersebut. Beberapa metode umum dalam pembentukan matriks bobot spasial antara lain: Contiguity-based weights (berdasarkan batas wilayah), Distance-based weights (berdasarkan jarak), dan K-nearest neighbors (KNN) yang menganggap setiap wilayah bertetangga dengan k wilayah terdekatnya.

Dalam konteks hipertensi di kabupaten/kota Jawa Barat, matriks bobot spasial penting untuk mengidentifikasi pola sebaran kasus antarwilayah.

2.7 Diagram Faktor Risiko

## Warning: package 'DiagrammeR' was built under R version 4.3.3

2.8 Desain Studi Epidemiologi

Studi simulatif dapat dilakukan menggunakan desain cross-sectional. Desain ini mengukur paparan dan outcome bersamaan, menggambarkan prevalensi suatu populasi, mengidentifikasi dengan jelas faktor yang berkaitan. Namun, desain ini terbatas dalam menentukan hubungan kausal temporal karena hanya dilakukan pada satu waktu.

BAB 3.METODOLOGI PENELITIAN

3.1 Desain Penelitian

Penelitian ini menggunakan desain studi ekologi dengan pendekatan deskriptif kuantitatif. Data yang digunakan bersifat agregat, yaitu data per kabupaten/kota di Provinsi Jawa Barat selama periode 2020-2024, yang bertujuan untuk menggambarkan distribusi dan tren jumlah penduduk, jumlah penderita hipertensi usia ≥15 tahun, serta jumlah penderita hipertensi yang mendapatkan pelayanan kesehatan, tanpa melakukan analisis hubungan atau kausalitas antarvariabel.

3.2 Jenis dan Sumber Data

Penelitian ini menggunakan data sekunder yang diperoleh dari situs Open Data Jabar.

Variabel yang digunakan:

Variabel Jenis Data
Tahun Kuantitatif
Nama Kabupaten/Kota Kualitatif
Jumlah Penduduk Kuantitatif
Jumlah Penderita Hipertensi Usia >= 15 Tahun Kuantitatif
Jumlah Penderita Hipertensi yang Mendapat Pelayanan Kesehatan Kuantitatif

3.3 Ukuran Epidemiologi

Dalam penelitian ini digunakan satu jenis ukuran epidemiologi, yaitu ukuran frekuensi , dengan rumus sebagai berikut:

3.3.1 Ukuran Frekuensi

Prevalensi

Menggambarkan proporsi individu yang menderita penyakit dalam suatu populasi pada waktu tertentu.

Rumus: \[ \text{Prevalensi} = \frac{\text{Jumlah Kasus Lama + Baru}}{\text{Jumlah Penduduk}} \times 100\% \]

BAB 4. HASIL DAN PEMBAHASAN

# Paket
library(readxl)
library(dplyr)
library(ggplot2)
library(sf)
library(tmap)
library(spdep)
library(knitr)

4.1 Statistik Deskriptif

Analisis deskriptif menggambarkan karakteristik jumlah penduduk, jumlah penderita hipertensi usia di atas 15 tahun, jumlah penderita hipertensi yang mendapat pelayanan kesehatan di kabupaten/kota di Jawa Barat pada tahun 2020-2024.

# data
data <- read_excel("C:\\Users\\reifa\\Downloads\\Shiny\\DataHipertensi.xlsx")

# cek hasil
head(data)
## # A tibble: 6 × 6
##      id tahun nama_kabupaten_kota  jumlah_penderita_hip…¹ jumlah_penderita_hip…²
##   <dbl> <dbl> <chr>                                 <dbl>                  <dbl>
## 1     1  2020 KABUPATEN BOGOR                     1624893                 975300
## 2     2  2020 KABUPATEN SUKABUMI                   566095                 476574
## 3     3  2020 KABUPATEN CIANJUR                    759786                 400822
## 4     4  2020 KABUPATEN BANDUNG                   1306543                 111504
## 5     5  2020 KABUPATEN GARUT                      837842                 139743
## 6     6  2020 KABUPATEN TASIKMALA…                  69706                  69706
## # ℹ abbreviated names: ¹​jumlah_penderita_hipertensi_usia_15tahunkeatas,
## #   ²​jumlah_penderita_hipertensi_mendapatkan_pelayanan
## # ℹ 1 more variable: jumlah_penduduk <dbl>
#deskriptif
stat_deskriptif <- data %>%
  group_by(tahun, nama_kabupaten_kota) %>%
  summarise(
    penduduk = sum(jumlah_penduduk, na.rm = TRUE),
    penderita = sum(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    dilayani = sum(jumlah_penderita_hipertensi_mendapatkan_pelayanan, na.rm = TRUE),
    .groups = "drop"
  )

kable(stat_deskriptif,
      caption = "Statistik Deskriptif Kasus Hipertensi per Kabupaten/Kota dan Tahun")
Statistik Deskriptif Kasus Hipertensi per Kabupaten/Kota dan Tahun
tahun nama_kabupaten_kota penduduk penderita dilayani
2020 KABUPATEN BANDUNG 3616540 1306543 111504.00
2020 KABUPATEN BANDUNG BARAT 1782190 0 0.00
2020 KABUPATEN BEKASI 3101730 631428 97434.00
2020 KABUPATEN BOGOR 5409370 1624893 975300.00
2020 KABUPATEN CIAMIS 1226050 296944 68736.00
2020 KABUPATEN CIANJUR 2470560 759786 400822.00
2020 KABUPATEN CIREBON 2270350 644577 174538.00
2020 KABUPATEN GARUT 2577350 837842 139743.00
2020 KABUPATEN INDRAMAYU 1829230 550316 42438.00
2020 KABUPATEN KARAWANG 2434090 141053 141053.00
2020 KABUPATEN KUNINGAN 1162590 222360 75272.00
2020 KABUPATEN MAJALENGKA 1301570 361123 146231.00
2020 KABUPATEN PANGANDARAN 422410 92395 74814.00
2020 KABUPATEN PURWAKARTA 994330 240267 52994.00
2020 KABUPATEN SUBANG 1605250 502937 73555.00
2020 KABUPATEN SUKABUMI 2718740 566095 476574.00
2020 KABUPATEN SUMEDANG 1149470 295651 270225.00
2020 KABUPATEN TASIKMALAYA 1861060 69706 69706.00
2020 KOTA BANDUNG 2438350 722933 132662.00
2020 KOTA BANJAR 200270 56637 13090.00
2020 KOTA BEKASI 2536120 546283 72189.00
2020 KOTA BOGOR 1040570 77938 53635.00
2020 KOTA CIMAHI 566170 175156 66240.00
2020 KOTA CIREBON 332580 88568 136633.00
2020 KOTA DEPOK 2046830 640008 139331.00
2020 KOTA SUKABUMI 344830 222497 60271.00
2020 KOTA TASIKMALAYA 713670 207364 63385.00
2021 KABUPATEN BANDUNG 3652400 1306543 111504.00
2021 KABUPATEN BANDUNG BARAT 1808420 423891 73240.00
2021 KABUPATEN BEKASI 3148740 658978 62507.00
2021 KABUPATEN BOGOR 5484150 1412925 986323.00
2021 KABUPATEN CIAMIS 1234830 398281 136437.00
2021 KABUPATEN CIANJUR 2500640 785294 134573.00
2021 KABUPATEN CIREBON 2301330 648010 73173.00
2021 KABUPATEN GARUT 2613530 861324 255443.00
2021 KABUPATEN INDRAMAYU 1851730 550316 302830.00
2021 KABUPATEN KARAWANG 2465570 623205 337541.00
2021 KABUPATEN KUNINGAN 1175950 222360 75272.00
2021 KABUPATEN MAJALENGKA 1315010 768968 127852.00
2021 KABUPATEN PANGANDARAN 425590 147446 84412.00
2021 KABUPATEN PURWAKARTA 1008930 231691 138881.00
2021 KABUPATEN SUBANG 1620700 512669 117010.00
2021 KABUPATEN SUKABUMI 2747450 558531 471373.00
2021 KABUPATEN SUMEDANG 1159260 248174 244911.00
2021 KABUPATEN TASIKMALAYA 1876890 638521 86176.00
2021 KOTA BANDUNG 2461410 722933 132662.00
2021 KOTA BANJAR 202720 61015 27776.00
2021 KOTA BEKASI 2568020 667811 78170.00
2021 KOTA BOGOR 1050920 55386 56411.00
2021 KOTA CIMAHI 574450 175156 66240.00
2021 KOTA CIREBON 335810 77723 77481.00
2021 KOTA DEPOK 2081130 513142 167199.00
2021 KOTA SUKABUMI 350150 77257 70857.00
2021 KOTA TASIKMALAYA 723100 215761 110862.00
2022 KABUPATEN BANDUNG 3687250 1107209 397464.00
2022 KABUPATEN BANDUNG BARAT 1834230 544368 7303.00
2022 KABUPATEN BEKASI 3193840 728750 32140.00
2022 KABUPATEN BOGOR 5556310 1456289 12185.00
2022 KABUPATEN CIAMIS 1243320 491554 135511.00
2022 KABUPATEN CIANJUR 2529810 851996 58089.00
2022 KABUPATEN CIREBON 2331360 668497 29798.00
2022 KABUPATEN GARUT 2648950 849160 160510.00
2022 KABUPATEN INDRAMAYU 1873400 605018 9413.00
2022 KABUPATEN KARAWANG 2496190 679870 29475.00
2022 KABUPATEN KUNINGAN 1189010 432009 9521.00
2022 KABUPATEN MAJALENGKA 1328010 392548 13181.00
2022 KABUPATEN PANGANDARAN 428600 145099 80282.00
2022 KABUPATEN PURWAKARTA 1023180 271592 2914.00
2022 KABUPATEN SUBANG 1635560 505733 26554.00
2022 KABUPATEN SUKABUMI 2775310 879091 556178.00
2022 KABUPATEN SUMEDANG 1168840 403970 20495.00
2022 KABUPATEN TASIKMALAYA 1892220 638098 5211.00
2022 KOTA BANDUNG 2484150 705417 65357.00
2022 KOTA BANJAR 205140 67690 10841.00
2022 KOTA BEKASI 2598070 525162 43665.00
2022 KOTA BOGOR 1060940 334410 18737.00
2022 KOTA CIMAHI 582650 179260 8542.00
2022 KOTA CIREBON 338940 93688 11533.00
2022 KOTA DEPOK 2113620 486414 180368.00
2022 KOTA SUKABUMI 355420 119893 22026.00
2022 KOTA TASIKMALAYA 732480 228192 9124.00
2023 KABUPATEN BANDUNG 3721110 435172 360106.00
2023 KABUPATEN BANDUNG BARAT 1859640 108649 76325.00
2023 KABUPATEN BEKASI 3237420 198637 158638.00
2023 KABUPATEN BOGOR 5627020 201787 7775.00
2023 KABUPATEN CIAMIS 1251540 98562 94321.00
2023 KABUPATEN CIANJUR 2558140 709850 411638.00
2023 KABUPATEN CIREBON 2360440 88047 15735.00
2023 KABUPATEN GARUT 2683670 94429 106219.00
2023 KABUPATEN INDRAMAYU 1894330 583692 555759.00
2023 KABUPATEN KARAWANG 2526000 155376 124791.00
2023 KABUPATEN KUNINGAN 1201760 88047 82946.00
2023 KABUPATEN MAJALENGKA 1340620 82745 69401.00
2023 KABUPATEN PANGANDARAN 431460 29081 30522.00
2023 KABUPATEN PURWAKARTA 1037070 70533 67812.00
2023 KABUPATEN SUBANG 1649820 115455 82954.00
2023 KABUPATEN SUKABUMI 2802400 172455 175867.00
2023 KABUPATEN SUMEDANG 1178240 136201 73113.00
2023 KABUPATEN TASIKMALAYA 1907050 119464 91707.00
2023 KOTA BANDUNG 2506600 227676 68847.00
2023 KOTA BANJAR 207510 17013 19129.00
2023 KOTA BEKASI 2627210 169010 124660.00
2023 KOTA BOGOR 1070720 67228 82311.00
2023 KOTA CIMAHI 590780 56741 56173.00
2023 KOTA CIREBON 341980 90868 90805.00
2023 KOTA DEPOK 2145400 379902 106429.00
2023 KOTA SUKABUMI 360640 32251 22090.00
2023 KOTA TASIKMALAYA 741760 41756 55999.00
2024 KABUPATEN BANDUNG 3753120 324883 332683.00
2024 KABUPATEN BANDUNG BARAT 1884190 108906 44125.00
2024 KABUPATEN BEKASI 3273870 173367 47037.00
2024 KABUPATEN BOGOR 5682300 202191 182707.00
2024 KABUPATEN CIAMIS 1259230 98036 63302.00
2024 KABUPATEN CIANJUR 2584990 152757 61886.00
2024 KABUPATEN CIREBON 2387960 89137 46016.00
2024 KABUPATEN GARUT 2716950 108360 117271.00
2024 KABUPATEN INDRAMAYU 1914040 108296 19378.00
2024 KABUPATEN KARAWANG 2554380 166583 99699.00
2024 KABUPATEN KUNINGAN 1213930 95797 81594.00
2024 KABUPATEN MAJALENGKA 1352540 89419 116939.00
2024 KABUPATEN PANGANDARAN 434100 29902 28996.00
2024 KABUPATEN PURWAKARTA 1050340 76654 40123.00
2024 KABUPATEN SUBANG 1663160 118895 96037.00
2024 KABUPATEN SUKABUMI 2828020 194727 193923.00
2024 KABUPATEN SUMEDANG 1187130 94523 121808.00
2024 KABUPATEN TASIKMALAYA 1920920 119466 28257.00
2024 KOTA BANDUNG 2528160 1990980 208287.00
2024 KOTA BANJAR 209790 17161 111.22
2024 KOTA BEKASI 2644060 181605 136004.00
2024 KOTA BOGOR 1078350 73394 89726.00
2024 KOTA CIMAHI 598700 56173 41215.00
2024 KOTA CIREBON 344850 24076 24065.00
2024 KOTA DEPOK 2163640 379903 152907.00
2024 KOTA SUKABUMI 365740 34835 37136.00
2024 KOTA TASIKMALAYA 750730 55999 61450.00
stat_mean_median_sd <- data %>%
  group_by(tahun) %>%
  summarise(
    mean_penderita = mean(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    median_penderita = median(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    sd_penderita = sd(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    .groups = "drop"
  )

stat_mean_median_sd %>%
  mutate(coef_variation = sd_penderita / mean_penderita * 100)
## # A tibble: 5 × 5
##   tahun mean_penderita median_penderita sd_penderita coef_variation
##   <dbl>          <dbl>            <dbl>        <dbl>          <dbl>
## 1  2020        440048.           296944      387602.           88.1
## 2  2021        502345.           513142      351942.           70.1
## 3  2022        532999.           505733      324377.           60.9
## 4  2023        169282.           108649      169029.           99.9
## 5  2024        191334.           108296      369318.          193.
kable(
  stat_mean_median_sd,
  digits = 2,
  caption = "Mean, Median, dan Standar Deviasi Jumlah Penderita Hipertensi Usia ≥15 Tahun per Tahun"
)
Mean, Median, dan Standar Deviasi Jumlah Penderita Hipertensi Usia ≥15 Tahun per Tahun
tahun mean_penderita median_penderita sd_penderita
2020 440048.2 296944 387601.9
2021 502344.8 513142 351942.1
2022 532999.2 505733 324376.5
2023 169282.5 108649 169029.3
2024 191334.3 108296 369318.4
top10_wilayah_usia <- data %>%
  group_by(nama_kabupaten_kota) %>%
  summarise(
    total_penderita1 = sum(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    .groups = "drop"
  ) %>%
  arrange(desc(total_penderita1)) %>%
  slice_head(n = 10)

kable(
  top10_wilayah_usia,
  caption = "10 Kabupaten/Kota dengan Jumlah Penderita Hipertensi Usia ≥15 Tahun Tertinggi (Akumulasi 2020–2024)"
)
10 Kabupaten/Kota dengan Jumlah Penderita Hipertensi Usia ≥15 Tahun Tertinggi (Akumulasi 2020–2024)
nama_kabupaten_kota total_penderita1
KABUPATEN BOGOR 4898085
KABUPATEN BANDUNG 4480350
KOTA BANDUNG 4369939
KABUPATEN CIANJUR 3259683
KABUPATEN GARUT 2751115
KOTA DEPOK 2399369
KABUPATEN INDRAMAYU 2397638
KABUPATEN BEKASI 2391160
KABUPATEN SUKABUMI 2370899
KABUPATEN CIREBON 2138268
top10_wilayah_layanan <- data %>%
  group_by(nama_kabupaten_kota) %>%
  summarise(
    total_penderita2 = sum(jumlah_penderita_hipertensi_mendapatkan_pelayanan, na.rm = TRUE),
    .groups = "drop"
  ) %>%
  arrange(desc(total_penderita2)) %>%
  slice_head(n = 10)

kable(
  top10_wilayah_layanan,
  caption = "10 Kabupaten/Kota dengan Jumlah Penderita Hipertensi yang Mendapat Pelayanan kesehatan (Akumulasi 2020–2024)"
)
10 Kabupaten/Kota dengan Jumlah Penderita Hipertensi yang Mendapat Pelayanan kesehatan (Akumulasi 2020–2024)
nama_kabupaten_kota total_penderita2
KABUPATEN BOGOR 2164290
KABUPATEN SUKABUMI 1873915
KABUPATEN BANDUNG 1313261
KABUPATEN CIANJUR 1067008
KABUPATEN INDRAMAYU 929818
KABUPATEN GARUT 779186
KOTA DEPOK 746234
KABUPATEN KARAWANG 732559
KABUPATEN SUMEDANG 730552
KOTA BANDUNG 607815

4.2 Grafik Tren Hipertensi Tahun 2020-2024

tren_total_provinsi <- data %>%
  group_by(tahun) %>%
  summarise(
    total_penderita1 = sum(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    .groups = "drop"
  )
ggplot(tren_total_provinsi, aes(x = tahun, y = total_penderita1)) +
  geom_line(linewidth = 1.2, color = "steelblue") +
  geom_point(size = 3, color = "steelblue") +
  labs(
    title = "Tren Total Penderita Hipertensi Usia ≥15 Tahun\nProvinsi Jawa Barat, 2020–2024",
    x = "Tahun",
    y = "Jumlah Penderita Hipertensi"
  ) +
  theme_minimal()

tren_total_provinsi_kesehatan <- data %>%
  group_by(tahun) %>%
  summarise(
    total_penderita2 = sum(jumlah_penderita_hipertensi_mendapatkan_pelayanan, na.rm = TRUE),
    .groups = "drop"
  )
ggplot(tren_total_provinsi_kesehatan, aes(x = tahun, y = total_penderita2)) +
  geom_line(linewidth = 1.2, color = "steelblue") +
  geom_point(size = 3, color = "steelblue") +
  labs(
    title = "Tren Total Penderita Hipertensi yang Mendapat Pelayanan Kesehatan\nProvinsi Jawa Barat, 2020–2024",
    x = "Tahun",
    y = "Jumlah Penderita Hipertensi"
  ) +
  theme_minimal()

4.3 Prevalensi

Berikut ini disajikan 10 kabupaten/kota dengan angka prevalensi hipertensi tertinggi di Provinsi Jawa Barat tahun 2024.
Nilai insidensi dihitung sebagai pendekatan dengan membandingkan jumlah kasus terhadap total penduduk, karena data yang digunakan bersifat agregat tahunan.

data_prevalensi <- stat_deskriptif %>%
  mutate(
    prevalensi = (penderita / penduduk) * 100
  )

kable(data_prevalensi,
      digits = 2,
      caption = "Prevalensi Hipertensi per Kabupaten/Kota dan Tahun (%)")
Prevalensi Hipertensi per Kabupaten/Kota dan Tahun (%)
tahun nama_kabupaten_kota penduduk penderita dilayani prevalensi
2020 KABUPATEN BANDUNG 3616540 1306543 111504.00 36.13
2020 KABUPATEN BANDUNG BARAT 1782190 0 0.00 0.00
2020 KABUPATEN BEKASI 3101730 631428 97434.00 20.36
2020 KABUPATEN BOGOR 5409370 1624893 975300.00 30.04
2020 KABUPATEN CIAMIS 1226050 296944 68736.00 24.22
2020 KABUPATEN CIANJUR 2470560 759786 400822.00 30.75
2020 KABUPATEN CIREBON 2270350 644577 174538.00 28.39
2020 KABUPATEN GARUT 2577350 837842 139743.00 32.51
2020 KABUPATEN INDRAMAYU 1829230 550316 42438.00 30.08
2020 KABUPATEN KARAWANG 2434090 141053 141053.00 5.79
2020 KABUPATEN KUNINGAN 1162590 222360 75272.00 19.13
2020 KABUPATEN MAJALENGKA 1301570 361123 146231.00 27.75
2020 KABUPATEN PANGANDARAN 422410 92395 74814.00 21.87
2020 KABUPATEN PURWAKARTA 994330 240267 52994.00 24.16
2020 KABUPATEN SUBANG 1605250 502937 73555.00 31.33
2020 KABUPATEN SUKABUMI 2718740 566095 476574.00 20.82
2020 KABUPATEN SUMEDANG 1149470 295651 270225.00 25.72
2020 KABUPATEN TASIKMALAYA 1861060 69706 69706.00 3.75
2020 KOTA BANDUNG 2438350 722933 132662.00 29.65
2020 KOTA BANJAR 200270 56637 13090.00 28.28
2020 KOTA BEKASI 2536120 546283 72189.00 21.54
2020 KOTA BOGOR 1040570 77938 53635.00 7.49
2020 KOTA CIMAHI 566170 175156 66240.00 30.94
2020 KOTA CIREBON 332580 88568 136633.00 26.63
2020 KOTA DEPOK 2046830 640008 139331.00 31.27
2020 KOTA SUKABUMI 344830 222497 60271.00 64.52
2020 KOTA TASIKMALAYA 713670 207364 63385.00 29.06
2021 KABUPATEN BANDUNG 3652400 1306543 111504.00 35.77
2021 KABUPATEN BANDUNG BARAT 1808420 423891 73240.00 23.44
2021 KABUPATEN BEKASI 3148740 658978 62507.00 20.93
2021 KABUPATEN BOGOR 5484150 1412925 986323.00 25.76
2021 KABUPATEN CIAMIS 1234830 398281 136437.00 32.25
2021 KABUPATEN CIANJUR 2500640 785294 134573.00 31.40
2021 KABUPATEN CIREBON 2301330 648010 73173.00 28.16
2021 KABUPATEN GARUT 2613530 861324 255443.00 32.96
2021 KABUPATEN INDRAMAYU 1851730 550316 302830.00 29.72
2021 KABUPATEN KARAWANG 2465570 623205 337541.00 25.28
2021 KABUPATEN KUNINGAN 1175950 222360 75272.00 18.91
2021 KABUPATEN MAJALENGKA 1315010 768968 127852.00 58.48
2021 KABUPATEN PANGANDARAN 425590 147446 84412.00 34.65
2021 KABUPATEN PURWAKARTA 1008930 231691 138881.00 22.96
2021 KABUPATEN SUBANG 1620700 512669 117010.00 31.63
2021 KABUPATEN SUKABUMI 2747450 558531 471373.00 20.33
2021 KABUPATEN SUMEDANG 1159260 248174 244911.00 21.41
2021 KABUPATEN TASIKMALAYA 1876890 638521 86176.00 34.02
2021 KOTA BANDUNG 2461410 722933 132662.00 29.37
2021 KOTA BANJAR 202720 61015 27776.00 30.10
2021 KOTA BEKASI 2568020 667811 78170.00 26.00
2021 KOTA BOGOR 1050920 55386 56411.00 5.27
2021 KOTA CIMAHI 574450 175156 66240.00 30.49
2021 KOTA CIREBON 335810 77723 77481.00 23.14
2021 KOTA DEPOK 2081130 513142 167199.00 24.66
2021 KOTA SUKABUMI 350150 77257 70857.00 22.06
2021 KOTA TASIKMALAYA 723100 215761 110862.00 29.84
2022 KABUPATEN BANDUNG 3687250 1107209 397464.00 30.03
2022 KABUPATEN BANDUNG BARAT 1834230 544368 7303.00 29.68
2022 KABUPATEN BEKASI 3193840 728750 32140.00 22.82
2022 KABUPATEN BOGOR 5556310 1456289 12185.00 26.21
2022 KABUPATEN CIAMIS 1243320 491554 135511.00 39.54
2022 KABUPATEN CIANJUR 2529810 851996 58089.00 33.68
2022 KABUPATEN CIREBON 2331360 668497 29798.00 28.67
2022 KABUPATEN GARUT 2648950 849160 160510.00 32.06
2022 KABUPATEN INDRAMAYU 1873400 605018 9413.00 32.30
2022 KABUPATEN KARAWANG 2496190 679870 29475.00 27.24
2022 KABUPATEN KUNINGAN 1189010 432009 9521.00 36.33
2022 KABUPATEN MAJALENGKA 1328010 392548 13181.00 29.56
2022 KABUPATEN PANGANDARAN 428600 145099 80282.00 33.85
2022 KABUPATEN PURWAKARTA 1023180 271592 2914.00 26.54
2022 KABUPATEN SUBANG 1635560 505733 26554.00 30.92
2022 KABUPATEN SUKABUMI 2775310 879091 556178.00 31.68
2022 KABUPATEN SUMEDANG 1168840 403970 20495.00 34.56
2022 KABUPATEN TASIKMALAYA 1892220 638098 5211.00 33.72
2022 KOTA BANDUNG 2484150 705417 65357.00 28.40
2022 KOTA BANJAR 205140 67690 10841.00 33.00
2022 KOTA BEKASI 2598070 525162 43665.00 20.21
2022 KOTA BOGOR 1060940 334410 18737.00 31.52
2022 KOTA CIMAHI 582650 179260 8542.00 30.77
2022 KOTA CIREBON 338940 93688 11533.00 27.64
2022 KOTA DEPOK 2113620 486414 180368.00 23.01
2022 KOTA SUKABUMI 355420 119893 22026.00 33.73
2022 KOTA TASIKMALAYA 732480 228192 9124.00 31.15
2023 KABUPATEN BANDUNG 3721110 435172 360106.00 11.69
2023 KABUPATEN BANDUNG BARAT 1859640 108649 76325.00 5.84
2023 KABUPATEN BEKASI 3237420 198637 158638.00 6.14
2023 KABUPATEN BOGOR 5627020 201787 7775.00 3.59
2023 KABUPATEN CIAMIS 1251540 98562 94321.00 7.88
2023 KABUPATEN CIANJUR 2558140 709850 411638.00 27.75
2023 KABUPATEN CIREBON 2360440 88047 15735.00 3.73
2023 KABUPATEN GARUT 2683670 94429 106219.00 3.52
2023 KABUPATEN INDRAMAYU 1894330 583692 555759.00 30.81
2023 KABUPATEN KARAWANG 2526000 155376 124791.00 6.15
2023 KABUPATEN KUNINGAN 1201760 88047 82946.00 7.33
2023 KABUPATEN MAJALENGKA 1340620 82745 69401.00 6.17
2023 KABUPATEN PANGANDARAN 431460 29081 30522.00 6.74
2023 KABUPATEN PURWAKARTA 1037070 70533 67812.00 6.80
2023 KABUPATEN SUBANG 1649820 115455 82954.00 7.00
2023 KABUPATEN SUKABUMI 2802400 172455 175867.00 6.15
2023 KABUPATEN SUMEDANG 1178240 136201 73113.00 11.56
2023 KABUPATEN TASIKMALAYA 1907050 119464 91707.00 6.26
2023 KOTA BANDUNG 2506600 227676 68847.00 9.08
2023 KOTA BANJAR 207510 17013 19129.00 8.20
2023 KOTA BEKASI 2627210 169010 124660.00 6.43
2023 KOTA BOGOR 1070720 67228 82311.00 6.28
2023 KOTA CIMAHI 590780 56741 56173.00 9.60
2023 KOTA CIREBON 341980 90868 90805.00 26.57
2023 KOTA DEPOK 2145400 379902 106429.00 17.71
2023 KOTA SUKABUMI 360640 32251 22090.00 8.94
2023 KOTA TASIKMALAYA 741760 41756 55999.00 5.63
2024 KABUPATEN BANDUNG 3753120 324883 332683.00 8.66
2024 KABUPATEN BANDUNG BARAT 1884190 108906 44125.00 5.78
2024 KABUPATEN BEKASI 3273870 173367 47037.00 5.30
2024 KABUPATEN BOGOR 5682300 202191 182707.00 3.56
2024 KABUPATEN CIAMIS 1259230 98036 63302.00 7.79
2024 KABUPATEN CIANJUR 2584990 152757 61886.00 5.91
2024 KABUPATEN CIREBON 2387960 89137 46016.00 3.73
2024 KABUPATEN GARUT 2716950 108360 117271.00 3.99
2024 KABUPATEN INDRAMAYU 1914040 108296 19378.00 5.66
2024 KABUPATEN KARAWANG 2554380 166583 99699.00 6.52
2024 KABUPATEN KUNINGAN 1213930 95797 81594.00 7.89
2024 KABUPATEN MAJALENGKA 1352540 89419 116939.00 6.61
2024 KABUPATEN PANGANDARAN 434100 29902 28996.00 6.89
2024 KABUPATEN PURWAKARTA 1050340 76654 40123.00 7.30
2024 KABUPATEN SUBANG 1663160 118895 96037.00 7.15
2024 KABUPATEN SUKABUMI 2828020 194727 193923.00 6.89
2024 KABUPATEN SUMEDANG 1187130 94523 121808.00 7.96
2024 KABUPATEN TASIKMALAYA 1920920 119466 28257.00 6.22
2024 KOTA BANDUNG 2528160 1990980 208287.00 78.75
2024 KOTA BANJAR 209790 17161 111.22 8.18
2024 KOTA BEKASI 2644060 181605 136004.00 6.87
2024 KOTA BOGOR 1078350 73394 89726.00 6.81
2024 KOTA CIMAHI 598700 56173 41215.00 9.38
2024 KOTA CIREBON 344850 24076 24065.00 6.98
2024 KOTA DEPOK 2163640 379903 152907.00 17.56
2024 KOTA SUKABUMI 365740 34835 37136.00 9.52
2024 KOTA TASIKMALAYA 750730 55999 61450.00 7.46
prevalensi_provinsi <- data %>%
  group_by(tahun) %>%
  summarise(
    total_penduduk = sum(jumlah_penduduk, na.rm = TRUE),
    total_penderita = sum(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    prevalensi = (total_penderita / total_penduduk) * 100,
    .groups = "drop"
  )

kable(prevalensi_provinsi,
      digits = 2,
      caption = "Prevalensi Hipertensi Provinsi Jawa Barat per Tahun (%)")
Prevalensi Hipertensi Provinsi Jawa Barat per Tahun (%)
tahun total_penduduk total_penderita prevalensi
2020 48152270 11881300 24.67
2021 48738830 13563311 27.83
2022 49306800 14390977 29.19
2023 49860330 4570627 9.17
2024 50345190 5166025 10.26
ggplot(prevalensi_provinsi,
       aes(x = tahun, y = prevalensi)) +
  geom_line() +
  geom_point() +
  labs(
    title = "Tren Prevalensi Hipertensi Provinsi Jawa Barat (2020–2024)",
    x = "Tahun",
    y = "Prevalensi (%)"
  ) +
  theme_minimal()

# 10 wilayah dengan prevalensi tertinggi untuk penderita usia 15 tahun ke atas
top10_prevalensi_2024 <- data %>%
  filter(tahun == 2024) %>%
  group_by(nama_kabupaten_kota) %>%
  summarise(
    jumlah_penduduk = sum(jumlah_penduduk, na.rm = TRUE),
    jumlah_penderita = sum(jumlah_penderita_hipertensi_usia_15tahunkeatas, na.rm = TRUE),
    prevalensi = (jumlah_penderita / jumlah_penduduk) * 100,
    .groups = "drop"
  ) %>%
  arrange(desc(prevalensi)) %>%
  slice_head(n = 10)
kable(
  top10_prevalensi_2024,
  digits = 2,
  caption = "10 Kabupaten/Kota dengan Prevalensi Hipertensi Usia ≥15 Tahun Tertinggi di Jawa Barat Tahun 2024"
)
10 Kabupaten/Kota dengan Prevalensi Hipertensi Usia ≥15 Tahun Tertinggi di Jawa Barat Tahun 2024
nama_kabupaten_kota jumlah_penduduk jumlah_penderita prevalensi
KOTA BANDUNG 2528160 1990980 78.75
KOTA DEPOK 2163640 379903 17.56
KOTA SUKABUMI 365740 34835 9.52
KOTA CIMAHI 598700 56173 9.38
KABUPATEN BANDUNG 3753120 324883 8.66
KOTA BANJAR 209790 17161 8.18
KABUPATEN SUMEDANG 1187130 94523 7.96
KABUPATEN KUNINGAN 1213930 95797 7.89
KABUPATEN CIAMIS 1259230 98036 7.79
KOTA TASIKMALAYA 750730 55999 7.46
ggplot(top10_prevalensi_2024,
       aes(x = reorder(nama_kabupaten_kota, prevalensi), y = prevalensi)) +
  geom_col(fill = "firebrick") +
  coord_flip() +
  labs(
    title = "Top 10 Kabupaten/Kota dengan Prevalensi Hipertensi Tertinggi Berdasarkan Usia (2024)",
    x = "Kabupaten/Kota",
    y = "Prevalensi Hipertensi (%)"
  ) +
  theme_minimal()

# 10 wilayah dengan prevalensi tertinggi untuk penderita yang dapat pelayanan kesehatan 
top10_prevalensi_2024_layanan <- data %>%
  filter(tahun == 2024) %>%
  group_by(nama_kabupaten_kota) %>%
  summarise(
    jumlah_penduduk = sum(jumlah_penduduk, na.rm = TRUE),
    jumlah_penderita = sum(jumlah_penderita_hipertensi_mendapatkan_pelayanan, na.rm = TRUE),
    prevalensi = (jumlah_penderita / jumlah_penduduk) * 100,
    .groups = "drop"
  ) %>%
  arrange(desc(prevalensi)) %>%
  slice_head(n = 10)
kable(
  top10_prevalensi_2024_layanan,
  digits = 2,
  caption = "10 Kabupaten/Kota dengan Prevalensi Hipertensi Mendapat Pelayanan Kesehatan Tertinggi di Jawa Barat Tahun 2024"
)
10 Kabupaten/Kota dengan Prevalensi Hipertensi Mendapat Pelayanan Kesehatan Tertinggi di Jawa Barat Tahun 2024
nama_kabupaten_kota jumlah_penduduk jumlah_penderita prevalensi
KABUPATEN SUMEDANG 1187130 121808 10.26
KOTA SUKABUMI 365740 37136 10.15
KABUPATEN BANDUNG 3753120 332683 8.86
KABUPATEN MAJALENGKA 1352540 116939 8.65
KOTA BOGOR 1078350 89726 8.32
KOTA BANDUNG 2528160 208287 8.24
KOTA TASIKMALAYA 750730 61450 8.19
KOTA DEPOK 2163640 152907 7.07
KOTA CIREBON 344850 24065 6.98
KOTA CIMAHI 598700 41215 6.88
ggplot(top10_prevalensi_2024_layanan,
       aes(x = reorder(nama_kabupaten_kota, prevalensi), y = prevalensi)) +
  geom_col(fill = "firebrick") +
  coord_flip() +
  labs(
    title = "Top 10 Kabupaten/Kota dengan Prevalensi Hipertensi Tertinggi Berdasarkan Pelayanan Kesehatan(2024)",
    x = "Kabupaten/Kota",
    y = "Prevalensi Hipertensi (%)"
  ) +
  theme_minimal()

4.3 Analisis Spasial Hipertensi

Analisis spasial merupakan pendekatan penting dalam epidemiologi untuk memahami pola geografis penyebaran penyakit. Dalam konteks hipertensi, analisis spasial membantu mengidentifikasi area-area dengan risiko tinggi (hotspot), mendeteksi pola pengelompokan kasus (clustering), dan memahami hubungan spasial antara prevalensi hipertensi dengan faktor-faktor risiko lingkungan dan sosial ekonomi. Analisis spasial yang dilakukan dalam penelitian ini mencakup beberapa metode statistik spasial yang saling melengkapi.

Persiapan Data dan Library

library(readxl)
library(dplyr)
library(sf)
library(tmap)
library(spdep)
library(ggplot2)
library(knitr)
library(kableExtra)
library(viridis)
library(RColorBrewer)

# Baca data Hipertensi
data <- read_excel("C:\\Users\\reifa\\Downloads\\Shiny\\DataHipertensi.xlsx")

# Hitung prevalensi dan klasifikasi
data_2024 <- data %>%
  filter(tahun == 2024) %>% 
  mutate(
    Prevalensi = (jumlah_penderita_hipertensi_usia_15tahunkeatas / 
                  jumlah_penduduk) * 100,
    
    Tipe_Wilayah = ifelse(
      grepl("KOTA", nama_kabupaten_kota, ignore.case = TRUE),
      "Kota", "Kabupaten"
    ),
    
    Kategori_Prevalensi = cut(
      Prevalensi,
      breaks = quantile(Prevalensi, probs = c(0, 0.25, 0.5, 0.75, 1),
                        na.rm = TRUE),
      labels = c("Rendah", "Sedang", "Tinggi", "Sangat Tinggi"),
      include.lowest = TRUE
    )
  )


# Baca shapefile Jawa Barat dari GADM
jabar_shp <- st_read("C:\\Users\\reifa\\Downloads\\Shiny\\gadm41_IDN_2.shp")
## Reading layer `gadm41_IDN_2' from data source 
##   `C:\Users\reifa\Downloads\Shiny\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
# Filter hanya Jawa Barat
jabar_shp <- jabar_shp %>%
  filter(NAME_1 == "Jawa Barat")

# Lihat nama kabupaten/kota di shapefile
print("Nama wilayah di shapefile:")
## [1] "Nama wilayah di shapefile:"
print(unique(jabar_shp$NAME_2))
##  [1] "Bandung"          "Bandung Barat"    "Banjar"           "Bekasi"          
##  [5] "Bogor"            "Ciamis"           "Cianjur"          "Cimahi"          
##  [9] "Cirebon"          "Depok"            "Garut"            "Indramayu"       
## [13] "Karawang"         "Kota Bandung"     "Kota Bekasi"      "Kota Bogor"      
## [17] "Kota Cirebon"     "Kota Sukabumi"    "Kota Tasikmalaya" "Kuningan"        
## [21] "Majalengka"       "Purwakarta"       "Subang"           "Sukabumi"        
## [25] "Sumedang"         "Tasikmalaya"      "Waduk Cirata"

Harmonisasi Nama Wilayah

# Buat fungsi untuk mencocokkan nama
data_2024 <- data_2024%>%
  mutate(
    Nama_Matching = case_when(
      # Kabupaten
      nama_kabupaten_kota == "KABUPATEN BOGOR" ~ "Bogor",
      nama_kabupaten_kota == "KABUPATEN SUKABUMI" ~ "Sukabumi",
      nama_kabupaten_kota == "KABUPATEN CIANJUR" ~ "Cianjur",
      nama_kabupaten_kota == "KABUPATEN BANDUNG" ~ "Bandung",
      nama_kabupaten_kota == "KABUPATEN GARUT" ~ "Garut",
      nama_kabupaten_kota == "KABUPATEN TASIKMALAYA" ~ "Tasikmalaya",
      nama_kabupaten_kota == "KABUPATEN CIAMIS" ~ "Ciamis",
      nama_kabupaten_kota == "KABUPATEN KUNINGAN" ~ "Kuningan",
      nama_kabupaten_kota == "KABUPATEN CIREBON" ~ "Cirebon",
      nama_kabupaten_kota == "KABUPATEN MAJALENGKA" ~ "Majalengka",
      nama_kabupaten_kota == "KABUPATEN SUMEDANG" ~ "Sumedang",
      nama_kabupaten_kota == "KABUPATEN INDRAMAYU" ~ "Indramayu",
      nama_kabupaten_kota == "KABUPATEN SUBANG" ~ "Subang",
      nama_kabupaten_kota == "KABUPATEN PURWAKARTA" ~ "Purwakarta",
      nama_kabupaten_kota == "KABUPATEN KARAWANG" ~ "Karawang",
      nama_kabupaten_kota == "KABUPATEN BEKASI" ~ "Bekasi",
      nama_kabupaten_kota == "KABUPATEN BANDUNG BARAT" ~ "Bandung Barat",
      nama_kabupaten_kota == "KABUPATEN PANGANDARAN" ~ "Pangandaran",
      # Kota
      nama_kabupaten_kota == "KOTA BOGOR" ~ "Kota Bogor",
      nama_kabupaten_kota == "KOTA SUKABUMI" ~ "Kota Sukabumi",
      nama_kabupaten_kota == "KOTA BANDUNG" ~ "Kota Bandung",
      nama_kabupaten_kota == "KOTA CIREBON" ~ "Kota Cirebon",
      nama_kabupaten_kota == "KOTA BEKASI" ~ "Kota Bekasi",
      nama_kabupaten_kota == "KOTA DEPOK" ~ "Kota Depok",
      nama_kabupaten_kota == "KOTA CIMAHI" ~ "Kota Cimahi",
      nama_kabupaten_kota == "KOTA TASIKMALAYA" ~ "Kota Tasikmalaya",
      nama_kabupaten_kota == "KOTA BANJAR" ~ "Kota Banjar",
      TRUE ~ nama_kabupaten_kota
    )
  )

# Gabungkan data dengan shapefile
jabar_data <- jabar_shp %>%
  left_join(data_2024, by = c("NAME_2" = "Nama_Matching"))

# Cek data yang tidak cocok
missing_data <- jabar_data %>%
  filter(is.na(Prevalensi)) %>%
  st_drop_geometry() %>%
  select(NAME_2)

if(nrow(missing_data) > 0) {
  cat("Wilayah yang tidak cocok:\n")
  print(missing_data)
}
## Wilayah yang tidak cocok:
##         NAME_2
## 1       Banjar
## 2       Cimahi
## 3        Depok
## 4 Waduk Cirata
data_2024 %>%
  count(Kategori_Prevalensi, Tipe_Wilayah) %>%
  kable(
    caption = "Distribusi Kabupaten/Kota menurut Kategori Prevalensi Hipertensi Tahun 2024"
  )
Distribusi Kabupaten/Kota menurut Kategori Prevalensi Hipertensi Tahun 2024
Kategori_Prevalensi Tipe_Wilayah n
Rendah Kabupaten 7
Sedang Kabupaten 5
Sedang Kota 2
Tinggi Kabupaten 4
Tinggi Kota 2
Sangat Tinggi Kabupaten 2
Sangat Tinggi Kota 5

Peta Tematik Prevalensi Hipertensi

data_2024 <- data_2024 %>%
  mutate(
    Kategori_Prevalensi = cut(
      Prevalensi,
      breaks = quantile(Prevalensi, probs = c(0, 0.25, 0.5, 0.75, 1),
                        na.rm = TRUE),
      labels = c( "Rendah", "Sedang", "Tinggi", "Sangat Tinggi"),
      include.lowest = TRUE
    )
  )

jabar_data <- jabar_shp %>%
  left_join(data_2024, by = c("NAME_2" = "Nama_Matching"))

# Set tmap mode
tmap_mode("plot")

# Peta prevalensi Hipertensi
peta1 <- tm_shape(jabar_data) +
  tm_fill("Prevalensi",
          title = "Prevalensi",
          palette = "YlOrRd",
          style = "jenks",
          n = 5,
          legend.hist = TRUE) +
  tm_borders(col = "white", lwd = 1) +
  tm_text("NAME_2", size = 0.5, col = "black", alpha = 0.7) +
  tm_layout(
    main.title = "Peta Prevalensi Kasus Hipertensi \nProvinsi Jawa Barat (2024)",
    main.title.size = 1.2,
    legend.outside = TRUE,
    legend.outside.position = "right",
    frame = FALSE
  ) +
  tm_compass(position = c("left", "bottom")) +
  tm_scale_bar(position = c("left", "bottom"))

print(peta1)

Peta Kategori Prevalensi

peta1 <- tm_shape(jabar_data) +
  tm_fill("Kategori_Prevalensi",
          title = "Kategori\nPrevalensi",
          palette = c("Rendah" = "#fce6e6", 
                      "Sedang" = "#f7b3b3",
                      "Tinggi" = "#ef6666", 
                      "Sangat Tinggi" = "#e81919")) +
  tm_borders(col = "white", lwd = 1) +
  tm_text("NAME_2", size = 0.5, col = "black", alpha = 0.7) +
  tm_layout(
    main.title = "Peta Kategori Prevalensi Hipertensi di Jawa Barat (2024)",
    main.title.size = 1.2,
    legend.outside = TRUE,
    legend.outside.position = "right",
    frame = FALSE
  ) +
  tm_compass(position = c("left", "bottom")) +
  tm_scale_bar(position = c("left", "bottom"))

print(peta1)

Analisis Autokorelasi Spasial (Moran’s I)

# Cek missing values
cat("Cek Missing Values:\n")
## Cek Missing Values:
cat("NA dalam Prevalensi:", sum(is.na(jabar_data$Prevalensi)), "\n")
## NA dalam Prevalensi: 4
cat("NA dalam geometri:", sum(is.na(st_geometry(jabar_data))), "\n\n")
## NA dalam geometri: 0
jabar_complete <- jabar_data %>%
  filter(!is.na(Prevalensi) & 
         !is.na(jumlah_penderita_hipertensi_usia_15tahunkeatas) & 
         !is.na(jumlah_penduduk))

cat("Jumlah wilayah setelah filter:", nrow(jabar_complete), "\n")
## Jumlah wilayah setelah filter: 23
cat("Wilayah yang dikeluarkan:\n")
## Wilayah yang dikeluarkan:
missing_areas <- jabar_data %>%
  filter(is.na(Prevalensi)) %>%
  st_drop_geometry() %>%
  select(NAME_2)
if(nrow(missing_areas) > 0) {
  print(missing_areas)
} else {
  cat("Tidak ada wilayah yang dikeluarkan\n")
}
##         NAME_2
## 1       Banjar
## 2       Cimahi
## 3        Depok
## 4 Waduk Cirata
# Buat matriks tetangga (queen contiguity)
nb <- poly2nb(jabar_complete, queen = TRUE)

# Cek wilayah tanpa tetangga
if(any(card(nb) == 0)) {
  cat("\nPeringatan: Ada wilayah tanpa tetangga:\n")
  no_neighbor <- which(card(nb) == 0)
  print(jabar_complete$NAME_2[no_neighbor])
}

# Konversi ke listw
lw <- nb2listw(nb, style = "W", zero.policy = TRUE)

# Hitung Moran's I
moran_test <- moran.test(jabar_complete$Prevalensi, lw, zero.policy = TRUE)

cat("Statistik Moran's I:\n")
## Statistik Moran's I:
cat("─────────────────────────────────────────────────────────────\n")
## ─────────────────────────────────────────────────────────────
cat(sprintf("Moran's I             : %7.4f\n", moran_test$estimate[1]))
## Moran's I             :  0.0003
cat(sprintf("Expected Value        : %7.4f\n", moran_test$estimate[2]))
## Expected Value        : -0.0455
cat(sprintf("Variance              : %7.6f\n", moran_test$estimate[3]))
## Variance              : 0.001151
cat(sprintf("Standard Deviate      : %7.4f\n", moran_test$statistic))
## Standard Deviate      :  1.3478
cat(sprintf("P-value               : %s\n", format.pval(moran_test$p.value, digits = 4)))
## P-value               : 0.08887
cat("─────────────────────────────────────────────────────────────\n\n")
## ─────────────────────────────────────────────────────────────
# Interpretasi
if(moran_test$p.value < 0.001) {
  sig_level <- "sangat signifikan (p < 0.001)"
} else if(moran_test$p.value < 0.01) {
  sig_level <- "sangat signifikan (p < 0.01)"
} else if(moran_test$p.value < 0.05) {
  sig_level <- "signifikan (p < 0.05)"
} else {
  sig_level <- "tidak signifikan (p ≥ 0.05)"
}

if(moran_test$p.value < 0.05) {
  if(moran_test$estimate[1] > 0) {
    cat("✓ Terdapat autokorelasi spasial POSITIF yang", sig_level, "\n\n")
    cat("  Artinya:\n")
    cat("  • Wilayah dengan prevalensi hipertensi tinggi cenderung bertetangga\n")
    cat("    dengan wilayah prevalensi tinggi (clustering tinggi)\n")
    cat("  • Wilayah dengan prevalensi hipertensi rendah cenderung bertetangga\n")
    cat("    dengan wilayah prevalensi rendah (clustering rendah)\n")
    cat("  • Pola penyebaran hipertensi menunjukkan pengelompokan spasial\n")
    cat("  • Diperlukan intervensi berbasis klaster geografis\n")
  } else {
    cat("✓ Terdapat autokorelasi spasial NEGATIF yang", sig_level, "\n\n")
    cat("  Artinya:\n")
    cat("  • Wilayah dengan prevalensi tinggi cenderung bertetangga\n")
    cat("    dengan wilayah prevalensi rendah (pola dispersi)\n")
    cat("  • Pola penyebaran hipertensi bersifat heterogen secara spasial\n")
  }
} else {
  cat("✗ Tidak terdapat autokorelasi spasial yang signifikan\n\n")
  cat("  Artinya:\n")
  cat("  • Pola sebaran kasus hipertensi bersifat acak (random)\n")
  cat("  • Tidak ada pola pengelompokan atau dispersi yang jelas\n")
  cat("  • Prevalensi hipertensi di suatu wilayah tidak bergantung pada\n")
  cat("    prevalensi di wilayah tetangganya\n")
}
## ✗ Tidak terdapat autokorelasi spasial yang signifikan
## 
##   Artinya:
##   • Pola sebaran kasus hipertensi bersifat acak (random)
##   • Tidak ada pola pengelompokan atau dispersi yang jelas
##   • Prevalensi hipertensi di suatu wilayah tidak bergantung pada
##     prevalensi di wilayah tetangganya
moran_result <- list(
  statistic = moran_test$estimate[1],
  p_value = moran_test$p.value,
  significant = moran_test$p.value < 0.05
)

Moran Scatterplot

# Buat Moran Scatterplot
par(mar = c(5, 5, 4, 2))
moran_plot <- moran.plot(jabar_complete$Prevalensi, lw, 
                         zero.policy = TRUE,
                         labels = jabar_complete$NAME_2,
                         xlab = "Prevalensi hipertensi (standardized)",
                         ylab = "Spatially Lagged Prevalensi Hipertensi (standardized)",
                         main = "Moran Scatterplot: Autokorelasi Spasial Prevalensi hipertensi\ndi Jawa Barat (2024)",
                         cex.main = 1.2,
                         cex.lab = 1.1)

# Tambahkan legend
legend("topleft", 
       legend = c("High-High", "Low-High", "Low-Low", "High-Low"),
       pch = 19,
       col = c("red", "pink", "lightblue", "lightgreen"),
       title = "Kuadran",
       bty = "n")

# Tambahkan informasi Moran's I
mtext(sprintf("Moran's I = %.4f, p-value = %s", 
              moran_result$statistic, 
              format.pval(moran_result$p_value, digits = 3)),
      side = 3, line = 0.5, cex = 0.9, col = "blue")

Analisis LISA (Local Indicators of Spatial Association)

# Hitung Local Moran's I
local_moran <- localmoran(jabar_complete$Prevalensi, lw, zero.policy = TRUE)

# Tambahkan ke data
jabar_complete$local_moran_i <- local_moran[,1]
jabar_complete$local_moran_z <- local_moran[,4]
jabar_complete$local_moran_p <- local_moran[,5]

# Standardisasi nilai
mean_prev <- mean(jabar_complete$Prevalensi, na.rm = TRUE)
jabar_complete$prev_std <- scale(jabar_complete$Prevalensi)
jabar_complete$prev_lag_std <- lag.listw(lw, jabar_complete$prev_std, zero.policy = TRUE)

# Klasifikasi klaster LISA dengan kriteria yang lebih ketat
jabar_complete <- jabar_complete %>%
  mutate(
    lisa_cluster = case_when(
      local_moran_p > 0.05 ~ "Not Significant",
      local_moran_i > 0 & prev_std > 0 & Prevalensi > mean_prev ~ "High-High",
      local_moran_i > 0 & prev_std < 0 & Prevalensi < mean_prev ~ "Low-Low",
      local_moran_i < 0 & prev_std > 0 & Prevalensi> mean_prev ~ "High-Low",
      local_moran_i < 0 & prev_std < 0 & Prevalensi < mean_prev ~ "Low-High",
      TRUE ~ "Not Significant"
    ),
    lisa_sig = case_when(
      local_moran_p < 0.001 ~ "***",
      local_moran_p < 0.01 ~ "**",
      local_moran_p < 0.05 ~ "*",
      TRUE ~ "ns"
    )
  )

# Ringkasan klaster LISA
lisa_summary <- jabar_complete %>%
  st_drop_geometry() %>%
  group_by(lisa_cluster) %>%
  summarise(
    Jumlah = n(),
    Mean_Prevalensi = mean(Prevalensi, na.rm = TRUE),
    Min_Prevalensi = min(Prevalensi, na.rm = TRUE),
    Max_Prevalensi = max(Prevalensi, na.rm = TRUE)
  ) %>%
  arrange(desc(Mean_Prevalensi))

kable(lisa_summary,
      caption = "Ringkasan Klaster LISA Prevalensi hipertensi",
      digits = 2,
      col.names = c("Tipe Klaster", "Jumlah Wilayah", "Mean", "Min", "Max"),
      format.args = list(big.mark = ",")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
Ringkasan Klaster LISA Prevalensi hipertensi
Tipe Klaster Jumlah Wilayah Mean Min Max
Not Significant 23 9.71 3.56 78.75
# Tabel detail wilayah dengan klaster signifikan
cat("\n")
lisa_table <- jabar_complete %>%
  st_drop_geometry() %>%
  filter(local_moran_p < 0.05) %>%
  select(NAME_2, Tipe_Wilayah, Prevalensi, local_moran_i, 
         local_moran_z, local_moran_p, lisa_cluster, lisa_sig) %>%
  arrange(local_moran_p)

if(nrow(lisa_table) > 0) {
  kable(lisa_table,
        caption = "Wilayah dengan Klaster Spasial Signifikan (p < 0.05)",
        digits = c(0, 0, 2, 3, 3, 4, 0, 0),
        col.names = c("Wilayah", "Tipe", "Prevalensi/100k", "Local I", 
                      "Z-score", "P-value", "Klaster", "Sig.")) %>%
    kable_styling(bootstrap_options = c("striped", "hover"), 
                  full_width = FALSE, font_size = 11) %>%
    row_spec(0, bold = TRUE, color = "white", background = "#2E86AB") %>%
    column_spec(7, bold = TRUE)
} else {
  cat("Tidak ada wilayah dengan klaster spasial yang signifikan (p < 0.05)\n")
}
## Tidak ada wilayah dengan klaster spasial yang signifikan (p < 0.05)
# Update jabar_data dengan hasil analisis
jabar_data <- jabar_data %>%
  left_join(
    jabar_complete %>% 
      st_drop_geometry() %>% 
      select(NAME_2, local_moran_i, local_moran_p, lisa_cluster, 
             prev_std, prev_lag_std, lisa_sig),
    by = "NAME_2"
  )

Pembahasan

1. Deskriptif

Pada tahap awal telah dilakukan analisis deksriptif untuk melihat gambaran atau menemukan karakteristik data. Ditemukan bahwa rata-rata jumlah penderita hipertensi usia ≥15 tahun per kabupaten/kota di Jawa Barat meningkat dari tahun 2020 hingga 2022, dengan nilai mean naik dari sekitar 440 ribu (2020) menjadi 533 ribu (2022). Namun, terjadi penurunan tajam pada tahun 2023 yang berlanjut hingga 2024. Pola yang mirip juga terlihat pada nilai median, yang menandakan perubahan ini terjadi secara sistemik hampir di seluruh wilayah, bukan hanya dipengaruhi oleh outlier tertentu.

Standar deviasi yang relatif tinggi pada seluruh periode menunjukkan ketimpangan beban hipertensi antar kabupaten/kota. Hal ini diperkuat oleh koefisien variasi (CV) yang berada di atas 60% pada semua tahun, bahkan meningkat tajam pada 2024. Hasil ini menunjukkan distribusi kasus hipertensi sangat heterogen, dengan sebagian wilayah menanggung beban jauh lebih besar dibanding wilayah lainnya.

Kemudian, total penderita dihitung secara akumulatif selama lima tahun. Hasilnya, Kabupaten Bogor, Kabupaten Bandung, dan Kota Bandung merupakan tiga wilayah dengan jumlah penderita hipertensi usia ≥15 tahun tertinggi. Wilayah-wilayah ini juga dikenal sebagai daerah dengan jumlah penduduk besar, sehingga tingginya jumlah kasus mencerminkan beban absolut penyakit yang besar. Pola serupa juga terlihat pada indikator jumlah penderita hipertensi yang mendapatkan pelayanan kesehatan, di mana Kabupaten Bogor dan Kabupaten Bandung tetap mendominasi, menunjukkan tingginya kebutuhan layanan kesehatan di wilayah tersebut.

Selanjutnya, dilakukan analisis tren yang menunjukkan bahwa jumlah total penderita hipertensi usia ≥15 tahun meningkat konsisten dari 2020 hingga mencapai puncaknya pada 2022, kemudian mengalami penurunan signifikan pada 2023, dan sedikit meningkat kembali pada 2024. Pola yang sejalan juga terlihat pada jumlah penderita yang mendapatkan pelayanan kesehatan, namun dengan peningkatan yang lebih tajam. Penurunan drastis pada 2023 dapat disebabkan banyak hal seperti perubahan sistem pelaporan, kebijakan pencatatan, atau gangguan layanan kesehatan, sehingga perlu lebih hati-hati dan tidak langsung diasumsikan sebagai kondisi faktual.

2. Analisis Temporal dan Spasial

Dari menjumlahkan seluruh provinsi, prevalensi hipertensi usia ≥15 tahun di Jawa Barat meningkat pada periode 2020–2022, dari 24,67% (2020) menjadi 29,19% (2022). Namun, pada 2023 terjadi penurunan tajam menjadi 9,17%, dan sedikit meningkat kembali pada 2024 menjadi 10,26%. Penurunan drastis ini kemungkinan besar dipengaruhi perubahan pencatatan, cakupan skrining, atau definisi operasional data, dan tidak dapat langsung diartikan sebagai penurunan risiko hipertensi secara epidemiologis. Hal ini perlu diperhatikan agar interpretasi tren tidak bias.

Adapun pada penelitian ini lebih berfokus pada tahun 2024, di mana wilayah dengan prevalensi tertinggi pada tahun tersebut adalah Kota Bandung (78,75%) dan Kota Depok (17,56%), diikuti wilayah lain dengan prevalensi menengah, yakni Sukabumi, Cimahi, dan Kabupaten Bandung. Sementara itu, wilayah dengan prevalensi tertinggi penderita hipertensi yang mendapat layanan kesehatan didominasi oleh Kabupaten Sumedang, Kota Sukabumi, dan Kabupaten Bandung. Ini dapat menjadi penanda awal adanya ketimpangan pelayanan kesehatan antarwilayah.

Dalam memudahkan penyampaian hasil analisis, dilakukan analisis spasial dengan membuat klaster atau klasifikasi wilayah menjadi daerah yang memiliki prevalensi sangat tinggi sampai rendah. Hasilnya, kategori “Sangat Tinggi” lebih banyak ditemukan di kota, sementara daerah kabupaten lebih banyak berada pada kategori menengah-rendah.Jika melihat ke tahun 2024, peta prevalensi menunjukkan variasi antarwilayah yang cukup kontras, namun tidak membentuk klaster atau batas geografi yang jelas. Wilayah yang memiliki prevalensi tinggi tidak selalu berdekatan secara geografis, melainkan tersebar acak.

Untuk membuktikan asumsi-asumsi tersebut, dilakukan uji autokorelasi spasial menggunakan Moran’s I dan LISA. Hasilnya, Moran’s I menunjukkan tidak adanya autokorelasi spasial yang signifikan, yang berarti:pola sebaran prevalensi hipertensi bersifat acak (random), prevalensi suatu kabupaten/kota tidak dipengaruhi secara signifikan oleh wilayah tetangganya. Begiitupun dengan hasil LISA yang konsisten, di mana tidak ditemukan klaster High–High, Low–Low, maupun outlier spasial yang signifikan (p < 0,05).

3. Desain Studi Epidemiologis Simulatif

Berikut adalah simulai desain studi epidemiologis yang dapat dilakukan. Desain studi cross-sectional untuk menganalisis prevalensi hipertensi dan faktor-faktor yang berhubungan pada tingkat kabupaten/kota di Provinsi Jawa Barat. Variabel utama dalam penelitian ini adalah prevalensi hipertensi sebagai variabel dependen, dan sisanya variabel independen yakni karakteristik sosiodemografi (usia, jenis kelamin), faktor gaya hidup (obesitas, aktivitas fisik, konsumsi garam), serta faktor lingkungan dan pelayanan kesehatan (kepadatan penduduk, tingkat mobilisasi, dan ketersediaan fasilitas kesehatan). Populasi penelitian adalah seluruh penduduk yang berusia ≥18 tahun yang berdomisili di kabupaten/kota di Provinsi Jawa Barat. Teknik sampling dilakukan dengan total sampling pada level wilayah dengan menggunakan seluruh data kabupaten/kota yang tersedia dari sumber data sekunder resmi, seperti Riskesdas dan BPS. Potensi bias yang mungkin terjadi adalah information bias akibat kesalahan pengukuran tekanan darah atau kesalahan ketika melakukan pelaporan diri pada variabel perilaku, serta ecological fallacy karena analisis dilakukan pada tingkat wilayah, serta keterbatasan desain cross-sectional yang tidak dapat menjelaskan hubungan sebab-akibat secara temporal.

BAB 5. KESIMPULAN DAN REKOMENDASI

5.1 Kesimpulan

Berdasarkan analisis epidemiologis kasus hipertensi atau tekanan darah tinggi di Provinsi Jawa Barat tahun 2020-2024, dapat disimpulkan beberapa hal sebagai berikut:

5.1.1 Faktor Agent-Host-Environment

Agent : Hipertensi merupakan penyakit tidak menular yang dipengaruhi oleh faktor fisiologis dan metabolik, seperti peningkatan resistensi pembuluh darah dan gangguan regulasi tekanan darah. Tidak terdapat agen infeksius, sehingga kejadian hipertensi sangat dipengaruhi oleh gaya hidup dan faktor lingkungan.

Host (Inang): Beban hipertensi tertinggi ditemukan pada penduduk usia ≥15 tahun di wilayah dengan jumlah penduduk besar dan tingkat urbanisasi tinggi.

Wilayah perkotaan seperti Kota Bandung dan Kota Depok menunjukkan prevalensi yang jauh lebih tinggi dibandingkan kabupaten, mengindikasikan peran faktor host seperti: Pola hidup sedentari, Stres psikososial, serta Pola konsumsi tinggi garam dan lemak

Perbedaan besar prevalensi antardaerah menunjukkan heterogenitas risiko hipertensi pada tingkat populasi.

Environment (Lingkungan): Lingkungan perkotaan dengan kepadatan tinggi, aktivitas ekonomi intensif, dan tekanan sosial berperan penting dalam peningkatan prevalensi hipertensi.

Peta prevalensi menunjukkan pola spasial tidak merata, dengan konsentrasi prevalensi tinggi di wilayah perkotaan dan kawasan penyangga metropolitan

5.1.2 Pola Sebaran Kasus Hipertensi di Jawa Barat

  1. Pola Temporal Jumlah penderita hipertensi meningkat dari tahun 2020 hingga 2022. Terjadi penurunan tajam pada tahun 2023, kemudian sedikit meningkat kembali pada 2024. Fluktuasi ini kemungkinan dipengaruhi oleh perubahan sistem pencatatan, cakupan skrining, dan akses pelayanan kesehatan.

Pola tren serupa dengan total penderita, menunjukkan bahwa cakupan pelayanan belum stabil dari tahun ke tahun. Tahun 2022–2023 menunjukkan penurunan signifikan jumlah penderita yang mendapatkan layanan, yang dapat mengindikasikan gangguan akses atau underreporting.

  1. Wilayah dengan Prevalensi Tertinggi (2024):

Kota Bandung (78,75%) Kota Depok (17,56%) Kota Sukabumi (9,52%) Kota Cimahi (9,38%) Kabupaten Bandung (8,66%)

Karakteristik Wilayah Beban Tinggi:

  • Didominasi oleh wilayah perkotaan
  • Kepadatan penduduk tinggi
  • Aktivitas ekonomi dan mobilitas masyarakat tinggi
  • Tekanan gaya hidup modern yang berkontribusi pada faktor risiko hipertensi
  1. Karakteristik Wilayah Beban Tinggi:
  • Mayoritas adalah wilayah perkotaan dengan kepadatan penduduk tinggi
  • Memiliki mobilitas penduduk yang tinggi
  • Wilayah dengan aktivitas ekonomi dan transportasi intensif
  1. Pola Spasial:
    • Uji Moran’s I menunjukkan tidak ada autokorelasi spasial yang signifikan
    • Artinya: Pola hipertensi di Jawa Barat bersifat acak (random), bukan mengelompok
    • Tidak ditemukan hotspot (High-High cluster) yang signifikan secara statistik.

Peta tematik menunjukkan kategori prevalensi tinggi dan sangat tinggi terkonsentrasi di kota-kota besar. Kabupaten dengan wilayah geografis luas cenderung memiliki prevalensi lebih rendah namun jumlah kasus absolut tetap besar.

5.1.3 Desain Studi Epidemiologi

Penelitian ini menggunakan desain studi ekologi deskriptif time-series dengan unit analisis kabupaten/kota.

Kelebihan desain: - Mampu menggambarkan pola spasial dan temporal hipertensi - Efektif untuk identifikasi wilayah prioritas intervensi - Relevan untuk perencanaan kebijakan kesehatan tingkat daerah

Keterbatasan: - Tidak dapat menentukan hubungan sebab-akibat - Rentan terhadap ecological fallacy - Tidak menangkap faktor risiko tiap individu

5.1.4 Implikasi untuk Kebijakan

  1. Wilayah Perkotaan sebagai Prioritas Utama

Kota Bandung, Depok, Cimahi, dan kota besar lainnya memerlukan intervensi intensif

  1. Ketimpangan Cakupan Pelayanan

Fluktuasi jumlah penderita yang mendapat layanan menunjukkan perlunya penguatan sistem pelayanan primer

  1. Pendekatan Berbasis Beban Kasus

Kabupaten dengan jumlah penderita absolut besar perlu tetap menjadi target utama meskipun prevalensinya tidak tertinggi.


5.2 Rekomendasi

5.2.1 Rekomendasi Kebijakan Kesehatan

A. Prioritas Wilayah (Immediate Action)

  1. Zona Prevalensi Sangat Tinggi

Kota Bandung, Kota Depok

Rekomendasi: - Skrining tekanan darah rutin di ruang publik - Penguatan Posbindu PTM di wilayah padat - Integrasi pengendalian hipertensi dengan layanan penyakit tidak menular lainnya

  1. Zona Prevalensi Tinggi Kota Cimahi, Kota Sukabumi, Kabupaten Bandung

Rekomendasi: - Edukasi gaya hidup sehat - Peningkatan kepatuhan pengobatan - Monitoring rutin pasien hipertensi terdaftar

  1. Zona Prevalensi Sedang-Rendah

Rekomendasi:

  • Creative campaign untuk meningkatkan awareness dan pencegahan dini
  • Peningkatan layanan kesehatan

B. Intervensi Berbasis Faktor Risiko

  1. Perubahan Perilaku:
  • Kampanye konsumsi garam lemak secukupnya
  • Promosi terkait anjuran aktivitas fisik
  • Manajemen stres perkotaan
  1. Pendekatan Lingkungan:
  • Penyediaan ruang terbuka hijau
  • Fasilitasi kegiatan aktivitas fisik masyarakat
  1. Penguatan Layanan Kesehatan:
  • Penyesuaian standar pencatatan hipertensi = Deteksi dini berkelanjutan di puskesmas

5.2.2 Rekomendasi Penelitian Lanjutan

  • Studi analitik (cross-sectional/kohort) berbasis individu
  • Analisis faktor risiko perilaku dan sosial ekonomi
  • Analisis spasial lanjutan (Moran’s I, LISA)
  • Evaluasi efektivitas program pengendalian hipertensi
  • Integrasi data hipertensi dengan komorbid (diabetes, obesitas)

5.3 Keterbatasan Penelitian

  • Penelitian ini memiliki beberapa keterbatasan yang perlu diperhatikan dalam interpretasi hasil:

  • Data bersifat agregat → ecological fallacy

  • Variabel terbatas (tanpa perilaku individu)

  • Potensi kesalahan pencatatan atau kekurangan data

  • Fluktuasi sistem pencatatan antar tahun

  • Tidak mengukur durasi penyakit dan kepatuhan terapi

Implikasi: Hasil penelitian ini sebaiknya digunakan sebagai bukti awal (preliminary evidence) untuk perumusan kebijakan, bukan sebagai satu-satunya dasar pengambilan keputusan. Diperlukan penelitian lanjutan dengan desain yang lebih robust untuk konfirmasi temuan.


5.4 Penutup

Hipertensi merupakan masalah kesehatan masyarakat yang signifikan di Provinsi Jawa Barat dengan beban kasus tinggi, khususnya di wilayah perkotaan. Pola prevalensi dan tren temporal menunjukkan perlunya pendekatan pengendalian hipertensi yang berkelanjutan, berbasis wilayah, dan terintegrasi.

Keberhasilan pengendalian hipertensi bergantung pada:

  • Deteksi dini berkelanjutan
  • Pengobatan jangka panjang yang sesuai dan kosnisten
  • Perubahan gaya hidup
  • Penguatan layanan kesehatan
  • Kerja sama lintas bidang

Melalui strategi yang tepat dan sesuai dengan kenyataan yang ada, kasus hipertensi dapat ditangani lebih efektif dan efisien serta tepat guna. Kasus hipertensi di Jawa Barat dapat menurun dan kesejahteraan masyarakat meningkat.


DAFTAR PUSTAKA

Buku dan Artikel :

  1. Donira, A. D. (2022). Analisis Faktor Determinan Kejadian Hipertensi pada Penduduk Usia Lebih dari 19 Tahun di Provinsi Jawa Barat (Analisis Data Indonesian Family Life Survey-5). Pusat Informasi Kesehatan Masyarakat. https://share.google/eUrG93pwKTfGYIgKN

  2. Iqbal, N. M. F. (2025). ANALISIS KEJADIAN HIPERTENSI DENGAN PENDEKATAN EPIDEMIOLOGI DESKRIPTIF PADA DATA SURVEILANS DAERAH KHUSUS IBUKOTA JAKARTA. Intan Husada Jurnal Ilmiah Keperawatan, 13(01), 159–169. https://doi.org/10.52236/ih.v13i1.697

  3. Mills, K. T., Stefanescu, A., & He, J. (2020). The global epidemiology of hypertension. Nature Reviews Nephrology, 16(4), 223–237. https://doi.org/10.1038/s41581-019-0244-2

  4. Nurvita, S. (2022). Analisis Epidemiologi Hipertensi di Kecamatan Gayamsari. Nurvita | 2-TRIK: TUNAS-TUNAS RISET KESEHATAN. https://doi.org/10.33846/2trik12308

Data dan Statistik:

  1. Jabar Digital Service. (n.d.-a). Jumlah Penderita Hipertensi Berusia ≥ 15 Tahun Berdasarkan Kabupaten/Kota di Jawa Barat. https://opendata.jabarprov.go.id/id/dataset/jumlah-penderita-hipertensi-berusia---15-tahun-berdasarkan-kabupatenkota-di-jawa-barat

  2. Jabar Digital Service. (n.d.-b). Jumlah Penderita Hipertensi yang Mendapat Pelayanan Kesehatan Berdasarkan Kabupaten/Kota di Jawa Barat. https://opendata.jabarprov.go.id/id/dataset/jumlah-penderita-hipertensi-yang-mendapat-pelayanan-kesehatan-berdasarkan-kabupatenkota-di-jawa-barat

Metodologi Penelitian:

  1. Rothman, K. J., Greenland, S., & Lash, T. L. (2008). Modern Epidemiology (3rd ed.). Philadelphia: Lippincott Williams & Wilkins.

  2. Pfeiffer, D., Robinson, T., Stevenson, M., et al. (2008). Spatial Analysis in Epidemiology. Oxford: Oxford University Press.

  3. Bivand, R. S., Pebesma, E., & Gómez-Rubio, V. (2013). Applied Spatial Data Analysis with R (2nd ed.). New York: Springer.

R Packages:

  1. Bivand, R., & Wong, D. W. S. (2018). Comparing implementations of global and local indicators of spatial association. TEST, 27(3), 716-748.

  2. Pebesma, E. (2018). Simple Features for R: Standardized Support for Spatial Vector Data. The R Journal, 10(1), 439-446.

  3. Tennekes, M. (2018). tmap: Thematic Maps in R. Journal of Statistical Software, 84(6), 1-39.