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.

Comments

  1. Kak boleh kirim Program hasilnya kak?
    saya butuh untuk belajar sebelum TA ? terima kasih sebelumnya kak :)

    ReplyDelete

Post a Comment

Popular posts from this blog

QUESTION OF LIFE

TUGAS MANDIRI IMPLEMENTASI PANCASILA DI ERA SETELAH REFORMASI MATA KULIAH : PANCASILA