Upload
heather-mendoza
View
43
Download
0
Embed Size (px)
DESCRIPTION
record. Altien Jonathan Rindengan, S.Si., M.Kom. Pendahuluan. Tipe data bentukan atau tipe yang didefinisikan sendiri oleh pemrogram (user-defined type data) Tipe bentukan : Tipe dasar yang diberi nama dengan nama tipe baru Tipe terstruktur. Pendahuluan …. - PowerPoint PPT Presentation
Citation preview
RECORD
Altien Jonathan Rindengan, S.Si., M.Kom.
Pendahuluan
Tipe data bentukan atau tipe yang didefinisikan sendiri oleh pemrogram (user-defined type data)
Tipe bentukan : Tipe dasar yang diberi nama dengan nama
tipe baru Tipe terstruktur
Tipe dasar yang diberi nama dengan nama tipe baru : Dimaksudkan agar lebih mudah
diinterpretasikan/ dipahami oleh pembaca teks program
Contoh :A : integer;menjadi
Type bilangan_bulat : integer;
A : bilangan buat;
Pendahuluan ….
Record : Tipe data majemuk (biasanya terdiri dari
beberapa tipe dasar data) Tipe data terstruktur
Record disusun oleh lebih dari satu field, dimana tiap field menyimpan data dari tipe dasar tertentu atau tipe bentukan lain yang telah didefinisikan sebelumnya.
Nama record dintentukan sendiri oleh pemrogram
Pendahuluan ….
Notasi :
Notasi
Type nama_record : record < nama_var_1 : tipe_var
nama_var_2 : tipe_var...
nama_var_n : tipe_var >
Contoh 1 Titik dalam koordinat kartesius dinyatakan
dalam (x,y) dengan x adalah nilai absis (sumbu-x) dan y adalah nilai ordinat (sumbu-y).
type titik = record< x,y : real >
Jika dideklarasikan p adalah variabel bertipe titik, maka cara mengacu tiap field pada p adalah :
p.xp.y
Contoh
Contoh 2 Tanggal dalam kalender, dinyatakan dalam
bentuk tanggal (dd), bulan (mm), tahun (yy).
type tanggal = record< dd: integer, {1..31}
mm: integer, {1..12} yy: integer {>0} >
Contoh ….
Contoh 3 Struktur tipe data bentukan yang lebih kompleks Misalkan akan menyimpan data nilai-nilai mata
kuliah mahasiswa Akan dibuat record mata kuliah dan nilai mahasiswa Record nilai mahasiswa juga mengacu ke record
matakuliah Struktur record :
NIM Nama Mahasiswa Mata kuliah :
Kode Mata kuliah Nama Mata kuliah Nilai Mata kuliah
Contoh ….
Contoh ….
type : mata_kuliah = record
< kode_mk : string,
nama_mk : string,
nilai : char {A/B/C/D/E}
>
type : nil_mhs = record
< NIM : string,
nama_mhs : string,
mk : mata_kuliah
>
Jika variabel p bertipe nil_mhs, maka cara mengacu fieldnya :
p.NIMp.mk.nama_mk
Contoh ….program record_01;
uses crt;
type tanggal = record
dd : integer;
mm : integer;
yy : integer;
end;
var p : tanggal;
begin
clrscr;
write('Masukkan tanggal: ');readln(p.dd);
write('Masukkan bulan : ');readln(p.mm);
write('Masukkan tahun : ');readln(p.yy);
writeln;
writeln('Tanggal yang di-input : ');
writeln(p.dd,' - ',p.mm,' - ',p.yy);
readln;
end.
Akhiri dengan end pada record
Contoh ….
program record_02;
uses crt;
type mata_kuliah = record
kode_mk : string[6];
nama_mk : string;
nilai : char;
end;
type nilai_mhs = record
NIM : string[9];
nama_mhs : string;
mk : mata_kuliah;
end;
var nilmhs : nilai_mhs;
Contoh ….
begin
clrscr;
write('Nomor induk mahasiswa : ');readln(nilmhs.NIM);
write('Nama mahasiswa : ');readln(nilmhs.nama_mhs);
write('Kode mata kuliah : ');readln(nilmhs.mk.kode_mk);
write('Nama mata kuliah : ');readln(nilmhs.mk.nama_mk);
write('Nilai : ');readln(nilmhs.mk.nilai);
writeln;
writeln('Data mahasiswa yang di-input : ');
writeln;
write(nilmhs.NIM,' ',nilmhs.nama_mhs,' ',nilmhs.mk.kode_mk,
' ', nilmhs.mk.nama_mk,' ',nilmhs.mk.nilai);
readln;
end.
Contoh ….
Contoh ….
Record dalam Array
Misalnya akan mengelola data sekumpulan mahasiswa
Data mahasiswa : NIM (nomor induk mahasiswa) Nama mahasiswa IPK (indeks prestasi komulatif)
Array mahasiswa dengan setiap elemen bertipe record
Tiap record terdiri atas field NIM, nama_mhs, dan IPK
Record dalam Array ….
n adalah jumlah mahasiswa Cara mengacu elemen mhs adalah :
mhs[i] (elemen ke-i dari array mhs) mhs[i].NIM (mengacu field NIM dari elemen ke-i dari
array) mhs[i].IPK (mengacu field IPK dari elemen ke-i dari
array)
type mahasiswa : record< NIM : integer, nama_mhs : string, IPK : real>
type datmhs : array[1..n]of mahasiswavar mhs: datmhs
Record dalam Array ….
program record_03;uses crt;type mahasiswa = record NIM : string[9];
nama_mhs : string; IPK : real;
end;
type datmhs = array [1..100] of mahasiswa;var mhs : datmhs; i,n : integer;
Record dalam Array ….
begin clrscr; write('Jumlah mahasiswa : ');readln(n); writeln; for i:=1 to n do begin write(i); write(' NIM : ');readln(mhs[i].NIM); write(' Nama mahasiswa : ');readln(mhs[i].nama_mhs); write(' IPK : ');readln(mhs[i].IPK); end; writeln; writeln('No. NIM Nama IPK '); for i:= 1 to n do writeln (i,' ',mhs[i].NIM,' ',mhs[i].nama_mhs,' ', mhs[i].IPK:0:2); readln;end.
Record dalam Array ….
Record dalam Array ….
Struktur tipe data yang lebih kompleks record array dalam record array yang lain
Misalkan data n mahasiswa yang masing-masing mengontrak 3 matakuliah.
Struktur datanya : NIM nama_mhs mata_kuliah :
kode_mk nama_mk nilai_mk
Record dalam Array ….
type mata_kuliah : record < kode_mk : string[6], nama_mk : string, nilai : char >
type mahasiswa : record < NIM : string[9], nama_mhs : string, mk : array[1..3]of
mata_kuliah >
type datmhs : array[1..100]of mahasiswavar mhs: datmhs
Record dalam Array ….
n adalah jumlah mahasiswa Cara mengacu elemen mhs adalah :
mhs[i] (elemen ke-i dari array mhs)
mhs[i].NIM
(mengacu field NIM dari elemen ke-i dari array mhs)
mhs[i].mk[j].nilai
(mengacu field nilai ke-j dari elemen ke-i array mhs)
Record dalam Array ….
program record_04;uses crt;type mata_kuliah = record
kode_mk : string[6]; nama_mk : string; nilai : char;
end;type mahasiswa = record NIM : string[9];
nama_mhs : string; mk : array[1..3] of mata_kuliah;
end;type datmhs = array[1..100] of mahasiswa;var mhs : datmhs; i,j,a,n : integer;
Record dalam Array ….
begin clrscr; write('Jumlah mahasiswa : ');readln(n); writeln; for i:=1 to n do begin write(i); write(' NIM : ');readln(mhs[i].NIM); write(' Nama mahasiswa : ');readln(mhs[i].nama_mhs); for j:=1 to 3 do begin write(' ',j); write(' Kode_mk : ');readln(mhs[i].mk[j].kode_mk); write(' Nama_mk : ');readln(mhs[i].mk[j].nama_mk); write(' Nilai : ');readln(mhs[i].mk[j].nilai); end; end;
Record dalam Array ….
writeln; write('Data mahasiswa ke - ');readln(a); writeln('Nama : ',mhs[a].NIM); writeln('NIM : ',mhs[a].nama_mhs); writeln; for j:=1 to 3 do writeln(mhs[a].mk[j].kode_mk,' ', mhs[a].mk[j].nama_mk,' ',mhs[a].mk[j].nilai); readln;end.
Record dalam Array ….