Tuesday 3 December 2013

PROGRAM PENGGAJIAN KARYAWAN

PROGRAM PENGGAJIAN KARYAWAN MENGGUNAKAN PROCEDURE DAN IF
Untuk memenuhi salah satu tugas mata kuliah
Struktur Data







KELOMPOK 2
NAMA ANGGOTA:
1.      Ade Sutrisna             9. Sri Sulastri
2.      Agung Ismail                        10. Risa Dwi Syawitri
3.      Agus Setiawan         11. Sansan Munawar
4.      Arianti salama         12. M. Yoga Sukma Jati
5.      Deden Ramdan       13. Maulana Hidayat
6.      Ernt Dewi Ratna K   14. Syahrul
7.      Hani Nurmila Ulfah 15. Melda Feroliya
8.      Shenny Yunita R

      KELAS : A



STMIK TASIKMALAYA
Jl. R.E Martadinata No. 272 A Tasikmalaya




1.     Pengertian Procedure Dan IF
Proseduradalah subprogram yang menerimamasukantetapitidakmempunyaikeluaransecaralangsung. Cara mendeklarasikansebuahproseduradalahsebagaiberikut :
procedure A; { namaproseduradalah A }
begin{ statement }
end;
1.1 Pengertian
If = Jika
Then = Maka
Else = Lainnya
Dalampemrogramanpascal, fungsi IF, Then, dan Else tidakdapatberdirisendiri-sendiri, merekasalingberkaitansatusamalainnya.
Soal :Jika A > =  60, makatulis 'Kompeten'
         Jika A < 60, makatulis 'TidakKompeten'

Ketentuan :
Hitung gaji karyawan dengan data yang diketahui: NIP,Nama,Tempat Lahir, Tanggal Lahir, Golongan , Status, Jumlah Anak, dan Gaji Poko. Di dapat berdasarkan Golongan sbb:
  Gol 1=2.000.000
  Gol 2=1.500.000
  Gol 3=1.000.000
  Gol4=800.000
Dan mendapat tunjangan kawin 3% dari gaji pokok, dan Tunjangan anak 10% anak Max 3.






2.  Program Menghitung Gaji Karyawan Menggunakan IF
program hitung_gaji;
Uses wincrt;
Var nama:string[20];jabatan:string;
Gaji:longint;
Tunj,ppn,Total,gajibersih:real;
Begin
Clrscr;
Write( 'Nama Karyawan     : '); readln(nama);
Write('Masukkan Jabatan  : '); readln(jabatan);
If  (jabatan='Direktur') or (jabatan='direktur') then
     Begin
 Gaji:=4000000;
 Tunj:=0.1* gaji;
     End
Else If  (jabatan='Manager') or (jabatan='manager') then
     Begin
 Gaji:=3000000;
 Tunj:=0.01* gaji;
     End
Else If  (jabatan='Supervisor') or (jabatan='supervisor') then
     Begin
 Gaji:=2000000;
 Tunj:=0.1* gaji;
     End
Else If  (jabatan='Karyawan') or (jabatan='karyawan') then
     Begin
 Gaji:=1000000;
 Tunj:=0.1* gaji;
     End
Else
     Begin
 Gaji:=800000;
 Tunj:=0.1* gaji;
     End;
Writeln('Gaji Bersih        : Rp.',gaji);
Writeln('Tunjangan Jabatan  : Rp.',tunj:9:2);
Ppn:=0.2*gaji;
Writeln('PPN 10 %           : Rp.',ppn:9:2);
Total:=gaji+total;
Writeln('Total Gaji         : Rp.',total:9:2);
Readln;
End.

FLOWCHART IF


1. PROSEDURE

Program Menghitung Gaji Karyawan Menggunakan Procedure

program gaji_pegawai;
uses wincrt;
var
nm,jab,sts,tmplhr:string;
gaji,tunjank,gatot,anak,tunjkwn,nip:real;
d,m,y:integer;
procedure dir;
begin
write  ('Status Perkawinan    (N/B] : '); readln(sts);
if sts = 'N' then
begin
write  ('Masukkan Jumlah Anak       : '); readln(anak);
gaji:=2000000;
if anak>=3 then
tunjank:=3*(0.1*gaji)
else
tunjank:=anak*(0.1*gaji);
tunjkwn:=gaji*0.03;
gatot:=gaji+tunjank+tunjkwn;
writeln('Gaji Pokok                 : ',gaji:0:0);
writeln('Tunjangan Nikah            : ',tunjkwn:0:0);
writeln('Tunjangan Anak             : ',tunjank:0:0);
writeln('Gaji Total                 : ',gatot:0:0);
end
else
if sts = 'B' then
begin
gaji:=2000000;
writeln('Gaji Total                 : ',gaji:0:0);
end
else
writeln('Kode yang Anda Masukkan salah! Gunakan huruf kapital');
end;
procedure mgr;
begin
write  ('Status Perkawinan    (N/B) : '); readln(sts);
if sts = 'N' then
begin
write  ('Masukkan Jumlah Anak       : '); readln(anak);

gaji:=1500000;

if anak>=3 then
tunjank:=3*(0.1*gaji)
else
tunjank:=anak*(0.1*gaji);
tunjkwn:=gaji*0.03;
gatot:=gaji+tunjkwn+tunjank;
writeln('Gaji Pokok                 : ',gaji:0:0);
writeln('Tunjangan Jabatan          : ',tunjkwn:0:0);
writeln('Tunjangan Anak             : ',tunjank:0:0);
writeln('Gaji Total                 : ',gatot:0:0);
end
else
if sts = 'B' then
begin
gaji:=1500000;
writeln('Gaji Total                 : ',gaji:0:0);
end
else
writeln('Kode yang Anda Masukkan salah! Gunakan huruf kapital');
end;
procedure spv;
begin
write  ('Status Perkawinan    (N/B) : '); readln(sts);
if sts = 'N' then
begin
write  ('Masukkan Jumlah Anak       : '); readln(anak);
gaji:=1000000;
if anak>=3 then
tunjank:=3*(0.1*gaji)
else
tunjank:=anak*(0.1*gaji);
tunjkwn:=gaji*0.03;
gatot:=gaji+tunjkwn+tunjank;
writeln('Gaji Pokok                 : ',gaji:0:0);
writeln('Tunjangan Nikah            : ',tunjkwn:0:0);
writeln('Tunjangan Anak             : ',tunjank:0:0);
writeln('Gaji Total                 : ',gatot:0:0);
end
else
if sts = 'B' then
begin
gaji:=1000000;
writeln('Gaji Total                 : ',gaji:0:0);
end
else
writeln('Kode yang Anda masukkan salah! Gunakan huruf kapita');
end;
procedure gol;
begin
write  ('Golongan           [1/2/3] : '); readln(jab);
if jab = '1' then
dir
else
if jab = '2' then
mgr
else
if jab = '3' then
spv
else
writeln('Kode yang Anda masukkan salah');
end;
begin
clrscr;
writeln('==============================================');
writeln('            Program Gaji Pegawai              ');
writeln('==============================================');
writeln;
write  ('NIP                        : '); readln(nip);
write  ('Nama                       : '); readln(nm);
write  ('Tempat Lahir               : '); readln(tmplhr);
write  ('Tanggal Lahir (DD MM YYYY) : '); readln(d,m,y);
case m of
1,3,5,7,8,10,12:begin
if (d>31) then
writeln('Tanggal salah')
else
gol;
end;
4,6,9,11:begin
if (d>30) then
writeln('Tanggal salah')
else
gol;
end;
2:begin
if (y mod 4=0) then
begin
if (d>29) then
writeln('Tanggal salah')
else
gol;
end
else
begin
if (d>28) then
writeln('Tanggal salah')
else
gol;
end;
end;
end;
readkey;
donewincrt;
end.


FLOWCHART PROSEDURE


No comments: