Berlatih Membuat Program Pascal Bagian 9 - Record lanjutan

Record

Latihan kali ini merupakan lanjutan latihan bagian 8 yang menggunakan tipe data record. Maka dari itu langsung saja contoh kodenya sebagai berikut:
program latih9;

uses crt;
type
pegawai = record
nip     : string[6];
nama    : string[15];
gpokok  : real;
case status:char of
'b'     : (tunj_jbt : real);
'k'     : (tunj_jabatan,tunj_istri,tunj_anak : real);
end;

var
karyawan        : pegawai;
total_gaji      : real;

function upstring(s:string):string;
var
i:integer;
begin
for i:=1 to length(s) do
  s[i]:=upcase(s[i]);
  upstring:=s;
end;

procedure inputData;
begin
writeln('=============================================');
writeln('          Program Hitung Gaji');
writeln('=============================================');
  with karyawan do
  begin
    fillchar(karyawan,sizeof(karyawan),0);
    write('Nomor pegawai                    : ');readln(nip);
    write('Nama pegawai                     : ');readln(nama);
    write('Status pegawai (b)bujang/(k)kawin: ');readln(status);
    write('Gaji pegawai                     : ');readln(gpokok);

    if upstring(status) = 'B' then
    begin
      write('Tunjangan Jabatan                : ');readln(tunj_jbt);
    end
    else
    begin
      write('Tunjangan Jabatan                : ');readln(tunj_jabatan);
      write('Tunjangan Istri                  : ');readln(tunj_istri);
      write('Tunjangan Anak                   : ');readln(tunj_anak);
    end;
  end;
end;

procedure tampilData;
begin
  with karyawan do
  begin
    writeln('=============================================');
    writeln('NIP     Nama Pegawai        Gaji');
    writeln('=============================================');
    writeln(nip:7-length(nip),'  ',nama:16-length(nama),'      ',gpokok:5:0);
    writeln('=============================================');
    if upstring(status)='B' then
    begin
      writeln('Tunjangan jabatan                : Rp. ',tunj_jbt:6:0);
      writeln('Tunjangan Istri                  : Rp. ',tunj_istri:6:0);
      writeln('Tunjangan Anak                   : Rp. ',tunj_anak:6:0);
      total_gaji:= gpokok+tunj_jbt;
    end else
    begin
      writeln('Tunjangan jabatan                : Rp. ',tunj_jbt:6:0);
      writeln('Tunjangan Istri                  : Rp. ',tunj_istri:6:0);
      writeln('Tunjangan Anak                   : Rp. ',tunj_anak:6:0);
      total_gaji:= gpokok+tunj_jbt+tunj_istri+tunj_anak;
    end;
    writeln('=============================================');
    writeln('Total Gaji                       : Rp. ',Total_gaji:6:0);
  end;
end;

BEGIN
clrscr;
inputData;
tampilData;
readln;
END.

Tampilannya program diatas sebagai berikut:
Berlatih Membuat Program Pascal Bagian 9
Hasil .exe dari program diatas dapat anda unduh disini

Posting Komentar