27
RECORD Altien Jonathan Rindengan, S.Si., M.Kom.

record

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

Page 1: record

RECORD

Altien Jonathan Rindengan, S.Si., M.Kom.

Page 2: record

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

Page 3: record

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 ….

Page 4: record

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 ….

Page 5: record

Notasi :

Notasi

Type nama_record : record < nama_var_1 : tipe_var

nama_var_2 : tipe_var...

nama_var_n : tipe_var >

Page 6: record

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

Page 7: record

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 ….

Page 8: record

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 ….

Page 9: record

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

Page 10: record

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

Page 11: record

Contoh ….

Page 12: record

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 ….

Page 13: record

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 ….

Page 14: record

Contoh ….

Page 15: record

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

Page 16: record

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

Page 17: record

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;

Page 18: record

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.

Page 19: record

Record dalam Array ….

Page 20: record

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

Page 21: record

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

Page 22: record

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)

Page 23: record

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;

Page 24: record

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;

Page 25: record

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.

Page 26: record

Record dalam Array ….

Page 27: record