Minggu, 27 Mei 2012

Pernyataan WITH (Pascal)

Bentuk pernyataan with adalah sebagai berikut:
with nama_record do
     pernyataan
Pada bentuk ini, field-field yang terletak pada bagian pernyataan dapat disebutkan tanpa perlu menyertakan lagi nama record dan tanda titik. Untuk lebih jelasnya, perhatikan program dibawah ini:
uses wincrt;
type
    rec_tgl = record
                 hari: 1..31;
                 bulan: 1..12;
                 tahun: word;
              end;
    rec_alamat = record
                    jalan: string;
                    kota: string;
                 end;
    rec_pegawai = record
                     nama: string[30];
                     tgl_masuk: rec_tgl;
                     alamat: rec_alamat;
                  end;
var pegawai: rec_pegawai;
procedure input;
begin
     with pegawai do
     begin
          write ('nama pegawai : ');
          readln (nama);
          with tgl_masuk do
          begin
               writeln ('tanggal masuk : ');
               write ('tanggal : ');
               readln (tgl_masuk.hari);
               write ('bulan   : ');
               readln (tgl_masuk.bulan);
               write ('tahun   : ');
               readln (tgl_masuk.tahun);
          end;
          with alamat do
          begin
               writeln ('alamat  :');
               write ('jalan   : ');
               readln (jalan);
               write ('kota    : ');
               readln (kota);
          end;
     end;
end;
procedure cetak;
begin
     with pegawai do
     begin
          writeln ('Nama          : ',nama);
          writeln ('Tanggal Masuk : ',tgl_masuk.hari,'/',tgl_masuk.bulan,'/',tgl_masuk.tahun);
          writeln ('Alamat        : ',alamat.jalan,', ',alamat.kota);
     end;
end;
begin
     input;
     writeln;
     cetak;
end.
Sekian.

Record di dalam Record (Pascal)

Sebuah record bisa saja berisi record. Sebagai gambaran, perhatikan deklarasi berikut ini.
type
    RecTanggal = record
                              tanggal,
                              bulan,
                              tahun    : integer;
                          end;
    RecPegawai = record
                              nomor    : longint;
                              nama     : string[35];
                              tgllahir : RecTanggal;
                              gaji     : longint;
                           end;
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
Contoh program seperti diatas:
uses wincrt;
type
    RecTanggal = record
                    tanggal,
                    bulan,
                    tahun    : integer;
                 end;
    RecPegawai = record
                    nomor    : longint;
                    nama     : string[35];
                    tgllahir : RecTanggal;
                    gaji     : longint;
                 end;
var datapeg: RecPegawai;
begin
     datapeg.nomor  := 12345;
     datapeg.nama   := 'Aeolin Prigen Sayekti';
     datapeg.tgllahir.tanggal := 23;
     datapeg.tgllahir.bulan   := 07;
     datapeg.tgllahir.tahun   := 1993;
     datapeg.gaji   := 900000;
     writeln('Nama Pegawai   : ',datapeg.nama);
     writeln('Tanggal Lahir  : ',datapeg.tgllahir.tanggal,'/',datapeg.tgllahir.bulan,'/',datapeg.tgllahir.tahun);
     readln;
end.
Sekian.

Tipe Record (Pascal)

Record adalah jenis tipe data terstruktur yang berisi beberapa data, yang masing-masing dapat berlainan tipe.

Mendeklarasikan Record
Suatu tipe record dideklarasikan dengan bentuk sebagai berikut:
record
     daftar_field_1: tipe_1;
     daftar_field_2: tipe_2;
             ...
     daftar_field_n: tipe_n;
end;
Masing-masing daftar_field dapat berupa satu atau beberapa nama pengenal dan masing-masing dinamakan field. Bila daftar_field berisi lebih dari satu field, antarfield perlu dipisahkan dengan koma. Masing-masing tipe dapat berupa tipe apa saja (termasuk array).

Contoh pendeklarasian record
type
     RecBarang = record
                               Nama: string;
                               Kualitas: char;
                               Harga: longint;
                          end;
var
     barang: RecBarang;

Cara Mengakses Field
Field suatu record diakses dengan bentuk:
variabel.field
Sebagai contoh:
     barang.Nama
berarti "field Nama dari variabel record bernama barang".
Contoh penugasan nilai ke field tersebut:
barang.Nama:='Laptop DELL';
Isi dari suatu field ditampilkan dengan menggunakan write atau writeln. Contoh:
writeln (barang.Nama);
Contoh program yang memberikan gambaran pendeklarasian record, pengisian field-field serta penampilan isi masing-masing field dapat dilihat dibawah ini.
uses wincrt;
type
    RecBarang = record
                              Nama     : string[25];
                              Kualitas : char;
                              Harga    : longint;
                         end;
var barang: RecBarang;
begin
     barang.nama:='Laptop DELL';
     barang.kualitas:='A';
     barang.harga:=50000;
     writeln('Nama Barang : ',barang.nama);
     writeln('Kualitas    : ',barang.kualitas);
     writeln('Harga       : ',barang.harga);
end.
Sekian.
 

permen sunduk's blog Copyright © 2009 Cookiez is Designed by Ipietoon for Free Blogger Template