LAPORAN PRAKTIKUM

PERTEMUAN I

PENGANTAR STATISTIK SPASIAL


Oleh:
Nama: Salsadilla Azizi Firda
NPM: F1F022019

Dosen Pengampu:
Dr. Pepi Novianti, S.Si., M.Si

Asisten Praktikum:
1. Avrillia Permata Hati (F1F021008)
2. Desvin Sitohang (F1F021029)


LABORATORIUM MATEMATIKA
PROGRAM STUDI STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BENGKULU
2025

BAB I: PENDAHULUAN

Latar Belakang

Pemanfaatan teknologi informasi dalam analisis data spasial telah berkembang pesat, terutama dengan hadirnya bahasa pemrograman R yang memiliki kemampuan komprehensif dalam pengolahan dan visualisasi data geografis. Melalui berbagai paket seperti sf, ggplot2, dan rnaturalearth, pengguna dapat mengelola data berbasis lokasi secara efisien, mulai dari membaca data koordinat, mengolah shapefile wilayah, hingga menampilkan hasilnya dalam bentuk peta tematik yang informatif (Pebesma, 2020). Kemampuan ini menjadikan R sebagai salah satu alat penting dalam kajian statistika spasial dan geografi modern.

Peta berperan penting dalam membantu memahami distribusi dan pola kejadian suatu fenomena di permukaan bumi. Dalam konteks kebencanaan, peta sebaran gempa bumi menjadi sarana visual yang efektif untuk menggambarkan lokasi, kedalaman, serta magnitudo gempa yang terjadi di suatu wilayah. Melalui representasi spasial, pola aktivitas seismik dapat diamati dengan lebih jelas, sehingga memberikan wawasan penting mengenai daerah yang rawan gempa maupun potensi risiko yang mungkin dihadapi masyarakat di sekitarnya (Badan Meteorologi Klimatologi dan Geofisika [BMKG], 2024).

Provinsi Jawa Tengah merupakan salah satu wilayah di Indonesia yang memiliki aktivitas seismik cukup signifikan karena posisinya yang berdekatan dengan zona subduksi lempeng Indo-Australia dan Eurasia. Oleh karena itu, pembuatan peta sebaran gempa di Jawa Tengah tahun 2024 menjadi langkah penting dalam memahami pola persebaran kejadian gempa di wilayah tersebut. Melalui visualisasi menggunakan pemrograman R, data titik gempa dapat digabungkan dengan batas administratif provinsi untuk menghasilkan peta yang informatif, akurat, dan berguna bagi analisis kebencanaan maupun perencanaan mitigasi risiko di masa mendatang (United States Geological Survey [USGS], 2024).

Rumusan Masalah

Berdasarkan latar belakang, rumusan masalah yang dapat disumpulkan adalah:

  1. Bagaimana cara membuat peta dengan paket pemrograman R?
  2. Bagaimana cara membuat peta dengan data titik spasial pada R?

Tujuan Praktikum

Berdasarkan rumusan masalah, tujuan yang dapat disimpulkan adalah sebagai berikut:

  1. Mahasiswa dapat membuat peta dengan paket pemrograman R
  2. Mahasiswa dapat membuat peta dengan data titik spasial pada R

Batasan Masalah

Adapun batasan masalah pada praktikum ini adalah:

  1. Buatlah peta epicenter gempa bumi di Indonesia pada tahun 2024 (gunakan packages R yang dianggap gampang, setiap praktikan menggambarkan peta provinsi yang berbeda).
  2. Buatlah peta semua provinsi di Indonesia dengan memberikan warna yang berbedapada setiap kab/kota (setiap praktikan membuat peta provinsi yang berbeda).

BAB II: PEMBAHASAN

Instal Library

library(sf)
library(ggplot2) 
library(dplyr) 
library(rnaturalearth) 
library(rnaturalearthdata) 
library(viridis)
library(remotes)
library(rnaturalearthhires)
remotes::install_github("ropensci/rnaturalearthhires")

Import Data

data<-read.csv("D:/Semester 7/Statistika Spasial/praktikum/Gempa_JawaTengah_2024.csv")
head(data)
##                      time latitude longitude   depth mag magType nst gap  dmin
## 1 2024-12-06 20:36:13.443  -7.9826  108.6606  89.963 4.3      mb  43  99 1.127
## 2 2024-10-22 12:43:52.695  -7.8597  108.2882  96.919 4.7      mb  70  28 0.745
## 3 2024-09-22 03:11:51.946  -7.6022  109.6947 133.324 4.3      mb  23  62 0.922
## 4 2024-07-26 03:49:49.832  -6.9311  108.4546  10.265 4.1      mb  10 114 0.957
## 5 2024-07-25 10:36:39.594  -6.8610  108.4237  12.753 4.4      mb  22 107 0.973
## 6 2024-07-07 07:35:24.077  -6.8574  109.7394  11.081 4.5      mb  29 103 0.722
##    rms net         id                 updated                             place
## 1 0.58  us us7000nwqa  2025-02-15 18:30:33.04    47 km SW of Cilacap, Indonesia
## 2 0.55  us us7000nmea  2025-01-04 23:07:30.04      53 km S of Kawalu, Indonesia
## 3 0.78  us us7000ngkc  2024-11-23 23:27:42.04     19 km E of Gombong, Indonesia
## 4 0.66  us us6000nj3n 2024-10-08 21:49:14.005   5 km NNW of Kuningan, Indonesia
## 5 0.62  us us6000ngsv 2024-12-21 12:39:19.152    12 km SSW of Sumber, Indonesia
## 6 0.68  us us7000mxka  2024-09-12 21:52:30.04 7 km ENE of Pekalongan, Indonesia
##         type horizontalError depthError magError magNst   status locationSource
## 1 earthquake            7.39      2.472    0.087     41 reviewed             us
## 2 earthquake            6.81      5.889    0.073     59 reviewed             us
## 3 earthquake            8.06      7.550    0.129     19 reviewed             us
## 4 earthquake            6.13      5.754    0.214      7 reviewed             us
## 5 earthquake            8.08      4.641    0.169     10 reviewed             us
## 6 earthquake            5.96      4.539    0.125     19 reviewed             us
##   magSource
## 1        us
## 2        us
## 3        us
## 4        us
## 5        us
## 6        us
#Konversi menjadi data spasial (sf)  
gempa_sf <- sf::st_as_sf(
  data,
  coords = c("longitude", "latitude"),
  crs = 4326)
gempa_sf
## Simple feature collection with 10 features and 20 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: 108.2882 ymin: -7.9826 xmax: 110.7528 ymax: -6.8386
## Geodetic CRS:  WGS 84
##                       time   depth mag magType nst gap  dmin  rms net
## 1  2024-12-06 20:36:13.443  89.963 4.3      mb  43  99 1.127 0.58  us
## 2  2024-10-22 12:43:52.695  96.919 4.7      mb  70  28 0.745 0.55  us
## 3  2024-09-22 03:11:51.946 133.324 4.3      mb  23  62 0.922 0.78  us
## 4  2024-07-26 03:49:49.832  10.265 4.1      mb  10 114 0.957 0.66  us
## 5  2024-07-25 10:36:39.594  12.753 4.4      mb  22 107 0.973 0.62  us
## 6  2024-07-07 07:35:24.077  11.081 4.5      mb  29 103 0.722 0.68  us
## 7  2024-05-31 20:13:26.411 148.152 4.3      mb  29  60 0.875 0.54  us
## 8  2024-05-02 13:06:20.564 248.621 4.2      mb  30  88 0.374 0.80  us
## 9  2024-03-24 15:34:05.506 114.644 4.7      mb  44  46 0.946 0.68  us
## 10 2024-02-14 02:01:11.471 212.801 4.1      mb  18  52 1.167 0.58  us
##            id                 updated                             place
## 1  us7000nwqa  2025-02-15 18:30:33.04    47 km SW of Cilacap, Indonesia
## 2  us7000nmea  2025-01-04 23:07:30.04      53 km S of Kawalu, Indonesia
## 3  us7000ngkc  2024-11-23 23:27:42.04     19 km E of Gombong, Indonesia
## 4  us6000nj3n 2024-10-08 21:49:14.005   5 km NNW of Kuningan, Indonesia
## 5  us6000ngsv 2024-12-21 12:39:19.152    12 km SSW of Sumber, Indonesia
## 6  us7000mxka  2024-09-12 21:52:30.04 7 km ENE of Pekalongan, Indonesia
## 7  us7000mqrk  2024-08-06 20:32:52.04      18 km E of Ciamis, Indonesia
## 8  us6000mvq9  2024-07-15 03:58:22.04     5 km SE of Welahan, Indonesia
## 9  us6000mkz6  2024-05-27 14:19:23.04    20 km W of Sidareja, Indonesia
## 10 us7000m076  2024-04-24 14:42:06.04     12 km ESE of Tarub, Indonesia
##          type horizontalError depthError magError magNst   status
## 1  earthquake            7.39      2.472    0.087     41 reviewed
## 2  earthquake            6.81      5.889    0.073     59 reviewed
## 3  earthquake            8.06      7.550    0.129     19 reviewed
## 4  earthquake            6.13      5.754    0.214      7 reviewed
## 5  earthquake            8.08      4.641    0.169     10 reviewed
## 6  earthquake            5.96      4.539    0.125     19 reviewed
## 7  earthquake            7.95      6.522    0.119     23 reviewed
## 8  earthquake            6.66      7.490    0.115     21 reviewed
## 9  earthquake            7.14      4.668    0.090     37 reviewed
## 10 earthquake           10.65      4.684    0.235      5 reviewed
##    locationSource magSource                 geometry
## 1              us        us POINT (108.6606 -7.9826)
## 2              us        us POINT (108.2882 -7.8597)
## 3              us        us POINT (109.6947 -7.6022)
## 4              us        us POINT (108.4546 -6.9311)
## 5              us        us  POINT (108.4237 -6.861)
## 6              us        us POINT (109.7394 -6.8574)
## 7              us        us POINT (108.5218 -7.3296)
## 8              us        us POINT (110.7528 -6.8386)
## 9              us        us POINT (108.6034 -7.4873)
## 10             us        us  POINT (109.2674 -6.976)
#Ambil batas administrasi Indonesia dan filter Jawa Tengah
indo <- ne_states(country = "indonesia", returnclass = "sf")
jateng <- indo %>% filter(name == "Jawa Tengah")
jateng
## Simple feature collection with 1 feature and 121 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 108.5469 ymin: -8.226372 xmax: 111.6727 ymax: -5.831638
## Geodetic CRS:  WGS 84
##                       featurecla scalerank adm1_code diss_me iso_3166_2
## 1 Admin-1 states provinces lakes         2  IDN-1224    1224      ID-JT
##   wikipedia iso_a2 adm0_sr        name name_alt name_local     type  type_en
## 1      <NA>     ID       5 Jawa Tengah   Jateng       <NA> Propinsi Province
##   code_local code_hasc note hasc_maybe region region_cod provnum_ne gadm_level
## 1       <NA>     ID.JT <NA>       <NA>   <NA>       <NA>         19          1
##   check_me datarank abbrev postal area_sqkm sameascity labelrank name_len
## 1       20        1   <NA>     JT         0        -99         2       11
##   mapcolor9 mapcolor13 fips fips_alt  woe_id                   woe_label
## 1         6         11 ID07     <NA> 2345716 Central Java, ID, Indonesia
##      woe_name latitude longitude sov_a3 adm0_a3 adm0_label     admin  geonunit
## 1 Jawa Tengah  -7.2901   109.896    IDN     IDN          2 Indonesia Indonesia
##   gu_a3   gn_id              gn_name   gns_id              gns_name gn_level
## 1   IDN 1642669 Provinsi Jawa Tengah -2679924 Jawa Tengah, Provinsi        1
##   gn_region gn_a1_code region_sub sub_code gns_level gns_lang gns_adm1
## 1      <NA>      ID.07       <NA>     <NA>         1      ind     ID07
##   gns_region min_label max_label min_zoom wikidataid     name_ar  name_bn
## 1       <NA>         5      10.1      4.6      Q3557 جاوة الوسطى মধ্য জাভা
##       name_de      name_en      name_es      name_fr       name_el  name_hi
## 1 Jawa Tengah Central Java Java Central Java central Σέντραλ Τζάβα मध्य जावा
##       name_hu     name_id        name_it      name_ja  name_ko     name_nl
## 1 Jawa Tengah Jawa Tengah Giava Centrale 中部ジャワ州 중앙자와 Midden-Java
##         name_pl      name_pt         name_ru     name_sv   name_tr    name_vi
## 1 Jawa Środkowa Java Central Центральная Ява Jawa Tengah Orta Cava Trung Java
##    name_zh      ne_id      name_he        name_uk   name_ur    name_fa name_zht
## 1 中爪哇省 1159309873 יאוה המרכזית Центральна Ява وسطی جاوا جاوه مرکزی 中爪哇省
##   FCLASS_ISO FCLASS_US FCLASS_FR FCLASS_RU FCLASS_ES FCLASS_CN FCLASS_TW
## 1       <NA>      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>
##   FCLASS_IN FCLASS_NP FCLASS_PK FCLASS_DE FCLASS_GB FCLASS_BR FCLASS_IL
## 1      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>
##   FCLASS_PS FCLASS_SA FCLASS_EG FCLASS_MA FCLASS_PT FCLASS_AR FCLASS_JP
## 1      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>
##   FCLASS_KO FCLASS_VN FCLASS_TR FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT
## 1      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>      <NA>
##   FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA FCLASS_TLC
## 1      <NA>      <NA>      <NA>      <NA>       <NA>
##                         geometry
## 1 MULTIPOLYGON (((108.8951 -6...

Untuk membuat peta sebaran gempa Provinsi Jawa Tengah, hal yang pertama adalah import data dan mengkonversinya menjadi data spasial.

  • st_as_sf(): digunakan untuk mengubah data gempa menjadi objek spasial (sf).
  • coords = c(“longitude”, “latitude”): menentukan kolom yang berisi koordinat lokasi gempa.
  • crs = 4326: menetapkan sistem koordinat geografis WGS 84 yang umum digunakan dalam peta global.

Kemudian ambil batas administrasi wilayah Indonesia dan memfilter data agar hanya menampilkan provinsi Jawa Tengah.

  • ne_states(): mengambil data batas administrasi seluruh provinsi di Indonesia dalam format spasial (sf).
  • country = “indonesia”: menentukan bahwa data yang diambil hanya untuk negara Indonesia.
  • returnclass = “sf”: mengatur agar data dikembalikan dalam format spasial (sf) yang kompatibel dengan ggplot2.
  • filter(name == “Jawa Tengah”): menyaring data agar hanya menampilkan provinsi dengan nama “Jawa Tengah”.

Batasan Masalah 1

Peta Sebaran Gempa Tanpa shp

#Plot peta sebaran gempa tanpa shp hanya packages dari sf  
ggplot() + 
  geom_sf(data = jateng, fill = "gray", color = "black") + 
  geom_sf(data = gempa_sf, aes(size = mag, color = depth), alpha = 0.7) + 
  scale_color_viridis(option = "plasma", name = "Kedalaman (km)") + 
  scale_size_continuous(name = "mag", range = c(2, 6)) + 
  labs(title = "Sebaran Gempa di Provinsi Jawa Tengah", 
       subtitle = "Sumber: USGS", 
       x = "longitude", y = "latitude", 
       caption = "Visualisasi: ggplot2 + sf") + 
  theme_minimal() + 
  theme(plot.title = element_text(face = "bold", size = 14), 
        legend.position = "right")

Tampilan Peta di atas memberikan gambaran umum mengenai distribusi kejadian gempa di seluruh provinsi tanpa membedakan kabupaten atau kota. Untuk membuat peta sebaran gempa di Provinsi Jawa Tengah tanpa menggunakan shapefile, digunakan paket sf dan ggplot2 untuk menampilkan data spasial.

  • ggplot() : digunakan untuk memulai proses pembuatan grafik atau peta.
  • geom_sf(data = jateng, …) : menampilkan batas wilayah Provinsi Jawa Tengah dalam format spasial (sf).
  • fill = “gray” : memberi warna abu-abu pada area provinsi.
  • color = “black” : memberi garis tepi berwarna hitam pada batas wilayah.
  • geom_sf(data = gempa_sf, aes(size = mag, color = depth), alpha = 0.7) : menambahkan titik lokasi gempa ke dalam peta, dengan ukuran titik berdasarkan magnitudo (mag) dan warna berdasarkan kedalaman (depth).
  • scale_color_viridis(option = “plasma”, name = “Kedalaman (km)”) : mengatur skala warna menggunakan palet plasma untuk mewakili kedalaman gempa.
  • scale_size_continuous(name = “mag”, range = c(2, 6)) : mengatur ukuran titik berdasarkan nilai magnitudo gempa.
  • labs(…) : menambahkan judul, subjudul, keterangan sumbu, dan sumber informasi pada peta.
  • theme_minimal() : memberikan tampilan peta yang sederhana dan bersih.
  • theme(plot.title = element_text(face = “bold”, size = 14), legend.position = “right”) : menebalkan judul peta, mengatur ukuran hurufnya, serta menempatkan legenda di sisi kanan.

Peta Sebaran Gempa Dengan shp

#Peta berdasar daerah di provinsi Jawa Tengah
folder_path <- "D:/Semester 7/Statistika Spasial/praktikum/gadm41_IDN_shp/"

#Baca shapefile level 2 (kabupaten/kota)
indo2 <- st_read(paste0(folder_path, "gadm41_IDN_2.shp"))
## Reading layer `gadm41_IDN_2' from data source 
##   `D:\Semester 7\Statistika Spasial\praktikum\gadm41_IDN_shp\gadm41_IDN_2.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 502 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 95.00971 ymin: -11.00761 xmax: 141.0194 ymax: 6.076941
## Geodetic CRS:  WGS 84
# Filter hanya Provinsi Jawa Tengah
jateng_shp <- indo2 %>% 
  filter(NAME_1 == "Jawa Tengah")

ggplot(jateng_shp) + 
  geom_sf(aes(fill = NAME_2), color = "black", size = 0.3) + 
  geom_sf(data = gempa_sf, aes(size = mag, color = depth), alpha = 0.7) + 
  guides(fill = "none") + 
  scale_color_viridis(option = "plasma", name = "Kedalaman (km)") + 
  scale_size_continuous(name = "mag", range = c(2, 6)) + 
  labs(title = "Sebaran Gempa Utama di Provinsi Jawa Tengah", 
       subtitle = "Sumber: USGS", 
       x = "longitude", y = "latitude", 
       caption = "Visualisasi: ggplot2 + sf") + 
  theme_minimal() + 
  theme(plot.title = element_text(face = "bold", size = 14), 
        legend.position = "right")

Peta di atas memperlihatkan sebaran gempa utama di Provinsi Jawa Tengah dengan batas wilayah administratif setiap kabupaten dan kota yang ditampilkan menggunakan warna berbeda. Tampilan ini mempermudah identifikasi daerah-daerah yang pernah mengalami aktivitas gempa. Sebaran titik gempa menunjukkan bahwa kejadian gempa paling banyak terjadi di bagian selatan provinsi, terutama di wilayah seperti Cilacap, Kebumen, dan Purworejo yang berdekatan dengan zona subduksi Samudra Hindia. Selain itu, beberapa gempa juga terdeteksi di wilayah tengah seperti Magelang dan Wonosobo, yang kemungkinan berkaitan dengan aktivitas sesar lokal di daerah tersebut.

Warna titik menggambarkan kedalaman gempa, di mana sebagian besar gempa memiliki kedalaman dangkal hingga menengah, sedangkan ukuran titik menunjukkan magnitudo antara 4,1 hingga 4,6 skala Richter, yang menandakan aktivitas seismik dengan kekuatan rendah hingga sedang. Pola sebaran ini menunjukkan bahwa bagian selatan Jawa Tengah memiliki tingkat kerentanan gempa yang lebih tinggi dibanding wilayah lainnya. Oleh karena itu, informasi dari peta ini dapat digunakan untuk mendukung upaya mitigasi bencana dan perencanaan pembangunan berbasis risiko di tingkat kabupaten dan kota di Provinsi Jawa Tengah.

Batasan Masalah 2

Peta Provinsi Jawa Tengah Berdasarkan Kabupaten/Kota

# Filter hanya Provinsi Jawa Tengah
jateng_shp <- indo2 %>% 
  filter(NAME_1 == "Jawa Tengah")

# Plot peta wilayah Jawa Tengah dengan legenda nama kabupaten/kota
ggplot(jateng_shp) +
  geom_sf(aes(fill = NAME_2), color = "black", size = 0.3) +
  scale_fill_viridis_d(name = "Kabupaten/Kota", option = "turbo") +
  labs(title = "Peta Provinsi Jawa Tengah",
       subtitle = "Setiap warna merepresentasikan kabupaten/kota",
       x = "Longitude", y = "Latitude",
       caption = "Visualisasi: ggplot2 + sf") +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right",
    legend.title = element_text(face = "bold"),
    legend.text = element_text(size = 8)
  )

Peta tersebut menunjukkan wilayah Provinsi Jawa Tengah yang dibagi berdasarkan kabupaten dan kota. Setiap warna berbeda mewakili satu daerah administratif (kabupaten/kota), sehingga memudahkan untuk mengenali batas dan sebaran wilayahnya. Peta ini menampilkan posisi geografis berdasarkan koordinat lintang dan bujur, serta membantu melihat bagaimana letak kabupaten/kota tersebar dari barat ke timur Jawa Tengah.

BAB III: KESIMPULAN

Pembuatan peta di R menggunakan paket sf dan ggplot2 memungkinkan pengolahan serta visualisasi data spasial seperti shapefile (.shp) melalui fungsi geom_sf(). Prosesnya mencakup membaca data dengan st_read() dan menampilkan batas wilayah pada peta. Tujuannya adalah menyajikan informasi geografis secara visual agar pola dan hubungan antarwilayah mudah dipahami dalam analisis spasial.

Untuk membuat peta dengan data titik seperti lokasi gempa, rumah sakit, atau stasiun, koordinat longitude dan latitude diubah menjadi objek spasial menggunakan fungsi st_as_sf() dari paket sf. Titik-titik tersebut kemudian dapat digabungkan atau ditampilkan di atas peta wilayah menggunakan geom_sf() pada ggplot2, serta diberi warna atau ukuran berdasarkan variabel tertentu seperti magnitudo atau intensitas kejadian. Tujuannya adalah memvisualisasikan lokasi spesifik di permukaan bumi untuk mempermudah analisis pola persebaran, kedekatan, dan hubungan antar lokasi secara geografis.

Berdasarkan hasil visualisasi peta sebaran gempa di Provinsi Jawa Tengah, dapat disimpulkan bahwa aktivitas seismik di wilayah ini cenderung terkonsentrasi di bagian selatan, khususnya di daerah Cilacap, Kebumen, dan Purworejo yang berdekatan dengan zona subduksi Samudra Hindia. Sebagian besar gempa memiliki kedalaman dangkal hingga menengah dengan magnitudo antara 4,1 hingga 4,6 skala Richter, menunjukkan aktivitas gempa berkekuatan rendah hingga sedang. Peta ini tidak hanya memberikan gambaran spasial mengenai persebaran dan karakteristik gempa, tetapi juga menjadi dasar penting untuk analisis risiko serta perencanaan mitigasi bencana di tingkat kabupaten dan kota di Jawa Tengah.

BAB IV: DAFTAR PUSTAKA

Pebesma, E. (2020). Simple Features for R: Standardized Support for Spatial Vector Data. The R Journal, 10(1), 439–446.

Badan Meteorologi Klimatologi dan Geofisika (BMKG). (2024). Data dan Informasi Gempabumi. Diakses dari https://www.bmkg.go.id

United States Geological Survey (USGS). (2024). Earthquake Catalog. https://earthquake.usgs.gov