Turbo Pascal : Pemrograman Karyawan

Program TUGAS_KELAS;
Uses Crt;
Var
nik : Array [1..100] of string[8];
nama: Array [1..100] of string;
gaji: Array [1..100] of longint;

i,j,n,x,idx,max,min:integer;
pil1: byte;
pil2: char;
tempgaji: longint;
tempnama,y: string;
tempnik,z: string[8];
Cek: boolean;

Procedure inputan;
Begin
gotoxy(23,3);
writeln;
writeln('-------------------------------------------------------------------');
writeln(' MENGOLAH DATA GAJI KARYAWAN':51);
writeln('-------------------------------------------------------------------');
write('Masukkan jumlah data karyawan : ' );
readln(n);
writeln('-------------------------------------------------------------------');
Writeln;
For i:= 1 to n do
Begin
Writeln(' Karyawan ke-',i,' :');
Write (' NIK : '); Readln(nik[i]);
Write (' NAMA : '); Readln(nama[i]);
Write (' GAJI : '); Readln(gaji[i]);
Writeln;
End;
End;

Procedure menu1;
Begin
Clrscr;
GOTOXY(23,3); WRITELN('MENAMPILKAN DATA URUT BERDASARKAN NIK :');
WRITELN;
For i:=1 to n do
Begin
For j:=i+1 to n do
Begin
If nik[i] > nik[j] then
Begin
tempnik:= nik[i];
nik[i]:= nik[j];
nik[j]:= tempnik;

tempgaji:= gaji[i];
gaji[i]:= gaji[j];
gaji[j]:= tempgaji;

tempnama:= nama[i];
nama[i]:= nama[j];
nama[j]:= tempnama;
end;
end;
Writeln(i,'. NIK : ',nik[i]);
Writeln (' NAMA : ',nama[i]);
Writeln (' GAJI : ',gaji[i]);
Writeln;
end;
end;

Procedure menu2;
Begin
Clrscr;
GOTOXY(23,3); WRITELN('MENAMPILKAN DATA URUT BERDASARKAN NAMA');
WRITELN;
for i:= 1 to n do
Begin
For j:=i+1 to n do
Begin
If nama[i] > nama[j] then
Begin
tempnama:= nama[i];
nama[i]:= nama[j];
nama[j]:= tempnama;

tempnik:= nik[i];
nik[i]:= nik[j];
nik[j]:= tempnik;

tempgaji:= gaji[i];
gaji[i]:= gaji[j];
gaji[j]:= tempgaji;
end;
end;
Writeln(i,'. NIK : ',nik[i]);
Writeln (' NAMA : ',nama[i]);
Writeln (' GAJI : ',gaji[i]);
end;
end;

Procedure menu3;
Begin
Clrscr;
GOTOXY(23,3); writeln('MENAMPILKAN DATA URUT BERDASARKAN NILAI');
WRITELN;
For i:=1 to n do
Begin
For j:=i+1 to n do
Begin
If gaji[i] < gaji[j] then Begin tempgaji:= gaji[i]; gaji[i]:= gaji[j]; gaji[j]:= tempgaji; tempnik:= nik[i]; nik[i]:= nik[j]; nik[j]:= tempnik; tempnama:= nama[i]; nama[i]:= nama[j]; nama[j]:= tempnama; end; end; Writeln(i,'. NIK : ',nik[i]); Writeln (' NAMA : ',nama[i]); Writeln (' GAJI : ',gaji[i]); Writeln; end; end; Procedure menu4; Begin Clrscr; GOTOXY(23,3); WRITELN('MENAMPILKAN DATA DENGAN NILAI TERTINGGI'); WRITELN; max:= 0; For i:= 1 to n do Begin If gaji[i] > max then
Begin
max:= gaji[i];
idx:= i;
end;
end;
Writeln('GAJI Tertinggi Adalah Karyawan ke-',idx,', dengan rincian :');
Writeln('NIK : ',nik[idx]);
Writeln('NAMA : ',nama[idx]);
Writeln('GAJI : ',max);
end;

Procedure menu5;
Begin
Clrscr;
GOTOXY(23,3); WRITELN('MENAMPILKAN DATA BERDASARKAN NILAI TERENDAH');
WRITELN;
min:= gaji[1];
For i:= 1 to n do
begin
If gaji[i] < min then Begin min:= gaji[i]; idx:= i; End; end; Writeln('NILAI Terendah Adalah Mahasiswa ke-',idx,' dengan rincian :'); Writeln('NIM : ',nik[idx]); Writeln('NAMA : ',nama[idx]); Writeln('NILAI : ',min); end; Procedure menu6; Begin Clrscr; GOTOXY(23,3); WRITELN('PENCARIAN DATA BERDASARKAN NIK'); WRITELN; Write('Masukkan NIK Yang Anda Cari : '); Readln(z); Writeln; Cek:=FALSE; For I:=1 TO N DO BEGIN IF z= nik[i] THEN BEGIN CEK:=TRUE; WRITELN('Data ditemukan pada index ke-',i,' dengan rincian : '); Writeln('NIK : ',nik[i]); Writeln('NAMA : ',nama[i]); Writeln('GAJI : ',gaji[i]); END ELSE CEK:=FALSE; end; end; Procedure menu7; Begin Clrscr; GOTOXY(23,3); WRITELN('PENCARIAN DATA BERDASARKAN NAMA'); WRITELN; Write('Masukkan NAMA Yang Anda Cari : '); Readln(y); Cek:=FALSE; FOR i:=1 TO n DO BEGIN IF y=NAMA[i] THEN BEGIN CEK:=TRUE; WRITELN('Data ditemukan pada index ke-',i,' dengan rincian : '); WRITELN('NIK : ',nik[i]); Writeln('NAMA : ',nama[i]); Writeln('NILAI : ',gaji[i]); END ELSE Cek:=FALSE; End; End; Procedure menu8; Begin Clrscr; Gotoxy(23,3); Writeln('PENCARIAN DATA BERDASARKAN GAJI'); Writeln; Write('Masukkan GAJI Yang Anda Cari : '); Readln(x); Cek:=FALSE; FOR i:=1 TO n DO BEGIN IF x= gaji[i] THEN BEGIN Cek:=TRUE; WRITELN('Data ditemukan pada index ke-',i,' dengan rincian : '); WRITELN('NIK : ',nik[i]); Writeln('NAMA : ',nama[i]); Writeln('GAJI : ',gaji[i]); END ELSE Cek:=FALSE; END; End; Begin Clrscr; inputan; Repeat Clrscr; Writeln('-------------------------------------------------------------------'); Writeln('Tampilan Menu':51 ); Writeln('-------------------------------------------------------------------'); Writeln('1. Menampilkan data urut berdasarkan NIK'); Writeln('2. Menampilkan data urut berdasarkan NAMA'); Writeln('3. Menampilkan data urut berdasarkan GAJI'); Writeln('4. Menampilkan data dengan GAJI tertinggi'); Writeln('5. Menampilkan data dengan GAJI terendah'); Writeln('6. Pencarian data berdasarkan NIK'); Writeln('7. Pencarian data berdasarkan NAMA'); Writeln('8. Pencarian data berdasarkan GAJI'); Writeln('9. Keluar'); Writeln('-------------------------------------------------------------------'); Writeln; Write('Masukkan Pilihan Menu Pilihan Anda : '); Readln(pil1); Case pil1 of 1: menu1; 2: menu2; 3: menu3; 4: menu4; 5: menu5; 6: menu6; 7: menu7; 8: menu8; 9: exit else Writeln('==================================================================='); Writeln(' inputan salah!!!! ');end; Writeln('==================================================================='); Write('mulai lagi ??? (Y/N) '); Readln(pil2); Writeln('==================================================================='); pil2:=upcase(pil2); Until pil2<>'Y';
end.

0 comments:

Posting Komentar

Terima kasih atas komentar atau sarannya.

Makasih ya udah komentar | Kembali ke atas