ANALISIS DERET WAKTU (KONSEP DASAR RUNTUN WAKTU)

# NOMOR 1: Bikin objek ts dan plot
# Gabungkan data 
jumlah <- 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 (ts)
ts_kendaraan <- ts(jumlah, start = c(2023, 1), frequency = 12)
ts_kendaraan 
##      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 runtun waktu 
plot(ts_kendaraan,
     main = "Jumlah kendaraan yang Menyeberang Merak-Bakauheni 2023-2024",
     xlab = "Tahun",
     ylab = "Jumlah Kendaraan (Ribuan)",
     col = "Blue")

# NOMOR 2: Ada tren apa tidak?
# Bandingin rata-rata tahun 2023 dan 2024
mean(window(ts_kendaraan, start = c(2023,1), end = c(2023,12)))
## [1] 488.3333
mean(window(ts_kendaraan, start = c(2024,1), end = c(2024,12)))
## [1] 520.4167
# NOMOR 3: Bulan mana yang paling ramai?
data_berlabel <- as.vector(ts_kendaraan)
names(data_berlabel) <- paste(rep(c("2023","2024"), each = 12), month.abb)

sort(data_berlabel, decreasing = TRUE)
## 2024 Apr 2023 Apr 2024 Dec 2023 Dec 2024 Aug 2024 Jun 2024 Jul 2024 May 
##      820      780      640      600      510      500      495      490 
## 2024 Nov 2023 Aug 2024 Oct 2023 Jun 2024 Sep 2023 May 2023 Jul 2023 Nov 
##      490      480      480      470      470      460      460      460 
## 2024 Mar 2023 Oct 2024 Jan 2023 Sep 2024 Feb 2023 Mar 2023 Jan 2023 Feb 
##      460      450      450      440      440      430      420      410
# NOMOR 4: Musiman atau siklis?
bulan <- factor(rep(month.abb, 2), levels = month.abb)
tahun <- rep(c("2023", "2024"), each = 12)

df <- data.frame(Tahun = tahun,
                 Bulan = bulan, 
                 Kendaraan = jumlah)

boxplot(Kendaraan ~ Bulan, 
        data = df,
        main = "Boxplot Jumlah Kendaraan per Bulan",
        xlab = "Bulan",
        ylab = "Jumlah Kendaraan (Ribuan)")

# Plot yang lebih visual 
library(forecast)
## Warning: package 'forecast' was built under R version 4.4.3
ggseasonplot(ts_kendaraan, year.labels = TRUE,
             main = "Seasonal Plot Jumlah Kendaraan",
             xlab = "Bulan",
             ylab = "Jumlah Kendaraan (Ribuan)")

PENJELASAN

NOMOR 1:

Input dan gabungkan data kendaraan dari Januari 2023 - Desember 2024, kemudian ubah jadi objek time series pakai fungsi ts(), dengan frequency = 12 (karena datanya bulanan, jadi dalam satu tahun ada 12 pengamatan/titik). Dari grafik terlihat bahwa jumlah kendaraan ini naik turun kayak gunung yang berulang tiap tahun, dan ada tonjolan tinggi banget di beberapa titik.

NOMOR 2:

Kesimpulannya, iya, data menunjukkan adanya tren naik, karena jumlah kendaraan pada tahun 2024 lebih tinggi dibandingkan tahun 2023 walaupun kenaikannya tidak drastis. Rata-rata tahun 2023 sekitar 488 ribu, sedangkan tahun 2024 sekitar 520 ribu. Jadi ada kenaikan sekitar 32 ribu kendaraan dari tahun ke tahun.

NOMOR 3:

Bulan yang paling ramai (puncak) adalah bulan April dan Desember. Bulan April memiliki jumlah kendaraan paling tinggi, yaitu (780 di 2023, 820 di 2024), biasanya karena arus mudik dan balik lebaran. Lalu yang kedua paling tinggi itu bulan Desember (600 di 2023, 640 di 2024), biasanya karena libur Natal dan tahun baru.

NOMOR 4:

Dari seasonal plot dan boxplot, menurut saya datanya termasuk pola musiman bukan siklis, karena pola naik turunnya berulang di bulan yang sama setiap tahun. Contohnya April selalu mengalami kenaikan yang tinggi karena biasanya ada arus mudik/balik lebaran, dan Desember juga naik karena libur natal/tahun baru.

Note:

  • Musiman = polanya berulang di waktu yang sama, “setiap kapan?.”

  • Siklis = naik-turunnya terjadi dalam jangka panjang, tapi waktunya tidak tetap, “naik-turun dalam jangka panjang.”