Kualitas udara menjadi isu penting di wilayah perkotaan, termasuk Kota Yogyakarta yang memiliki aktivitas transportasi, kepadatan penduduk, serta kegiatan ekonomi yang tinggi. Salah satu polutan utama yang perlu diperhatikan adalah PM2.5 karena berisiko bagi kesehatan. Hasil analisis menunjukkan bahwa konsentrasi PM2.5 bervariasi antar kecamatan, di mana wilayah pusat kota seperti Mantrijeron, Kraton, Ngampilan, Gondomanan, dan Gedongtengen cenderung memiliki tingkat polusi lebih tinggi dibandingkan wilayah pinggiran seperti Jetis, Pakualaman, dan Kotagede. Perbedaan ini dipengaruhi oleh faktor lingkungan, kepadatan aktivitas, serta kondisi lalu lintas. Oleh karena itu, analisis spasial dan temporal diperlukan untuk melihat pola distribusi PM2.5 sebagai dasar kebijakan pengendalian polusi yang lebih tepat sasaran. Sumber: https://rkurniawan.blog/2025/05/01/unduh-file-geojson-batas-administrasi-pemekaran-38-provinsi-indonesia/ file : 34.71_Yogyakarta
library(sf)
## Linking to GEOS 3.13.1, GDAL 3.11.0, PROJ 9.6.0; sf_use_s2() is TRUE
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Baca file GeoJSON
peta <- st_read("C:/Users/lenovo/Downloads/34.71_Kota_Yogyakarta/34.71_kecamatan.geojson") # ganti path kalau perlu
## Reading layer `34.71_kecamatan' from data source
## `C:\Users\lenovo\Downloads\34.71_Kota_Yogyakarta\34.71_kecamatan.geojson'
## using driver `GeoJSON'
## Simple feature collection with 14 features and 4 fields
## Geometry type: MULTIPOLYGON
## Dimension: XYZ
## Bounding box: xmin: 110.3448 ymin: -7.840072 xmax: 110.4051 ymax: -7.766468
## z_range: zmin: 0 zmax: 0
## Geodetic CRS: WGS 84
# Simulasi data PM2.5 per kecamatan
set.seed(123)
data_pm <- data.frame(
Kecamatan = peta$nm_kecamatan,
PM25 = sample(20:90, length(peta$nm_kecamatan), replace = TRUE)
)
# Gabung dengan data spasial
peta_data <- left_join(peta, data_pm, by = c("nm_kecamatan" = "Kecamatan"))
Apa itu Choropleth Map?
Choropleth map adalah peta tematik yang menampilkan data kuantitatif menggunakan gradasi warna sesuai dengan batas wilayah tertentu. Visualisasi ini sangat berguna dalam statistika lingkungan untuk melihat perbedaan spasial, misalnya distribusi polusi udara, curah hujan, atau kualitas air pada wilayah yang berbeda.
ggplot(peta_data) +
geom_sf(aes(fill = PM25), color = "white") +
geom_sf_text(aes(label = nm_kecamatan), size = 3, color = "white") +
scale_fill_gradient(low = "yellow", high = "red", name = "PM2.5") +
theme_minimal() +
labs(title = "Peta Choropleth PM2.5 per Kecamatan - Yogyakarta")
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data
Peta choropleth PM2.5 per kecamatan di Kota Yogyakarta menunjukkan
variasi konsentrasi polusi udara di setiap wilayah administrasi. Warna
merah tua terlihat mendominasi Kecamatan Mantrijeron, menandakan
konsentrasi PM2.5 paling tinggi dibandingkan kecamatan lain. Daerah di
sekitar pusat kota seperti Kraton dan Pakualaman juga memiliki tingkat
polusi relatif tinggi, yang kemungkinan dipengaruhi oleh kepadatan
penduduk, aktivitas transportasi, serta kegiatan ekonomi yang lebih
intensif. Sementara itu, wilayah di bagian timur dan tenggara, seperti
Kotagede dan Umbulharjo, ditampilkan dengan warna kuning yang
menunjukkan konsentrasi PM2.5 lebih rendah. Secara umum, pola spasial
ini mengindikasikan bahwa semakin dekat ke pusat aktivitas perkotaan,
kualitas udara cenderung menurun, sedangkan wilayah pinggiran relatif
lebih bersih. Informasi ini dapat menjadi dasar penting bagi pemerintah
daerah dalam merumuskan kebijakan pengendalian polusi udara dan
perencanaan tata kota yang lebih berkelanjutan.
Apa itu Boxplot?
Boxplot adalah metode visualisasi data yang menampilkan ringkasan distribusi statistik, seperti nilai minimum, kuartil pertama, median, kuartil ketiga, dan nilai maksimum. Visualisasi ini juga dapat menunjukkan keberadaan outlier. Dalam statistika lingkungan, boxplot berguna untuk membandingkan sebaran data kualitas udara antar wilayah, sehingga perbedaan tingkat polusi dapat terlihat dengan jelas.
# Simulasi data harian PM2.5
set.seed(456)
box_data <- expand.grid(
Hari = 1:30,
Kecamatan = peta$nm_kecamatan
)
box_data$PM25 <- sample(20:90, nrow(box_data), replace = TRUE)
ggplot(box_data, aes(x = Kecamatan, y = PM25, fill = Kecamatan)) +
geom_boxplot() +
theme_minimal() +
labs(title = "Boxplot PM2.5 Harian per Kecamatan",
x = "Kecamatan", y = "PM2.5") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Boxplot PM2.5 harian per kecamatan di Kota Yogyakarta menunjukkan bahwa
tingkat polusi udara bervariasi antar wilayah. Kecamatan Ngampilan,
Gondomanan, dan Gedongtengen memiliki median PM2.5 yang relatif tinggi
dengan sebaran data yang cukup lebar, menandakan tingkat polusi di
wilayah ini cenderung parah dan fluktuatif. Sebaliknya, Kecamatan Jetis
memiliki median yang lebih rendah dibandingkan kecamatan lain, meskipun
masih terdapat outlier dengan nilai tinggi. Kecamatan lain seperti
Kotagede, Umbulharjo, dan Mantrijeron berada pada tingkat menengah
dengan distribusi yang cukup stabil. Secara keseluruhan, plot ini
memperlihatkan bahwa wilayah pusat kota cenderung memiliki polusi udara
yang lebih tinggi, sementara daerah lain relatif lebih bersih, sehingga
dapat menjadi acuan penting dalam menentukan prioritas kebijakan
pengendalian polusi udara.
Apa itu Beeswarm Plot?
Beeswarm plot adalah visualisasi data yang menampilkan setiap titik observasi secara individual namun disusun agar tidak saling menumpuk, menyerupai pola kawanan lebah. Plot ini bermanfaat untuk melihat distribusi data secara lebih detail, termasuk kepadatan dan variasi antar pengamatan. Dalam statistika lingkungan, beeswarm plot dapat digunakan untuk memperlihatkan variasi harian kualitas udara di berbagai kecamatan, sehingga pola fluktuasi polusi lebih mudah diamati.
library(ggbeeswarm)
ggplot(box_data, aes(x = Kecamatan, y = PM25, color = Kecamatan)) +
geom_beeswarm(cex = 1.5) +
theme_minimal() +
labs(title = "Beeswarm Plot PM2.5 Harian per Kecamatan",
x = "Kecamatan", y = "PM2.5") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Beeswarm plot PM2.5 harian per kecamatan di Kota Yogyakarta menampilkan
sebaran nilai konsentrasi polusi udara secara lebih detail dalam bentuk
titik individu untuk setiap kecamatan. Plot ini memperlihatkan variasi
dan kepadatan data harian PM2.5, sehingga pola distribusi lebih mudah
diamati dibandingkan boxplot. Dari plot terlihat bahwa kecamatan seperti
Ngampilan, Gondomanan, dan Gedongtengen memiliki banyak titik yang
terkonsentrasi pada level tinggi (sekitar 70–80 µg/m³), mengindikasikan
sering terjadinya polusi udara cukup berat di wilayah tersebut.
Kecamatan Jetis dan Pakualaman justru menunjukkan sebaran nilai yang
lebih rendah dengan dominasi titik pada kisaran 30–50 µg/m³. Sementara
itu, kecamatan lain seperti Mantrijeron, Kraton, dan Kotagede
memperlihatkan distribusi nilai yang lebih menyebar dari rendah hingga
tinggi, menandakan adanya fluktuasi besar antar hari. Secara
keseluruhan, plot ini menegaskan bahwa kualitas udara tidak merata antar
kecamatan di Yogyakarta, dengan pusat kota cenderung lebih sering berada
pada level polusi tinggi, sedangkan beberapa wilayah lain relatif lebih
bersih namun tetap berpotensi mengalami lonjakan polusi pada hari
tertentu.
Berdasarkan hasil visualisasi dengan peta choropleth, boxplot, dan beeswarm plot, dapat disimpulkan bahwa kualitas udara di Kota Yogyakarta yang diukur melalui konsentrasi PM2.5 menunjukkan pola spasial dan temporal yang bervariasi antar kecamatan. Kecamatan di pusat kota seperti Mantrijeron, Kraton, Ngampilan, Gondomanan, dan Gedongtengen cenderung memiliki tingkat polusi lebih tinggi, baik dilihat dari median yang besar maupun sebaran nilai yang luas, sehingga mengindikasikan intensitas aktivitas manusia yang berpengaruh terhadap peningkatan polusi. Sebaliknya, wilayah seperti Jetis, Pakualaman, serta sebagian kecamatan di pinggiran kota memperlihatkan konsentrasi PM2.5 yang relatif lebih rendah, meskipun tetap terdapat fluktuasi harian. Secara keseluruhan, analisis ini memperlihatkan bahwa wilayah pusat aktivitas perkotaan lebih rentan terhadap pencemaran udara, sedangkan daerah pinggiran relatif lebih bersih. Temuan ini dapat dijadikan dasar bagi pemerintah daerah dalam menetapkan prioritas kebijakan pengendalian polusi udara, seperti penataan transportasi, peningkatan ruang terbuka hijau, dan pengawasan kegiatan ekonomi yang berpotensi menambah beban pencemaran.