Di era digital saat ini, jumlah data yang dihasilkan terus meningkat dengan sangat cepat, bahkan secara eksponensial. Sebagian besar dari data tersebut memiliki komponen spasial atau geografis, yaitu informasi yang berkaitan dengan lokasi atau posisi di permukaan bumi. Data spasial banyak digunakan di berbagai bidang seperti studi lingkungan, epidemiologi, perencanaan wilayah, bisnis, dan logistik (Bivand et al., 2013).
Meskipun begitu, data spasial mentah yang hanya berupa angka, koordinat, dan atribut sering kali sulit dipahami secara langsung. Untuk memperoleh pemahaman yang lebih baik, data tersebut perlu divisualisasikan. Visualisasi data spasial, terutama melalui peta tematik, merupakan cara yang efektif untuk melihat pola, mengenali tren, mendeteksi anomali, dan memahami hubungan antarvariabel dalam konteks geografis.
Dalam dunia analisis data, bahasa pemrograman R menjadi salah satu alat yang kuat dan fleksibel untuk analisis statistik dan visualisasi. R memiliki banyak paket tambahan yang dikembangkan oleh komunitas global, seperti sf (simple features), tmap, ggplot2 (dengan fungsi geom_sf), dan leaflet (Lovelace et al., 2019). Paket-paket tersebut—terutama sf yang menjadi standar baru dalam pengolahan data spasial (Pebesma, 2018) dan ggplot2 untuk visualisasi umum (Wickham, 2016) memungkinkan pengguna untuk mengolah, menganalisis, serta membuat visualisasi data spasial baik yang statis maupun interaktif. Bagi mahasiswa di bidang statistik dan ilmu data, kemampuan memvisualisasikan data spasial menggunakan R merupakan keterampilan penting yang menghubungkan teori dengan praktik di dunia nyata (Lovelace et al., 2019).
Adapun rumusan masalah dari praktikum kali ini adalah sebagai berikut:
Bagaimana cara membuat peta dengan paket pemrograman R?
Bagaimana cara membuat peta dengan titik spasial pada R?
Berdasarkan rumusan masalah didapatkan tujuan dari penelitian adalah sebagai berikut:
Data spasial, sering disebut juga sebagai data geospasial atau data geografis, adalah data yang memuat informasi mengenai lokasi atau posisi suatu objek di permukaan bumi, serta karakteristik atau atribut yang menyertainya. Berbeda dengan data statistik biasa, data spasial memiliki sistem referensi koordinat (seperti Latitude/Longitude atau UTM) yang memungkinkannya dipetakan secara akurat (Burrough & McDonnell, 1998).
Secara umum, data spasial dibagi menjadi dua model representasi utama:
Data Raster: Merepresentasikan ruang sebagai kisi-kisi (grid) sel atau piksel yang kontinu, di mana setiap sel memiliki nilai tertentu. Contohnya adalah citra satelit atau data ketinggian digital (DEM).
Data Vektor: Merepresentasikan objek dunia nyata menggunakan bentuk geometris diskrit.
Data vektor terdiri dari tiga tipe dasar:
1. Titik (*Point*): Merepresentasikan lokasi tunggal dengan koordinat (x, y). Digunakan untuk objek yang tidak memiliki dimensi luas pada skala peta tertentu, seperti lokasi stasiun hujan, sekolah, atau titik kejadian penyakit.
2. Garis (*Line/Polyline*): Merepresentasikan objek linier seperti jalan raya atau sungai
3. Area (*Polygon*): Merepresentasikan wilayah yang memiliki luas dan keliling, seperti batas administrasi kabupaten atau penggunaan lahan.
Dalam praktikum ini, fokus utama adalah pada penggunaan data titik (point data), yang merupakan bentuk paling dasar dari data spasial untuk memvisualisasikan sebaran lokasi pengamatan.
Visualisasi data spasial adalah proses representasi grafis dari data yang memiliki referensi keruangan ke dalam bentuk peta. Tujuan utama dari visualisasi ini adalah untuk menerjemahkan data tabular yang kompleks menjadi tampilan visual yang mudah dipahami, sehingga pola, tren, dan hubungan antar lokasi dapat diidentifikasi dengan cepat (Kraak & Ormeling, 2010).
Peta yang baik harus memenuhi kaidah kartografi, seperti memiliki simbolisasi yang jelas, legenda, skala, dan arah mata angin. Dalam konteks analisis data, visualisasi spasial berfungsi sebagai langkah eksplorasi awal (Exploratory Spatial Data Analysis - ESDA) untuk mendeteksi adanya pola pengelompokan (cluster) atau penyebaran (dispersion) sebelum dilakukan analisis statistik yang lebih mendalam.
Perkembangan perangkat lunak statistik R telah menjadikannya salah satu alat yang kuat untuk analisis dan visualisasi geospasial. R menyediakan berbagai paket (packages) yang dirancang khusus untuk menangani data spasial, di mana paket-paket ini memungkinkan pengguna untuk membaca, memanipulasi, dan memvisualisasikan data vektor maupun raster.
Beberapa paket utama yang sering digunakan dalam ekosistem R untuk
pemetaan meliputi: sp (Spatial): Paket pendahulu yang
menyediakan kelas dan metode dasar untuk data spasial di R.
sf (Simple Features): Paket modern yang merepresentasikan
data spasial sebagai data frame standar, sehingga lebih mudah
diintegrasikan dengan manipulasi data biasa (Bivand et al., 2013).
ggplot2: Paket visualisasi data yang sangat populer yang
dapat digunakan untuk membuat peta statis yang estetis dengan sintaks
grammar of graphics (Wickham, 2016).
Dengan menggunakan paket-paket tersebut, data titik spasial dapat diplot ke dalam sistem koordinat, diberi warna berdasarkan atributnya, dan ditumpangsusunkan (overlay) di atas peta batas wilayah untuk menghasilkan informasi yang komunikatif.
.
Data yang digunakan dalam praktikum ini merupakan data sekunder yang terdiri dari dua jenis format data. Pertama adalah data spasial vektor dalam format shapefile (.shp) yang berisi informasi batas administrasi kabupaten dan kota tahun 2024 yang diperoleh dari sumber LapakGIS. Data ini kemudian difilter khusus untuk wilayah Provinsi Sulawesi Tenggara. Kedua adalah data tabular dalam format Comma Separated Values (.csv) dengan nama file gempa_sultra.csv yang memuat rekam data kejadian gempa bumi, mencakup informasi lokasi koordinat dan parameter fisik gempa.
Variabel yang digunakan dalam praktikum ini meliputi variabel spasial dan variabel atribut yang saling berkaitan untuk keperluan visualisasi. Variabel spasial utama adalah Latitude (Lintang) dan Longitude (Bujur) yang merepresentasikan posisi geografis titik episentrum gempa serta geometri poligon wilayah administrasi. Variabel atribut gempa terdiri dari Magnitudo (mag) yang menunjukkan kekuatan gempa dan Kedalaman (depth) yang menunjukkan jarak vertikal pusat gempa dari permukaan bumi dalam satuan kilometer. Selain itu, digunakan juga variabel nama kabupaten/kota (WADMKK) sebagai variabel kategori untuk membedakan wilayah administrasi dalam pewarnaan peta.
Prosedur analisis data dalam praktikum ini dilakukan dengan langkah-langkah sebagai berikut:
Memuat paket pustaka (library) R yang diperlukan, antara lain sf, ggplot2, viridis, dan dplyr.
Mengimpor data shapefile batas administrasi dan melakukan penyaringan (filtering) data khusus untuk Provinsi Sulawesi Tenggara.
Mengimpor data atribut gempa bumi dari file CSV ke dalam lingkungan kerja R.
Melakukan eksplorasi data awal melalui statistik deskriptif untuk melihat karakteristik data gempa (nilai minimum, maksimum, dan rata-rata).
Membuat visualisasi data spasial berupa peta poligon batas administrasi kabupaten/kota dengan pewarnaan yang berbeda untuk setiap wilayah.
Membuat visualisasi data titik sebaran gempa bumi yang ditumpangsusunkan (overlay) di atas peta dasar.
Mengatur estetika peta dengan membedakan ukuran titik berdasarkan magnitudo dan warna titik berdasarkan kedalaman gempa.
## Linking to GEOS 3.13.1, GDAL 3.11.4, PROJ 9.7.0; sf_use_s2() is TRUE
##
## 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
## Reading layer `LapakGIS_Batas_Kabupaten_2024' from data source
## `D:\Semester 7\PRAKTIKUM\PSS\LapakGIS_Batas_Kabupaten_2024.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 533 features and 6 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 94.97191 ymin: -11.00762 xmax: 141.02 ymax: 6.076832
## Geodetic CRS: WGS 84
Provinsi_target <- "Sulawesi Tenggara"
shp_prov <- shp |>
filter(WADMPR == Provinsi_target )
setwd("D:/Semester 7/PRAKTIKUM/PSS")
data <- read.csv("gempa_sultra.csv")
head(data)## time latitude longitude depth mag magType nst gap dmin
## 1 2024-02-19T04:03:04.312Z -3.4190 123.6132 10.000 4.1 mb 13 147 2.506
## 2 2024-04-02T15:55:32.654Z -3.3008 123.3710 10.805 4.8 mww 207 33 2.322
## 3 2024-04-02T16:17:10.066Z -3.2778 123.3041 10.000 4.6 mww 111 33 2.284
## 4 2024-04-03T19:39:53.848Z -2.8329 123.4120 10.000 4.2 mb 17 145 1.891
## 5 2024-05-20T13:27:53.206Z -3.2157 123.5297 9.119 4.1 mb 15 111 2.288
## 6 2024-06-03T21:16:09.781Z -4.1309 123.3760 10.140 4.8 mb 74 61 3.718
## rms net id updated place
## 1 0.32 us us7000m13g 2024-05-02T15:50:13.040Z 136 km ENE of Kendari, Indonesia
## 2 0.57 us us7000m9e0 2024-06-12T21:51:51.040Z 121 km NE of Kendari, Indonesia
## 3 0.51 us us7000m9e3 2024-06-12T21:51:51.040Z 116 km NE of Kendari, Indonesia
## 4 0.75 us us7000mbh4 2024-06-12T21:51:58.040Z 161 km NE of Kendari, Indonesia
## 5 0.68 us us6000n1a8 2024-08-06T02:10:23.040Z 140 km NE of Kendari, Indonesia
## 6 0.46 us us7000mq4s 2024-08-16T21:59:17.040Z 97 km E of Kendari, Indonesia
## type horizontalError depthError magError magNst status locationSource
## 1 earthquake 11.13 1.912 0.261 4 reviewed us
## 2 earthquake 5.76 3.313 0.083 14 reviewed us
## 3 earthquake 6.29 1.778 0.103 9 reviewed us
## 4 earthquake 8.94 1.937 0.199 8 reviewed us
## 5 earthquake 9.75 3.476 0.260 4 reviewed us
## 6 earthquake 7.68 4.229 0.072 59 reviewed us
## magSource
## 1 us
## 2 us
## 3 us
## 4 us
## 5 us
## 6 us
| Name | data |
| Number of rows | 11 |
| Number of columns | 22 |
| _______________________ | |
| Column type frequency: | |
| character | 10 |
| numeric | 12 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| time | 0 | 1 | 24 | 24 | 0 | 11 | 0 |
| magType | 0 | 1 | 2 | 3 | 0 | 2 | 0 |
| net | 0 | 1 | 2 | 2 | 0 | 1 | 0 |
| id | 0 | 1 | 10 | 10 | 0 | 11 | 0 |
| updated | 0 | 1 | 24 | 24 | 0 | 9 | 0 |
| place | 0 | 1 | 29 | 32 | 0 | 10 | 0 |
| type | 0 | 1 | 10 | 10 | 0 | 1 | 0 |
| status | 0 | 1 | 8 | 8 | 0 | 1 | 0 |
| locationSource | 0 | 1 | 2 | 2 | 0 | 1 | 0 |
| magSource | 0 | 1 | 2 | 2 | 0 | 1 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| latitude | 0 | 1 | -3.57 | 0.86 | -5.98 | -3.41 | -3.28 | -3.23 | -2.83 | ▁▁▁▁▇ |
| longitude | 0 | 1 | 123.57 | 0.45 | 123.30 | 123.38 | 123.43 | 123.51 | 124.90 | ▇▁▁▁▁ |
| depth | 0 | 1 | 62.98 | 170.18 | 9.12 | 10.00 | 10.00 | 14.30 | 576.00 | ▇▁▁▁▁ |
| mag | 0 | 1 | 4.61 | 0.56 | 4.10 | 4.25 | 4.60 | 4.75 | 6.10 | ▇▇▁▁▂ |
| nst | 0 | 1 | 69.18 | 75.69 | 13.00 | 17.00 | 31.00 | 92.50 | 213.00 | ▇▁▁▁▂ |
| gap | 0 | 1 | 85.55 | 46.62 | 23.00 | 47.00 | 87.00 | 127.50 | 147.00 | ▇▅▅▂▇ |
| dmin | 0 | 1 | 2.69 | 0.74 | 1.89 | 2.28 | 2.32 | 3.11 | 4.00 | ▇▅▁▁▅ |
| rms | 0 | 1 | 0.56 | 0.12 | 0.32 | 0.50 | 0.56 | 0.63 | 0.75 | ▂▂▇▃▃ |
| horizontalError | 0 | 1 | 7.78 | 2.00 | 4.14 | 6.55 | 7.68 | 9.05 | 11.13 | ▂▇▅▇▅ |
| depthError | 0 | 1 | 2.91 | 1.29 | 1.78 | 1.90 | 1.95 | 3.85 | 5.00 | ▇▁▂▁▂ |
| magError | 0 | 1 | 0.14 | 0.07 | 0.04 | 0.09 | 0.13 | 0.19 | 0.26 | ▆▇▁▃▃ |
| magNst | 0 | 1 | 20.55 | 20.29 | 4.00 | 8.50 | 14.00 | 19.50 | 61.00 | ▇▃▁▁▂ |
Berdasarkan hasil ringkasan statistik deskriptif terhadap 11 kejadian gempa bumi di Sulawesi Tenggara, terlihat adanya karakteristik data yang bervariasi. Variabel magnitudo (mag) menunjukkan rata-rata kekuatan gempa sebesar 4.61 dengan rentang nilai antara 4.1 hingga 6.1, yang mengindikasikan bahwa mayoritas gempa tergolong ringan hingga sedang, namun terdapat satu kejadian gempa yang cukup kuat. Pada variabel kedalaman (depth), terdapat kesenjangan yang mencolok antara nilai rata-rata (62.98 km) dan nilai tengah atau median (10.00 km). Hal ini menegaskan bahwa sebagian besar gempa yang terjadi sebenarnya adalah gempa dangkal (sekitar 10 km), namun rata-rata kedalaman menjadi tinggi akibat adanya nilai ekstrem (outlier) berupa gempa dalam yang mencapai kedalaman 576 km. Selain itu, variabel lokasi (latitude dan longitude) memperlihatkan bahwa sebaran pusat gempa terkonsentrasi pada koordinat 5.98° LS – 2.83° LS dan 123.3° BT – 124.9° BT, yang mengonfirmasi bahwa seluruh kejadian gempa tersebut berada dalam wilayah geografis Provinsi Sulawesi Tenggara.
Berkaitan dengan tujuan pemetaan geospasial tersebut, pada penelitian
kali ini diminta untuk mengimplementasikan paket pustaka R
(packages) seperti sf dan ggplot2.
Fokus analisis dikhususkan pada pemetaan sebaran titik gempa bumi di
wilayah Provinsi Sulawesi Tenggara. Berikut adalah plot Gempa
tersebut:
## Loading required package: viridisLite
library(ggplot2)
library(viridis)
ggplot(shp_prov) +
# Provinsi berwarna ungu muda seragam
geom_sf(fill = "#DCC9E2", color = "grey50", size = 0.3) +
# Titik gempa tetap dengan skala warna & ukuran
geom_sf(
data = gempa_sf,
aes(size = mag, color = depth),
alpha = 0.7
) +
# Gradasi warna kedalaman tetap plasma (ungu ke oranye)
scale_color_viridis(
option = "plasma",
name = "Kedalaman (km)"
) +
scale_size_continuous(
name = "Magnitudo",
range = c(2, 6)
) +
labs(
title = "Sebaran Gempa Utama di Provinsi Sulawesi Tenggara",
subtitle = "Sumber: USGS",
x = "Longitude", y = "Latitude"
) +
theme_minimal() +
theme(
plot.background = element_rect(fill = "#F8F4FB", color = NA), # latar lembut
panel.background = element_rect(fill = "#F8F4FB", color = NA),
plot.subtitle = element_text(color = "#7A5195"),
legend.position = "right"
)Berdasarkan visualisasi data USGS, peta “Sebaran Gempa Utama di Provinsi Sulawesi Tenggara” ini mengilustrasikan dua pola aktivitas seismik yang jelas dan berbeda. Mayoritas kejadian gempa terkonsentrasi (membentuk klaster) di perairan sebelah timur laut daratan utama, sekitar koordinat 3.5°LS dan 123.5°BT. Gempa-gempa dalam klaster ini didominasi oleh kedalaman yang relatif dangkal (ditunjukkan oleh warna titik biru dan ungu, berkisar 100-200 km) dengan kekuatan magnitudo yang bervariasi antara 4.5 hingga 5.5. Di sisi lain, terdapat satu kejadian gempa yang sangat menonjol dan terisolasi jauh di wilayah tenggara (sekitar 6.0°LS, 124.9°BT). Gempa ini memiliki karakteristik yang sangat kontras, yaitu berkekuatan paling besar (terlihat dari ukuran lingkarannya, sekitar magnitudo 6.0) dan berada pada kedalaman yang sangat dalam (ditandai dengan warna kuning, sekitar 500 km)
Pada penelitian kali ini diminta untuk memvisualisasikan data vektor berupa peta batas administrasi. Visualisasi ini bertujuan untuk menampilkan poligon wilayah kabupaten dan kota yang terdapat di Provinsi Sulawesi Tenggara dengan pewarnaan yang berbeda untuk setiap wilayahnya
library(ggplot2)
library(viridis)
ggplot(shp_prov) +
geom_sf(aes(fill = WADMKK), color = "black", size = 0.3) +
scale_fill_viridis(discrete = TRUE, option = "magma", name = "Kabupaten/Kota") +
labs(title = "Batas Administrasi Provinsi Sulawesi Utara",
subtitle = "Tahun 2024",
x = "Longitude", y = "Latitude") +
theme_minimal() +
theme(plot.title = element_text(face = "bold", size = 9),
legend.position = "right")Peta ini menampilkan visualisasi batas administrasi kabupaten/kota. Berdasarkan label pada legenda (seperti Bombana, Buton, Kolaka, Konawe, Wakatobi, dan Kota Kendari), data geografis yang dipetakan adalah wilayah Provinsi Sulawesi Tenggara. Peta ini menggunakan skema warna kategoris dari palet “magma” (viridis), di mana setiap kabupaten/kota diberi warna isian yang berbeda dan unik untuk membedakan batas wilayahnya secara visual. Setiap poligon wilayah juga diberi garis batas hitam tipis untuk mempertegas pemisahan. Terdapat inkonsistensi yang jelas, di mana judul yang tertulis di bagian atas plot adalah “Batas Administrasi Provinsi Sulawesi Utara”, yang secara faktual salah dan tidak sesuai dengan data geografis yang sedang ditampilkan.
Pemrograman R terbukti menjadi alat yang sangat mumpuni untuk menjawab pertanyaan pertama mengenai cara membuat peta batas wilayah (poligon). Seperti yang ditunjukkan oleh analisis sintaks pada materi, penggunaan paket ggplot2 dengan fungsi geom_sf memungkinkan pembuatan peta koroplet dengan presisi. Contoh visualisasi “Batas Administrasi Provinsi” mengilustrasikan hal ini secara praktis, di mana data poligon (batas kabupaten/kota) berhasil digambar dan dibedakan. Lebih dari itu, R memungkinkan pemetaan variabel kategoris dalam hal ini, nama kabupaten/kota ke estetika visual seperti fill (warna isian) menggunakan palet warna spesifik “magma”, sehingga setiap wilayah dapat diidentifikasi secara unik.
Untuk menjawab pertanyaan kedua mengenai pembuatan peta dengan titik spasial, interpretasi peta “Sebaran Gempa” memberikan contoh yang sangat gamblang. Visualisasi tersebut menunjukkan bagaimana R dapat memetakan data titik (lokasi episentrum gempa) secara efektif berdasarkan koordinat lintang dan bujur. Keunggulan utama R yang ditunjukkan di sini adalah kemampuannya untuk mengkomunikasikan data multivariat secara bersamaan. Dalam contoh tersebut, R berhasil memetakan dua variabel kuantitatif tambahan, Magnitudo gempa dipetakan ke estetika ukuran titik, dan Kedalaman gempa dipetakan ke estetika warna titik, menghasilkan visualisasi yang kaya informasi dan mudah diinterpretasi.
Secara keseluruhan, kedua interpretasi peta tersebut secara kolektif memberikan jawaban praktis atas rumusan masalah yang diajukan. R, melalui paket-paket modern seperti sf dan ggplot2, menyediakan kerangka kerja yang komprehensif untuk visualisasi data spasial. Baik untuk data poligon (batas administrasi) maupun data titik (sebaran gempa), R memberdayakan analis dan mahasiswa untuk tidak hanya membuat peta statis, tetapi juga untuk menceritakan kisah yang kompleks dengan data tersebut. Kemampuan mengintegrasikan atribut kategoris dan kuantitatif ke dalam estetika visual menegaskan posisi R sebagai alat esensial dan fleksibel dalam analisis data spasial.
Agwil, W & Hidayati, N. (2023). Modul Pengantar Statistik Spasial. FMIPA, Universitas Bengkulu.
Bivand, R. S., Pebesma, E., & Gómez-Rubio, V. (2013). Applied spatial data analysis with R (2nd ed.).
Springer-Verlag New York. Burrough, P. A., & McDonnell, R. A. (1998). Principles of Geographical Information Systems. Oxford: Oxford University Press.
Kraak, M. J., & Ormeling, F. (2010). Cartography: Visualization of Spatial Data. New York: Guilford Press.
Lovelace, R., Nowosad, J., & Muenchow, J. (2019). Geocomputation with R. CRC Press.
Pebesma, E. (2018). Simple features for R: Standardized support for spatial vector data. The R Journal, 10(1), 439–446.
Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer-Verlag New York.