R Markdown
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.3
dataset_pendidikan <- read_excel("PDF Materi/dataset_pendidikan.xlsx")
datasett_pendidikan_IPK_lebihbesar_atau_samadengan_3.5 <- dataset_pendidikan[dataset_pendidikan$IPK >= 3.5, ]
#Berapa jumlah mahasiswa yang memiliki IPK lebih besar atau sama dengan 3,5?
sort(table(datasett_pendidikan_IPK_lebihbesar_atau_samadengan_3.5$IPK), decreasing = TRUE)
##
## 3.52 3.53 3.78 4 3.51 3.54 3.57 3.58 3.59 3.65 3.66 3.67 3.68 3.75 3.83 3.96
## 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2
## 3.5 3.56 3.6 3.61 3.71 3.72 3.73 3.74 3.8 3.85 3.86 3.88 3.97
## 1 1 1 1 1 1 1 1 1 1 1 1 1
dataset_pendidikan_IPK_tertinggi <- dataset_pendidikan[dataset_pendidikan$IPK >= 4, ]
#Siapa saja yang menjadi top 3 IPK tertinggi?
sort(table(dataset_pendidikan_IPK_tertinggi$ID_Mahasiswa))[1:3]
##
## MHS052 MHS111 MHS123
## 1 1 1
#Buat kolom Kategori_IPK dengan case_when(): <2,50 = Kurang; 2,50-2,99 = Cukup; 3,00-3,49 = Baik; >=3,50 = Sangat Baik. Berapa mahasiswa yang masuk kategori "Baik"?
#Hitung rata-rata IPK per semester dengan group_by() dan summarise(). Semester berapa yang rata-rata IPK-nya tertinggi?
aggregate(IPK ~ Semester, data = dataset_pendidikan,mean)
## Semester IPK
## 1 1 3.056429
## 2 2 3.037000
## 3 3 3.172727
## 4 4 3.196786
## 5 5 3.117895
## 6 6 3.191071
## 7 7 3.056842
## 8 8 3.040000
#Jumlah pertemuan per semester adalah 70 (= 100%). Buat kolom Persen_Kehadiran = Total_Kehadiran / 70 * 100. Berapa mahasiswa yang kehadirannya kurang dari 75%?
str(dataset_pendidikan)
## tibble [200 × 6] (S3: tbl_df/tbl/data.frame)
## $ ID_Mahasiswa : chr [1:200] "MHS001" "MHS002" "MHS003" "MHS004" ...
## $ IPK : num [1:200] 3.45 3.13 2.75 3.52 3.57 3.52 2.97 2.86 2.74 3.24 ...
## $ Semester : num [1:200] 2 5 4 4 4 7 8 2 6 3 ...
## $ Total_Kehadiran : num [1:200] 58 54 61 67 56 56 43 55 63 57 ...
## $ Total_Jam_Belajar: num [1:200] 238 246 91 162 258 222 153 114 189 201 ...
## $ Rata2_Jam_Tidur : num [1:200] 7.5 7.1 7 6.6 7.4 7.5 7.4 6.2 7 6.3 ...
summary(dataset_pendidikan)
## ID_Mahasiswa IPK Semester Total_Kehadiran
## Length:200 Min. :1.890 Min. :1.00 Min. :37.00
## Class :character 1st Qu.:2.853 1st Qu.:3.00 1st Qu.:54.00
## Mode :character Median :3.150 Median :5.00 Median :58.00
## Mean :3.122 Mean :4.58 Mean :57.88
## 3rd Qu.:3.465 3rd Qu.:6.00 3rd Qu.:62.00
## Max. :4.000 Max. :8.00 Max. :70.00
## Total_Jam_Belajar Rata2_Jam_Tidur
## Min. : 40.0 Min. :4.200
## 1st Qu.:157.0 1st Qu.:6.000
## Median :189.0 Median :6.600
## Mean :191.5 Mean :6.571
## 3rd Qu.:233.5 3rd Qu.:7.300
## Max. :380.0 Max. :8.900
#Mahasiswa "rajin tapi IPK rendah" didefinisikan sebagai jam belajar di atas median DAN IPK di bawah rata-rata IPK seluruh mahasiswa. Berapa jumlahnya?
dataset_pendidikan_jambelajar_diatas_median <- dataset_pendidikan[dataset_pendidikan$Total_Jam_Belajar > 189 & dataset_pendidikan$IPK < 3.12, ]
sort(table(dataset_pendidikan_jambelajar_diatas_median$ID_Mahasiswa), decreasing = TRUE)
##
## MHS023 MHS026 MHS033 MHS061 MHS066 MHS081 MHS089 MHS099 MHS114 MHS122 MHS126
## 1 1 1 1 1 1 1 1 1 1 1
## MHS132 MHS137 MHS142 MHS159 MHS175 MHS178
## 1 1 1 1 1 1
summary(dataset_pendidikan_jambelajar_diatas_median$ID_Mahasiswa)
## Length Class Mode
## 17 character character
#mohon maaf Ibu, untuk kuis nomor 3 dan 5, tadi sudah saya coba untuk membuatnya disini, tapi karena error berulang kali, saya memutuskan untuk menghapusnya saja agar tidak terlambat mengumpulkan. Juga untuk yang nomor 4, cara yang saya pakai berbeda dengan soal ibu, tadi sudah saya coba juga seperti yang di soal, tapi malah error terus, bu. Mohon maaf njih, Bu. Terima kasih banyak bu.