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"