1 Pendahuluan

1.1 Sumber Data

Data yang digunakan berasal dari Berita Resmi Statistik (BRS) Badan Pusat Statistik Provinsi Banten, 5 Mei 2026, yang memuat empat topik:

  1. Pertumbuhan Ekonomi Banten Triwulan I-2026
  2. Keadaan Ketenagakerjaan Banten Februari 2026 (Sakernas)
  3. Indeks Ketimpangan Gender (IKG) Banten 2025
  4. Hasil Survei Penduduk Antar Sensus (SUPAS) 2025 Banten

Link data: https://banten.bps.go.id (ganti dengan link langsung ke berkas BRS yang kalian pakai)

Data mentah sudah dirapikan lebih dulu di Microsoft Excel (data_banten.xlsx) dengan satu sheet per topik, lalu dibaca ke R menggunakan paket readxl.

1.2 Alasan Memilih Data

Kelompok kami memilih data ini karena:

  • Bersumber dari lembaga resmi (BPS), sehingga reliabel dan dapat dipertanggungjawabkan.
  • Data terbaru (2025-2026), sehingga relevan dengan kondisi saat ini.
  • Mencakup bidang ekonomi, ketenagakerjaan, dan kesehatan/kependudukan sekaligus.
  • Memuat variabel kategorik (lapangan usaha, tingkat pendidikan, status pekerjaan) dan variabel numerik (persentase, jumlah pengangguran, TFR, IMR, IKG) yang cocok untuk berbagai jenis grafik.
  • Banten adalah provinsi dengan kesenjangan antarwilayah yang menarik untuk dianalisis, misalnya Tangerang Raya vs Banten Selatan.

1.3 Import Data dari Excel

Catatan: Pastikan file data_banten.xlsx berada di folder kerja (working directory) yang sama dengan file .Rmd ini. Cek dengan getwd().

path_excel <- "data_banten.xlsx"

# Setiap sheet punya 1 baris judul + 1 baris kosong di atas header,
# sehingga data sesungguhnya dimulai dari baris ke-3 (skip = 2)
lapus      <- read_excel(path_excel, sheet = "LapanganUsaha",   skip = 2) %>% drop_na()
pendidikan <- read_excel(path_excel, sheet = "Pendidikan",      skip = 2) %>% drop_na()
status     <- read_excel(path_excel, sheet = "StatusPekerjaan", skip = 2) %>% drop_na()
tpt        <- read_excel(path_excel, sheet = "TPT",             skip = 2) %>% drop_na()
tpak       <- read_excel(path_excel, sheet = "TPAK",            skip = 2) %>% drop_na()
formal     <- read_excel(path_excel, sheet = "Formal",          skip = 2) %>% drop_na()
ekonomi    <- read_excel(path_excel, sheet = "Ekonomi",         skip = 2) %>% drop_na()
kabkota    <- read_excel(path_excel, sheet = "KabKota",         skip = 2) %>% drop_na()

names(lapus)      <- c("lapangan_usaha", "persen")
names(pendidikan) <- c("pendidikan", "persen")
names(status)     <- c("status", "persen")
names(tpt)        <- c("periode", "pengangguran", "tpt")
names(tpak)       <- c("periode", "jenis_kelamin", "tpak")
names(formal)     <- c("periode", "sektor", "persen")
names(ekonomi)    <- c("periode", "tahun", "qtoq", "yoy")
names(kabkota)    <- c("wilayah", "tfr", "imr", "lansia", "ikg2024", "ikg2025")

tpt$periode     <- factor(tpt$periode, levels = tpt$periode)
tpak$periode    <- factor(tpak$periode, levels = unique(tpak$periode))
formal$periode  <- factor(formal$periode, levels = unique(formal$periode))
ekonomi$periode <- factor(ekonomi$periode, levels = ekonomi$periode)

glimpse(lapus)
## Rows: 17
## Columns: 2
## $ lapangan_usaha <chr> "Perdagangan Besar dan Eceran", "Industri", "Pertanian"…
## $ persen         <dbl> 19.82, 18.55, 15.80, 8.60, 7.30, 6.46, 6.28, 5.93, 2.57…

2 Visualisasi Data Kategorik

Untuk data kategorik, kelompok kami menggunakan diagram batang (bar chart) dan diagram lingkaran (pie chart).

2.1 Diagram Batang (Bar Chart)

2.1.1 Lapangan Usaha Penduduk Bekerja

lapus %>%
  ggplot(aes(x = reorder(lapangan_usaha, persen), y = persen, fill = persen)) +
  geom_col(show.legend = FALSE) +
  geom_text(aes(label = paste0(persen, "%")), hjust = -0.1, size = 3.3) +
  coord_flip() +
  scale_fill_gradient(low = "#fdd49e", high = "#d94801") +
  scale_y_continuous(expand = expansion(mult = c(0, .12))) +
  labs(title = "Distribusi Penduduk Bekerja Menurut Lapangan Usaha",
       subtitle = "Banten, Februari 2026",
       x = NULL, y = "Persentase (%)",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)")

Interpretasi: Tiga lapangan usaha terbesar penyerap tenaga kerja Banten adalah Perdagangan (19,82%), Industri (18,55%), dan Pertanian (15,80%). Ketiganya menyerap sekitar 54,17% dari seluruh penduduk bekerja, sementara Listrik dan Gas (0,30%), Pertambangan (0,75%), dan Informasi-Komunikasi (0,77%) menyerap tenaga kerja paling sedikit.

2.1.2 Status Pekerjaan Utama

status %>%
  ggplot(aes(x = reorder(status, -persen), y = persen)) +
  geom_col(fill = "#2b8cbe") +
  geom_text(aes(label = paste0(persen, "%")), vjust = -0.4, size = 3.5) +
  scale_x_discrete(labels = function(x) str_wrap(x, 14)) +
  scale_y_continuous(expand = expansion(mult = c(0, .12))) +
  labs(title = "Penduduk Bekerja Menurut Status Pekerjaan Utama",
       subtitle = "Banten, Februari 2026",
       x = NULL, y = "Persentase (%)",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)")

Interpretasi: Hampir separuh pekerja (49,03%) berstatus buruh/karyawan/pegawai, diikuti berusaha sendiri (16,67%). Status yang paling jarang adalah berusaha dibantu buruh tetap (3,16%).

2.1.3 TPAK Menurut Jenis Kelamin

tpak %>%
  ggplot(aes(x = periode, y = tpak, fill = jenis_kelamin)) +
  geom_col(position = position_dodge(width = .8), width = .7) +
  geom_text(aes(label = tpak), position = position_dodge(width = .8),
            vjust = -0.4, size = 3.5) +
  scale_fill_manual(values = c("Laki-laki" = "#c2571a", "Perempuan" = "#fdb913"),
                    name = NULL) +
  scale_y_continuous(expand = expansion(mult = c(0, .12))) +
  labs(title = "Tingkat Partisipasi Angkatan Kerja (TPAK) Menurut Jenis Kelamin",
       x = NULL, y = "TPAK (%)",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)")

Interpretasi: TPAK laki-laki jauh lebih tinggi (83,41% pada Feb 2026) dibandingkan perempuan (46,11%), selisih sekitar 37 poin persentase. Kesenjangan partisipasi ini menjadi salah satu penyumbang ketimpangan gender di pasar tenaga kerja.

2.2 Diagram Lingkaran (Pie Chart)

2.2.1 Tingkat Pendidikan Penduduk Bekerja

pendidikan %>%
  mutate(pendidikan = factor(pendidikan, levels = pendidikan),
         label = paste0(persen, "%")) %>%
  ggplot(aes(x = "", y = persen, fill = pendidikan)) +
  geom_col(width = 1, color = "white") +
  coord_polar(theta = "y") +
  geom_text(aes(label = label), position = position_stack(vjust = 0.5),
            color = "white", fontface = "bold", size = 3.5) +
  scale_fill_brewer(palette = "Dark2", name = "Pendidikan") +
  labs(title = "Komposisi Penduduk Bekerja Menurut Tingkat Pendidikan",
       subtitle = "Banten, Februari 2026",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)") +
  theme_void(base_size = 12) +
  theme(plot.title = element_text(face = "bold"))

Interpretasi: Kelompok terbesar adalah lulusan SD ke bawah (35,74%), disusul SMA (22,62%) dan SMP (17,32%). Penduduk bekerja berpendidikan tinggi (Diploma ke atas) hanya sekitar 11,97%. Artinya, lebih dari separuh pekerja Banten berpendidikan SMP ke bawah.

2.2.2 Proporsi Pekerja Formal dan Informal (Februari 2026)

formal %>%
  filter(periode == "Feb 2026") %>%
  mutate(label = paste0(sektor, "\n", persen, "%")) %>%
  ggplot(aes(x = "", y = persen, fill = sektor)) +
  geom_col(width = 1, color = "white") +
  coord_polar(theta = "y") +
  geom_text(aes(label = label), position = position_stack(vjust = 0.5),
            color = "white", fontface = "bold", size = 4.5) +
  scale_fill_manual(values = c("Formal" = "#c2571a", "Informal" = "#fdb913"), name = NULL) +
  labs(title = "Proporsi Pekerja Formal dan Informal",
       subtitle = "Banten, Februari 2026",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)") +
  theme_void(base_size = 12) +
  theme(plot.title = element_text(face = "bold"), legend.position = "none")

Interpretasi: Pada Februari 2026, proporsi pekerja formal (52,19%) masih sedikit lebih besar dibanding informal (47,81%), meskipun formal sempat lebih tinggi (53,37%) setahun sebelumnya. Ini mengindikasikan sebagian tenaga kerja bergeser ke kegiatan informal.

3 Visualisasi Data Numerik

Untuk data numerik, kelompok kami menggunakan histogram, poligon frekuensi dan ogive, diagram garis (line chart), diagram pencar (scatter plot), dan box-and-whisker plot.

3.1 Histogram

ggplot(ekonomi, aes(x = qtoq)) +
  geom_histogram(binwidth = 0.5, boundary = 0.5, fill = "#31a354", color = "white") +
  geom_vline(aes(xintercept = mean(qtoq)), color = "red", linetype = "dashed", linewidth = 1) +
  scale_x_continuous(breaks = seq(0.5, 2.5, by = 0.5)) +
  labs(title = "Histogram Pertumbuhan Ekonomi Banten (q-to-q)",
       subtitle = paste0("Triwulan I-2023 s.d. Triwulan I-2026 (13 triwulan). Garis merah putus-putus = rata-rata (",
                         round(mean(ekonomi$qtoq), 2), "%)"),
       x = "Pertumbuhan q-to-q (%)", y = "Frekuensi (jumlah triwulan)",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026), diolah")

Interpretasi: Dari 13 triwulan pengamatan, sebagian besar pertumbuhan q-to-q berada pada kelas 1,00-1,50% dengan rata-rata sekitar 1.25%. Nilai di atas 2,00% hanya muncul sekali (Triwulan IV-2025). Distribusinya menjulur ke kanan (right-skewed) karena efek musiman akhir tahun.

3.2 Poligon Frekuensi dan Ogive

Poligon frekuensi dan ogive dibuat dari tabel distribusi frekuensi data pertumbuhan ekonomi q-to-q pada bagian Histogram di atas, dengan lebar kelas 0,5.

# Membuat tabel distribusi frekuensi
breaks_qtoq <- seq(0.5, 2.5, by = 0.5)
kelas <- cut(ekonomi$qtoq, breaks = breaks_qtoq, right = FALSE, include.lowest = TRUE)

tabel_frek <- tibble(kelas = kelas) %>%
  count(kelas, name = "frekuensi") %>%
  complete(kelas, fill = list(frekuensi = 0)) %>%
  mutate(
    batas_bawah   = breaks_qtoq[-length(breaks_qtoq)],
    batas_atas    = breaks_qtoq[-1],
    titik_tengah  = (batas_bawah + batas_atas) / 2,
    frek_kumulatif = cumsum(frekuensi)
  )

knitr::kable(
  tabel_frek %>% select(Kelas = kelas, `Titik Tengah` = titik_tengah,
                        Frekuensi = frekuensi, `Frekuensi Kumulatif` = frek_kumulatif),
  caption = "Tabel Distribusi Frekuensi Pertumbuhan Ekonomi q-to-q"
)
Tabel Distribusi Frekuensi Pertumbuhan Ekonomi q-to-q
Kelas Titik Tengah Frekuensi Frekuensi Kumulatif
[0.5,1) 0.75 4 4
[1,1.5) 1.25 6 10
[1.5,2) 1.75 2 12
[2,2.5] 2.25 1 13

3.2.1 Poligon Frekuensi

# Tambahkan titik semu berfrekuensi 0 di kedua ujung supaya poligon tertutup
poligon_data <- tabel_frek %>%
  select(titik_tengah, frekuensi) %>%
  add_row(titik_tengah = min(tabel_frek$titik_tengah) - 0.5, frekuensi = 0, .before = 1) %>%
  add_row(titik_tengah = max(tabel_frek$titik_tengah) + 0.5, frekuensi = 0)

ggplot(poligon_data, aes(x = titik_tengah, y = frekuensi)) +
  geom_line(color = "#08519c", linewidth = 1.2) +
  geom_point(data = tabel_frek, aes(x = titik_tengah, y = frekuensi),
             color = "#08519c", size = 3) +
  geom_text(data = tabel_frek, aes(x = titik_tengah, y = frekuensi, label = frekuensi),
            vjust = -1, size = 3.5) +
  scale_x_continuous(breaks = poligon_data$titik_tengah) +
  labs(title = "Poligon Frekuensi Pertumbuhan Ekonomi Banten (q-to-q)",
       x = "Titik Tengah Kelas (%)", y = "Frekuensi",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026), diolah")

Interpretasi: Poligon frekuensi menegaskan pola pada histogram: frekuensi memuncak pada titik tengah 1,25% (6 triwulan), lalu menurun tajam ke kelas dengan titik tengah 1,75% dan 2,25%. Bentuk kurva menjulur ke kanan (positively skewed).

3.2.2 Ogive (Kurva Frekuensi Kumulatif)

ogive_data <- tabel_frek %>%
  select(batas_atas, frek_kumulatif) %>%
  add_row(batas_atas = min(tabel_frek$batas_bawah), frek_kumulatif = 0, .before = 1)

ggplot(ogive_data, aes(x = batas_atas, y = frek_kumulatif)) +
  geom_line(color = "#c2571a", linewidth = 1.2) +
  geom_point(size = 3, color = "#c2571a") +
  geom_text(aes(label = frek_kumulatif), vjust = -1, size = 3.5) +
  scale_x_continuous(breaks = breaks_qtoq) +
  scale_y_continuous(breaks = seq(0, 13, by = 2)) +
  labs(title = "Ogive Pertumbuhan Ekonomi Banten (q-to-q)",
       x = "Batas Atas Kelas (%)", y = "Frekuensi Kumulatif",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026), diolah")

Interpretasi: Ogive naik curam antara batas kelas 1,00% dan 1,50%, menunjukkan bahwa 10 dari 13 triwulan (76,9%) memiliki pertumbuhan q-to-q di bawah 1,50%. Kurva melandai setelahnya, menandakan hanya sedikit triwulan dengan pertumbuhan tinggi (>1,50%).

3.3 Diagram Garis (Line Chart)

3.3.1 Pengangguran dan Tingkat Pengangguran Terbuka (TPT)

ggplot(tpt, aes(x = periode, group = 1)) +
  geom_col(aes(y = pengangguran), fill = "#fdae6b", width = .6) +
  geom_line(aes(y = tpt * 60), color = "#08519c", linewidth = 1.2) +
  geom_point(aes(y = tpt * 60), color = "#08519c", size = 3) +
  geom_text(aes(y = tpt * 60, label = paste0(tpt, "%")),
            vjust = -1, color = "#08519c", fontface = "bold") +
  geom_text(aes(y = pengangguran, label = pengangguran), vjust = 1.5, size = 3.3) +
  scale_y_continuous(name = "Pengangguran (ribu orang)",
                     sec.axis = sec_axis(~ . / 60, name = "TPT (%)")) +
  labs(title = "Jumlah Pengangguran dan Tingkat Pengangguran Terbuka (TPT)",
       subtitle = "Banten, Februari 2022 - Februari 2026", x = NULL,
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)")

Interpretasi: Jumlah pengangguran turun dari 504,26 ribu orang (Feb 2022) menjadi 411,24 ribu orang (Feb 2026). TPT ikut turun dari 8,53% menjadi 6,59%, namun penurunan mulai melandai (hanya 0,05 poin persentase dari Feb 2025 ke Feb 2026).

3.3.2 Pertumbuhan Ekonomi Triwulanan

ekonomi %>%
  pivot_longer(c(qtoq, yoy), names_to = "jenis", values_to = "nilai") %>%
  mutate(jenis = recode(jenis, qtoq = "q-to-q", yoy = "y-on-y")) %>%
  ggplot(aes(x = periode, y = nilai, group = jenis, color = jenis)) +
  geom_line(linewidth = 1) + geom_point(size = 2) +
  geom_text(aes(label = nilai), vjust = -0.9, size = 3, show.legend = FALSE) +
  scale_color_manual(values = c("q-to-q" = "#c2571a", "y-on-y" = "#08519c"), name = NULL) +
  scale_y_continuous(expand = expansion(mult = c(.05, .12))) +
  labs(title = "Pertumbuhan Ekonomi Banten Triwulanan (%)",
       subtitle = "Triwulan I-2023 s.d. Triwulan I-2026",
       x = NULL, y = "Pertumbuhan (%)",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Interpretasi: Pertumbuhan y-on-y naik bertahap dari 4,66% (Q1-2023) hingga 5,64% (Q1-2026). Pertumbuhan q-to-q berpola musiman: selalu tertinggi di Triwulan IV lalu turun di Triwulan I, sehingga penurunan q-to-q Q1-2026 (1,01%) dari Q4-2025 (2,22%) adalah pola musiman, bukan tanda perlambatan.

3.4 Diagram Pencar (Scatter Plot)

r <- cor(kabkota$tfr, kabkota$imr)

ggplot(kabkota, aes(x = tfr, y = imr)) +
  geom_smooth(method = "lm", se = TRUE, color = "#08519c", fill = "#c6dbef") +
  geom_point(size = 3.5, color = "#c2571a") +
  ggrepel::geom_text_repel(aes(label = wilayah), size = 3.3) +
  labs(title = "Hubungan TFR dan Angka Kematian Bayi (IMR) per Kabupaten/Kota",
       subtitle = paste0("Koefisien korelasi Pearson r = ", round(r, 2)),
       x = "TFR (anak per perempuan)", y = "IMR (per 1.000 kelahiran hidup)",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026), SUPAS 2025")

Interpretasi: Terdapat hubungan positif yang kuat antara TFR dan IMR (r = 0.89). Wilayah dengan TFR tinggi (Pandeglang, Lebak) juga memiliki IMR tinggi, menunjukkan pola disparitas Banten Utara vs Banten Selatan. Dengan hanya 8 titik data, korelasi ini bersifat deskriptif, bukan sebab-akibat.

3.5 Box-and-Whisker Plot

kabkota %>%
  select(wilayah, ikg2024, ikg2025) %>%
  pivot_longer(-wilayah, names_to = "tahun", values_to = "ikg") %>%
  mutate(tahun = str_remove(tahun, "ikg")) %>%
  ggplot(aes(x = tahun, y = ikg, fill = tahun)) +
  geom_boxplot(alpha = .7, show.legend = FALSE, outlier.colour = "red") +
  geom_jitter(width = .08, size = 2, alpha = .8) +
  scale_fill_manual(values = c("2024" = "#fdb913", "2025" = "#c2571a")) +
  labs(title = "Sebaran Indeks Ketimpangan Gender (IKG) 8 Kabupaten/Kota di Banten",
       subtitle = "Semakin kecil nilai IKG, semakin rendah ketimpangan gender",
       x = "Tahun", y = "IKG",
       caption = "Sumber: BPS Provinsi Banten (BRS 5 Mei 2026)")

Interpretasi: Median IKG kabupaten/kota turun dari 2024 ke 2025. Data terlihat bimodal: Tangerang Raya dan Cilegon berada di kelompok rendah (0,15-0,27), sedangkan Pandeglang, Lebak, Serang, dan Kota Serang di kelompok tinggi (0,48-0,55). Tidak ada outlier ekstrem yang terlihat pada boxplot ini. IKG Provinsi Banten sendiri turun dari 0,453 (2024) menjadi 0,418 (2025).

4 Kesimpulan

  1. Ketenagakerjaan: Pasar kerja Banten didominasi sektor perdagangan, industri, dan pertanian; TPT turun ke 6,59% namun penurunannya melandai, dan porsi pekerja informal kembali naik pada Februari 2026.
  2. Ekonomi: Pertumbuhan y-on-y meningkat hingga 5,64% pada Triwulan I-2026, dengan pola q-to-q yang musiman dan sebagian besar berada di kisaran 1,00-1,50% (histogram, poligon frekuensi, dan ogive).
  3. Gender: Kesenjangan TPAK laki-laki dan perempuan masih lebar (sekitar 37 poin), meskipun IKG Banten membaik menjadi 0,418.
  4. Kependudukan dan kesehatan: Scatter plot menunjukkan korelasi positif kuat antara TFR dan IMR; boxplot menunjukkan disparitas IKG antarwilayah yang jelas antara Tangerang Raya dan Banten Selatan.
  5. Implikasi: Kebijakan perlu memperkuat kualitas SDM, penciptaan lapangan kerja formal, partisipasi kerja perempuan, dan pemerataan layanan kesehatan Banten Selatan.

5 Referensi

Badan Pusat Statistik Provinsi Banten. (2026). Berita Resmi Statistik: Pertumbuhan Ekonomi Triwulan I-2026, Keadaan Ketenagakerjaan Februari 2026, Indeks Ketimpangan Gender 2025, dan Hasil SUPAS 2025 Provinsi Banten (5 Mei 2026). https://banten.bps.go.id