File Handling Pascal

File Handling Pascal

47

Ternyata eh ternyata... suatu program komputer itu tidak kelihatan nyata bila tidak ditambahkan dengan istilah file handling. Meskipun begitu bagi anda yang suka membuat program kecil-kecilan mungkin tidak terlalu mengagumi materi ini. Tapi, bagi anda yang ingin mengembangkan aplikasi yang kompleks, mungkin akan berfikir bagaimana caranya agar program aplikasi yang kita buat tersedia prosedur-prosedur yang mengandalkan file. Baik itu sebagai media pengaturan maupun penyimpanan data.

Selama ini program yang kita buat dengan pascal, rata-rata kita tidak menyimpannya dalam bentuk file (mungkin). Kita biasa menyimpan data-data itu di memory sementara yakni RAM. Di RAM, data-data yang kita ciptakan (dalam kata lain variabel yang menampung nilai) itu disimpan baik dengan alokasi yang teratur, maupun alokasi yang acak. Biasanya untuk alokasi yang teratur, tersedia materi pembelajarannya yakni Pointer dan Linked List. :D

Alkisah, seorang programmer muda bertanya kepada gurunya mengenai sebuah data. Ia bertanya tentang bagaimana kinerjanya suatu data itu disimpan ke dalam harddisk. Sang guru kemudian menjawab. Sama seperti sebuah variabel yang diisi nilai kemudian kita input dan jalankan beserta program.

Dari kepingan cerita diatas (meski agak sedikit rumit) dapat kita simpulkan, bahwa sebenarnya penyimpanan ke dalam data yang disimpan ke Harddisk kurang lebih sama seperti penyimpanan ke dalam RAM. Namun, meskipun dikatakan sama tetap saja suatu file membutuhkan implementasi tertentu supaya dapat disimpan. Dengan kata lain ada prosedur dan fungsi tertentu yang mengabstraksikan suatu prosedur dan fungsi file agar bisa digunakan sebagai sumber dan juga diciptakan.

The Core of File Handling

Suatu file sebelum ia tercipta dan terhubung, terlebih dahulu kita harus menentukan lokasi ia diciptakan dan ia terhubung. Karena kalo sesuatu diciptakan langsung tanpa tahu ia bertempat dimana, maka yang muncul adalah kesalahan. Setelah ditentukan takdirnya suatu variabel hidup, maka ia diciptakan, dan bila sudah tercipta mungkin anda akan menghubungkannya. Loh... kenapa mungkin? Karena bisa jadi anda menggunakan file yang sudah ada lalu menghubungkannya atau anda menciptakan dengan bahasa pascal dan kemudian menghubungkannya. :D

Prosedur assign() berfungsi untuk menghubungkan file.

assign(f, "textfile.txt");

Loh, ada yang lupa. Suatu file yang sudah ditentukan dimana file itu lahir, tapi tidak tahu kalau file tersebut ada, juga menimbulkan kesalahan. Karena kalau rumah yang sudah dibeli tapi tidak ada penghuninya itu mubazir. :D. Pertama terlebih dahulu yang harus kita lakukan adalah mendeklarasikan terlebih dahulu suatu variabel file. Terdapat berbagai macam variabel file dalam pascal. yakni:

  • textfile, variabel file bertipe teks.
  • file, variabel file tanpa tipe.
  • dan file of , variabel file bertipe.

Tipe file diatas digunakan dalam penulisan file. Namun, diantara ketiga tipe file tersebut tipe data file textfile adalah yang paling sering digunakan (untuk latihan :D).

Berikut deklarasinya:

var

 fText: textfile;

 fNonTFile: file;

 fFileOf: file of byte;

Cerita sesungguhnya dimulai ... bila variabel file sudah dideklarasikan, maka hal yang harus dilakukan adalah rewrite() (Menciptakan), append() (Menambahkan isi), atau reset() (Membaca/Menampilkan data).

var f:textfile; s:string;

begin

 s:="files.txt";

 assign(f,s);

 rewrite(f);

end.

Klimaksnya. Suatu hal pasti harus diakhiri, begitu juga dengan variabel file. Bila setelah variabel file diciptakan, dan ditakdirkan apa yang harus variabel tersebut lakukan maka ceritanya berakhir. Make -> Do -> End. close() (Menutup file) adalah prosedur yang digunakan untuk menutup file yang aktif setelah variabel file tersebut melakukan sesuatu. Satu kali variabel file dihubungkan maka satu kali variabel tersebut melakukan.

program files;

uses crt,dos,sysutils;

var f:textfile; s,readf:string;

begin

 s:="files.txt";

 assign(f,s);

 rewrite(f);

 close(f);



 assign(f,s);

 append(f);

  writeln(f,"Selamat datang di file handling!");

  writeln(f,"Ini baris yang ditambahkan ...");

 close(f);



 assign(f,s);

 reset(f);

 while not(eof(f)) do begin

  readln(f,readf);

  writeln(readf);

 end;

 close(f);

 writeln("All Success!");



 readln;

end.

Gambar diatas adalah hasil eksekusi kode program sebelumnya. Carilah directory .pas kode yang dieksekusi tersebut kemudian buka file 'files.txt'.

Keywords: file handling pascal, cara coding pascal

Share: