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
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'
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