Rabu, 30 September 2009

RECORD DALAM PASCAL

Record
Record adalah sebuah tipe data yang mengumpulkan beberapa item data di mana masing-masing tipe data dari item data ini berbeda-beda. Masing-masing item data ini bisa disebut dengan field.
Mendeklarasikan Record
Masih ingat kuliah mengenai tipe data? Dalam Pascal, semua variabel harus dideklarasikan sebelum bisa dipakai. Sebagai contoh, kitaingin memakai variabel dengan nama Nama untuk dimasukkan nilai nama-nama mahasiswa. Kita akan mendefinisikannya menjadi:var Nama: String[80];

Dari kode di atas kita memberitahukan ke Pascal bahwa kita akan memakai variabel Nama yang tipe datanya string dan kita alokasikan panjang stringnya 80 karakter.

Nah, dalam Pascal, kita dimungkinkan untuk memiliki judul tipe data yang kita definisikan sendiri. Misalkan kita ingin mengganti judul tipe data integer dengan bilanganBulat. Dalam Pascal, kita definisikan ini dengan:

type bilanganBulat = integer;

Perhatikan beda pendefinisian variabel dan pendefinisian type. Untuk pendefinisian variabel kita menggunakan titik dua (:), sedangkan pendefinisian type kita menggunakan sama dengan (=).

Oke, sekarang kalau memori Anda sudah segar kembali, kita kembali ke pembahasan record. Untuk mendeklarasikan record, kita memakai reserved word record, diikuti dengan daftar field dan diakhiri dengan end. Berikut adalah contoh dari deklarasi sebuah record.

type recMhs = record;
nama : string[80];
NPM : string[8];
nilai : integer;
end;

Untuk bisa memakai record ini, kita mendeklarasikan record ke dalam variabel seperti ini:

var recordMahasiswa: recMhs;
Menggunakan Record
Menggunakan/ mengakses nilai field dari record adalah menggunakan nama variabel yang sudah dideklarasikan, diikuti dengan tanda titik (.) dan nama field. Dari contoh di atas, apabila kita ingin mengakses nilai field nama dari record recordMahasiswa, kode dalam Pascal adalah sebagai berikut:recordMahasiswa.nama:=’Suliso Bams Duyodhono’;

Perhatikan contoh program berikut

type recMhs = record
nama : string[80];
NPM : string[8];
nilai : integer;
end;

var recordMahasiswa: recMhs;

begin
Write(’Masukkan nama mahasiswa ‘); ReadLn(recordMahasiswa.nama);
Write(’Masukkan NPM ‘); ReadLn(recordMahasiswa.NPM);
Write(’Nilainya berapa ‘); ReadLn(recordMahasiswa.nilai);
WriteLn(’Nama mahasiswa yang Anda masukkan adalah ‘,recordMahasiswa.nama);
WriteLn(’NPM mahasiswa ini adalah ‘,recordMahasiswa.NPM);
WriteLn(’Nilainya adalah ‘,recordMahasiswa.nilai);
end.

Program di atas akan memberikan output seperti berikut.

Masukkan nama mahasiswa Suliso Bams Duyodhono
Masukkan NPM 11207007
Nilainya berapa 45
Nama mahasiswa yang Anda masukkan adalah Suliso Bams Duyodhono
NPM mahasiswa ini adalah 11207007
Nilainya adalah 45

Mengetik nama variabel record berulang-ulang seperti tampak dalam contoh di atas mungkin bisa melelahkan untuk programmer. Oleh karena itu, dalam Pascal ada statement with yang bisa membantu memudahkan dan menyingkat penulisan kode program yang menggunakan record. Sehingga kode program di atas bisa disingkat menjadi berikut:

type recMhs = record
nama : string[80];
NPM : string[8];
nilai : integer;
end;

var recordMahasiswa: recMhs;

begin
with recordMahasiswa do begin
Write(’Masukkan nama mahasiswa ‘); ReadLn(nama);
Write(’Masukkan NPM ‘); ReadLn(NPM);
Write(’Nilainya berapa ‘); ReadLn(nilai);
WriteLn(’Nama mahasiswa yang Anda masukkan adalah ‘,nama);
WriteLn(’NPM mahasiswa ini adalah ‘,NPM);
WriteLn(’Nilainya adalah ‘,nilai);
end;
end.

Sudah jelas dengan record? Oke, sekarang kita lanjut ke pembahasan mengenai file. Setiap program pada umumnya menghasilkan data untuk disimpan ke dalam sebuah file. Pascal memungkinkan penyimpanan data ke dalam sebuah file. Dalam pembahasan kali ini, kita akan menyimpan data dalam bentuk file teks. Kemampuan Pascal untuk menyimpan data seperti ini bisa berguna untuk tugas-tugas Anda yang berhubungan dengan Pascal.
Yang perlu diketahui mengenai penanganan file dalam bahasa pemrograman apapun adalah: 1) bagaimana membuka filenya; 2) bagaimana mengakses isi file; dan 3) bagaimana menutup file.

Sebelum sebuah file bisa dibuka, Pascal memerlukan sebuah variabel untuk penanganan file.

Untuk mendeklarasikan sebuah file dalam Pascal digunakan sintaks

var
: file of

di sini adalah tipe yang sudah didefinisikan sebelumnya. Type yang paling umum digunakan adalah record.
Assign
Perintah ini akan mengasosiasikan nama variabel file dengan nama file. Perintah ini adalahassign(, );

Perintah ini akan menghasilkan sebuah variabel file yang mengarah pada sebuah file dalam hard disk Anda. Setelah perintah assign ini, barulah Anda bisa membuka file Anda. Ada 2 cara untuk membuka file.
Rewrite
Jika file yang dimaksud tidak ada, maka perintah Rewrite ini akan menghasilkan sebuah file kosong dengan nama yang dimaksud dalam .
Perintah rewrite dipakai dengan cara:rewrite();

Dengan mode ini, Anda tidak bisa melakukan pembacaan dari file.
Reset
Dengan mode ini, Anda bisa membaca sekaligus menulis ke file. Mode inilah yang seharusnya Anda pakai untuk program utama Anda. Trik untuk membuat sebuah file dan kemudian dibuka untuk dibaca dan ditulis adalah buat dengan menggunakan perintah rewrite dan gunakan reset. Perintah reset dipakai dengan cara:reset();
Close
Perintah close menutup sebuah file. Gunakan perintah ini untuk menyimpan perubahan-perubahan pada sebuah file yang dibuka. Untuk menutup file gunakan perintahclose();
Menulis record ke sebuah fileAnggaplah kita memiliki record seperti berikut

type recMhs = record
nama: String[80];
NPM: String[8];
nilai: integer;
end;

Untuk menyimpan record ini ke dalam file, cukup gunakan perintah

write(, recMhs);

Semudah itu.
Membaca record dari sebuah file
Untuk bisa membaca record dari sebuah file gunakan perintahread(, recMhs);

Perintah ini memasukkan data dari file ke dalam record recMhs. Perintah ini akan melanjutkan pointer pembacaan ke record selanjutnya secara otomatis.
Seek
Perintah seek menyuruh Pascal membaca sebuah record yang diminta dalam sebuah file. File dimulai dari 0, jadi untuk pergi ke record pertama gunakan perintahseek(, 0);

Untuk pergi ke record paling akhir, gunakan perintah

seek(, filesize());

Apabila kita ingin menyimpan data mahasiswa dalam Pascal ke sebuah file, berikut adalah contoh programnya.

program DataNilai;

type recMhs = record
nama: String[80];
NPM: String[8];
nilai: integer;
end;

var Mhs: recMhs;
var fileMhs: file of recMhs;

begin
assign(fileMhs, ‘mahasiswa.dat’);
rewrite(fileMhs);
reset(fileMhs);

//masukkan data 3 mahasiswa
for i:=1 to 3 do begin
with Mhs do begin
write(’Nama mahasiswa ke-’,i,’ adalah: ‘); readln(nama);
write(’NPMnya adalah ‘); readln(NPM);
write(’Nilainya adalah ‘); readln(nilai);
write(fileMhs, Mhs);
end;
end;

close(Mhs);
end.

Tidak ada komentar:

Posting Komentar