Fenomena Kasus Diabetes Mellitus di Provinsi Jawa Barat Periode 2021-2024

Dosen Pembimbing:

Dr. I Gede Nyoman Mindra Jaya, M.Si.

Disusun Oleh:

Rasendriya Nandana Kurniawan 140610230009

PROGRAM STUDI S-1 STATISTIKA

DEPARTEMEN STATISTIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS PADJADJARAN

TAHUN AJARAN 2025/2026

Bab 1. Pendahuluan

1.1. Latar Belakang

Diabetes Mellitus (DM) merupakan salah satu penyakit tidak menular yang telah menjadi salah satu ancaman kesehatan global terbesar sebagai penyumbang angka morbiditas dan mortalitas yang signifikan setiap tahunnya. International Diabetes Federation (2021) melaporkan bahwa prevalensi diabetes terus mengalami peningkatan drastis, terutama di negara-negara berkembang, terutama Indonesia yang menduduki peringkat kelima dengan jumlah kasus terbanyak per tahun 2021. Salah satu provinsi dengan kasus Diabetes Mellitus terbanyak di Indonesia adalah Provinsi Jawa Barat. Per tahun 2024, tercatat ada total 668.220 kasus Diabetes Mellitus yang tercatat dari 27 Kabupaten dan Kota di Jawa Barat. Jumlah kasus tersebut lebih banyak dari tahun lalu, dimana pada tahun 2023 terdapat sebanyak 645.390 kasus yang tercatat.

Lonjakan kasus serta prevalensi kasus Diabetes Mellitus secara global di era sekarang sangat berkorelasi dengan perubahan gaya hidup yang dipicu oleh fenomena urbanisasi dan modernisasi secara cepat. Faktor-faktor seperti penurunan aktivitas fisik karena dominasi pekerjaan yang minim gerakan fisik, serta maraknya konsumsi makanan cepat saji yang rentan tinggi kalori dan rendah serat menjadi katalisator utama resistensi insulin. Fenomena ini diperparah dengan adanya pergeseran demografis penuaan penduduk (aging population), yang secara alami meningkatkan risiko degeneratif, namun kini diimbangi oleh tren mengkhawatirkan munculnya early-onset diabetes pada populasi usia produktif dan remaja.

Sebagai provinsi dengan populasi terbesar di Indonesia, Jawa Barat memiliki kerentanan yang tinggi terhadap peningkatan kasus penyakit tidak menular, salah satunya adalah Diabetes Mellitus. Kepadatan penduduk yang tinggi serta kesenjangan sosial-ekonomi antarwilayah menciptakan pola penyebaran penyakit yang tidak seragam. Faktor-faktor risiko seperti tingkat kemiskinan, sanitasi layak, dan rasio penduduk lansia diyakini memiliki kontribusi terhadap prevalensi kasus Diabetes Mellitus. Analisis prevalensi Diabetes Mellitus di masa ini menjadi hal yang sangat penting bukan hanya untuk mengetahui besaran masalah, tetapi juga memahami persebarannya.

1.2. Identifikasi Masalah

Adapun rumusan masalah yang didapatkan dalam penyusunan penelitian ini adalah:

  1. Berapa angka prevalensi kasus Diabetes Mellitus di Provinsi Jawa Barat tahun 2021 - 2024?
  2. Bagaimana distribusi prevalensi kasus Diabetes Mellitus di Provinsi Jawa Barat per Kabupaten/Kota?
  3. Bagaimana model simulasi desain studi cross-sectional dapat dibangun untuk mengukur asosiasi antara Kabupaten/Kota dengan prevalensi Diabetes Mellitus di Jawa Barat?

1.3. Tujuan

Adapun tujuan penyusunan penelitian ini adalah:

  1. Mengidentifikasi besaran angka prevalensi kasus Diabetes Mellitus di Provinsi Jawa Barat tahun 2021 - 2024
  2. Mengidentifikasi distribusi prevalensi kasus Diabetes Mellitus di Provinsi Jawa Barat dengan media peta choropleth
  3. Mengidentifikasi adanya pola spasial pada prevalensi kasus Diabetes Mellitus di Provinsi Jawa Barat

1.4. Batasan Penelitian

Adapun batasan penelitian ini adalah:

  1. Penelitian ini berfokus pada kasus Diabetes Mellitus di Provinsi Jawa Barat per wilayah kabupaten dan kota pada tahun 2021 sampai 2024
  2. Variabel dependen yang digunakan adalah kasus Diabetes Mellitus
  3. Variabel independen yang digunakan dibatasi pada 3 faktor, yaitu Persentase Penduduk Lansia (Lanjut Usia), persentase penduduk miskin, dan persentase masyarakat yang mendapatkan akses sanitasi layak

Bab 2. Tinjauan Pustaka

2.1 Konsep Agent-Host-Environment

Untuk memahami dinamika penularan penyakit menular seperti Diabetes Mellitus, kerangka kerja konseptual yang paling fundamental adalah model Segitiga Epidemiologi atau Epidemiologic Triad (Gordis, 2018). Model ini bersifat dinamis yang kejadian dan distribusi penyakit dalam populasi bukanlah disebabkan oleh satu faktor tunggal, melainkan hasil dari interaksi kompleks dan berkelanjutan antara tiga komponen utama: Agent, Host, dan Environment. Kejadian penyakit (Diabetes Mellitus) terjadi ketika keseimbangan antara ketiga faktor ini terganggu. Misalnya, kerentanan pejamu meningkat (misal, akibat gizi buruk) atau lingkungan berubah menjadi lebih mendukung transmisi (misal, urbanisasi padat). Dalam konteks Diabetes Mellitus secara keseluruhan di Jawa Barat, ketiga elemen ini berinteraksi secara konstan.

2.1.1 Agent (Agen)

Agen merujuk pada penyebab timbulnya penyakit. Dalam kasus Diabetes Mellitus, tidak ada virus ataupun bakteri yang menjadi penyebab munculnya penyakit. Namun, ada beberapa agen utama yang menjadi faktor ketidakmampuan tubuh mengelolo gula darah meliputi:

  • Defisiensi insulin: Ketidakmampuan pankreas menghasilkan insulin yang cukup untuk tubuh
  • Resistensi insulin: Sel tubuh yang menolak untuk merespons insulin tubuh
  • Asupan gula dan lemak jenuh yang sangat berlebihan memicu gangguan metabolisme
  • Obat-obatan yang dapat merusak pankreas

2.2.2 Host (Pejamu)

Host merujuk pada manusia yang rentan untuk terkena penyakit. Dalam konteks penyakit Diabetes Mellitus, faktor Host sangatlah dominan dikarenakan satu-satunya faktor yang mempengaruhi seseorang terkena atau tidaknya penyakit adalah karakter dan gaya hidup per individunya. Ada 2 kelompok besar yang dapat menggambarkan faktor Host dalam penyakit ini:

  • Unmodifiable Risk Factor: Faktor yang tidak bisa diubah, seperti genetik, umur, dan jenis kelamin
  • Modifiable Risk Factor: Faktor yang dapat diubah dan dikendalikan, seperti berat badan yang berlebih, konsumsi gula yang melewati batas, minim aktivitas fisik, dan tingkat stres

2.2.3. Environment (Lingkungan)

Environment merujuk pada faktor eksternal yang memengaruhi peluang interaksi host dan agen yang dapat mendorong potensi seseorang terkena penyakit. Dalam konteks penyakit Diabetes Mellitus, ada 3 kategori utama dalam faktor lingkungan yang berdampak:

  • Lingkungan Fisik. Aspek ini mencakup tata ruang kota dan infrastruktur, seperti ketersediaan trotoar dan ruang terbuka hijau yang dapat mendukung tingkat aktivitas warga, serta gerai makanan yang tersedia yang memengaruhi pola konsumsi masyarakat
  • Lingkungan Sosial Ekonomi. Aspek ini meliputi kondisi pendidikan, pendapatan, dan budaya masyarakat di sekitar yang dapat mendorong pola hidup masyarakat, seperti kesadaran akan bahayanya konsumsi gula yang berlebihan dan tingkat stres akibat lingkungan kerja
  • Lingkungan Biologis. Aspek ini merujuk pada virus yang tidak memengaruhi secara langsung terhadap munculnya penyakit Diabetes Mellitus, seperti virus Rubella yang dapat memicu reaksi autoimun berimbas pada kerusakan sel beta pankres.

2.2 Desain Studi

Desain studi adalah cetak biru atau arsitektur penelitian yang memandu peneliti dalam mengumpulkan dan menganalisis data untuk menjawab pertanyaan penelitian (Budiarto, 2012). Secara garis besar, desain studi dibagi menjadi deskriptif (mendeskripsikan distribusi penyakit) dan analitik (menguji hipotesis hubungan sebab-akibat).Desain analitik observasional yang umum digunakan meliputi:

2.2.1. Studi Cross-sectional

Dalam studi cross-sectional, pengukuran variabel paparan (faktor risiko) dan variabel outcome (penyakit/Diabetes Mellitus) dilakukan secara bersamaan (simultaneously) pada satu titik waktu (Rothman, 2012). Desain ini dapat diibaratkan sebagai “potret” atau snapshot dari populasi pada saat itu.

Kelebihan:

  • Efisien: Relatif cepat untuk dilaksanakan dan biaya lebih murah dibandingkan desain analitik lainnya.
  • Mengukur Prevalensi: Merupakan desain terbaik untuk mengukur frekuensi penyakit (prevalensi) di populasi, sehingga cocok untuk menggambarkan beban penyakit (burden of disease).
  • Hipotetis Awal: Baik untuk mengeksplorasi asosiasi dan menghasilkan hipotesis awal untuk penelitian kohort atau eksperimen lebih lanjut.

Kekurangan:

  • Masalah Temporal : Kekurangan utamanya adalah ketidakmampuan menentukan mana yang lebih dulu terjadi (temporalitas). Sulit dipastikan apakah paparan menyebabkan penyakit atau penyakit yang menyebabkan paparan (misalnya, apakah status gizi buruk menyebabkan Diabetes Mellitus, atau Diabetes Mellitus aktif menyebabkan gizi buruk?).
  • Tidak Mengukur Insidensi: Tidak dapat digunakan untuk mengukur laju kasus baru (insidensi), sehingga tidak dapat menghitung Risk Ratio (RR).
  • Bias Prevalensi: Dapat terjadi bias jika paparan (faktor risiko) berhubungan dengan durasi penyakit.

2.2.2. Studi Kohort (Cohort)

Desain ini mengikuti sekelompok individu (kohort) yang bebas dari penyakit pada awal studi, yang dibagi berdasarkan status paparan (terpapar dan tidak terpapar). Kohort tersebut kemudian diikuti dari waktu ke waktu (follow-up) untuk melihat siapa yang berkembang menjadi sakit.

Kelebihan:

  • Temporalitas Jelas: Dapat menentukan urutan waktu (paparan terjadi sebelum penyakit), sehingga menjadi desain observasional terkuat untuk menentukan penyebab (causality).
  • Mengukur Insidensi & RR: Dapat menghitung angka insidensi (kasus baru) secara langsung dan menghitung Risk Ratio (RR).
  • Paparan Langka: Baik untuk meneliti paparan yang langka.

Kekurangan:

  • Mahal dan Lama: Membutuhkan biaya sangat besar dan waktu yang sangat lama, terutama untuk penyakit dengan masa laten panjang seperti Diabetes Mellitus.
  • Loss to Follow-up: Risiko subjek penelitian hilang atau keluar dari studi selama periode follow-up, yang dapat menyebabkan bias.
  • Penyakit Langka: Tidak efisien untuk meneliti penyakit yang langka.

2.2.3. Studi Kasus-Kontrol (Case-Control)

Desain ini dimulai dengan mengidentifikasi kelompok kasus (individu yang sakit Diabetes Mellitus) dan kelompok kontrol (individu yang tidak sakit Diabetes Mellitus). Peneliti kemudian melihat ke belakang (retrospektif) untuk membandingkan riwayat paparan faktor risiko antara kedua kelompok tersebut.

Kelebihan:

  • Efisien untuk Penyakit Langka: Sangat cocok untuk meneliti penyakit yang jarang terjadi atau memiliki masa laten panjang (seperti Diabetes Mellitus).
  • Cepat dan Murah: Relatif cepat dan murah dibandingkan kohort, karena tidak memerlukan follow-up.
  • Multiple Paparan: Dapat meneliti berbagai kemungkinan faktor risiko (paparan) secara bersamaan.

Kekurangan:

  • Bias Recall (Daya Ingat): Sangat rentan terhadap bias daya ingat, karena subjek (terutama kasus) mungkin mengingat paparan masa lalu secara berbeda dibandingkan kelompok kontrol.
  • Bias Seleksi: Sulit untuk memilih kelompok kontrol yang benar-benar sebanding (representatif) dengan populasi asal kasus.
  • Tidak Mengukur Prevalensi/Insidensi: Tidak dapat menghitung prevalensi atau insidensi. Hanya menghasilkan Odds Ratio (OR).

2.3 Ukuran Frekuensi dan Asosiasi

Dalam epidemiologi, ukuran digunakan untuk mengkuantifikasi frekuensi penyakit dan kekuatan hubungan antara paparan dan penyakit.

2.3.1. Prevalensi

Prevalensi adalah ukuran proporsi individu dalam suatu populasi yang memiliki penyakit (kasus existing, baik baru maupun lama) pada satu titik waktu tertentu (point prevalence) atau selama periode waktu tertentu (period prevalence).

\[ \text{Prevalensi} = \frac{\text{Jumlah kasus (baru + lama) pada waktu } t}{\text{Total populasi pada waktu } t} \]

Ukuran ini menggambarkan beban penyakit (burden of disease) di masyarakat.

2.3.2. Insidensi

Insidensi mengukur jumlah kasus baru suatu penyakit yang terjadi dalam populasi berisiko selama periode waktu tertentu. Insidensi mencerminkan risiko seseorang untuk terkena penyakit. Ini biasanya diukur dalam studi kohort. Rumus untuk Cumulative Incidence (CI) atau Risk adalah:

\[ \text{Insidensi Kumulatif (Risk)} = \frac{\text{Jumlah kasus baru selama periode waktu tertentu}} {\text{Jumlah populasi berisiko}} \]

2.3.3. Attack rate (AR)

Attack Rate adalah ukuran frekuensi yang digunakan dalam epidemiologi untuk menggambarkan proporsi individu dalam suatu populasi yang menjadi sakit (terinfeksi) selama periode waktu tertentu. \[ AR = \frac{\text{Jumlah kasus baru selama periode wabah}} {\text{Jumlah populasi yang berisiko}} \times 100\% \]

2.3.4. Odds Ratio (OR)

OR adalah ukuran asosiasi yang digunakan dalam studi kasus-kontrol dan cross-sectional. OR membandingkan odds (peluang) terjadinya penyakit pada kelompok terpapar dengan odds terjadinya penyakit pada kelompok tidak terpapar.

  • OR = 1 → tidak ada asosiasi antara paparan dan penyakit.
  • OR > 1 → paparan berhubungan dengan peningkatan odds penyakit (faktor risiko).
  • OR < 1 → paparan berhubungan dengan penurunan odds penyakit (faktor protektif).

2.3.5. Risk Ratio (RR) atau Relative Risk

RR adalah ukuran asosiasi yang digunakan dalam studi kohort. RR membandingkan risiko (insidensi) penyakit pada kelompok terpapar dengan risiko (insidensi) penyakit pada kelompok tidak terpapar.

\[ RR = \frac{\text{Insidensi pada kelompok terpapar}} {\text{Insidensi pada kelompok tidak terpapar}} = \frac{a / (a + b)}{c / (c + d)} \]

2.3.6. Attributable Risk (AR)

AR (atau Selisih Risiko) adalah ukuran yang menunjukkan kelebihan risiko penyakit pada kelompok terpapar yang dapat diatribusikan (disebabkan) oleh paparan tersebut. Ukuran ini juga memerlukan data insidensi dari studi kohort.

\[ AR = (\text{Insidensi terpapar}) - (\text{Insidensi tidak terpapar}) \]

Bab 3. Metodologi Penelitian

3.1. Sumber Data

Data yang digunakan pada penelitian ini merupakan data yang dapat diakses secara open source lewat website resmi Badan Pusat Statistik Jawa Barat dan Open Data Jawa Barat

3.2.Variabel Data

Adapun variabel data penelitian yang digunakan pada penilitian ini berjumlah 4 variabel, yaitu prevalensi kasus Diabetes Mellitus sebagai variabel utama yang akan diujicoba dengan membagi jumlah kasus dengan total populasi per tahunnya, serta tiga variabel pendukung dalam pembuatan model regresi panel, yaitu kepadatan penduduk, persentase rumah tangga dengan akses sanitasi layak, dan persentase penduduk lansia.

3.3. Unit Uji

Unit uji yang digunakan pada penelitian ini adalah 27 kabupaten dan kota yang ada dalam Provinsi Jawa Barat. Adapun nama-nama kabupaten dan kota yang menjadi unit spasial pada penelitian ini adalah Bandung, Bandung Barat, Bekasi, Bogor, Ciamis, Cianjur, Cirebon, Garut, Indramayu, Karawang, Kuningan, Majalengka, Pangandaran, Purwakarta, Subang, Sukabumi, Sumedang, Tasikmalaya, Kota Bandung, Kota Banjar, Kota Bekasi, Kota Bogor, Kota Cirebon, Kota Depok, Kota Sukabumi, Kota Tasikmalaya, dan Kota Cimahi.

3.4. Metode Analisis

Analisis yang digunakan terdiri atas perhitungan prevalensi dan autokorelasi spasial, dan pemodelan regresi. Analisis deskriptif dilakukan untuk memvisualisasikan persebaran kasus Diabetes Mellitus di Jawa Barat. Autokorelasi spasial dihitung menggunakan Global Moran’s I dan Geary’s C untuk mendeteksi pola sebaran secara keseluruhan dan Local Moran’s I (LISA) untuk mengidentifikasi klaster signifikan antarwilayah. Pemodelan regresi dilakukan untuk melihat signifikansi faktor-faktor yang digunakan terhadap prevalensi kasus Diabetes Mellitus

3.5. Alur Kerja Penelitian

Adapun alur kerja pada kasus ini adalah dimulai dengan pencarian data sekunder dari sumber resmi, kemudian dilakukan pemetaan jumlah kasus dan jumlah penduduk berdasarkan kabupaten/kota serta periode tahun data yang dihimpun. Selanjutnya, dilakukan perhitungan prevalensi, analisis autokorelasi spasial, dan pemodelan regresi data panel pada prevalensi kasus Diabetes Mellitus di Provinsi Jawa Barat.

Bab 4. Hasil dan Pembahasan

Dashboard untuk hasil dan pembahasan dapat dilihat lewat tautan berikut: https://nanaurum.shinyapps.io/Epidemiologi_Diabetes_Mellitus/

Persiapan data dan file SHP

# Packages
library(spdep)
library(sp)
library(sf)
library(ggplot2)
library(dplyr)
library(spData)
library(geodata)
library(tmap)
library(skimr)
library(psych)
library(gridExtra)
library(grid)
library(viridis)
library(spatialreg)
library(stringr)
library(car)
library(plm)
library(tidyr)
library(splm)
library(kableExtra)

#### ---------------------------------------------------------------------------
# Memanggil File .shp Untuk Peta Choropleth (Geometri)
#### ---------------------------------------------------------------------------

# Baca dan persiapan dari file .shp
shp <- st_read("geoBoundaries-IDN-ADM2-all/geoBoundaries-IDN-ADM2.shp")
shp <- shp %>%
  mutate(
    NAME_join = shapeName 
  )

# Daftar kab/kota di Provinsi Jawa Barat
kabkota_jabar <- c(
  "Bandung", "Bandung Barat", "Bekasi", "Bogor", "Ciamis",
  "Cianjur", "Cirebon", "Garut", "Indramayu", "Karawang",
  "Kota Bandung", "Kota Banjar", "Kota Bekasi", "Kota Bogor",
  "Kota Cimahi", "Kota Cirebon", "Kota Depok", "Kota Sukabumi",
  "Kota Tasikmalaya", "Kuningan", "Majalengka", "Pangandaran",
  "Purwakarta", "Subang", "Sukabumi", "Sumedang", "Tasikmalaya"
)

# Filter Shapefile hanya untuk Kabupaten/Kota Jawa Barat
jabar_shp_filtered <- shp %>%
  filter(NAME_join %in% kabkota_jabar)

# Memanggil File .csv
data_csv <- read.csv("UAS - Epidemiologi - Regresi.csv", stringsAsFactors = FALSE)
col_join_csv_name <- "Kab_Kota" 

# Bersihkan nama kota di CSV agar cocok dengan Peta
data_csv <- data_csv %>%
  mutate(
    temp_name = str_to_title(str_trim(.data[[col_join_csv_name]])), 
    NAME_join = str_replace(temp_name, "Kabupaten ", "") 
  )

# Gabungkan Shapefile (Geometri) dan Data CSV (Atribut)
jabar_data <- left_join(jabar_shp_filtered, data_csv, by = "NAME_join") %>%
  rename(KabKota = NAME_join) 

# Variabel Utama
d_m <- c("DM_2021","DM_2022", "DM_2023", "DM_2024")

Matriks bobot Spatial Weight

# Matriks Spatial Weight
nb_full <- poly2nb(jabar_data, queen = TRUE)
lw_full <- nb2listw(nb_full, style = "W", zero.policy = TRUE)

Menghitung prevalensi kasus Diabetes Mellitus per tahun (total kasus per 100.000 penduduk)

# Loop untuk membuat kolom prevalensi 2021-2024
for (thn in 2021:2024) {
  col_kasus <- paste0("DM_", thn)
  col_pddk  <- paste0("Pddk_", thn)   # Kolom Total Penduduk dari CSV baru
  col_prev  <- paste0("Prev_DM_", thn)
  
  # Hitung Prevalensi secara langsung
  jabar_data[[col_prev]] <- (jabar_data[[col_kasus]] / jabar_data[[col_pddk]]) * 100000
}

4.1. Deskriptif Prevalensi

4.1.1. Tabel Prevalensi

# A. Persiapkan Data Frame (Hapus geometri peta agar jadi tabel biasa)
tabel_prev <- jabar_data %>%
  st_drop_geometry() %>%
  # Pilih kolom yang mau ditampilkan (Nama Kota & Prevalensi 4 tahun)
  select(KabKota, Prev_DM_2021, Prev_DM_2022, Prev_DM_2023, Prev_DM_2024) %>%
  
  # Bulatkan angka desimal (misal 2 angka belakang koma) agar rapi
  mutate(across(starts_with("Prev"), ~ round(., 2))) %>%
  
  # Urutkan nama kota abjad (opsional)
  arrange(KabKota)

# B. Render Tabel dengan Styling
tabel_final <- tabel_prev %>%
  kbl(
    col.names = c("Kabupaten/Kota", "Prev 2021", "Prev 2022", "Prev 2023", "Prev 2024"),
    align = "c",   # <--- KUNCI: "c" artinya Center (semua kolom rata tengah)
    caption = "Tabel Data Prevalensi Diabetes Mellitus (per 100.000 Penduduk)"
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "bordered"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  # Styling Header agar Tebal dan Background Abu-abu
  row_spec(0, bold = TRUE, color = "white", background = "#2c3e50", align = "c") %>%
  # Styling Kolom Nama Kota (agar tetap rata kiri jika nama panjang, opsional)
  # Jika ingin SEMUA center, hapus baris column_spec di bawah ini
  column_spec(1, bold = TRUE, width = "5cm") 

# C. Tampilkan Tabel
tabel_final
Tabel Data Prevalensi Diabetes Mellitus (per 100.000 Penduduk)
Kabupaten/Kota Prev 2021 Prev 2022 Prev 2023 Prev 2024
Bandung 2266.65 1233.03 1591.06 1177.69
Bandung Barat 940.54 1072.66 853.61 844.45
Bekasi 1180.95 1252.16 1234.90 1181.05
Bogor 1114.83 1151.45 1166.16 1157.12
Ciamis 2812.53 1355.00 1196.61 1183.74
Cianjur 587.61 630.13 523.74 612.69
Cirebon 976.17 994.01 595.44 808.22
Garut 1671.99 852.94 609.87 896.15
Indramayu 1627.45 1768.50 1687.35 3495.02
Karawang 6227.65 1452.57 1461.84 1519.16
Kota Bandung 1777.88 1784.47 1652.16 1662.95
Kota Banjar 5032.06 1158.72 1149.34 1151.15
Kota Bekasi 2128.53 1654.46 1646.50 1757.94
Kota Bogor 1621.63 1844.59 1629.28 1661.06
Kota Cimahi 1691.36 1692.78 1695.39 1673.79
Kota Cirebon 5407.82 2657.70 6208.26 2761.78
Kota Depok 2432.86 1820.53 2047.59 2036.43
Kota Sukabumi 5499.93 1553.37 1202.31 1436.81
Kota Tasikmalaya 1345.46 1501.34 1588.38 1569.41
Kuningan 1502.02 1831.94 1548.89 1668.30
Majalengka 1024.25 1066.56 902.27 924.33
Pangandaran 1576.16 1189.22 1647.89 1684.40
Purwakarta 1185.61 1370.43 1272.91 1366.03
Subang 1689.08 1651.12 1547.44 1580.73
Sukabumi 1365.74 647.89 505.99 566.16
Sumedang 5600.12 1996.85 1735.05 1769.39
Tasikmalaya 826.15 1116.62 1576.15 853.03

4.1.2. Peta Deskriptif

# Tentukan variabel yang akan dipetakan
vars_prev <- c("Prev_DM_2021", "Prev_DM_2022", "Prev_DM_2023", "Prev_DM_2024")

# Inisialisasi list penyimpan peta
peta_list <- list()

# Loop Pembuatan Peta Individual
for (var in vars_prev) {
  
  # Ambil tahun
  tahun <- substr(var, nchar(var)-3, nchar(var))
  
  # Buat peta individual
  p <- tm_shape(jabar_data) +
    tm_polygons(col = var, 
                style = "quantile", 
                palette = "YlOrRd", 
                title = "Prevalensi (Per 100 ribu)") + 
    tm_layout(
      main.title = paste0("Prevalensi Kasus Tahun ", tahun), 
      main.title.position = "center",
      main.title.size = 0.8,
      main.title.fontface = "bold",
      
      # --- PENGATURAN LEGENDA DI KANAN ---
      legend.outside = TRUE,             # Pastikan ini TRUE
      legend.outside.position = "right", # Posisi di kanan
      legend.text.size = 0.5,
      legend.title.size = 0.6,
      frame = TRUE
    )
  # Simpan ke list
  peta_list[[var]] <- p
}

# --- SETTING LAYOUT GRID (2 Baris x 2 Kolom) ---

# Buat halaman baru
grid.newpage()

# Ukuran Grid (2 baris, 2 kolom)
pushViewport(viewport(layout = grid.layout(2, 2)))

# Cetak Peta pada posisinya masing-masing
# Peta 2021 (Kiri Atas)
print(peta_list[[1]], vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
# Peta 2022 (Kanan Atas)
print(peta_list[[2]], vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
# Peta 2023 (Kiri Bawah)
print(peta_list[[3]], vp = viewport(layout.pos.row = 2, layout.pos.col = 1))
# Peta 2024 (Kanan Bawah)
print(peta_list[[4]], vp = viewport(layout.pos.row = 2, layout.pos.col = 2))

4.1.3. Tren Prevalensi

# ==============================
# A. Plot Total Kasus DM (Jawa Barat)
# ==============================
p1 <- jabar_data %>%
  st_drop_geometry() %>%
  summarise(
    Total_2021 = sum(DM_2021, na.rm = TRUE),
    Total_2022 = sum(DM_2022, na.rm = TRUE),
    Total_2023 = sum(DM_2023, na.rm = TRUE),
    Total_2024 = sum(DM_2024, na.rm = TRUE)
  ) %>%
  pivot_longer(cols = everything(), names_to = "Tahun", values_to = "Total_Kasus") %>%
  mutate(Tahun = as.numeric(gsub("Total_", "", Tahun))) %>%
  
  ggplot(aes(x = Tahun, y = Total_Kasus)) +
  # Bar Chart
  geom_col(fill = "#3288BD", width = 0.6, alpha = 0.8) +
  
  # Garis Data Aktual
  geom_line(color = "darkred", size = 1.2, group = 1) +
  geom_point(color = "darkred", size = 3) +
  
  scale_y_continuous(limits = c(0, 1000000), labels = function(x) format(x, big.mark = ".", scientific = FALSE)) +
  labs(
    title = "Tren Total Kasus DM",
    subtitle = "Jawa Barat (2021-2024)",
    x = NULL,
    y = "Jumlah Kasus"
  ) +
  theme_minimal(base_size = 12) +
  theme(plot.title = element_text(face = "bold", hjust = 0.5))

# ==============================
# B. Plot Prevalensi DM (Jawa Barat)
# ==============================
# 1. Hitung Aggregat Kasus & Populasi se-Jawa Barat
agg_data <- jabar_data %>%
  st_drop_geometry() %>%
  summarise(
    # Total Kasus
    Kasus_2021 = sum(DM_2021, na.rm = TRUE),
    Kasus_2022 = sum(DM_2022, na.rm = TRUE),
    Kasus_2023 = sum(DM_2023, na.rm = TRUE),
    Kasus_2024 = sum(DM_2024, na.rm = TRUE),
    
    # Total Penduduk
    Pop_2021 = sum(Pddk_2021, na.rm = TRUE),
    Pop_2022 = sum(Pddk_2022, na.rm = TRUE),
    Pop_2023 = sum(Pddk_2023, na.rm = TRUE),
    Pop_2024 = sum(Pddk_2024, na.rm = TRUE)
  )

# 2. Buat Dataframe Prevalensi Tahunan
prev_total <- data.frame(
  Tahun = 2021:2024,
  Prevalensi = c(
    (agg_data$Kasus_2021 / agg_data$Pop_2021) * 100000,
    (agg_data$Kasus_2022 / agg_data$Pop_2022) * 100000,
    (agg_data$Kasus_2023 / agg_data$Pop_2023) * 100000,
    (agg_data$Kasus_2024 / agg_data$Pop_2024) * 100000
  )
) %>%
  mutate(Prevalensi = round(Prevalensi, 2))

# 3. Plotting
p2 <- ggplot(prev_total, aes(x = Tahun, y = Prevalensi)) +
  # Bar Chart
  geom_col(fill = "#F46D43", width = 0.6, alpha = 0.8) +
  
  # Garis Data Aktual
  geom_line(color = "darkblue", size = 1.2, group = 1) +
  geom_point(color = "darkblue", size = 3) +
  scale_y_continuous(limits = c(0, 2000)) +
  labs(
    title = "Tren Prevalensi DM",
    subtitle = "Angka per 100.000 Penduduk",
    x = NULL,
    y = "Prevalensi"
  ) +
  theme_minimal(base_size = 12) +
  theme(plot.title = element_text(face = "bold", hjust = 0.5))

# ==============================
# C. Gabungkan Output
# ==============================
grid.arrange(
  p1, p2,
  ncol = 2,
  top = textGrob(
    "Tren Kasus Penyakit Diabetes Mellitus di Jawa Barat",
    gp = gpar(fontface = "bold", fontsize = 14)
  )
)

Berdasarkan hasil analisis deskriptif yang dilakukan, tahun 2021 menjadi periode yang sangat menonjol dengan kasus Diabetes Mellitus tertinggi, baik secara total maupun prevalensi dengan jarak yang signifikan. Selain itu, terdapat perbedaan rentang data yang signifikan antara tahun 2021 dan 2023 dibandingkan dengan 2022 dan 2024, di mana nilai maksimum pada tahun 2021 dan 2023 melampaui 6.000 kasus per 100 ribu penduduk, sedangkan pada tahun 2022 dan 2024 tidak sampai 4.000 orang per 100 ribu penduduk. Meski begitu, pola distribusi prevalensi tahun 2023 sebenarnya lebih menyerupai tahun 2022 dan 2024 dibandingkan dengan 2021. Tingginya nilai maksimum tahun 2023 disebabkan oleh adanya outlier ekstrem di Kabupaten Cirebon (6.208,26 per 100 ribu penduduk), sementara mayoritas wilayah lainnya mencatat angka di bawah 2.200, bahkan banyak juga diantaranya yang memiliki nilai kurang dari 1.000.

4.2. Asumsi Autokorelasi Spasial

4.2.1. Autokorelasi Spasial Global

# Daftar variabel prevalensi yang akan diuji
vars_prev <- c("Prev_DM_2021", "Prev_DM_2022", "Prev_DM_2023", "Prev_DM_2024")

# Siapkan data frame kosong untuk menyimpan rangkuman hasil
results_moran <- data.frame(
  Tahun = character(),
  Moran_I = numeric(),
  Z_Score = numeric(),
  P_Value = numeric(),
  Interpretasi = character(),
  stringsAsFactors = FALSE
)

# Loop perhitungan Moran's I
for (var in vars_prev) {
  
  # Ambil tahun dari nama variabel
  tahun <- substr(var, nchar(var)-3, nchar(var))
  
  # Jalankan Moran.test
  # Pastikan lw_full adalah listw yang sudah Anda buat sebelumnya
  moran_res <- moran.test(jabar_data[[var]], lw_full, zero.policy = TRUE, randomisation = TRUE)
  
  # Ekstrak nilai statistik
  m_val <- moran_res$estimate["Moran I statistic"]
  z_val <- moran_res$statistic
  p_val <- moran_res$p.value
  
  # Interpretasi sederhana
  ket <- "Acak (Random)"

  # Masukkan ke tabel hasil
  results_moran <- rbind(results_moran, data.frame(
    Tahun = tahun,
    Moran_I = round(m_val, 4),
    Z_Score = round(z_val, 4),
    P_Value = round(p_val, 4),
    Interpretasi = ket
  ))
}

# 1. Tampilkan Tabel Hasil Statistik
print(results_moran)
##                    Tahun Moran_I Z_Score P_Value  Interpretasi
## Moran I statistic   2021 -0.1151 -0.5558  0.7108 Acak (Random)
## Moran I statistic1  2022 -0.0848 -0.3379  0.6323 Acak (Random)
## Moran I statistic2  2023 -0.1335 -1.1356  0.8719 Acak (Random)
## Moran I statistic3  2024 -0.0906 -0.3999  0.6554 Acak (Random)

Berdasarkan tabel hasil uji autokorelasi global dengan menggunakan taraf signifikansi sebesar 5% (0,05) pada keempat periode tersebut , terlihat bahwa nilai p-value uji yang jauh lebih besar dari taraf signifikan sehingga keempat periode tersebut memiliki distribusi prevalensi kasus Diabetes Mellitus yang acak dan cenderung tidak membentuk klaster.

4.2.2. Autokorelasi Spasial Lokal

# 1. Definisi Warna Kategori LISA
lisa_colors <- c("High-High"       = "#ff6b6b",  
                 "Low-Low"         = "#c1ff72",  
                 "Low-High"        = "#ffde59",  
                 "High-Low"        = "#6249ff",  
                 "Not Significant" = "#eeeeee")  

# 2. Loop Pembuatan Peta
peta_lisa_list <- list()
vars_prev <- c("Prev_DM_2021", "Prev_DM_2022", "Prev_DM_2023", "Prev_DM_2024")

for (var in vars_prev) {
  
  # A. Hitung Local Moran & Kategori
  loc_m <- localmoran(jabar_data[[var]], lw_full)
  p_val <- loc_m[, 5]
  
  z_val <- scale(jabar_data[[var]]) %>% as.vector()
  lag_val <- lag.listw(lw_full, jabar_data[[var]])
  z_lag   <- scale(lag_val) %>% as.vector()
  
  quadrant <- rep("Not Significant", length(z_val))
  
  # Logika Kuadran Signifikan (p <= 0.05)
  quadrant[z_val > 0 & z_lag > 0 & p_val <= 0.05] <- "High-High"
  quadrant[z_val < 0 & z_lag < 0 & p_val <= 0.05] <- "Low-Low"
  quadrant[z_val > 0 & z_lag < 0 & p_val <= 0.05] <- "High-Low"
  quadrant[z_val < 0 & z_lag > 0 & p_val <= 0.05] <- "Low-High"
  
  # Simpan kategori ke kolom baru
  col_name_temp <- paste0("LISA_cat_", substr(var, nchar(var)-3, nchar(var)))
  jabar_data[[col_name_temp]] <- factor(quadrant, levels = names(lisa_colors))
  
  # B. FILTER DATA: Ambil hanya wilayah yang Signifikan
  jabar_sig_only <- jabar_data %>%
    filter(.data[[col_name_temp]] != "Not Significant")
  
  # C. Mulai Membuat Peta (Layer Dasar)
  tahun <- substr(var, nchar(var)-3, nchar(var))
  
  p <- tm_shape(jabar_data) +
    tm_polygons(col = col_name_temp, 
                palette = lisa_colors,
                title = "Kategori LISA",
                border.col = "black",
                border.alpha = 0.5)
  
  # D. PERBAIKAN: Cek dulu apakah ada wilayah signifikan?
  # Jika baris > 0 (ada data), baru tambahkan layer teks
  if (nrow(jabar_sig_only) > 0) {
    p <- p + 
      tm_shape(jabar_sig_only) +
      tm_text("KabKota", 
              size = 0.5, 
              col = "black", 
              fontface = "bold",
              shadow = TRUE, 
              auto.placement = TRUE)
  }
  
  # E. Tambahkan Layout
  p <- p + tm_layout(
    main.title = paste0("LISA Cluster Prevalensi Kasus Tahun ", tahun),
    main.title.position = "center",
    main.title.size = 1.3,
    main.title.fontface = "bold",
    legend.outside = TRUE,
    legend.outside.position = "right",
    frame = FALSE
  )
  
  # Simpan ke list
  peta_lisa_list[[var]] <- p
}
# 3. Tampilkan Grid Layout (2x2)
grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 2)))

print(peta_lisa_list[[1]], vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
print(peta_lisa_list[[2]], vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
print(peta_lisa_list[[3]], vp = viewport(layout.pos.row = 2, layout.pos.col = 1))
print(peta_lisa_list[[4]], vp = viewport(layout.pos.row = 2, layout.pos.col = 2))

Hasil peta LISA yang dibuat menunjukkan bahwa distribusi prevalensi kasus Diabetes Mellits cenderung menyebar, dengan wilayah yang terindikasi autokorelasi hanya berjumlah dua pada periode 2021 sampai 2024, dengan Kabupaten Cianjur yang terindikasi membentuk klaster Low-low pada tahun 2022, Kabupaten Cirebon yang terindikasi membentuk klaster Low-high pada tahun 2023, serta Kabupaten Cianjur yang terindikasi membentuk klaster Low-low dan Kabupaten Cirebon yang terindikasi membentuk klaster Low-high pada tahun 2024.

4.3. Regresi Data Panel

# Ambil Dataframe dari Objek Spatial
df_wide <- jabar_data %>% st_drop_geometry()

# Reshape dari WIDE ke LONG Format
df_long <- df_wide %>%
  pivot_longer(
    cols = matches("_202[1-4]$"), # Ambil semua kolom berakhiran 2021-2024
    names_to = c(".value", "Tahun"), 
    names_pattern = "(.*)_(\\d{4})"
  ) %>%
  mutate(
    Tahun = as.factor(Tahun),
    KabKota = as.factor(KabKota)
  )

### Pemodelan Regresi Data Panel

# Set Struktur Data Panel
p_data <- pdata.frame(df_long, index = c("KabKota", "Tahun"))

# A. Common Effect Model (CEM) / Pooled OLS
model_cem <- plm(Prev_DM ~ PPM + PerLansia + Sanitasi, 
                 data = p_data, model = "pooling")

# B. Fixed Effect Model (FEM) / Within
model_fem <- plm(Prev_DM ~ PPM + PerLansia + Sanitasi, 
                 data = p_data, model = "within")

# C. Random Effect Model (REM) / Random
model_rem <- plm(Prev_DM ~ PPM + PerLansia + Sanitasi, 
                 data = p_data, model = "random")

#### ---------------------------------------------------------------------------
# 4. UJI PEMILIHAN MODEL (MODEL SELECTION TESTS)
#### ---------------------------------------------------------------------------

print("=== 1. UJI CHOW (CEM vs FEM) ===")
## [1] "=== 1. UJI CHOW (CEM vs FEM) ==="
# H0: Model CEM (Pooled) lebih baik
# H1: Model FEM (Fixed) lebih baik
chow_test <- pooltest(model_cem, model_fem)
print(chow_test)
## 
##  F statistic
## 
## data:  Prev_DM ~ PPM + PerLansia + Sanitasi
## F = 3.7613, df1 = 26, df2 = 78, p-value = 3.13e-06
## alternative hypothesis: unstability
print("=== 2. UJI LM BREUSCH-PAGAN (CEM vs REM) ===")
## [1] "=== 2. UJI LM BREUSCH-PAGAN (CEM vs REM) ==="
# H0: Variansi error antar individu = 0 (CEM lebih baik)
# H1: Ada efek acak (REM lebih baik)
lm_test <- plmtest(model_cem, type = "bp", effect = "individual")
print(lm_test)
## 
##  Lagrange Multiplier Test - (Breusch-Pagan)
## 
## data:  Prev_DM ~ PPM + PerLansia + Sanitasi
## chisq = 12.784, df = 1, p-value = 0.0003497
## alternative hypothesis: significant effects
print("=== 3. UJI HAUSMAN (FEM vs REM) ===")
## [1] "=== 3. UJI HAUSMAN (FEM vs REM) ==="
# H0: Model REM konsisten (REM dipilih karena lebih efisien)
# H1: Model REM tidak konsisten (FEM dipilih)
hausman_test <- phtest(model_fem, model_rem)
print(hausman_test)
## 
##  Hausman Test
## 
## data:  Prev_DM ~ PPM + PerLansia + Sanitasi
## chisq = 16.286, df = 3, p-value = 0.0009908
## alternative hypothesis: one model is inconsistent
#### ---------------------------------------------------------------------------
# 5. KESIMPULAN MODEL TERBAIK
#### ---------------------------------------------------------------------------
best_model_name <- ""
final_model_obj <- NULL

# Logika Penentuan (Decision Tree)
if (chow_test$p.value < 0.05) {
  if (hausman_test$p.value < 0.05) {
    best_model_name <- "Fixed Effect Model (FEM)"
    final_model_obj <- model_fem
  } else {
    best_model_name <- "Random Effect Model (REM)"
    final_model_obj <- model_rem
  }
  
} else {
  if (lm_test$p.value < 0.05) {
    best_model_name <- "Random Effect Model (REM)"
    final_model_obj <- model_rem
  } else {
    best_model_name <- "Common Effect Model (CEM/PLS)"
    final_model_obj <- model_cem
  }
}

print(paste(">>> KESIMPULAN: Model Terbaik adalah", best_model_name, "<<<"))
## [1] ">>> KESIMPULAN: Model Terbaik adalah Fixed Effect Model (FEM) <<<"
summary(final_model_obj)
## Oneway (individual) effect Within Model
## 
## Call:
## plm(formula = Prev_DM ~ PPM + PerLansia + Sanitasi, data = p_data, 
##     model = "within")
## 
## Balanced Panel: n = 27, T = 4, N = 108
## 
## Residuals:
##      Min.   1st Qu.    Median   3rd Qu.      Max. 
## -1959.657  -336.599   -17.193   267.028  2694.222 
## 
## Coefficients:
##           Estimate Std. Error t-value  Pr(>|t|)    
## PPM        912.815    256.006  3.5656 0.0006238 ***
## PerLansia  159.361    111.997  1.4229 0.1587496    
## Sanitasi   -17.678     11.772 -1.5017 0.1372124    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Total Sum of Squares:    68893000
## Residual Sum of Squares: 57222000
## R-Squared:      0.16941
## Adj. R-Squared: -0.1394
## F-statistic: 5.30311 on 3 and 78 DF, p-value: 0.0022243

Dengan taraf signifikansi 5% (0.05), hasil pemodelan regresi data panel beserta uji untuk penentuan model terbaik yang dilakukan menunjukkan bahwa model terbaik yang dapat digunakan adalah Fixed Effect Model, dilihat dari nilai p-value pada uji Chow dan uji Hausman lebih kecil dari taraf signifikansi menunjukkan bahwa FEM lebih baik digunakan dibandingkan CEM dan REM pada konteks pemodelan ini.

Namun, didapatkan nilai R-squared yang tidak ideal, yaitu di angka 16,9%. Beberapa faktor yang dapat memengaruhi hal tersebut adalah variabel independen data yang kurang bisa menggambarkan data serta terbatasnya data yang tersedia secara open source, sehingga variabel yang sebenarnya bisa digunakan untuk pemodelan, tidak bisa digunakan oleh semua orang yang berdampak kepada pemodelan yang kurang andal bila dilakukan oleh orang umum.

4.4. Desain Studi

Berikut adalah usulan bentuk desain studi untuk penelitian mengenai kasus Diabetes Mellitus:

Aspek 1: Populasi Target Sampling

Populasi yang menjadi unit eksperimen merupakan penduduk pada Kabupaten dan Kota di Jawa Barat yang menderita penyakit Diabetes Mellitus. Sampling akan dilakukan dengan mengambil daftar pasien yang sedang menderita penyakit tersebut dari rumah sakit/klinik di beberapa titik yang kerap dikunjungi oleh masyarakat untuk kontrol penyakit atau sekedar membeli insulin sebagai obat pengidap diabetes.

Aspek 2: Variabel Utama dan Independen Variabel utama pada penelitian merupakan pasien penderita penyakit Diabetes Mellitus yang memiliki rekam medis mendukung, dengan kontrol berupa pasien yang tidak menderita dan tidak memiliki rekam jejak menderita Diabetes Mellitus. Variabel independen yang digunakan untuk penelitian lebih lanjut dapat berupa BMI (Body Mass Index/Indeks Massa Tubuh), total gula yang dikonsumsi per hari, total serat yang dikonsumsi per hari, jenis kelamin, dan lansia (Iya/Tidak, lebih dari 65 tahun)

Aspek 3: Desain Studi

  • Penentuan kasus dan kontrol: Semua penderita Diabetes Mellitus
  • Variabel Kontrol : Individu yang menderita dan tidak menderita penyakit Diabetes Mellitus
  • Metode Analisis : Analisis yang dapat dilakukan berupa perhitungan nilai Odds Ratio antara Diabetes Mellitus dengan setiap variabel, serta bisa menggunakan regresi logistik sebagai bentuk pemodelan

4.5. Interpretasi Epidemiologis

Berdasarkan hasil uji yang dilakukan, dapat diketahui bahwa tahun 2021 menjadi tahun dengan dengan angka kasus beserta prevalensi Diabetes Mellitus terbesar dibandingkan periode 2022, 2023, dan 2024. Meski terdapat penurunan kasus secara signifikan dari tahun 2021 ke tahun 2022, nilai total serta prevalensi kasus naik sedikit pada tahun 2023, lalu juga pada tahun 2024. Selain itu, dengan analisis spasial yang dilakukan, dapat dikatakan bahwa distribusi prevalensi kasus Diabetes Mellitus di Jawa Barat cenderung menyebar pada keempat periode tersebut, sehingga diperlukan perhatian dari pemerintah setempat lebih merata agar ke depannya kasus Diabetes Mellitus tidak lebih banyak, bahkan diturunkan juga memungkinkan.

Untuk mendapatkan informasi lebih banyak, desain studi dapat dilakukan dengan menargetkan pasien yang sedang menderita dan Diabetes Mellitus serta individu yang tidak ada riwayat penyakit Diabetes Mellitus dan melakukan survei sebagai sumber data untuk pengujian lebih lanjut. Tujuan dari melakukan desain studi ini adalah untuk dapat mendeteksi kasus Diabetes Mellitus sebelum muncul serta memberikan awareness kepada seluruh orang mengenai penyakit beserta kebiasaan buruk yang harus dihilangkan

Bab 5. Kesimpulan dan Saran

Penyakit Diabetes Mellitus merupakan salah satu hal yang sangat membebankan Provinsi Jawa Barat, meskipun bukan tergolong penyakit menular. Hasil uji menunjukkan bahwa prevalensi kasus Diabetes Mellitus cenderung menyebar, sehingga dapat diinterpretasikan bahwa tidak adanya klastering atau pengelompokan bagian wilayah dengan kasus yang tinggi atau rendah secara signifikan. Melakukan kajian lebih dalam secara epidemiologis, spasial, model regresi, beserta melaksanakan desain studi bisa menjadi bentuk penelitian yang baik untuk mengenali kasus Diabetes Mellitus lebih baik di Jawa Barat.

Adapun saran untuk penelitian berikutnya adalah dengan melakukan pemodelan kasus Diabetes Mellitus dengan variabel independen yang lebih mendukung dan dapat menggambarkan distribusi kasus, serta menggunakan desain studi dan mengaplikasikannya untuk mendeteksi apakah seseorang akan menderita Diabetes Mellitus ke depannya.

Daftar Pustaka

Kementrian Kesehatan Republik Indonesia. (2025). Review kebijakan Diabetes Melitus berbasis transformasi sistem Kesehatan dan outlook 2025. https://lms.kemkes.go.id/courses/acdcbe95-9e14-4b6b-9ffd-305e13989c8e (Terakhir diakses 20 Desember 2025, 13:29 WIB)

Lovic, D., Piperidou, A., Zografou, I., Grassos, H., Pittaras, A., & Manolis, A. (2020). The Growing Epidemic Of Diabetes Mellitus.. Current vascular pharmacology. https://doi.org/10.2174/1570161117666190405165911.

Xu, L., Sun, X., Wang, N., Wang, Y., Li, Y., & Zhang, C. (2025). Risk factor assessment of prediabetes and diabetes based on epidemic characteristics in new urban areas: a retrospective and a machine learning study. Scientific Reports, 15. https://doi.org/10.1038/s41598-025-88073-6.

Braver, N., Lakerveld, J., Rutters, F., Schoonmade, L., Brug, J., Brug, J., Beulens, J., & Beulens, J. (2017). Built environmental characteristics and diabetes: a systematic review and meta-analysis. BMC Medicine, 16. https://doi.org/10.1186/s12916-017-0997-z.

Syavera, V., Syazali, M. (2024). Peta Risiko Diabetes Melitus di Jawa Barat Tahun 2019-2023 dengan Pemodelan Spatio-Temporal. SEHATRAKYAT, Vol. 3 No. 4. https://journal.yp3a.org/index.php/sehatrakyat/article/download/3296/1230

BPS Jawa Barat. (2023). Profil Penduduk Lanjut Usia Provinsi Jawa Barat 2021. https://jabar.bps.go.id/id/publication/2023/03/16/732b64ab420ac587f5b6f532/profil-penduduk-lanjut-usia-provinsi-jawa-barat-2021.html

BPS Jawa Barat. (2023). Profil Penduduk Lanjut Usia Provinsi Jawa Barat 2022. https://jabar.bps.go.id/id/publication/2023/12/29/542e5fe5c1319fcefcf144ca/profil-penduduk-lanjut-usia-provinsi-jawa-barat-2022.html

BPS Jawa Barat. (2024). Profil Penduduk Lanjut Usia Provinsi Jawa Barat 2023. https://jabar.bps.go.id/id/publication/2024/12/23/18a003afe3f3acc802f7ee83/profil-penduduk-lanjut-usia-provinsi-jawa-barat-2023.html

BPS Jawa Barat. (2025). Profil Penduduk Lanjut Usia Provinsi Jawa Barat 2024. https://jabar.bps.go.id/id/publication/2025/05/23/db055b2f3428b1667f68ce8e/profil-penduduk-lanjut-usia-provinsi-jawa-barat-2024.html

Open Data Jabar. (2025). Jumlah Penderita Diabetes Melitus Berdasarkan Kabupaten/Kota di Jawa Barat. [Dataset]. https://opendata.jabarprov.go.id/id/dataset/jumlah-penderita-diabetes-melitus-berdasarkan-kabupatenkota-di-jawa-barat

Open Data Jabar. (2025). Persentase Penduduk Miskin Berdasarkan Kabupaten/Kota di Jawa Barat. [Dataset]. https://opendata.jabarprov.go.id/id/dataset/persentase-penduduk-miskin-berdasarkan-kabupatenkota-di-jawa-barat

Open Data Jabar. (2025). Persentase Keluarga dengan Akses Sanitasi Layak (Jamban Sehat) Berdasarkan Kabupaten/Kota di Jawa Barat. [Dataset]. https://opendata.jabarprov.go.id/id/dataset/persentase-keluarga-dengan-akses-sanitasi-layak-jamban-sehat-berdasarkan-kabupatenkota-di-jawa-barat