Dataset yang digunakan adalah data bulanan Ekspor, Impor, dan Cadangan Devisa Negara Indonesia periode Januari 2022 – Desember 2025 (48 observasi). Data bersumber dari website Satu Data Perdagangan dan Bank Indonesia.
Variabel yang digunakan:
| Simbol | Variabel | Satuan |
|---|---|---|
| Y | Cadangan Devisa Negara | Juta USD |
| X₁ | Nilai Ekspor | Juta USD |
| X₂ | Nilai Impor | Juta USD |
ekspor <- c(
19143.17, 20489.07, 26586.73, 27316.24, 21493.25, 26141.05,
25473.42, 27928.70, 24764.55, 24726.29, 24059.11, 23782.72,
22344.65, 21355.45, 23452.47, 19354.02, 21789.03, 20667.01,
20933.54, 22055.53, 20815.57, 22220.06, 22075.60, 22464.85,
20569.76, 19348.66, 22620.00, 19693.29, 22441.98, 21058.25,
22526.84, 23598.55, 22150.74, 24808.78, 24112.73, 23599.59,
21428.28, 21944.18, 23247.26, 20743.85, 24613.80, 23436.46,
24748.86, 24963.17, 24679.13, 24236.34, 22520.80, 26346.81
)
impor <- c(
18211.10, 16638.51, 21962.42, 19757.45, 18609.29, 21003.85,
21345.03, 22150.55, 19808.34, 19135.35, 18962.09, 19863.06,
18538.36, 15978.60, 20715.46, 15461.69, 21409.87, 17251.09,
19647.21, 18975.77, 17461.15, 18777.06, 19679.53, 19211.67,
18587.30, 18507.74, 18017.78, 16993.62, 19505.23, 18539.35,
21855.58, 20843.43, 18974.04, 22097.83, 19768.31, 21509.39,
17935.92, 18849.00, 18919.98, 20585.01, 20312.30, 19332.95,
20575.41, 19475.24, 20335.26, 21843.13, 19858.49, 23834.05
)
devisa <- c(
141344, 141435, 139129, 135659, 135550, 136379,
132173, 132202, 130782, 130197, 133994, 137233,
139404, 140311, 145189, 144167, 139286, 137541,
137674, 137090, 134856, 133140, 138100, 146384,
145052, 144040, 140390, 136218, 138973, 140177,
145414, 150243, 149922, 151233, 150243, 155719,
156085, 154509, 157090, 152467, 152488, 152567,
151988, 150708, 148737, 149933, 150061, 156471
)
bulan <- c(
"Jan-22","Feb-22","Mar-22","Apr-22","Mei-22","Jun-22",
"Jul-22","Agt-22","Sep-22","Okt-22","Nov-22","Des-22",
"Jan-23","Feb-23","Mar-23","Apr-23","Mei-23","Jun-23",
"Jul-23","Agt-23","Sep-23","Okt-23","Nov-23","Des-23",
"Jan-24","Feb-24","Mar-24","Apr-24","Mei-24","Jun-24",
"Jul-24","Agt-24","Sep-24","Okt-24","Nov-24","Des-24",
"Jan-25","Feb-25","Mar-25","Apr-25","Mei-25","Jun-25",
"Jul-25","Agt-25","Sep-25","Okt-25","Nov-25","Des-25"
)
df <- data.frame(Bulan = bulan, Ekspor = ekspor, Impor = impor, Devisa = devisa)kable(head(df, 10),
caption = "Tabel 1. Pratinjau Data (10 Observasi Pertama)",
align = "c",
format.args = list(big.mark = ","))| Bulan | Ekspor | Impor | Devisa |
|---|---|---|---|
| Jan-22 | 19,143.17 | 18,211.10 | 141,344 |
| Feb-22 | 20,489.07 | 16,638.51 | 141,435 |
| Mar-22 | 26,586.73 | 21,962.42 | 139,129 |
| Apr-22 | 27,316.24 | 19,757.45 | 135,659 |
| Mei-22 | 21,493.25 | 18,609.29 | 135,550 |
| Jun-22 | 26,141.05 | 21,003.85 | 136,379 |
| Jul-22 | 25,473.42 | 21,345.03 | 132,173 |
| Agt-22 | 27,928.70 | 22,150.55 | 132,202 |
| Sep-22 | 24,764.55 | 19,808.34 | 130,782 |
| Okt-22 | 24,726.29 | 19,135.35 | 130,197 |
desc <- data.frame(
Variabel = c("Ekspor (Juta USD)", "Impor (Juta USD)", "Devisa (Juta USD)"),
N = rep(nrow(df), 3),
Minimum = c(round(min(ekspor),2), round(min(impor),2), round(min(devisa),2)),
Maksimum = c(round(max(ekspor),2), round(max(impor),2), round(max(devisa),2)),
Rata.rata = c(round(mean(ekspor),2), round(mean(impor),2), round(mean(devisa),2)),
Median = c(round(median(ekspor),2), round(median(impor),2), round(median(devisa),2)),
Std.Dev = c(round(sd(ekspor),2), round(sd(impor),2), round(sd(devisa),2))
)
kable(desc,
caption = "Tabel 2. Statistik Deskriptif Variabel Penelitian",
align = c("l","c","c","c","c","c","c"),
format.args = list(big.mark = ","))| Variabel | N | Minimum | Maksimum | Rata.rata | Median | Std.Dev |
|---|---|---|---|---|---|---|
| Ekspor (Juta USD) | 48 | 19,143.17 | 27,928.70 | 22,934.80 | 22,523.82 | 2,128.15 |
| Impor (Juta USD) | 48 | 15,461.69 | 23,834.05 | 19,533.56 | 19,490.24 | 1,701.08 |
| Devisa (Juta USD) | 48 | 130,197.00 | 157,090.00 | 143,332.23 | 141,389.50 | 7,798.10 |
Rata-rata ekspor sebesar 22,934.8 juta USD, rata-rata impor sebesar 19,533.56 juta USD, dan rata-rata cadangan devisa sebesar 143,332.2 juta USD selama periode Januari 2022 – Desember 2025.
cor_matrix <- cor(df[, c("Ekspor","Impor","Devisa")])
kable(round(cor_matrix, 4),
caption = "Tabel 3. Matriks Korelasi Antar Variabel")| Ekspor | Impor | Devisa | |
|---|---|---|---|
| Ekspor | 1.0000 | 0.7082 | -0.0078 |
| Impor | 0.7082 | 1.0000 | 0.2240 |
| Devisa | -0.0078 | 0.2240 | 1.0000 |
corrplot(cor_matrix,
method = "color",
type = "upper",
addCoef.col = "black",
tl.col = "black",
col = colorRampPalette(c("#d73027","#fee090","#4575b4"))(200),
title = "Matriks Korelasi Ekspor, Impor, dan Devisa",
mar = c(0, 0, 2, 0))Gambar 1. Visualisasi Matriks Korelasi
Korelasi Ekspor–Devisa = -0.0078 dan Impor–Devisa = 0.224. Ekspor berkorelasi negatif dengan devisa. Demikian pula impor yang berkorelasi positif dengan devisa.
Bentuk umum persamaan regresi linier berganda: \[ y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \epsilon \]
Dalam penelitian ini: \[ \text{Devisa} = \beta_0 + \beta_1 \cdot \text{Ekspor} + \beta_2 \cdot \text{Impor} + \epsilon \]
##
## Call:
## lm(formula = Devisa ~ Ekspor + Impor, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11877 -6136 -821 5614 15435
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.302e+05 1.332e+04 9.770 1.07e-12 ***
## Ekspor -1.223e+00 7.317e-01 -1.672 0.1015
## Impor 2.111e+00 9.154e-01 2.306 0.0258 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7537 on 45 degrees of freedom
## Multiple R-squared: 0.1057, Adjusted R-squared: 0.06596
## F-statistic: 2.659 on 2 and 45 DF, p-value: 0.08097
koef_raw <- as.data.frame(summary(model)$coefficients)
koef_raw$Var <- c("Konstanta (β₀)", "Ekspor (β₁)", "Impor (β₂)")
koef_tbl <- koef_raw[, c("Var","Estimate","Std. Error","t value","Pr(>|t|)")]
colnames(koef_tbl) <- c("Variabel","Estimasi (β)","Std. Error","t-hitung","p-value")
koef_tbl[, 2:5] <- round(koef_tbl[, 2:5], 4)
kable(koef_tbl,
caption = "Tabel 4. Koefisien Model Regresi Berganda",
align = c("l","c","c","c","c"),
row.names = FALSE)| Variabel | Estimasi (β) | Std. Error | t-hitung | p-value |
|---|---|---|---|---|
| Konstanta (β₀) | 130160.7896 | 13322.5448 | 9.7700 | 0.0000 |
| Ekspor (β₁) | -1.2232 | 0.7317 | -1.6718 | 0.1015 |
| Impor (β₂) | 2.1105 | 0.9154 | 2.3056 | 0.0258 |
Model Akhir: \[ \widehat{\text{Devisa}} = 1.3016079\times 10^{5} + -1.2232 \cdot \text{Ekspor} + (2.1105) \cdot \text{Impor} \]
- β₀ = 1.3016079^{5} : Jika Ekspor dan Impor bernilai 0, cadangan devisa diperkirakan sebesar 130,160.8 juta USD.
- β₁ = -1.2232 : Setiap kenaikan Ekspor 1 juta USD, cadangan devisa menurun sebesar 1.2232 juta USD (ceteris paribus).
- β₂ = 2.1105 : Setiap kenaikan Impor 1 juta USD, cadangan devisa meningkat sebesar 2.1105 juta USD (ceteris paribus).
r2 <- summary(model)$r.squared
r2_adj <- summary(model)$adj.r.squared
f_stat <- summary(model)$fstatistic
f_pval <- pf(f_stat[1], f_stat[2], f_stat[3], lower.tail = FALSE)
gof <- data.frame(
Metrik = c("R-Squared (R²)", "Adjusted R²", "F-Statistik", "p-value (Uji F)"),
Nilai = c(round(r2, 4), round(r2_adj, 4),
round(f_stat[1], 4),
format(f_pval, scientific = TRUE, digits = 4))
)
kable(gof,
caption = "Tabel 5. Ukuran Kebaikan Model (Goodness of Fit)",
align = c("l","c"))| Metrik | Nilai |
|---|---|
| R-Squared (R²) | 0.1057 |
| Adjusted R² | 0.066 |
| F-Statistik | 2.6594 |
| p-value (Uji F) | 8.097e-02 |
Nilai R² = 0.1057, artinya Ekspor dan Impor mampu menjelaskan 10.57% variasi cadangan devisa. Adjusted R² = 0.066. Nilai F = 2.6594 dengan p-value = 8.1e-02 menunjukkan model tidak signifikan pada α = 5%.
Uji F digunakan untuk menguji apakah X₁ dan X₂ secara bersama-sama berpengaruh signifikan terhadap Y.
## F-statistik : 2.6594
## p-value : 8.097e-02
cat("Kesimpulan :", ifelse(f_pval < 0.05,
"Tolak H0 — Model signifikan secara simultan (p < 0.05)",
"Gagal Tolak H0 — Model tidak signifikan secara simultan"))## Kesimpulan : Gagal Tolak H0 — Model tidak signifikan secara simultan
Uji t digunakan untuk menguji pengaruh masing-masing variabel X secara parsial terhadap Y.
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 130160.7896 13322.5448 9.7700 0.0000
## Ekspor -1.2232 0.7317 -1.6718 0.1015
## Impor 2.1105 0.9154 2.3056 0.0258
##
## Kesimpulan:
cat("- Ekspor : p =", round(koef_mat[2,4], 4),
ifelse(koef_mat[2,4] < 0.05, "→ Signifikan (tolak H0)", "→ Tidak signifikan"), "\n")## - Ekspor : p = 0.1015 → Tidak signifikan
cat("- Impor : p =", round(koef_mat[3,4], 4),
ifelse(koef_mat[3,4] < 0.05, "→ Signifikan (tolak H0)", "→ Tidak signifikan"), "\n")## - Impor : p = 0.0258 → Signifikan (tolak H0)
error <- model$residuals
ks_hasil <- ks.test(error, "pnorm", mean(error), sqrt(var(error)))
ks_hasil##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: error
## D = 0.1144, p-value = 0.5193
## alternative hypothesis: two-sided
##
## Shapiro-Wilk normality test
##
## data: error
## W = 0.95739, p-value = 0.07916
Berdasarkan uji Shapiro-Wilk, p-value = 0.0792. Karena p-value > 0.05, maka gagal tolak H₀ — residual berdistribusi normal
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 3.3325, df = 2, p-value = 0.189
p-value = 0.189. Karena p-value > 0.05, maka gagal tolak H₀ — tidak terjadi heteroskedastisitas
Kriteria: VIF < 10 → tidak ada multikolinearitas.
## Ekspor Impor
## 2.0064 2.0064
Semua VIF < 10 (Ekspor = 2.006, Impor = 2.006) — tidak ada multikolinearitas
##
## Durbin-Watson test
##
## data: model
## DW = 0.37827, p-value = 7.092e-14
## alternative hypothesis: true autocorrelation is greater than 0
Nilai DW = 0.3783. Nilai DW di luar rentang 1.5–2.5, terdapat indikasi autokorelasi
ringkasan <- data.frame(
No = 1:4,
Uji = c("Normalitas Residual","Heteroskedastisitas",
"Multikolinearitas","Autokorelasi"),
Metode = c("Shapiro-Wilk","Breusch-Pagan","VIF","Durbin-Watson"),
Statistik = c(paste0("W = ", round(sw_hasil$statistic, 4)),
paste0("BP = ", round(bp_hasil$statistic, 4)),
paste0("Max VIF = ", round(max(vif_val), 3)),
paste0("DW = ", round(as.numeric(dw_hasil$statistic), 4))),
p.value = c(round(sw_hasil$p.value, 4),
round(bp_hasil$p.value, 4),
NA,
round(dw_hasil$p.value, 4)),
Kesimpulan = c(
ifelse(sw_hasil$p.value > 0.05, "Terpenuhi", "Tidak Terpenuhi"),
ifelse(bp_hasil$p.value > 0.05, "Terpenuhi", "Tidak Terpenuhi"),
ifelse(all(vif_val < 10), "Terpenuhi", "Tidak Terpenuhi"),
ifelse(as.numeric(dw_hasil$statistic) >= 1.5 &
as.numeric(dw_hasil$statistic) <= 2.5, "Terpenuhi", "Tidak Terpenuhi")
)
)
kable(ringkasan,
caption = "Tabel 6. Ringkasan Hasil Uji Asumsi Klasik",
align = c("c","l","l","c","c","c"),
na = "-")| No | Uji | Metode | Statistik | p.value | Kesimpulan |
|---|---|---|---|---|---|
| 1 | Normalitas Residual | Shapiro-Wilk | W = 0.9574 | 0.0792 | Terpenuhi |
| 2 | Heteroskedastisitas | Breusch-Pagan | BP = 3.3325 | 0.1890 | Terpenuhi |
| 3 | Multikolinearitas | VIF | Max VIF = 2.006 | NA | Terpenuhi |
| 4 | Autokorelasi | Durbin-Watson | DW = 0.3783 | 0.0000 | Tidak Terpenuhi |
Scatter plot hubungan antara masing-masing variabel independen dengan Devisa beserta garis regresinya.
Gambar 2. Scatterplot Ekspor vs Devisa
Gambar 3. Scatterplot Impor vs Devisa
Gambar 4. Nilai Aktual vs Nilai Fitted
Gambar 5. Plot Diagnostik Residual (4-Panel)
Gambar 6. Q-Q Plot Residual
Berdasarkan hasil estimasi, model regresi linear berganda yang terbentuk adalah:
\[\widehat{\text{Devisa}} = 1.3016079\times 10^{5} + -1.2232 \cdot \text{Ekspor} + (2.1105) \cdot \text{Impor}\]
Interpretasi masing-masing koefisien:
Konstanta (β₀ = 1.3016079^{5}): Apabila nilai Ekspor dan Impor sama-sama bernilai nol, maka cadangan devisa negara diperkirakan sebesar 130,160.8 juta USD. Nilai ini merupakan baseline cadangan devisa di luar pengaruh aktivitas perdagangan internasional.
Koefisien Ekspor (β₁ = -1.2232): Setiap peningkatan nilai ekspor sebesar 1 juta USD, cadangan devisa akan menurun sebesar 1.2232 juta USD, dengan asumsi variabel impor tetap konstan (ceteris paribus). Hasil ini perlu dikaji lebih lanjut karena bertentangan dengan teori ekonomi umum.
Koefisien Impor (β₂ = 2.1105): Setiap peningkatan nilai impor sebesar 1 juta USD, cadangan devisa akan meningkat sebesar 2.1105 juta USD, dengan asumsi variabel ekspor tetap konstan (ceteris paribus). Hubungan positif ini dapat mengindikasikan bahwa peningkatan impor bahan baku mendorong produktivitas ekspor sehingga berdampak positif pada devisa.
Nilai R² = 0.1057 menunjukkan bahwa model mampu menjelaskan 10.57% variasi cadangan devisa yang disebabkan oleh perubahan ekspor dan impor. Nilai ini tergolong rendah, sehingga perlu dipertimbangkan penambahan variabel prediktor lainnya. Sisa 89.43% dijelaskan oleh faktor-faktor lain di luar model, seperti suku bunga, inflasi, atau kebijakan moneter Bank Indonesia.
Nilai Adjusted R² = 0.066 yang mendekati R² mengindikasikan bahwa penambahan variabel dalam model tidak menyebabkan inflasi pada nilai R², sehingga model dinilai efisien.
Uji F (Simultan): Nilai F-statistik = 2.6594 dengan p-value = 8.1e-02. Karena p-value ≥ 0.05, maka gagal tolak H₀ yang berarti bahwa variabel Ekspor dan Impor secara bersama-sama tidak berpengaruh signifikan terhadap cadangan devisa.
Uji t (Parsial):
Ekspor memiliki p-value = 0.1015. Karena p-value ≥ 0.05, maka gagal tolak H₀ yang berarti bahwa Ekspor tidak berpengaruh signifikan secara parsial terhadap cadangan devisa.
Impor memiliki p-value = 0.0258. Karena p-value < 0.05, maka tolak H₀ yang berarti bahwa Impor berpengaruh signifikan secara parsial terhadap cadangan devisa.
Normalitas Residual: Hasil uji Shapiro-Wilk menghasilkan p-value = 0.0792. Karena p-value > 0.05, residual model berdistribusi normal, sehingga inferensi statistik (uji t dan uji F) yang dilakukan valid.
Heteroskedastisitas: Hasil uji Breusch-Pagan menghasilkan p-value = 0.189. Karena p-value > 0.05, tidak terjadi heteroskedastisitas yang berarti bahwa variansi residual bersifat konstan (homokedastis), sehingga estimasi OLS bersifat BLUE (Best Linear Unbiased Estimator).
Multikolinearitas: Nilai VIF Ekspor = 2.006 dan VIF Impor = 2.006. Kedua nilai VIF < 10, menunjukkan tidak ada multikolinearitas antar variabel independen, sehingga koefisien regresi dapat diinterpretasikan secara individual dengan andal.
Autokorelasi: Nilai statistik Durbin-Watson = 0.3783. Nilai DW berada di luar rentang 1.5–2.5, mengindikasikan adanya autokorelasi pada residual. Pada data time series, autokorelasi dapat terjadi karena adanya tren atau pola musiman yang belum tertangkap model.
Berdasarkan hasil analisis regresi linear berganda terhadap data Ekspor, Impor, dan Cadangan Devisa Indonesia periode Januari 2022 – Desember 2025, diperoleh kesimpulan sebagai berikut:
Model regresi yang terbentuk adalah: \[\widehat{\text{Devisa}} = 1.3016079\times 10^{5} + -1.2232 \cdot \text{Ekspor} + (2.1105) \cdot \text{Impor}\]
Koefisien determinasi R² = 0.1057, artinya Ekspor dan Impor mampu menjelaskan 10.57% variasi cadangan devisa. Adjusted R² = 0.066.
Uji F menunjukkan model tidak signifikan secara simultan (F = 2.6594, p-value = 8.1e-02).
Uji t parsial:
Uji asumsi klasik: