MODUL
XIII
TIPE
DATA (BAG. 3)
RECORD
A. TUJUAN
- Mengenal
bermacam-macam tipe data terstruktur dalam Pascal
- Mengenal dan
memahami tipe data terstruktur record
- Mampu
mengaplikasikan berbagai macam tipe data dalam Pascal
B. DASAR
TEORI
Record merupakan jenis data
terstruktur yang mengandung sejumlah elemen dengan setiap elemen mempunyai tipe
data yang berlainan atau sama. Masing-masing elemen dalam record dikenal dengan
sebutan field. Bentuk umum deklarasi
tipe data record adalah sebagai berikut :
TYPE
data_record =
RECORD
field1 :
tipe_data1;
field2 :
tipe_data2;
field3 :
tipe_data3;
...
...
fieldn :
tipe_datan;
END;
VAR
nama_var :
data_record;
Record terdiri dari beberapa field.
Untuk itu, perlu operator untuk memanggil field dalam suatu field. Ada dua cara
pemanggilan field, yaitu :
1.
Menggunakan
operator titik (.) yang bentuk umumnya adalah nama_var.fieldn.
2.
Menggunakan
statement berikut :
WITH nama_var DO
BEGIN
field1;
field2;
...
...
fieldn;
END;
C. LATIHAN
SOAL
- Nomor Program 1301
a.
Tulislah
program berikut dan amatilah outputnya!
PROGRAM myrecord;
USES CRT;
TYPE
pohon = RECORD
daun : integer;
batang : real;
akar :
string[20];
END;
VAR
mangga : pohon;
BEGIN
CLRSCR;
mangga.daun :=
500;
mangga.batang :=
60.3;
mangga.akar :=
‘tunggang’;
WRITELN(‘Ini
adalah data-data pohon mangga saya’);
WRITELN(‘Jumlah
daun ‘,mangga.daun:8);
WRITELN(‘Diameter
batan : ‘,mangga.batang:8:2);
WRITELN(‘Jenis
akar : ‘,mangga.akar);
READLN;
END.
b.
Pada program
di atas, buatlah sebuah variabel lagi dan beri nama padi, dengan tipe data yang sama dengan variabel mangga, yaitu pohon. Kemudian isilah nilai pada tiap field, yaitu
jumlah daun 20, diameter 2, dan jenis akar adalah serabut.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
- Nomor Program 1302
Perhatikan kartu mahasiswa anda. Buatlah deklarasi
tipe data record yang diberi nama ktm.
Tentukan field-field pada record tersebut dengan mengacu pada kartu mahasiswa
anda, misalnya nomor induk mahasiswa, nama, jurusan, dan sebagainya. Jangan
lupa untuk menentukan tipe data pada tiap-tiap field dengan benar.
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Nomor Program 1303
a.
Perhatikan
kembali modul mengenai larik. Apabila sebuah tipe data larik digunakan, kita
harus mendeklarasikan terlebih dahulu dalam deklarasi TYPE. Sebuah larik
memiliki data dengan tipe data tertentu, misalnya char, real, atau integer.
Selain itu, larik dapat memiliki data yang bertipe record. Contoh :
TYPE
mahasiswa =
record
nim :
string[7];
ipk : real;
END;
larik =
array[1..15] of mahasiswa;
VAR
praktikan :
larik;
Jadi, variabel praktikan adalah variabel yang
berisi maksimal 15 data yang berupa record mahasiswa. Tulislah program berikut
dan amati outputnya!
PROGRAM data_record;
USES CRT;
TYPE
mahasiswa =
RECORD
nama: string[30];
nim : string[7];
ipk : real;
END;
larik :
array[1..15] of mahasiswa;
VAR
mhs : larik; i,
jml_mhs : integer;
BEGIN
CLRSCR;
WRITELN(‘Program
Memasukkan Data Mahasiswa’);
WRITE(‘Berapa
data yang akan dimasukkan (1-15)? ‘);
READLN(jml_mhs);
FOR i := 1 TO
jml_mhs DO
BEGIN
WRITE(‘nama: ‘); READLN(mhs[i].nama);
WRITE(‘nim : ‘);
READLN(mhs[i].nim);
WRITE(‘ipk : ‘); READLN(mhs[i].ipk);
END;
WRITELN;
WRITE(‘Data ke
berapa yang ingin ditampilkan (1-15) ?);
READLN(i);
WRITELN(‘nama: ‘,mhs[i].nama);
WRITELN(‘nim : ‘,mhs[i].nim);
WRITELN(‘ipk : ‘,mhs[i].ipk);
READLN;
END.
b.
Program di
atas masih kurang sempurna, karena tidak bisa menghindari kesalahan, yaitu :
misalnya data yang dimasukkan ada 5, sedangkan user ingin melihat data ke-10,
maka seharusnya muncul pesan :
Data ke-10 tidak bisa ditampilkan, karena data yang
dimiliki hanya 5 buah.
Sekarang modifikasilah program di atas sehingga
memungkinkan untuk muncul pesan tersebut.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
- Nomor Program 1304
Buatlah program untuk memasukkan data-data
mahasiswa yang ingin menjadi asisten Praktikum Pemrograman 1. Gunakan record
seperti pada program 1303. Syarat untuk menjadi asisten adalah IPK minimal
2.75. Jika kurang dari itu, maka pendaftaran ditolak. Maka, buatlah fasilitas
untuk meminta data (input data) dari user berupa nomor induk mahasiswa beserta
IPK. Kemudian tampilkan pesan “Dilarang Mendaftar” apabila syarat tidak terpenuhi. Contoh :
Tulislah NIM anda : 3200916001
IPK :
2.60
Maaf, anda tidak diterima, tekan enter untuk melanjutkan.
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
- Nomor Program 1305
Buatlah program dengan mengacu pada program 1303
(Gunakan perintah SAVE AS). Dari data yang dimasukkan, tampilkan hal-hal
sebagai berikut
IPK tertinggi = ...
IPK terendah = ...
Nomor Induk Mahasiswa dengan IPK tertinggi = ...
Rata-rata IPK = ...
Jumlah mahasiswa dengan IPK < 2.50 = ...
Jumlah mahasiswa dengan IPK >= 2.50 = ...
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Tidak ada komentar:
Posting Komentar