Latihan Kode Program Python: Menghitung Gaji Karyawan

Latihan kode program Python kali ini akan membahas cara menghitung gaji mingguan karyawan berdasarkan golongan serta kondisi tambahan untuk menghitung upah lembur.

Soal ini umumnya dipakai untuk menguji pemahaman seputar konsep if elif dan logika matematika.


Soal Menghitung Gaji Karyawan

Buatlah program dalam bahasa Python untuk menentukan gaji karyawan mingguan dengan ketentuan sebagai berikut:

  • Golongan = A maka upah per jam 5000
  • Golongan = B maka upah per jam 7000
  • Golongan = C maka upah per jam 8000
  • Golongan = D maka upah per jam 10000

Ketentuan tambahan:

  • Jika jam kerja karyawan lebih dari 48 jam per minggu maka akan mendapat uang lembur dengan perhitungan uang lembur = (jam kerja-48)*4000.
  • Jika jam kerja kurang dari 48 jam maka pegawai tidak akan mendapat uang lembur.
  • Perhitungan gaji pegawai adalah upah + uang lembur.
  • Input berupa nama karyawan, golongan dan jam kerja.
  • Outputnya adalah nama karyawan dan gaji yang diterima.

Berikut contoh tampilan akhir yang diinginkan (1):

##  Program Python Menghitung Gaji Karyawan  ##
===============================================

Nama Karyawan: Rudianto Alexa
Golongan: C
Jumlah jam kerja: 40

Rudianto Alexa menerima upah Rp. 320000 per minggu

Berikut contoh tampilan akhir yang diinginkan (2):

##  Program Python Menghitung Gaji Karyawan  ##
===============================================

Nama Karyawan: Sari Lidya
Golongan: D
Jumlah jam kerja: 62

Sari Lidya menerima upah Rp. 676000 per minggu

Tips Membuat Kode Program Menghitung Gaji Karyawan

Soal ini melatih pemahaman tentang cara penggunaan variabel serta cara penggunaan kondisi if else. Berikut tutorial pendahuluan yang bisa diikuti:

Dalam bahasa pemrograman selain Python, pemeriksaan golongan karyawan akan lebih praktis jika menggunakan struktur kondisi switch case. Akan tetap hingga Python 3.10, struktur switch case tidak tersedia. Karena itu kita bisa menggunakan struktur kondisi if else atau if elif untuk mencari nominal upah sesuai golongan.

Setelah itu gunakan kondisi if else lain untuk memeriksa apakah karyawan bisa mendapat lembur atau tidak.

Silahkan anda coba sebentar untuk membuat kode program ini.


Kode Program Python Menghitung Gaji Karyawan

Berikut salah satu solusi dari soal menghitung gaji karyawan menggunakan bahasa pemrograman Python:

print('##  Program Python Menghitung Gaji Karyawan  ##')
print('===============================================')
print()

# proses input

nama = input('Nama Karyawan: ')
golongan = input('Golongan: ')
jam_kerja = int(input('Jumlah jam kerja: '))

print()

# tentukan jumlah upah per jam berdasarkan golongan

if golongan == "A":
  upah_per_jam = 5000
elif golongan == "B":
  upah_per_jam = 7000
elif golongan == "C":
  upah_per_jam = 8000
elif golongan == "D":
  upah_per_jam = 10000

total_upah = jam_kerja * upah_per_jam
 
# cek apakah jam kerja lebih dari 48 jam
if (jam_kerja - 48) > 0:
  total_upah = total_upah + ((jam_kerja - 48)*4000)
  
# proses output
print(nama,'menerima upah Rp.',total_upah,'per minggu')

Hasil kode program:

Latihan Kode Program Python - Menghitung Gaji Karyawan

Di baris 7-9 kode program meminta inputan awal untuk nama karyawan, golongan, serta jumlah jam kerja.

Khusus untuk variabel jam_kerja di baris 9, perlu tambahan function int() karena secara default perintah input() mengembalikan data bertipe string. Akan tetapi kita perlu tipe data integer karena variabel jam_kerja akan dipakai dalam perhitungan matematika.

Kondisi if elif di baris 15-22 berguna untuk menentukan nilai variabel upah_per_jam.

Setelah di dapat upah_per_jam, kita bisa mencari total_upah di baris 24 dengan mengalikan isi variabel jam_kerja * upah_per_jam.

Dalam soal, terdapat kondisi tambahan jika jam kerja lebih dari 48, maka perlu ditambah dengan upah lembur. Inilah yang dilakukan oleh kode program di baris 27-28.

Kondisi if (jam_kerja – 48) > 0 hanya akan terpenuhi jika jam kerja lebih dari 48 jam. Jika kondisi ini menghasilkan nilai true, maka baris 28 akan diproses dan isi variabel total_upah akan bertambah dengan perhitungan total_upah + ((jam_kerja – 48)*4000).

Namun jika kondisi if (jam_kerja – 48) > 0 menghasilkan nilai false, tidak perlu perhitungan tambahan.

Terakhir, proses output di lakukan pada baris 31 untuk menampilkan nama karyawan serta jumlah upah per minggu yang disimpan dalam variabel total_upah.


Kode Program Gaji Karyawan dengan Match Case

Python 3.10 membawa salah satu fitur yang sangat menarik, yakni struktur kondisi match case. Dalam bahasa pemrograman lain, ini mirip seperti struktur switch case. Berikut cara penggunaannya untuk memecahkan soal menghitung gaji karyawan:

print('##  Program Python Menghitung Gaji Karyawan  ##')
print('===============================================')
print()

# proses input

nama = input('Nama Karyawan: ')
golongan = input('Golongan: ')
jam_kerja = int(input('Jumlah jam kerja: '))

print()

# tentukan jumlah upah per jam berdasarkan golongan

match golongan:
  case "A":
    upah_per_jam = 5000
  case "B":
    upah_per_jam = 7000
  case "C":
    upah_per_jam = 8000
  case "D":
    upah_per_jam = 10000

total_upah = jam_kerja * upah_per_jam
 
# cek apakah jam kerja lebih dari 48 jam
if (jam_kerja - 48) > 0:
  total_upah = total_upah + ((jam_kerja - 48)*4000)
  
# proses output
print(nama,'menerima upah Rp.',total_upah,'per minggu')

Perubahan ada di baris 15-23. Kali ini kita menggunakan struktur match-case untuk menentukan upah per jam berdasarkan golongan.

Yang perlu menjadi catatan, struktur match-case ini baru tersedia di Python 3.10 ke atas. Jika anda menggunakan compiler Python versi di bawahnya, silahkan pakai versi if elif seperti jawaban pertama.


Demikian kode program latihan menghitung gaji karyawan dalam bahasa pemrograman Python. Soal seperti ini cukup sering ditemukan dengan beberapa variasi jumlah gaji.

Add Comment