data_kendaraan <- c(420,410,430,780,460,470,460,480,440,450,460,600, # 2023
450,440,460,820,490,500,495,510,470,480,490,640) # 2024
## 1. Buat objek ts dan plot runtun waktunya
ts_kendaraan <- ts(data_kendaraan, start = c(2023, 1), frequency = 12)
# Plot dasar
plot.ts(ts_kendaraan,
main = "Jumlah Kendaraan Penyeberangan Merak-Bakauheni (2023-2024)",
ylab = "Jumlah Kendaraan (ribuan)", xlab = "Tahun")
Interpretasi: Data menunjukan pola yang tajam dan berulang. Pada tahun 2023 maupun 2024 pola sama-sama menunjukkan adanya lonjakan besar dan pada akhir tahun terjadi lonjakan sedang di semua tahun.
## 2. Identifikasi komponen tren
library(forecast)
## Warning: package 'forecast' was built under R version 4.4.3
dekomposisi <- decompose(ts_kendaraan) # additive decomposition
plot(dekomposisi)
# Uji arah tren secara sederhana lewat regresi linier terhadap waktu
waktu <- as.numeric(time(ts_kendaraan))
model_tren <- lm(ts_kendaraan ~ waktu)
summary(model_tren)
##
## Call:
## lm(formula = ts_kendaraan ~ waktu)
##
## Residuals:
## Min 1Q Median 3Q Max
## -68.63 -51.54 -34.45 -15.86 305.70
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -68398.21 75055.08 -0.911 0.372
## waktu 34.04 37.08 0.918 0.369
##
## Residual standard error: 104.8 on 22 degrees of freedom
## Multiple R-squared: 0.03689, Adjusted R-squared: -0.006883
## F-statistic: 0.8428 on 1 and 22 DF, p-value: 0.3686
# Overlay garis tren pada plot data asli
plot(ts_kendaraan, main = "Data dan Garis Tren", col = "darkblue", lwd = 2)
lines(waktu, fitted(model_tren), col = "red", lwd = 2)
legend("topleft", legend = c("Data", "Tren (regresi)"),
col = c("darkblue", "red"), lty = 1, lwd = 2)
Interpretasi: Data Kendaraan yang menyebrang di pelabuhan Merak-Bakauheni pada tahun 2023 dan 2024 menunjukkan komponen tren setiap tahunnya. Terlihat adanya lonjakan pola pada pertangahan tahun dan lonjakkan pola sedang di akhir tahun.
## 3. Identifikasi bulan-bulan puncak kunjungan
bulan <- rep(month.abb, times = 2)
tahun <- rep(c(2023, 2024), each = 12)
df <- data.frame(tahun, bulan, nilai = data_kendaraan)
df_urut <- df[order(-df$nilai), ]
cat("\n5 nilai tertinggi (bulan-tahun):\n")
##
## 5 nilai tertinggi (bulan-tahun):
print(head(df_urut, 5))
## tahun bulan nilai
## 16 2024 Apr 820
## 4 2023 Apr 780
## 24 2024 Dec 640
## 12 2023 Dec 600
## 20 2024 Aug 510
# Rata-rata per bulan (gabungan 2023 & 2024) untuk melihat pola umum
rata_per_bulan <- tapply(data_kendaraan, rep(month.abb, 2), mean)
rata_per_bulan <- rata_per_bulan[month.abb] # urutkan Jan-Des
print(round(rata_per_bulan, 1))
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 435.0 425.0 445.0 800.0 475.0 485.0 477.5 495.0 455.0 465.0 475.0 620.0
Interpretasi: Kunjungan meningkat drastis pada sekitar bulan april, pada pola ini apat dikaitkan dengan arus mudik lebara. Selain itu, pada akhir tahun pola menunjukkan peningkatan sedang yang dapat dikaitkan dengan libur akhir tahun dan natal.
## 4. Seasonal plot & boxplot per bulan
library(ggplot2); library(forecast)
## Warning: package 'ggplot2' was built under R version 4.4.3
autoplot(ts_kendaraan) + theme_minimal()
ggseasonplot(ts_kendaraan, year.labels = TRUE)
boxplot(ts_kendaraan ~ cycle(ts_kendaraan), names = month.abb)
Interpretasi: Berdasarkan seasonal plot dan boxplot per bulan, terlihat bahwa terjadi lonjakan berulang yang konsisten pada bulan april dan desember setiap tahunnya. Dapat disimpulkan bahwa data menunjukkan tren musiman.