Data yang digunakan adalah rekap kejadian bencana alam di Provinsi Banten tahun 2023, mencakup jenis bencana, jumlah kejadian, dan jumlah korban.
Link data: –https://banten.bps.go.id/id/statistics-table/3/T0VGNVR6UkVaakVyUmxWTU1YTlhSQzkzYW1vclFUMDkjMw==/jumlah-korban-yang-diakibatkan-bencana-alam-menurut-kabupaten-kota-dan-jenis-bencana-alam-di-provinsi-banten--orang---2023.html?year=2023 –banten.bps.go.id/id/statistics-table/3/TUZaMGVteFVjSEJ4T1RCMlIyRjRTazVvVDJocVFUMDkjMw==/jumlah-kejadian-bencana-alam-menurut-kabupaten-kota-di-provinsi-banten–2023.html?year=2023
Link Excel: https://ap.wps.com/cms/docs/d/cbCaivWQJTDdW4TO?sa=601.1074&refer=copylink
Sumber data: BPS Provinsi Banten
Review singkat kenapa memilih data ini: Data bencana alam relevan untuk memahami risiko kebencanaan di suatu wilayah, membandingkan jenis bencana yang paling sering terjadi (data kategorik), dan melihat apakah frekuensi kejadian berhubungan dengan jumlah korban (data numerik).
data_bencana <- read_excel("data_bencana_alam.xlsx", skip = 3)
data_bencana <- data_bencana %>%
select(No, `Jenis Bencana`, Tahun, Wilayah, `Jumlah Kejadian`, `Jumlah Korban`)
data_bencana <- data_bencana %>%
mutate(`Jumlah Korban` = as.numeric(ifelse(`Jumlah Korban` == "-", 0, `Jumlah Korban`)))
knitr::kable(data_bencana, col.names = c("No", "Jenis Bencana", "Tahun", "Wilayah", "Jumlah Kejadian", "Jumlah Korban"),
format.args = list(big.mark = ".")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE, position = "left") %>%
row_spec(0, background = "#1b263b", color = "white", bold = TRUE)
| No | Jenis Bencana | Tahun | Wilayah | Jumlah Kejadian | Jumlah Korban |
|---|---|---|---|---|---|
| 1 | Banjir | 2.023 | Banten | 28 | 22.869 |
| 2 | Kekeringan | 2.023 | Banten | 4 | 116.503 |
| 3 | Longsor | 2.023 | Banten | 10 | 0 |
| 4 | Kebakaran Hutan | 2.023 | Banten | 19 | 125 |
| 5 | Cuaca Ekstrem | 2.023 | Banten | 1 | 2.139 |
Variabel Jenis Bencana merupakan data kategorik (nominal), sehingga divisualisasikan dengan Bar Chart dan Pie Chart.
ggplot(data_bencana, aes(x = reorder(`Jenis Bencana`, -`Jumlah Kejadian`), y = `Jumlah Kejadian`)) +
geom_col(fill = "#2a78d6") +
geom_text(aes(label = `Jumlah Kejadian`), vjust = -0.5, size = 4) +
labs(
title = "Jumlah Kejadian Bencana per Jenis Bencana",
subtitle = "Provinsi Banten, 2023",
x = "Jenis Bencana",
y = "Jumlah Kejadian"
) +
theme_minimal(base_size = 12) +
theme(plot.title = element_text(face = "bold"))
Interpretasi: Banjir adalah jenis bencana dengan kejadian terbanyak (28 kejadian), diikuti Kebakaran Hutan (19), Longsor (10), Kekeringan (4), dan Cuaca Ekstrem (1). Bar chart dipilih karena tepat untuk membandingkan nilai antarkategori yang terpisah (bukan data berurutan waktu).
data_pie <- data_bencana %>%
mutate(persen = `Jumlah Kejadian` / sum(`Jumlah Kejadian`) * 100,
label = paste0(`Jenis Bencana`, "\n", round(persen, 1), "%"))
ggplot(data_pie, aes(x = "", y = `Jumlah Kejadian`, fill = `Jenis Bencana`)) +
geom_col(width = 1, color = "white") +
coord_polar(theta = "y") +
geom_text(aes(label = label), position = position_stack(vjust = 0.5), size = 3.2) +
labs(title = "Proporsi Jumlah Kejadian Bencana", subtitle = "Provinsi Banten, 2023") +
theme_void(base_size = 12) +
theme(legend.position = "none", plot.title = element_text(face = "bold", hjust = 0.5))
Interpretasi: Banjir mendominasi hampir separuh dari total kejadian bencana (~45%), diikuti Kebakaran Hutan (~31%). Karena jumlah kategori sedikit (5 kategori, memenuhi syarat ≤ 5–6), pie chart masih layak digunakan untuk menunjukkan proporsi terhadap keseluruhan.
Variabel Jumlah Kejadian dan Jumlah Korban merupakan data numerik, divisualisasikan dengan Scatter Plot (melihat hubungan antarvariabel) dan Box-and-Whisker Plot (melihat sebaran/outlier).
ggplot(data_bencana, aes(x = `Jumlah Kejadian`, y = `Jumlah Korban`, color = `Jenis Bencana`)) +
geom_point(size = 4) +
geom_text(aes(label = `Jenis Bencana`), vjust = -1, size = 3, show.legend = FALSE) +
labs(
title = "Hubungan Jumlah Kejadian dan Jumlah Korban",
subtitle = "Provinsi Banten, 2023",
x = "Jumlah Kejadian",
y = "Jumlah Korban"
) +
scale_y_continuous(labels = comma) +
theme_minimal(base_size = 12) +
theme(legend.position = "none", plot.title = element_text(face = "bold"))
Interpretasi: Tidak terlihat korelasi positif yang jelas antara jumlah kejadian dan jumlah korban. Kekeringan hanya terjadi 4 kali namun menimbulkan korban terbanyak (116.503), jauh melebihi Banjir yang terjadi 28 kali namun “hanya” berkorban 22.869 jiwa. Ini menunjukkan bahwa frekuensi kejadian tidak selalu berbanding lurus dengan tingkat dampaknya.
ggplot(data_bencana, aes(x = "", y = `Jumlah Kejadian`)) +
geom_boxplot(fill = "#F0997B", width = 0.3) +
geom_jitter(width = 0.05, size = 2, color = "#712B13") +
labs(
title = "Sebaran Jumlah Kejadian Bencana",
subtitle = "Provinsi Banten, 2023",
x = NULL,
y = "Jumlah Kejadian"
) +
theme_minimal(base_size = 12) +
theme(plot.title = element_text(face = "bold"))
Interpretasi: Median jumlah kejadian berada di sekitar 10 (Longsor). Sebaran data cukup lebar, dengan Banjir (28) berada pada ujung atas dan Cuaca Ekstrem (1) pada ujung bawah, namun keduanya masih dalam rentang wajar (tidak terdeteksi sebagai outlier ekstrem mengingat jumlah data yang sedikit).
| Kelompok Data | Jenis Grafik | Insight Utama |
|---|---|---|
| Kategorik | Bar Chart | Banjir paling sering terjadi (28 kejadian) |
| Kategorik | Pie Chart | Banjir & Kebakaran Hutan menyumbang ~76% total kejadian |
| Numerik | Scatter Plot | Frekuensi kejadian tidak berkorelasi linear dengan jumlah korban |
| Numerik | Box-and-Whisker | Sebaran jumlah kejadian antarjenis bencana cukup lebar |