Analisis Data Kendaraan Menurut BPS (2025)

Informasi dan Ulasan Data

Sumber Data : Jumlah Kendaraan Bermotor Menurut Provinsi dan Jenis Kendaraan (unit), 2025 — Badan Pusat Statistik (BPS).

Data Excel :Jumlah Kendaraan Bermotor Menurut Provinsi dan Jenis Kendaraan (unit), 2025

Deskripsi : Analisis ini bertujuan untuk memberikan gambaran mengenai pola kepemilikan dan struktur jenis kendaraan bermotor di 3 provinsi (Jawa Timur, Jawa Tengah, dan DKI Jakarta), membandingkan proporsi kendaraan roda dua (sepeda motor) terhadap roda empat atau lebih, serta melihat potensi hubungan antarjenis kendaraan untuk mendukung perencanaan transportasi daerah. Perlu dicatat bahwa dengan hanya 3 provinsi, hasil analisis bersifat ilustratif dan tidak dapat digeneralisasi untuk seluruh Indonesia.

library(tidyverse)
library(readxl)
library(kableExtra)

# 1. Baca data LANGSUNG dari Google Sheets (tanpa perlu download file apapun)
#    Caranya: ambil ID spreadsheet dari link Google Sheets, lalu bentuk URL
#    export ke CSV. Sheet harus di-set "Anyone with the link can view".
sheet_id <- "1Olunxaak7KYOXJ7dkAu_xWolzftWAmfnVXON9chOAxA"
url_csv <- paste0("https://docs.google.com/spreadsheets/d/", sheet_id, "/export?format=csv")

data_raw <- read_csv(url_csv, skip = 2, show_col_types = FALSE)
colnames(data_raw)[1] <- "Jenis_Kendaraan"

# 2. Buang baris judul kelompok ("Kendaraan Roda 4 atau Lebih" / "Kendaraan Roda 2")
#    yang tidak memuat angka, dan baris kosong
data_wide <- data_raw %>%
  filter(!is.na(Jenis_Kendaraan)) %>%
  filter(!Jenis_Kendaraan %in% c("Kendaraan Roda 4 atau Lebih", "Kendaraan Roda 2")) %>%
  mutate(across(-Jenis_Kendaraan, ~ as.numeric(gsub("[^0-9]", "", as.character(.)))))

# 3. Bentuk tabel tampilan (Jenis Kendaraan sebagai baris) -- sesuai struktur asli file
df_tabel_final <- data_wide

df_tabel_final %>%
  kbl(
    format = "html",
    caption = "<b>Tabel Jumlah Kendaraan Bermotor Menurut Jenis dan Provinsi (3 Provinsi)</b>",
    col.names = c("Jenis Kendaraan", colnames(df_tabel_final)[-1]),
    format.args = list(big.mark = ".", decimal.mark = ",")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = TRUE,
    position = "center"
  ) %>%
  pack_rows("Kendaraan Roda 4 atau Lebih", 1, 3) %>%
  pack_rows("Kendaraan Roda 2", 4, 4) %>%
  row_spec(5, bold = TRUE, background = "#f2f2f2")
<b>Tabel Jumlah Kendaraan Bermotor Menurut Jenis dan Provinsi (3 Provinsi)</b>
Jenis Kendaraan JAWA TIMUR JAWA TENGAH DKI JAKARTA
Kendaraan Roda 4 atau Lebih
Mobil Penumpang 5.588.804 1.741.611 2.336.960
Bus 48.012 39.734 37.981
Truk 816.582 700.639 527.841
Kendaraan Roda 2
Sepeda Motor 20.246.077 19.838.639 9.376.276
Jumlah / Total 26.699.475 22.320.623 12.279.058
# 4. Ubah ke format Provinsi sebagai baris (dipakai untuk semua visualisasi di bawah)
data_clean <- data_wide %>%
  filter(Jenis_Kendaraan != "Jumlah / Total") %>%
  pivot_longer(-Jenis_Kendaraan, names_to = "Provinsi", values_to = "Nilai") %>%
  pivot_wider(names_from = Jenis_Kendaraan, values_from = Nilai) %>%
  mutate(Jumlah = `Mobil Penumpang` + Bus + Truk + `Sepeda Motor`)

1. Visualisasi Data Kategorik

1.1 Jumlah Kendaraan Bermotor (Bar Chart)

# 3. Data untuk Bar Chart
df_bar <- data_clean

# 4. Gambar Bar Chart
ggplot(df_bar, aes(x = Provinsi, y = Jumlah)) +
  geom_bar(stat = "identity", fill = "steelblue", color = "black") +
  scale_y_continuous(labels = scales::comma) +
  theme_minimal() +
  labs(
    title = "Jumlah Kendaraan Bermotor di 3 Provinsi",
    x = "Provinsi",
    y = "Jumlah (Unit)"
  ) +
  theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 9))

Interpretasi:

Diagram batang di atas membandingkan total jumlah kendaraan bermotor antara Jawa Timur, Jawa Tengah, dan DKI Jakarta:

  • Jawa Timur tertinggi — mencatat jumlah kendaraan terbanyak (26.699.475 unit) di antara ketiga provinsi ini, diikuti Jawa Tengah (22.320.623 unit).
  • DKI Jakarta terendah meski pusat ekonomi — justru mencatat jumlah kendaraan paling sedikit (12.279.058 unit) di antara ketiganya. Ini masuk akal karena wilayah Jakarta jauh lebih kecil dan padat dibanding Jawa Timur atau Jawa Tengah, sehingga jumlah penduduk dan kepemilikan kendaraan secara absolut lebih rendah meskipun tingkat kepadatan lalu lintasnya tinggi.

Catatan: karena hanya membandingkan 3 provinsi, kesimpulan ini terbatas pada ketiga wilayah tersebut dan tidak dapat digeneralisasi untuk seluruh Indonesia.

2. Visualisasi Data Numerik

2.1 Frekuensi Jumlah Kendaraan (Histogram)

# 1. Ambil data jumlah yang sudah bersih dari chunk 1
df_hist <- data_clean %>%
  select(Jumlah) %>%
  filter(!is.na(Jumlah))

# 2. Buat Histogram
ggplot(df_hist, aes(x = Jumlah)) +
  geom_histogram(bins = 15, fill = "darkorange", color = "black") +
  scale_x_continuous(labels = scales::comma) +
  theme_minimal() +
  labs(
    title = "Distribusi Frekuensi Jumlah Kendaraan",
    x = "Jumlah Kendaraan (Unit)",
    y = "Frekuensi"
  )

Interpretasi:

Histogram di atas menggambarkan sebaran total jumlah kendaraan bermotor pada 3 provinsi yang dianalisis (Jawa Timur, Jawa Tengah, DKI Jakarta):

  • Rentang nilai cukup lebar — ketiga provinsi memiliki jumlah kendaraan yang tersebar dari sekitar 12 juta (DKI Jakarta) hingga hampir 27 juta unit (Jawa Timur), menunjukkan variasi yang cukup besar meski jumlah wilayah yang dibandingkan sedikit.

Catatan keterbatasan: dengan hanya 3 data (n = 3), histogram ini tidak cukup untuk menyimpulkan bentuk distribusi (misalnya skewness) secara statistik. Histogram lebih bermakna digunakan pada data dengan jumlah observasi yang lebih banyak, sehingga di sini fungsinya lebih sebagai ilustrasi sebaran nilai ketimbang analisis distribusi yang solid.

2.2 Hubungan Mobil dan Motor (Scatter Plot)

# 1. Ambil data Mobil Penumpang dan Sepeda Motor dari data_clean
df_scatter <- data_clean %>%
  select(
    Mobil = `Mobil Penumpang`,
    Sepeda_Motor = `Sepeda Motor`
  )

# 2. Buat Scatter Plot dari tabel baru
ggplot(df_scatter, aes(x = Mobil, y = Sepeda_Motor)) +
  geom_point(color = "purple", size = 3, alpha = 0.7) +
  geom_smooth(method = "lm", color = "black", se = FALSE) +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  theme_minimal() +
  labs(
    title = "Hubungan Jumlah Mobil dan Sepeda Motor",
    x = "Jumlah Mobil",
    y = "Jumlah Sepeda Motor"
  )

Interpretasi:

Scatter plot di atas memperlihatkan hubungan antara dua variabel numerik, yaitu jumlah Mobil Penumpang (sumbu X) dan jumlah Sepeda Motor (sumbu Y), untuk 3 provinsi yang dianalisis:

  • Kecenderungan pola — titik-titik data menunjukkan bahwa provinsi dengan jumlah mobil penumpang lebih tinggi (Jawa Timur) juga cenderung memiliki jumlah sepeda motor yang lebih tinggi, sementara DKI Jakarta berada pada nilai yang lebih rendah untuk keduanya.

Catatan keterbatasan: dengan hanya 3 titik data (n = 3), garis regresi linier yang ditampilkan tidak dapat digunakan untuk menyimpulkan kekuatan korelasi secara statistik — dengan jumlah observasi sekecil ini, garis regresi hampir selalu tampak “pas” secara visual meski belum tentu mencerminkan hubungan yang sebenarnya. Scatter plot ini lebih berfungsi sebagai ilustrasi pola awal, dan akan lebih bermakna jika jumlah provinsi yang dibandingkan ditambah.

3. Kesimpulan

Berdasarkan analisis data jumlah kendaraan bermotor tahun 2025 pada 3 provinsi (Jawa Timur, Jawa Tengah, dan DKI Jakarta), dapat disimpulkan beberapa hal berikut:

  1. Distribusi jumlah kendaraan tidak merata di antara ketiga provinsi. Jawa Timur memiliki jumlah kendaraan bermotor tertinggi (26.699.475 unit), diikuti Jawa Tengah (22.320.623 unit), dan DKI Jakarta terendah (12.279.058 unit) — meskipun DKI Jakarta merupakan pusat ekonomi, luas wilayahnya yang jauh lebih kecil membuat jumlah kendaraan secara absolut lebih rendah.
  2. Sepeda motor mendominasi komposisi kendaraan di ketiga provinsi. Pada seluruh provinsi yang dianalisis, jumlah sepeda motor jauh melampaui jumlah mobil penumpang, bus, dan truk digabungkan — sejalan dengan pola umum ketergantungan masyarakat Indonesia terhadap sepeda motor sebagai moda transportasi utama.
  3. Terdapat kecenderungan hubungan positif antara jumlah mobil penumpang dan jumlah sepeda motor — provinsi dengan jumlah mobil lebih banyak juga cenderung memiliki jumlah motor yang lebih banyak, kemungkinan karena kedua jenis kendaraan ini sama-sama dipengaruhi oleh jumlah penduduk dan tingkat pendapatan daerah.
  4. Keterbatasan analisis: karena data yang dianalisis hanya mencakup 3 provinsi (n = 3), seluruh hasil histogram dan scatter plot bersifat ilustratif dan tidak dapat digunakan untuk menarik kesimpulan yang berlaku secara statistik maupun untuk seluruh Indonesia. Untuk analisis yang lebih representatif, disarankan menambah cakupan provinsi yang dibandingkan.