=== Library utama ===
library(jsonlite) # Baca data JSON dari API
## Warning: package 'jsonlite' was built under R version 4.5.2
library(dplyr) # Manipulasi data
## Warning: package 'dplyr' was built under R version 4.5.2
##
## 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
library(purrr) # Iterasi dan pemetaan fungsi
## Warning: package 'purrr' was built under R version 4.5.2
##
## Attaching package: 'purrr'
## The following object is masked from 'package:jsonlite':
##
## flatten
library(tidyr) # Ubah bentuk data
## Warning: package 'tidyr' was built under R version 4.5.2
library(stringr) # Olah teks dan regex
## Warning: package 'stringr' was built under R version 4.5.2
library(ggplot2) # Visualisasi data
library(viridis) # Palet warna modern
## Loading required package: viridisLite
library(factoextra) # Visualisasi dan analisis clustering
## Warning: package 'factoextra' was built under R version 4.5.2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(cluster) # Analisis cluster lanjut
library(sf) # Data spasial (shapefile)
## Warning: package 'sf' was built under R version 4.5.2
## Linking to GEOS 3.13.1, GDAL 3.11.4, PROJ 9.7.0; sf_use_s2() is TRUE
library(patchwork) # Gabungkan beberapa plot
library(grid) # Atur tata letak grafis
=== Daftar API PDRB per daerah (contoh tahun 2023/2024) === Setiap elemen berisi URL API BPS untuk masing-masing kabupaten/kota di Provinsi Babel.
urls <- list(
'Bangka' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1901/var/45/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d",
'Belitung' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1902/var/35/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d",
'Bangka Barat' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1903/var/30/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d",
'Bangka Tengah' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1904/var/46/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d",
'Bangka Selatan' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1905/var/8/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d",
'Belitung Timur' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1906/var/58/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d",
'Kota Pangkal Pinang' = "https://webapi.bps.go.id/v1/api/list/model/data/lang/ind/domain/1971/var/48/th/110/key/dec6ad5937bd46f1da5da3dbbf15cd4d"
)
=== Fungsi untuk mengambil data JSON dari API BPS === Fungsi ini: - Menampilkan nama daerah yang sedang diambil - Mengambil data dari URL menggunakan fromJSON() - Menangani error jika koneksi gagal atau format salah