Prakticum Week-4

Prakticum Week-4

DEN YUAN FRASSEKA
NIM: 52250050

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
LS0tDQp0aXRsZTogIlByYWt0aWN1bSBXZWVrLTQiICAgICAgICMgTWFpbiB0aXRsZSBvZiB0aGUgZG9jdW1lbnQNCnN1YnRpdGxlOiAiUHJha3RpY3VtIFdlZWstNCIgICMgU3VidGl0bGUgb3IgdG9waWMgZm9yIHdlZWsgMg0KYXV0aG9yOiANCi0gIkRFTiBZVUFOIEZSQVNTRUtBIiMgUmVwbGFjZSB3aXRoIHlvdXIgZnVsbCBuYW1lDQpkYXRlOiAgImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIiAjIEF1dG8gZGlzcGxheXMgdGhlIGN1cnJlbnQgZGF0ZQ0Kb3V0cHV0OiAgICAgICAgICAgICAgICAgICAgICAgICAjIE91dHB1dCBzZWN0aW9uIGRlZmluZXMgdGhlIGZvcm1hdCBhbmQgbGF5b3V0IA0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjogICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWJhL3JtZGZvcm1hdHMNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZSAgICAgICAgIyBFbWJlZHMgYWxsIHJlc291cmNlcyAoQ1NTLCBKUywgaW1hZ2VzKSANCiAgICB0aHVtYm5haWxzOiB0cnVlICAgICAgICAgICAgIyBEaXNwbGF5cyBpbWFnZSB0aHVtYm5haWxzIGluIHRoZSBkb2MNCiAgICBsaWdodGJveDogdHJ1ZSAgICAgICAgICAgICAgIyBFbmFibGVzIGNsaWNrIHRvIGVubGFyZ2UgaW1hZ2VzDQogICAgZ2FsbGVyeTogdHJ1ZSAgICAgICAgICAgICAgICMgR3JvdXBzIGltYWdlcyBpbnRvIGFuIGludGVyYWN0aXZlIGdhbGxlcnkNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUgICAgICAgIyBBdXRvbWF0aWNhbGx5IG51bWJlcnMgYWxsIHNlY3Rpb25zDQogICAgbGliX2RpcjogbGlicyAgICAgICAgICAgICAgICMgRGlyZWN0b3J5IHdoZXJlIEphdmFTY3JpcHQvQ1NTIGxpYnJhcmllcw0KICAgIGRmX3ByaW50OiAicGFnZWQiICAgICAgICAgICAjIERpc3BsYXlzIGRhdGEgZnJhbWVzIGFzIGludGVyYWN0aXZlIHBhZ2VkIA0KICAgIGNvZGVfZm9sZGluZzogInNob3ciICAgICAgICAjIEFsbG93cyBmb2xkaW5nL3VuZm9sZGluZyBSIGNvZGUgYmxvY2tzIA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcyAgICAgICAgICAjIEFkZHMgYSBidXR0b24gdG8gZG93bmxvYWQgYWxsIFIgY29kZQ0KLS0tDQo8c3R5bGU+DQoucHJvZmlsZS1jYXJkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCiAgYm9yZGVyLXJhZGl1czogMTVweDsNCiAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsMCwwLDAuMSk7DQogIHBhZGRpbmc6IDMwcHg7DQogIG1heC13aWR0aDogNTAwcHg7DQogIG1hcmdpbjogNDBweCBhdXRvOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICMyYzNlNTA7DQp9DQoNCi5wcm9maWxlLWltZyB7DQogIHdpZHRoOiAxNTBweDsNCiAgaGVpZ2h0OiAxNTBweDsNCiAgYm9yZGVyLXJhZGl1czogNTAlOw0KICBvYmplY3QtZml0OiBjb3ZlcjsNCiAgYm9yZGVyOiA1cHggc29saWQgI2YwZjBmMDsNCiAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLm5hbWUgew0KICBmb250LXNpemU6IDI0cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBjb2xvcjogIzJjM2U1MDsNCiAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KfQ0KDQouaW5mby10ZXh0IHsNCiAgY29sb3I6ICM3ZjhjOGQ7DQogIG1hcmdpbjogNXB4IDA7DQogIGZvbnQtc2l6ZTogMTZweDsNCn0NCg0KLmluc3RpdHV0ZSB7DQogIGZvbnQtc2l6ZTogMTVweDsNCiAgbWFyZ2luLXRvcDogMTVweDsNCiAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgY29sb3I6ICMwMDAwODA7DQogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIGxldHRlci1zcGFjaW5nOiA1cHg7DQp9DQoNCmhyIHsNCiAgd2lkdGg6IDUwJTsNCiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjZWVlOw0KICBtYXJnaW46IDIwcHggYXV0bzsNCn0NCjwvc3R5bGU+DQoNCjxkaXYgY2xhc3M9InByb2ZpbGUtY2FyZCI+DQogIDxpbWcgc3JjPSJDOlxVc2Vyc1x5b2hhblxPbmVEcml2ZVxEb2N1bWVudHNcQiAtIFR1Z2FzXFNlbWVzdGVyIDJcUGVtcm9ncmFtYW4gU2FpbnMgRGF0YSBJXFByYWt0aWN1bSBXZWVrLTRcZm90byBrdG0uanBnLmpwZWciPg0KICANCiAgPGRpdiBjbGFzcz0ibmFtZSI+REVOIFlVQU4gRlJBU1NFS0E8L2Rpdj4NCiAgPGRpdiBjbGFzcz0iaW5mby10ZXh0Ij48c3Ryb25nPk5JTTo8L3N0cm9uZz4gNTIyNTAwNTA8L2Rpdj4NCiAgDQogIDxocj4NCiAgDQogIDxkaXYgY2xhc3M9ImluZm8tdGV4dCI+RG9zZW4gUGVuZ2FtcHU6PC9kaXY+DQogIDxkaXYgY2xhc3M9ImluZm8tdGV4dCIgc3R5bGU9ImNvbG9yOiAjMjk4MGI5OyI+PHN0cm9uZz5CQUtUSSBTSVJFR0FSLCBNLlNjLiwgQ0RTLjwvc3Ryb25nPjwvZGl2Pg0KICANCiAgPGRpdiBjbGFzcz0iaW5zdGl0dXRlIj5JTlNUSVRVVCBURUtOT0xPR0kgU0FJTlMgQkFORFVORzwvZGl2Pg0KPC9kaXY+DQoNCi0tLQ0KDQoxLiBNZW55aWFwa2FuIERhdGFzZXQNCmBgYHtyfQ0KDQpkZiA8LSBkYXRhLmZyYW1lKA0KICBJRCA9IGMoMSwgMiwgMywgNCwgNSksDQogIE5hbWEgPSBjKCJCYWdhcyIsICJKb2FuIiwgIkFseWEiLCAiRHdpIiwgIk5hYmlsIiksDQogIFVzaWEgPSBjKDI1LCAzMCwgMjcsIDM1LCA0MCksDQogIEdhamkgPSBjKDUwMDAsIDcwMDAsIDY1MDAsIDEwMDAwLCAxMjAwMCksDQogIEphYmF0YW4gPSBjKCJTdGFmIiwgIlBlbmdhd2FzIiwgIlN0YWYiLCAiTWFuYWplciIsICJEaXJla3R1ciIpLA0KICBLaW5lcmphID0gYygiQmFpayIsICJTYW5nYXQgQmFpayIsICJSYXRhLXJhdGEiLCAiQmFpayIsICJTYW5nYXQgQmFpayIpLA0KICBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UNCikNCmBgYA0KDQoyLjUuMiBQZXJueWF0YWFuIEJlcnN5YXJhdCAoTWVuZ2hpdHVuZyBCb251cykNCmBgYHtyfQ0KZm9yIChpIGluIDE6bnJvdyhkZikpIHsNCiAgZ2FqaV9za3JnIDwtIGRmJEdhamlbaV0NCiAga2luZXJqYV9za3JnIDwtIGRmJEtpbmVyamFbaV0NCiAgDQogICMgTG9naWthIGlmLWVsaWYtZWxzZSB1bnR1ayBtZW5lbnR1a2FuIHBlcnNlbnRhc2UgYm9udXMNCiAgaWYgKGtpbmVyamFfc2tyZyA9PSAiU2FuZ2F0IEJhaWsiKSB7DQogICAgYm9udXMgPC0gMC4yMCAqIGdhamlfc2tyZw0KICB9IGVsc2UgaWYgKGtpbmVyamFfc2tyZyA9PSAiQmFpayIpIHsNCiAgICBib251cyA8LSAwLjEwICogZ2FqaV9za3JnDQogIH0gZWxzZSBpZiAoa2luZXJqYV9za3JnID09ICJSYXRhLXJhdGEiKSB7DQogICAgYm9udXMgPC0gMC4wNSAqIGdhamlfc2tyZw0KICB9IGVsc2Ugew0KICAgIGJvbnVzIDwtIDANCiAgfQ0KICANCiAgIyBNZW5hbXBpbGthbiBmb3JtYXQ6ICJOYW1lOiBbTmFtYV0sIEJvbnVzOiBbQm9udXNdIg0KICBjYXQocGFzdGUwKCJOYW1lOiAiLCBkZiROYW1hW2ldLCAiLCBCb251czogIiwgYm9udXMsICJcbiIpKQ0KfQ0KYGBgDQoNCg0KMi41LjMgUGVydWxhbmdhbiAoRm9yICYgV2hpbGUpDQoNCjEuUGVydWxhbmdhbiBGT1I6IEdhamkgPiA2MDAwDQoNCmBgYHtyfQ0KZm9yIChpIGluIDE6bnJvdyhkZikpIHsNCiAgaWYgKGRmJEdhamlbaV0gPiA2MDAwKSB7DQogICAgY2F0KHBhc3RlMCgiTmFtZTogIiwgZGYkTmFtYVtpXSwgIiwgU2FsYXJ5OiAiLCBkZiRHYWppW2ldLCAiXG4iKSkNCiAgfQ0KfQ0KYGBgDQoNCjIuIFBlcnVsYW5nYW4gV0hJTEU6IEJlcmhlbnRpIHNhYXQgZGl0ZW11a2FuICJNYW5hamVyIg0KDQpgYGB7cn0NCmkgPC0gMQ0Kd2hpbGUgKGkgPD0gbnJvdyhkZikpIHsNCiAgY2F0KHBhc3RlMCgiTmFtZTogIiwgZGYkTmFtYVtpXSwgIiwgUG9zaXRpb246ICIsIGRmJEphYmF0YW5baV0pKQ0KICBpZiAoZGYkSmFiYXRhbltpXSA9PSAiTWFuYWplciIpIHsNCiAgICBjYXQoIiAoU3RvcCBoZXJlKVxuIikNCiAgICBicmVhaw0KICB9DQogIGNhdCgiXG4iKQ0KICBpIDwtIGkgKyAxDQp9DQoNCmBgYA0KDQozLiBQZXJpbnRhaCBCUkVBSzogQmVyaGVudGkgamlrYSBHYWppID4gMTAuMDAwDQoNCmBgYHtyfQ0KZm9yIChpIGluIDE6bnJvdyhkZikpIHsNCiAgaWYgKGRmJEdhamlbaV0gPiAxMDAwMCkgew0KICAgIGNhdChwYXN0ZTAoIihTdG9wcGVkIGJlY2F1c2UgIiwgZGYkTmFtYVtpXSwgIiBoYXMgYSBzYWxhcnkgYWJvdmUgMTAsMDAwKVxuIikpDQogICAgYnJlYWsNCiAgfQ0KICBjYXQocGFzdGUwKCJOYW1lOiAiLCBkZiROYW1hW2ldLCAiLCBTYWxhcnk6ICIsIGRmJEdhamlbaV0sICJcbiIpKQ0KfQ0KYGBgDQoNCjQuIFBlcmludGFoIENPTlRJTlVFIDogTGV3YXRpICJSYXRhLXJhdGEiDQoNCmBgYHtyfQ0KZm9yIChpIGluIDE6bnJvdyhkZikpIHsNCiAgaWYgKGRmJEtpbmVyamFbaV0gPT0gIlJhdGEtcmF0YSIpIHsNCiAgICAjICduZXh0JyBiZXJmdW5nc2kgc2FtYSBkZW5nYW4gJ2NvbnRpbnVlJyBkaSBQeXRob24NCiAgICBuZXh0DQogIH0NCiAgY2F0KHBhc3RlMCgiTmFtZTogIiwgZGYkTmFtYVtpXSwgIiwgUGVyZm9ybWFuY2U6ICIsIGRmJEtpbmVyamFbaV0sICJcbiIpKQ0KfQ0KYGBgDQoNCg==