1. Pendahuluan

Tugas ini merupakan latihan mandiri mata kuliah Statistika untuk membuat visualisasi data menggunakan RStudio dan bahasa R. Bidang yang dipilih kelompok kami adalah Kependudukan, dengan topik Kepadatan Penduduk Menurut Kabupaten/Kota di Provinsi Banten (jiwa/km²), 2026.

Mengapa kelompok kami memilih data ini? Kepadatan penduduk adalah salah satu indikator dasar dalam ilmu kependudukan yang menggambarkan seberapa padat suatu wilayah dihuni penduduknya. Provinsi Banten menarik untuk dikaji karena terdiri dari wilayah yang sangat kontras — mulai dari kabupaten dengan wilayah luas dan berpenduduk relatif jarang (Kabupaten Lebak dan Pandeglang), hingga kota-kota penyangga Jakarta yang sangat padat (Kota Tangerang dan Kota Tangerang Selatan). Perbedaan ini membuat data tersebut relevan untuk dianalisis secara visual, baik menggunakan bar chart (perbandingan antar kabupaten/kota) maupun line chart (pola hubungan antara luas wilayah dan kepadatan penduduk).

Sumber data: Badan Pusat Statistik (BPS) Provinsi Banten — Tabel “Kepadatan Penduduk Menurut Kabupaten/Kota di Provinsi Banten” Link: https://banten.bps.go.id/id/statistics-table/2/MTA5IzI=/kepadatan-penduduk-banten--2026.html


2. Persiapan: Memuat Library

library(readxl)   
library(dplyr)     
library(ggplot2)   
library(scales)     
library(forcats)    

3. Import Data

data_banten <- read_excel("data_kepadatan_penduduk_banten.xlsx",
                           sheet = "Data", skip = 3)


colnames(data_banten) <- c("No", "Kabupaten_Kota", "Wilayah",
                            "Luas_Wilayah_km2", "Jumlah_Penduduk",
                            "Kepadatan_Penduduk")

data_banten

4. Struktur dan Ringkasan Data

str(data_banten)
## tibble [8 × 6] (S3: tbl_df/tbl/data.frame)
##  $ No                : num [1:8] 1 2 3 4 5 6 7 8
##  $ Kabupaten_Kota    : chr [1:8] "Kabupaten Pandeglang" "Kabupaten Lebak" "Kabupaten Tangerang" "Kabupaten Serang" ...
##  $ Wilayah           : chr [1:8] "Kabupaten" "Kabupaten" "Kabupaten" "Kabupaten" ...
##  $ Luas_Wilayah_km2  : num [1:8] 2747 3427 1012 1734 164 ...
##  $ Jumlah_Penduduk   : num [1:8] 1221400 1350700 3349000 1561000 1957349 ...
##  $ Kepadatan_Penduduk: num [1:8] 445 394 3310 900 11934 ...
summary(data_banten[, c("Luas_Wilayah_km2", "Jumlah_Penduduk", "Kepadatan_Penduduk")])
##  Luas_Wilayah_km2 Jumlah_Penduduk   Kepadatan_Penduduk
##  Min.   : 147.2   Min.   : 471200   Min.   :  394.2   
##  1st Qu.: 172.6   1st Qu.:1093800   1st Qu.:  786.2   
##  Median : 639.3   Median :1455850   Median : 2675.4   
##  Mean   :1209.1   Mean   :1546456   Mean   : 4278.1   
##  3rd Qu.:1987.4   3rd Qu.:1801837   3rd Qu.: 5454.8   
##  Max.   :3426.6   Max.   :3349000   Max.   :11934.4

Dataset terdiri dari 8 kabupaten/kota di Provinsi Banten (4 kabupaten dan 4 kota), dengan tiga variabel numerik: luas wilayah (km²), jumlah penduduk (jiwa), dan kepadatan penduduk (jiwa/km²), serta satu variabel kategorik yaitu nama kabupaten/kota.


5. Visualisasi Data Kategorik — Bar Chart

palet_gradasi <- c("#0B3D91", "#1F6FB2", "#3D9BC9", "#63C2C9",
                    "#9AD9C2", "#F4B942", "#F08A3C", "#D9502B")

data_bar <- data_banten %>%
  mutate(Kabupaten_Kota = fct_reorder(Kabupaten_Kota, Kepadatan_Penduduk))

ggplot(data_bar, aes(x = Kabupaten_Kota, y = Kepadatan_Penduduk,
                      fill = Kepadatan_Penduduk)) +
  geom_col(width = 0.7, color = "white") +
  geom_text(aes(label = comma(round(Kepadatan_Penduduk))),
            hjust = -0.15, size = 3.4, color = "#333333") +
  coord_flip() +
  scale_fill_gradientn(colors = palet_gradasi, guide = "none") +
  scale_y_continuous(labels = comma, expand = expansion(mult = c(0, 0.18))) +
  labs(
    title = "Kepadatan Penduduk Menurut Kabupaten/Kota di Provinsi Banten",
    subtitle = "Tahun 2026 (jiwa/km\u00b2)",
    x = NULL,
    y = "Kepadatan Penduduk (jiwa/km\u00b2)",
    caption = "Sumber: BPS Provinsi Banten"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(color = "grey40"),
    panel.grid.major.y = element_blank(),
    panel.grid.minor = element_blank()
  )

Interpretasi: Bar chart di atas memperlihatkan kesenjangan kepadatan penduduk yang sangat besar antar wilayah di Provinsi Banten. Kota Tangerang dan Kota Tangerang Selatan jauh mendominasi dengan kepadatan di atas 11.000 jiwa/km², karena keduanya merupakan kota penyangga Jakarta dengan wilayah sempit namun jumlah penduduk sangat besar. Sebaliknya, Kabupaten Lebak dan Kabupaten Pandeglang memiliki kepadatan di bawah 500 jiwa/km², sejalan dengan karakter wilayahnya yang luas, banyak lahan pertanian/hutan, dan kurang terurbanisasi. Pola ini menunjukkan konsentrasi penduduk yang timpang, terpusat di wilayah perkotaan pada koridor Tangerang Raya.


6. Visualisasi Data Numerik — Line Chart

data_line <- data_banten %>%
  arrange(Luas_Wilayah_km2) %>%
  mutate(Kabupaten_Kota = fct_reorder(Kabupaten_Kota, Luas_Wilayah_km2))

ggplot(data_line, aes(x = Kabupaten_Kota, y = Kepadatan_Penduduk, group = 1)) +
  geom_line(color = "#1F6FB2", linewidth = 1.2) +
  geom_point(aes(color = Kepadatan_Penduduk), size = 4) +
  geom_text(aes(label = comma(round(Kepadatan_Penduduk))),
            vjust = -1.1, size = 3.2, color = "#333333") +
  scale_color_gradientn(colors = palet_gradasi, guide = "none") +
  scale_y_continuous(labels = comma, expand = expansion(mult = c(0.08, 0.18))) +
  labs(
    title = "Hubungan Luas Wilayah dan Kepadatan Penduduk",
    subtitle = "Kabupaten/Kota diurutkan dari luas wilayah terkecil ke terbesar",
    x = "Kabupaten/Kota (urut luas wilayah)",
    y = "Kepadatan Penduduk (jiwa/km\u00b2)",
    caption = "Sumber: BPS Provinsi Banten"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(color = "grey40"),
    axis.text.x = element_text(angle = 40, hjust = 1),
    panel.grid.minor = element_blank()
  )

Interpretasi: Line chart ini memperjelas pola numerik yang terlihat sekilas pada bar chart: secara umum terdapat hubungan berbanding terbalik antara luas wilayah dan kepadatan penduduk. Kabupaten/kota dengan luas wilayah kecil (seperti Kota Tangerang Selatan dan Kota Tangerang) justru memiliki kepadatan penduduk tertinggi, sedangkan wilayah dengan luas terbesar (Kabupaten Lebak dan Pandeglang) memiliki kepadatan terendah. Pengecualian menarik terlihat pada Kabupaten Tangerang, yang meski tergolong wilayah kabupaten, memiliki kepadatan cukup tinggi (sekitar 3.300 jiwa/km²) karena berbatasan langsung dengan Kota Tangerang dan turut menjadi bagian dari kawasan industri serta permukiman padat di sekitar Jakarta.


7. Kesimpulan

Berdasarkan visualisasi bar chart dan line chart di atas, dapat disimpulkan bahwa:

  1. Kepadatan penduduk di Provinsi Banten sangat tidak merata, dengan kesenjangan besar antara wilayah kota (rata-rata di atas 2.500 jiwa/km²) dan wilayah kabupaten (rata-rata di bawah 1.000 jiwa/km²).
  2. Wilayah dengan luas paling kecil cenderung memiliki kepadatan penduduk paling tinggi, menandakan tingginya tekanan urbanisasi di kota-kota penyangga Jakarta seperti Kota Tangerang dan Kota Tangerang Selatan.
  3. Kabupaten Tangerang menjadi pengecualian menarik karena memiliki kepadatan yang jauh lebih tinggi dibanding kabupaten lain akibat kedekatannya dengan pusat industri dan Bandara Soekarno-Hatta.

8. Sumber Data