The purpose of creating this employee dataset is to provide an example for learning how to process and analyze data using programming. The dataset contains basic employee information such as name, age, salary, position, and performance. It is used to practice programming concepts like data storage, conditional statements, loops, and control structures such as break and continue. By using this dataset, students can understand how to filter data, calculate bonuses based on performance, and display specific information such as employees with certain salary levels. Overall, this dataset helps learners practice basic data processing and analysis in programming.


Profile Author

Naila Syahrani Putri

Data Science

Institut Teknologi Sains Bandung Logo


Practikum

Prepare Employee Data

Employee =

{"id":1, "nama":"Bagas", "usia":25, "gaji":5000, "posisi":"Staf", "performa":"Bagus"},

{"id":2, "nama":"Joan", "usia":30, "gaji":7000, "posisi":"Pengawas", "performa":"Sangat bagus"},

{"id":3, "nama":"Alya", "usia":27, "gaji":6500, "posisi":"Staf", "performa":"Rata-rata"},

{"id":4, "nama":"Dwi", "usia":35, "gaji":10000, "posisi":"Manajer", "performa":"Bagus"},

{"id":5, "nama":"Nabil", "usia":40, "gaji":12000, "posisi":"Direktur", "performa":"Sangat bagus"}

Calculating Employee Bonuses

Very Good = 20% gaji

Good = 10% gaji

Average = 5% gaji

print("=== Bonus Karyawan ===")

for k in karyawan:

if k["performa"] == "Sangat bagus":
    bonus = k["gaji"] * 0.20
elif k["performa"] == "Bagus":
    bonus = k["gaji"] * 0.10
else:
    bonus = k["gaji"] * 0.05

print(k["nama"], "mendapat bonus:", bonus)

output :

=== Bonus Karyawan ===
Bagas mendapat bonus: 500.0
Joan mendapat bonus: 1400.0
Alya mendapat bonus: 325.0
Dwi mendapat bonus: 1000.0
Nabil mendapat bonus: 2400.0

Displaying Employees with Salary > 6000

print("\n=== Karyawan dengan Gaji > 6000 ===")

for k in karyawan:
if k["gaji"] > 6000:
    print(k["nama"], "-", k["gaji"])
    
    output :
    === Karyawan dengan Gaji > 6000 ===
Joan - 7000
Alya - 6500
Dwi - 10000
Nabil - 12000

Displaying Employees to Manager (While Loop)

print("\n=== Sampai Posisi Manager ===")

i = 0
while i < len(karyawan):

print(karyawan[i]["nama"], "-", karyawan[i]["posisi"])

if karyawan[i]["posisi"] == "Manajer":
    break

i += 1

output :
=== Sampai Posisi Manager ===
Bagas - Staf
Joan - Pengawas
Alya - Staf
Dwi - Manajer

Stop If Salary > 10,000 found

print("\n=== Proses Data Karyawan ===")

for k in karyawan:

# berhenti jika gaji > 10000
if k["gaji"] > 10000:
    print("Ditemukan gaji lebih dari 10000. Program berhenti.")
    break

print(k["nama"], "-", k["gaji"], "-", k["performa"])

output :
=== Proses Data Karyawan ===
Bagas - 5000 - Bagus
Joan - 7000 - Sangat bagus
Alya - 6500 - Rata-rata
Dwi - 10000 - Bagus
Ditemukan gaji lebih dari 10000. Program berhenti.

Continue Employees with “Average” Performance

skip performa rata-rata

print("\n=== Proses Data Karyawan (Skip Rata-rata) ===")

for k in karyawan:
if k["performa"] == "Rata-rata":
    print(f"Melewatkan {k['nama']} karena performa Rata-rata.")
    continue
print(f"{k['nama']} - {k['gaji']} - {k['performa']}")

output : 
=== Proses Data Karyawan (Skip Rata-rata) ===
Bagas - 5000 - Bagus
Joan - 7000 - Sangat bagus
Melewatkan Alya karena performa Rata-rata.
Dwi - 10000 - Bagus
Nabil - 12000 - Sangat bagus

Visualisasi

Salary by Employee Logo

Bonus By Employee Logo

Number of Employees by Position Logo

Age vs Salary Logo