1. Input Data

data <- data.frame(
  X1 = c(3,3,5,4,6,5,7,4,8,2),
  X2 = c(2,3,4,5,6,6,7,6,8,9),
  X3 = c(4,3,5,4,6,5,8,4,8,4),
  Y  = c(8,7,8,8,8,7,8,6,9,9)
)
data
##    X1 X2 X3 Y
## 1   3  2  4 8
## 2   3  3  3 7
## 3   5  4  5 8
## 4   4  5  4 8
## 5   6  6  6 8
## 6   5  6  5 7
## 7   7  7  8 8
## 8   4  6  4 6
## 9   8  8  8 9
## 10  2  9  4 9

dengan

\(Y =\text { Kemampuan Menulis Siswa SMA }\)

\(X_1 =\text { Penguasaan Kosa Kata }\)

\(X_2 =\text { Pemahaman Tema }\)

\(X_3 =\text { Pengetahuan Tata Bahasa }\)

2. Analisis Regresi

# Model regresi
model <- lm(Y ~ X1 + X2 + X3, data = data)

# Ringkasan model
summary(model)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.2719 -0.3924  0.1577  0.4682  0.7668 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.3119194  0.9393639   6.719 0.000528 ***
## X1          -0.6585694  0.4422694  -1.489 0.187045    
## X2          -0.0003283  0.1661213  -0.002 0.998487    
## X3           0.8990579  0.5286887   1.701 0.139935    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8433 on 6 degrees of freedom
## Multiple R-squared:  0.4385, Adjusted R-squared:  0.1578 
## F-statistic: 1.562 on 3 and 6 DF,  p-value: 0.2934

Persamaan model: \[ \hat{Y} = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \beta_3 X_3 \]

diperoleh estimasi koefisien sebagai berikut: \[ \hat{\text{Y}} = 6.3119194 - 0.6585694 X_1 - 0.0003283 X_2 + 0.8990579 X_3 \]

Dimana :

Koefisien Penguasaan Kosa Kata (β₁) : Jika Pemahaman Tema (\(X_2\)) dan Pengetahuan Tata Bahasa (\(X_3\)) adalah konstan, artinya, setiap kenaikan satu kesatuan Penguasaan Kosa Kata(\(X_1\)) akan menurunkan Kemampuan Menulis Siswa SMA(\(Y\)) rata-rata sebesar 0.6585694 satuan. Pengaruhnya negatif terhadap Y sebesar -0.6586, tetapi tidak signifikan pada taraf 5% (p-value dua arah = 0.187) meskipun pada uji satu arah negatif mendekati signifikan di taraf 10% (p ≈ 0.094)

Koefisien Pemahaman Tema (β₂): Artinya, tiap kenaikan satu kesatuan Pemahaman Tema (\(X_2\)) hampir tidak mempengaruhi Kemampuan Menulis Siswa SMA(\(Y\)) dalam kata lain, pengaruhnya sangat kecil (-0.0003). Tidak signifikan secara statistik (p-value = 0.998)

Koefisien Pengetahuan Tata Bahasa (\(β_3\)): Setiap kenaikan satu kesatuan Pengetahuan Tata Bahasa (\(X_3\)) akan menaikan Kemampuan Menulis Siswa SMA(\(Y\)) rata-rata sebesar 0.8991 satuan jika Penguasaan Kosa Kata(\(X_1\)) dan Pemahaman Tema (\(X_2\)) konstan. Pengaruhnya positif sebesar 0.8991, namun tidak signifikan di taraf 5% (p-value = 0.140), meski mendekati signifikan di taraf 10% jika uji satu arah positif (p ≈ 0.070).

3. Uji Hipotesis

Uji Dua Arah

Hipotesis: \[ H_0: \beta_i = 0 \quad \text{vs} \quad H_1: \beta_i \neq 0 \] Dasar pengambilan keputusan: p-value < 0.05 → tolak \(H_0\).

summary(model)$coefficients
##                  Estimate Std. Error      t value     Pr(>|t|)
## (Intercept)  6.3119193776  0.9393639  6.719354732 0.0005282874
## X1          -0.6585694121  0.4422694 -1.489068507 0.1870449201
## X2          -0.0003282671  0.1661213 -0.001976068 0.9984873892
## X3           0.8990578735  0.5286887  1.700542913 0.1399347315

interpretasi :

\(X_1\) : p = 0.187 > 0.05 maka tidak signifikan, tidak ada bukti bahwa \(X_1\) memengaruhi \(Y\).

\(X_2\) : p = 0.990 > 0.05 maka tidak signifikan, pengaruh \(X_2\) terhadap Y sangat lemah.

\(X_3\) : p = 0.140 > 0.05 maka tidak signifikan, meskipun koefisien positif.

Kesimpulan :

Tidak ada variabel signifikan pada taraf 5%, sehingga secara parsial model tidak kuat menjelaskan Y.

Uji Satu Arah

p_two <- summary(model)$coefficients[,4]
coef_sign <- summary(model)$coefficients[,1]

# Fungsi konversi
to_one_tailed <- function(p_two, sign, expected = "positive"){
  if(expected == "positive"){
    if(sign > 0){
      return(p_two / 2)
    } else {
      return(1 - (p_two / 2))
    }
  } else {
    if(sign < 0){
      return(p_two / 2)
    } else {
      return(1 - (p_two / 2))
    }
  }
}

# Positif
p_one_pos <- mapply(to_one_tailed, p_two, coef_sign, MoreArgs = list(expected = "positive"))

# Negatif
p_one_neg <- mapply(to_one_tailed, p_two, coef_sign, MoreArgs = list(expected = "negative"))

# Gabungkan hasil
uji_satu_arah <- data.frame(
  Variabel = names(p_two),
  p_value_dua_arah = p_two,
  p_value_satu_arah_pos = p_one_pos,
  p_value_satu_arah_neg = p_one_neg
)

uji_satu_arah
##                Variabel p_value_dua_arah p_value_satu_arah_pos
## (Intercept) (Intercept)     0.0005282874          0.0002641437
## X1                   X1     0.1870449201          0.9064775399
## X2                   X2     0.9984873892          0.5007563054
## X3                   X3     0.1399347315          0.0699673658
##             p_value_satu_arah_neg
## (Intercept)            0.99973586
## X1                     0.09352246
## X2                     0.49924369
## X3                     0.93003263

interpretasi :

\(X_1\)  (arah negatif) : p ≈ 0.094 → mendekati signifikan di taraf 10%, indikasi hubungan negatif dengan \(Y\).

\(X_2\)  (arah positif) : p ≈ 0.0501 > 0.05 → tidak signifikan.

\(X_3\)  (arah positif) : p ≈ 0.070 → mendekati signifikan di taraf 10%, indikasi hubungan positif dengan \(Y\).

Kesimpulan :

Jika teori menduga \(X_1\) negatif dan \(X_3\) positif terhadap \(Y\), data memberi bukti lemah di taraf 10%, tapi belum signifikan di taraf 5%.

4. Koefisien Determinasi

r_squared <- summary(model)$r.squared
adj_r_squared <- summary(model)$adj.r.squared
r_squared
## [1] 0.4385078
adj_r_squared
## [1] 0.1577617

Interpretasi:

Nilai \(R^2 = 0.4385\) → 43,85% variasi (\(Y\)) Kemampuan Menulis Mahasiswa dapat dijelaskan oleh (\(X_1\)) Penguasaan Kosa Kata, (\(X_2\)) Pemahaman Tema dan (\(X_3\)) Pengetahuan Tata Bahasa, sisanya 56,15% dipengaruhi oleh faktor lain yang tidak dijelaskan dalam model.

Nilai adj \(R^2\) = 0.1578 menunjukkan penurunan kekuatan penjelasan model setelah mempertimbangkan jumlah prediktor dan ukuran sampel.

5. Plot Diagnostik Regresi

par(mfrow = c(2,2))
plot(model)

par(mfrow = c(1,1))

Interpretasi: - Residuals vs Fitted → memeriksa linearitas dan homoskedastisitas. - Normal Q-Q → memeriksa normalitas residual. - Scale-Location → memeriksa sebaran residual. - Residuals vs Leverage → memeriksa adanya outlier/influential point.