Pendahuluan

Inflasi merupakan indikator penting dalam menilai stabilitas ekonomi. Fluktuasi inflasi yang tinggi dapat memengaruhi kebijakan ekonomi dan kesejahteraan masyarakat. Oleh karena itu, analisis dan peramalan inflasi menjadi penting untuk mendukung perencanaan ekonomi. Penelitian ini bertujuan untuk memodelkan dan meramalkan inflasi bulanan menggunakan metode SARIMA (Seasonal Autoregressive Integrated Moving Average).

Deskripsi & Sumber Data

Data yang digunakan adalah data inflasi bulanan di Indonesia periode Januari 2020 hingga Desember 2025 yang diperoleh dari https://www.bi.go.id/id/statistik/indikator/data-inflasi.aspx Data berbentuk deret waktu dengan frekuensi bulanan.

Library

library(forecast)
## Warning: package 'forecast' was built under R version 4.4.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(tseries)
## Warning: package 'tseries' was built under R version 4.4.3
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(graphics)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
set.seed(123)

Import Data

library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
data <- read_excel("C:/Users/user/Downloads/Data Inflasi (1).xlsx")
View(data)
str(data)
## tibble [72 × 2] (S3: tbl_df/tbl/data.frame)
##  $ Periode: chr [1:72] "2020-01" "2020-02" "2020-03" "2020-04" ...
##  $ Inflasi: num [1:72] 2.68 2.98 2.96 2.67 2.19 1.96 1.54 1.32 1.42 1.44 ...

Membentuk data jadi time series

inflasi_ts <- ts(
  data$Inflasi,
  start = c(2020, 1),
  frequency = 12
)

Plot Inflasi Bulanan

par(mar = c(4, 4, 2, 1))
ts.plot(
  inflasi_ts,
  main = "Plot Inflasi Bulanan",
  ylab = "Inflasi (%)",
  xlab = "Tahun"
)

Interpretasi : Berdasarkan plot inflasi bulanan, data menunjukkan fluktuasi yang tidak konstan, adanya tren, serta perubahan level yang cukup signifikan, sehingga data tidak memenuhi asumsi stasioneritas pada level.

Metode Analisis

Metode yang digunakan adalah SARIMA dengan tahapan:

  1. Pembentukan Data Time Series

  2. Uji Stasioneritas

  3. Differencing & Seasonal Differencing

  4. Identifikasi Model Menggunakan ACF & PACF

  5. Estimasi Parameter

  6. Uji Diagnostik Residual

  7. Forecasting / Peramalan

Hasil & Pembahasan

Uji Stasioneritas Data (ADF)

adf.test(inflasi_ts)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  inflasi_ts
## Dickey-Fuller = -2.22, Lag order = 4, p-value = 0.4857
## alternative hypothesis: stationary

Interpretasi : Hasil uji ADF diatas menunjukan bahwa nilai p-value 0,4857 yang berarti >0,05 dapat disimpulkan bahwa data belum stasioner, maka selanjutnya akan dilakukan differencing.

Differencing Data

inflasi_diff <- diff(inflasi_ts)

Plot Setelah Differencing

ts.plot(
inflasi_diff,
main = "Plot Inflasi Setelah Diferensiasi",
ylab = "Perubahan Inflasi"
)

#Uji Stasioneritas Setelah Differencing
adf.test(inflasi_diff)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  inflasi_diff
## Dickey-Fuller = -2.3689, Lag order = 4, p-value = 0.4252
## alternative hypothesis: stationary

Interpretasi : Berdasarkan hasil uji Augmented Dickey-Fuller terhadap data inflasi yang telah dilakukan differencing satu kali, diperoleh nilai statistik ADF sebesar -2.3689 dengan p-value sebesar 0.4252. Karena nilai p-value lebih besar dari tingkat signifikansi 0,05, maka hipotesis nol tidak dapat ditolak. Dengan demikian, dapat disimpulkan bahwa data inflasi setelah differencing pertama masih belum stasioner, sehingga diperlukan proses differencing lanjutan, khususnya differencing musiman, sebelum pemodelan SARIMA dilakukan.

Cek Musiman

inflasi_sdiff <- diff(inflasi_ts, lag = 12)
plot(inflasi_sdiff,
     main = "Seasonal Differencing Inflasi",
     ylab = "Perubahan Musiman Inflasi")

Uji Stasioneritas Setelah Differencing

adf.test(inflasi_sdiff)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  inflasi_sdiff
## Dickey-Fuller = -3.1318, Lag order = 3, p-value = 0.1173
## alternative hypothesis: stationary

Interpretasi : Hasil uji Augmented Dickey-Fuller terhadap data inflasi setelah dilakukan seasonal differencing dengan lag 12 menghasilkan nilai statistik ADF sebesar -3.1318 dengan p-value sebesar 0.1173. Karena nilai p-value lebih besar dari tingkat signifikansi 5%, maka hipotesis nol tidak dapat ditolak. Dengan demikian, dapat disimpulkan bahwa data inflasi setelah seasonal differencing masih belum stasioner, sehingga diperlukan kombinasi differencing non-musiman dan musiman sebelum dilakukan pemodelan SARIMA.

Kombinasi Differencing (d=1, D=1)

inflasi_both <- diff(diff(inflasi_ts), lag = 12)
plot(inflasi_both,
     main = "Inflasi Setelah Differencing & Seasonal Differencing",
     ylab = "Inflasi Stasioner")

Uji Stasioneritas Setelah Kombinasi Differencing

adf.test(inflasi_both)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  inflasi_both
## Dickey-Fuller = -2.2887, Lag order = 3, p-value = 0.4581
## alternative hypothesis: stationary

Interpretasi : Hasil uji Augmented Dickey-Fuller terhadap data inflasi setelah dilakukan kombinasi differencing non-musiman dan musiman menghasilkan nilai statistik ADF sebesar -2.2887 dengan p-value sebesar 0.4581. Karena nilai p-value lebih besar dari tingkat signifikansi 5%, maka hipotesis nol tidak dapat ditolak, sehingga data inflasi setelah kombinasi differencing masih belum stasioner secara statistik. Oleh karena itu, pengujian stasioneritas dilanjutkan menggunakan uji KPSS sebagai uji pendukung.

Uji KPPS (Kwiatkowski–Phillips–Schmidt–Shin)

kpss.test(inflasi_both)
## Warning in kpss.test(inflasi_both): p-value greater than printed p-value
## 
##  KPSS Test for Level Stationarity
## 
## data:  inflasi_both
## KPSS Level = 0.13607, Truncation lag parameter = 3, p-value = 0.1

Interpretasi : Hipotesis KPSS: - H₀: Data stasioner - H₁: Data tidak stasioner Berdasarkan uji KPSS terhadap data inflasi setelah kombinasi differencing non-musiman dan musiman, diperoleh nilai statistik KPSS sebesar 0.13607 dengan p-value sebesar 0.1. Karena p-value lebih besar dari tingkat signifikansi 0,05, maka hipotesis nol tidak dapat ditolak, sehingga data inflasi dapat dinyatakan stasioner.

ACF & PACF

acf(inflasi_both)

pacf(inflasi_both)

Interpretasi : Berdasarkan plot ACF dan PACF dari data inflasi yang telah stasioner, terlihat adanya spike signifikan pada lag pertama pada kedua plot, sementara lag selanjutnya berada dalam batas kepercayaan. Pola ini mengindikasikan adanya komponen AR(1) dan MA(1) dalam model. Oleh karena itu, model awal yang dapat dipertimbangkan adalah SARIMA(1,1,1)(0,1,0)[12].

Menentukan Model SARIMA

model <- auto.arima(inflasi_ts, seasonal = TRUE)
summary(model)
## Series: inflasi_ts 
## ARIMA(1,1,1)(0,0,1)[12] 
## 
## Coefficients:
##           ar1     ma1     sma1
##       -0.5124  0.7325  -0.6473
## s.e.   0.2102  0.1576   0.1610
## 
## sigma^2 = 0.1253:  log likelihood = -28.81
## AIC=65.61   AICc=66.22   BIC=74.67
## 
## Training set error measures:
##                       ME      RMSE       MAE      MPE     MAPE      MASE
## Training set 0.006775217 0.3440338 0.2290071 6.682488 18.27881 0.1414497
##                     ACF1
## Training set -0.03714605

Interpretasi : Secara keseluruhan, model SARIMA(1,1,1)(0,0,1)[12] mampu menangkap dinamika non-musiman dan musiman pada data inflasi bulanan. Model ini selanjutnya layak digunakan untuk analisis residual dan peramalan.

Uji Residual

checkresiduals(model)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(1,1,1)(0,0,1)[12]
## Q* = 6.0556, df = 11, p-value = 0.8696
## 
## Model df: 3.   Total lags used: 14

Interpretasui : Hasil uji residual menggunakan uji Ljung–Box menunjukkan nilai p-value sebesar 0.8696, sehingga tidak terdapat autokorelasi pada residual. Selain itu, plot residual dan ACF residual menunjukkan pola acak di sekitar nol. Dengan demikian, residual model bersifat white noise dan model SARIMA dinyatakan layak. Meskipun pada output tertulis ARIMA, model tersebut tetap merupakan SARIMA karena mengandung komponen musiman dengan periode 12.

Forecasting

forecast_inflasi <- forecast(model, h = 12)
forecast_inflasi$mean
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2026 3.553783 3.961508 3.173276 2.631219 2.998649 2.997320 2.853465 2.889181
##           Sep      Oct      Nov      Dec
## 2026 2.836404 2.713495 2.823559 2.722341
plot(forecast_inflasi)

Interpretasi : Berdasarkan hasil peramalan menggunakan model SARIMA (1,1,1)(0,0,1)[12], inflasi tahun 2026 diperkirakan berada dalam kondisi relatif stabil dengan kecenderungan menurun. Inflasi pada Januari 2026 diproyeksikan sebesar 3,55%, meningkat hingga 3,96% pada Februari, kemudian mengalami penurunan dan bergerak stabil pada kisaran 2,6%–3,0% hingga akhir tahun, dengan inflasi Desember 2026 diperkirakan sebesar 2,72%. Grafik peramalan menunjukkan bahwa garis forecast mengikuti pola historis inflasi, sementara interval kepercayaan semakin melebar seiring bertambahnya periode ramalan. Hal ini mengindikasikan bahwa meskipun ketidakpastian meningkat pada jangka panjang, nilai tengah peramalan tetap berada pada rentang yang wajar dan tidak menunjukkan lonjakan inflasi yang ekstrem. Secara keseluruhan, hasil forecast menunjukkan bahwa inflasi pada tahun 2026 diperkirakan terkendali dan stabil, sehingga model SARIMA yang digunakan dinilai layak untuk peramalan inflasi jangka pendek hingga menengah.

Kesimpulan

Penelitian ini menganalisis inflasi bulanan menggunakan pendekatan Seasonal Autoregressive Integrated Moving Average (SARIMA). Hasil analisis menunjukkan bahwa data inflasi pada tingkat awal bersifat tidak stasioner, baik secara non-musiman maupun musiman. Oleh karena itu, dilakukan proses differencing orde pertama dan differencing musiman periode 12 hingga data memenuhi asumsi stasioneritas. Hasil uji Augmented Dickey-Fuller (ADF) dan Kwiatkowski–Phillips–Schmidt–Shin (KPSS) mengonfirmasi bahwa data setelah transformasi telah bersifat stasioner. Berdasarkan analisis Autocorrelation Function (ACF) dan Partial Autocorrelation Function (PACF) serta pemilihan model menggunakan kriteria informasi, diperoleh model terbaik yaitu SARIMA (1,1,1)(0,0,1)[12]. Model ini mampu merepresentasikan struktur data inflasi dengan baik, termasuk pola musiman tahunan. Hasil pengujian diagnostik menunjukkan bahwa residual model bersifat white noise, yang dibuktikan melalui uji Ljung-Box dengan nilai p-value yang tidak signifikan. Hal ini menandakan bahwa model telah menangkap seluruh informasi sistematis dalam data dan memenuhi asumsi model yang diperlukan. Berdasarkan hasil peramalan, inflasi pada periode ke depan diproyeksikan berada dalam kondisi relatif stabil dan terkendali, tanpa adanya indikasi fluktuasi ekstrem. Dengan demikian, model SARIMA yang dibangun valid, reliabel, dan layak digunakan untuk peramalan inflasi bulanan dalam jangka pendek hingga menengah.

Referensi

Pratama, A., & Sari, N. (2021). Penerapan model SARIMA untuk memprediksi tingkat inflasi di Indonesia. Jurnal Statistika dan Manajemen Sains, 4(2), 45-56.