DATA

Diberikan data tentang IQ dan tingkat kehadiran sepuluh siswa di kelas yang diperkirakan mempengaruhi nilai UAS.

  1. Buatlah persamaan regresi linier berganda ! (hitung beta duga secara manual di R dan bandingkan dengan fungsi lm)
  2. Lakukan Uji-F ! (interpretasikan hasilnya)
  3. Lakukan Uji-t ! (interpretasikan hasilnya)
  4. Berapa koefisien determinasinya? Interpretasi hasil ini !
  5. Lakukan uji asumsi dan jelaskan hasilnya
# Input Data
X1 <- c(60,70,75,80,80,90,95,95,100,100)                  # Kehadiran
X2 <- c(110,120,115,130,110,120,120,125,110,120)          # IQ
Y  <- c(65,70,75,75,80,80,85,95,90,98)                    # Nilai UAS

NOMOR 1: REGRESI

— Perhitungan Manual —

X <- cbind(1, X1, X2)
beta_manual <- solve(t(X) %*% X) %*% t(X) %*% Y

cat("Hasil Koefisien Manual:\n")
## Hasil Koefisien Manual:
print(beta_manual)
##          [,1]
##    23.0544545
## X1  0.7372330
## X2 -0.0343275

— Verifikasi dengan Fungsi R —

model_lm <- lm(Y ~ X1 + X2)        

cat("\nHasil Koefisien (Fungsi lm):\n")  
## 
## Hasil Koefisien (Fungsi lm):
print(coef(model_lm))
## (Intercept)          X1          X2 
##  23.0544545   0.7372330  -0.0343275

Berdasarkan hasil perhitungan diperoleh persamaan regresi linier berganda sebagai berikut:

\[Y = 23.054 + 0.737 X_1 - 0.034 X_2\]

  • Konstanta (\(\beta_0 = 23.054\))

Jika variabel Tingkat Kehadiran (\(X_1\)) dan IQ (\(X_2\)) bernilai nol, maka nilai UAS (\(Y\)) diprediksi sebesar 23.054. Angka ini merupakan nilai intercept atau konstanta awal dalam model.

  • Koefisien Tingkat Kehadiran (\(\beta_1 = 0.737\))

Nilai positif ini menunjukkan hubungan yang searah. Setiap kenaikan 1% Tingkat Kehadiran, maka Nilai UAS diprediksi akan meningkat sebesar 0.737 poin (dengan asumsi IQ tetap).

  • Koefisien IQ (\(\beta_1 = - 0.034\))

Nilai negatif ini menunjukkan hubungan yang berlawanan arah. Setiap kenaikan 1 poin IQ, maka Nilai UAS diprediksi akan menurun sebesar 0.034 poin (dengan asumsi tingkat kehadiran tetap). Namun, karena nilainya sangat mendekati nol, pengaruh ini tergolong sangat kecil.

— Nilai Prediksi & Residual —

Y_hat <- predict(model_lm)                        
res <- residuals(model_lm)  

tabel_hasil <- data.frame(Aktual=Y, Prediksi=round(Y_hat,2), Residual=round(res,2))

cat("\nTabel Prediksi dan Residual:\n")
## 
## Tabel Prediksi dan Residual:
print(tabel_hasil)
##    Aktual Prediksi Residual
## 1      65    63.51     1.49
## 2      70    70.54    -0.54
## 3      75    74.40     0.60
## 4      75    77.57    -2.57
## 5      80    78.26     1.74
## 6      80    85.29    -5.29
## 7      85    88.97    -3.97
## 8      95    88.80     6.20
## 9      90    93.00    -3.00
## 10     98    92.66     5.34

Tabel di atas menunjukkan perbandingan antara nilai UAS aktual dengan nilai yang diprediksi oleh model regresi. Selisih antara keduanya (Residual) menunjukkan tingkat kesalahan prediksi. Secara keseluruhan, nilai residual yang relatif kecil menunjukkan bahwa model mampu memprediksi nilai UAS dengan cukup akurat berdasarkan variabel Tingkat Kehadiran (\(X_1\)) dan IQ (\(X_2\)).

NOMOR 2: UJI F

— Perhitungan Manual —

n <- length(Y) # jumlah observasi (n)
k <- 2         # jumlah variabel independen (k)

Y_bar <- mean(Y)

SSR <- sum((predict(model_lm) - Y_bar)^2) 
SSE <- sum(residuals(model_lm)^2)         
MSR <- SSR / k                            
MSE <- SSE / (n - k - 1)

F_manual <- MSR / MSE
F_tabel <- qf(0.05, k, (n - k - 1), lower.tail = FALSE)
p_value <- pf(F_manual, k, (n - k - 1), lower.tail = FALSE)

cat("Hasil Perhitungan Manual:\n")
## Hasil Perhitungan Manual:
cat("F hitung:", F_manual, "\n")
## F hitung: 23.82303
cat("F-Tabel  :", F_tabel, "\n")
## F-Tabel  : 4.737414
cat("p-value :", p_value, "\n")
## p-value : 0.0007522929

— Verifikasi dengan Fungsi R —

f_stat <- summary(model_lm)$fstatistic
f_tabel<- qf(0.05, f_stat[2], f_stat[3], lower.tail = FALSE)
p_val <- pf(f_stat[1], f_stat[2], f_stat[3], lower.tail = FALSE)

cat("\nHasil Verifikasi Fungsi R:\n")
## 
## Hasil Verifikasi Fungsi R:
cat("F-Hitung :", f_stat[1], "\n")
## F-Hitung : 23.82303
cat("F-Tabel  :", f_tabel, "\n")
## F-Tabel  : 4.737414
cat("p-value :", p_val, "\n")
## p-value : 0.0007522929

Uji F dilakukan untuk mengetahui apakah variabel bebas secara bersama-sama memiliki pengaruh terhadap variabel terikat. Berdasarkan hasil perhitungan, diperoleh hasil pengujian sebagai berikut:

  • Nilai F-Hitung: sebesar 23.82303.
  • Nilai F-Tabel: sebesar 4.7374
  • Nilai \(p\)-value: sebesar 0.000752.

Karena F-Hitung 23.823 > F-Tabel 4.737 dan \(p\)-value 0.000752 < 0.05, maka Hipotesis Nol (\(H_0\)) ditolak. Ini menunjukkan bahwa variabel Tingkat Kehadiran (\(X_1\)) dan IQ (\(X_2\)) secara simultan (bersama-sama) berpengaruh signifikan terhadap Nilai UAS (\(Y\)). Dengan demikian, model regresi ini dinyatakan sangat layak untuk digunakan.

NOMOR 3: UJI T

— Perhitungan Manual —

df <- n - k - 1
MSE <- sum((Y - (X %*% beta_manual))^2) / df
se_beta <- sqrt(diag(MSE * solve(t(X) %*% X)))

t_manual <- beta_manual / se_beta
t_tabel <- qt(0.05/2, df, lower.tail = FALSE) #

cat("\nHasil Uji t Manual:\n")
## 
## Hasil Uji t Manual:
print(data.frame(beta_manual, se_beta, t_manual))
##    beta_manual    se_beta   t_manual
##     23.0544545 25.5716101  0.9015644
## X1   0.7372330  0.1091797  6.7524718
## X2  -0.0343275  0.2205125 -0.1556715
cat("\nNilai t-Tabel (0.025; 7):", t_tabel, "\n")
## 
## Nilai t-Tabel (0.025; 7): 2.364624

— Verifikasi dengan Fungsi R —

t_stat <- summary(model_lm)$coefficients

cat("\nHasil Uji t (Fungsi lm):\n")
## 
## Hasil Uji t (Fungsi lm):
print(t_stat)
##               Estimate Std. Error    t value     Pr(>|t|)
## (Intercept) 23.0544545 25.5716101  0.9015644 0.3972467061
## X1           0.7372330  0.1091797  6.7524718 0.0002644133
## X2          -0.0343275  0.2205125 -0.1556715 0.8806860631
cat("\nNilai t-Tabel (0.025; 7):", t_tabel, "\n")
## 
## Nilai t-Tabel (0.025; 7): 2.364624

Uji t dilakukan untuk mengetahui pengaruh masing-masing variabel bebas secara parsial terhadap variabel terikat. Berdasarkan hasil uji t dengan taraf signifikansi 5% (α = 0,05) dan t-tabel 2.3646, diperoleh bahwa nilai p-value untuk masing-masing variabel berbeda.

  • Variabel Tingkat Kehadiran (X₁): Memiliki nilai \(t\)-hitung 6.7525 > \(t\)-tabel 2.3646 dan \(p\)-value 0.000264 < 0.05. Artinya, Kehadiran berpengaruh signifikan terhadap Nilai UAS.

  • Variabel IQ (X₂): Memiliki nilai \(t\)-hitung -0.1549 < \(t\)-tabel 2.3646 dan \(p\)-value 0.8807 > 0.05. Artinya, IQ tidak berpengaruh signifikan terhadap Nilai UAS.

Meskipun secara simultan model regresi dinyatakan valid, hasil uji t menunjukkan bahwa tidak semua variabel bebas berpengaruh secara parsial. Dalam model ini, hanya variabel kehadiran yang berpengaruh signifikan terhadap nilai UAS, sedangkan variabel IQ tidak menunjukkan pengaruh yang signifikan. Hal ini mengindikasikan bahwa variasi nilai UAS dalam data lebih banyak dijelaskan oleh tingkat kehadiran dibandingkan IQ.

NOMOR 4: R-SQUARE

— Perhitungan Manual —

SST <- sum((Y - mean(Y))^2)
R2_manual <- SSR / SST

cat("Hasil R-Square (Manual):", R2_manual, "\n")
## Hasil R-Square (Manual): 0.8719029

— Verifikasi dengan Fungsi R —

summary_model <- summary(model_lm)
cat("R-Square (R)      :", summary_model$r.squared, "\n")
## R-Square (R)      : 0.8719029
cat("Adjusted R-Square :", summary_model$adj.r.squared, "\n")
## Adjusted R-Square : 0.8353038

Koefisien determinasi digunakan untuk mengukur seberapa besar kemampuan variabel bebas dalam menjelaskan variasi pada variabel terikat.Berdasarkan hasil perhitungan diperoleh nilai sebagai berikut:

  • Koefisien Determinasi (\(R^2\)): 0.8719,
  • Adjusted \(R^2\): 0.8353.

Nilai \(R^2\) sebesar 0.8719 menunjukkan bahwa 87.19% variasi Nilai UAS (\(Y\)) dapat dijelaskan oleh variabel Tingkat Kehadiran (\(X_1\)) dan IQ (\(X_2\)). Sisanya sebesar 12.81% dipengaruhi oleh faktor-faktor lain di luar model penelitian ini.

Nilai Adjusted \(R^2\) yang tetap tinggi 0.8353 mengindikasikan bahwa model ini sangat kuat dan akurat karena tetap memberikan kontribusi penjelasan yang besar meskipun telah mempertimbangkan jumlah variabel independen yang digunakan.

NOMOR 5: UJI ASUMSI KLASIK

1. Uji Normalitas (Shapiro-Wilk & Q-Q Plot)

# Uji Normalitas Residual
shapiro.test(residuals(model_lm))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model_lm)
## W = 0.95125, p-value = 0.6833
# Visualisasi Normalitas
library(car)
## Warning: package 'car' was built under R version 4.4.2
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.2
qqPlot(model_lm, 
       main="Normal Q-Q Plot", 
       col="steelblue", 
       pch=16, 
       id=list(n=3))

## [1]  6  8 10

Uji ini dilakukan untuk mengetahui apakah residual model berdistribusi normal

  • Hasil: Nilai \(p\)-value sebesar 0.6833.
  • Interpretasi: Karena \(p\)-value \(> 0.05\), maka hipotesis nol ((\(H_0\))) diterima. Hal ini menunjukkan bahwa residual berdistribusi normal. Secara visual pada Q-Q Plot, titik-titik berada di dalam confidence envelope (batas aman). Meskipun ada pencilan pada data nomor 6, 8, dan 10, posisinya tidak keluar dari jalur normalitas.

2. Uji Homoskedastisitas (Breusch-Pagan & Residual Plot)

# Uji Homoskedastisitas
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(model_lm)
## 
##  studentized Breusch-Pagan test
## 
## data:  model_lm
## BP = 5.905, df = 2, p-value = 0.05221
# Visualisasi Sebaran Residual
plot(model_lm,
     main="Residuals vs Fitted Plot",
     which=1, 
     col="steelblue", 
     pch=16)

Uji ini bertujuan untuk melihat apakah varians residual bersifat konstan (homoskedastis).

  • Hasil: Nilai \(p\)-value sebesar 0.05221.
  • Interpretasi:Meskipun nilai \(p\)-value 0.0522 mendekati ambang batas 0.05, secara statistik \(H_0\) tetap gagal ditolak. Hal ini didukung oleh visualisasi Residuals vs Fitted yang tidak menunjukkan pola ‘kipas’ atau pola sistematis lainnya, sehingga asumsi homoskedastisitas masih terpenuhi.

3. Uji Multikolinearitas (VIF & Korelasi)

# Menghitung VIF dan Korelasi antar X
vif(model_lm)
##       X1       X2 
## 1.055571 1.055571
cor(X1, X2)
## [1] 0.229445

Uji ini dilakukan untuk mendeteksi adanya hubungan linier yang kuat antar variabel independen (\(X_1\) dan \(X_2\)).

  • Hasil Korelasi: sebesar 0.229.
  • Hasil VIF: sebesar 1.055.
  • Interpretasi: Karena nilai VIF < 10, maka dapat dipastikan tidak terjadi gejala multikolinieritas antara variabel Tingkat Kehadiran (\(X_1\)) dan IQ (\(X_2\)). Hubungan antar kedua variabel bebas ini tergolong lemah (korelasi 0.229), sehingga model tetap stabil.”

KESIMPULAN AKHIR

Berdasarkan seluruh rangkaian analisis regresi linier berganda yang telah dilakukan, dapat disimpulkan bahwa:

  1. Model Regresi: Hubungan antara variabel dinyatakan dalam persamaan \(Y = 23.054 + 0.737 X_1 - 0.034 X_2\). Persamaan ini menunjukkan arah pengaruh yang berbeda antara kedua variabel independen.

  2. Kontribusi Variabel: Dari hasil uji t, ditemukan bahwa Tingkat Kehadiran (\(X_1\)) merupakan faktor dominan yang berpengaruh signifikan terhadap Nilai UAS, sedangkan IQ (\(X_2\)) tidak memiliki pengaruh yang signifikan secara statistik dalam model ini.

  3. Kualitas Model: Model memiliki tingkat akurasi yang sangat baik dengan nilai \(R^2 = 87.19\%\). Hal ini berarti variasi pada Nilai UAS dapat dijelaskan dengan sangat baik oleh variabel Kehadiran dan IQ secara bersama-sama.

  4. Kelayakan Model: Seluruh uji asumsi klasik (Normalitas, Homoskedastisitas, dan Multikolinieritas) telah terpenuhi, sehingga model ini dinyatakan valid, tidak bias (BLUE), dan layak digunakan untuk keperluan prediksi maupun pengambilan keputusan statistik.