Analisys Visual Dataset Karyawan

Exersize week~4

library(htmltools)

HTML('
<div class="profile-card">
  <div>
    <img src="Almetcokkk.JPG">
  </div>
  
  <div class="profile-name">Veronica Maria Lucia F Xavier</div>
  
  <div class="divider"></div>
  
  <div class="profile-nim">NIM: 52250021</div>
</div>
')
Veronica Maria Lucia F Xavier
NIM: 52250021

1 PENDAHULUAN

Laporan ini menganalisis dataset karyawan (usia, gaji, posisi, dan performa) untuk memetakan profil umum serta hubungan antarvariabel. Menggunakan bahasa R dan package ggplot2, data yang kompleks diolah menjadi visualisasi yang lebih informatif dan mudah dipahami secara sistematis.

Dalam pemrograman, conditional statements dan loops merupakan konsep dasar yang digunakan untuk mengatur alur program. Conditional statements seperti if digunakan untuk menentukan tindakan berdasarkan kondisi tertentu, sedangkan loops seperti for dan while digunakan untuk melakukan perulangan pada data.

Pada latihan ini digunakan dataset sederhana yang berisi informasi karyawan seperti nama, umur, gaji, posisi, dan performa. Dataset tersebut digunakan untuk mempraktikkan penggunaan conditional statements dan loops dalam bahasa Python dan R, seperti menghitung bonus karyawan, menampilkan data tertentu, serta menggunakan break dan continue dalam perulangan.

2 DATASET

Dataset yang digunakan dalam analisis ini berisi data sederhana mengenai beberapa karyawan dalam sebuah perusahaan. Data tersebut terdiri dari beberapa variabel, yaitu:

  • Name : Nama karyawan

  • Age : Usia karyawan

  • Salary : Gaji karyawan

  • Position : Posisi atau jabatan karyawan

  • Performance : Penilaian performa kerja karyawan

2.1 Tabel Dataset

library(knitr)
library(kableExtra)

# Dataset karyawan
employees <- data.frame(
  ID = c(1,2,3,4,5),
  Name = c("Bagas","Joan","Alya","Dwi","Nabil"),
  Age = c(25,30,27,35,40),
  Salary = c(5000,7000,6500,10000,12000),
  Position = c("Staff","Supervisor","Staff","Manager","Director"),
  Performance = c("Good","Very Good","Average","Good","Very Good")
)

kable(employees, caption = "Dataset Karyawan") %>%
  kable_styling(
    bootstrap_options = c("striped", "hover"),
    full_width = TRUE
  ) %>%
  row_spec(0, background = "#2C7BE5", color = "white")
Dataset Karyawan
ID Name Age Salary Position Performance
1 Bagas 25 5000 Staff Good
2 Joan 30 7000 Supervisor Very Good
3 Alya 27 6500 Staff Average
4 Dwi 35 10000 Manager Good
5 Nabil 40 12000 Director Very Good

3 Conditional Statements(Menghitung Bonus)

Aturan Bonus :

  • Very Good = 20% dari gaji

  • Good = 10% dari gaji

  • Average = 5% dari gaji

name <- c("Bagas","Joan","Alya","Dwi","Nabil")
salary <- c(5000,7000,6500,10000,12000)
performance <- c("Good","Very Good","Average","Good","Very Good")

for(i in 1:length(name)){
  
  if(performance[i] == "Very Good"){
    bonus <- salary[i] * 0.20
    
  } else if(performance[i] == "Good"){
    bonus <- salary[i] * 0.10
    
  } else if(performance[i] == "Average"){
    bonus <- salary[i] * 0.05
  }
  
  cat("Name:", name[i], ", Bonus:", bonus, "\n")
}
## Name: Bagas , Bonus: 500 
## Name: Joan , Bonus: 1400 
## Name: Alya , Bonus: 325 
## Name: Dwi , Bonus: 1000 
## Name: Nabil , Bonus: 2400

4 Loops (Menampilkan Gaji > 6000)

for(i in 1:length(name)){
  
  if(salary[i] > 6000){
    cat("Name:", name[i], ", Salary:", salary[i], "\n")
  }
  
}
## Name: Joan , Salary: 7000 
## Name: Alya , Salary: 6500 
## Name: Dwi , Salary: 10000 
## Name: Nabil , Salary: 12000

5 While Loop (Berhenti saat menemukan Manager)

position <- c("Staff","Supervisor","Staff","Manager","Director")

i <- 1

while(i <= length(name)){
  
  cat("Name:", name[i], ", Position:", position[i], "\n")
  
  if(position[i] == "Manager"){
    cat("(Stop here)\n")
    break
  }
  
  i <- i + 1
}
## Name: Bagas , Position: Staff 
## Name: Joan , Position: Supervisor 
## Name: Alya , Position: Staff 
## Name: Dwi , Position: Manager 
## (Stop here)

6 Kesimpulan

Dari latihan ini dapat dipahami bahwa:

  • Conditional statements digunakan untuk menentukan keputusan dalam program, seperti menentukan bonus berdasarkan performa karyawan.

  • Loop (perulangan) digunakan untuk memproses data secara berulang dalam dataset.

  • Break digunakan untuk menghentikan loop ketika kondisi tertentu terpenuhi.

  • Continue digunakan untuk melewati data tertentu tanpa menghentikan keseluruhan loop.

LS0tDQp0aXRsZTogIkFuYWxpc3lzIFZpc3VhbCBEYXRhc2V0IEthcnlhd2FuIiAgICAgICAjIE1haW4gdGl0bGUgb2YgdGhlIGRvY3VtZW50DQpzdWJ0aXRsZTogIkV4ZXJzaXplIHdlZWt+NCIgICMgU3VidGl0bGUgb3IgdG9waWMgZm9yIHdlZWsgNA0KYXV0aG9yOiANCi0gIlZlcm9uaWNhIE0gTCBGIFhhdmllciIgICAgICAgIyBSZXBsYWNlIHdpdGggeW91ciBmdWxsIG5hbWUNCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiICMgQXV0byBkaXNwbGF5cyB0aGUgY3VycmVudCBkYXRlDQpvdXRwdXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICMgT3V0cHV0IHNlY3Rpb24gZGVmaW5lcyB0aGUgZm9ybWF0IGFuZCBsYXlvdXQgDQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOiAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL2p1YmEvcm1kZm9ybWF0cw0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlICAgICAgICAjIEVtYmVkcyBhbGwgcmVzb3VyY2VzIChDU1MsIEpTLCBpbWFnZXMpIA0KICAgIHRodW1ibmFpbHM6IHRydWUgICAgICAgICAgICAjIERpc3BsYXlzIGltYWdlIHRodW1ibmFpbHMgaW4gdGhlIGRvYw0KICAgIGxpZ2h0Ym94OiB0cnVlICAgICAgICAgICAgICAjIEVuYWJsZXMgY2xpY2sgdG8gZW5sYXJnZSBpbWFnZXMNCiAgICBnYWxsZXJ5OiB0cnVlICAgICAgICAgICAgICAgIyBHcm91cHMgaW1hZ2VzIGludG8gYW4gaW50ZXJhY3RpdmUgZ2FsbGVyeQ0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZSAgICAgICAjIEF1dG9tYXRpY2FsbHkgbnVtYmVycyBhbGwgc2VjdGlvbnMNCiAgICBsaWJfZGlyOiBsaWJzICAgICAgICAgICAgICAgIyBEaXJlY3Rvcnkgd2hlcmUgSmF2YVNjcmlwdC9DU1MgbGlicmFyaWVzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCIgICAgICAgICAgICMgRGlzcGxheXMgZGF0YSBmcmFtZXMgYXMgaW50ZXJhY3RpdmUgcGFnZWQgDQogICAgY29kZV9mb2xkaW5nOiAic2hvdyIgICAgICAgICMgQWxsb3dzIGZvbGRpbmcvdW5mb2xkaW5nIFIgY29kZSBibG9ja3MgDQogICAgY29kZV9kb3dubG9hZDogeWVzICAgICAgICAgICMgQWRkcyBhIGJ1dHRvbiB0byBkb3dubG9hZCBhbGwgUiBjb2RlDQogICAgY3NzOjpTdHlsZS5jc3M6DQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShrYWJsZUV4dHJhKQ0KYGBgDQoNCjxib2R5Pg0KPHN0eWxlPg0KDQoucHJvZmlsZS1jYXJkIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7DQogICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgIHBhZGRpbmc6IDMwcHg7DQogICAgbWF4LXdpZHRoOiA1MDBweDsNCiAgICBtYXJnaW46IDQwcHggYXV0bzsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZlNmVmLCAjZmFkN2U4LCAjZmZlZWY3KTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDsNCn0NCg0KLnByb2ZpbGUtY2FyZCBpbWcgew0KICB3aWR0aDogMTgwcHg7DQogIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7DQogIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwwLDAsMC4yNSk7DQp9DQoNCi5wcm9maWxlLWltZzpob3ZlciB7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgLyogRWZlayB6b29tIHNhYXQga3Vyc29yIGRpIGF0YXMgZm90byAqLw0KfQ0KDQovKiBOYW1hIGRhbiBOSU0gKi8NCi5wcm9maWxlLW5hbWUgew0KICAgIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGNvbG9yOiAjMmMzZTUwOw0KICAgIG1hcmdpbjogMTBweCAwIDVweCAwOw0KfQ0KDQoucHJvZmlsZS1uaW0gew0KICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGNvbG9yOiAjN2Y4YzhkOw0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQp9DQoNCi5kaXZpZGVyIHsNCiAgICBoZWlnaHQ6IDJweDsNCiAgICB3aWR0aDogNTBweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5OGRiOw0KICAgIG1hcmdpbjogMTVweCBhdXRvOw0KfQ0KDQo8L3N0eWxlPg0KDQpgYGB7cn0NCmxpYnJhcnkoaHRtbHRvb2xzKQ0KDQpIVE1MKCcNCjxkaXYgY2xhc3M9InByb2ZpbGUtY2FyZCI+DQogIDxkaXY+DQogICAgPGltZyBzcmM9IkFsbWV0Y29ra2suSlBHIj4NCiAgPC9kaXY+DQogIA0KICA8ZGl2IGNsYXNzPSJwcm9maWxlLW5hbWUiPlZlcm9uaWNhIE1hcmlhIEx1Y2lhIEYgWGF2aWVyPC9kaXY+DQogIA0KICA8ZGl2IGNsYXNzPSJkaXZpZGVyIj48L2Rpdj4NCiAgDQogIDxkaXYgY2xhc3M9InByb2ZpbGUtbmltIj5OSU06IDUyMjUwMDIxPC9kaXY+DQo8L2Rpdj4NCicpDQpgYGANCg0KIyMgUEVOREFIVUxVQU4NCkxhcG9yYW4gaW5pIG1lbmdhbmFsaXNpcyBkYXRhc2V0IGthcnlhd2FuICh1c2lhLCBnYWppLCBwb3Npc2ksIGRhbiBwZXJmb3JtYSkNCnVudHVrIG1lbWV0YWthbiBwcm9maWwgdW11bSBzZXJ0YSBodWJ1bmdhbiBhbnRhcnZhcmlhYmVsLiBNZW5nZ3VuYWthbiBiYWhhc2EgUiBkYW4gDQpwYWNrYWdlIGdncGxvdDIsIGRhdGEgeWFuZyBrb21wbGVrcyBkaW9sYWggbWVuamFkaSB2aXN1YWxpc2FzaSB5YW5nIGxlYmloIGluZm9ybWF0aWYNCmRhbiBtdWRhaCBkaXBhaGFtaSBzZWNhcmEgc2lzdGVtYXRpcy4NCg0KRGFsYW0gcGVtcm9ncmFtYW4sIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgZGFuIGxvb3BzIG1lcnVwYWthbiBrb25zZXAgZGFzYXIgeWFuZw0KZGlndW5ha2FuIHVudHVrIG1lbmdhdHVyIGFsdXIgcHJvZ3JhbS4gQ29uZGl0aW9uYWwgc3RhdGVtZW50cyBzZXBlcnRpIGlmIGRpZ3VuYWthbiANCnVudHVrIG1lbmVudHVrYW4gdGluZGFrYW4gYmVyZGFzYXJrYW4ga29uZGlzaSB0ZXJ0ZW50dSwgc2VkYW5na2FuIGxvb3BzIHNlcGVydGkgDQpmb3IgZGFuIHdoaWxlIGRpZ3VuYWthbiB1bnR1ayBtZWxha3VrYW4gcGVydWxhbmdhbiBwYWRhIGRhdGEuDQoNClBhZGEgbGF0aWhhbiBpbmkgZGlndW5ha2FuIGRhdGFzZXQgc2VkZXJoYW5hIHlhbmcgYmVyaXNpIGluZm9ybWFzaSBrYXJ5YXdhbiANCnNlcGVydGkgbmFtYSwgdW11ciwgZ2FqaSwgcG9zaXNpLCBkYW4gcGVyZm9ybWEuIERhdGFzZXQgdGVyc2VidXQgZGlndW5ha2FuIHVudHVrIA0KbWVtcHJha3Rpa2thbiBwZW5nZ3VuYWFuIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgZGFuIGxvb3BzIGRhbGFtIGJhaGFzYSBQeXRob24gZGFuIFIsIA0Kc2VwZXJ0aSBtZW5naGl0dW5nIGJvbnVzIGthcnlhd2FuLCBtZW5hbXBpbGthbiBkYXRhIHRlcnRlbnR1LCBzZXJ0YSBtZW5nZ3VuYWthbg0KYnJlYWsgZGFuIGNvbnRpbnVlIGRhbGFtIHBlcnVsYW5nYW4uDQoNCiMjIERBVEFTRVQNCkRhdGFzZXQgeWFuZyBkaWd1bmFrYW4gZGFsYW0gYW5hbGlzaXMgaW5pIGJlcmlzaSBkYXRhIHNlZGVyaGFuYSBtZW5nZW5haQ0KYmViZXJhcGEga2FyeWF3YW4gZGFsYW0gc2VidWFoIHBlcnVzYWhhYW4uIERhdGEgdGVyc2VidXQgdGVyZGlyaSBkYXJpIGJlYmVyYXBhIA0KdmFyaWFiZWwsIHlhaXR1Og0KDQotIE5hbWUgOiAgKipOYW1hIGthcnlhd2FuKioNCg0KLSBBZ2UgOiAgKipVc2lhIGthcnlhd2FuKioNCg0KLSBTYWxhcnkgOiAgKipHYWppIGthcnlhd2FuKioNCg0KLSBQb3NpdGlvbiA6ICAqKlBvc2lzaSBhdGF1IGphYmF0YW4ga2FyeWF3YW4qKg0KDQotIFBlcmZvcm1hbmNlIDogICoqUGVuaWxhaWFuIHBlcmZvcm1hIGtlcmphIGthcnlhd2FuKioNCg0KIyMjIFRhYmVsIERhdGFzZXQNCmBgYHtyfQ0KbGlicmFyeShrbml0cikNCmxpYnJhcnkoa2FibGVFeHRyYSkNCg0KIyBEYXRhc2V0IGthcnlhd2FuDQplbXBsb3llZXMgPC0gZGF0YS5mcmFtZSgNCiAgSUQgPSBjKDEsMiwzLDQsNSksDQogIE5hbWUgPSBjKCJCYWdhcyIsIkpvYW4iLCJBbHlhIiwiRHdpIiwiTmFiaWwiKSwNCiAgQWdlID0gYygyNSwzMCwyNywzNSw0MCksDQogIFNhbGFyeSA9IGMoNTAwMCw3MDAwLDY1MDAsMTAwMDAsMTIwMDApLA0KICBQb3NpdGlvbiA9IGMoIlN0YWZmIiwiU3VwZXJ2aXNvciIsIlN0YWZmIiwiTWFuYWdlciIsIkRpcmVjdG9yIiksDQogIFBlcmZvcm1hbmNlID0gYygiR29vZCIsIlZlcnkgR29vZCIsIkF2ZXJhZ2UiLCJHb29kIiwiVmVyeSBHb29kIikNCikNCg0Ka2FibGUoZW1wbG95ZWVzLCBjYXB0aW9uID0gIkRhdGFzZXQgS2FyeWF3YW4iKSAlPiUNCiAga2FibGVfc3R5bGluZygNCiAgICBib290c3RyYXBfb3B0aW9ucyA9IGMoInN0cmlwZWQiLCAiaG92ZXIiKSwNCiAgICBmdWxsX3dpZHRoID0gVFJVRQ0KICApICU+JQ0KICByb3dfc3BlYygwLCBiYWNrZ3JvdW5kID0gIiMyQzdCRTUiLCBjb2xvciA9ICJ3aGl0ZSIpDQoNCmBgYA0KIyMgQ29uZGl0aW9uYWwgU3RhdGVtZW50cyhNZW5naGl0dW5nIEJvbnVzKSANCkF0dXJhbiBCb251cyA6DQoNCi0gVmVyeSBHb29kID0gMjAlIGRhcmkgZ2FqaQ0KDQoNCi0gR29vZCA9IDEwJSBkYXJpIGdhamkNCg0KDQotIEF2ZXJhZ2UgPSA1JSBkYXJpIGdhamkNCg0KDQpgYGB7cn0NCm5hbWUgPC0gYygiQmFnYXMiLCJKb2FuIiwiQWx5YSIsIkR3aSIsIk5hYmlsIikNCnNhbGFyeSA8LSBjKDUwMDAsNzAwMCw2NTAwLDEwMDAwLDEyMDAwKQ0KcGVyZm9ybWFuY2UgPC0gYygiR29vZCIsIlZlcnkgR29vZCIsIkF2ZXJhZ2UiLCJHb29kIiwiVmVyeSBHb29kIikNCg0KZm9yKGkgaW4gMTpsZW5ndGgobmFtZSkpew0KICANCiAgaWYocGVyZm9ybWFuY2VbaV0gPT0gIlZlcnkgR29vZCIpew0KICAgIGJvbnVzIDwtIHNhbGFyeVtpXSAqIDAuMjANCiAgICANCiAgfSBlbHNlIGlmKHBlcmZvcm1hbmNlW2ldID09ICJHb29kIil7DQogICAgYm9udXMgPC0gc2FsYXJ5W2ldICogMC4xMA0KICAgIA0KICB9IGVsc2UgaWYocGVyZm9ybWFuY2VbaV0gPT0gIkF2ZXJhZ2UiKXsNCiAgICBib251cyA8LSBzYWxhcnlbaV0gKiAwLjA1DQogIH0NCiAgDQogIGNhdCgiTmFtZToiLCBuYW1lW2ldLCAiLCBCb251czoiLCBib251cywgIlxuIikNCn0NCmBgYA0KDQojIyBMb29wcyAoTWVuYW1waWxrYW4gR2FqaSA+IDYwMDApDQoNCmBgYHtyfQ0KZm9yKGkgaW4gMTpsZW5ndGgobmFtZSkpew0KICANCiAgaWYoc2FsYXJ5W2ldID4gNjAwMCl7DQogICAgY2F0KCJOYW1lOiIsIG5hbWVbaV0sICIsIFNhbGFyeToiLCBzYWxhcnlbaV0sICJcbiIpDQogIH0NCiAgDQp9DQpgYGANCg0KIyMgV2hpbGUgTG9vcCAoQmVyaGVudGkgc2FhdCBtZW5lbXVrYW4gTWFuYWdlcikNCg0KYGBge3J9DQpwb3NpdGlvbiA8LSBjKCJTdGFmZiIsIlN1cGVydmlzb3IiLCJTdGFmZiIsIk1hbmFnZXIiLCJEaXJlY3RvciIpDQoNCmkgPC0gMQ0KDQp3aGlsZShpIDw9IGxlbmd0aChuYW1lKSl7DQogIA0KICBjYXQoIk5hbWU6IiwgbmFtZVtpXSwgIiwgUG9zaXRpb246IiwgcG9zaXRpb25baV0sICJcbiIpDQogIA0KICBpZihwb3NpdGlvbltpXSA9PSAiTWFuYWdlciIpew0KICAgIGNhdCgiKFN0b3AgaGVyZSlcbiIpDQogICAgYnJlYWsNCiAgfQ0KICANCiAgaSA8LSBpICsgMQ0KfQ0KYGBgDQoNCiMjIEtlc2ltcHVsYW4NCg0KRGFyaSBsYXRpaGFuIGluaSBkYXBhdCBkaXBhaGFtaSBiYWh3YToNCg0KLSAqQ29uZGl0aW9uYWwgc3RhdGVtZW50cyogZGlndW5ha2FuIHVudHVrIG1lbmVudHVrYW4ga2VwdXR1c2FuIGRhbGFtIHByb2dyYW0sDQpzZXBlcnRpIG1lbmVudHVrYW4gYm9udXMgYmVyZGFzYXJrYW4gcGVyZm9ybWEga2FyeWF3YW4uDQoNCi0gKkxvb3AqIChwZXJ1bGFuZ2FuKSBkaWd1bmFrYW4gdW50dWsgbWVtcHJvc2VzIGRhdGEgc2VjYXJhIGJlcnVsYW5nIGRhbGFtIGRhdGFzZXQuDQoNCi0gKkJyZWFrKiBkaWd1bmFrYW4gdW50dWsgbWVuZ2hlbnRpa2FuIGxvb3Aga2V0aWthIGtvbmRpc2kgdGVydGVudHUgdGVycGVudWhpLg0KDQotICpDb250aW51ZSogZGlndW5ha2FuIHVudHVrIG1lbGV3YXRpIGRhdGEgdGVydGVudHUgdGFucGEgbWVuZ2hlbnRpa2FuIGtlc2VsdXJ1aGFuIGxvb3AuDQoNCg0K