MACAM-MACAM RECORD
Semoga teman-teman sudah mengerti perbedaan record dengan array,sekarang kita akan membahas macam-macam record ….
Disini saya akan menjelaskan macam-macam record yaitu
1. Record varian
Yaitu record yang dimana memiliki pilihan untuk menjalankan salah satu dari pilihan yang dibuat ,, contoh nya dapat dengan contoh listing berikut
Program recordvarian;
uses wincrt;
type buk=(M,B);
tbl_buku=record
kode:string;
tgl,penerbit:string;
case tipe: buk of
M:(nomor:integer);
B:(pengarang,edisi:string);
end;
var buku: tbl_buku; pil:char;
i,n:integer;
begin
with buku do
begin
write('kode buku : ');readln(kode);
write('tanggal beli : ');readln(tgl);
write('penerbit : ');readln(penerbit);
write('tipe (M/B) : ');readln(tempe);
case upcase(pil) of
'M': begin
tipe:=M;
write('Nomor : ');readln(nomor);
end;
'B': begin
tipe:=B;
write('Pengarang : ');readln(pengarang);
write('edisi ; ');readln(edisi);
end;
end;
end;
writeln('data yang dimasukkan tadi adalah : ');
with buku do
writeln(i,kode:10,tgl:10,penerbit:10,pil:10);
2. Record dalam record
Record di dalam Record
type tanggal = record
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
var saat_ini : waktu_ini;
arti dari sintax diatas adalah tipe tanggal merupakan tipe record yang dimana terdiri dari bulan,hari,tahun dan berjenis integer
sedangkan di record berikutnya yaitu waktu terdiri dari jam,menit,dan detik yang berjenis integer
dan dalam waktu sekarang atau waktu ini merupakan terdiri dari tanggal(bulan,hari,tahun) dan wakut(jam,menit,detik)
yang dimana dideklarasikan di dalam varibel saat ini ,,,
3 . record dengan array
Record dengan array adalah bentuk dari penggabungan dari banyak nya data yang dimasukkan membutuhkan lebih dari satu kali penginputan data ,sehingga data harus dibuat dengan indeks-indeks yang berfungsi untuk menyimpan data tersebut ,, berikut contoh listing program nya ….
program mahasiswa_uty;
uses wincrt;
type data_mahasiswa=record
nim:String[20];
nama:string[30];
nilai:integer;
end;
var
data_mahasiswauty:array[1..30] of data_mahasiswa;
i,j,n:integer;
t3,t2:string;
t1:integer;
begin
writeln('masukkan banyaknya data mahasiswa: ');readln(n);
for i:=1 to n do
begin
writeln('data mahasiswa ke-',i:3);
with data_mahasiswauty[i] do
begin
write('NIM : ');readln(nim);
write('Nama : ');readln(nama);
write('NIlai : ');readln(nilai);
end;
end;
writeln('data mahasiswa uty ');
writeln('========================================================');
writeln('data yang dimasukkan adalah : ');
for i:=1 to n do
with data_mahasiswauty[i]do
writeln(i,nim:20,nama:30,nilai:10);
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if data_mahasiswauty[i].nilai>data_mahasiswauty[j].nilai
then
begin
t1:=data_mahasiswauty[i].nilai;
data_mahasiswauty[i].nilai:=data_mahasiswauty[j].nilai;
data_mahasiswauty[j].nilai:=t1;
t2:=data_mahasiswauty[i].nim;
data_mahasiswauty[i].nim:=data_mahasiswauty[j].nim;
data_mahasiswauty[j].nim:=t2;
t3:=data_mahasiswauty[i].nama;
data_mahasiswauty[i].nama:=data_mahasiswauty[j].nama;
data_mahasiswauty[j].nama:=t3;
end;
end;
end;
writeln('data setelah diurutkan dengan nilai ');
for i:=1 to n do
begin
writeln(i,data_mahasiswauty[i].nim:20,data_mahasiswauty[i].nama:30,
data_mahasiswauty[i].nilai:10);
end;
end.







0 komentar:
Posting Komentar