Dokumen ini menyajikan visualisasi spasial dari
berbagai indikator kesehatan masyarakat di Provinsi Jawa Timur tahun
2023. Data dianalisis menggunakan paket sf,
tmap, dan ggplot2.
# 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")# 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)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.
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
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
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.
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)Visualisasi ini memberikan gambaran spasial yang jelas tentang kondisi kesehatan masyarakat di Jawa Timur. Pendekatan ini bermanfaat untuk analisis kebijakan publik berbasis wilayah.