Karyawan
PT “ABC” digaji berdasarkan jumlah jam kerjanya selama satu minggu. Upah per
jam adalah Rp2.000,00. Bila jumlah jam kerja lebih besar dari 48 jam, maka
sisanya dianggap sebagai jam lembur. Upah lembur adalah Rp3.000,00. Buatlah
algoritma untuk menampilkan upah normal, uang lembur, dan total upah yang
diterima karyawan.
Analisis:
input: jumlah jam kerja (n) output: upah normal (upah), uang lembur (lembur),
dan total upah (total) Upah per jam, upah lembur, dan batas jam lembur dapat
dijadikan sebagai konstanta.
Kasus ini memberikan kita dua
kemungkinan, yaitu apakah karyawan menerima lembur atau tidak menerima lembur
(lembur = 0). Syarat seorang karyawan menerima lembur adalah apabila n > 48.
Uang lembur yang diterima adalah selisih jam kerja dengan batas jam lembur
dikalikan dengan upah lembur. Oleh karena itu, dapat kita simpulkan bahwa rumus
yang dipakai adalah Apabila karyawan tidak mendapat uang lembur, maka lembur =
0, upah = n x 2000. Apabila karyawan
mendapatkan uang lembur, maka lembur = (n – 48) x 3000, sedangkan upah = 48 x 2000, bukan upah = n x 2000.
Susunlah algoritma dalam
pseudocode terlebih dahulu kemudian buatlah program Matlab untuk permasalahan
diatas.
ALGORITMA PERHITUNGAN GAJI
Algoritma
Menghitung_Gaji_Karyawan_PT_ABC
{menentukan upah
mingguan karyawan. Upah normal Rp2000,-/jam dan upah lembur Rp3000,-/jam.
Apabila jam kerja karyawan lebih dari 48, maka sisanya dihitung lembur.
Algoritma menghasilkan output jumlah upah normal, jumlah uang lembur, dan gaji
yang diterima karyawan}
Deklarasi:
const upah_per_jam
= 2000
const
upah_lembur = 3000
const
batas_lembur = 48
n {Jam kerja},
Upah, lembur, Gaji : integer
Nama karyawan:
string
Deskripsi:
read(n)
if n > 48
then {menerima lembur}
upah ←
batas_lembur * upah_per_jam
lembur ← (n – batas_lembur)*upah_lembur
else {tidak
menerima lembur}
upah ← n *
upah_per_jam
lembur ← 0
{penting}
end if
Gaji ← Upah +
lembur
write(Upah,
lembur, Gaji, Nama karyawan)
|
Program Matlab : |
|
clc; %Program Menghitung Gaji Karyawan
PT ABC disp('Program Menghitung Gaji Karyawan PT
ABC'); disp('================='); %input nama=input('Nama karyawan = ','s'); n=input('Jam kerja = '); uj=input('Upah per jam = '); ul=input('Upah lembur = '); m=input('Batas jam lembur = '); %proses if n > 48
upah = n*uj
lembur = (n-m)*ul else
upah = n*uj
lembur = 0 end Gaji = upah + lembur %output disp('================='); disp(['Nama Karyawan = ',nama]); fprintf('Total Gaji = %g\n', Gaji); |


Tidak ada komentar:
Posting Komentar