Prakticum Week-4

Prakticum Week-4

ZIDHAN ALFAREZI AFDI
NIM: 52250049

Dosen Pengampu:
BAKTI SIREGAR, M.Sc., CDS.
INSTITUT TEKNOLOGI SAINS BANDUNG

  1. 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
  1. 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)
  1. 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)
  1. 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
LS0tDQp0aXRsZTogIlByYWt0aWN1bSBXZWVrLTQiICAgICAgICMgTWFpbiB0aXRsZSBvZiB0aGUgZG9jdW1lbnQNCnN1YnRpdGxlOiAiUHJha3RpY3VtIFdlZWstNCIgICMgU3VidGl0bGUgb3IgdG9waWMgZm9yIHdlZWsgMg0KYXV0aG9yOiANCi0gIlppZGhhbiBBbGZhcmV6aSBBZmRpIiMgUmVwbGFjZSB3aXRoIHlvdXIgZnVsbCBuYW1lDQpkYXRlOiAgImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIiAjIEF1dG8gZGlzcGxheXMgdGhlIGN1cnJlbnQgZGF0ZQ0Kb3V0cHV0OiAgICAgICAgICAgICAgICAgICAgICAgICAjIE91dHB1dCBzZWN0aW9uIGRlZmluZXMgdGhlIGZvcm1hdCBhbmQgbGF5b3V0IA0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjogICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWJhL3JtZGZvcm1hdHMNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZSAgICAgICAgIyBFbWJlZHMgYWxsIHJlc291cmNlcyAoQ1NTLCBKUywgaW1hZ2VzKSANCiAgICB0aHVtYm5haWxzOiB0cnVlICAgICAgICAgICAgIyBEaXNwbGF5cyBpbWFnZSB0aHVtYm5haWxzIGluIHRoZSBkb2MNCiAgICBsaWdodGJveDogdHJ1ZSAgICAgICAgICAgICAgIyBFbmFibGVzIGNsaWNrIHRvIGVubGFyZ2UgaW1hZ2VzDQogICAgZ2FsbGVyeTogdHJ1ZSAgICAgICAgICAgICAgICMgR3JvdXBzIGltYWdlcyBpbnRvIGFuIGludGVyYWN0aXZlIGdhbGxlcnkNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUgICAgICAgIyBBdXRvbWF0aWNhbGx5IG51bWJlcnMgYWxsIHNlY3Rpb25zDQogICAgbGliX2RpcjogbGlicyAgICAgICAgICAgICAgICMgRGlyZWN0b3J5IHdoZXJlIEphdmFTY3JpcHQvQ1NTIGxpYnJhcmllcw0KICAgIGRmX3ByaW50OiAicGFnZWQiICAgICAgICAgICAjIERpc3BsYXlzIGRhdGEgZnJhbWVzIGFzIGludGVyYWN0aXZlIHBhZ2VkIA0KICAgIGNvZGVfZm9sZGluZzogInNob3ciICAgICAgICAjIEFsbG93cyBmb2xkaW5nL3VuZm9sZGluZyBSIGNvZGUgYmxvY2tzIA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcyAgICAgICAgICAjIEFkZHMgYSBidXR0b24gdG8gZG93bmxvYWQgYWxsIFIgY29kZQ0KLS0tDQo8c3R5bGU+DQoucHJvZmlsZS1jYXJkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCiAgYm9yZGVyLXJhZGl1czogMTVweDsNCiAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsMCwwLDAuMSk7DQogIHBhZGRpbmc6IDMwcHg7DQogIG1heC13aWR0aDogNTAwcHg7DQogIG1hcmdpbjogNDBweCBhdXRvOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICMyYzNlNTA7DQp9DQoNCi5wcm9maWxlLWltZyB7DQogIHdpZHRoOiAxNTBweDsNCiAgaGVpZ2h0OiAxNTBweDsNCiAgYm9yZGVyLXJhZGl1czogNTAlOw0KICBvYmplY3QtZml0OiBjb3ZlcjsNCiAgYm9yZGVyOiA1cHggc29saWQgI2YwZjBmMDsNCiAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLm5hbWUgew0KICBmb250LXNpemU6IDI0cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBjb2xvcjogIzJjM2U1MDsNCiAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KfQ0KDQouaW5mby10ZXh0IHsNCiAgY29sb3I6ICM3ZjhjOGQ7DQogIG1hcmdpbjogNXB4IDA7DQogIGZvbnQtc2l6ZTogMTZweDsNCn0NCg0KLmluc3RpdHV0ZSB7DQogIGZvbnQtc2l6ZTogMTVweDsNCiAgbWFyZ2luLXRvcDogMTVweDsNCiAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgY29sb3I6ICMwMDAwODA7DQogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIGxldHRlci1zcGFjaW5nOiA1cHg7DQp9DQoNCmhyIHsNCiAgd2lkdGg6IDUwJTsNCiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjZWVlOw0KICBtYXJnaW46IDIwcHggYXV0bzsNCn0NCjwvc3R5bGU+DQoNCjxkaXYgY2xhc3M9InByb2ZpbGUtY2FyZCI+DQogIDxpbWcgc3JjPSJDOlxVc2Vyc1x5b2hhblxPbmVEcml2ZVxEb2N1bWVudHNcQiAtIFR1Z2FzXFNlbWVzdGVyIDJcUGVtcm9ncmFtYW4gU2FpbnMgRGF0YSBJXFByYWt0aWN1bSBXZWVrLTRcV2hhdHNBcHAgSW1hZ2UgMjAyNi0wMS0xOSBhdCAwMC40My4xNC5qcGVnIj4NCiAgDQogIDxkaXYgY2xhc3M9Im5hbWUiPlpJREhBTiBBTEZBUkVaSSBBRkRJPC9kaXY+DQogIDxkaXYgY2xhc3M9ImluZm8tdGV4dCI+PHN0cm9uZz5OSU06PC9zdHJvbmc+IDUyMjUwMDQ5PC9kaXY+DQogIA0KICA8aHI+DQogIA0KICA8ZGl2IGNsYXNzPSJpbmZvLXRleHQiPkRvc2VuIFBlbmdhbXB1OjwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJpbmZvLXRleHQiIHN0eWxlPSJjb2xvcjogIzI5ODBiOTsiPjxzdHJvbmc+QkFLVEkgU0lSRUdBUiwgTS5TYy4sIENEUy48L3N0cm9uZz48L2Rpdj4NCiAgDQogIDxkaXYgY2xhc3M9Imluc3RpdHV0ZSI+SU5TVElUVVQgVEVLTk9MT0dJIFNBSU5TIEJBTkRVTkc8L2Rpdj4NCjwvZGl2Pg0KDQotLS0NCg0KMS4gTWVueWlhcGthbiBEYXRhc2V0DQpgYGB7cn0NCg0KZGYgPC0gZGF0YS5mcmFtZSgNCiAgSUQgPSBjKDEsIDIsIDMsIDQsIDUpLA0KICBOYW1hID0gYygiQmFnYXMiLCAiSm9hbiIsICJBbHlhIiwgIkR3aSIsICJOYWJpbCIpLA0KICBVc2lhID0gYygyNSwgMzAsIDI3LCAzNSwgNDApLA0KICBHYWppID0gYyg1MDAwLCA3MDAwLCA2NTAwLCAxMDAwMCwgMTIwMDApLA0KICBKYWJhdGFuID0gYygiU3RhZiIsICJQZW5nYXdhcyIsICJTdGFmIiwgIk1hbmFqZXIiLCAiRGlyZWt0dXIiKSwNCiAgS2luZXJqYSA9IGMoIkJhaWsiLCAiU2FuZ2F0IEJhaWsiLCAiUmF0YS1yYXRhIiwgIkJhaWsiLCAiU2FuZ2F0IEJhaWsiKSwNCiAgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFDQopDQpgYGANCg0KMi41LjIgUGVybnlhdGFhbiBCZXJzeWFyYXQgKE1lbmdoaXR1bmcgQm9udXMpDQpgYGB7cn0NCmZvciAoaSBpbiAxOm5yb3coZGYpKSB7DQogIGdhamlfc2tyZyA8LSBkZiRHYWppW2ldDQogIGtpbmVyamFfc2tyZyA8LSBkZiRLaW5lcmphW2ldDQogIA0KICAjIExvZ2lrYSBpZi1lbGlmLWVsc2UgdW50dWsgbWVuZW50dWthbiBwZXJzZW50YXNlIGJvbnVzDQogIGlmIChraW5lcmphX3NrcmcgPT0gIlNhbmdhdCBCYWlrIikgew0KICAgIGJvbnVzIDwtIDAuMjAgKiBnYWppX3NrcmcNCiAgfSBlbHNlIGlmIChraW5lcmphX3NrcmcgPT0gIkJhaWsiKSB7DQogICAgYm9udXMgPC0gMC4xMCAqIGdhamlfc2tyZw0KICB9IGVsc2UgaWYgKGtpbmVyamFfc2tyZyA9PSAiUmF0YS1yYXRhIikgew0KICAgIGJvbnVzIDwtIDAuMDUgKiBnYWppX3NrcmcNCiAgfSBlbHNlIHsNCiAgICBib251cyA8LSAwDQogIH0NCiAgDQogICMgTWVuYW1waWxrYW4gZm9ybWF0OiAiTmFtZTogW05hbWFdLCBCb251czogW0JvbnVzXSINCiAgY2F0KHBhc3RlMCgiTmFtZTogIiwgZGYkTmFtYVtpXSwgIiwgQm9udXM6ICIsIGJvbnVzLCAiXG4iKSkNCn0NCmBgYA0KDQoNCjIuNS4zIFBlcnVsYW5nYW4gKEZvciAmIFdoaWxlKQ0KDQoxLlBlcnVsYW5nYW4gRk9SOiBHYWppID4gNjAwMA0KDQpgYGB7cn0NCmZvciAoaSBpbiAxOm5yb3coZGYpKSB7DQogIGlmIChkZiRHYWppW2ldID4gNjAwMCkgew0KICAgIGNhdChwYXN0ZTAoIk5hbWU6ICIsIGRmJE5hbWFbaV0sICIsIFNhbGFyeTogIiwgZGYkR2FqaVtpXSwgIlxuIikpDQogIH0NCn0NCmBgYA0KDQoyLiBQZXJ1bGFuZ2FuIFdISUxFOiBCZXJoZW50aSBzYWF0IGRpdGVtdWthbiAiTWFuYWplciINCg0KYGBge3J9DQppIDwtIDENCndoaWxlIChpIDw9IG5yb3coZGYpKSB7DQogIGNhdChwYXN0ZTAoIk5hbWU6ICIsIGRmJE5hbWFbaV0sICIsIFBvc2l0aW9uOiAiLCBkZiRKYWJhdGFuW2ldKSkNCiAgaWYgKGRmJEphYmF0YW5baV0gPT0gIk1hbmFqZXIiKSB7DQogICAgY2F0KCIgKFN0b3AgaGVyZSlcbiIpDQogICAgYnJlYWsNCiAgfQ0KICBjYXQoIlxuIikNCiAgaSA8LSBpICsgMQ0KfQ0KDQpgYGANCg0KMy4gUGVyaW50YWggQlJFQUs6IEJlcmhlbnRpIGppa2EgR2FqaSA+IDEwLjAwMA0KDQpgYGB7cn0NCmZvciAoaSBpbiAxOm5yb3coZGYpKSB7DQogIGlmIChkZiRHYWppW2ldID4gMTAwMDApIHsNCiAgICBjYXQocGFzdGUwKCIoU3RvcHBlZCBiZWNhdXNlICIsIGRmJE5hbWFbaV0sICIgaGFzIGEgc2FsYXJ5IGFib3ZlIDEwLDAwMClcbiIpKQ0KICAgIGJyZWFrDQogIH0NCiAgY2F0KHBhc3RlMCgiTmFtZTogIiwgZGYkTmFtYVtpXSwgIiwgU2FsYXJ5OiAiLCBkZiRHYWppW2ldLCAiXG4iKSkNCn0NCmBgYA0KDQo0LiBQZXJpbnRhaCBDT05USU5VRSA6IExld2F0aSAiUmF0YS1yYXRhIg0KDQpgYGB7cn0NCmZvciAoaSBpbiAxOm5yb3coZGYpKSB7DQogIGlmIChkZiRLaW5lcmphW2ldID09ICJSYXRhLXJhdGEiKSB7DQogICAgIyAnbmV4dCcgYmVyZnVuZ3NpIHNhbWEgZGVuZ2FuICdjb250aW51ZScgZGkgUHl0aG9uDQogICAgbmV4dA0KICB9DQogIGNhdChwYXN0ZTAoIk5hbWU6ICIsIGRmJE5hbWFbaV0sICIsIFBlcmZvcm1hbmNlOiAiLCBkZiRLaW5lcmphW2ldLCAiXG4iKSkNCn0NCmBgYA0KDQo=