-->
Penggunaan field di dalam record
seperti contoh sebelumnya dapat menyebabkan statemen menjadi panjang
Lingkaran.keliling
:=2*PI*lingkaran.jari-jari;
Akan lebih mudah dan akan lebih
pendek bila pengenal record tidak selalu harus ditulis
Keliling :=2*PI*jari-jari;
Hal ini dapat dilakukan dengan
menggunakan statemen with yang menyebutkan pengenal recordnya, sehingga
penggunaan field-field selanjutnya sudah tidak perlu disebutkan pengenalnya
recordnya kembali
-->
Contoh
pengurutan data metode bubble sort dengan datanya berupa record
type
dataMhs =record
Npm:integer;
nama:string[20];
ip:real;
end;
var
jumlahMhs,
I,J:byte;
mahasiswa:array[1..50] of dataMhs;
dummy :DataMhs;
begin
(*masukkan data Mahasiswa*)
write('jumlah
mahasiswa?');Readln(jumlahmhs);
for I:= 1 to jumlahMhs Do
begin
writeln;
with Mahasiswa[I] Do
begin
writeln;
write('Npm mahasiswa ke
',I:2,'?');readln(Npm);
write('nama mahasiswa ke
',I:2,'?');readln(nama);
write('IP mahasiswa ke ',I:2,'?');readln(IP);
end;
end;
(*mengurutkan data berdasarkan Npm
mahasiswa metode bubble sort*)
for I:=1 to jumlahMhs-1 Do
for J:=1 to jumlahMhs-I Do
If
mahasiswa[J].Npm>mahasiswa[J+1].Npm then
begin
dummy :=Mahasiswa[J];
Mahasiswa[J] :=mahasiswa[J+1];
mahasiswa[j+1] :=Dummy;
end;
(*menampilkan hasil*)
writeln;
writeln('.............................');
writeln('Npm indeks');
writeln('mhs nama mahasiswa
prestasi');
writeln('.............................');
for I:=1 to jumlahMhs Do
begin
with mahasiswa[I] Do
writeln(Npm:5,nama:20,IP:11:2);
end;
writeln('.............................');
end.
-->
Jumlah mahasiswa ? 4
Npm mahasiswa ke 1 ? 1127
Nama mahasiswa ke 1 ? kirul
Ip mahasiswa ke 1 ? 3.0
Npm mahasiswa ke 2 ? 1121
Nama mahasiswa ke 2 ? nero
Ip mahasiswa ke 2 ? 2.6
Npm mahasiswa ke 3 ? 1129
Nama mahasiswa ke 3 ? adul
Ip mahasiswa ke 3 ? 3.4
Npm mahasiswa ke 4 ? 1125
Nama mahasiswa ke 4 ? ridho
Ip mahasiswa ke 4 ? 2.9
jika kita memaukan data iput seperti di atas berikut hasil prinshotnya
-->
begin
dummy :=Mahasiswa[J];
Mahasiswa[J] :=mahasiswa[J+1];
mahasiswa[j+1] :=Dummy;
end;
Comments : Ada 0 komentar untuk statemen with pada record
Posting Komentar