Pages

Senin, 02 Maret 2020

MEMBUAT REKAP GAJI (ALGORITMA)


USES WINCRT;
TYPE
            RECPEGAWAI = RECORD
                        NAMA    : STRING[20];
                        GOL     : STRING[5];
                STATUS  : STRING[2];
                JUNAK   : INTEGER;
              END;








VAR

   PEGAWAI : ARRAY[1..10] OF RECPEGAWAI;
   GAJI    : LONGINT;
   TUNIS,TUNAK,GB,TOTGAJI,TOTTUNIS,TOTTUNAK,TOTGB, PTKPANAK,PTKPWP,PPHBLN: REAL;
   TOTPTKPANAK,TOTPTKPWP,TOTPPHBLN:REAL;
   LAGI,GOLONGAN    :CHAR;
   X,Y,N: BYTE;

BEGIN

     PEGAWAI[1].NAMA:='ESTI' ; PEGAWAI[1].GOL:='A'; PEGAWAI[1].STATUS:='B'; PEGAWAI[1].JUNAK:=2;
     PEGAWAI[2].NAMA:='IDA'; PEGAWAI[2].GOL:='B'; PEGAWAI[2].STATUS:='N'; PEGAWAI[2].JUNAK:=0;
     PEGAWAI[3].NAMA:='HESTI'; PEGAWAI[3].GOL:='B'; PEGAWAI[3].STATUS:='B'; PEGAWAI[3].JUNAK:=2;
     PEGAWAI[4].NAMA:='ETI'; PEGAWAI[4].GOL:='B'; PEGAWAI[4].STATUS:='N'; PEGAWAI[4].JUNAK:=0;
     PEGAWAI[5].NAMA:='ELIA'; PEGAWAI[5].GOL:='A'; PEGAWAI[5].STATUS:='B'; PEGAWAI[5].JUNAK:=4;
     PEGAWAI[6].NAMA:='ANA'; PEGAWAI[6].GOL:='A'; PEGAWAI[6].STATUS:='N'; PEGAWAI[6].JUNAK:=1;
     PEGAWAI[7].NAMA:='FITRI'; PEGAWAI[7].GOL:='C'; PEGAWAI[7].STATUS:='B'; PEGAWAI[7].JUNAK:=3;
     PEGAWAI[8].NAMA:='SITI'; PEGAWAI[8].GOL:='C'; PEGAWAI[8].STATUS:='N'; PEGAWAI[7].JUNAK:=6;
     PEGAWAI[9].NAMA:='ADIS';PEGAWAI[9].GOL:='B'; PEGAWAI[9].STATUS:='N';PEGAWAI[9].JUNAK:=4;

     N:=9;
     CLRSCR;
     WRITELN('NO.NAMA  GOL JUNAK GAJI  TUNIS  TUNAK GAJIBERSIH PTKPANK PTKPWP   PPH/BLN');
     WRITELN('==========================================================================');
    
     FOR X:=1 TO N DO
     BEGIN
          WITH PEGAWAI[X] DO
          BEGIN
              
               IF GOL= 'A' THEN GAJI:=1000000
               ELSE
                    IF GOL='B' THEN GAJI:=750000
                    ELSE
                        IF GOL='C' THEN GAJI:=500000;
              
               IF STATUS= 'B' THEN TUNIS:=GAJI*10/100 ELSE TUNIS:=0;
               IF JUNAK<3 else="" then="" tunak:="(JUNAK-3)*GAJI*10/100;<o:p">
               GB:=GAJI+TUNIS+TUNAK;
               TOTGAJI:=TOTGAJI+GAJI;
               TOTTUNIS := TOTTUNIS + TUNIS;
               TOTTUNAK := TOTTUNAK + TUNAK;
               TOTGB    := TOTGB + GB;
               TOTPTKPANAK:= TOTPTKPANAK + PTKPANAK;
               TOTPTKPWP:= TOTPTKPWP + PTKPWP;
               TOTPPHBLN:= TOTPPHBLN + PPHBLN;
               IF JUNAK <=3 THEN PTKPANAK:= 10/100 * TOTGB;
               IF STATUS='N' THEN PTKPWP:=1728000 ELSE PTKPWP:=172800;
               IF TOTGB >1000000 THEN PPHBLN:=25/100*TOTGB ELSE PPHBLN:= 15/100*TOTGB;

               WRITELN(X:1,NAMA:7,GOL:3,JUNAK:4,GAJI:9,TUNIS:7:0,TUNAK:7:0,GB:8:0,PTKPANAK:8:0,PTKPWP:8:0,PPHBLN:9:0);
          END;
     END;
     WRITELN('===========================================================================');
     WRITELN('TOTAL :',TOTGAJI:17:0,TOTTUNIS:7:0,TOTTUNAK:7:0,TOTGB:8:0,TOTPTKPANAK:9:0,TOTPTKPWP:8:0,TOTPPHBLN:9:0);
END.


Tidak ada komentar:

Posting Komentar

Komentarnya ya...