Program Data Pegawai dengan Bahasa Pascal
program OlahData;
{Dibaca data pegawai dengan tabel NIK, Nama, JK, Jam Kerja, Gaji akan diolah
datanya dengan soal: 1. Menginputkan data, 2. Mencetak data, 3. Jam Kerja
Minimum, 4. Jam Kerja Maksimum, 5. Rata-rata jam kerja, 6. banyaknya karyawan
yang lembur, 7. banyaknya karyawan yang jam kerjanya 48 jam. Program ini
dibuat oleh INDRI AGUSTINA dengan JUJUR pada tanggal 29 Mei 2015}
uses crt;
const Nmaks=500;
type
Karyawan = record
jamkerja: integer;
nik, nama, jkel : string[30];
gaji:longint;
end;
KaryawanArray = array[1..Nmaks] of Karyawan;
var krywan:KaryawanArray;
procedure BacaData(N : integer ; var krywan:KaryawanArray);
var
i: integer;
begin
for i:=1 to N do
begin
write('Masukkan NIK : ');
readln(krywan[i].nik);
write('Masukkan Nama : ');
readln(krywan[i].nama);
write('Masukkan Jenis Kelamin : ');
readln(krywan[i].jkel);
write('Masukkan Jam Kerja : ');
readln(krywan[i].jamkerja);
writeln();
end;
end;
Procedure HitungGaji(N:integer);
var
i: integer;
const gajipokok=1000000;
const gajilembur=25000;
begin
for i:=1 to n do
begin
if krywan[i].jamkerja > 48 then
begin
krywan[i].gaji:=gajipokok+((krywan[i].jamkerja-48)*gajilembur);
end
else
begin
krywan[i].gaji:=gajipokok;
end;
end;
end;
procedure TampilDataPegawai(N : integer);
var
i : integer;
begin
write('NIK ','Nama ','JK ','Jam Kerja ','Gaji ');
writeln();
for i:=1 to N do
begin
write(krywan[i].nik,' ');
write(krywan[i].nama,' ');
write(krywan[i].jkel,' ');
write(krywan[i].jamkerja,' ');
write(krywan[i].gaji,' ');
writeln();
end;
end;
function Rata(N : integer) : real;
var
i : integer;
jum : real;
begin
jum := 0;
for i:=1 to N do
begin
jum := jum + krywan[i].jamkerja;
end;
Rata := jum/N;
end;
function MaxJamKerja(N : integer) : integer;
var
i, max : integer;
begin
max := -1;
for i:=1 to N do
begin
if(krywan[i].jamkerja > max) then
max := krywan[i].jamkerja;
end;
MaxJamKerja := max;
end;
function MinJamKerja(N : integer) : integer;
var
i, min : integer;
begin
min := 999;
for i:=1 to N do
begin
if(krywan[i].jamkerja < min) then
min := krywan[i].jamkerja;
end;
MinJamKerja := min;
end;
function karyawanlembur(N : integer) : integer;
var
i, total : integer;
begin
total := 0;
for i:=1 to N do
begin
if(krywan[i].jamkerja > 48) then
total := total+ 1;
end;
karyawanlembur := total;
end;
function jamkrjnormal(N : integer) : integer;
var
i, total : integer;
begin
total := 0;
for i:=1 to N do
begin
if(krywan[i].jamkerja = 48) then
total := total+ 1;
end;
jamkrjnormal := total;
end;
procedure CariKaryawan(N :integer; var krywan:KaryawanArray; namaygdicari:string);
var
i : integer;
ketemu : boolean;
begin
i:=1;
ketemu := false;
while (i<=N) and (not ketemu) do
begin
if(krywan[i].nama = namaygdicari) then
ketemu := true
else
i:=i+1;
end;
if(ketemu) then
write('Data ditemukan')
else
write('Data tidak ditemukan');
end;
var
N, min, max, Lembur, Normal : integer;
namaygdicari:string;
Rata_Rata : real;
begin
write('Banyak data mahasiswa : ');
readln(N);
writeln();
BacaData(N, krywan);
HitungGaji(N);
TampilDataPegawai(N);
Rata_Rata := Rata(N);
writeln('Rata-rata Jam Kerja = ', Rata_Rata);
max := MaxJamKerja(N);
writeln('Jam Kerja Maksimum = ', max);
min := MinJamKerja(N);
writeln('Jam Kerja Minimum = ', min);
Lembur := karyawanlembur(N);
writeln('Banyaknya karyawan yang Lembur = ', Lembur);
Normal := jamkrjnormal(N);
writeln('Banyaknya karyawan yang Jam Kerjanya 48 jam = ', Normal);
write('Masukkkan nama yang dicari : '); readln(namaygdicari);
CariKaryawan(N, krywan, namaygdicari);
end.
{Dibaca data pegawai dengan tabel NIK, Nama, JK, Jam Kerja, Gaji akan diolah
datanya dengan soal: 1. Menginputkan data, 2. Mencetak data, 3. Jam Kerja
Minimum, 4. Jam Kerja Maksimum, 5. Rata-rata jam kerja, 6. banyaknya karyawan
yang lembur, 7. banyaknya karyawan yang jam kerjanya 48 jam. Program ini
dibuat oleh INDRI AGUSTINA dengan JUJUR pada tanggal 29 Mei 2015}
uses crt;
const Nmaks=500;
type
Karyawan = record
jamkerja: integer;
nik, nama, jkel : string[30];
gaji:longint;
end;
KaryawanArray = array[1..Nmaks] of Karyawan;
var krywan:KaryawanArray;
procedure BacaData(N : integer ; var krywan:KaryawanArray);
var
i: integer;
begin
for i:=1 to N do
begin
write('Masukkan NIK : ');
readln(krywan[i].nik);
write('Masukkan Nama : ');
readln(krywan[i].nama);
write('Masukkan Jenis Kelamin : ');
readln(krywan[i].jkel);
write('Masukkan Jam Kerja : ');
readln(krywan[i].jamkerja);
writeln();
end;
end;
Procedure HitungGaji(N:integer);
var
i: integer;
const gajipokok=1000000;
const gajilembur=25000;
begin
for i:=1 to n do
begin
if krywan[i].jamkerja > 48 then
begin
krywan[i].gaji:=gajipokok+((krywan[i].jamkerja-48)*gajilembur);
end
else
begin
krywan[i].gaji:=gajipokok;
end;
end;
end;
procedure TampilDataPegawai(N : integer);
var
i : integer;
begin
write('NIK ','Nama ','JK ','Jam Kerja ','Gaji ');
writeln();
for i:=1 to N do
begin
write(krywan[i].nik,' ');
write(krywan[i].nama,' ');
write(krywan[i].jkel,' ');
write(krywan[i].jamkerja,' ');
write(krywan[i].gaji,' ');
writeln();
end;
end;
function Rata(N : integer) : real;
var
i : integer;
jum : real;
begin
jum := 0;
for i:=1 to N do
begin
jum := jum + krywan[i].jamkerja;
end;
Rata := jum/N;
end;
function MaxJamKerja(N : integer) : integer;
var
i, max : integer;
begin
max := -1;
for i:=1 to N do
begin
if(krywan[i].jamkerja > max) then
max := krywan[i].jamkerja;
end;
MaxJamKerja := max;
end;
function MinJamKerja(N : integer) : integer;
var
i, min : integer;
begin
min := 999;
for i:=1 to N do
begin
if(krywan[i].jamkerja < min) then
min := krywan[i].jamkerja;
end;
MinJamKerja := min;
end;
function karyawanlembur(N : integer) : integer;
var
i, total : integer;
begin
total := 0;
for i:=1 to N do
begin
if(krywan[i].jamkerja > 48) then
total := total+ 1;
end;
karyawanlembur := total;
end;
function jamkrjnormal(N : integer) : integer;
var
i, total : integer;
begin
total := 0;
for i:=1 to N do
begin
if(krywan[i].jamkerja = 48) then
total := total+ 1;
end;
jamkrjnormal := total;
end;
procedure CariKaryawan(N :integer; var krywan:KaryawanArray; namaygdicari:string);
var
i : integer;
ketemu : boolean;
begin
i:=1;
ketemu := false;
while (i<=N) and (not ketemu) do
begin
if(krywan[i].nama = namaygdicari) then
ketemu := true
else
i:=i+1;
end;
if(ketemu) then
write('Data ditemukan')
else
write('Data tidak ditemukan');
end;
var
N, min, max, Lembur, Normal : integer;
namaygdicari:string;
Rata_Rata : real;
begin
write('Banyak data mahasiswa : ');
readln(N);
writeln();
BacaData(N, krywan);
HitungGaji(N);
TampilDataPegawai(N);
Rata_Rata := Rata(N);
writeln('Rata-rata Jam Kerja = ', Rata_Rata);
max := MaxJamKerja(N);
writeln('Jam Kerja Maksimum = ', max);
min := MinJamKerja(N);
writeln('Jam Kerja Minimum = ', min);
Lembur := karyawanlembur(N);
writeln('Banyaknya karyawan yang Lembur = ', Lembur);
Normal := jamkrjnormal(N);
writeln('Banyaknya karyawan yang Jam Kerjanya 48 jam = ', Normal);
write('Masukkkan nama yang dicari : '); readln(namaygdicari);
CariKaryawan(N, krywan, namaygdicari);
end.
Comments
Post a Comment
-Berkomentarlah yang baik dan rapi.
-Menggunakan link aktif akan dihapus.