4. * Manfaat dan Tujuan
* Algoritma & Flowchart
* Coding & Running
5. Manfaat
1.Adanya proses pencatatan gaji pokok beserta tunjangan secara lebih mendetail dan
dijamin lebih akurat.
2.Penyesuain terhadap tunjangan gaji yang diberlakukan untuk kepentingan karyawan
dan perusahaan (seperti tunjangan istri dan anak).
3.Penyajian laporan data gaji karyawan secara periodik.
4.Kemudahan pencetakan slip gaji karyawan.
6. Algoritma
1. Mulai
2. Inputkan Nomor Induk Pegawai, Nama Pegawai dan Jabatan
3. Inputkan Status
4. Jika status = 1 maka inputkan jumlah anak, jika status =2 maka
langsung ke menu slip gaji
5. Output slip gaji
6. Jika ingin menghitung gaji lagi maka tekan Y, jika tidak tekan N
7. Selesai.
7. Mulai
Inputkan NIP, Nama
Pegawai dan Jabatan
Jabatan = 1
Jabatan = 2 Gaji Pokok Rp
3.000.000
Inputkan Status
Gaji Pokok
Rp 5.000.000
Jabatan = 3
Gaji Pokok
Rp 2.800.000
Jabatan = 4
Gaji Pokok
Rp 2.800.000
Jabatan = 5
Gaji Pokok
Rp 2.500.000
A
Jabatan = 6
Gaji Pokok
Rp 2.200.000
Jabatan = 7
Gaji Pokok
Rp 1.700.000
Status = 1
Tunjangan Istri 15% *
gaji pokok
Jmlanak > 3
Tunjangan Anak
5% * gaji pokok
Tunjangan Anak =
0
9. program tunjangan;
uses crt;
label input, print, bye;
var nm,no,jab :string;
gj,ti,ta,totgj :real;
stat,jmlank,i,lama :integer;
yn : char;
begin
mulai:
clrscr;
gotoxy(25,1);
writeln(' ==============================');
gotoxy(25,2);
writeln('- UJIAN TENGAH SEMESTER PASCAL -');
gotoxy(25,3);
writeln(' ==============================');
gotoxy(35,4);
writeln('1. Haryati');
gotoxy(35,5);
writeln('2. Rendi');
writeln;
10. writeln(' ÛÛÛÛÛÛÛÛÛÛÛÛ ');
writeln(' ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ');
writeln(' Û ÛÛÛÛ ÛÛÛÛÛÛÛÛÛ ');
writeln(' ÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ');
writeln(' ÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛ ');
writeln(' ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛ ');
writeln(' ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛ');
writeln(' ÛÛÛÛÛ ÛÛÛÛ Û ÛÛÛÛÛÛÛ');
writeln(' ÛÛÛÛÛ ÛÛÛÛ Û ÛÛÛÛ ÛÛÛÛÛÛ');
writeln(' ÛÛÛÛÛ ÛÛÛÛ Û ÛÛÛÛ ÛÛÛÛÛÛ');
writeln(' ÛÛÛÛ ÛÛÛÛ Û ÛÛÛÛÛÛ ');
writeln(' ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ');
writeln(' ÛÛÛÛÛÛÛÛÛ Û ÛÛÛÛÛÛ ');
writeln(' ÛÛÛÛÛÛÛÛ ÛÛ ÛÛÛÛ ');
writeln(' ÛÛÛÛÛÛÛ ÛÛÛ ÛÛ ');
writeln(' ÛÛÛÛÛÛÛÛÛÛÛÛ ');
gotoxy(33,24);
write('Ingin Memulai(y/n) : ');readln(yn);
if (yn='Y')or(yn='y') then goto input
else if (yn='N')or(yn='n') then goto bye;
input:
clrscr;
textcolor(green);
gotoxy(15,1);
writeln(' ======================================================');
textcolor(white);
gotoxy(15,2);
writeln('- PROGRAM PERHITUNGAN GAJI DAN TUNJANGAN ANAK ISTRI -');
textcolor(green);
gotoxy(15,3);
writeln(' ======================================================');
11. textcolor(white);
gotoxy(1,5);
writeln('- Masukkan data sesuai pada ketentuan berikut -');
textcolor(green);
writeln('_______________________________________________')
;
textcolor(yellow);
writeln(' Jabatan');
textcolor(white);
writeln(' 1. Direktur');
writeln(' 2. Wakil Direktur');
writeln(' 3. Sekertaris');
writeln(' 4. Bendahara');
writeln(' 5. Kepala Bagian');
writeln(' 6. Karyawan');
writeln(' 7. 0B');
writeln('');
textcolor(yellow);
writeln('Status');
textcolor(white);
writeln(' 1. Kawin ');
writeln(' 2. Tidak Kawin ');
textcolor(green);
writeln('______________________________________________');
textcolor(white);
gotoxy(1,23);
write('Nomor Induk Pegawai : ');readln(no);
write('Nama Pegawai : ');readln(nm);
write('Jabatan Pegawai : ');readln(jab);
if jab='1' then gj:=5000000
else if jab='2' then gj:=3000000
else if jab='3' then gj:=2800000
else if jab='4' then gj:=2800000
else if jab='5' then gj:=2500000
else if jab='6' then gj:=2200000
else if jab='7' then gj:=1700000;
writeln('Gaji Pokok : Rp. ',gj:0:2);
write('Status Perkawinan : ');readln(stat);
case stat of
1 :begin
ti :=(15/100)*gj;
write('Jumlah Anak : ');readln(jmlank);
if (jmlank >=3) then ta :=(5/100)*gj
else if (jmlank <3) then ta :=0;
end;
2 :Begin
ti :=0;
ta :=0;
end;
end;
12. writeln;
textcolor(green);
writeln('PLEASE WAIT..!!!:');
totgj:=gj+ta+ti;
for i:= 1 to 28 do
begin
textcolor(i);
lama:=100;
delay(lama);write('>>>');
end;
begin
print:
clrscr;
textcolor(white);
gotoxy(13,1);
writeln('======================o0 SLIP GAJI 0o=====================');
gotoxy(13,3);
writeln('Nama : ',nm);
gotoxy(13,4);
writeln('NO.Karyawan : ',no);
gotoxy(13,5);
if jab='1' then jab:='Direktur'
else if jab='2' then jab:='Wakil Direktur'
else if jab='3' then jab:='Sekertaris'
else if jab='4' then jab:='Bendahara'
else if jab='5' then jab:='Kepala Bagian'
else if jab='6' then jab:='Karyawan'
else if jab='7' then jab:='OB';
writeln('Jabatan : ',jab);
gotoxy(13,6);
13. writeln('+========================================================+');
gotoxy(13,7);
writeln('| Rincian Gaji | Jumlah |');
gotoxy(13,8);
writeln('+========================================================+');
gotoxy(13,9);
writeln('|Gaji Pokok :|Rp ',gj:8:0,' |');
gotoxy(13,10);
writeln('|Tunjangan Anak :|Rp ',ta:8:0,' |');
gotoxy(13,11);
writeln('|Tunjangan Istri :|Rp ',ti:8:0,' |');
gotoxy(13,12);
writeln('| :| |');
gotoxy(13,13);
writeln('+========================================================+');
gotoxy(13,14);
writeln('|Total Gaji Bersih :|Rp ',totgj:8:0,' |');
gotoxy(13,15);
writeln('+========================================================+');
gotoxy(13,17);
writeln('Note : Gaji anda sudah termasuk PPN 5%');
gotoxy(13,19);
write('Apakah anda ingin menghitung gaji lagi?(y/n) : ');readln(yn);
if (yn='y') or (yn='Y') then goto input
else if (yn='n') or (yn='N') then goto bye;
end;
begin
bye:
clrscr;
gotoxy(20,1);
writeln('Terima Kasih Telah Menggunakan Program Ini');
end;
readln;
end;
end.