Anda di halaman 1dari 9

MODUL 10

DATA RECORD

Pada praktikum kali ini Anda akan mencoba menerapkan Tipe Data Record. Ada beberapa program yang
bisa anda coba.

Program 1.

Program ini adalah Program Untuk menginputkan dan menampilkan Data Mahasiswa.

Nama Program Data_Mahasiswa.Pas


program recordmhs;
uses crt;
type
tanggal_lahir = record
tanggal : integer;
bulan : string[10];
tahun : integer;
end;
mahasiswa = record
nim : string[8];
nama : string[30];
alamat : string[30];
tlp : string[12];
tanggallahir : tanggal_lahir;
jurusan : string[20];
end;
var
recmhs : array[1..50] of mahasiswa;
byk : byte;
i, j : integer;
begin
clrscr;
writeln('--------------------------------------------------------
---');
writeln(' data mahasiswa ');
writeln('-------------------------------------------------------'
);
writeln;
write('masukkan jumlah mahasiswa : '); readln(byk);
for i := 1 to byk do
begin
with recmhs[i] do
begin
write('nim : ');readln(nim);
write('nama : ');readln(nama);
write('alamat : ');readln(alamat);
write('no telepon : ');readln(tlp);
write('tanggal lahir : ');readln(tanggallahir.tanggal);
write('bulan lahir : ');readln(tanggallahir.bulan);
write('tahun lahir : ');readln(tanggallahir.tahun);
write('jurusan : ');readln(jurusan);

end;
end;
writeln;
writeln('--------------------------------');
writeln('data yang telah diinputkan');
for j := 1 to byk do
begin
with recmhs[j] do
begin
writeln('nim : ',nim);
writeln('nama : ',nama);
writeln('alamat : ',alamat);
writeln('no telepon : ',tlp);
writeln('tanggal lahir :
',tanggallahir.tanggal,'-‘,tanggallahir.bulan,'-‘,tanggallahir.ta
hun);
end;
readln;
end;
end.

Jika dijalankan hasil yang akan didapat adalah :

1. Input data mahasiswa


2.
Keluaran/Hasil Output
Program 2.

Program Merekam Data Pegawai dan di program ini terdapat proses hitungan dan hasil keluaran
ditampilkan dalam bentuk tabel.

Program DataPegawai;
Uses Crt;
Type Pegawai = record
NIP : String[9];
Nama : String[50];
Golongan : Char;
Jamkerja : Real;
End;
Var
Data : Pegawai;
Gapok : Real;
Insentif,Gaber : Real;
Ul : Char;
Begin
Repeat
Clrscr;
Writeln('Entry Data Pegawai PT. Punya gua');
Writeln('==========================');
Writeln;
Write('NIP : ');Readln(Data.NIP);
Write('Nama : ');Readln(Data.Nama);
Write('Golongan : ');Readln(Data.Golongan);
Write('Jam Kerja : ');Readln(Data.Jamkerja);
Writeln;
Writeln;
Case Data.Golongan of
'1' : Gapok:=1000000;
'2' : Gapok:=1500000;
'3' : Gapok:=2000000;
Else
Gapok:=0;
End;

if Data.Jamkerja>200 then
Insentif:=(Data.Jamkerja-200)*10000
else
Insentif:=0;
Gaber:=Gapok+Insentif;
Clrscr;
Writeln('Laporan Gaji Pegawai');
Writeln('PT. XYZ');
Writeln;
Writeln('====================================================
========================');
Writeln('|NIP | Nama | Golongan |
Jam Kerja | Gaji |');
Writeln('====================================================
========================');
Writeln('|',Data.NIP:10,'|',Data.Nama:25,'|',Data.Golongan:10
,'|',Data.Jamkerja:11:0,'|',Gaber:14:2,'|');
Writeln('====================================================
========================');
Writeln;
Write('Mau Ulang Lagi? [Y/T]: ');Readln(Ul);
Until Upcase(Ul) <> 'Y';
End.

Keluaran yang dihasilkan setelah dijalankan :

Jika selesai, maka isikan huruf T, jika mengulang isikan huruf Y.

Program 3.

Program APOTIK. Pada program ini kita bisa menginputkan data dan kemudian program akan
menghitung hasil belanja dan menampilkan total belanja yang harus dibayar.
program kasir;

uses crt;

type
data = record
nama : string[20];
harga : real;
jumlah : integer;
total : real;
end;

var
saya : string;
jumlahobat,i,j : integer;
totalpembelian,tot,kembali :real;
nama :string[20];
obat :array [1..100] of data;

begin
clrscr;
writeln('=======================================================
===');
writeln(' TOKO OBAT K36
');
writeln('=======================================================
===');
writeln();

write('Nama Pembeli : ');readln(saya);


write('Jumlah obat yang dibeli : ');readln(jumlahobat);
writeln;

for i := 1 to jumlahobat do begin


writeln('Masukkan data ke-',i:2);

begin
write('Nama Obat : ');readln(obat[i].nama);
write('Harga Satuan: ');readln(obat[i].harga);
write('Jumlah : ');readln(obat[i].jumlah);
end;
writeln;
end;
writeln;

writeln('Nama Pemebeli :',saya);


writeln;
writeln('APOTEK K 36');
writeln('------------------------------------------------------
----------');
writeln('| No | Nama Obat | Harga Satuan | Jumlah |
Total |');
writeln('------------------------------------------------------
----------');
begin
obat[i].total:=0;
for i := 1 to jumlahobat do begin
obat[i].total:=obat[i].harga*obat[i].jumlah;
write(i:4);
write(obat[i].nama:17);
write(obat[i].harga:18:2);
write(obat[i].jumlah:6);
writeln(obat[i].total:17:2);
end;

writeln('-------------------------------------------------------
---------');

for j:= 1 to jumlahobat do


tot:= tot+obat[j].total;
writeln(' Total Pembayaran =
',tot:11:2);
end;

readln;
end.

Hasil Keluaran :

1. Data yang diinputkan


2. Output / Keluaran

Tugas :
1. Silahkan masing-masing program dicoba dan dijalankan.
2. Buat program untuk menampiklan keluaran sebagai berikut :

Nama Customer : xxxxxxxxxxx

Toko Sepatu : ………… (Anda beri Judul Sendiri

| No | Nama Barang | Harga Satuan | Jumlah | Total | Potongan (%) | Harga Dibayar
| 1 | Sepatu Andinda | 500000 | 2 | 1000000 | 10 | 900000
| 2 | Jaket Bomber | 1000000 | 1 | 1000000 | 20 | 800000

Dst

---------------------------------------------------------------------------------------------------------------------
Total dibayar | 2000000 | | 1700000

Ketentuan :
Nama barang, Harga Satuam, Jumlah dan Diskon/Potongan diinputkan

Anda mungkin juga menyukai