1. Pendahuluan & Deskripsi Dataset

Laporan ini disusun untuk menganalisis variabel Nilai Akhir (G3) pada Student Performance Data. Analisis ini bertujuan untuk memahami distribusi nilai siswa serta pengaruh waktu belajar mingguan (studytime) terhadap capaian akademik mereka.


2. Prapemrosesan Data & Sampel Observasi

Proses pengoperasian data dilakukan dengan membaca file CSV dan mengecek gambaran awal dataset. Menampilkan sampel data bertujuan untuk memastikan bahwa struktur kolom dan tipe data telah terisi dengan benar sebelum dilakukan perhitungan statistik deskriptif.

student_data <- read.csv("student_data.csv")
head(student_data)
##   school sex age address famsize Pstatus Medu Fedu     Mjob     Fjob     reason
## 1     GP   F  18       U     GT3       A    4    4  at_home  teacher     course
## 2     GP   F  17       U     GT3       T    1    1  at_home    other     course
## 3     GP   F  15       U     LE3       T    1    1  at_home    other      other
## 4     GP   F  15       U     GT3       T    4    2   health services       home
## 5     GP   F  16       U     GT3       T    3    3    other    other       home
## 6     GP   M  16       U     LE3       T    4    3 services    other reputation
##   guardian traveltime studytime failures schoolsup famsup paid activities
## 1   mother          2         2        0       yes     no   no         no
## 2   father          1         2        0        no    yes   no         no
## 3   mother          1         2        3       yes     no  yes         no
## 4   mother          1         3        0        no    yes  yes        yes
## 5   father          1         2        0        no    yes  yes         no
## 6   mother          1         2        0        no    yes  yes        yes
##   nursery higher internet romantic famrel freetime goout Dalc Walc health
## 1     yes    yes       no       no      4        3     4    1    1      3
## 2      no    yes      yes       no      5        3     3    1    1      3
## 3     yes    yes      yes       no      4        3     2    2    3      3
## 4     yes    yes      yes      yes      3        2     2    1    1      5
## 5     yes    yes       no       no      4        3     2    1    2      5
## 6     yes    yes      yes       no      5        4     2    1    2      5
##   absences G1 G2 G3
## 1        6  5  6  6
## 2        4  5  5  6
## 3       10  7  8 10
## 4        2 15 14 15
## 5        4  6 10 10
## 6       10 15 15 15
library(knitr)
# Menampilkan 6 baris pertama dari data student
kable(head(student_data), caption = "Tabel 1: Sampel Data Student Performance")
Tabel 1: Sampel Data Student Performance
school sex age address famsize Pstatus Medu Fedu Mjob Fjob reason guardian traveltime studytime failures schoolsup famsup paid activities nursery higher internet romantic famrel freetime goout Dalc Walc health absences G1 G2 G3
GP F 18 U GT3 A 4 4 at_home teacher course mother 2 2 0 yes no no no yes yes no no 4 3 4 1 1 3 6 5 6 6
GP F 17 U GT3 T 1 1 at_home other course father 1 2 0 no yes no no no yes yes no 5 3 3 1 1 3 4 5 5 6
GP F 15 U LE3 T 1 1 at_home other other mother 1 2 3 yes no yes no yes yes yes no 4 3 2 2 3 3 10 7 8 10
GP F 15 U GT3 T 4 2 health services home mother 1 3 0 no yes yes yes yes yes yes yes 3 2 2 1 1 5 2 15 14 15
GP F 16 U GT3 T 3 3 other other home father 1 2 0 no yes yes no yes yes no no 4 3 2 1 2 5 4 6 10 10
GP M 16 U LE3 T 4 3 services other reputation mother 1 2 0 no yes yes yes yes yes yes no 5 4 2 1 2 5 10 15 15 15

3. Analisis Statistik Deskriptif (Nilai Akhir G3)

Ukuran pemusatan data digunakan untuk mengetahui gambaran umum pencapaian siswa secara keseluruhan:

Summary (Mean, Median, Min, Max): Memberikan gambaran sebaran nilai dari skor terendah hingga tertinggi.

Modus: Menunjukkan nilai yang paling dominan atau terbanyak didapatkan oleh siswa.

summary(student_data$G3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    8.00   11.00   10.42   14.00   20.00
# Modus
tabel_g3 <- table(student_data$G3)
modus_g3 <- names(tabel_g3)[tabel_g3 == max(tabel_g3)]
cat("Modus dari G3 adalah:", modus_g3)
## Modus dari G3 adalah: 10

Interpretasi Hasil:

Dari hasil eksekusi di atas, nilai Modus dari G3 adalah 10, yang menandakan bahwa angka 10 merupakan skor yang paling banyak diraih oleh siswa dalam populasi data ini.

4. Pengelompokan Data (Rata-Rata Nilai Berdasarkan Waktu Belajar)

Pengelompokan ini dilakukan dengan menggunakan fungsi aggregate() untuk melihat apakah durasi belajar siswa (studytime) berpengaruh secara konsisten terhadap rata-rata nilai akhir (G3).

tabel_ringkasan <- aggregate(G3 ~ studytime, data = student_data, FUN = mean)
print(tabel_ringkasan)
##   studytime       G3
## 1         1 10.04762
## 2         2 10.17172
## 3         3 11.40000
## 4         4 11.25926

Interpretasi Rata-Rata Tertinggi & Terendah:

Rata-rata Terendah: Terdapat pada kelompok studytime = 1 (waktu belajar paling sedikit) dengan rerata 10.04.

Rata-rata Tertinggi: Terdapat pada kelompok studytime = 3 (waktu belajar 5–10 jam/minggu) dengan rerata 11.40.

Hal ini terbukti bahwa alokasi waktu belajar yang optimal berbanding lurus dengan peningkatan performa nilai akhir siswa.

5. Visualisasi Data (Histogram)

Alasan Pemilihan Visualisasi Histogram:

Histogram dipilih karena merupakan grafik statistik terbaik untuk menyajikan distribusi frekuensi dari data numerik kontinu (Nilai G3). Dengan histogram, pembaca dapat secara langsung melihat bentuk sebaran data, mengidentifikasi ketimpangan nilai, serta mengetahui pada rentang berapa nilai mayoritas siswa berkumpul.

hist(student_data$G3,
     main = "Histogram Nilai Akhir siswa (G3)",
     xlab = "Nilai G3",
     ylab = "Frekuensi",
     col = "pink")