1 Pendahuluan

Dokumen ini menyajikan visualisasi spasial dari berbagai indikator kesehatan masyarakat di Provinsi Jawa Timur tahun 2023. Data dianalisis menggunakan paket sf, tmap, dan ggplot2.

2 Persiapan Paket dan Data

2.1 Membaca Data

# Data shapefile Jawa Timur
geo <- st_read("C:/Users/alfia/Documents/Kuliah/Semester 6/BINTEL/PROVINSI_JAWA_TIMUR-20250417")
## Multiple layers are present in data source C:\Users\alfia\Documents\Kuliah\Semester 6\BINTEL\PROVINSI_JAWA_TIMUR-20250417, reading layer `PROVINSI_JAWA_TIMUR'.
## Use `st_layers' to list all layer names and their type in a data source.
## Set the `layer' argument in `st_read' to read a particular layer.
## Reading layer `PROVINSI_JAWA_TIMUR' from data source 
##   `C:\Users\alfia\Documents\Kuliah\Semester 6\BINTEL\PROVINSI_JAWA_TIMUR-20250417' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 38 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 110.8987 ymin: -8.78036 xmax: 116.2702 ymax: -5.048857
## Geodetic CRS:  WGS 84
# Data indikator kesehatan
Keluhan1 <- read_excel("Data Kesehatan Jawa Timur.xlsx", 
    sheet = "%Keluhan Kesehatan")

Keluhan_ganggu <- read_excel("Data Kesehatan Jawa Timur.xlsx", sheet = "%Keluhan Kesehatan & Terganggu")
Rawat_Inap <- read_excel("Data Kesehatan Jawa Timur.xlsx", sheet = "Lama Rawat Inap")
Rokok <- read_excel("Data Kesehatan Jawa Timur.xlsx", sheet = "Merokok")

2.2 Proses Data

# Hapus kolom PDRB yang tidak digunakan
geo <- geo[, -c(4,5)]

# Gabungkan data ke shapefile
geo[,5] <- Keluhan1[,5]
geo[,6] <- Keluhan_ganggu[,5]
geo[,7] <- Rawat_Inap[,5]
geo[,8] <- Rokok[,3]

# Ganti nama kolom
colnames(geo)[5:8] <- c("Keluhan 2023", "Keluhan+Mengganggu 2023", "Lama Rawat Inap 2023", "Banyak Rokok/Minggu")

# Validasi geometri dan buat centroid
geo <- st_make_valid(geo)
geo_centroid <- st_centroid(geo)

3 Visualisasi dengan ggplot2

3.1 Keluhan Sakit 2023

ggplot(data = geo) +
  geom_sf(aes(fill = `Keluhan 2023`), color = "white") +
  geom_sf_text(data = geo_centroid, aes(label = KABKOT), size = 1.2) +
  scale_fill_viridis_c(option = "inferno", direction = -1) +
  theme_void() +
  labs(title = "Persentase Keluhan Sakit 2023", fill = "Persentase(%)") +
  theme(plot.title = element_text(hjust = 0.5), legend.title.align = 0.5)

Jika diamati, Surabaya relatif menunjukkan tingkat sakit yang rendah di daerah Jawa Timur.

3.2 2.2 Keluhan Mengganggu

ggplot(data = geo) +
  geom_sf(aes(fill = `Keluhan+Mengganggu 2023`), color = "white") +
  geom_sf_text(data = geo_centroid, aes(label = KABKOT), size = 1.2) +
  scale_fill_viridis_c(option = "Turbo", direction = -1) +
  theme_void() +
  labs(title = "Keluhan dan Mengganggu 2023", fill = "Persentase(%)") +
  theme(plot.title = element_text(hjust = 0.5), legend.title.align = 0.5)

Sedangkan pada kelihuhan yang mengganggu, Batu menjadi daerah dengan keluhan mengganggu yang rendah selama 2023

3.3 Lama Rawat Inap

ggplot(data = geo) +
  geom_sf(aes(fill = `Lama Rawat Inap 2023`), color = "white") +
  geom_sf_text(data = geo_centroid, aes(label = KABKOT), size = 1.2) +
  scale_fill_viridis_c(option = "cividis", direction = -1) +
  theme_void() +
  labs(title = "Rata-rata Lama Rawat Inap 2023", fill = "Hari") +
  theme(plot.title = element_text(hjust = 0.5), legend.title.align = 0.5)

Pada 2023, Bondowoso menjadi daerah dengan tingkat rataan rawap inap terendah dengan nilai mendekati 3,5

3.4 Konsumsi Rokok

ggplot(data = geo) +
  geom_sf(aes(fill = `Banyak Rokok/Minggu`), color = "white") +
  geom_sf_text(data = geo_centroid, aes(label = KABKOT), size = 1.2) +
  scale_fill_viridis_c(option = "plasma", direction = -1) +
  theme_void() +
  labs(title = "Rata-rata Konsumsi Rokok/Minggu 2023", fill = "Batang") +
  theme(plot.title = element_text(hjust = 0.5), legend.title.align = 0.5)

Jika dilihat, daerah Pamekasan dan sekitarnya menjadi perokok berat dengan lebih 100 batang per minggu.

4 Visualisasi dengan tmap

Untuk visualisasi dengan Tmap, hasilnya akan sama saja dengan tambahan model yang lebih baik dan rinci. Untuk hasil tampilan yang ada seperti yang terlihat

tmap_options(check_and_fix = TRUE)
tm_shape(geo) +
  tm_fill("Keluhan 2023", title = "Persentase(%)", palette = "inferno", style = "quantile", legend.hist = TRUE) +
  tm_borders(col = "wheat", lwd = 0.5) +
  tm_text("KABKOT", size = 0.3, col = "black", shadow = TRUE) +
  tm_layout(title = "Keluhan Sakit 2023", title.position = c("center", "top"), title.size = 1.2, legend.outside = TRUE)

tm_shape(geo) +
  tm_fill("Keluhan+Mengganggu 2023", title = "Persentase(%)", palette = "turbo", style = "quantile", legend.hist = TRUE) +
  tm_borders(col = "wheat", lwd = 0.5) +
  tm_text("KABKOT", size = 0.3, col = "black", shadow = TRUE) +
  tm_layout(title = "Keluhan & Mengganggu 2023", title.position = c("center", "top"), title.size = 1.2, legend.outside = TRUE)

tm_shape(geo) +
  tm_fill("Lama Rawat Inap 2023", title = "Hari", palette = "cividis", style = "quantile", legend.hist = TRUE) +
  tm_borders(col = "wheat", lwd = 0.5) +
  tm_text("KABKOT", size = 0.3, col = "black", shadow = TRUE) +
  tm_layout(title = "Lama Rawat Inap 2023", title.position = c("center", "top"), title.size = 1.2, legend.outside = TRUE)

tm_shape(geo) +
  tm_fill("Banyak Rokok/Minggu", title = "Batang/Minggu", palette = "plasma", style = "quantile", legend.hist = TRUE) +
  tm_borders(col = "wheat", lwd = 0.5) +
  tm_text("KABKOT", size = 0.3, col = "black", shadow = TRUE) +
  tm_layout(title = "Rata-rata Rokok Mingguan 2023", title.position = c("center", "top"), title.size = 1.2, legend.outside = TRUE)

5 Penutup

Visualisasi ini memberikan gambaran spasial yang jelas tentang kondisi kesehatan masyarakat di Jawa Timur. Pendekatan ini bermanfaat untuk analisis kebijakan publik berbasis wilayah.