PROGRAM HitungGajiKaryawan
// Deklarasi Variabel
DEKLARASI
golongan : string
jamLembur : integer
gajiPokok : integer
persentaseLembur, uangLembur, totalGaji : float
inputValid : boolean
// Tampilkan Header Program
TAMPILKAN "======================================="
TAMPILKAN " PROGRAM HITUNG GAJI KARYAWAN"
TAMPILKAN "======================================="
TAMPILKAN "" // Baris kosong
// Input dan Validasi Golongan Karyawan
TAMPILKAN "Masukkan Golongan Karyawan (A/B/C): "
BACA golongan
golongan = KONVERSI_KE_HURUF_BESAR(golongan)
// Validasi Input Golongan
ULANGI SAMPAI golongan = 'A' ATAU golongan = 'B' ATAU golongan = 'C'
JIKA golongan != 'A' DAN golongan != 'B' DAN golongan != 'C' MAKA
TAMPILKAN "Error: Golongan harus A, B, atau C"
TAMPILKAN "Masukkan Golongan Karyawan (A/B/C): "
BACA golongan
golongan = KONVERSI_KE_HURUF_BESAR(golongan)
AKHIR-JIKA
AKHIR-ULANGI
// Input dan Validasi Jam Lembur
inputValid = SALAH
ULANGI SAMPAI inputValid = BENAR
COBA
TAMPILKAN "Masukkan Jumlah Jam Lembur: "
BACA jamLembur
JIKA jamLembur < 0 MAKA
TAMPILKAN "Error: Jam lembur tidak boleh negatif"
LAIN
inputValid = BENAR
AKHIR-JIKA
TANGKAP ERROR
TAMPILKAN "Error: Masukan harus berupa angka"
BERSIHKAN_BUFFER
AKHIR-COBA
AKHIR-ULANGI
// Tentukan Gaji Pokok Berdasarkan Golongan
PILIH golongan
KASUS 'A':
gajiPokok = 5000000
KASUS 'B':
gajiPokok = 6500000
KASUS 'C':
gajiPokok = 9500000
AKHIR-PILIH
// Tentukan Persentase Lembur
JIKA jamLembur = 1 MAKA
persentaseLembur = 0.30
LAIN JIKA jamLembur = 2 MAKA
persentaseLembur = 0.32
LAIN JIKA jamLembur = 3 MAKA
persentaseLembur = 0.34
LAIN JIKA jamLembur = 4 MAKA
persentaseLembur = 0.36
LAIN JIKA jamLembur >= 5 MAKA
persentaseLembur = 0.38
LAIN
persentaseLembur = 0
AKHIR-JIKA
// Hitung Gaji Lembur dan Total Gaji
uangLembur = gajiPokok * persentaseLembur
totalGaji = gajiPokok + uangLembur
// Tampilkan Hasil
TAMPILKAN "" // Baris kosong
TAMPILKAN "======================================="
TAMPILKAN " RINCIAN GAJI"
TAMPILKAN "======================================="
TAMPILKAN "Golongan Karyawan : " + golongan
TAMPILKAN "Gaji Pokok : Rp " + FORMAT_ANGKA(gajiPokok)
TAMPILKAN "Jam Lembur : " + jamLembur + " jam (" + (persentaseLembur *
100) + "%)"
TAMPILKAN "Uang Lembur : Rp " + FORMAT_ANGKA(uangLembur)
TAMPILKAN "---------------------------------------"
TAMPILKAN "TOTAL GAJI : Rp " + FORMAT_ANGKA(totalGaji)
TAMPILKAN "======================================="
TAMPILKAN "" // Baris kosong
AKHIR-PROGRAM