data_mahasiswa <- read.csv("df_mahasiswa.csv")
head(data_mahasiswa)
##   X id_mahasiswa jenis_kelamin jam_belajar_per_hari frekuensi_login_lms
## 1 1       MHS001             L                    4                   1
## 2 2       MHS002             P                    4                   2
## 3 3       MHS003             P                    2                   6
## 4 4       MHS004             P                    5                   3
## 5 5       MHS005             L                    3                   2
## 6 6       MHS006             L                    3                   7
##   motivasi_belajar  ipk
## 1               82 3.12
## 2               73 3.45
## 3               71 3.07
## 4               98 3.43
## 5               81 2.83
## 6               61 3.10
str(data_mahasiswa)
## 'data.frame':    55 obs. of  7 variables:
##  $ X                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ id_mahasiswa        : chr  "MHS001" "MHS002" "MHS003" "MHS004" ...
##  $ jenis_kelamin       : chr  "L" "P" "P" "P" ...
##  $ jam_belajar_per_hari: int  4 4 2 5 3 3 1 3 2 1 ...
##  $ frekuensi_login_lms : int  1 2 6 3 2 7 7 4 6 5 ...
##  $ motivasi_belajar    : int  82 73 71 98 81 61 44 69 44 46 ...
##  $ ipk                 : num  3.12 3.45 3.07 3.43 2.83 3.1 2.98 3.08 2.82 2.93 ...
sum(is.na(data_mahasiswa))
## [1] 0
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
colnames(data_mahasiswa)
## [1] "X"                    "id_mahasiswa"         "jenis_kelamin"       
## [4] "jam_belajar_per_hari" "frekuensi_login_lms"  "motivasi_belajar"    
## [7] "ipk"
as.data.frame(data_mahasiswa %>% count(jenis_kelamin))
##   jenis_kelamin  n
## 1             L 32
## 2             P 23
library(dplyr)

rata_rata_ipk <- data_mahasiswa %>%
  group_by(jenis_kelamin) %>%
  summarise(
    rata_ipk = mean(ipk, na.rm = TRUE)
  )

print(rata_rata_ipk)
## # A tibble: 2 × 2
##   jenis_kelamin rata_ipk
##   <chr>            <dbl>
## 1 L                 3.16
## 2 P                 3.18
library(dplyr)

rata_rata_motivasi <- mean(data_mahasiswa$motivasi_belajar, na.rm = TRUE)
mahasiswa_motivasi_tinggi <- data_mahasiswa %>%
  filter(motivasi_belajar > rata_rata_motivasi)

jumlah_tinggi <- nrow(mahasiswa_motivasi_tinggi)

print(paste("Jumlah mahasiswa dengan motivasi belajar di atas rata-rata adalah:", jumlah_tinggi))
## [1] "Jumlah mahasiswa dengan motivasi belajar di atas rata-rata adalah: 29"
library(dplyr)

mahasiswa_tertinggi_lms <- data_mahasiswa %>%
  arrange(desc(frekuensi_login_lms)) %>% # Urutkan dari tertinggi ke terendah
  slice(1) 

ipk_tertinggi_lms <- mahasiswa_tertinggi_lms$ipk

print(paste("Mahasiswa dengan Frekuensi Login LMS Tertinggi (ID:", 
            mahasiswa_tertinggi_lms$id_mahasiswa, "):"))
## [1] "Mahasiswa dengan Frekuensi Login LMS Tertinggi (ID: MHS006 ):"
print(paste("IPK-nya adalah:", ipk_tertinggi_lms))
## [1] "IPK-nya adalah: 3.1"
if (ipk_tertinggi_lms > 3.5) {
  print("Jawaban: Ya, mahasiswa tersebut memiliki IPK tinggi (> 3.5).")
} else {
  print("Jawaban: Tidak, mahasiswa tersebut tidak memiliki IPK tinggi (> 3.5).")
}
## [1] "Jawaban: Tidak, mahasiswa tersebut tidak memiliki IPK tinggi (> 3.5)."
library(dplyr)

rata_rata_ipk_kelompok <- data_mahasiswa %>%
  mutate(Kelompok_Belajar = ifelse(jam_belajar_per_hari >= 4, ">= 4 Jam", "< 4 Jam")) %>%
  
  group_by(Kelompok_Belajar) %>%
  
  summarise(
    Rata_IPK = mean(ipk, na.rm = TRUE)
  )
print("Rata-rata IPK berdasarkan Kelompok Jam Belajar:")
## [1] "Rata-rata IPK berdasarkan Kelompok Jam Belajar:"
print(rata_rata_ipk_kelompok)
## # A tibble: 2 × 2
##   Kelompok_Belajar Rata_IPK
##   <chr>               <dbl>
## 1 < 4 Jam              2.94
## 2 >= 4 Jam             3.41
ipk_diatas_4 <- rata_rata_ipk_kelompok %>% filter(Kelompok_Belajar == ">= 4 Jam") %>% pull(Rata_IPK)
ipk_dibawah_4 <- rata_rata_ipk_kelompok %>% filter(Kelompok_Belajar == "< 4 Jam") %>% pull(Rata_IPK)

if (ipk_diatas_4 > ipk_dibawah_4) {
  print("Jawaban: Ya, rata-rata IPK mahasiswa dengan jam belajar >= 4 jam lebih tinggi.")
} else {
  print("Jawaban: Tidak, rata-rata IPK mahasiswa dengan jam belajar < 4 jam lebih tinggi.")
}
## [1] "Jawaban: Ya, rata-rata IPK mahasiswa dengan jam belajar >= 4 jam lebih tinggi."
library(dplyr)

mahasiswa_ipk_tertinggi <- data_mahasiswa %>%
  arrange(desc(ipk)) %>% 
  slice(1) 

id_tertinggi <- mahasiswa_ipk_tertinggi$id_mahasiswa
motivasi_nilai <- mahasiswa_ipk_tertinggi$motivasi_belajar
ipk_nilai <- mahasiswa_ipk_tertinggi$ipk

print(paste("Mahasiswa dengan IPK tertinggi adalah ID:", id_tertinggi))
## [1] "Mahasiswa dengan IPK tertinggi adalah ID: MHS018"
print(paste("Nilai IPK-nya:", ipk_nilai))
## [1] "Nilai IPK-nya: 3.89"
print(paste("Nilai Motivasi Belajarnya adalah:", motivasi_nilai))
## [1] "Nilai Motivasi Belajarnya adalah: 92"
library(dplyr)

mahasiswa_terseleksi <- data_mahasiswa %>%
  filter(
    ipk > 3.5,                
    motivasi_belajar > 85      
  )

hasil_jumlah <- mahasiswa_terseleksi %>%
  count(jenis_kelamin)

print("--- Jawaban Pertanyaan Filter Ganda ---")
## [1] "--- Jawaban Pertanyaan Filter Ganda ---"
print(hasil_jumlah)
##   jenis_kelamin n
## 1             L 4
## 2             P 1
L_count <- hasil_jumlah %>% filter(jenis_kelamin == "Laki-laki") %>% pull(n)
P_count <- hasil_jumlah %>% filter(jenis_kelamin == "Perempuan") %>% pull(n)

if (length(L_count) == 0) L_count <- 0
if (length(P_count) == 0) P_count <- 0

print(paste("Jawaban: L =", L_count, "dan P =", P_count))
## [1] "Jawaban: L = 0 dan P = 0"
library(dplyr)

mahasiswa_motivasi_tertinggi <- data_mahasiswa %>%
  arrange(desc(motivasi_belajar)) %>% 
  slice(1) 

id_tertinggi_motivasi <- mahasiswa_motivasi_tertinggi$id_mahasiswa
motivasi_nilai_tertinggi <- mahasiswa_motivasi_tertinggi$motivasi_belaja

print("--- Mahasiswa dengan Motivasi Belajar Tertinggi ---")
## [1] "--- Mahasiswa dengan Motivasi Belajar Tertinggi ---"
print(paste("ID Mahasiswa dengan Motivasi Tertinggi:", id_tertinggi_motivasi))
## [1] "ID Mahasiswa dengan Motivasi Tertinggi: MHS054"
print(paste("Nilai Motivasinya:", motivasi_nilai_tertinggi))
## [1] "Nilai Motivasinya: 100"