SOAL

Berikut data jumlah pengunjung Perpustakaan Daerah Kabupaten Serang, Januari 2023-Juni 2024 (orang/bulan)

Tahun Jan Feb Mar Apr Mei Jun Jul Agu Sep Okt Nov Des
2023 210 195 220 205 230 215 240 225 250 235 245 260
2024 255 265 270 280 275 290 - - - - - -
  1. Buat objek ts dan plot data diatas. Apakah data menunjukkan tren yang cukup jelas?
  2. Hitung dan plot SMA(3). Bandingkan dengan data asli pada 6 bulan terakhir - apakah SMA terlihat tertinggal?
  3. Hitung Double Moving Average dengan m = 3 (Hitung M’t, M”t, at, dan bt)!
  4. Gunakan hasil DMA untuk meramalkan jumlah pengunjung 1 dan 2 bulan setelah data terakhir. Bandingkan dengan ramalan SMA biasa, lalu jelaskan mengapa hasilnya berbeda!
#1. Buat objek ts dan plot data diatas. Apakah data menunjukkan tren yang cukup jelas?

# Data Jumlah Pengunjung Perpustakaan Daerah Kabupaten Serang Januari 2023 - Juni 2024
pengunjung <- c(
  210, 195, 220, 205, 230, 215,
  240, 225, 250, 235, 245, 260,
  255, 265, 270, 280, 275, 290
)

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

# Plot data asli
plot(
  pengunjung_ts,
  main = "Jumlah Pengunjung Perpustakaan Daerah Kabupaten Serang",
  xlab = "Tahun",
  ylab = "Jumlah Pengunjung (orang)",
  type = "o"
)

Berdasarkan grafik, jumlah pengunjung Perpustakaan Daerah Kabupaten Serang selama Januari 2023 sampai Juni 2024 menunjukkan pola yang cenderung meningkat. Walaupun terdapat beberapa penurunan pada bulan tertentu, secara umum jumlah pengunjung naik dari sekitar 210 orang pada awal 2023 menjadi 290 orang pada Juni 2024. Jadi, data menunjukkan adanya tren naik yang cukup jelas dari waktu ke waktu.

#2. Hitung dan plot SMA(3). Bandingkan dengan data asli pada 6 bulan terakhir - apakah SMA terlihat tertinggal?
library(zoo)
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
# Single Moving Average, orde 3
sma3 <- rollmean(pengunjung_ts, k = 3, align = "right", fill = NA)
print(sma3)
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2023       NA       NA 208.3333 206.6667 218.3333 216.6667 228.3333 226.6667
## 2024 253.3333 260.0000 263.3333 271.6667 275.0000 281.6667                  
##           Sep      Oct      Nov      Dec
## 2023 238.3333 236.6667 243.3333 246.6667
## 2024
# Plot data aktual dan SMA(3)
ts.plot(
  pengunjung_ts,
  sma3,
  col = c("red", "blue"),
  lty = c(1, 1),
  lwd = c(2, 2),
  main = "Perbandingan Data Aktual dan SMA(3)",
  xlab = "Tahun",
  ylab = "Jumlah Pengunjung"
)

legend(
  "topleft",
  legend = c("Data Aktual", "SMA(3)"),
  col = c("red", "blue"),
  lty = 1,
  lwd = 2
)

SMA(3) mengikuti pola data aktual, tetapi terlihat sedikit tertinggal. Hal ini karena SMA menggunakan rata-rata tiga bulan sebelumnya, sehingga kurang cepat mengikuti perubahan data aktual.

#3. Hitung Double Moving Average dengan m = 3 (Hitung M't, M"t, at, dan bt)!
m <- 3

Mp <- rollmean(pengunjung_ts,k = m,align = "right",fill = NA) # Moving Average pertama
Mpp <- rollmean(Mp,k = m,align = "right",fill = NA) # Moving Average kedua
a_t <- 2 * Mp - Mpp # Menghitung a_t
b_t <- (2 / (m - 1)) * (Mp - Mpp) # Menghitung b_t

# Mengambil nilai terakhir yang tersedia
a_last <- tail(na.omit(a_t), 1); b_last <- tail(na.omit(b_t), 1)


forecast_1 <- a_last + b_last * 1 
forecast_2 <- a_last + b_last * 2

cat("Ramalan 1 bulan kedepan:", forecast_1)
## Ramalan 1 bulan kedepan: 292.7778
cat ("Ramalan 2 bulan kedepan:", forecast_2)
## Ramalan 2 bulan kedepan: 298.3333
hasil_forecast_dma <- data.frame(
  Periode = c("Juli 2024", "Agustus 2024"),
  Horizon = c(1, 2),
  Forecast_DMA = c(forecast_1, forecast_2)
)

hasil_forecast_dma
##        Periode Horizon Forecast_DMA
## 1    Juli 2024       1     292.7778
## 2 Agustus 2024       2     298.3333

Berdasarkan hasil peramalan DMA(3), jumlah pengunjung diperkirakan sebesar 292,78 orang pada Juli 2024 dan meningkat menjadi 298,33 orang pada Agustus 2024. Hasil ini menunjukkan bahwa jumlah pengunjung diperkirakan terus mengalami peningkatan setelah Juni 2024, sesuai dengan tren kenaikan pada data sebelumnya.

#4. Gunakan hasil DMA untuk meramalkan jumlah pengunjung 1 dan 2 bulan setelah data terakhir. Bandingkan dengan ramalan SMA biasa, lalu jelaskan mengapa hasilnya berbeda!

# Nilai SMA(3) terakhir
sma_last <- tail(na.omit(sma3), 1)

# Ramalan SMA untuk 1 dan 2 bulan ke depan
forecast_sma_1 <- sma_last
forecast_sma_2 <- sma_last

hasil_perbandingan <- data.frame(
  Periode = c("Juli 2024", "Agustus 2024"),
  Forecast_SMA3 = c(
    forecast_sma_1,
    forecast_sma_2
  ),
  Forecast_DMA3 = c(
    forecast_1,
    forecast_2
  )
)

hasil_perbandingan
##        Periode Forecast_SMA3 Forecast_DMA3
## 1    Juli 2024      281.6667      292.7778
## 2 Agustus 2024      281.6667      298.3333

Berdasarkan perbandingan hasil ramalan, SMA(3) memberikan nilai yang sama untuk Juli dan Agustus 2024, yaitu 281,67 orang. Sementara itu, DMA(3) menghasilkan 292,78 orang pada Juli dan meningkat menjadi 298,33 orang pada Agustus. Perbedaan ini terjadi karena DMA(3) mempertimbangkan tren kenaikan data, sedangkan SMA(3) hanya menggunakan rata-rata tiga periode terakhir.