Friday, December 2, 2011 Perhitungan Gaji dengan Pascal

Salam belajar teman-teman,, program sederhana dengan pascal ini sengaja saya berikan, karena saya ingin belajar berbagi ilmu sama teman-teman, karena ini merupakan tugas dari dosen ku, yang senantiasa, membantu saya agar berpikir secara logika tentang listing program ini, nahhh di sini lah ,kita semua memulai dari dasar nya,, dan juga tidak mungkin,, kita langsung beranjak ke pemrograman yang berbasis luas,, seperti Visual basic, Delphi, PHP dan lain sebagainya,, jadi yang saya harapkan dari teman-teman,,, agar janganlah cepat bosan yang namany belajar, karena kalau di tinggalkan , maka akan untuk ke depannya sulit kita ketahui,,, dan bagi teman-teman yang mempunyai tugas kurang lebih,, mirip seperti tugas ku,, jadi,,, ambil saja souce code nya di bawaha ini ........... semoga bermanfaat ya,,,,,,,, ^_^

USES CRT;
VAR NMA : STRING;
    GOL : CHAR;
    JM_KRJ: BYTE;
    A,B : BYTE;
    UPH_H, UPH_L, UPH_T, TOT_UPH : LONGINT;
BEGIN
     CLRSCR;
     WRITE('MASUKKAN JUMLAH INPUTAN     : ');READLN(B);
     WRITELN('====================================');
     FOR A:=1 TO B DO
     BEGIN
     WRITE('MASUKKAN NAMA KARYAWAN      : ');READLN(NMA);
     WRITE('MASUKKAN GOLONGAN           : ');READLN(GOL);
     WRITE('MASUKKAN JUMLAH JAM KERJA   : ');READLN(JM_KRJ);
     WRITELN('====================================');
         IF GOL = '1' THEN
            BEGIN
                 UPH_H := 50000;
                 UPH_L := 10000;
            END
         ELSE IF GOL = '2' THEN
            BEGIN
                 UPH_H := 80000;
                 UPH_L := 20000;
            END;
         IF JM_KRJ > 8 THEN
            UPH_T := (JM_KRJ - 8) * UPH_L
         ELSE
            UPH_T := 0;

     TOT_UPH := UPH_H + UPH_T;
     WRITELN('UPAH HARIAN SEBESAR RP. ',UPH_H);
     WRITELN('UPAH LEMBUR SEBESAR RP. ',UPH_T);
     WRITELN('TOTAL UPAH HARIAN   RP. ',TOT_UPH);
     WRITELN('====================================');
     READLN;
     END;
END.


MENGGUNAKAN RECORD 
USES CRT;

TYPE DTA_KRYAWAN = RECORD

     NMA : STRING;

     GOL : CHAR;

     JM_KRJ: BYTE;

     A,B : BYTE;

     UPH_H, UPH_L, UPH_T, TOT_UPH : LONGINT;

END;

VAR DATA : DTA_KRYAWAN;

BEGIN

     CLRSCR;

     WRITE('MASUKKAN JUMLAH INPUTAN     : ');READLN(DATA.B);

     WRITELN('====================================');

     FOR DATA.A:=1 TO DATA.B DO

     BEGIN

     WRITE('MASUKKAN NAMA KARYAWAN      : ');READLN(DATA.NMA);

     WRITE('MASUKKAN GOLONGAN           : ');READLN(DATA.GOL);

     WRITE('MASUKKAN JUMLAH JAM KERJA   : ');READLN(DATA.JM_KRJ);

     WRITELN('====================================');

         IF DATA.GOL = '1' THEN

            BEGIN

                 DATA.UPH_H := 50000;

                 DATA.UPH_L := 10000;

            END

         ELSE IF DATA.GOL = '2' THEN

            BEGIN

                 DATA.UPH_H := 80000;

                 DATA.UPH_L := 20000;

            END;

         IF DATA.JM_KRJ > 8 THEN

            DATA.UPH_T := (DATA.JM_KRJ - 8) * DATA.UPH_L

         ELSE

            DATA.UPH_T := 0;



     DATA.TOT_UPH := DATA.UPH_H + DATA.UPH_T;

     WRITELN('UPAH HARIAN SEBESAR RP. ',DATA.UPH_H);

     WRITELN('UPAH LEMBUR SEBESAR RP. ',DATA.UPH_T);

     WRITELN('TOTAL UPAH HARIAN   RP. ',DATA.TOT_UPH);

     WRITELN('====================================');

     READLN;

     END;

END.

 



USES CRT;
VAR NO_PKOK : STRING[10];
    NMA     : STRING[30];
    NT,NM,NF,JDTA : BYTE;
    NA,NMAX,NMIN : INTEGER;
    TOT_TGS,TOT_MID,TOT_FNL,A,B : BYTE;
    RTA_TGS,RTA_MID,RTA_FNL : REAL;
BEGIN
     NMAX := 0; NMIN := 100; JDTA := 0;
     CLRSCR;
     WRITELN('================[ MENGHITUNG NILAI AKHIR ]================');
     WRITE('MASUKKAN NO. POKOK               : ');READLN(NO_PKOK);
        WHILE NO_PKOK <> 'X' DO
        BEGIN
             INC(JDTA);
             WRITE('MASUKKAN N A M A                 : ');READLN(NMA);
             WRITE('MASUKKAN NILAI TUGAS             : ');READLN(NT);
             TOT_TGS := TOT_TGS + NT;
             WRITE('MASUKKAN NILAI MID               : ');READLN(NM);
             TOT_MID := TOT_MID + NM;
             WRITE('MASUKKAN NILAI FINAL             : ');READLN(NF);
             TOT_FNL := TOT_FNL + NF;
             NA := TOT_TGS + TOT_MID + TOT_FNL;
             {MENCARI NILAI AKHIR MAXIMUM}
             IF NA > NMAX THEN
                NMAX := NA;
             {MENCARI NILAI AKHIR MINIMUM}
             IF NA < NMIN THEN
                NMIN := NA;
             WRITELN('NILAI AKHIR MAHASISWA            : ',NA);
             WRITELN('==========================================================');
             WRITE('MASUKKAN NO. POKOK [X : KELUAR]  : ');READLN(NO_PKOK);
             {MENCARI NILAI RATA-RATA}
             RTA_TGS := TOT_TGS / JDTA;
             RTA_MID := TOT_MID / JDTA;
             RTA_FNL := TOT_FNL / JDTA;
             WRITELN('==========================================================');
             WRITELN('NILAI AKHIR TERTINGGI            : ',NMAX);
             WRITELN('NILAI AKHIR TERENDAH             : ',NMIN);
             WRITELN('==========================================================');
             WRITELN('RATA-RATA NILAI TUGAS            : ',RTA_TGS:10:2);
             WRITELN('RATA-RATA NILAI MID              : ',RTA_MID:10:2);
             WRITELN('RATA-RATA NILAI FINAL            : ',RTA_FNL:10:2);
             READLN;
      END;
      WRITELN('================[ MENGHITUNG NILAI AKHIR ]================');
END.
Digg it StumbleUpon del.icio.us

0 Komentar:

Post a Comment

 
Copyright 2010 Berbagi Info
Carbon 12 Blogger template by Blogger Bits. Supported by Bloggermint