Wednesday, 4 December 2013

Makalah Program Data Pegawai Menggunakan Turbo Pascal (Tugas Struktur Data Kelompok III)

Program PegawaiMemakai Procedure

Program DataPegawai;

Uses Wincrt;

Var

nama :array[1..100]of string;

kerja:array [1..100]of char;

nip, gol, jam, Gapok, Insentif, Gaber :array[1..100]of longint;

a,n,gaji:longint;  

ulang,kembali:char;

proceduregaris;

begin

writeln('================================================================================');

end;

procedurenamapegawai;

begin

If (nip[n]) = 1 then

begin

nama[n] := 'YosepDwiAnjani';

Writeln('Nama        : ', (nama[n]));

end

else if (nip[n]) = 2 then

begin

nama[n] := 'RisalAgustian';

Writeln('Nama        : ', (nama[n]));

end

else if (nip[n]) = 3 then

begin

nama[n] := 'IdhamHanif N';

Writeln('Nama        : ', (nama[n]));

end

else

begin

write('Nama        : ');readln(nama[n]);

end;

end;

proceduregolongan;

begin

  If (gol[n]) = 1 then

Gapok[n]:= 1000000

else if (gol[n]) = 2 then

Gapok[n]:=1500000

else if (gol[n]) = 3 then

Gapok[n]:=2000000

     Else

begin

Gapok[n]:=0;

writeln('golongan yang andamasukantidakada');

readkey;

donewincrt;

end;

end;

procedurelembur;

begin

ifupcase(kerja[n]) ='Y' then

begin

Write('Lama KerjaTambahan (jam) : ');Readln(jam[n]);

if (jam[n]) >20 then

Insentif[n]:=(jam[n])*20000

else

if (jam[n])>=10 then

insentif[n] :=(jam[n])*10000

else

Insentif[n]:=(jam[n])*5000;   

Writeln('Insentif    : Rp. ',(insentif[n]));

Gaber[n]:=Gapok[n]+Insentif[n] ;

end

else

begin

gaber[n]:=Gapok[n];

jam[n]:=0;

insentif[n]:=0;

end;

end;

procedurelaporan;

begin

clrscr;

writeln('Laporan Data PegawaidanGajiPegawai ');

garis;

writeln('|    |     |                |   |          |          |         |           | ');

writeln('| No | NIP |  NamaPegawai  |Gol|GajiPokok|JamLembur|Insentif |GajiBersih| ');

writeln('|    |     |                |   |          |          |         |           | ');

garis;

writeln;

for a:=1 to n do

begin

gotoxy(1,a+7);write('|');

gotoxy(3,a+7);write(a);

gotoxy(6,a+7);write('|');

gotoxy(8,a+7);write(nip[a]);

gotoxy(12,a+7);write('|');

gotoxy(13,a+7);write(nama[a]);

gotoxy(29,a+7);write('|');

gotoxy(31,a+7);write(gol[a]);

gotoxy(33,a+7);write('|');

gotoxy(34,a+7);write(gapok[a]);

gotoxy(44,a+7);write('|');

gotoxy(45,a+7);write(jam[a]);

gotoxy(55,a+7);write('|');

gotoxy(56,a+7);write(insentif[a]);

gotoxy(65,a+7);write('|');

gotoxy(68,a+7);write(gaber[a]);

gotoxy(77,a+7);write('|');

gaji:=gaji+(gaber[a]);

end;

writeln;

writeln;

writeln (' Total GajiPegawai Yang Harus Di bayaradalahRp. ',gaji);

readln;

end;

procedureutama;

begin

n:=0;

repeat

n:=n+1;

Clrscr;

gotoxy(28,2);Writeln('SelamatDatang');

gotoxy(20,3);Writeln('Entri Data PegawaiKelompok 3');

garis;

Writeln;

Write('NIP : ');Readln(nip[n]);

namapegawai;

Write('Golongan  (1,2,3): ');Readln(gol[n]);

golongan;

writeln('GajiPokok  : Rp. ', Gapok[n]);

write('Ada KerjaTambahan  y/t?  ');readln(kerja[n]);

lembur;

Writeln('GajiBersih : Rp. ', (Gaber[n]));

write('Tambah data Pegawai (y/t): ');readln(ulang);

untilupcase(Ulang) <> 'Y';

end;

begin

kembali:='Y'  ;

whileupcase(kembali) = 'Y' do

begin

gaji:=0;

utama;

laporan;

write('inginulangiAplikasi(y/t) ? ');readln(kembali);

ifupcase(kembali)='T' then

donewincrt;

end;

end.

Program PegawaiMemakaiIf

Program DataPegawai;

Uses Wincrt;

Var

nama :array[1..100]of string;

kerja:array [1..100]of char;

nip, gol, jam, Gapok, Insentif, Gaber :array[1..100]of longint;

a,n,gaji:longint;  

ulang,kembali:char;

proceduregaris;

begin

writeln('================================================================================');

end;

begin

kembali:='Y'  ;

whileupcase(kembali) = 'Y' do

begin

gaji:=0;

n:=0;

repeat

n:=n+1;

Clrscr;

gotoxy(28,2);Writeln('SelamatDatang');

gotoxy(20,3);Writeln('Entri Data PegawaiKelompok 3');

garis;

Writeln;

Write('NIP : ');Readln(nip[n]);

           If (nip[n]) = 1 then

begin

nama[n] := 'YosepDwiAnjani';

Writeln('Nama        : ', (nama[n]));

end

else if (nip[n]) = 2 then

begin

nama[n] := 'RisalAgustian';

Writeln('Nama        : ', (nama[n]));

end

else if (nip[n]) = 3 then

begin

nama[n] := 'IdhamHanif N';

Writeln('Nama        : ', (nama[n]));

end

else

begin

write('Nama        : ');readln(nama[n]);

end;

Write('Golongan  (1,2,3): ');Readln(gol[n]);

       If (gol[n]) = 1 then

Gapok[n]:= 1000000

else if (gol[n]) = 2 then

Gapok[n]:=1500000

else if (gol[n]) = 3 then

Gapok[n]:=2000000

     Else

begin

Gapok[n]:=0;

writeln('golongan yang andamasukanTidakada');

readkey;

donewincrt;

end;

writeln('GajiPokok  : Rp. ', Gapok[n]);

write('Ada KerjaTambahan  y/t?  ');readln(kerja[n]);

ifupcase(kerja[n]) ='Y' then

begin

Write('Lama KerjaTambahan (jam) : ');Readln(jam[n]);

if (jam[n]) >20 then

Insentif[n]:=(jam[n])*20000

else

if (jam[n]) >=10 then

insentif[n] :=(jam[n])*10000

else

Insentif[n]:=(jam[n])*5000;   

Writeln('Insentif    : Rp. ',(insentif[n]));

Gaber[n]:=Gapok[n]+Insentif[n] ;

end

else

begin

gaber[n]:=Gapok[n];

jam[n]:=0;

insentif[n]:=0;

end;

Writeln('GajiBersih : Rp. ', (Gaber[n]));

write('Tambah data Pegawai (y/t): ');readln(ulang);

untilupcase(Ulang) <> 'Y';

clrscr;

writeln('Laporan Data PegawaidanGajiPegawai ');

garis;

writeln('|    |     |                |   |          |          |         |           | ');

writeln('| No | NIP |  NamaPegawai  |Gol|GajiPokok|JamLembur|Insentif |GajiBersih| ');

writeln('|    |     |                |   |          |          |         |           | ');

garis;

writeln;

for a:=1 to n do

begin

gotoxy(1,a+7);write('|');

gotoxy(3,a+7);write(a);

gotoxy(6,a+7);write('|');

gotoxy(8,a+7);write(nip[a]);

gotoxy(12,a+7);write('|');

gotoxy(13,a+7);write(nama[a]);

gotoxy(29,a+7);write('|');

gotoxy(31,a+7);write(gol[a]);

gotoxy(33,a+7);write('|');

gotoxy(34,a+7);write(gapok[a]);

gotoxy(44,a+7);write('|');

gotoxy(45,a+7);write(jam[a]);

gotoxy(55,a+7);write('|');

gotoxy(56,a+7);write(insentif[a]);

gotoxy(65,a+7);write('|');

gotoxy(68,a+7);write(gaber[a]);

gotoxy(77,a+7);write('|');

gaji:=gaji+(gaber[a]);

end;

writeln;

writeln;

writeln (' Total GajiPegawai Yang Harus Di bayaradalahRp. ',gaji);

readln;

write('inginulangiAplikasi(y/t) ? ');readln(kembali);

ifupcase(kembali)='T' then

donewincrt;

end;

end.

Flowchart Memakai If


Flowchart Memakai Procedure

Screen Program

0 comments:

Post a Comment