Analisis Dekomposisi Additive Produksi Air Minum PDAM Kabupaten Serang

1 Pendahuluan

1.1 Latar Belakang

Data produksi air minum yang dicatat secara bulanan merupakan data runtun waktu karena setiap pengamatan memiliki urutan waktu yang jelas. Pada data runtun waktu, perubahan nilai pengamatan dapat dipengaruhi oleh beberapa pola, terutama tren jangka panjang, pola musiman yang berulang, dan variasi acak atau residu.

Dekomposisi runtun waktu digunakan untuk memisahkan ketiga komponen tersebut sehingga pola yang terdapat pada data dapat dipahami secara lebih terstruktur. Pada model dekomposisi additive, nilai pengamatan dinyatakan sebagai penjumlahan komponen tren, musiman, dan residu:

\[ Z_t = T_t + S_t + e_t \]

Model additive sesuai digunakan ketika besar fluktuasi musiman relatif konstan dari waktu ke waktu. Dengan demikian, perubahan musiman dipandang sebagai tambahan atau pengurangan dalam satuan yang relatif tetap terhadap tingkat data.

Analisis pada tugas ini menggunakan data volume produksi air minum PDAM Kabupaten Serang periode Januari 2022 sampai Desember 2024 dalam satuan ribu m³ per bulan. Data terdiri atas 36 observasi dan akan dianalisis menggunakan dekomposisi additive.

1.2 Tujuan Analisis

Analisis ini bertujuan untuk:

  1. Membentuk data produksi air minum sebagai objek runtun waktu.
  2. Mengidentifikasi pola umum produksi melalui visualisasi data.
  3. Memisahkan komponen tren, musiman, dan residu menggunakan dekomposisi additive.
  4. Mengetahui arah perkembangan produksi berdasarkan komponen tren.
  5. Mengidentifikasi bulan dengan indeks musiman tertinggi dan terendah.
  6. Mengevaluasi karakteristik residu dan menilai apakah residu telah berfluktuasi secara acak di sekitar nol.

2 Data dan Metode Analisis

2.1 Data Produksi Air Minum

Data yang digunakan berasal dari latihan pendalaman materi dekomposisi additive. Data menunjukkan volume produksi air minum PDAM Kabupaten Serang dari Januari 2022 hingga Desember 2024.

# Data volume produksi air minum PDAM Kabupaten Serang
produksi <- c(
  410, 415, 405, 420, 430, 445, 455, 440, 425, 420, 418, 435,
  440, 445, 438, 452, 462, 478, 488, 472, 458, 452, 450, 468,
  470, 476, 468, 483, 494, 510, 521, 504, 489, 483, 480, 499
)

# Membentuk objek time series bulanan
produksi_ts <- ts(
  produksi,
  start = c(2022, 1),
  frequency = 12
)

# Pemeriksaan dasar
length(produksi_ts)
## [1] 36
start(produksi_ts)
## [1] 2022    1
end(produksi_ts)
## [1] 2024   12
frequency(produksi_ts)
## [1] 12

Data terdiri atas 36 observasi bulanan, dimulai pada 2022 dan berakhir pada 2024. Frekuensi 12 menunjukkan bahwa satu siklus musiman terdiri atas 12 bulan.

data_awal <- data.frame(
  Tahun = rep(2022:2024, each = 12),
  Bulan = rep(month.name, times = 3),
  Produksi_ribu_m3 = as.numeric(produksi_ts)
)

knitr::kable(
  data_awal,
  col.names = c("Tahun", "Bulan", "Produksi (ribu m³)"),
  caption = "Volume produksi air minum PDAM Kabupaten Serang"
)
Volume produksi air minum PDAM Kabupaten Serang
Tahun Bulan Produksi (ribu m³)
2022 January 410
2022 February 415
2022 March 405
2022 April 420
2022 May 430
2022 June 445
2022 July 455
2022 August 440
2022 September 425
2022 October 420
2022 November 418
2022 December 435
2023 January 440
2023 February 445
2023 March 438
2023 April 452
2023 May 462
2023 June 478
2023 July 488
2023 August 472
2023 September 458
2023 October 452
2023 November 450
2023 December 468
2024 January 470
2024 February 476
2024 March 468
2024 April 483
2024 May 494
2024 June 510
2024 July 521
2024 August 504
2024 September 489
2024 October 483
2024 November 480
2024 December 499

2.2 Konsep Dekomposisi Additive

Dekomposisi additive memandang data sebagai gabungan tiga komponen utama, yaitu tren, musiman, dan residu. Komponen tren menggambarkan arah pergerakan data dalam jangka panjang. Komponen musiman menunjukkan pola yang berulang pada periode tertentu, sedangkan residu merupakan bagian data yang tidak dapat dijelaskan oleh tren dan pola musiman.

Dalam decompose() pada R, estimasi tren untuk data bulanan menggunakan centered moving average dengan periode musiman 12. Karena proses centering membutuhkan observasi sebelum dan sesudah titik yang dianalisis, beberapa nilai tren pada awal dan akhir deret waktu akan bernilai NA.

3 Hasil dan Pembahasan

3.1 Eksplorasi dan Pola Data

Sebelum melakukan dekomposisi, pola data produksi divisualisasikan terlebih dahulu untuk melihat perubahan volume produksi dari Januari 2022 hingga Desember 2024.

df_ts <- data.frame(
  tanggal = seq(
    from = as.Date("2022-01-01"),
    by = "month",
    length.out = length(produksi)
  ),
  produksi = as.numeric(produksi_ts)
)

ggplot(df_ts, aes(x = tanggal, y = produksi)) +
  geom_line(linewidth = 0.9) +
  geom_point(size = 2) +
  scale_x_date(
    date_breaks = "3 months",
    date_labels = "%b\n%Y",
    expand = expansion(mult = c(0.01, 0.02))
  ) +
  scale_y_continuous(
    labels = label_number(big.mark = ".", decimal.mark = ",")
  ) +
  labs(
    title = "Volume Produksi Air Minum PDAM Kabupaten Serang",
    subtitle = "Januari 2022–Desember 2024",
    x = "Periode",
    y = "Produksi (ribu m³)"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(face = "bold"),
    panel.grid.minor = element_blank()
  )

Secara visual, produksi air minum menunjukkan kecenderungan meningkat dari awal hingga akhir periode pengamatan. Pada awal 2022, produksi berada pada kisaran 405–455 ribu m³ per bulan, sedangkan pada 2024 sebagian besar pengamatan berada pada kisaran yang lebih tinggi, yaitu sekitar 468–521 ribu m³ per bulan.

Selain kecenderungan naik, terdapat pola bulanan yang relatif berulang. Nilai produksi cenderung meningkat menuju pertengahan tahun, kemudian mengalami penurunan pada beberapa bulan berikutnya. Pola tersebut menjadi dasar untuk memisahkan komponen tren dan musiman melalui dekomposisi additive.

ringkasan_tahun <- df_ts |>
  mutate(tahun = format(tanggal, "%Y")) |>
  group_by(tahun) |>
  summarise(
    Rata_rata = mean(produksi),
    Minimum = min(produksi),
    Maksimum = max(produksi),
    .groups = "drop"
  )

knitr::kable(
  ringkasan_tahun,
  digits = 2,
  col.names = c(
    "Tahun",
    "Rata-rata (ribu m³)",
    "Minimum (ribu m³)",
    "Maksimum (ribu m³)"
  ),
  caption = "Ringkasan produksi berdasarkan tahun"
)
Ringkasan produksi berdasarkan tahun
Tahun Rata-rata (ribu m³) Minimum (ribu m³) Maksimum (ribu m³)
2022 426.50 405 455
2023 458.58 438 488
2024 489.75 468 521

Rata-rata produksi tahunan juga digunakan sebagai gambaran tambahan mengenai perubahan level produksi. Jika rata-rata meningkat dari tahun ke tahun, maka terdapat indikasi awal adanya tren naik sebelum komponen tren diestimasi secara formal melalui dekomposisi.

3.2 Hasil Dekomposisi Additive

Dekomposisi additive dilakukan menggunakan fungsi decompose() dengan type = "additive".

dekomp_add <- decompose(
  produksi_ts,
  type = "additive"
)

dekomp_add
## $x
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2022 410 415 405 420 430 445 455 440 425 420 418 435
## 2023 440 445 438 452 462 478 488 472 458 452 450 468
## 2024 470 476 468 483 494 510 521 504 489 483 480 499
## 
## $seasonal
##               Jan          Feb          Mar          Apr          May
## 2022  -4.53993056  -1.74826389 -11.91493056  -0.06076389   7.83506944
## 2023  -4.53993056  -1.74826389 -11.91493056  -0.06076389   7.83506944
## 2024  -4.53993056  -1.74826389 -11.91493056  -0.06076389   7.83506944
##               Jun          Jul          Aug          Sep          Oct
## 2022  21.21006944  27.75173611   9.73090278  -7.35243056 -15.47743056
## 2023  21.21006944  27.75173611   9.73090278  -7.35243056 -15.47743056
## 2024  21.21006944  27.75173611   9.73090278  -7.35243056 -15.47743056
##               Nov          Dec
## 2022 -20.12326389  -5.31076389
## 2023 -20.12326389  -5.31076389
## 2024 -20.12326389  -5.31076389
## 
## $trend
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2022       NA       NA       NA       NA       NA       NA 427.7500 430.2500
## 2023 443.7083 446.4167 449.1250 451.8333 454.5000 457.2083 459.8333 462.3750
## 2024 475.4583 478.1667 480.7917 483.3750 485.9167 488.4583       NA       NA
##           Sep      Oct      Nov      Dec
## 2022 432.8750 435.5833 438.2500 440.9583
## 2023 464.9167 467.4583 470.0833 472.7500
## 2024       NA       NA       NA       NA
## 
## $random
##              Jan         Feb         Mar         Apr         May         Jun
## 2022          NA          NA          NA          NA          NA          NA
## 2023  0.83159722  0.33159722  0.78993056  0.22743056 -0.33506944 -0.41840278
## 2024 -0.91840278 -0.41840278 -0.87673611 -0.31423611  0.24826389  0.33159722
##              Jul         Aug         Sep         Oct         Nov         Dec
## 2022 -0.50173611  0.01909722 -0.52256944 -0.10590278 -0.12673611 -0.64756944
## 2023  0.41493056 -0.10590278  0.43576389  0.01909722  0.03993056  0.56076389
## 2024          NA          NA          NA          NA          NA          NA
## 
## $figure
##  [1]  -4.53993056  -1.74826389 -11.91493056  -0.06076389   7.83506944
##  [6]  21.21006944  27.75173611   9.73090278  -7.35243056 -15.47743056
## [11] -20.12326389  -5.31076389
## 
## $type
## [1] "additive"
## 
## attr(,"class")
## [1] "decomposed.ts"
plot(
  dekomp_add,
  xlab = "Waktu"
)

Hasil dekomposisi menghasilkan empat bagian utama, yaitu data aktual, tren, seasonal, dan random/residu. Sesuai konsep model additive, data aktual dapat dipandang sebagai hasil penjumlahan antara komponen tren, komponen musiman, dan residu.

Pada panel tren, beberapa periode di awal dan akhir data tidak memiliki nilai estimasi. Hal tersebut merupakan konsekuensi dari penggunaan centered moving average, karena estimasi tren membutuhkan informasi dari kedua sisi periode yang sedang dianalisis.

3.3 Komponen Tren

Komponen tren digunakan untuk melihat arah perubahan produksi dalam jangka panjang.

tren <- as.numeric(dekomp_add$trend)

trend_df <- data.frame(
  tanggal = df_ts$tanggal,
  tren = tren
)

knitr::kable(
  head(na.omit(trend_df), 10),
  digits = 2,
  col.names = c("Periode", "Estimasi Tren (ribu m³)"),
  caption = "Sebagian estimasi komponen tren"
)
Sebagian estimasi komponen tren
Periode Estimasi Tren (ribu m³)
7 2022-07-01 427.75
8 2022-08-01 430.25
9 2022-09-01 432.87
10 2022-10-01 435.58
11 2022-11-01 438.25
12 2022-12-01 440.96
13 2023-01-01 443.71
14 2023-02-01 446.42
15 2023-03-01 449.12
16 2023-04-01 451.83
ggplot(trend_df, aes(x = tanggal, y = tren)) +
  geom_line(linewidth = 1) +
  geom_point(size = 2) +
  scale_x_date(
    date_breaks = "3 months",
    date_labels = "%b\n%Y",
    expand = expansion(mult = c(0.02, 0.02))
  ) +
  scale_y_continuous(
    labels = label_number(big.mark = ".", decimal.mark = ",")
  ) +
  labs(
    title = "Komponen Tren Produksi Air Minum",
    subtitle = "Estimasi centered moving average (CMA 2×12)",
    x = "Periode",
    y = "Tren (ribu m³)"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(face = "bold"),
    panel.grid.minor = element_blank()
  )

Untuk menilai perubahan komponen tren secara ringkas, nilai tren pertama dan terakhir yang tersedia dibandingkan.

trend_valid <- trend_df |>
  filter(!is.na(tren))

trend_awal <- trend_valid$tren[1]
trend_akhir <- trend_valid$tren[nrow(trend_valid)]
perubahan_tren <- trend_akhir - trend_awal
persen_tren <- perubahan_tren / trend_awal * 100

data.frame(
  `Tren awal (ribu m³)` = trend_awal,
  `Tren akhir (ribu m³)` = trend_akhir,
  `Perubahan (ribu m³)` = perubahan_tren,
  `Perubahan (%)` = persen_tren
) |>
  knitr::kable(
    digits = 2,
    caption = "Perbandingan komponen tren awal dan akhir"
  )
Perbandingan komponen tren awal dan akhir
Tren.awal..ribu.m.. Tren.akhir..ribu.m.. Perubahan..ribu.m.. Perubahan….
427.75 488.46 60.71 14.19

Berdasarkan komponen tren, produksi air minum menunjukkan tren meningkat. Estimasi tren pada bagian akhir periode lebih tinggi dibandingkan estimasi pada bagian awal periode. Artinya, setelah pengaruh fluktuasi musiman dan variasi acak diratakan melalui centered moving average, tingkat produksi secara umum mengalami peningkatan sepanjang periode 2022–2024.

Kenaikan ini menunjukkan adanya perubahan level produksi jangka panjang, bukan hanya kenaikan pada bulan tertentu. Dengan demikian, pola peningkatan produksi yang terlihat pada data aktual memang didukung oleh komponen tren hasil dekomposisi.

3.4 Komponen Musiman

Komponen musiman menunjukkan besarnya pengaruh setiap bulan terhadap nilai produksi setelah pengaruh tren dipisahkan. Karena model yang digunakan adalah additive, indeks musiman dinyatakan dalam satuan yang sama dengan data, yaitu ribu m³.

indeks_musiman <- as.numeric(dekomp_add$seasonal[1:12])

seasonal_df <- data.frame(
  Bulan = factor(month.name, levels = month.name),
  Indeks_Musiman = indeks_musiman
)

knitr::kable(
  seasonal_df,
  digits = 2,
  col.names = c("Bulan", "Indeks Musiman (ribu m³)"),
  caption = "12 indeks musiman hasil dekomposisi additive"
)
12 indeks musiman hasil dekomposisi additive
Bulan Indeks Musiman (ribu m³)
January -4.54
February -1.75
March -11.91
April -0.06
May 7.84
June 21.21
July 27.75
August 9.73
September -7.35
October -15.48
November -20.12
December -5.31

Sebagai pemeriksaan model additive, jumlah kedua belas indeks musiman dihitung.

jumlah_indeks <- sum(indeks_musiman)
rata_indeks <- mean(indeks_musiman)

data.frame(
  `Jumlah indeks musiman` = jumlah_indeks,
  `Rata-rata indeks musiman` = rata_indeks
) |>
  knitr::kable(
    digits = 8,
    caption = "Pemeriksaan indeks musiman"
  )
Pemeriksaan indeks musiman
Jumlah.indeks.musiman Rata.rata.indeks.musiman
0 0

Jumlah indeks musiman secara teoritis harus sama dengan nol pada model additive. Hasil perhitungan menunjukkan nilai yang sangat dekat dengan nol, sehingga pengkodean komponen musiman konsisten dengan sifat dekomposisi additive.

ggplot(seasonal_df, aes(x = Bulan, y = Indeks_Musiman)) +
  geom_col() +
  geom_hline(yintercept = 0, linewidth = 0.7) +
  scale_y_continuous(
    labels = label_number(big.mark = ".", decimal.mark = ",")
  ) +
  labs(
    title = "Indeks Musiman Produksi Air Minum",
    subtitle = "Nilai positif menunjukkan produksi relatif lebih tinggi dari tren",
    x = "Bulan",
    y = "Indeks musiman (ribu m³)"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(face = "bold"),
    panel.grid.minor = element_blank()
  )

Bulan dengan indeks musiman tertinggi dan terendah ditentukan dari nilai indeks tersebut.

bulan_tertinggi <- seasonal_df |>
  slice_max(Indeks_Musiman, n = 1, with_ties = FALSE)

bulan_terendah <- seasonal_df |>
  slice_min(Indeks_Musiman, n = 1, with_ties = FALSE)

knitr::kable(
  rbind(
    data.frame(
      Keterangan = "Indeks musiman tertinggi",
      Bulan = as.character(bulan_tertinggi$Bulan),
      `Indeks (ribu m³)` = bulan_tertinggi$Indeks_Musiman
    ),
    data.frame(
      Keterangan = "Indeks musiman terendah",
      Bulan = as.character(bulan_terendah$Bulan),
      `Indeks (ribu m³)` = bulan_terendah$Indeks_Musiman
    )
  ),
  digits = 2,
  caption = "Bulan dengan indeks musiman tertinggi dan terendah"
)
Bulan dengan indeks musiman tertinggi dan terendah
Keterangan Bulan Indeks..ribu.m..
Indeks musiman tertinggi July 27.75
Indeks musiman terendah November -20.12

Berdasarkan hasil dekomposisi, July memiliki indeks musiman tertinggi, yaitu sekitar 27.75 ribu m³. Nilai positif tersebut berarti pada bulan tersebut produksi cenderung berada di atas tingkat yang diperkirakan oleh komponen tren.

Sebaliknya, November memiliki indeks musiman terendah, yaitu sekitar -20.12 ribu m³. Nilai negatif menunjukkan bahwa produksi pada bulan tersebut cenderung berada di bawah tingkat tren.

Perbedaan indeks tersebut menunjukkan bahwa terdapat pola produksi yang berulang dari tahun ke tahun. Namun, berdasarkan data yang tersedia pada materi, penyebab operasional spesifik dari pola tersebut tidak diberikan. Oleh karena itu, interpretasi penyebab sebaiknya dipandang sebagai dugaan dan tidak dianggap sebagai kesimpulan kausal.

3.5 Komponen Residu

Komponen residu merupakan bagian data yang tersisa setelah pengaruh tren dan musiman dipisahkan. Pada model additive, residu dihitung sebagai:

\[ e_t = Z_t - T_t - S_t \]

Residu yang baik untuk model dekomposisi seharusnya berfluktuasi secara relatif acak di sekitar nol dan tidak memperlihatkan pola sistematis yang kuat.

residu <- as.numeric(dekomp_add$random)

residu_valid <- residu[!is.na(residu)]

summary_residu <- data.frame(
  Statistik = c(
    "Minimum",
    "Kuartil 1",
    "Median",
    "Mean",
    "Kuartil 3",
    "Maksimum",
    "Simpangan baku"
  ),
  Nilai = c(
    min(residu_valid),
    quantile(residu_valid, 0.25),
    median(residu_valid),
    mean(residu_valid),
    quantile(residu_valid, 0.75),
    max(residu_valid),
    sd(residu_valid)
  )
)

knitr::kable(
  summary_residu,
  digits = 3,
  caption = "Ringkasan statistik komponen residu"
)
Ringkasan statistik komponen residu
Statistik Nilai
Minimum -0.918
Kuartil 1 -0.418
Median -0.043
Mean -0.043
Kuartil 3 0.332
Maksimum 0.832
Simpangan baku 0.486
residual_df <- data.frame(
  tanggal = df_ts$tanggal,
  residu = residu
)

ggplot(residual_df, aes(x = tanggal, y = residu)) +
  geom_hline(yintercept = 0, linewidth = 0.7) +
  geom_line(linewidth = 0.8, na.rm = TRUE) +
  geom_point(size = 2, na.rm = TRUE) +
  scale_x_date(
    date_breaks = "3 months",
    date_labels = "%b\n%Y",
    expand = expansion(mult = c(0.02, 0.02))
  ) +
  scale_y_continuous(
    labels = label_number(big.mark = ".", decimal.mark = ",")
  ) +
  labs(
    title = "Komponen Residu Dekomposisi Additive",
    x = "Periode",
    y = "Residu (ribu m³)"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(face = "bold"),
    panel.grid.minor = element_blank()
  )

mean_residu <- mean(residu_valid)
sd_residu <- sd(residu_valid)

data.frame(
  `Rata-rata residu` = mean_residu,
  `Simpangan baku residu` = sd_residu
) |>
  knitr::kable(
    digits = 3,
    caption = "Rata-rata dan simpangan baku residu"
  )
Rata-rata dan simpangan baku residu
Rata.rata.residu Simpangan.baku.residu
-0.043 0.486

Rata-rata residu sebesar -0.043 ribu m³ menunjukkan bahwa residu secara keseluruhan berada sangat dekat dengan nol. Hal ini merupakan karakteristik yang diharapkan karena komponen tren dan musiman telah dipisahkan dari data.

Dari grafik residu, variasi yang tersisa dapat digunakan untuk melihat apakah masih terdapat pola sistematis. Residu tidak diharapkan memiliki tren atau pola musiman yang jelas. Jika pola sistematis masih terlihat kuat, berarti komponen tren atau musiman belum sepenuhnya menjelaskan struktur data.

Pada data ini, komponen residu relatif berfluktuasi di sekitar garis nol. Dengan demikian, dekomposisi additive telah berhasil memisahkan sebagian besar pola terstruktur dalam data, sementara variasi yang tersisa dapat dipandang sebagai variasi acak dalam konteks analisis dekomposisi.

3.6 Evaluasi Hasil Dekomposisi

Secara keseluruhan, hasil dekomposisi menunjukkan tiga karakteristik utama. Pertama, komponen tren bergerak naik dari awal hingga akhir periode sehingga produksi air minum memiliki kecenderungan peningkatan jangka panjang. Kedua, komponen musiman menunjukkan bahwa tingkat produksi relatif berbeda antarbulan dan pola tersebut berulang dalam setiap tahun. Ketiga, komponen residu berfluktuasi di sekitar nol tanpa pola sistematis yang dominan.

Ringkasan hasil utama disajikan berikut.

ringkasan_hasil <- data.frame(
  Komponen = c(
    "Tren",
    "Musiman tertinggi",
    "Musiman terendah",
    "Residu"
  ),
  Hasil = c(
    "Meningkat sepanjang periode pengamatan",
    paste0(
      as.character(bulan_tertinggi$Bulan),
      " (",
      round(bulan_tertinggi$Indeks_Musiman, 2),
      " ribu m³)"
    ),
    paste0(
      as.character(bulan_terendah$Bulan),
      " (",
      round(bulan_terendah$Indeks_Musiman, 2),
      " ribu m³)"
    ),
    paste0(
      "Berfluktuasi di sekitar nol; SD = ",
      round(sd_residu, 2),
      " ribu m³"
    )
  )
)

knitr::kable(
  ringkasan_hasil,
  caption = "Ringkasan hasil dekomposisi additive"
)
Ringkasan hasil dekomposisi additive
Komponen Hasil
Tren Meningkat sepanjang periode pengamatan
Musiman tertinggi July (27.75 ribu m³)
Musiman terendah November (-20.12 ribu m³)
Residu Berfluktuasi di sekitar nol; SD = 0.49 ribu m³

Dengan demikian, model additive cukup informatif untuk menggambarkan struktur utama data produksi air minum pada periode pengamatan. Besarnya efek musiman dinyatakan dalam satuan absolut sehingga interpretasinya langsung berkaitan dengan tambahan atau pengurangan volume produksi terhadap tren.

4 Kesimpulan

Berdasarkan hasil analisis dekomposisi additive terhadap volume produksi air minum PDAM Kabupaten Serang periode Januari 2022–Desember 2024, diperoleh beberapa kesimpulan.

  1. Data produksi air minum memiliki pola runtun waktu bulanan dengan frekuensi 12 dan menunjukkan kecenderungan meningkat selama periode pengamatan.

  2. Hasil dekomposisi additive menunjukkan bahwa komponen tren mengalami peningkatan dari awal hingga akhir periode. Hal ini menunjukkan adanya pertumbuhan tingkat produksi dalam jangka panjang setelah pengaruh musiman dan variasi acak dipisahkan.

  3. Komponen musiman menunjukkan adanya perbedaan pola produksi antarbulan. July memiliki indeks musiman tertinggi, sedangkan November memiliki indeks musiman terendah. Karena model additive digunakan, indeks tersebut menunjukkan besarnya penyimpangan absolut dari tren dalam satuan ribu m³.

  4. Komponen residu memiliki rata-rata sekitar -0.04 ribu m³ dengan simpangan baku sekitar 0.49 ribu m³. Secara visual, residu berfluktuasi di sekitar nol dan tidak menunjukkan pola sistematis yang dominan.

  5. Secara keseluruhan, dekomposisi additive dapat digunakan untuk memisahkan pola utama produksi menjadi tren, musiman, dan residu. Hasil tersebut memberikan gambaran yang lebih jelas mengenai perubahan jangka panjang dan pola bulanan produksi air minum dibandingkan hanya melihat data aktual.

5 Referensi

  • Abraham, B., & Ledolter, J. (2005). Statistical Methods for Forecasting. New Jersey: Wiley.
  • Cryer, J. D., & Chan, K.-S. (2008). Time Series Analysis with Applications in R (2nd ed.). New York: Springer.
  • Hyndman, R. J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice (3rd ed.). Melbourne: OTexts.