Kamis, 11 Juni 2015

Record

Teori

TEORI

Record merupakan suatu kumpulan data item yang masing-masing mempunyai jenis data berbeda. Data item yang merupakan elemen record biasanya disebut dengan FIELD.

CARA MENDEKLARASIKAN RECORD
Bentuk umum deklarasi suatu variabel berjenis record adalah sbb: 
TYPE identifier = RECORD 
Nama_field_1 : jenis;
Nama_field_2 : jenis; 
…………………….. 
…………………….. 
nama_field_n : jenis; 
END;

1.       Contoh 1:
VAR nilai : RECORD
Nilai_1 : integer; 
Nilai_2 : integer; 
END;

2.      Contoh 2:
TYPE date = RECORD 
Tanggal : 1..31;
Bulan : 1…12;
Tahun : 1900..2000;
END;
VAR event1,event2 : ARRAY [1..10] OF date;

3.       Contoh 3:
TYPE account = RECORD
cust_no : integer;
cust_type : char; 
cust_balance : real;
END; 
      VAR customer : account;

MEMPROSES VARIABEL BERJENIS RECORD
Perhatikan deklarasi variabel berikut:
TYPE nilai : RECORD
Nilai1 : real;
Nilai2 : real;
END;
VAR x,y : nilai;
Untuk memproses variabel x dan / atau y dilakukan dengan cara menyebutkan field designatornya, yang terdiri dari atas:
Nama_record.nama_field
Pada deklarasi diatas yang dimaksud dengan field designator-nya adalah :
x.nilai1
x.nilai2
y.nilai1
y.nilai2
Jadi jika ingin membaca variabel x atau y atau keduanya, maka bentuk statement-nya adalah:
READ (x.nilai1, x.nilai2, y.nilai1, y.nilai2);  

STATEMENT WITH
Selain cara yang telah disebutkan diatas, untuk memproses suatu record dapat digunakan statement WITH.  Dengan statement ini penulisannya akan lebih sederhana. Bentuk Umum penulisan statement WITH ini adalah:
WITH nama_record DO statement
Perhatikan deklarasi dibawah ini :
TYPE x = RECORD
No : integer;
Kode : char;
Juml : integer;
Harga : real;
END;
VAR p,q : x; 
Untuk membaca variabel p dan q di atas dengan memanfaatkan statement WITHbentuknya menjadi:
WITH p,q DO read (no, kode, juml, harga);
Bandingkan jika digunakan cara sebelumnya :
Read(p.no, p.kode, p.juml,p.harga,q.no,q.kode,q.juml,q.harga);

ARRAY BERTIPE RECORD
Tipe terstruktur (Array) dapat pula bertipe record. Perhatikan contoh berikut: 
type  barang=RECORD
namabrg:string[20];
jmlbrg:byte;
hargabrg:real; 
total:real; 
end;
var 
jual:array [1..10] of barang 
i,j:integer; 
tot1:real;

ARRAY DALAM RECORD
Elemen suatu array juga bisa berupa record. Sebagai contoh dapat dilihat di bawah ini:
Type barang= RECORD
nmbrg:string[20];
jmlbrg:array[1..3]of byte;
hrgbrg:real;
total:real;
end;
var
jual:barang;
barang, i:integer;  

RECORD DI DALAM RECORD
Didalam sebuah record  memungkinkan berisi record lain. Sebagai gambaran hal ini, perhatikan deklarasi berikut:
RecTanggal = Record
Tanggal,
Bulan,
Tahun :Integer;
End;
RecPegawai = Record
Nomor  : LongInt;
Nama  : String [35];
TglLahir  : RecTanggal;
Gaji  : LongInt
End;
Tampak bahwa tipe record bernama RecPegawai berisi record yang lain (RecTanggal). Hal yang menarik yang perlu diperhatikan adalah cara mengakses field seperti Tanggal, Bulan dan Tahun. Notasi yang diperlukan adalah sebagai berikut.
Nama_variabel.TglLahir.Tanggal
Nama_variabel.TglLahir.Bulan
Nama_variabel.TglLahir.Tahun

RECORD BERVARIASI
Record bervaiasi merupakan suatu record dengan field yang bisa berubah pada saat program berjalan. Hal yang perlu diperhatikan adalah bahwabeberapa field yang berada dalam record tidak pernah muncul dalam serempak, hanya akan ada satu field yang terpakai dalam satu saat.  Record varian akan memberikan fasilitas untuk menentukan field yang diperlukan pada saat program berjalan (RUN-TIME), berdasarkan keperluannya.
Bentuk umum Record Varian:
TYPE  namarecord = RECORD
Nama_field_1 : jenis; 
Nama_field_2 : jenis;
…………………….. 
nama_field_n : jenis;
Case Tagfield:jenis Of
nama_tagfield : (Nama_field:jenis); 
nama_tagfield :
(Nama_field_1,
Nama_field_2:jenis); 
…………………….. 
nama_tagfield : (Nama_field_n:jenis);
END;

Implementasi 
contoh program 1

output program :

contoh program ke 2 :

output program :



contoh program ke 3:


output program : 


contoh program ke 4;


output program


contoh program ke 5 :


output program :



Array

Teori

Array  adalah  tipe  data  terstruktur  yang  terdiri  dari  sejumlah  komponen-komponen  yang  mempunyai  tipe  sama.  Komponen-komponen  tersebut disebut sebagai komponen type,  larik  mempunyai jumlah komponen  yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu indeks, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai  indeksnya  atau  subskript.  Array  dapat  bertipe  data  sederhana  seperti byte,  word,  integer,  real,  bolean,  char,  string  dan  tipe  data  scalar  atau subrange.  Tipe  larik  mengartikan  isi  dari  larik  atau  komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Contoh: 


Var
Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.
Contoh Program ke1 :    



Output program:

\Contoh Program ke 2:

Output Program :



Contoh Program ke 3 :
Output Program

Contoh Program ke 4 :


Output Program:


Contoh Program ke 5:
Output Program: