library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(forecast)
## Warning: package 'forecast' was built under R version 4.4.3

1. Objek Time Series dan Plot Runtun Waktu

Data Jumlah Kendaraan Pelabuhan Merak-Bakauheni (ribuan kendaraan)

kendaraan <- c(
  420, 410, 430, 780, 460, 470, 460, 480, 440, 450, 460, 600,
  450, 440, 460, 820, 490, 500, 495, 510, 470, 480, 490, 640
)

# Membuat objek time series
kendaraan_ts <- ts(
  kendaraan,
  start = c(2023, 1),
  frequency = 12
)

Plot Runtun Waktu

# Membuat data frame untuk ggplot
data_kendaraan <- data.frame(
  Waktu = time(kendaraan_ts),
  Kendaraan = as.numeric(kendaraan_ts)
)
ggplot(data_kendaraan, aes(x = Waktu, y = Kendaraan)) +
  geom_line(linewidth = 1.2) +
  geom_point(size = 3) +
  geom_hline(
    yintercept = mean(kendaraan),
    linetype = "dashed",
    linewidth = 0.8
  ) +
  geom_text(
    aes(label = Kendaraan),
    vjust = -0.8,
    size = 3.2
  ) +
  labs(
    title = "Jumlah Kendaraan yang Menyeberang",
    subtitle = "Pelabuhan Merak–Bakauheni, Januari 2023–Desember 2024",
    x = "Tahun",
    y = "Jumlah Kendaraan (ribu)",
    caption = "Sumber: Dinas Perhubungan"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(
      size = 16,
      face = "bold"
    ),
    plot.subtitle = element_text(
      size = 11
    ),
    axis.title = element_text(
      size = 11,
      face = "bold"
    ),
    axis.text = element_text(
      size = 10
    ),
    panel.grid.minor = element_blank(),
    plot.caption = element_text(
      hjust = 0
    )
  )
## Don't know how to automatically pick scale for object of type <ts>. Defaulting
## to continuous.

2.Identifikasi Tren

3. Kaitannya dengan peristiwa nyata

Pada 2023, pemerintah menetapkan 1 Syawal 1444 H pada 22 April 2023. Periode menjelang Lebaran memang menjadi masa peningkatan arus kendaraan di lintas Merak–Bakauheni, Maka bisa Simpulkan mengapa terdapat lonjakan tren pada bulan April bisa di karenakan oleh Arus mudik lebaran.

Lalu terdapat juga lonjakan pada bulan desember di tahun 2023 dan 2024 kenaikan ini dapat dikaitkan dengan libur Natal dan Tahun Baru yang jatuh di bulan Desember.

4.Seasonal plot & Boxplot per bulan

Seasonal Plot

ggseasonplot(
  kendaraan_ts,
  year.labels = TRUE,
  year.labels.left = TRUE
) +
  labs(
    title = "Seasonal Plot Jumlah Kendaraan",
    subtitle = "Pelabuhan Merak–Bakauheni, 2023–2024",
    x = "Bulan",
    y = "Jumlah Kendaraan (ribu)"
  ) +
  theme_minimal()

Dapat dilihat bahwa grafik diatas yang menujukan adanya pola berulang pada tahun 2023 dan 2024 yang mengalami lonjakan di bulan April berdasarkan Analisis pada grafik diatas maka dapat dikatakan bahwa data jumlah kendaraan Pelabuhan Merak–Bakauheni menunjukkan adanya komponen musiman (seasonal)

Boxplot per bulan

library(ggplot2)

data_kendaraan$Bulan <- factor(
  cycle(kendaraan_ts),
  levels = 1:12,
  labels = month.abb
)

ggplot(data_kendaraan, aes(x = Bulan, y = Kendaraan)) +
  geom_boxplot() +
  labs(
    title = "Distribusi Jumlah Kendaraan Berdasarkan Bulan",
    subtitle = "Pelabuhan Merak–Bakauheni, 2023–2024",
    x = "Bulan",
    y = "Jumlah Kendaraan (ribu)"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", size = 15),
    plot.subtitle = element_text(size = 11),
    axis.title = element_text(face = "bold")
  )

Berdasarkan boxplot jumlah kendaraan berdasarkan bulan, terlihat adanya perbedaan tingkat jumlah kendaraan antarbulan. April memiliki median jumlah kendaraan paling tinggi.Dan Desember juga menunjukkan median yang relatif tinggi, Pola perbedaan jumlah kendaraan pada bulan-bulan tertentu ini mengindikasikan adanya pola musiman, karena tingkat kendaraan cenderung tinggi pada periode tertentu dan lebih rendah pada periode lainnya yang berulang setiap tahun.