Satu Biru Satu Hati Satu Tujuan...
Latar Belakang
Struktur Data memberikan penjelasan tentang suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.Pemakaian struktur data yang tepat didalam proses pemrograman,akan menghasilkan algoritma yang kebih jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana. Didalam sruktur data ini ada struktur data sederhana, salah satunya adalah array , if then else , while do , until , case .
FlowChart
Listing Program
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;
procedure garis;
begin
writeln('============================================================================ ');
end;
procedure namapegawai;
begin
If (nip[n]) = 1 then
begin
nama[n] := 'Fajar Galih Pradhitia';
Writeln('Nama : ', (nama[n]));
end
else if (nip[n]) = 2 then
begin
nama[n] := 'Taofik Febrianto';
Writeln('Nama : ', (nama[n]));
end
else if (nip[n]) = 3 then
begin
nama[n] := 'Meri Siti Maryam';
Writeln('Nama : ', (nama[n]));
end
else
begin
write('Nama : ');readln(nama[n]);
end;
end;
procedure golongan;
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;
procedure lembur;
begin
if upcase(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;
procedure laporan;
begin
clrscr;
writeln('Laporan Data PegawaidanGajiPegawai ');
garis;
writeln('|No|NIP| NamaPegawai |Gol|GajiPokok|JamLembur|Insentif|GajiBersih|');
garis;
writeln;
for a:=1 to n do
begin
gotoxy(1,a+4);write('|');
gotoxy(2,a+4);write(a);
gotoxy(4,a+4);write('|');
gotoxy(7,a+4);write(nip[a]);
gotoxy(8,a+4);write('|');
gotoxy(9,a+4);write(nama[a]);
gotoxy(32,a+4);write('|');
gotoxy(33,a+4);write(gol[a]);
gotoxy(36,a+4);write('|');
gotoxy(37,a+4);write(gapok[a]);
gotoxy(46,a+4);write('|');
gotoxy(47,a+4);write(jam[a]);
gotoxy(56,a+4);write('|');
gotoxy(57,a+4);write(insentif[a]);
gotoxy(65,a+4);write('|');
gotoxy(66,a+4);write(gaber[a]);
gotoxy(76,a+4);write('|');
gaji:=gaji+(gaber[a]);
end;
writeln;
garis;
writeln(' Total GajiPegawai Yang Harus Di bayaradalahRp. ',gaji);
readln;
end;
procedure utama;
begin
n:=0;
repeat
n:=n+1;
Clrscr;
gotoxy(28,2);Writeln('SelamatDatang');
gotoxy(20,3);Writeln('Entri Data PegawaiKelompok 3');
garis;
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);
until upcase(Ulang) <> 'Y';
end;
begin
kembali:='Y' ;
while upcase(kembali) = 'Y' do
begin
gaji:=0;
utama;
laporan;
write('inginulangiAplikasi(y/t) ? ');readln(kembali);
if upcase(kembali)='T' then
donewincrt;
end;
sekian untuk postingan kali ini!! :)

Komentar
Posting Komentar
berikan komentar anda walaupun hanya emoticon... :-)