Organisasi berkas yang memperbolehkan record diakses oleh lebih dari satu key
field disebut organisasi berkas dengan banyak key.
Ada banyak teknik yang dipakai untuk organisasi berkas dengan banyak key ini.
Hampir semua pendekatan bergantung pada pembentukan indeks yang dapat memberi
akses langsung dengan banyak nilai key.
Ada 2 teknik dasar untuk pemberian hubungan antara sebuah indeks dan data
record dari berkas, yaitu :
§ Inversion
§ Multi-list
CONTOH PROGRAM MULTI LIST
uses crt;
type
filebio = record
npm:string[8];
nirm:string[3];
nama:string[15];
alamat:string[10];
end;
filenirm = record
nirm2:string[3];
masuk:string[10];
akhir:string[10];
end;
var
biodata :array[1..10] of filebio;
tglnirm :array[1..10] of filenirm;
isi:text;
a,x,y:integer;
Procedure tbio;
begin
a:=5;
assign(isi,'biodata2.dat');
reset(isi);
writeln('Biodata');
writeln('************************************************************');
writeln('* Npm * Nirm * Nama * alamat *');
writeln('************************************************************');
for x:=1 to 10 do
begin
readln(isi,biodata[x].npm);
readln(isi,biodata[x].nirm);
readln(isi,biodata[x].nama);
readln(isi,biodata[x].alamat);
write('* ',biodata[x].npm,' * ',biodata[x].nirm,' * ',biodata[x].nama,' * ',biodata[x].alamat:5);
gotoxy(60,a);
writeln('*');
a:=a+1;
end;
close(isi);
writeln('************************************************************');
readln;
end;
procedure tnirm;
begin
assign(isi,'filenirm.dat');
reset(isi);
writeln('File Nirm');
writeln('*****************************************************');
writeln('* Nirm * Tanggal Masuk * Tanggal Akhir *');
writeln('*****************************************************');
for x := 1 to 10 do
begin
readln(isi,tglnirm[x].nirm2);
readln(isi,tglnirm[x].masuk);
readln(isi,tglnirm[x].akhir);
writeln('* ',tglnirm[x].nirm2,' * ',tglnirm[x].masuk,' * ',tglnirm[x].akhir,' *');
end;
writeln('*****************************************************');
close(isi);
readln;
end.
procedure daftarsiswa;
begin
a:=5;
gotoxy(1,30);writeln('Daftar Siswa');
writeln('***********************************************************************');
writeln('* No * Npm * Nirm * Nama * Tgl masuk * Tgl Akhir *');
writeln('***********************************************************************');
for x := 1 to 10 do
begin
write('* ',x,' * ',biodata[x].npm,' * ',biodata[x].nirm,' * ',biodata[x].nama,' *',' *',' *');
for y := 1 to 10 do
if biodata[x].nirm = tglnirm[y].nirm2 then
begin
gotoxy(46,a);
writeln(tglnirm[y].masuk);
gotoxy(60,a);
writeln(tglnirm[y].akhir);
a:=a+1;
end;
end;
writeln('***********************************************************************');
readln;
end;
begin
clrscr;tbio;
clrscr;tnirm;
clrscr;daftarsiswa;
end.
jika program diatas kita jalankan pada pascal,maka akan seperti pada tampilan dibawah ini ;
Setelah program tersebut selesai di ketik,maka tekan F10 untuk ke menu,kemudian pilih RUN,atau kita dapat langsung menekan tombol CTRL + F9. Maka akan tampil hasil sebagai berikut.
kemudian tekan ENTER,maka akan muncul hasil berikut....
kemudian tekan ENTER lagi,maka akan tampil hasil sebagai berikut;
selesai.
Tidak ada komentar:
Posting Komentar