Regresi Linier Berganda: Pengaruh Jumlah Belajar per Minggu dan Tingkat Kehadiran terhadap Nilai Ujian Mahasiswa

Dalam proses pembelajaran di perguruan tinggi, hasil nilai ujian mahasiswa tidak hanya dipengaruhi oleh kemampuan akademik, tetapi juga oleh faktor perilaku belajar. Dua faktor yang sering dianggap berpengaruh adalah jumlah jam belajar dan tingkat kehadiran di kelas. Jumlah jam belajar mencerminkan usaha mahasiswa dalam memahami materi, sedangkan kehadiran menunjukkan keterlibatan aktif dalam proses pembelajaran. Oleh karena itu, penting untuk mengetahui bagaimana kedua faktor tersebut memengaruhi nilai ujian mahasiswa sebagai indikator keberhasilan akademik.

Diberikan data dari 10 mahasiswa yang terdiri dari jumlah jam belajar (jam/minggu), tingkat kehadiran (%), dan nilai ujian yang diperoleh.

No Y \(X_1\) \(X_2\)
1 65 2 60
2 70 3 65
3 75 4 70
4 80 5 75
5 85 6 80
6 78 5 72
7 72 3 68
8 90 7 85
9 88 6 83
10 95 8 90

Dalam studi kasus ini, peneliti mengumpulkan data dari 10 mahasiswa yang terdiri dari nilai ujian (Y), jumlah jam belajar per minggu (X₁), dan tingkat kehadiran dalam persentase (X₂). Data menunjukkan bahwa jumlah jam belajar berada pada kisaran 2 hingga 8 jam per minggu, tingkat kehadiran berkisar antara 60% hingga 90%, serta nilai ujian berada pada rentang 65 hingga 95.

Variasi data ini menunjukkan adanya perbedaan intensitas belajar dan kedisiplinan kehadiran mahasiswa, yang diduga berkontribusi terhadap perbedaan hasil nilai ujian.

Selanjutnya, data tersebut dianalisis menggunakan regresi linier berganda dan diberikan soal sebagai berikut:

  1. Estimasikan model regresi linier berganda menggunakan metode OLS berbasis matriks dan interpretasikan hasilnya?

  2. Hitung Uji F dan uji t secara manual dan interpretasikan hasilnya?

  3. Hitung nilai R² dan Adjusted R² secara manual dan interpretasikan hasilnya?

  4. Bandingkan hasil no 1 s.d 3 dengan fungsi lm.

  5. Prediksikan nilai ujian mahasiswa jika jumlah jam belajar 1 jam/minggu namun kehadirannya 100%?

Load Library dan Input Data

# Load Library
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(car)
## Loading required package: carData
# Input Data 
Y <- c(65,70,75,80,85,78,72,90,88,95) 
X1 <- c(2,3,4,5,6,5,3,7,6,8) 
X2 <- c(60,65,70,75,80,72,68,85,83,90) 
data <- data.frame(Y, X1, X2)

DT::datatable(data)

Estimasi Model Regresi (OLS Matriks)

Regresi linier berganda merupakan metode analisis yang digunakan untuk menggambarkan hubungan antara satu variabel terikat (\(Y\)) dengan dua atau lebih variabel bebas (\(X\)). Model ini bertujuan untuk melihat bagaimana perubahan pada variabel independen dapat memengaruhi variabel dependen.

Secara umum, bentuk matematis dari model regresi linier berganda dapat dinyatakan sebagai berikut:

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon \] dengan keterangan:

- \(Y\) : variabel dependen
- \(X_k\) : variabel independen ke-\(k\)
- \(\beta_0\) : konstanta
- \(\beta_k\) : koefisien regresi
- \(\varepsilon\) : komponen error atau residual

Selain itu, dalam praktik analisis, model regresi digunakan untuk memperoleh nilai taksiran dari variabel dependen berdasarkan nilai variabel independen yang diketahui. Bentuk persamaan estimasinya adalah:

\[ \hat{Y} = \hat{\beta}_0 + \hat{\beta}_1 X_1 + \hat{\beta}_2 X_2 + \cdots + \hat{\beta}_k X_k \]

dengan keterangan:

- \(\hat{Y}\) : nilai prediksi dari variabel dependen
- \(\hat{\beta}_k\) : koefisien regresi hasil estimasi

Dalam penelitian ini, penentuan model dilakukan dengan dua pendekatan, yaitu perhitungan manual menggunakan metode matriks dan analisis menggunakan fungsi lm() pada perangkat lunak R.

Untuk memperoleh nilai koefisien regresi secara manual, digunakan pendekatan matriks dengan rumus:

\[ \beta = (X^T X)^{-1} X^T Y \]

# Membentuk matriks X (dengan intercept)
X <- cbind(1, X1, X2)

# Mengubah Y menjadi matriks
Y <- as.matrix(Y)

# Hitung X transpose kali X
XtX <- t(X) %*% X

# Hitung X transpose kali Y
XtY <- t(X) %*% Y

# Hitung Beta (Koefisien)
beta_hat <- solve(XtX) %*% XtY
rownames(beta_hat) <- c("Intercept", "Jam_Belajar (X1)", "Kehadiran (X2)")
beta_hat
##                        [,1]
## Intercept        16.1360113
## Jam_Belajar (X1)  1.1698379
## Kehadiran (X2)    0.7744891

Berdasarkan hasil perhitungan menggunakan metode Ordinary Least Squares (OLS), diperoleh model regresi sebagai berikut:

\[ \hat{Y} = 16.136 + 1.169X_1 - 0.774X_2 \] Interpretasi:

  • Intercept (β₀ = 16.136)

    Menunjukkan nilai ujian ketika jam belajar dan kehadiran bernilai nol. Nilai ini hanya sebagai konstanta model dan tidak memiliki makna praktis.

  • Koefisien X1 (β₁ = 1.169)

    Artinya, setiap penambahan 1 jam belajar per minggu, nilai ujian akan meningkat sebesar 1.169 poin, dengan asumsi kehadiran tetap.

  • Koefisien X2 (β₂ = 0.774)

    Artinya, setiap kenaikan 1% kehadiran, nilai ujian meningkat sebesar 0.774 poin, dengan asumsi jam belajar tetap.

Uji F dan Uji t (Manual)

Buat perhitungan untuk nilai prediksi, nilai residual dan lain-lain sebelum menentukan F-hitung dan t-hitungnya

# Nilai Prediksi dan Residual
Y_hat <- X %*% beta_hat
e <- Y - Y_hat

# Jumlah kuadrat
SSE <- t(e) %*% e
SST <- t(Y - mean(Y)) %*% (Y - mean(Y))
SSR <- SST - SSE

# Degree of Freedom
n <- nrow(X)
k <- ncol(X) - 1
df_total <- n - 1
df_reg <- ncol(X) - 1 # jumlah variabel X
df_err <- n - 3

# Mean Squares
MSR <- SSR / df_reg
MSE <- SSE / df_err

Uji F

Uji F digunakan untuk mengetahui apakah variabel independen, yaitu jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)), secara bersama-sama berpengaruh terhadap variabel dependen yaitu nilai UAS (\(Y\)).

Hipotesis yang digunakan dalam uji F adalah:

- \(H_0\): \(\beta_1 = \beta_2 = 0\) (tidak terdapat pengaruh secara simultan)
- \(H_1\): minimal salah satu \(\beta \neq 0\) (terdapat pengaruh secara simultan)

Rumus F-Hitung (Uji Simultan)

Dalam analisis regresi berganda, rumus \(F_{hitung}\) didefinisikan sebagai rasio antara rata-rata jumlah kuadrat regresi dengan rata-rata jumlah kuadrat galat:

\[F_{hitung} = \frac{MSR}{MSE}\]

Atau jika dijabarkan lebih detail:

\[F_{hitung} = \frac{SSR / k}{SSE / (n - k - 1)}\]

Keterangan:

* \(SSR\) (Sum of Squares Regression): Jumlah kuadrat regresi.

* \(SSE\) (Sum of Squares Error): Jumlah kuadrat galat/sisaan.

* \(k\): Jumlah variabel independen (\(X\)).

* \(n\): Jumlah sampel/observasi.

# Uji F
f_hitung <- MSR / MSE
f_tabel <- qf(0.95, df_reg, df_err)
list(F_Hitung = f_hitung, F_Tabel = f_tabel)
## $F_Hitung
##          [,1]
## [1,] 5172.116
## 
## $F_Tabel
## [1] 4.737414
  • Kriteria pengujian untuk Uji F

    jika \(F_{hitung} > F_{tabel}\), maka \(H_0\) ditolak dan \(H_a\) diterima.

    Nilai \(F_{hitung}\) (\(5172.116\)) jauh melampaui nilai \(F_{tabel}\) (\(4.737414\)).

Dapat disimpulkan dengan tingkat kepercayaan 95% bahwa variabel Jam Belajar (\(X_1\)) dan Tingkat Kehadiran (\(X_2\)) secara bersama-sama (simultan) memiliki pengaruh yang sangat signifikan terhadap Nilai Ujian (\(Y\)).

Uji t

Uji t digunakan untuk mengetahui pengaruh masing-masing variabel independen secara individu terhadap variabel dependen.

Hipotesis yang digunakan adalah:

- \(H_0\): \(\beta_k = 0\) (variabel independen tidak berpengaruh terhadap nilai Ujian)
- \(H_1\): \(\beta_k \neq 0\) (variabel independen berpengaruh terhadap nilai Ujian)

Rumus Uji t (Uji Parsial)

Uji t digunakan untuk mengetahui apakah masing-masing variabel bebas (\(X_1\) dan \(X_2\)) secara parsial berpengaruh signifikan terhadap variabel tak bebas (\(Y\)). Rumus \(t_{hitung}\) untuk koefisien regresi adalah:

\[t_{hitung} = \frac{\hat{\beta_j}}{se(\hat{\beta_j})}\]

Keterangan: * \(\hat{\beta_j}\): Koefisien regresi untuk variabel ke-\(j\). * \(se(\hat{\beta_j})\): Standard Error (kesalahan baku) dari koefisien regresi ke-\(j\).

Nilai Standard Error ini diperoleh dari akar kuadrat diagonal matriks varians-kovarians: \[se(\hat{\beta}) = \sqrt{MSE \times (X^T X)^{-1}}\]

# Standard Error Koefisien
var_covar <- as.numeric(MSE) * solve(XtX)
se_beta <- sqrt(diag(var_covar))

t_hitung <- beta_hat / se_beta
t_tabel <- qt(0.95, df_err)
cbind(t_hitung, t_tabel)
##                             t_tabel
## Intercept         5.688154 1.894579
## Jam_Belajar (X1)  4.201468 1.894579
## Kehadiran (X2)   13.900261 1.894579
  • Uji t untuk Jam Belajar (\(X_1\))

    Interpretasi:

    Nilai \(t_{hitung}\) untuk variabel Jam Belajar adalah 4.201468. Jika kita bandingkan dengan \(t_{tabel}\) (1.894579), maka \(t_{hitung} > t_{tabel}\).

    Kesimpulan:

    Variabel Jam Belajar berpengaruh secara positif dan signifikan terhadap Nilai Ujian. Artinya, setiap kenaikan satu satuan jam belajar akan meningkatkan nilai ujian sebesar 1.1698379 poin, dengan asumsi variabel kehadiran tetap.

  • Uji t untuk Kehadiran (\(X_2\))

    Interpretasi:

    Nilai \(t_{hitung}\) untuk variabel Kehadiran adalah 13.900261. Angka ini sangat tinggi dan jauh melampaui \(t_{tabel}\).

    Kesimpulan: Variabel Kehadiran memiliki pengaruh yang sangat signifikan terhadap Nilai Ujian. Secara spesifik, setiap kenaikan satu persen kehadiran akan meningkatkan nilai ujian sebesar 0.7744891 poin. Ini menunjukkan kehadiran adalah faktor yang sangat dominan dalam model ini.

R² dan Adjusted R²

Koefisien Determinasi (\(R^2\) dan \(Adj. R^2\))

Koefisien determinasi digunakan untuk mengukur seberapa besar proporsi variasi variabel dependen (\(Y\)) yang dapat dijelaskan oleh variabel independen (\(X\)) dalam model regresi.

A. Rumus R-Squared (\(R^2\))

Rumus umum untuk \(R^2\) adalah:

\[R^2 = 1 - \frac{SSE}{SST}\]

Atau dapat juga dituliskan sebagai rasio antara jumlah kuadrat regresi dengan jumlah kuadrat total:

\[R^2 = \frac{SSR}{SST}\]

Keterangan:

* \(SSR\) (Sum of Squares Regression): Variasi yang dijelaskan oleh model.

* \(SSE\) (Sum of Squares Error): Variasi yang tidak dijelaskan (residual).

* \(SST\) (Sum of Squares Total): Total variasi data (\(SSR + SSE\)).

B. Rumus Adjusted R-Squared (\(\bar{R}^2\))

Karena \(R^2\) biasa akan selalu meningkat seiring bertambahnya variabel independen, maka digunakan Adjusted R-Squared untuk mendapatkan gambaran yang lebih objektif:

\[\text{Adj. } R^2 = 1 - \left[ \frac{(1 - R^2)(n - 1)}{n - k - 1} \right]\]

Keterangan:

* \(n\): Jumlah observasi (sampel).

* \(k\): Jumlah variabel independen (dalam kasus ini \(k=2\), yaitu \(X_1\) dan \(X_2\)).

r_sq <- 1 - (SSE/SST)
adj_r_sq <- 1 - ((SSE/df_err) / (SST/df_total))

list(R_Squared = r_sq, Adj_R_Squared = adj_r_sq)
## $R_Squared
##           [,1]
## [1,] 0.9993238
## 
## $Adj_R_Squared
##           [,1]
## [1,] 0.9991305
  • Analisis Kemampuan Model (\(R^2\))

    Nilai \(R^2\) sebesar 0,9993 mengandung arti bahwa variasi pada variabel dependen (Nilai Ujian) dapat dijelaskan oleh variabel independen (Jam Belajar dan Kehadiran) sebesar 99,93%.

  • Analisis Keandalan Model (\(Adj. \ R^2\))

    Nilai Adjusted R-Squared sebesar 0,9992 hampir sama dengan nilai \(R^2\) biasa. Hal ini menunjukkan bahwa penambahan variabel Jam Belajar (\(X_1\)) dan Kehadiran (\(X_2\)) ke dalam model memang benar-benar meningkatkan daya prediksi model secara signifikan, bukan sekadar penambahan variabel tanpa kontribusi nyata.

  • Faktor Luar Model

    Hanya sekitar 0,07% (\(100\% - 99,93\%\)) variasi Nilai Ujian yang dipengaruhi oleh faktor lain di luar penelitian ini (seperti kondisi fisik saat ujian, keberuntungan, atau tingkat kecerdasan emosional).

Perbandingan: Perhitungan Manual vs Fungsi lm()

Untuk memastikan akurasi perhitungan manual berbasis matriks, kita akan membandingkan hasilnya dengan fungsi standar R lm().

# 1. Estimasi Model menggunakan fungsi lm()
model_otomatis <- lm(Y ~ X1 + X2)
ringkasan <- summary(model_otomatis)

# 2. Ekstraksi Nilai dari lm()
koefisien_lm <- ringkasan$coefficients[, 1]
t_hitung_lm  <- ringkasan$coefficients[, 3]
f_hitung_lm  <- ringkasan$fstatistic[1]
r_sq_lm      <- ringkasan$r.squared
adj_r_sq_lm  <- ringkasan$adj.r.squared

# 3. Membuat Tabel Perbandingan
perbandingan <- data.frame(
  Indikator = c("Intercept", "Koefisien X1", "Koefisien X2", 
                "F-Hitung", 
                "t-Hitung Intercept", "t-Hitung X1", "t-Hitung X2", 
                "R-Squared", "Adj. R-Squared"),
  
  Manual = c(beta_hat[1], beta_hat[2], beta_hat[3], 
             f_hitung, 
             t_hitung[1], t_hitung[2], t_hitung[3], 
             r_sq, adj_r_sq),
  
  Fungsi_lm = c(koefisien_lm[1], koefisien_lm[2], koefisien_lm[3], 
                f_hitung_lm, 
                t_hitung_lm[1], t_hitung_lm[2], t_hitung_lm[3], 
                r_sq_lm, adj_r_sq_lm)
)

knitr::kable(perbandingan, digits = 4, caption = "Tabel Perbandingan Hasil Perhitungan")
Tabel Perbandingan Hasil Perhitungan
Indikator Manual Fungsi_lm
Intercept 16.1360 16.1360
Koefisien X1 1.1698 1.1698
Koefisien X2 0.7745 0.7745
F-Hitung 5172.1158 5172.1158
t-Hitung Intercept 5.6882 5.6882
t-Hitung X1 4.2015 4.2015
t-Hitung X2 13.9003 13.9003
R-Squared 0.9993 0.9993
Adj. R-Squared 0.9991 0.9991
  1. Persamaan Regresi (Estimasi Model)

    Nilai koefisien pada kedua metode menunjukkan hasil yang sama persis hingga empat angka di belakang koma:

    • Intercept (\(\beta_0\)): 16.1360

    • Koefisien Jam Belajar (\(X_1\)): 1.1698

    • Koefisien Kehadiran (\(X_2\)): 0.7745

    Makna Model: Jika jam belajar (\(X_1\)) dan kehadiran (\(X_2\)) bernilai nol, maka nilai ujian diprediksi sebesar 16.1360. Setiap kenaikan 1 jam belajar akan meningkatkan nilai sebesar 1.1698 poin, dan setiap kenaikan 1% kehadiran akan meningkatkan nilai sebesar 0.7745 poin.

  2. Uji Signifikansi (F-Hitung dan t-Hitung)

    • F-Hitung (5172.1158):

      Nilai ini sangat besar dan identik pada kedua metode. Hal ini menunjukkan bahwa secara simultan (serempak), Jam Belajar dan Kehadiran memiliki pengaruh yang sangat signifikan terhadap Nilai Ujian.

    • t-Hitung:

      Nilai \(t\) untuk Intercept (5.6882), \(X_1\) (4.2015), dan \(X_2\) (13.9003) juga sama persis. Karena semua nilai \(t_{hitung} > t_{tabel}\) (biasanya sekitar 2.365 untuk data ini), maka secara parsial kedua variabel independen berpengaruh signifikan terhadap nilai ujian.

  3. Ketepatan Model (\(R^2\) dan \(Adj. R^2\))

    • R-Squared (0.9993): Menunjukkan bahwa 99,93% variasi Nilai Ujian dapat dijelaskan oleh variabel Jam Belajar dan Kehadiran. Hanya 0,07% yang dijelaskan oleh faktor lain di luar model.

    • Adj. R-Squared (0.9991): Nilai yang telah disesuaikan ini tetap sangat tinggi, menunjukkan bahwa model ini sangat efisien dan tidak mengandung variabel yang mubazir.

Kesimpulan Validasi

Perhitungan manual menggunakan metode OLS berbasis matriks \(\hat{\beta} = (X'X)^{-1} X'Y\) terbukti akurat dan valid. Konsistensi nilai antara kolom “Manual” dan “Fungsi_lm” memberikan keyakinan bahwa seluruh tahapan statistik—mulai dari estimasi koefisien hingga pengujian hipotesis—telah dikerjakan dengan benar sesuai kaidah ekonometrika.

Prediksi Nilai

# Input variabel baru
x1_baru <- 1
x2_baru <- 100

# Perhitungan manual berdasarkan koefisien
nilai_prediksi <- beta_hat[1] + (beta_hat[2] * x1_baru) + (beta_hat[3] * x2_baru)

# Menampilkan hasil
cat("Prediksi Nilai Ujian (Y) adalah:", round(nilai_prediksi, 4))
## Prediksi Nilai Ujian (Y) adalah: 94.7548

Hasil Prediksi: Berdasarkan model regresi yang telah dibentuk, jika seorang mahasiswa memiliki waktu belajar mandiri sebanyak 1 jam per minggu (\(X_1 = 1\)) namun mempertahankan tingkat kehadiran sempurna sebesar 100% (\(X_2 = 100\)), maka prediksi nilai ujian yang akan diperoleh adalah:

\[\hat{Y} = 16.1360 + 1.1698(1) + 0.7745(100)\] \[\hat{Y} = 16.1360 + 1.1698 + 77.45\] \[\hat{Y} = \mathbf{94.7558}\]

Kesimpulan: Mahasiswa tersebut diprediksi akan mendapatkan nilai sebesar 94.76. Hal ini menunjukkan bahwa meskipun waktu belajar mandiri sangat minim (hanya 1 jam), tingkat kehadiran yang maksimal memberikan kontribusi yang sangat besar terhadap pencapaian nilai akhir. Hal ini konsisten dengan nilai \(t_{hitung}\) variabel kehadiran yang sebelumnya kita temukan sangat dominan dalam model ini.