Anda di halaman 1dari 6

Operasi File

1. VARIABEL FILE

=> Digunakan untuk membaca/mentransfer data dari/ke sebuah file fisik yang ada pada
disk. File fisik tidak dimanipulasi secara langsung melainkan melalui perantara,
yaitu variabel file.

=> Variabel file dan file fisik dihubungkan dengan Assign.

=> Assign adalah sebuah prosedur dengan prototype:

procedure Assign (NamaVariabelFile, NamaFileFisik);

=> Nama variabel file harus dideklarasikan dahulu. Contoh:

var

F: Textfile;

begin

assign (F,’D:\coba\contoh.txt’);

end.

=> Bila file yang akan diakses ada di 1 direktori dengan program, maka hanya perlu
menuliskan nama file.

=> Kondisi sudah terhubung namun file masih “tertutup”

2. MEMBUKA FILE

A. Prosedur Rewrite

=> Untuk membuka file yang sama sekali belum ada di disk. Jadi file baru akan
dibuat sekaligus dibuka. Prosedur:

procedure Rewrite (NamaVariabelFile[:File; UkuranRecord:Word]); {bagian


ini tidak perlu diketik di program, hanya sekedar penjelasan karena prosedur sudah
ada di dalam FPC-nya sendiri}

=> Bila file yang dibuka berupa file teks, bersifat write only => tak dapat dibaca

=> Ukuran record hanyalah ketika file tidak memiliki tipe. Kalau dihilangkan,
ukuran record dianggap 128 byte.

=> Contoh:

var

F: Textfile;

begin

assign (F, ‘D:\contoh.txt’);


rewrite (F);

end.

{Maka di drive D: akan ada file baru dengan nama ‘contoh.txt’ yang isinya kosong.
Bila membuka file yang sebelumnya sudah ada isinya, maka akan ditimpa file baru.
Setelah rewrite, fungsi EOF selalu true.}

B. Prosedur Reset

=> Membuka file yang sudah ada di disk. Kalau yang dibuka adalah file teks,
sifatnya read-only. Prosedur sama dengan rewrite.

=> ex.: var

F: textFile;

teks: string;

begin

assign (F, ‘D:\sample.txt’);

reset (F);

while not EOF (F) do begin

readln(F, teks); {membuka file F dan memasukkan


ke variabel teks}

writeln(teks);

end;

close (F);

end.

=> Bila ditampilkan maka seluruh isi file tertulis.

=> Kalo file belum ada, aka nada pesan kesalahan saat program di-compile.

C. Prosedur Append

=> Menambah isi file yang sudah ada di disk. Isi yang ditambah selalu di bagian
akhir. Tidak perlu memanggil reset/rewrite karena otomatis terhubung dengan file
yang dihubungkan varFile.

=> procedure Append (NamaVarFile: Text);

=> Tipe file write only.

=> ex.: var


F: TextFile;

begin

assign(F, ‘D:\coba\test.txt’);

append(F);

writeln(F, ‘Ini adalah baris satu’);

writeln(F, ‘Ini adalah baris dua’);

close(F);

end.

3. MEMANIPULASI DATA DALAM FILE

A. Menulis Data ke dalam File

1. Menggunakan prosedur WRITE

=> kursor tidak pindah ke baris berikutnya. Procedurenya:

procedure write(NamaVarFile; v1 [,v2…vN]);

=> Tulisan yang akan disisipkan dapat melalui variabel seperti di atas atay
dengan langsung (NamaVarFile, ‘text’).

2. Menggunakan prosedur WRITELN

=> sama dengan write tetapi pindah baris.

3. Menggunakan procedure BLOCKWRITE

=> Menuliskan sejumlah record/blok ke dalam file. Prosedur hanya dapat digunakan
untuk file tanpa tipe.

=> procedure BlockWrite (var F: File; var buf; count: word[; result: word]);

F = Nama VarFile.

buf = var. yang menampung data yang akan dituliskan

count = var. untuk menentukan besarnya data yang akan dituliskan

result = var. opsional untuk menampung banyaknya data yang telah


dituliskan.

=> ex.: var

FSumber, Ftujuan: File;


buf: array [1..1024] of byte;

jumlahbaca, jumlahtulis: word;

begin

assign (FSumber, ‘D:\coba\lagu.mp3’);

reset (FSumber, 1);

assign (FTujuan, ‘D:\coba\song.mp3’);

rewrite (FTujuan, 1);

repeat

BlockRead (FSumber, buf,


sizeof(buf), jmlbaca);

BlockWrite (FTujuan, buf, jmlbaca,


jmltulis);

until (jmlbaca=0) or (jmlbaca <> jmltulis);

close (FSumber);

close (FTujuan);

end.

B. Membaca Data dari File

1. Menggunakan Prosedur READ

=> Untuk membaca data per karakter (pada file teks). Pada File bertipe maka akan
dibaca per elemen data.

=> procedure Read (NamaVarFile; v1[, v2..vN]);

variabel digunakan untuk menyimpan data hasil pembacaan.

=> Kemudian dari File Sumber dicopy ke file tujuan.

var

FSumber, FTujuan: TextFile;

begin

assign (FSumber, ‘D:\coba\test.txt’);

reset (FSumber);
assign (FTujuan, ‘D:\coba\copy.txt’);

rewrite (FTujuan);

while not EOF (FSumber) do begin

read (FSumber, c);

write (FTujuan, c);

end;

close (FTujuan);

end.

=> Memindahkan per karakter lewat var c. Lalu bila sudah di akhir file FSumber,
penyalinan dihentikan.

2. Menggunakan Prosedur READLN

=> Hanya file teks. Pembacaan per baris.

3. Menggunakan Prosedur BLOCKREAD

=> Membaca record/blok dan menyimpannya ke suatu variabel (pada file tak bertipe).

=> Prosedur sama dengan BLOCKWRITE, tetapi dituliskan => dibaca.

4. MENUTUP FILE

=> Procedure close (var F);

=> Menutup file yang dibuka dengan Reset, Rewrite, atau Append.

5. JENIS FILE DALAM PASCAL

=> Ada 3: File teks, file bertipe, file tak bertipe.

A. File Teks

=> Direpresentasikan dengan tipe TEXT atau TEXTFILE. Deklarasi:

var

F: TextFile;
B. File Bertipe

=> Tipe tertentu, seperti integer, real, dsb. Bisa tipe dasar atau bentukan,
seperti record. Deklarasi:

var

NamaVarFile: file of tipe_data;

C. File tanpa Tipe

=> Direpresentasikan dengan FILE. Menyimpan data jenis apa saja. Tapi biasanya
untuk menyimpan data-data Biner (exe atau com).

var

NamaVarFile: FILE;

Anda mungkin juga menyukai