1 ๐ŸŒค๏ธ Pendahuluan

Analisis regresi linier berganda digunakan untuk mengetahui pengaruh beberapa variabel independen terhadap variabel dependen. Pada penelitian ini digunakan variabel Jam Belajar, Nilai Sebelumnya, Jam Tidur, dan Jumlah Latihan Soal untuk menganalisis pengaruhnya terhadap Indeks Performansi siswa.

๐Ÿ“Œ Penelitian ini bertujuan untuk mengetahui faktor-faktor yang mempengaruhi performansi akademik siswa.

2 ๐Ÿ“š Import Library

library(readxl)
library(lmtest)
library(car)

3 ๐Ÿ“‚ Membaca Data

data_student <- read_excel(
  "Dataset Rpubs.xlsx",
  sheet = "Sheet1"
)

names(data_student) <- c(
  "Jam_Belajar",
  "Nilai_Sebelumnya",
  "Jam_Tidur",
  "Jumlah_Latihan_Soal",
  "Indeks_Performansi"
)

head(data_student)
## # A tibble: 6 ร— 5
##   Jam_Belajar Nilai_Sebelumnya Jam_Tidur Jumlah_Latihan_Soal Indeks_Performansi
##         <dbl>            <dbl>     <dbl>               <dbl>              <dbl>
## 1           7               99         9                   1                 91
## 2           4               82         4                   2                 65
## 3           8               51         7                   2                 45
## 4           5               52         5                   2                 36
## 5           7               75         8                   5                 66
## 6           3               78         9                   6                 61

4 ๐Ÿ“Š Eksplorasi Data

4.1 โœจ Struktur Data

str(data_student)
## tibble [50 ร— 5] (S3: tbl_df/tbl/data.frame)
##  $ Jam_Belajar        : num [1:50] 7 4 8 5 7 3 7 8 5 4 ...
##  $ Nilai_Sebelumnya   : num [1:50] 99 82 51 52 75 78 73 45 77 89 ...
##  $ Jam_Tidur          : num [1:50] 9 4 7 5 8 9 5 4 8 4 ...
##  $ Jumlah_Latihan_Soal: num [1:50] 1 2 2 2 5 6 6 6 2 0 ...
##  $ Indeks_Performansi : num [1:50] 91 65 45 36 66 61 63 42 61 69 ...

4.2 ๐Ÿ“ˆ Statistik Deskriptif

summary(data_student)
##   Jam_Belajar  Nilai_Sebelumnya   Jam_Tidur    Jumlah_Latihan_Soal
##  Min.   :1.0   Min.   :43.0     Min.   :4.00   Min.   :0.00       
##  1st Qu.:3.0   1st Qu.:61.0     1st Qu.:4.25   1st Qu.:2.00       
##  Median :5.0   Median :73.0     Median :7.00   Median :3.00       
##  Mean   :5.2   Mean   :70.9     Mean   :6.38   Mean   :3.42       
##  3rd Qu.:7.0   3rd Qu.:80.5     3rd Qu.:8.00   3rd Qu.:5.00       
##  Max.   :9.0   Max.   :99.0     Max.   :9.00   Max.   :9.00       
##  Indeks_Performansi
##  Min.   :17.00     
##  1st Qu.:42.25     
##  Median :59.00     
##  Mean   :56.58     
##  3rd Qu.:68.75     
##  Max.   :91.00

4.2.1 ๐Ÿ“ Interpretasi

Berdasarkan hasil statistik deskriptif, diketahui bahwa rata-rata jam belajar siswa berada pada kisaran sedang. Nilai sebelumnya siswa juga cukup beragam sehingga dapat digunakan sebagai salah satu faktor yang mempengaruhi performansi siswa.

5 ๐Ÿ”— Matriks Korelasi

cor_matrix <- cor(data_student)

cor_matrix
##                     Jam_Belajar Nilai_Sebelumnya   Jam_Tidur
## Jam_Belajar          1.00000000      -0.09605930  0.25499890
## Nilai_Sebelumnya    -0.09605930       1.00000000 -0.08188918
## Jam_Tidur            0.25499890      -0.08188918  1.00000000
## Jumlah_Latihan_Soal  0.02297419       0.09440160 -0.11641242
## Indeks_Performansi   0.35037200       0.89061957  0.07375574
##                     Jumlah_Latihan_Soal Indeks_Performansi
## Jam_Belajar                  0.02297419         0.35037200
## Nilai_Sebelumnya             0.09440160         0.89061957
## Jam_Tidur                   -0.11641242         0.07375574
## Jumlah_Latihan_Soal          1.00000000         0.13104824
## Indeks_Performansi           0.13104824         1.00000000

5.0.1 ๐Ÿ“ Interpretasi

Nilai sebelumnya memiliki hubungan paling kuat dengan indeks performansi siswa dibandingkan variabel lainnya.

6 ๐Ÿ“‰ Scatter Plot Variabel X terhadap Y

par(mfrow = c(2,2))

plot(
  data_student$Jam_Belajar,
  data_student$Indeks_Performansi,
  xlab = "Jam Belajar",
  ylab = "Indeks Performansi",
  main = "Jam Belajar vs Performansi",
  col = "#5DADE2",
  pch = 19
)

abline(
  lm(Indeks_Performansi ~ Jam_Belajar,
     data = data_student),
  col = "red",
  lwd = 2
)

plot(
  data_student$Nilai_Sebelumnya,
  data_student$Indeks_Performansi,
  xlab = "Nilai Sebelumnya",
  ylab = "Indeks Performansi",
  main = "Nilai Sebelumnya vs Performansi",
  col = "#5DADE2",
  pch = 19
)

abline(
  lm(Indeks_Performansi ~ Nilai_Sebelumnya,
     data = data_student),
  col = "red",
  lwd = 2
)

plot(
  data_student$Jam_Tidur,
  data_student$Indeks_Performansi,
  xlab = "Jam Tidur",
  ylab = "Indeks Performansi",
  main = "Jam Tidur vs Performansi",
  col = "#5DADE2",
  pch = 19
)

abline(
  lm(Indeks_Performansi ~ Jam_Tidur,
     data = data_student),
  col = "red",
  lwd = 2
)

plot(
  data_student$Jumlah_Latihan_Soal,
  data_student$Indeks_Performansi,
  xlab = "Jumlah Latihan Soal",
  ylab = "Indeks Performansi",
  main = "Latihan Soal vs Performansi",
  col = "#5DADE2",
  pch = 19
)

abline(
  lm(Indeks_Performansi ~ Jumlah_Latihan_Soal,
     data = data_student),
  col = "red",
  lwd = 2
)

7 ๐Ÿ“˜ Model Regresi Linier Berganda

model <- lm(
  Indeks_Performansi ~
    Jam_Belajar +
    Nilai_Sebelumnya +
    Jam_Tidur +
    Jumlah_Latihan_Soal,
  data = data_student
)

summary(model)
## 
## Call:
## lm(formula = Indeks_Performansi ~ Jam_Belajar + Nilai_Sebelumnya + 
##     Jam_Tidur + Jumlah_Latihan_Soal, data = data_student)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.8345 -1.0767  0.0231  1.1952  3.8653 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         -34.22763    1.78496 -19.176   <2e-16 ***
## Jam_Belajar           2.91780    0.11587  25.181   <2e-16 ***
## Nilai_Sebelumnya      1.01512    0.01798  56.463   <2e-16 ***
## Jam_Tidur             0.42913    0.16051   2.674   0.0104 *  
## Jumlah_Latihan_Soal   0.27049    0.11594   2.333   0.0242 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.944 on 45 degrees of freedom
## Multiple R-squared:  0.988,  Adjusted R-squared:  0.9869 
## F-statistic: 926.3 on 4 and 45 DF,  p-value: < 2.2e-16

8 ๐Ÿงช Uji Asumsi Regresi

8.1 ๐ŸŒธ Uji Normalitas

residuals_model <- residuals(model)

shapiro.test(residuals_model)
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals_model
## W = 0.97455, p-value = 0.3508

8.2 ๐ŸŒธ Uji Heteroskedastisitas

bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 3.4122, df = 4, p-value = 0.4914

8.3 ๐ŸŒธ Uji Autokorelasi

dwtest(model)
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 2.2459, p-value = 0.812
## alternative hypothesis: true autocorrelation is greater than 0

8.4 ๐ŸŒธ Uji Multikolinearitas

vif(model)
##         Jam_Belajar    Nilai_Sebelumnya           Jam_Tidur Jumlah_Latihan_Soal 
##            1.080239            1.021266            1.089442            1.025178

9 ๐Ÿ“Œ Plot Diagnostik

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

10 ๐Ÿ’Ž Kesimpulan

Berdasarkan hasil analisis regresi linier berganda, diketahui bahwa Jam Belajar, Nilai Sebelumnya, Jam Tidur, dan Jumlah Latihan Soal berpengaruh terhadap Indeks Performansi siswa.

Model regresi yang diperoleh juga telah memenuhi asumsi klasik sehingga layak digunakan untuk analisis dan prediksi.