Dataset bersih dari Bagian 1 menjawab pertanyaan level: berapa harga rata-rata, seberapa lebar sebarannya. Analisis deret waktu menuntut pertanyaan berikutnya — pergerakan. Ke mana arah harga berubah tiap bulan, seberapa cepat, dan apakah lajunya merata atau patah-patah? Perbedaan dua tahun juga menarik diukur: level 2026 yang lebih tinggi dari 2025 sudah pasti, tetapi berapa besar pergantian itu dan apakah kecepatan kenaikan justru melambat? Pada bagian ini kita mengukur perubahan harga dengan tiga alat: perubahan bulanan persen, kenaikan tahunan, dan moving average perata dari chapter Moving Average.
Perubahan Bulanan dalam Persen #
Perubahan bulanan dihitung manual dari selisih dua bulan berurutan dibagi harga bulan sebelumnya:
perubahan bulan t (%) = (Yt - Yt-1) / Yt-1 x 100Cuplikan berikut menghitung 23 perubahan beras (24 bulan menghasilkan 23 selisih) lengkap dengan label bulannya, lalu merata-ratakannya. Label bulan dibangun dengan f-string sehingga tidak perlu diketik satu per satu:
beras = [12500, 12800, 12700, 13100, 13400, 13300, 13600, 13900, 13800, 14200, 14500, 14400,
14600, 14500, 14800, 15000, 14900, 15200, 15400, 15600, 15500, 15800, 16000, 15900]
bulan = [f"2025-{m:02d}" for m in range(1, 13)] + [f"2026-{m:02d}" for m in range(1, 13)]
perubahan = []
for i in range(1, len(beras)):
pct = (beras[i] - beras[i - 1]) / beras[i - 1] * 100
perubahan.append(pct)
print(f"{bulan[i]} : {pct:6.2f}%")
print(f"rata-rata bulanan : {sum(perubahan) / len(perubahan):.2f}%")Output yang Dihasilkan:
2025-02 : 2.40%
2025-03 : -0.78%
2025-04 : 3.15%
2025-05 : 2.29%
2025-06 : -0.75%
2025-07 : 2.26%
2025-08 : 2.21%
2025-09 : -0.72%
2025-10 : 2.90%
2025-11 : 2.11%
2025-12 : -0.69%
2026-01 : 1.39%
2026-02 : -0.68%
2026-03 : 2.07%
2026-04 : 1.35%
2026-05 : -0.67%
2026-06 : 2.01%
2026-07 : 1.32%
2026-08 : 1.30%
2026-09 : -0.64%
2026-10 : 1.94%
2026-11 : 1.27%
2026-12 : -0.62%
rata-rata bulanan : 1.06%Deret perubahan menampilkan pola yang sudah dikenal dari chapter Pengenalan Time Series: kenaikan bulanan yang positif diselingi penurunan tipis. Delapan bulan mencatat perubahan negatif, dan seluruhnya berpaut tipis — terbesar hanya −0.78 persen — sementara lima belas bulan naik dengan mayoritas di kisaran 1 sampai 3 persen. Penurunan terjadi hampir setiap tiga bulan (Maret, Juni, September, Desember pada 2025; Februari, Mei, September, Desember pada 2026) — fluktuasi musiman ringan yang sama dengan pola beras tahun pertama. Rata-rata seluruh perubahan 1.06 persen per bulan adalah laju kenaikan tipikal beras selama dua tahun (dibulatkan ke dua desimal).
Kenaikan Tahunan per Komoditas #
Laju dua tahun bisa dibaca dari total kenaikan tiap tahun: harga Desember dibanding harga Januari tahun yang sama. Tabel berikut menghitungnya untuk ketiga komoditas beserta rata-rata dua tahunnya:
beras = [12500, 12800, 12700, 13100, 13400, 13300, 13600, 13900, 13800, 14200, 14500, 14400,
14600, 14500, 14800, 15000, 14900, 15200, 15400, 15600, 15500, 15800, 16000, 15900]
gula = [16000, 16200, 16100, 16400, 16600, 16500, 16800, 17000, 16900, 17200, 17400, 17300,
17500, 17650, 17800, 18000, 17900, 18200, 18400, 18600, 18500, 18800, 19000, 18900]
minyak = [15600, 15800, 15700, 16000, 16200, 16100, 16400, 16600, 16500, 16800, 17000, 16900,
17100, 17200, 17400, 17300, 17500, 17600, 17800, 17850, 17900, 18100, 18000, 18300]
for nama, data in [("beras", beras), ("gula pasir", gula), ("minyak goreng", minyak)]:
k25 = (data[11] - data[0]) / data[0] * 100
k26 = (data[23] - data[12]) / data[12] * 100
print(f"{nama:<13s}: 2025 {k25:5.2f}% | 2026 {k26:5.2f}% | rata-rata {(k25 + k26) / 2:5.2f}%")Output yang Dihasilkan:
beras : 2025 15.20% | 2026 8.90% | rata-rata 12.05%
gula pasir : 2025 8.12% | 2026 8.00% | rata-rata 8.06%
minyak goreng: 2025 8.33% | 2026 7.02% | rata-rata 7.68%Angka 15.20 persen untuk beras 2025 adalah kenaikan yang sudah dihitung pada chapter Pengenalan Time Series — konsistensi yang menegaskan deret tahun pertama memang tidak berubah. Kisah dua tahunnya kini lengkap: beras melambat dari 15.20 persen menjadi 8.90 persen, tetap yang tercepat di kedua tahun. Gula pasir paling stabil — 8.12 dan 8.00 persen, nyaris identik — sedangkan minyak goreng tercatat 8.33 lalu 7.02 persen. Rata-rata kenaikan tahunan (12.05, 8.06, 7.68 persen) menempatkan beras hampir lima poin di atas gula pada periode dua tahun penuh.
Meredam Gejolak dengan Moving Average #
Deret bulanan beras bergerak naik-turun; garis perata MA(3) meredam gejolaknya agar arah besar terbaca. Definisi mengikuti chapter Moving Average: MA(3) pada bulan t adalah rata-rata tiga bulan yang berakhir pada bulan t. Nilai MA(3) tahun 2025 sudah dihitung lengkap di chapter tersebut, jadi tabel berikut melanjutkannya ke dua belas bulan 2026:
beras = [12500, 12800, 12700, 13100, 13400, 13300, 13600, 13900, 13800, 14200, 14500, 14400,
14600, 14500, 14800, 15000, 14900, 15200, 15400, 15600, 15500, 15800, 16000, 15900]
bulan = [f"2025-{m:02d}" for m in range(1, 13)] + [f"2026-{m:02d}" for m in range(1, 13)]
print(f"{'bulan':<9}{'harga':>6}{'MA(3)':>10}")
for i in range(12, 24):
ma3 = sum(beras[i - 2:i + 1]) / 3
print(f"{bulan[i]:<9}{beras[i]:>6}{ma3:>10.2f}")Output yang Dihasilkan:
bulan harga MA(3)
2026-01 14600 14500.00
2026-02 14500 14500.00
2026-03 14800 14633.33
2026-04 15000 14766.67
2026-05 14900 14900.00
2026-06 15200 15033.33
2026-07 15400 15166.67
2026-08 15600 15400.00
2026-09 15500 15500.00
2026-10 15800 15633.33
2026-11 16000 15766.67
2026-12 15900 15900.00Perata bekerja persis seperti janjinya. Harga mentah 2026 turun tipis tiga kali (Februari, Mei, September), tetapi kolom MA(3) naik setiap bulan tanpa kecuali — dari 14500.00 pada Januari hingga 15900.00 pada Desember — karena setiap penurunan kecil terbagi rata ke dalam jendela tiga bulan. Nilai pertama sudah tersedia karena jendelanya memuat dua bulan terakhir 2025 (14400 dan 14500) plus Januari 2026 (14600). Lag juga terlihat: MA(3) Desember 15900.00 tepat sama dengan harga Desember, hasil perataan bulan-bulan akhir yang berdekatan levelnya.
Membandingkan Level Dua Tahun #
Pertanyaan terakhir bagian ini: seberapa besar level harga bergeser antar tahun? Mean 12 bulan 2025 dibanding mean 12 bulan 2026 memberi ukuran pergeseran level yang tidak terpengaruh satu bulan ekstrem apa pun:
beras = [12500, 12800, 12700, 13100, 13400, 13300, 13600, 13900, 13800, 14200, 14500, 14400,
14600, 14500, 14800, 15000, 14900, 15200, 15400, 15600, 15500, 15800, 16000, 15900]
gula = [16000, 16200, 16100, 16400, 16600, 16500, 16800, 17000, 16900, 17200, 17400, 17300,
17500, 17650, 17800, 18000, 17900, 18200, 18400, 18600, 18500, 18800, 19000, 18900]
minyak = [15600, 15800, 15700, 16000, 16200, 16100, 16400, 16600, 16500, 16800, 17000, 16900,
17100, 17200, 17400, 17300, 17500, 17600, 17800, 17850, 17900, 18100, 18000, 18300]
for nama, data in [("beras", beras), ("gula pasir", gula), ("minyak goreng", minyak)]:
m25 = sum(data[:12]) / 12
m26 = sum(data[12:]) / 12
print(f"{nama:<13s}: 2025 {m25:8.2f} | 2026 {m26:8.2f} | naik {m26 - m25:7.2f} Rp")Output yang Dihasilkan:
beras : 2025 13516.67 | 2026 15266.67 | naik 1750.00 Rp
gula pasir : 2025 16700.00 | 2026 18270.83 | naik 1570.83 Rp
minyak goreng: 2025 16300.00 | 2026 17670.83 | naik 1370.83 RpMean beras 2025 tercatat 13516.67 Rp/kg — angka yang persis sama dengan hitungan chapter Pengenalan Time Series untuk dua belas bulan pertama, memastikan benang merah antar-bab tetap utuh. Pergeseran level terbesar dimiliki beras: 1750.00 Rp dari 13516.67 ke 15266.67, sekitar 12.9 persen — konsisten dengan kombinasi kenaikan cepat dan level awal yang rendah. Gula pasir bergeser 1570.83 Rp dan minyak goreng 1370.83 Rp. Level ketiganya naik, tetapi arah dan kecepatan pergerakannya kini sudah terukur bulan demi bulan. Yang tersisa adalah membuat pergerakan itu terlihat: Bagian 3 menggambar seluruh cerita.