Pengertian Record dan contoh Program Record pada Pascal

RECORD

Apa itu Records? Apa yang anda ketahui tentang record? Oke, langsung saja kita bahas apa itu record, dari pada mutar-mutar engga jelas hehe.
Record merupakan tipe data khusus dari struktur data dan sudah pasti berbeda dari pada array, mengumpulkan berbagai jenis data dimana yang mendefinisikan struktur tertentu baik itu seperti buku, produk, orang dan banyak juga seperti yang lainnya.
Mari kita ambil contoh kasus dalam mendefinisikan sebuah buku dengan menggunakan struktur data record di bawah ini yang tentunya jga berbeda dengan contoh atau kasus array. Entitas utama buku yang judulnya, penulis, nomor ISBN unik dan harga.
Ini adalah bagaimana cara mendefinisikan dalam sebuah Pemrograman Pascal dan dapat juga dalam kebanyakan bahasa pemrograman lainnya:


Type
    Str25    = String[25];
    TBukuRec = Record
                Judul, Penulis,
                ISBN  : Str25;
                Harga : Real;
               End;
Var
    BukuRec : TBukuRec;


Itu dia contoh awalannya! Perhatikan bahwa dapat menggunakan struktur ini sebagai variabel dengan menyatakan di bawah Var. Ketika jenis terdefinisi, Anda dapat mendeklarasikan sebagai banyak buku variabel yang Anda inginkan. The entitas dari catatan (judul, penulis ...) yang disebut bidang dan ini akan diakses melalui contoh variabel BukuRec. Seperti Anda mungkin telah memperhatikan, deklarasi struktur data record khas dimulai dengan kata kunci Record dan selalu berakhir dengan akhir kata kunci.
(Baca juga : Konsep Seaching pada struktur data)

Baiklah, sekarang, Anda akan melihat bagaimana kita mengakses bidang recors dengan menugaskan nilai-nilai dan mengambil  kembali nanti dalam sebuah program kecil berikut. 


Type
    Str25    = String[25];
    TBukuRec = Record
                Judul, Penulis,
                ISBN  : Str25;
                Harga : Real;
               End;
Var
    BukuRec : TBukuRec;

Begin
 BukuRec.Judul  := 'Some Book';
 BukuRec.Penulis := 'Victor John Saliba';
 BukuRec.ISBN   := '0-12-345678-9';
 BukuRec.Harga  := 100.000;

 Writeln('Berikut di bawah ini adalah rincian buku:');
 Writeln;
 Writeln('Judul:  ', BukuRec.Judul);
 Writeln('Penulis: ', BukukRec.Penulis);
 Writeln('ISBN:   ', BukuRec.ISBN);
 Writeln('Harga:  ', BukuRec.Harga);
 Readln;
End.

Dengan Kata Kunci

Kemudian dengan kata kunci adalah cara cepat dan tepat dalam mengatasi bidang recors. Walaupun membantu dengan evaluasi yang cepat, namun jarang sekali digunakan karena memiliki kekurangan pembacaan dan juga meningkat ambiguitas ketika datang dalam membedakan antara variabel dimana yang memiliki nama yang sama dengan salah satu nama bidang rekor dalam dengan pernyataan. Dengan mengambil potongan dari contoh sebelumnya, berikut di bawa ini adalah bagaimana kode di atas mengubah ketika digabungkan dengan kata kunci.
(Baca juga: Contoh program Queue)


With BukuRec do
 Begin
  Judul  := 'Some Book';
  Penulis := 'Victor John Saliba';
  ISBN   := '0-12-345678-9';
  Harga  := 100.000;
 End;

Melewati sebuah Records sebagai Argumen

Hal ini mungkin menjadi sangat berguna ketika catatan ini harus melewati argumen. Saya akan menggunakan struktur data yang sama.

Type
    Str25    = String[25];
    TBukuRec = Record
                Judul, Penulis,
                ISBN  : Str25;
                Harga : Real;
               End;

Procedure MemasukkanBukuBaru (var Bukubaru : TBukuRec);
Begin
 Writeln('Silahkan Masukkan Rincian Buku: ');
 Write('Nama Buku: ');
 Readln(Bukubaru.Judul);
 Write('Penulis: ');
 Readln(Bukubaru.Penulis);
 Write('ISBN: ');
 Readln(Bukubaru.ISBN);
 Write('Harga: ');
 Readln(Bukubaru.Harga);
End;

Procedure TampilanBuku(BukuRec : TBukuRec);
Begin
 Writeln('Dibawah ini adalah rincian buku:');
 Writeln;
 Writeln('Judul:  ', BukuRec.Judul);
 Writeln('Penulis: ', BukuRec.Penulis);
 Writeln('ISBN:   ', BukuRec.ISBN);
 Writeln('Harga:  ', BukuRec.Harga);
End;

Var
    BukuRec : TBukuRec;

Begin
 MasukkanBukuBaru(bukuRec);
 Writeln('Terimakasih telah memasukkan rincian buku');
 TampilanBuku(bukuRec);
 Readln;
End.

Array di dalam Records

Array dalam record berarti dapat disimpan dalam array dan ini juga akan menjadi sangat berguna dan tidak terlalu sulit dalam mengelola nya. Baiklah saya akan menggunakan sebuah array untuk menyimpan sejumlah buku yang berbeda dan dengan menggunakan contoh ini.

Dalam contoh berikut ini saya akan menggunakan prosedur di atas dimana menyimpan 10 buku yang berbeda dari input dan kemudian output hanya satu yang dipilih dalam menampilkan kembali ke layar untuk menunjukkan cara dalam mengakses dari sebuah array
 

Type
    Str25    = String[25];
    TBukuRec = Record
                Judul, Penulis,
                ISBN  : Str25;
                Harga : Real;
               End;

Procedure MasukkanBukuBaru(var Bukubaru : TBukuRec);
Begin
 Writeln('Silahkan Masukkan rincia buku: ');
 Write('Nama Buku: ');
 Readln(Bukubaru.Judul);
 Write('Penulis: ');
 Readln(Bukubaru.Penulis);
 Write('ISBN: ');
 Readln(Bukubaru.ISBN);
 Write('Harga: ');
 Readln(Bukubaru.Harga);
End;

Var
    bukuRecArray : Array[1..10] of TBukuRec;
    i            : 1..10;

Begin
 For i := 1 to 10 do
  MasukkanBukuBaru(bukuRecArray[i]);
 Writeln('Terima kasi telah memasukkan rincian buku: ');
 Write('Sekarang pilih record dalam menampilkan 1 to 10: ');
 Readln(i);
 Writeln('Berikut adalah rincian buku #',i,':');
 Writeln;
 Writeln('Judul:  ', bukuRecArray[i].Judul);
 Writeln('Penulis: ', bukuRecArray[i].Penulis);
 Writeln('ISBN:   ', bukuRecArray[i].ISBN);
 Writeln('Harga:  ', bukuRecArray[i].Harga);
 Readln;
End.

Berikut ini Output nya :

Pengertian Record dan contoh Program Record pada Pascal
Output/keluaran

NOTE:

Dalam membuat program di os windows jangan lupa untuk mencantumkan uses wincrt;
Baiklah, sekian artikel kali ini yang berjudul Pengertian Record dan contoh Program Record pada Pascal. Semoga bermanfaat!

Subscribe to receive free email updates: