Data
Berikut data harga gabah kering panen (GKP) di tingkat petani
Kabupaten Serang periode Januari 2023 - Desember 2024 (Rp/kg):
# Data harga GKP per bulan tahun 2023-2024
Harga_GKP <- c(5200, 5150, 5300, 5400, 5250, 5350, 5450, 5500, 5400, 5550, 5600, 5700,
5650, 5700, 5800, 5900, 5750, 5850, 5950, 6000, 5900, 6050, 6150, 6300)
# Membuat nama bulan dan tahun
bulan <- rep(month.abb, 2)
tahun <- rep(c(2023, 2024), each = 12)
df <- data.frame(
Tahun = tahun,
Bulan = factor(bulan, levels = month.abb),
Harga = Harga_GKP)
# Menampilkan tabel
knitr::kable(
matrix(Harga_GKP, nrow = 2, byrow = TRUE,
dimnames = list(c("2023", "2024"), month.abb)))
| 2023 |
5200 |
5150 |
5300 |
5400 |
5250 |
5350 |
5450 |
5500 |
5400 |
5550 |
5600 |
5700 |
| 2024 |
5650 |
5700 |
5800 |
5900 |
5750 |
5850 |
5950 |
6000 |
5900 |
6050 |
6150 |
6300 |
1. Buat objek ts dan plot runtun waktu dari data harga GKP di
atas.
# Membuat data menjadi objek time series
gkp_ts <- ts(Harga_GKP, start = c(2023, 1), frequency = 12)
gkp_ts
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2023 5200 5150 5300 5400 5250 5350 5450 5500 5400 5550 5600 5700
## 2024 5650 5700 5800 5900 5750 5850 5950 6000 5900 6050 6150 6300
# Plot runtun waktu
plot(gkp_ts, type="o", pch=16, col="steelblue4", lwd=2,
main="Harga GKP di Tingkat Petani Kabupaten Serang\nJanuari 2023 - Desember 2024",
xlab="Waktu (Tahun)",
ylab="Harga GKP (Rp/kg)")
# keterangan data
legend("topleft", legend="Data", col="steelblue4", lwd=2, pch=16, bty="n")
# Menambahkan garis bantu
grid()

INTERPRETASI : Berdasarkan plot, harga GKP Kabupaten
Serang cenderung meningkat dari Rp5.200/kg pada Januari 2023 menjadi
Rp6.300/kg pada Desember 2024. Meskipun terdapat beberapa fluktuasi tiap
bulannya, pergerakan harga masih menunjukkan tren naik. Artinya, data
belum stasioner dalam mean (rata-rata) karena masih terdapat tren.
4. Gunakan 21 observasi pertama sebagai data latih dan 3 observasi
terakhir sebagai data uji. Hitung ramalan naif untuk 3 bulan tersebut,
lalu hitung ME, MAE, MSE, RMSE, dan MAPE-nya.
# Label waktu berupa nama bulan (bukan angka desimal)
label_bulan <- paste(bulan, tahun)
# Membagi data jadi data latih (21 obs pertama) dan data uji (3 obs terakhir)
train <- head(Harga_GKP, 21)
test <- tail(Harga_GKP, 3)
label_train <- label_bulan[1:21]
label_test <- label_bulan[22:24]
# Ramalan naif = nilai terakhir data latih, diulang sebanyak data uji
naive_forecast <- rep(tail(train, 1), 3)
# Tabel data latih
knitr::kable(matrix(train, nrow = 1, dimnames = list("Harga", label_train)),
caption = "Data Latih (21 Observasi Pertama)")
Data Latih (21 Observasi Pertama)
| Harga |
5200 |
5150 |
5300 |
5400 |
5250 |
5350 |
5450 |
5500 |
5400 |
5550 |
5600 |
5700 |
5650 |
5700 |
5800 |
5900 |
5750 |
5850 |
5950 |
6000 |
5900 |
# Tabel data uji
knitr::kable(matrix(test, nrow = 1, dimnames = list("Harga", label_test)),
caption = "Data Uji (3 Observasi Terakhir)")
Data Uji (3 Observasi Terakhir)
| Harga |
6050 |
6150 |
6300 |
# Ramalan naif = nilai terakhir data latih, diulang sebanyak data uji
naive_forecast <- rep(tail(train, 1), 3)
# Selisih antara nilai aktual dan ramalan
error <- test - naive_forecast
# Tabel gabungan aktual, ramalan naif, dan error
hasil_ramalan <- data.frame(
Waktu = label_test,
Aktual = test,
Ramalan_Naif = naive_forecast,
Error = error)
knitr::kable(
hasil_ramalan,
caption = "Hasil Ramalan Naif (Okt-Des 2024)")
Hasil Ramalan Naif (Okt-Des 2024)
| Oct 2024 |
6050 |
5900 |
150 |
| Nov 2024 |
6150 |
5900 |
250 |
| Dec 2024 |
6300 |
5900 |
400 |
# Ukuran akurasi ramalan
ME <- mean(error)
MAE <- mean(abs(error))
MSE <- mean(error^2)
RMSE <- sqrt(MSE)
MAPE <- mean(abs(error/test)) * 100
hasil_evaluasi <- data.frame(ME, MAE, MSE, RMSE, MAPE)
# Tabel hasil evaluasi
knitr::kable(round(hasil_evaluasi, 3),
caption = "Hasil Evaluasi Ramalan Naif (Okt-Des 2024)")
Hasil Evaluasi Ramalan Naif (Okt-Des 2024)
| 266.667 |
266.667 |
81666.67 |
285.774 |
4.298 |
INTERPRETASI : Berdasarkan data yang digunakan, 21
observasi pertama (Januari 2023–September 2024) dijadikan sebagai data
latih, sedangkan 3 observasi terakhir (Oktober–Desember 2024) dijadikan
sebagai data uji. Dengan ramalan naif, hasil ramalan untuk ketiga bulan
tersebut adalah Rp5.900/kg, sedangkan harga aktualnya Rp6.050, Rp6.150,
dan Rp6.300/kg. Nilai error masing-masing adalah +Rp150, +Rp250, dan
+Rp400/kg. Nilai ME dan MAE sebesar 266,667, RMSE sebesar 285,774, dan
MAPE sebesar 4,298%. Jadi, rata-rata kesalahan ramalan sekitar 4,3% dari
harga aktual. Karena error semuanya bernilai positif, maka hasil
ramalannya lebih rendah daripada harga aktual.
Kesimpulan akhir
Berdasarkan hasil analisis, data harga GKP Kabupaten Serang belum
stasioner karena memiliki tren naik, meskipun terdapat fluktuasi
naik-turun. Rata-rata harga selama 2023–2024 sebesar Rp5.700/kg.
Berdasarkan transformasi logaritma, tren naik masih terlihat sehingga
data belum stasioner. Berdasarkan hasil differencing tingkat pertama,
tren naik sudah hilang dan data bergerak naik-turun dengan rata-rata
yang relatif konstan, sehingga data menjadi relatif stasioner dalam
mean.
Berdasarkan hasil ramalan naif, diperoleh MAPE sebesar 4,298% dan
seluruh error bernilai positif, sehingga ramalan lebih rendah daripada
harga aktual Oktober–Desember 2024.