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
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.
DATASET
Dataset yang digunakan dalam analisis ini berisi data sederhana
mengenai beberapa karyawan dalam sebuah perusahaan. Data tersebut
terdiri dari beberapa variabel, yaitu:
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
|
Conditional
Statements(Menghitung Bonus)
Aturan Bonus :
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
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
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)
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