Kajian ini bertujuan untuk menganalisis dan memetakan potensi sektoral kabupaten/kota di Provinsi Kalimantan Selatan berdasarkan kinerja pertumbuhan ekonomi, struktur sektor unggulan, dan dinamika kontribusi sektoral terhadap PDRB daerah. Data yang digunakan bersumber dari publikasi Badan Pusat Statistik (BPS) Provinsi Kalimantan Selatan, mencakup data PDRB atas dasar harga konstan menurut lapangan usaha di setiap kabupaten/kota.
Kajian ini menyajikan Analisis Potensi Sektoral
dengan tiga alat analisis, yaitu Tipologi Klassen,
Location Quotient (LQ), dan Model Rasio
Pertumbuhan (MRP).
Ketiga metode ini digunakan untuk menilai kondisi, keunggulan, dan
prospek sektor ekonomi di tingkat kabupaten/kota.
Metode Tipologi Klassen digunakan untuk mengelompokkan daerah berdasarkan tingkat pertumbuhan ekonomi (r) dan PDRB per kapita (y) terhadap rata-rata provinsi.
Metode Location Quotient (LQ) digunakan untuk
mengidentifikasi sektor unggulan (basis) pada setiap
daerah dengan membandingkan kontribusi sektor di tingkat kabupaten/kota
terhadap kontribusi sektor yang sama di tingkat provinsi atau
nasional.
Nilai LQ > 1 menunjukkan bahwa sektor tersebut
merupakan sektor basis yang memiliki keunggulan
kompetitif dan berpotensi menjadi penggerak utama ekonomi daerah.
Metode Model Rasio Pertumbuhan (MRP) digunakan untuk
menilai kinerja pertumbuhan (RPr) dan perubahan
pangsa (RPs) sektor di suatu daerah relatif terhadap wilayah
acuan (provinsi).
Menurut Yusuf (1999), kombinasi kedua indikator ini
digunakan untuk mengidentifikasi sektor-sektor potensial:
Sektor yang memenuhi kedua kondisi tersebut dikategorikan sebagai sektor potensial dan dinamis.
# Packages yang digunakan
library(dplyr)
library(ggplot2)
library(readr)
library(tibble)
library(forcats)
library(sf)
library(stringr)
library(tidyr)
library(purrr)
library(leaflet)
library(htmltools)
data <- data.frame(
daerah = c("TANAH LAUT", "KOTABARU", "BANJAR", "BARITO KUALA", "TAPIN", "HULU SUNGAI SELATAN","HULU SUNGAI TENGAH","HULU SUNGAI UTARA","TABALONG","TANAH BUMBU","BALANGAN","KOTA BANJARMASIN","KOTA BANJARBARU"),
r = c(5.12,4.58,4.48,3.59,4.91,4.02,3.92,4.08,5.29,5.45,5.24,5.69,7.93), # pertumbuhan ekonomi (%)
y = c(30.990,55.941,21.729,19.147,35.558,21.616,19.628,15.305,60.598,50.939,74.393,36.102,25.970) # PDRB per kapita HK (dalam juta rupiah)
)
# Rata-rata
r_mean <- mean(data$r)
y_mean <- mean(data$y)
tibble(Rata_r = r_mean, Rata_y = y_mean)
Hasil perhitungan menunjukkan nilai rata-rata dari dua indikator utama dalam analisis Tipologi Klassen, yaitu:
Nilai ini berfungsi sebagai garis batas (benchmark) untuk menentukan posisi relatif tiap kabupaten/kota di Provinsi Kalimantan Selatan dalam empat kuadran Tipologi Klassen, yaitu:
Secara umum, nilai 4,95% dan 35,99 juta
rupiah digunakan sebagai acuan pembanding
untuk mengelompokkan daerah berdasarkan kinerja ekonominya.
Hasil ini membantu mengidentifikasi wilayah yang memiliki potensi
pertumbuhan tinggi serta wilayah yang memerlukan perhatian lebih dalam
kebijakan pembangunan ekonomi daerah.
ggplot(data, aes(x = y, y = r, label = daerah)) +
geom_point(size = 3, color = "steelblue") +
geom_vline(xintercept = y_mean, linetype = "dashed", color = "red") +
geom_hline(yintercept = r_mean, linetype = "dashed", color = "red") +
geom_text(vjust = -0.8, size = 3.5) +
labs(
title = "Visualisasi Tipologi Klassen",
x = "Pendapatan per Kapita (y)",
y = "Pertumbuhan Ekonomi (r)"
) +
theme_minimal()
Visualisasi Tipologi Klassen: perbandingan r vs y
klassen_tbl <- data %>%
mutate(
kategori = dplyr::case_when(
r > r_mean & y > y_mean ~ "Kuadran I: Maju & Cepat Tumbuh",
r < r_mean & y > y_mean ~ "Kuadran II: Sedang Berkembang",
r > r_mean & y < y_mean ~ "Kuadran III: Maju tetapi Terkekan",
TRUE ~ "Kuadran IV: Relatif Tertinggal"
),
kategori = forcats::fct_relevel(
kategori,
"Kuadran I: Maju & Cepat Tumbuh",
"Kuadran II: Sedang Berkembang",
"Kuadran III: Maju Tetapi Tertekan",
"Kuadran IV: Relatif Tertinggal"
)
)
klassen_tbl
klassen_tbl %>%
count(kategori, name = "n_daerah") %>%
arrange(kategori)
# --- BACA DAN FILTER SHAPEFILE ---
peta <- st_read("C:/Users/dhita/Downloads/BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL/BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL/BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL.shp") %>%
filter(KAB_KOTA %in% c(
"BARITO KUALA", "HULU SUNGAI SELATAN", "HULU SUNGAI TENGAH", "HULU SUNGAI UTARA",
"KOTA BANJARBARU", "KOTA BANJARMASIN", "BALANGAN", "BANJAR",
"KOTABARU", "TANAH LAUT", "TANAH BUMBU", "TAPIN", "TABALONG"
))
## Reading layer `BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL' from data source
## `C:\Users\dhita\Downloads\BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL\BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL\BATAS KABUPATEN KOTA DESEMBER 2019 DUKCAPIL.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 515 features and 1 field
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 95.00971 ymin: -11.00762 xmax: 141.0194 ymax: 6.07694
## Geodetic CRS: WGS 84
# --- STANDARISASI NAMA DAERAH DI SHAPEFILE DAN DATA ---
peta <- peta %>%
mutate(daerah = KAB_KOTA) %>%
mutate(daerah = daerah %>%
stringr::str_squish() %>%
stringr::str_to_title())
data <- data %>%
mutate(daerah = daerah %>%
stringr::str_squish() %>%
stringr::str_to_title())
# --- HITUNG RATA-RATA DAN KLASIFIKASI TIP0LOGI KLASSEN ---
r_mean <- mean(data$r, na.rm = TRUE)
y_mean <- mean(data$y, na.rm = TRUE)
peta_data <- peta %>%
left_join(data, by = "daerah") %>%
mutate(
kategori = case_when(
r > r_mean & y > y_mean ~ "Kuadran I: Maju & Cepat Tumbuh",
r < r_mean & y > y_mean ~ "Kuadran II: Sedang Berkembang",
r > r_mean & y < y_mean ~ "Kuadran III: Maju tetapi Tertekan",
TRUE ~ "Kuadran IV: Relatif Tertinggal"
),
kategori = forcats::fct_relevel(
kategori,
"Kuadran I: Maju & Cepat Tumbuh",
"Kuadran II: Sedang Berkembang",
"Kuadran III: Maju tetapi Tertekan",
"Kuadran IV: Relatif Tertinggal"
)
)
# --- DATA UNTUK LABEL TITIK TENGAH POLYGON ---
peta_label <- peta_data %>%
st_point_on_surface() # aman untuk polygon tidak beraturan
# --- PETA FINAL DENGAN BATAS ADMINISTRASI + LABEL ---
ggplot(peta_data) +
geom_sf(aes(fill = kategori), color = "grey40", size = 0.3) + # tampilkan garis batas admin
geom_sf_text(
data = peta_label,
aes(label = KAB_KOTA),
size = 2
) +
scale_fill_manual(values = c(
"Kuadran I: Maju & Cepat Tumbuh" = "#2E8B57",
"Kuadran II: Sedang Berkembang" = "#FFD700",
"Kuadran III: Maju tetapi Tertekan" = "#1E90FF",
"Kuadran IV: Relatif Tertinggal" = "#DC143C"
)) +
labs(
title = "Peta Tipologi Klassen",
fill = "Kategori"
) +
theme_minimal()
# --- MENYIAPKAN DATA UNTUK LEAFLET (CRS & GEOMETRI VALID) ---
peta_leaf <- peta_data %>%
st_make_valid() %>%
filter(!st_is_empty(geometry))
# Memastikan CRS = WGS84 (EPSG:4326) untuk leaflet
if (is.na(st_crs(peta_leaf)) || st_crs(peta_leaf)$epsg != 4326) {
peta_leaf <- st_transform(peta_leaf, 4326)
}
# --- MEMPERSIAPKAN PALET WARNA BERDASARKAN KATEGORI ---
pal <- colorFactor(
palette = c(
"Kuadran I: Maju & Cepat Tumbuh" = "#2E8B57",
"Kuadran II: Sedang Berkembang" = "#FFD700",
"Kuadran III: Maju tetapi Tertekan"= "#1E90FF",
"Kuadran IV: Relatif Tertinggal" = "#DC143C"
),
domain = peta_leaf$kategori,
na.color = "lightgrey"
)
# --- MENAMPILKAN PETA LEAFLET TIPOLOGI KLASSEN ---
leaflet(peta_leaf) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(
fillColor = ~pal(kategori),
color = "#444444",
weight = 1,
fillOpacity = 0.7,
# LABEL (hover)
label = ~paste0(
"<b>", KAB_KOTA, "</b><br>",
"Kategori: ", kategori, "<br>",
"r (pertumbuhan): ", round(r, 2), " %<br>",
"y (PDRB per kapita): ", round(y, 2)
) %>% lapply(htmltools::HTML),
# POPUP (klik)
popup = ~paste0(
"<b>Kabupaten/Kota:</b> ", KAB_KOTA,
"<br><b>Kategori:</b> ", kategori,
"<br><b>Pertumbuhan (r):</b> ", round(r, 2), " %",
"<br><b>PDRB per kapita (y):</b> ", round(y, 2)
),
highlightOptions = highlightOptions(
weight = 2,
color = "black",
bringToFront = TRUE
)
) %>%
addLegend(
pal = pal,
values = ~kategori,
title = "Tipologi Klassen",
opacity = 1
) %>%
addScaleBar(position = "bottomleft")
# Data PDRB sektoral untuk 3 sektor di 3 daerah
pdrb <- data.frame(
daerah = c("TANAH LAUT", "TANAH LAUT", "TANAH LAUT", "KOTABARU", "KOTABARU", "KOTABARU", "BANJAR", "BANJAR", "BANJAR","BARITO KUALA","BARITO KUALA","BARITO KUALA","TAPIN","TAPIN","TAPIN","HULU SUNGAI SELATAN","HULU SUNGAI SELATAN","HULU SUNGAI SELATAN","HULU SUNGAI TENGAH","HULU SUNGAI TENGAH","HULU SUNGAI TENGAH","HULU SUNGAI UTARA","HULU SUNGAI UTARA","HULU SUNGAI UTARA","TABALONG","TABALONG","TABALONG","TANAH BUMBU","TANAH BUMBU","TANAH BUMBU","BALANGAN","BALANGAN","BALANGAN","KOTA BANJARMASIN","KOTA BANJARMASIN","KOTA BANJARMASIN","KOTA BANJARBARU","KOTA BANJARBARU","KOTA BANJARBARU"),
sektor = rep(c("Pertanian", "Industri", "Jasa"), times = 13),
pdrb_daerah = c(1944197.71,5176879.24,3934938.83,3455025.5, 11277554,3970869.6, 2028284,4521711.4, 6101494.8, 1629038.1, 1866839.3, 2659976,1188681.4,3285381.1
, 2424820.8, 1141633.7, 1551342.6, 2346798, 1246685.5, 1247490.1, 2679399.9
, 555526.1,760604.9, 2232393.5, 1571804.5, 9839322.8, 4334596.9
, 2711862.4, 9268693.6, 4940204.5, 1030657, 7309225.5, 1634765.4, 566945.2
, 6812658, 16587379.2, 128670.9, 1841279.5, 4853331.4) # PDRB per kapita HK (dalam juta rupiah)
)
# Total per daerah & total provinsi (agregat seluruh daerah)
total_daerah <- pdrb %>%
group_by(daerah) %>%
summarise(total_daerah = sum(pdrb_daerah), .groups = "drop")
total_provinsi <- pdrb %>%
group_by(sektor) %>%
summarise(total_prov = sum(pdrb_daerah), .groups = "drop") %>%
mutate(total_seluruh = sum(total_prov))
# Hitung LQ
lq <- pdrb %>%
left_join(total_daerah, by = "daerah") %>%
left_join(total_provinsi, by = "sektor") %>%
mutate(
share_daerah = pdrb_daerah / total_daerah,
share_prov = total_prov / total_seluruh,
LQ = share_daerah / share_prov
) %>%
mutate(LQ = round(LQ, 2))
lq
ggplot(lq, aes(x = sektor, y = LQ, fill = daerah)) +
geom_bar(stat = "identity", position = "dodge") +
geom_hline(yintercept = 1, linetype = "dashed", color = "red") +
labs(
title = "Analisis Sektoral Unggulan (Location Quotient)",
x = "Sektor Ekonomi",
y = "Nilai LQ"
) +
theme_minimal()
Nilai LQ per sektor per daerah
Grafik ini menampilkan nilai Location Quotient (LQ) untuk tiga sektor utama (yakni Industri, Jasa, dan Pertanian) pada setiap kabupaten/kota di Provinsi Kalimantan Selatan. Nilai LQ digunakan untuk mengidentifikasi sektor basis (unggulan), yaitu sektor ekonomi yang memiliki peran lebih besar di suatu daerah dibandingkan rata-rata provinsi.
Garis horizontal merah dengan nilai LQ = 1 menjadi batas pembeda antara sektor basis dan non-basis. Sektor dengan LQ > 1 dikategorikan sebagai sektor basis (unggulan) karena kontribusinya lebih besar dibandingkan rata-rata provinsi, sedangkan sektor dengan LQ < 1 tergolong non-basis, artinya kontribusinya masih di bawah rata-rata provinsi.
Secara keseluruhan, hasil analisis ini menunjukkan adanya variasi sektoral antarwilayah di Kalimantan Selatan. Wilayah perkotaan cenderung memiliki keunggulan pada sektor jasa, sedangkan wilayah rural dan hinterland masih bergantung pada sektor pertanian dan industri primer. Analisis Location Quotient ini menjadi dasar penting dalam perencanaan pembangunan ekonomi daerah, baik untuk memperkuat sektor basis yang sudah mapan maupun mengembangkan sektor potensial di daerah dengan nilai LQ mendekati 1 agar dapat menjadi sektor unggulan baru di masa depan.
unggulan <- lq %>%
group_by(daerah) %>%
filter(LQ > 1) %>%
arrange(daerah, desc(LQ)) %>%
select(daerah, sektor, LQ)
unggulan
ringkasan_basis <- lq %>%
mutate(basis = LQ > 1) %>%
group_by(daerah) %>%
summarise(
n_basis = sum(basis, na.rm = TRUE),
sektor_dominan = sektor[which.max(LQ)],
LQ_dominan = max(LQ, na.rm = TRUE),
.groups = "drop"
)
ringkasan_basis
# --- Persiapan data peta ---
peta_lq <- peta %>%
mutate(daerah = KAB_KOTA) %>%
mutate(
daerah = daerah %>%
str_squish() %>%
str_to_title()
)
# --- Persiapan data ringkasan ---
ringkasan_basis_map <- ringkasan_basis %>%
mutate(
daerah = daerah %>%
str_squish() %>%
str_to_title()
)
# --- Gabungkan data ---
peta_lq_data <- peta_lq %>%
left_join(ringkasan_basis_map, by = "daerah")
# --- Tambahkan centroid untuk label ---
centroid <- st_point_on_surface(peta_lq_data)
# --- Peta LQ dengan label sektor dominan dan batas administrasi ---
ggplot() +
# Layer isi peta
geom_sf(data = peta_lq_data,
aes(fill = n_basis),
color = "grey50", size = 0.3) +
# Layer batas administrasi
geom_sf(data = peta_lq,
fill = NA,
color = "black",
size = 0.4) +
# Label sektor dominan
geom_sf_text(data = centroid,
aes(label = sektor_dominan),
size = 3) +
scale_fill_viridis_c(option = "C", na.value = "grey90") +
labs(
title = "Peta LQ dengan Label Sektor Dominan",
fill = "Jumlah Sektor\nLQ > 1"
) +
theme_minimal()
# --- MENYIAPKAN DATA UNTUK LEAFLET (CRS & GEOMETRI VALID) ---
peta_lq_leaf <- peta_lq_data %>%
st_make_valid() %>%
filter(!st_is_empty(geometry))
# Memastikan CRS = WGS84 (EPSG:4326) untuk leaflet
if (is.na(st_crs(peta_lq_leaf)) || st_crs(peta_lq_leaf)$epsg != 4326) {
peta_lq_leaf <- st_transform(peta_lq_leaf, 4326)
}
# --- MEMPERSIAPKAN PALET WARNA BERDASARKAN n_basis (NUMERIK) ---
pal_lq <- colorNumeric(
palette = viridisLite::viridis(7), # bisa diganti jumlah/jenis warna
domain = peta_lq_leaf$n_basis,
na.color = "grey90"
)
# --- MENAMPILKAN PETA LEAFLET LQ: JUMLAH SEKTOR BASIS + SEKTOR DOMINAN ---
leaflet(peta_lq_leaf) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(
fillColor = ~pal_lq(n_basis),
color = "#444444",
weight = 1,
fillOpacity = 0.7,
# LABEL (hover)
label = ~paste0(
"<b>", KAB_KOTA, "</b><br>",
"Jumlah sektor basis (LQ > 1): ", n_basis, "<br>",
"Sektor dominan: ", sektor_dominan
) %>% lapply(htmltools::HTML),
# POPUP (klik)
popup = ~paste0(
"<b>Kabupaten/Kota:</b> ", KAB_KOTA,
"<br><b>Jumlah sektor basis (LQ > 1):</b> ", n_basis,
"<br><b>Sektor dominan:</b> ", sektor_dominan
),
highlightOptions = highlightOptions(
weight = 2,
color = "black",
bringToFront = TRUE
)
) %>%
addLegend(
pal = pal_lq,
values = ~n_basis,
title = "Jumlah Sektor Basis (LQ > 1)",
opacity = 1
) %>%
addScaleBar(position = "bottomleft")
Diberikan data PDRB sektoral dua periode (mis. t0 dan t1) baik untuk daerah maupun agregat acuan (provinsi/nasional):
Pangsa (share) sektor:
Pangsa daerah: \(s_{ij}^{t} =
\frac{E_{ij}^{t}}{E_{j}^{t}}\), dengan \(E_{j}^{t} = \sum_i E_{ij}^{t}\)
Pangsa acuan: \(s_{in}^{t} = \frac{E_{in}^{t}}{E_{n}^{t}}\), dengan \(E_{n}^{t} = \sum_i E_{in}^{t}\)
Rasio Pangsa (RPs): \(\text{RPs}_{ij} = \frac{s_{ij}^{t1}/s_{ij}^{t0}}{s_{in}^{t1}/s_{in}^{t0}}\)
Klasifikasi MRP (4 kuadran):
1) RPr>1 & RPs>1 → Maju & Pangsa
Naik (sektor prospektif/unggul).
2) RPr>1 & RPs<1 → Tumbuh Cepat tapi
Pangsa Turun (perlu penguatan daya saing).
3) RPr<1 & RPs>1 → Pertumbuhan Lambat
tapi Pangsa Naik (relatif mapan, butuh inovasi).
4) RPr<1 & RPs<1 → Lambat & Pangsa
Turun (sektor tertinggal).
set.seed(1)
# daftar kabupaten/kota
daerah_list <- c(
"TANAH LAUT", "KOTABARU", "BANJAR", "BARITO KUALA", "TAPIN",
"HULU SUNGAI SELATAN", "HULU SUNGAI TENGAH", "HULU SUNGAI UTARA",
"TABALONG", "TANAH BUMBU", "BALANGAN",
"KOTA BANJARMASIN", "KOTA BANJARBARU"
)
# buat kombinasi daerah x sektor x tahun
pdrb_time <- expand.grid(
daerah = daerah_list,
sektor = c("Pertanian", "Industri", "Jasa"),
tahun = c(2020, 2022)
) %>%
arrange(daerah, sektor, tahun)
# isi nilai (harus 13 daerah × 3 sektor × 2 tahun = 78 angka)
pdrb_time <- pdrb_time %>%
mutate(nilai = c(
1862142.96, 1944197.71,
4701245.18, 5176879.24,
3600673.85, 3934938.83,
3289997.9, 3455025.5,
10378682.7, 11277554,
3636188.2, 3970869.6,
1984086.6, 2028284,
4088165.7, 4521711.4,
5660406.5, 6101494.8,
1595855.3, 1629038.1,
1710688.7, 1866839.3,
2453823.7, 2659976,
1211918.1, 1188681.4,
2923950.6, 3285381.1,
3210831.2, 2424820.8,
1147630.9, 1141633.7,
1337279.7, 1551342.6,
2165321, 2346798,
1225922.1, 1246685.5,
1166059.8, 1247490.1,
2440765, 2679399.9,
547255.3, 555526.1,
699182.3, 760604.9,
2056899, 2232393.5,
1487516, 1571804.5,
9133409, 9839322.8,
3860384, 4334596.9,
2544394, 2711862.4,
8271395, 9268693.6,
4579876, 4940204.5,
991904.8, 1030657,
6647909, 7309225.5,
1538056, 1634765.4,
540330.5, 566945.2,
6332073, 6812658,
15056837, 16587379.2,
124734.2, 128670.9,
1709354, 1841279.5,
4284298, 4853331.4 # PDRB per kapita HK (dalam juta rupiah)
))
head(pdrb_time)
# Agregat referensi (provinsi/nasional) = penjumlahan seluruh daerah
agg_ref <- pdrb_time %>%
group_by(sektor, tahun) %>%
summarise(E_in = sum(nilai), .groups = "drop")
# Total ekonomi per daerah & total acuan
total_daerah_t <- pdrb_time %>%
group_by(daerah, tahun) %>%
summarise(E_jt = sum(nilai), .groups = "drop")
total_ref_t <- agg_ref %>%
group_by(tahun) %>%
summarise(E_nt = sum(E_in), .groups = "drop")
# Gabungkan semua
mrp_base <- pdrb_time %>%
left_join(total_daerah_t, by = c("daerah","tahun")) %>%
left_join(agg_ref, by = c("sektor","tahun")) %>%
left_join(total_ref_t, by = "tahun") %>%
mutate(
s_ij = nilai / E_jt, # pangsa sektor di daerah
s_in = E_in / E_nt # pangsa sektor di acuan
)
# Pisahkan dua periode
t0 <- min(mrp_base$tahun)
t1 <- max(mrp_base$tahun)
mrp_t0 <- mrp_base %>% filter(tahun == t0) %>%
select(daerah, sektor, nilai_t0 = nilai, s_ij_t0 = s_ij, s_in_t0 = s_in)
mrp_t1 <- mrp_base %>% filter(tahun == t1) %>%
select(daerah, sektor, nilai_t1 = nilai, s_ij_t1 = s_ij, s_in_t1 = s_in)
# Hitung pertumbuhan & rasio
mrp <- mrp_t0 %>%
inner_join(mrp_t1, by = c("daerah","sektor")) %>%
group_by(sektor) %>%
# Tambahkan agregat referensi per sektor (t0 & t1)
mutate(
E_in_t0 = sum(nilai_t0),
E_in_t1 = sum(nilai_t1)
) %>%
ungroup() %>%
mutate(
g_ij = (nilai_t1 - nilai_t0) / pmax(nilai_t0, 1e-9),
g_in = (E_in_t1 - E_in_t0) / pmax(E_in_t0, 1e-9),
RPr = g_ij / pmax(g_in, 1e-9),
RPs = ( (s_ij_t1 / pmax(s_ij_t0, 1e-9)) / (s_in_t1 / pmax(s_in_t0, 1e-9)) )
) %>%
mutate(
klasifikasi_mrp = case_when(
RPr > 1 & RPs > 1 ~ "I. Maju & Pangsa Naik",
RPr > 1 & RPs <= 1 ~ "II. Tumbuh Cepat, Pangsa Turun",
RPr <= 1 & RPs > 1 ~ "III. Lambat, Pangsa Naik",
TRUE ~ "IV. Lambat & Pangsa Turun"
)
)
mrp %>%
select(daerah, sektor, g_ij, g_in, RPr, RPs, klasifikasi_mrp) %>%
arrange(daerah, sektor)
ggplot(mrp, aes(x = RPr, y = RPs, color = daerah, shape = sektor)) +
geom_hline(yintercept = 1, linetype = "dashed") +
geom_vline(xintercept = 1, linetype = "dashed") +
geom_point(size = 3) +
labs(
title = "Model Rasio Pertumbuhan (MRP)",
x = "Rasio Pertumbuhan (RPr)",
y = "Rasio Pangsa (RPs)"
) +
theme_minimal()
Grafik ini menampilkan hasil analisis Model Rasio Pertumbuhan (MRP) yang membandingkan Rasio Pertumbuhan (RPr) pada sumbu horizontal dan Rasio Pangsa (RPs) pada sumbu vertikal untuk berbagai sektor ekonomi di kabupaten/kota di Provinsi Kalimantan Selatan. Analisis ini digunakan untuk menilai dinamika dan potensi pertumbuhan sektoral di masing-masing daerah dengan memperhatikan kecepatan pertumbuhan sektor serta perubahan pangsanya terhadap total PDRB dibandingkan dengan wilayah acuan (provinsi).
Garis vertikal (RPr = 1) dan horizontal (RPs = 1) berfungsi sebagai batas pembeda antar-kuadran, yang menunjukkan empat kondisi pertumbuhan sektor ekonomi, yaitu:
Kuadran I (RPr > 1 dan RPs > 1) →
Sektor potensial dan berkembang pesat.
Sektor pada posisi ini memiliki laju pertumbuhan yang lebih cepat dan
pangsa yang meningkat lebih besar dibandingkan rata-rata
provinsi.
Kuadran II (RPr < 1 dan RPs > 1) →
Sektor dominan namun pertumbuhannya mulai melambat.
Sektor ini berkontribusi besar terhadap perekonomian daerah, tetapi
pertumbuhannya lebih rendah dari rata-rata provinsi.
Kuadran III (RPr > 1 dan RPs < 1) →
Sektor dengan pertumbuhan cepat namun pangsanya kecil.
Artinya sektor ini sedang berkembang dan berpotensi menjadi sektor basis
baru di masa depan.
Kuadran IV (RPr < 1 dan RPs < 1) →
Sektor kurang berkembang.
Pertumbuhan dan pangsa sektor berada di bawah rata-rata, menunjukkan
sektor yang memerlukan perhatian dan dukungan kebijakan agar dapat
tumbuh lebih optimal.
mrp_ringkas <- mrp %>%
group_by(daerah, klasifikasi_mrp) %>%
summarise(n_sektor = n(), .groups = "drop") %>%
arrange(daerah, klasifikasi_mrp)
mrp_unggulan <- mrp %>%
filter(RPr > 1, RPs > 1) %>%
select(daerah, sektor, RPr, RPs) %>%
arrange(daerah, desc(RPr*RPs))
list(
ringkasan = mrp_ringkas,
sektor_unggulan = mrp_unggulan
)
## $ringkasan
## # A tibble: 28 × 3
## daerah klasifikasi_mrp n_sektor
## <fct> <chr> <int>
## 1 TANAH LAUT I. Maju & Pangsa Naik 2
## 2 TANAH LAUT II. Tumbuh Cepat, Pangsa Turun 1
## 3 KOTABARU I. Maju & Pangsa Naik 2
## 4 KOTABARU IV. Lambat & Pangsa Turun 1
## 5 BANJAR I. Maju & Pangsa Naik 2
## 6 BANJAR IV. Lambat & Pangsa Turun 1
## 7 BARITO KUALA I. Maju & Pangsa Naik 1
## 8 BARITO KUALA III. Lambat, Pangsa Naik 1
## 9 BARITO KUALA IV. Lambat & Pangsa Turun 1
## 10 TAPIN I. Maju & Pangsa Naik 1
## # ℹ 18 more rows
##
## $sektor_unggulan
## # A tibble: 19 × 4
## daerah sektor RPr RPs
## <fct> <fct> <dbl> <dbl>
## 1 TANAH LAUT Pertanian 1.27 1.00
## 2 TANAH LAUT Jasa 1.22 1.01
## 3 KOTABARU Pertanian 1.44 1.01
## 4 KOTABARU Jasa 1.21 1.01
## 5 BANJAR Industri 1.11 1.01
## 6 BANJAR Jasa 1.02 1.00
## 7 BARITO KUALA Jasa 1.10 1.02
## 8 TAPIN Industri 1.29 1.18
## 9 HULU SUNGAI SELATAN Industri 1.67 1.05
## 10 HULU SUNGAI SELATAN Jasa 1.10 1.00
## 11 HULU SUNGAI TENGAH Jasa 1.28 1.03
## 12 HULU SUNGAI UTARA Jasa 1.12 1.01
## 13 TABALONG Jasa 1.61 1.04
## 14 TABALONG Pertanian 1.63 1.01
## 15 TANAH BUMBU Pertanian 1.89 1.01
## 16 TANAH BUMBU Industri 1.26 1.00
## 17 KOTA BANJARMASIN Pertanian 1.42 1.00
## 18 KOTA BANJARMASIN Jasa 1.33 1.01
## 19 KOTA BANJARBARU Jasa 1.74 1.02
Tujuan peta: menampilkan jumlah sektor kategori I (RPr>1 & RPs>1) per daerah.
peta_mrp <- peta %>%
mutate(daerah = KAB_KOTA) %>%
mutate(
daerah = daerah %>%
stringr::str_squish() %>%
stringr::str_to_title()
)
mrp_map <- mrp %>%
mutate(
daerah = daerah %>%
stringr::str_squish() %>%
stringr::str_to_title()
) %>%
mutate(kat_I = (RPr > 1 & RPs > 1)) %>%
group_by(daerah) %>%
summarise(n_kategori_I = sum(kat_I, na.rm = TRUE), .groups = "drop")
peta_mrp_data <- peta_mrp %>%
left_join(mrp_map, by = "daerah")
ggplot() +
# layer isi peta (diwarnai berdasarkan n_kategori_I)
geom_sf(data = peta_mrp_data,
aes(fill = n_kategori_I),
color = "grey30", size = 0.3) + # <<< garis batas administrasi muncul
# kalau mau, bisa tambah layer batas admin murni (tanpa fill)
# geom_sf(data = peta_mrp, fill = NA, color = "black", size = 0.4) +
scale_fill_viridis_c(option = "C", na.value = "grey90") +
labs(
title = "Peta MRP: Jumlah Sektor Kategori I (RPr > 1 & RPs > 1)",
fill = "Jumlah Sektor\nKategori I"
) +
# label nama kab/kota
geom_sf_text(
data = peta_label,
aes(label = KAB_KOTA),
size = 2
) +
theme_minimal()
Peta ini menampilkan sebaran jumlah sektor ekonomi yang termasuk Kategori I pada setiap kabupaten/kota di Provinsi Kalimantan Selatan, yaitu sektor dengan Rasio Pertumbuhan (RPr) > 1 dan Rasio Pangsa (RPs) > 1. Sektor pada Kategori I dikategorikan sebagai sektor potensial dan dinamis karena tumbuh lebih cepat sekaligus mengalami peningkatan pangsa terhadap total PDRB dibandingkan wilayah acuan (provinsi).
Warna pada peta merepresentasikan banyaknya sektor Kategori I di masing-masing daerah. Wilayah dengan warna lebih cerah (nilai legenda lebih tinggi) memiliki lebih banyak sektor potensial, yang menunjukkan aktivitas ekonomi yang lebih dinamis dan terdiversifikasi. Daerah seperti Tanah Laut, Tanah Bumbu, Kotabaru, dan Tabalong termasuk dalam kelompok ini, sehingga dapat dianggap memiliki basis pertumbuhan sektoral yang kuat.
Sebaliknya, wilayah yang ditampilkan dengan warna lebih gelap memiliki jumlah sektor Kategori I yang lebih sedikit, menandakan bahwa hanya sebagian kecil sektor yang tumbuh lebih cepat dan memperbesar pangsanya. Beberapa kabupaten/kota di wilayah tengah seperti Hulu Sungai Selatan, Hulu Sungai Tengah, serta beberapa wilayah lain yang bernuansa lebih gelap pada peta, mencerminkan perlunya dorongan pengembangan sektor baru agar kinerjanya dapat menyamai atau melampaui rata-rata provinsi.
Secara keseluruhan, peta ini mengilustrasikan adanya perbedaan kapasitas pertumbuhan sektoral antarwilayah di Kalimantan Selatan. Wilayah dengan jumlah sektor Kategori I yang tinggi berpotensi menjadi lokomotif pertumbuhan ekonomi regional, sedangkan wilayah dengan jumlah sektor potensial yang rendah memerlukan perhatian khusus melalui kebijakan penguatan struktur ekonomi dan pengembangan sektor unggulan baru. Hasil ini dapat dimanfaatkan sebagai bahan pertimbangan dalam perencanaan pembangunan ekonomi daerah yang lebih terarah dan berbasis data.
# --- MENYIAPKAN DATA UNTUK LEAFLET (CRS & GEOMETRI VALID) ---
peta_mrp_leaf <- peta_mrp_data %>%
st_make_valid() %>%
filter(!st_is_empty(geometry))
# Pastikan CRS = WGS84 (EPSG:4326) untuk leaflet
if (is.na(st_crs(peta_mrp_leaf)) || st_crs(peta_mrp_leaf)$epsg != 4326) {
peta_mrp_leaf <- st_transform(peta_mrp_leaf, 4326)
}
# --- PALET WARNA BERDASARKAN n_kategori_I (NUMERIK) ---
pal_mrp <- colorNumeric(
palette = viridisLite::viridis(7), # bisa diubah sesuai selera
domain = peta_mrp_leaf$n_kategori_I,
na.color = "grey90"
)
# --- PETA LEAFLET MRP: JUMLAH SEKTOR KATEGORI I (RPr > 1 & RPs > 1) ---
leaflet(peta_mrp_leaf) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(
fillColor = ~pal_mrp(n_kategori_I),
color = "#444444",
weight = 1,
fillOpacity = 0.7,
# LABEL (hover)
label = ~paste0(
"<b>", KAB_KOTA, "</b><br>",
"Jumlah sektor kategori I (RPr > 1 & RPs > 1): ", n_kategori_I
) %>% lapply(htmltools::HTML),
# POPUP (klik)
popup = ~paste0(
"<b>Kabupaten/Kota:</b> ", KAB_KOTA,
"<br><b>Jumlah sektor kategori I (RPr > 1 & RPs > 1):</b> ", n_kategori_I
),
highlightOptions = highlightOptions(
weight = 2,
color = "black",
bringToFront = TRUE
)
) %>%
addLegend(
pal = pal_mrp,
values = ~n_kategori_I,
title = "Jumlah Sektor\nKategori I",
opacity = 1
) %>%
addScaleBar(position = "bottomleft")
Badan Pusat Statistik (BPS). (2025). Produk Domestik Regional Bruto per Kapita Atas Dasar Harga Konstan 2010 Menurut Kabupaten/Kota di Provinsi Kalimantan Selatan (ribu rupiah), 2022. diakses melalui: https://kalsel.bps.go.id/id/statistics-table/3/T1hBNVYwVjBjMU5oTTA5SFVuWjRVSGhuYUhsV1p6MDkjMyM2MzAw/produk-domestik-regional-bruto-per-kapita-atas-dasar-harga-konstan-2010-menurut-kabupaten-kota-di-provinsi-kalimantan-selatan--ribu-rupiah-.html?year=2022.
Badan Pusat Statistik (BPS). (2025). Publikasi Produk Domestik Regional Bruto 2020-2024.
Badan Pusat Statistik (BPS). (2025). Laju Pertumbuhan Produk Domestik Regional Bruto Atas Dasar Harga Konstan 2010 Menurut Kabupaten/Kota di Provinsi Kalimantan Selatan (persen), 2022. diakses melalui: https://kalsel.bps.go.id/id/statistics-table/3/WnpCcmNtcE1ibkF5VjFSelJHMUVhRE52WjNWSVp6MDkjMw==/laju-pertumbuhan-produk-domestik-regional-bruto-atas-dasar-harga-konstan-2010--menurut-kabupaten-kota-di-provinsi-kalimantan-selatan--2018.html?year=2022.