Advertisement
tfkhdyt

Untitled

Jan 5th, 2021
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.94 KB | None | 0 0
  1. program tugas2_2_FuncProc;
  2. uses crt;
  3.  
  4. function gajiPokok(gol:char):real;
  5.   begin
  6.     if (gol = 'A') then
  7.       gajiPokok := 200000
  8.     else if (gol = 'B') then
  9.       gajiPokok := 350000;
  10.   end;
  11.  
  12. function tunjangan(gol:char;status:string):real;
  13.   begin
  14.     if (gol = 'A') and (status = 'Nikah') then
  15.       tunjangan := 50000
  16.     else if (gol = 'A') and (status = 'Belum') then
  17.       tunjangan := 25000
  18.     else if (gol = 'B') and (status = 'Nikah') then
  19.       tunjangan := 75000
  20.     else if (gol = 'B') and (status = 'Belum') then
  21.       tunjangan := 60000;
  22.   end;
  23.  
  24. function prosentase(gapok2:real):real;
  25.   begin
  26.     if gapok2 <= 300000 then
  27.       prosentase := 5/100
  28.     else if gapok2 > 300000 then
  29.       prosentase := 10/100;
  30.   end;
  31.  
  32. function potIuran(gapok2:real;tunja:real;prosen:real):real;
  33.   begin
  34.     potIuran := (gapok2 + tunja) * prosen;
  35.   end;
  36.  
  37. function gajiBersih(gapok2:real;tunja:real;potong:real):real;
  38.   begin
  39.     gajiBersih := gapok2 + tunja - potong;
  40.   end;
  41.  
  42. procedure input(var nama : string;var gol : char;var status : string);
  43.   begin
  44.     write('Nama Karyawan        : '); readln(nama);
  45.     write('Golongan (A/B)       : '); readln(gol);
  46.     write('Status (Nikah/Belum) : '); readln(status);
  47.   end;
  48.    
  49. procedure cetak(gol:char;status:string);
  50.   var
  51.     gajiBersih, potIuran, prosentase, gajiPokok, tunjangan: Real;
  52.   begin
  53.     gajiPokok := gajipokok(gol);
  54.     tunjangan := tunjangan(gol,status);
  55.     prosentase := prosentase(gajipokok);
  56.     potIuran := potIuran(gajipokok, tunjangan, prosentase);
  57.  
  58.     writeln;
  59.     writeln('Gaji Pokok     : Rp. ', gajipokok:10:2);
  60.     writeln('Tunjangan      : Rp. ', tunjangan:10:2);
  61.     writeln('Potongan Iuran : Rp. ', potIuran:10:2);
  62.     writeln('Gaji Bersih    : Rp. ', gajibersih(gajipokok, tunjangan, potIuran):10:2);
  63.   end;
  64. var
  65.   nama, status : String;
  66.   gol : char;
  67. begin
  68.   clrscr;
  69.   input(nama,gol,status);
  70.   cetak(gol,status);
  71.   readln;
  72. end.
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement