1.Buat objek ts dan plot runtun waktunya.

## Data

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)

kendaraan_ts <- ts(kendaraan, start = c(2023,1), frequency = 12)
print(kendaraan_ts)
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2023 420 410 430 780 460 470 460 480 440 450 460 600
## 2024 450 440 460 820 490 500 495 510 470 480 490 640
plot.ts(kendaraan_ts,
        main = "Jumlah Kendaraan Penyeberangan Merak-Bakauheni",
        xlab = "Waktu (Tahun-Bulan)",
        ylab = "Jumlah Kendaraan (ribuan)",
        col = "darkred", lwd = 2)
grid()

Dari plot terlihat data berulang dengan pola yang sama setiap tahun. Ada 2 lonjakan tajam, yaitu:

  1. Lonjakan paling tinggi sekitar bulan April (mencapai 780-820 ribu kendaraan)

  2. Lonjakan lebih kecil sekitar bulan Desember (mencapai 600-640 ribu kendaraan)

Di luar dua periode itu, jumlah kendaraan relatif stabil di kisaran 400-500 ribu. Level datanya juga sedikit lebih tinggi di 2024 dibanding 2023.

2. Identifikasi apakah data menunjukkan komponen tren, dan jelaskan alasannya

rata2_2023 <- mean(window(kendaraan_ts, start = c(2023,1), end = c(2023,12)))
rata2_2024 <- mean(window(kendaraan_ts, start = c(2024,1), end = c(2024,12)))

data.frame(Tahun = c(2023, 2024), Rata_rata = c(rata2_2023, rata2_2024))
##   Tahun Rata_rata
## 1  2023  488.3333
## 2  2024  520.4167

Interpretasi: Rata-rata kendaraan naik dari 488,33 ribu (2023) menjadi 520,42 ribu (2024). Ini menunjukkan adanya tren naik, karena hampir di setiap bulan nilai 2024 lebih tinggi dari bulan yang sama di 2023. Jadi di luar lonjakan musiman, level dasar datanya juga terus meningkat dari tahun ke tahun.

3. Identifikasi bulan-bulan puncak kunjungan — kaitkan dengan peristiwa nyata (Lebaran, libur Nataru).

df <- data.frame(
  Tahun = rep(c(2023, 2024), each = 12),
  Bulan = rep(month.abb, 2),
  Nilai = kendaraan
)

df_urut <- df[order(-df$Nilai), ]
head(df_urut, 6)
##    Tahun Bulan Nilai
## 16  2024   Apr   820
## 4   2023   Apr   780
## 24  2024   Dec   640
## 12  2023   Dec   600
## 20  2024   Aug   510
## 18  2024   Jun   500

Interpretasi:

4.Buat seasonal plot & boxplot per bulan, lalu simpulkan: musiman atau siklis?

ggseasonplot(kendaraan_ts, year.labels = TRUE) +
  labs(title = "Seasonal Plot Kendaraan per Bulan",
       y = "Ribuan kendaraan") +
  theme_minimal()

Interpretasi:

boxplot(kendaraan_ts ~ cycle(kendaraan_ts), names = month.abb,
        xlab = "Bulan", ylab = "Ribuan kendaraan",
        main = "Boxplot Jumlah Kendaraan per Bulan",
        col = "lightblue")

Interpretasi:

Dapat disimpulkan pola ini tergolong musiman, bukan siklis, karena lonjakan selalu terjadi di bulan yang sama setiap tahun (April dan Desember), sehingga periodenya tetap yaitu 12 bulan. Penyebabnya juga jelas, terkait hari besar seperti Lebaran dan libur Natal/Tahun Baru, bukan faktor ekonomi jangka panjang yang biasanya jadi ciri pola siklis.