biar gak bingun liat judulnya langsung deh baca..
sekarang kita akan mempelajari tentang bagai mana sih membuat sebuah program dengan menggunakan array dengan kombinasi function dan procedure yang di implementasikan dalam program mencari gaji pegawai pasti sodara penasarankan langsung aja deh...
demi mempermudah pemahaman sodara langsung saja kita cekidot ke contoh programnya.
====================================================================
program gaji_pegawai;
uses crt;
const
maks = 50 ;
type
larik1=array [1..maks] of string;
larik2=array [1..maks] of integer;
larik3=array [1..maks] of real;
var
NIP,nama,status:larik1;
gol,jmlanak:larik2;
gatot,PPN:larik3;
//program lokal
function dan procedure
function temp_gaji(gapok:integer;tunjangan:real):real;
{I.S.: gaji pokok dan tunjangan sudah
terdefinisi}
{F.S.: menampilkan rumus fungsi mencari gaji
+ tunjangan}
begin
temp_gaji:=gapok + tunjangan ;
end;
function gajiTotal(gatot,PPN:real):real;
{I.S.: nilai gajitotal dan PPN sudah
terdefinisi}
{F.S.: menampilkan rumus fungsi mencari gaji
total}
begin
gajiTotal:=gatot - PPN;
end;
function gajiPokok (gol : integer):integer;
{I.S. : Golongan sudah terdefinisi}
{F.S. : Menghailkan fungsi gaji pokok}
begin
case (gol) of
1 : gajiPokok := 1250000;
2 : gajiPokok := 1350000;
3 : gajiPokok := 1500000;
4 : gajiPokok := 1750000;
end; {case}
end;{function}
function tunjangan (gol,gapok : integer):real;
{I.S. : Golongan dan Gaji Pokok sudah
terdefinisi}
{F.S. : Menghailkan fungsi Tunjangan}
begin
case
(gol) of
1 : tunjangan := 0.1*gapok;
2 : tunjangan := 0.125*gapok;
3 : tunjangan := 0.15*gapok;
4 : tunjangan := 0.2*gapok;
end;{case}
end; {function}
function tunjanganAnak (jmlAnak : integer ) : integer;
{I.S.: jumlah anak sudah terdefinisi}
{F.S.: menhahasilan fungsi tunjangan anak}
begin
if
(jmlAnak <= 3) and (jmlAnak > 0) then
tunjanganAnak :=jmlAnak * 150000
else
if
(jmlAnak > 3 ) then
tunjanganAnak := 3 * 150000
else
if ( jmlAnak =0 ) then
tunjanganAnak := 0;
end;
{function}
function f_ppn(gatot:real):real;
{I.S.: gaji total sudah terdefinisi}
{F.S.:
menghasilkan rumus mencari PPN}
begin
f_ppn:= 0.1*gatot
end;
procedure tampilGtotPPN(gatot,PPN : real;i:integer);
{I.S.: gaji total dan PPN sudah
terdefinisi}
{F.S.: menampilkan gaji total dan PPN}
begin
gotoxy(54,4+i);write(PPN:0:1);
gotoxy(68,4+i);write(gatot:0:1);
end; {procedure}
procedure header;
{I.S.: membuat tabel header}
{F.S.: menampilkan tabel header}
begin
gotoxy(31,1);textcolor(15);
textcolor(yellow); write('DAFTAR GAJI
PEGAWAI');
gotoxy(1,2);textcolor(15);
textcolor(yellow);
write('
------------------------------------------------------------------------------');
gotoxy(1,3);textcolor(15);
textcolor(white); write('| NIP
| NAMA |
GOL |STATUS|JML ANAK| PPN
| GAJI TOTAL |');
gotoxy(1,4);textcolor(15);
textcolor(yellow);
write('
------------------------------------------------------------------------------');
end; {procedure}
procedure inputData(var
NIP,nama,status:larik1; var gol :
larik2);
{I.S.: memasukan data NIP, nama,
status dan golongan gaji}
{F.S.: menampilkan nilai PPN dan gaji total}
var
gapok,i,j:integer;
begin
i:=1;
j:=10;
//memasukan nip
header;
window(2,5,80,5);textbackground(j);
clrscr;
window(1,5,80,5);
textcolor(15);
textcolor(white); write('| | | |
| |Rp. |Rp. |');
window(2,5,10,5);readln(NIP[i]);write(NIP[i]);
while (NIP[i] <> 'stop' ) and
(NIP[i] <> 'STOP' ) do
begin
//memasukan nama, golongan dan status
window(12,4+i,25,4+i);readln(nama[i]);write(nama[i]);
window(30,4+i,33,4+i);readln(gol[i]);write(gol[i]);
window(37,4+i,40,4+i);readln(status[i]);write(status[i]);
//memasukan jumlah anak jika dudah
menikah dan mempunyai anak
if
(status[i] = 'M') or (status[i] = 'm') then
begin window(45,4+i,46,4+i);readln(jmlAnak[i]);write(jmlAnak[i]);
end
else
begin
window(45,4+i,46,4+i);write('-');
end;
//hitung
Gajipokok {gaji pokok + tunjangan gaji + tunjangan anak}
gapok := gajiPokok(gol[i]); {function gajipokok}
gatot[i] := temp_gaji(gapok,tunjangan(gol[i],gapok))
+ tunjanganAnak(jmlAnak[i]);
//hitung PPN {10% dari gaji pokok}
PPN[i] := f_ppn(gatot[i]);
//hitung Gaji Total {Gajipokok - PPN}
gatot[i] := gajiTotal(gatot[i],PPN[i]);
//menampilkan gatot dan PPN
tampilGtotPPN(gatot[i],PPN[i],i);
//memasukan data selanjutnya
i:=i+1;
if
i mod 2 = 0 then
j := 14
else
j := 10;
window(2,4+i,80,4+i);textbackground(j);
clrscr;
window(1,4+i,80,4+i);
textcolor(15);
textcolor(white); write('| | | |
| |Rp. |Rp. |');
window(2,4+i,10,4+i);readln(NIP[i]);write(NIP[i]);
end;{WHILE}
//penutup
i:=i+1;
window(1,4+i,80,4+i);textbackground(11);
textcolor(yellow); write(' -----------------------------------------------------------------------------');
readln;
end; {procedure}
//program utama
begin
window(1,1,80,24);textbackground(11);
clrscr;
inputData(NIP,nama,status,gol);
end.
Nah nah jika sodara sudah membacanya atau mempelajari tulisan ini langasung saja di praktekan di program paccalnya supaya memperdalam pehaman sodara.
Jika sodara sudah mencobanya ke dalam erogram paccal maka soda akan mendapatkan hasilnya seperti ini.
Gambar 1.2 ZoomOut |
Gambar 1.1 Hasil program daftar gaji pegawai saran |
terimakasih atas kunjungan sodara apabila ada kritik silahkan isi di kolom komentar, sekian salam programer.
bab CSS klik link ini
http://afgansteep.blogdetik.com/2014/12/26/tutorial-layouting-css/
2 komentar:
silahkan di komentar mengenai postingan ini
GG parah jago banget kalo hasil sendiri
Posting Komentar