Mahasiswa merupakan salah satu kelompok yang rentan mengalami stres karena berbagai tuntutan akademik dan nonakademik. Tekanan untuk memperoleh nilai yang baik, banyaknya tugas, kualitas hubungan sosial, tingkat kecemasan, rendahnya rasa percaya diri, persaingan antarteman, lingkungan rumah, serta permasalahan tidur merupakan beberapa faktor yang sering menjadi penyebab stres pada mahasiswa.
Stres dikategorikan menjadi tiga tipe:
| Tipe | Deskripsi |
|---|---|
| Distress | Stres negatif : memberikan berbagai dampak negatif seperti menjadi gugup, tekanan darah tinggi, mudah marah, dan sulit berkonsentrasi |
| Eustress | Stres positif : membuat seseorang menjadi bersemangat dan meningkatkan konsentrasi belajar |
| Mixed Stress | Stres campuran : kombinasi dari keduanya |
“Stres yang tidak dikelola dengan baik dapat memengaruhi kesehatan dan prestasi akademik mahasiswa.”
Oleh karena itu, faktor-faktor tersebut dapat dikategorikan menjadi faktor yang menyebabkan eustress maupun faktor yang menyebabkan distress. Identifikasi faktor-faktor tersebut penting untuk memahami sumber stres serta menentukan upaya pengelolaan stres yang tepat.
Mengidentifikasi faktor-faktor akademik, sosial, psikologis, dan lingkungan yang berhubungan dengan tipe stres mahasiswa menggunakan Regresi Logistik Multinomial
| Keterangan | |
|---|---|
| Sumber | Stress Indicators Dataset for Mental Health Classification (Mendeley Data, 2025) |
| Populasi | Mahasiswa Daffodil International University |
| Jumlah Observasi | 2.000 baris |
| Pengukuran | Skala Likert 1–5 |
Variabel Dependen (Y) — Tipe Stres:
0 = Distress | 1 = Eustress
(referensi) | 2 = Mixed Stress
Variabel Independen (X) — 7 prediktor skala Likert 1–5:
| Kode | Variabel |
|---|---|
| X1 | Tingkat Kecemasan (anxiety_tension) |
| X2 | Gangguan Tidur (sleep_problems) |
| X3 | Beban Akademik (academic_overload) |
| X4 | Rendah Diri Akademik (low_academic_confidence) |
| X5 | Persaingan Teman Sebaya (peer_competition) |
| X6 | Stres Hubungan Interpersonal (relationship_stress) |
| X7 | Lingkungan Rumah (home_environment) |
Data tidak seimbang, Eustress mendominasi (91%)
Statistik Deskriptif
│
▼
Uji Chi-Square
│
▼
Uji Multikolinearitas (VIF)
│
▼
Baseline Category Logit Model
(Regresi Logistik Multinomial)
│
┌─────────┴──────────┐
▼ ▼
Uji Wald (parsial) Goodness of Fit
+ RRR + CI 95% (McFadden, Nagelkerke, AIC)
│
▼
Confusion Matrix & Akurasi
Dengan Eustress sebagai kategori referensi, model membentuk dua persamaan logit:
\[\log\frac{\hat{\pi}_D}{\hat{\pi}_E} = \beta_{00} + \beta_{01}X_1 + \beta_{02}X_2 + \cdots + \beta_{07}X_7\]
\[\log\frac{\hat{\pi}_M}{\hat{\pi}_E} = \beta_{20} + \beta_{21}X_1 + \beta_{22}X_2 + \cdots + \beta_{27}X_7\]
Interpretasi RRR (Relative Risk Ratio = \(e^\beta\)):
Distress selalu tertinggi dan Mixed Stress selalu terendah. Hal tersebut mengindikasikan beban stressor yang sangat berbeda antarkelompok.
| TipeStres | Tingkat Kecemasan | Gangguan Tidur | Beban Akademik | Rendah Diri Akademik | Persaingan Teman Sebaya | Stres Hubungan Interpersonal | Lingkungan Rumah |
|---|---|---|---|---|---|---|---|
| Distress | 3.928 | 4.029 | 3.739 | 3.783 | 3.609 | 3.623 | 3.594 |
| Eustress | 2.531 | 2.772 | 2.497 | 2.554 | 2.457 | 2.496 | 2.407 |
| Mixed Stress | 1.738 | 1.718 | 1.864 | 1.786 | 1.874 | 1.835 | 1.728 |
#> Variabel Chi² p-value Sig
#> -----------------------------------------------------------------
for (i in seq_along(predictors)) {
tbl <- table(df$stress_label, df[[predictors[i]]])
test <- chisq.test(tbl, simulate.p.value = TRUE, B = 2000)
sig <- ifelse(test$p.value < 0.05, "*", "")
cat(sprintf("%-32s %10.3f %12.5f %6s\n",
pred_labels[i], test$statistic, test$p.value, sig))
}#> Tingkat Kecemasan 494.894 0.00050 *
#> Gangguan Tidur 496.533 0.00050 *
#> Beban Akademik 310.250 0.00050 *
#> Rendah Diri Akademik 412.182 0.00050 *
#> Persaingan Teman Sebaya 266.394 0.00050 *
#> Stres Hubungan Interpersonal 286.760 0.00050 *
#> Lingkungan Rumah 370.729 0.00050 *
Seluruh variabel signifikan (p < 0,05)
formula_vif <- as.formula(paste("stress_type ~",
paste(predictors, collapse = " + ")))
vif_vals <- vif(lm(formula_vif, data = df))
vif_df <- data.frame(Variabel = pred_labels, VIF = round(vif_vals, 3))
kable(vif_df, caption = "Tabel 3.4 — Nilai VIF Variabel Prediktor",
align = "lr") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE, font_size = 13) %>%
column_spec(2, color = ifelse(vif_df$VIF < 5, "#27AE60", "#E74C3C"),
bold = TRUE)| Variabel | VIF | |
|---|---|---|
| anxiety_tension | Tingkat Kecemasan | 1.063 |
| sleep_problems | Gangguan Tidur | 1.063 |
| academic_overload | Beban Akademik | 1.038 |
| low_academic_confidence | Rendah Diri Akademik | 1.052 |
| peer_competition | Persaingan Teman Sebaya | 1.040 |
| relationship_stress | Stres Hubungan Interpersonal | 1.049 |
| home_environment | Lingkungan Rumah | 1.034 |
Semua VIF < 5 sehingga dapat disimpulkan bahwa tidak ada multikolinearitas.
df$stress_r <- relevel(factor(df$stress_type), ref = "1")
formula_model <- as.formula(paste("stress_r ~",
paste(predictors, collapse = " + ")))
model <- multinom(formula_model, data = df, maxit = 500, trace = FALSE)| Intercept | Tingkat Kecemasan | Gangguan Tidur | Beban Akademik | Rendah Diri Akademik | Persaingan Teman Sebaya | Stres Hubungan Interpersonal | Lingkungan Rumah | |
|---|---|---|---|---|---|---|---|---|
| Distress vs Eustress | -39.8177 | 1.7117 | 1.9731 | 1.8188 | 1.1303 | 1.3289 | 1.3880 | 2.3158 |
| Mixed Stress vs Eustress | 15.3574 | -1.5742 | -1.6062 | -1.1004 | -1.2515 | -0.9023 | -0.8283 | -1.2582 |
Berdasarkan estimasi, dua persamaan logit yang terbentuk adalah sebagai berikut:
Distress vs Eustress: \[\log\frac{\hat{\pi}_D}{\hat{\pi}_E} = -18{,}729 + 1{,}127X_1 + 0{,}708X_2 + 0{,}271X_3 + 0{,}695X_4 + 0{,}959X_5 + 0{,}310X_6 + 0{,}762X_7\]
Mixed Stress vs Eustress: \[\log\frac{\hat{\pi}_M}{\hat{\pi}_E} = 6{,}573 - 0{,}908X_1 - 1{,}170X_2 - 0{,}402X_3 - 0{,}476X_4 - 0{,}533X_5 - 0{,}561X_6 - 0{,}532X_7\]
| Model | Arah Koefisien | Interpretasi |
|---|---|---|
| Distress vs Eustress | Semua positif (+) | Semakin tinggi stressor maka peluang Distress meningkat |
| Mixed Stress vs Eustress | Semua negatif (−) | Semakin tinggi stressor maka peluang Mixed Stress menurun |
| Variabel | β | SE | Z | p-value | RRR | 95% CI | |
|---|---|---|---|---|---|---|---|
| (Intercept) | Intercept | -39.8177 | 5.0861 | -7.8287 | 0e+00 | 0.0000 | [0 ; 0] |
| anxiety_tension | Tingkat Kecemasan | 1.7117 | 0.3805 | 4.4985 | 0e+00 | 5.5382 | [2.627 ; 11.675] |
| sleep_problems | Gangguan Tidur | 1.9731 | 0.4170 | 4.7313 | 0e+00 | 7.1928 | [3.176 ; 16.288] |
| academic_overload | Beban Akademik | 1.8188 | 0.3759 | 4.8383 | 0e+00 | 6.1647 | [2.951 ; 12.88] |
| low_academic_confidence | Rendah Diri Akademik | 1.1303 | 0.3424 | 3.3010 | 1e-03 | 3.0966 | [1.583 ; 6.058] |
| peer_competition | Persaingan Teman Sebaya | 1.3289 | 0.3482 | 3.8160 | 1e-04 | 3.7767 | [1.909 ; 7.474] |
| relationship_stress | Stres Hubungan Interpersonal | 1.3880 | 0.3609 | 3.8466 | 1e-04 | 4.0070 | [1.975 ; 8.128] |
| home_environment | Lingkungan Rumah | 2.3158 | 0.4550 | 5.0898 | 0e+00 | 10.1330 | [4.154 ; 24.718] |
Prediktor yang terkuat adalah Tingkat Kecemasan (RRR = 3,09) & Persaingan Teman Sebaya (RRR = 2,61)
| Variabel | β | SE | Z | p-value | RRR | 95% CI | |
|---|---|---|---|---|---|---|---|
| (Intercept) | Intercept | 15.3574 | 1.3316 | 11.5331 | 0 | 4673550.5601 | [343707.272 ; 63548480.39] |
| anxiety_tension | Tingkat Kecemasan | -1.5742 | 0.2145 | -7.3392 | 0 | 0.2072 | [0.136 ; 0.315] |
| sleep_problems | Gangguan Tidur | -1.6062 | 0.1977 | -8.1247 | 0 | 0.2007 | [0.136 ; 0.296] |
| academic_overload | Beban Akademik | -1.1004 | 0.1940 | -5.6727 | 0 | 0.3327 | [0.228 ; 0.487] |
| low_academic_confidence | Rendah Diri Akademik | -1.2515 | 0.1925 | -6.5014 | 0 | 0.2861 | [0.196 ; 0.417] |
| peer_competition | Persaingan Teman Sebaya | -0.9023 | 0.1865 | -4.8370 | 0 | 0.4056 | [0.281 ; 0.585] |
| relationship_stress | Stres Hubungan Interpersonal | -0.8283 | 0.1831 | -4.5233 | 0 | 0.4368 | [0.305 ; 0.625] |
| home_environment | Lingkungan Rumah | -1.2582 | 0.2061 | -6.1051 | 0 | 0.2842 | [0.19 ; 0.426] |
Prediktor terkuat yang terkuat adalah Gangguan Tidur (RRR = 0,310)
ll_full <- logLik(model)
ll_null <- logLik(multinom(stress_r ~ 1, data = df, trace = FALSE))
lr_chi2 <- -2 * (as.numeric(ll_null) - as.numeric(ll_full))
lr_df_val <- attr(ll_full,"df") - attr(ll_null,"df")
lr_p <- pchisq(lr_chi2, df = lr_df_val, lower.tail = FALSE)
mcfadden_r2 <- 1 - (as.numeric(ll_full) / as.numeric(ll_null))
n <- nrow(df)
nagelkerke <- (1 - exp((2/n)*(as.numeric(ll_null)-as.numeric(ll_full)))) /
(1 - exp((2/n)*as.numeric(ll_null)))| Indikator | Nilai | Keterangan |
|---|---|---|
| Log-Likelihood (Null) | -702.207 | Model tanpa prediktor |
| Log-Likelihood (Full) | -221.886 | Model dengan 7 prediktor |
| LR Chi-Square | 960.643 | df=14, p<0,001 → Signifikan |
| McFadden Pseudo R² | 0.684 | ≥ 0,40 → Kecocokan Sangat Baik |
| Nagelkerke Pseudo R² | 0.756 | 52,36% variasi tipe stres dijelaskan model |
| AIC | 475.771 | Efisiensi model |
| BIC | 565.386 | Penalti kompleksitas |
pred_class <- predict(model, newdata = df)
conf_matrix <- table(Aktual = df$stress_r, Prediksi = pred_class)
print(conf_matrix)#> Prediksi
#> Aktual 1 0 2
#> 1 1807 5 16
#> 0 13 56 0
#> 2 49 0 54
accuracy <- mean(pred_class == df$stress_r) * 100
cat(sprintf("\nAkurasi Keseluruhan: %.1f%%\n", accuracy))#>
#> Akurasi Keseluruhan: 95.9%
Akurasi 92,3% tergolong tinggi. Namun, terdapat bias pada kelas mayoritas (Eustress) sehingga model kurang sensitif dalam mendeteksi Distress dan Mixed Stress.
Semua 7 variabel signifikan berhubungan dengan tipe stres (p < 0,05).
Model sangat baik: McFadden R² = 0,437 (> 0,40), Nagelkerke R² = 0,524.
| Perbandingan | Prediktor Terkuat | RRR | Makna |
|---|---|---|---|
| Distress vs Eustress | Tingkat Kecemasan | 3,09 | Tingkat Kecemasan meningkat maka risiko Distress 3× lebih tinggi dibandingkan Eustress |
| Distress vs Eustress | Persaingan Teman Sebaya | 2,61 | Persaingan Teman Sebaya meningkat maka risiko Distress meningkat dibandingkan Eustress |
| Mixed Stress vs Eustress | Gangguan Tidur | 0,31 | Gangguan tidur meningkat maka risiko Mixed Stress 69% lebih kecil dibandingkan Eustress |