MeizanoArdhi Muhammad, S.T.
 Perintah with digunakan untuk mempercepat akses terhadap
setiap elemen dalam suatu record tanpa menggunakan
notasi titik.
 program
tanggal_dan_waktu_with;
 {$APPTYPECONSOLE}
 uses
 SysUtils;
 Type
 tgl = record
 Tanggal, bulan, tahun: integer;
 End;
 Var waktu_sekarang: tgl;
 begin
 with waktu_sekarang do
 begin
 tanggal:=17;
 bulan:=4;
 tahun:=2008;
 write('Tanggal : ');
 writeln(tanggal,'-',bulan,'-
',tahun);
 end;
 readln;
 end.
 Contoh penerapan dari record ini adalah
program untuk mencatat nilai mata kuliah
mahasiswa.
 Karena mahasiswa memiliki atribut yang
sama, yaitu nim, nama dan mata kuliah,
dapat diasumsikan bahwa ini akan
membentuk suatu record.
 Sedang setiap mahasiswa bisa menempuh
mata kuliah yang berbeda-beda.
 Atribut masing-masing mata kuliah adalah
sama yaitu memiliki nama mata kuliah, sks,
nilai untuk masing-masing mahasiswa.
 Sehingga mata kuliah bisa dibuat sebagai
record dalam bentuk array.
 Type
 Mata_kul = record
▪ Nama_mk : string[25];
▪ Sks: integer;
▪ Nilai_huruf:char;
▪ Nilai_angka: real;
 End;
 Data_mhs=record
▪ Nim:string[10];
▪ Nama:string[25];
▪ Jumlah_mtkul:integer;
▪ Mtkul:array[1..20] of mata_kul;
 End;
 Var
 Mhs: array[1..100] of Data_mhs;
 Kita deklarasikan sebuah record mata_kul yang
terdiri dari elemen nama_mk, sks,
nilai_huruf,nilai_angka.
 Record kedua adalah record data_mhs yag emiliki
elemen nim,nama,jumlah_mtkul, dan record mtkul
yang berupa array.
 Berarti record data_mhs mengandung record
mata_kul sebanyak nilai maksimal array yang
dideklarasikan.
 DiVariabel kita deklarasikan Mhs sebagai array
yang dapat menampung 100 data mahasiswa.
 program record_mhs;
 {$APPTYPECONSOLE}
 uses
 SysUtils;
 Type
 mata_kul=record
 nama_mk:string[25];
 sks:integer;
 nilai_huruf:char;
 nilai_angka:real;
 end;
 data_mhs=record
 nim:string[10];
 nama:string[25];
 jumlah_mtkul:integer;
 mtkul:array[1..20] of mata_kul;
 end;
 var
 mhs: array[1..100] of data_mhs;
 jml_mhs:integer;
 i:integer;
 j:integer;
 begin
 {menginputkan data}
 writeln('Program Input Data Nilai Mahasiswa');
 writeln('==================================');
 write('Jumlah Mahasiswa : ');
 readln(jml_mhs);
 for i:=1 to jml_mhs do
 begin
 writeln('---------------------------');
 writeln('Input Data Mahasiswa ke-',i);
 writeln('---------------------------');
 write('Nim : '); readln(mhs[i].nim);
 write('Nama : '); readln(mhs[i].nama);
 write('Jumlah Mata Kuliah : '); readln(mhs[i].jumlah_mtkul);
 for j:=1 to mhs[i].jumlah_mtkul do
 begin
 writeln('---------------');
 writeln('Mata Kuliah ', j);
 writeln('---------------');
 write('Nama Mata Kuliah: '); readln(mhs[i].mtkul[j].nama_mk);
 write('Sks : ');
 readln(mhs[i].mtkul[j].sks);
 write('Nilai Huruf : ');
 readln(mhs[i].mtkul[j].nilai_huruf);
 write('NilaiAngka : ');

 readln(mhs[i].mtkul[j].nilai_angka);
 writeln;
 end;
 writeln;
 end;
 {menampilkan data yang diinputkan}
 writeln('Data Mahasiswa yang diinputkan : ');
 writeln('================================');
 for i:=1 to jml_mhs do
 begin
 writeln('Nim : ', mhs[i].nim);
 writeln('Nama : ', mhs[i].nama);
 writeln('=====================================================');
 writeln('No. | Matakuliah |sks | NH | NA |');
writeln('=====================================================');
 for j:=1 to mhs[i].jumlah_mtkul do
 begin
 writeln(j:4,mhs[i].mtkul[j].nama_mk:25,mhs[i].mtkul[j].sks:8,
 mhs[i].mtkul[j].nilai_huruf:8,mhs[i].mtkul[j].nilai_angka:8:2);
 end;
 writeln;
 end;
 readln;
 end.
MeizanoArdhi Muhammad, S.T.

Struktur data chapter_07

  • 1.
  • 3.
     Perintah withdigunakan untuk mempercepat akses terhadap setiap elemen dalam suatu record tanpa menggunakan notasi titik.
  • 4.
     program tanggal_dan_waktu_with;  {$APPTYPECONSOLE} uses  SysUtils;  Type  tgl = record  Tanggal, bulan, tahun: integer;  End;  Var waktu_sekarang: tgl;  begin  with waktu_sekarang do  begin  tanggal:=17;  bulan:=4;  tahun:=2008;  write('Tanggal : ');  writeln(tanggal,'-',bulan,'- ',tahun);  end;  readln;  end.
  • 6.
     Contoh penerapandari record ini adalah program untuk mencatat nilai mata kuliah mahasiswa.  Karena mahasiswa memiliki atribut yang sama, yaitu nim, nama dan mata kuliah, dapat diasumsikan bahwa ini akan membentuk suatu record.  Sedang setiap mahasiswa bisa menempuh mata kuliah yang berbeda-beda.
  • 7.
     Atribut masing-masingmata kuliah adalah sama yaitu memiliki nama mata kuliah, sks, nilai untuk masing-masing mahasiswa.  Sehingga mata kuliah bisa dibuat sebagai record dalam bentuk array.
  • 8.
     Type  Mata_kul= record ▪ Nama_mk : string[25]; ▪ Sks: integer; ▪ Nilai_huruf:char; ▪ Nilai_angka: real;  End;  Data_mhs=record ▪ Nim:string[10]; ▪ Nama:string[25]; ▪ Jumlah_mtkul:integer; ▪ Mtkul:array[1..20] of mata_kul;  End;  Var  Mhs: array[1..100] of Data_mhs;
  • 9.
     Kita deklarasikansebuah record mata_kul yang terdiri dari elemen nama_mk, sks, nilai_huruf,nilai_angka.  Record kedua adalah record data_mhs yag emiliki elemen nim,nama,jumlah_mtkul, dan record mtkul yang berupa array.  Berarti record data_mhs mengandung record mata_kul sebanyak nilai maksimal array yang dideklarasikan.  DiVariabel kita deklarasikan Mhs sebagai array yang dapat menampung 100 data mahasiswa.
  • 10.
     program record_mhs; {$APPTYPECONSOLE}  uses  SysUtils;  Type  mata_kul=record  nama_mk:string[25];  sks:integer;  nilai_huruf:char;  nilai_angka:real;  end;
  • 11.
     data_mhs=record  nim:string[10]; nama:string[25];  jumlah_mtkul:integer;  mtkul:array[1..20] of mata_kul;  end;  var  mhs: array[1..100] of data_mhs;  jml_mhs:integer;  i:integer;  j:integer;
  • 12.
     begin  {menginputkandata}  writeln('Program Input Data Nilai Mahasiswa');  writeln('==================================');  write('Jumlah Mahasiswa : ');  readln(jml_mhs);  for i:=1 to jml_mhs do  begin  writeln('---------------------------');  writeln('Input Data Mahasiswa ke-',i);  writeln('---------------------------');  write('Nim : '); readln(mhs[i].nim);
  • 13.
     write('Nama :'); readln(mhs[i].nama);  write('Jumlah Mata Kuliah : '); readln(mhs[i].jumlah_mtkul);  for j:=1 to mhs[i].jumlah_mtkul do  begin  writeln('---------------');  writeln('Mata Kuliah ', j);  writeln('---------------');  write('Nama Mata Kuliah: '); readln(mhs[i].mtkul[j].nama_mk);  write('Sks : ');  readln(mhs[i].mtkul[j].sks);  write('Nilai Huruf : ');  readln(mhs[i].mtkul[j].nilai_huruf);  write('NilaiAngka : '); 
  • 14.
     readln(mhs[i].mtkul[j].nilai_angka);  writeln; end;  writeln;  end;  {menampilkan data yang diinputkan}  writeln('Data Mahasiswa yang diinputkan : ');  writeln('================================');  for i:=1 to jml_mhs do  begin  writeln('Nim : ', mhs[i].nim);  writeln('Nama : ', mhs[i].nama);
  • 15.
     writeln('=====================================================');  writeln('No.| Matakuliah |sks | NH | NA |'); writeln('=====================================================');  for j:=1 to mhs[i].jumlah_mtkul do  begin  writeln(j:4,mhs[i].mtkul[j].nama_mk:25,mhs[i].mtkul[j].sks:8,  mhs[i].mtkul[j].nilai_huruf:8,mhs[i].mtkul[j].nilai_angka:8:2);  end;  writeln;  end;  readln;  end.
  • 16.