Prakticum Week-4
Prakticum Week-4
ZIDHAN ALFAREZI AFDI
NIM: 52250049
Dosen Pengampu:
BAKTI SIREGAR, M.Sc., CDS.
INSTITUT TEKNOLOGI SAINS BANDUNG
- Menyiapkan Dataset
df <- data.frame(
ID = c(1, 2, 3, 4, 5),
Nama = c("Bagas", "Joan", "Alya", "Dwi", "Nabil"),
Usia = c(25, 30, 27, 35, 40),
Gaji = c(5000, 7000, 6500, 10000, 12000),
Jabatan = c("Staf", "Pengawas", "Staf", "Manajer", "Direktur"),
Kinerja = c("Baik", "Sangat Baik", "Rata-rata", "Baik", "Sangat Baik"),
stringsAsFactors = FALSE
)2.5.2 Pernyataan Bersyarat (Menghitung Bonus)
for (i in 1:nrow(df)) {
gaji_skrg <- df$Gaji[i]
kinerja_skrg <- df$Kinerja[i]
# Logika if-elif-else untuk menentukan persentase bonus
if (kinerja_skrg == "Sangat Baik") {
bonus <- 0.20 * gaji_skrg
} else if (kinerja_skrg == "Baik") {
bonus <- 0.10 * gaji_skrg
} else if (kinerja_skrg == "Rata-rata") {
bonus <- 0.05 * gaji_skrg
} else {
bonus <- 0
}
# Menampilkan format: "Name: [Nama], Bonus: [Bonus]"
cat(paste0("Name: ", df$Nama[i], ", Bonus: ", bonus, "\n"))
}## Name: Bagas, Bonus: 500
## Name: Joan, Bonus: 1400
## Name: Alya, Bonus: 325
## Name: Dwi, Bonus: 1000
## Name: Nabil, Bonus: 2400
2.5.3 Perulangan (For & While)
1.Perulangan FOR: Gaji > 6000
for (i in 1:nrow(df)) {
if (df$Gaji[i] > 6000) {
cat(paste0("Name: ", df$Nama[i], ", Salary: ", df$Gaji[i], "\n"))
}
}## Name: Joan, Salary: 7000
## Name: Alya, Salary: 6500
## Name: Dwi, Salary: 10000
## Name: Nabil, Salary: 12000
- Perulangan WHILE: Berhenti saat ditemukan “Manajer”
i <- 1
while (i <= nrow(df)) {
cat(paste0("Name: ", df$Nama[i], ", Position: ", df$Jabatan[i]))
if (df$Jabatan[i] == "Manajer") {
cat(" (Stop here)\n")
break
}
cat("\n")
i <- i + 1
}## Name: Bagas, Position: Staf
## Name: Joan, Position: Pengawas
## Name: Alya, Position: Staf
## Name: Dwi, Position: Manajer (Stop here)
- Perintah BREAK: Berhenti jika Gaji > 10.000
for (i in 1:nrow(df)) {
if (df$Gaji[i] > 10000) {
cat(paste0("(Stopped because ", df$Nama[i], " has a salary above 10,000)\n"))
break
}
cat(paste0("Name: ", df$Nama[i], ", Salary: ", df$Gaji[i], "\n"))
}## Name: Bagas, Salary: 5000
## Name: Joan, Salary: 7000
## Name: Alya, Salary: 6500
## Name: Dwi, Salary: 10000
## (Stopped because Nabil has a salary above 10,000)
- Perintah CONTINUE : Lewati “Rata-rata”
for (i in 1:nrow(df)) {
if (df$Kinerja[i] == "Rata-rata") {
# 'next' berfungsi sama dengan 'continue' di Python
next
}
cat(paste0("Name: ", df$Nama[i], ", Performance: ", df$Kinerja[i], "\n"))
}## Name: Bagas, Performance: Baik
## Name: Joan, Performance: Sangat Baik
## Name: Dwi, Performance: Baik
## Name: Nabil, Performance: Sangat Baik