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.