Advertisement
Mashudi

program_penghitung_karyawan

Dec 5th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.26 KB | None | 0 0
  1. program cobahitunggaji1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. uses
  6.   {$IFDEF UNIX}{$IFDEF UseCThreads}
  7.   cthreads,
  8.   {$ENDIF}{$ENDIF}
  9.   Classes
  10.   { you can add units after this };
  11.  
  12. var
  13.   totaljamkerja, jamlembur, gajilembur, gajipokok, jumlahanak : longint;
  14.   totalgaji, tunjangan1, tunjangan2 : real;
  15.   namakaryawan, golongankerja, status : string;
  16.  
  17. begin
  18.   writeln;
  19.   writeln('######################################');
  20.   writeln('#  PROGRAM PENGHITUNG GAJI KARYAWAN  #');
  21.   writeln('######################################');
  22.   writeln;
  23.           writeln('Peraturan :');
  24.           writeln('1. Jam kerja minimum untuk mendapat gaji penuh sesuai golongan kerja adalah 90 Jam/Bulan');
  25.           writeln('2. Jika tidak memenuhi target jam kerja minimum, maka gaji dikurangi Rp.500000, namun tetap mendapat Tunjangan 1 dan 2');
  26.           writeln('3. Jam lembur didapat jika melebihi target jam kerja normal dan atau di atas 160 Jam/Bulan');
  27.           writeln('4. Bonus lembur didapat dari total jam lembur * Rp.10000:');
  28.           writeln('5. Jika telah menikah dan memiliki anak, maka akan mendapatkan tunjangan tambahan');
  29.   writeln;
  30.   writeln;
  31.   writeln;  //proses masukkan data
  32.           writeln('Data Karyawan');
  33.           writeln;
  34.           write('Masukkan Nama Karyawan : ');
  35.           readln(namakaryawan);
  36.           write('Karyawan Golongan Kerja (A, B, C) : ');
  37.           readln(golongankerja);
  38.           write('Status Pernikahan (menikah/belum menikah): ');
  39.           readln(status);
  40.           write('Memiliki Anak : ');
  41.           readln(jumlahanak);
  42.           write('Total Jam Kerja selama 1 bulan : ');
  43.           readln(totaljamkerja);
  44.   writeln;  //proses perhitungan
  45.           if golongankerja = 'A' then gajipokok := 2000000;
  46.              if golongankerja = 'B' then gajipokok := 1500000;
  47.                 if golongankerja = 'C' then gajipokok := 1000000;
  48.           if status = 'menikah' then tunjangan1 := gajipokok * 10 / 100;
  49.           if jumlahanak <= 2 then tunjangan2 := gajipokok * 3 / 100;
  50.              if jumlahanak >= 3 then tunjangan2 := gajipokok * 6 / 100;
  51.           if totaljamkerja > 160 then jamlembur := totaljamkerja - 160;
  52.           gajilembur := jamlembur * 10000;
  53.           if totaljamkerja  >= 90 then totalgaji := gajipokok + gajilembur + tunjangan1 + tunjangan2;
  54.           if totaljamkerja <= 89 then totalgaji := gajipokok + tunjangan1 + tunjangan2- 500000;
  55.   writeln;  //cetak informasi karyawan
  56.           writeln('Informasi Karyawan');
  57.           writeln;
  58.           writeln('Nama Karyawan : ', namakaryawan);
  59.           writeln('Karyawan Golongan Kerja : ', golongankerja);
  60.           writeln('Status Pernikahan : ', status);
  61.           writeln('Jumlah Anak : ', jumlahanak);
  62.           writeln('Gaji Pokok : Rp. ', gajipokok);
  63.           writeln('Total Jam Kerja selama 1 bulan : ', totaljamkerja,' Jam/Bulan');
  64.           writeln('Total Jam Lembur selama 1 bulan : ', jamlembur,' Jam/Bulan');
  65.   writeln;  //cetak hasil total gaji
  66.           writeln('Tunjangan Tambahan 1 : Rp. ', round(tunjangan1));
  67.           writeln('Tunjangan Tambahan 2 : Rp. ', round(tunjangan2));
  68.           writeln('Total Gaji Lembur : Rp. ', gajilembur);
  69.           writeln('Total Gaji ', namakaryawan, ' bulan ini adalah sebesar : Rp. ', round(totalgaji));
  70.   readln;
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement