Program Perhitungan Gaji Karyawan
==============================PROGRAM 1===============================
program pembuatan_record;
uses crt;
procedure garis;
begin
writeln(’==============================================’);
end;
type
reckaryawan=record
jab,nip,nama:string;
gol:integer;
gapok,tunj:real;
end;
var pegawai:reckaryawan;
total:real;
begin
clrscr;
writeln(’ LAPORAN PERHITUNGAN GAJI KARYAWAN PT MAJU TAK GENTAR’);
garis;
writeln;
write(’Masukan NIP Karyawan : ‘);readln(pegawai.nip);
write(’Masukan Nama Karyawan : ‘);readln(pegawai.nama);
write(’Golongan[1/2/3] : ‘);readln(pegawai.gol);
garis;
case pegawai.gol of
1:
begin
pegawai.jab:=’Staf dan Tetap’;
pegawai.gapok:=900000;
end;
2:
begin
pegawai.jab:=’Staf dan Kontrak’;
pegawai.gapok:=700000;
end;
3:
begin
pegawai.jab:=’Kontrak’;
pegawai.gapok:=500000;
end;
end;
if pegawai.jab=’Staf dan Tetap’ then
pegawai.tunj:=25/100*pegawai.gapok
else
if pegawai.jab=’Staf dan Kontrak’ then
pegawai.tunj:=10/100*pegawai.gapok
else
pegawai.tunj:=0;
total:=(pegawai.gapok)+(pegawai.tunj);
writeln(’Jabatan Karyawan : ‘,pegawai.jab);
writeln(’Gaji Pokok : ‘,pegawai.gapok:8:0);
writeln(’Tunjangan : ‘,pegawai.tunj:8:0);
garis;
writeln(’Total Gaji Karyawan : ‘,total:8:0);
readln;
end.
Program DataPegawai;
Uses Wincrt;
Type Pegawai = record
NIP : String[9];
Nama : String[50];
Golongan : Char;
Jamkerja : Real;
End;
Var
Data : Pegawai;
Gapok : Real;
Insentif,Gaber : Real;
Ul : Char;
Begin
Repeat
Clrscr;
Writeln('Entry Data Pegawai PT. Punya gua');
Writeln('==========================');
Writeln;
Write('NIP : ');Readln(Data.NIP);
Write('Nama : ');Readln(Data.Nama);
Write('Golongan : ');Readln(Data.Golongan);
Write('Jam Kerja : ');Readln(Data.Jamkerja);
Writeln;
Writeln;
Case Data.Golongan of
'1' : Gapok:=1000000;
'2' : Gapok:=1500000;
'3' : Gapok:=2000000;
Else
Gapok:=0;
End;
if Data.Jamkerja>200 then
Insentif:=(Data.Jamkerja-200)*10000
else
Insentif:=0;
Gaber:=Gapok+Insentif;
Clrscr;
Writeln('Laporan Gaji Pegawai');
Writeln('PT. XYZ');
Writeln;
Writeln('============================================================================');
Writeln('|NIP | Nama | Golongan | Jam Kerja | Gaji |');
Writeln('============================================================================');
Writeln('|',Data.NIP:10,'|',Data.Nama:25,'|',Data.Golongan:10,'|',Data.Jamkerja:11:0,'|',Gaber:14:2,'|');
Writeln('============================================================================');
Writeln;
Write('Mau Ulang Lagi? [Y/T]: ');Readln(Ul);
Until Upcase(Ul) <> 'Y';
End.
==============================PROGRAM 2===============================
Program Gaji_Tunjangan_dan_Pajak;
{Menghitung jumlah gaji berdasarkan golongan, tunjangan anak dan istri, total gaji setelah pajak}
Uses wincrt;
var
nama,jab : string[20];
noin : string[10];
golgaj : char;
stmerit, jmlanak : integer;
gaj,tjbini,tjanak,pajgaj,jmlpajgaj,jmltjgaj,tolgaj,tolgajstpaj : real;
Begin
clrscr;
Writeln ('=============================================');
Writeln ('PERHITUNGAN GAJI DAN TUNJANGAN DAN PAJAK GAJI');
Writeln ('=============================================');
Writeln;
Writeln ('Isikan Data anda sesuai ketentuan berikut ini : ');
Writeln ('----------------------------------------------- ');
Writeln;
Writeln ('Golongan Gaji : Status Perkawinan : ');
Writeln ('a. Rp. 2.000.000.00 1. Kawin ');
Writeln ('b. Rp. 2.500.000.00 2. Belum kawin');
Writeln ('c. Rp. 3.000.000.00 3. Cerai ');
Writeln;
Write ('Masukkan No karyawan : ');readln (noin);
Write ('Masukkan nama anda : ');readln (nama);
Write ('Masukkan Jabatan : ');readln (jab);
Write ('Masukkan Golongan gaji anda : ');readln (golgaj);
case golgaj of
'a' : begin
gaj := 2000000;
pajgaj := (2/100);
Write ('Status Perkawinan anda : ');readln (stmerit);
case stmerit of
1 : begin
tjbini := (5/100)*gaj;
Write ('Jumlah anak : ');readln (jmlanak);
if jmlanak <= 3 then
tjanak := jmlanak*((2/100)*gaj)
else
tjanak := 3*((2/100)*gaj);
end;
2 : begin
tjbini := 0;
tjanak := 0;
end;
3 : begin
tjbini := 0;
Write ('Jumlah anak : ');readln (jmlanak);
if jmlanak <= 3 then
tjanak := jmlanak*((2/100)*gaj)
else
tjanak := 3*((2/100)*gaj);
end;
else
Writeln;
Writeln ('================================================================');
Writeln;
Writeln ('Tunjangan tidak terhitung karena tidak terinput dengan benar !!!');
end;
end;
'b' : begin
gaj := 2500000;
pajgaj := (2.5/100);
Write ('Status Perkawinan anda : ');readln (stmerit);
case stmerit of
1 : begin
tjbini := (5/100)*gaj;
Write ('Jumlah anak : ');readln (jmlanak);
if jmlanak <= 3 then
tjanak := jmlanak*((2/100)*gaj)
else
tjanak := 3*((2/100)*gaj);
end;
2 : begin
tjbini := 0;
tjanak := 0;
end;
3 : begin
tjbini := 0;
Write ('Jumlah anak : ');readln (jmlanak);
if jmlanak <= 3 then
tjanak := jmlanak*((2/100)*gaj)
else
tjanak := 3*((2/100)*gaj);
end;
else
writeln;
Writeln ('================================================================');
Writeln;
Writeln ('Tunjangan tidak terhitung karena tidak terinput dengan benar !!!');
end;
end;
'c' : begin
gaj := 3000000;
pajgaj := (3/100);
Write ('Status Perkawinan anda : ');readln (stmerit);
case stmerit of
1 : begin
tjbini := (5/100)*gaj;
Write ('Jumlah anak : ');readln (jmlanak);
if jmlanak <= 3 then
tjanak := jmlanak*((2/100)*gaj)
else
tjanak := 3*((2/100)*gaj);
end;
2 : begin
tjbini := 0;
tjanak := 0;
end;
3 : begin
tjbini := 0;
Write ('Jumlah anak : ');readln (jmlanak);
if jmlanak <= 3 then
tjanak := jmlanak*((2/100)*gaj)
else
tjanak := 3*((2/100)*gaj);
end;
else
writeln;
Writeln ('================================================================');
Writeln;
Writeln ('Tunjangan tidak terhitung karena tidak terinput dengan benar !!!');
end;
end;
else
Writeln;
Writeln ('=======================================');
Writeln;
Writeln ('Maaf, Golongan Gaji tidak terdaftar !!!');
Writeln;
end;
jmltjgaj := tjbini+tjanak;
tolgaj := gaj+jmltjgaj;
jmlpajgaj := tolgaj*pajgaj;
tolgajstpaj := tolgaj-jmlpajgaj;
Writeln;
Writeln ('SLIP GAJI -----------------------------------> ');
Writeln;
Writeln ('Nama : ',nama);
Writeln ('No Karyawan : ',noin);
Writeln ('Jabatan : ',jab);
Writeln ('+============================================+');
Writeln ('| Rincian | Jumlah | ');
Writeln ('+============================================+');
Writeln ('| Besar Gaji : | Rp.',gaj:8:0,' |');
Writeln ('| Tunjangan istri : | Rp.',tjbini:8:0,' |');
Writeln ('| Tunjangan anak : | Rp.',tjanak:8:0,' |');
Writeln ('| Total gaji : | Rp.',tolgaj:8:0,' |');
Writeln ('| Pajak gaji : | Rp.',jmlpajgaj:8:0,' |');
Writeln ('+----------------------------+---------------+');
Writeln ('| Total gaji setelah pajak : | Rp.',tolgajstpaj:8:0,' |');
Writeln ('+----------------------------+---------------+');
Writeln ('Program by, w1r0');
readln;
End.
Kak boleh kirim Program hasilnya kak?
ReplyDeletesaya butuh untuk belajar sebelum TA ? terima kasih sebelumnya kak :)