BAB VI
TENTANG
FILE
A. Pendahuluan
Deskripsi Singkat
Bab ini akan membahas definisi file, variabel file,
membuka file, memanipulasi data dalam file, menutup file.
Relevansi
Data dalam sebuah program yang telah dibuat dengan
berbagai materi pada bab sebelumnya dapat disimpan untuk digunakan kembali
dengan perintah file. Dengan demikian, apabila komputer dimatikan maka datanya
tidak akan hilang.
Tujuan
Instruksional Khusus
Mahasiswa mampu membuat program dengan menggunakan perintah file.
B. Penyajian
1) Definisi File
Dalam kasus-kasus pemrograman tertentu kita sering disudutkan untuk
menggunakan file sebagai media yang digunakan untuk menyimpan data-data, baik
berupa data input (untuk masukan) maupun sebagai data output (untuk keluaran).
Sebagai contoh, apabila kita menggunakan sistem operasi Microsoft Windows maka
kita akan menemukan file sistem seperti autoexec.bat, config.sys,
system.ini dan lainnya. File tersebut sebenarnya digunakan untuk
menyimpan data-data secara terpisah sehingga nilainya dapat diubah dengan mudah
sesuai dengan kebutuhan. Sebagai seorang programmer, kita tentu dituntut untuk
dapat menggunakan (mengakses) file dari dalam prograam yang kita buat.
Berdasarkan prosedur yang ada, proses pengaksesan file di dalam bahasa Pascal
terdiri dari emapt tahap, yaitu :
(a)
Menghubungkan file fisik yang akan dibuka atau dibuat
dengan variabel file
(b)
Membuka file
(c)
Melakukan operasi file (membaca atau menulis)
(d) Menutup
file
2) Variabel File
Sebelum file dapat dibuka atau dibuat oleh program, kita harus
menghubungkannya dengan variabel file terlebih dahulu. Variabel file merupakan
peralatan logik yang digunakan sebagai perantara dalm mentransfer atau membaca
data dari atau ke sebuah file fisik yang tersimpan di dalam disk. Dengan kata
lain, sebenarnya kita tidak secara langsung memanipulasi file fisik tersebut,
melainkan melalui variabel file. Dalam bahasa Pascal, variabel seperti ini
dianggap sebagai variabel biasa yang dideklarasikan dengan tipe file tertentu.
Cara yang harus dilakukan untuk dapat menghubungkan file fisik dengan variabel
file adalah dengan menggunakan prosedur Assign, yang memeiliki bentuk
umum sebagai berikut.
Procedure Assign (NamaVariabelFile, NamaFileFisik);
NamaVariabelFile merupakan nama variabel yang sebelumnya harus
dideklarasikan terlebih dahulu, sedangkan NamaFileFisik merupakan nama
file yang akan dibuka atau dibuat. Perlu diperhatikan bahwa nama file tersebut
harus dituliskan secara lengkap beserta lokasi atau path-nya. Sebagai contoh,
apabila kita ingin membuka file dengan nama CONTOH.TXT yang terdapat di dalam
direktori COBA di drive D, maka kode yang harus dituliskan adalah sebagai
berikut.
Var
F:TextFile; {mendeklarasikan variabel file denagn nama F}
Begin
Assign (F, ’D:\COBA\CONTOH.TXT’);
. . .
end.
Sedangkan apabila file yang akan kita akses berada dalam satu direktori
dengan program (file eksekusi) yang kita buat, maka kita tidak perlu menuliskan
lokasi atau path-nya. Artinya kita hanya perlu untuk menuliskan nama file-nya
saja seperti berikut.
Assign (F, ’ CONTOH.TXT’);
Pada kode di atas, file CONTOH.TXT akan dihubungkan dengan variabel F.
Selanjutnya yang akan dimanipulasi di dalam program adalah variabel F. Namun karena
variabel tersbut sebenarnya menunjuk ke file fisik, maka setiap perubahan yang
terjadi di dalam variabel F tentu akan mempengaruhi isi dari file CONTOH.TXT.
Hal yang perlu diperhatikan di sini adaalah bahwa walaupun file tersebut
sudah terhubung dengan variabel file, namun file masih dalam keadaan tertutup
sehingga kita perlu membukanya terlebuh dahulu sebelum kita mengakses data yang
terdapat di dalamnya.
3) Membuka File
Seteleh file tersebut dihubungkan dengan variabel file, maka langkah selanjutnya yang perlu dilakukan adalah
membuka file. Dalam bahasa Pascal, terdapat tiga buah prosedur yang dapat
digunakan untuk membuka file, yaitu Rewrite, Reset dan Append.
(a)
Prosedur Rewrite
Prosedur ini digunakan untuk membuka file yang sama sekali belum terdapat di
dalam disk. Artinya, di sini kompiler akan melakukan proses pembuatan file baru
sekaligus membuka file tersebut. Bentuk umum dari prosedur Rewrite adalah
sebagai berikut.
Procedure Rewrite(NamaVariabelFile[:File;
UkuranRecord : Word]);
Bila file yang dibuka berupa file teks, maka file tersebut akan bersifat writeonly
atau tidak dapat dibaca, artinya operasi yang diizinkan untuk file tersebut
hanyalah operasi tulis. UkuranRecord merupakan ekspresi yang bersifat
opsional yang hanya disertakan apabila file yang dibuka merupakan file tanpa
tipe. Nilai tersebut akan digunakan sebagai ukuran record dalam transfer data.
Nilai tersebut akan digunakan sebagai ukuran record dalam transfer data.
Apabila dihilangkan, maka UkuranRecord ini alan dianggap bernilai 128 byte.
Untuk lebih memahami penggunaan prosedur ini, perhatikan contoh program
sederhana ini.
Program ContohRewrite;
Var
F : TextFile;
Begin
Assign (F, ’D:\CONTOH.TXT’);
Rewrite (F);
End.
Jalankan program tersebut dan lihatlah drive D pada komputer anda, maka di
situ pasti akan tercipta file baru dengan nama CONTOH.TXT dimana isinya kosong.
Apabila anda bereksperimen untuk membuka filee yang sudah ada sebelumnya dengan
menggunakan prosedur Rewrite maka isi dari file tersebut akan ditimpa dengan isi
file baru. Satu hal lagi yang perlu diperhatikan adalah bahwa etelah
pemanggilan prosedur Rewrite, fungsi EOF (end-of-file)
akan selalu menghasilkan nilai true.
(b)
Prosedur Reset
Prosedur ini digunakan untuk membuka file yang sebelumnya
sudah ada di dalam disk. Hal ini bertujuan untuk membaca isi dari file tersebut
untuk kemudian dimanipilasi sesuai dengan kebutuhan. Perlu sekali untuk
diperhatikan bahwa apabila file yang dibuka merupakan file teks, maka variabel
file akan bersifat read only (hanya
dapat dibaca). Berikut ini prototype dari prosedur Reset.
Procedure Reset
(NamaVariabelFile [: file; UkuranRecord: word]);
UkuranRecord merupakan ekspresi yang bersifat operaional
yang hanya disertakan apabila file yang dibuka merupakan file tanpa tipe.
UkuranRecord sendiri berfungsi untuk menentukan ukuran record dalam proses
transfer data. Apabila nilai tersebut dihilangkan, maka nilainya akan dianggap
128 byte. Sebagai contoh, kita telah memiliki file SAMPLE.TXT yang disimpan di
rive D dan isinya seperti berikut.
Teknik Pemrograman Pascal
Oleh : Budi Raharjo
Tahun : 2005
Penerbit : INFORMATIKA
Selanjutnya kita ingin membaca isi file tersebut dan
ditampilkan di layar monitor, maka kita dapat menggunakan prosedur Reset
seperti yang tampak pada kode berikut.
Program ContohReset;
Uses crt;
Var
F : TextFile;
Teks : string;
Begin
Assign (F, ’D :\SAMPLE.TXT’);
Reset (F);
While not eof (F ) do begin
Readln (F, teks) ; {membaca data dari file dan
mengisikannya ke variabel teks}
Writeln (teks); menampilkan variabel teks ke layar}
Close (F);
Readln;
End.
Sekarang coba jalankan program tersebut dan akan melihat
bahwa seluruh isi dari file SAMPLE.TXT akan ditampilkan di layar monitor.
Apabila kita menggunakan prosedur Reset pada file yang belum terdapat di dalam
disk maka kompiler akan menampilkan pesan kesalahan pada saat program
dijalankan.
(c)
Prosedur Append
Prosedur ini digunakan untuk menambahkan isi file yang sebelumnya sudah
terdapat di dalam disk. Isi yang ditambahkan selalu berada pada bagian akhir
dari isi file yang sudah ada sebelumnya. Dalam menggunakan prosedur ini kita
tidak perlu memanggil prosedur Rewrite maupun reset karena prosedur Append
secara otomatis akan membuka file yang telah dihubungkan dengan variabel file.
Namun sebagai catatan bagi Anda bahwa prosedur Append hanya dapat digunakan
apabila file yang dibuka merupakan file teks. Berikut ini bentuk umum dari
prosedur Append.
Procedure Append (NamaVariabelFile: Text ) ;
Apabila anda membuka file teks yang belum ada didalam diks dengan
menggunakan prosedur Append, maka akan terjadi kesalahan pada saat program
sedang berjalan (run-time). Setiap pemanggila prosedur Append, file
bersifat write-only (hanya dapat ditulis) dan posisi file akan diset
pada bagian akhir baris file. Untuk dapat lebih memahaminya, buatlah file teks
(*.TXT) dengan program teks editor yang tersedia, misalnya Notepad, kemudian
isikan teks berikut ke dalamnya.
Ini adalah data yang dituliskan pada baris pertama.
Ini adalah data yang dituliskan pada baris pertama.
Sebagai contoh, file tersebut disimpan dengan nama TEST.TXT pada drive D di
dalan direktori COBA. Selanjutnya kita ingin menamnbahkan dua buah baris data
ke dalam file di atas, maka kita dapat melakukannya melalui kode program
dibawah ini.
Program ContohAppend;
Uses
Crt;
Var
F: TextFile;
Begin
Assign (F,’D:\COBA\TEST.TXT’) ;
Append (F) ; {Membuka file untuk
di tambah isinya}
{Menambahkan data ke dalam file}
writeln (F,’Ini adalah data pertama yang ditambahkan’) ;
writeln (F,’Ini adalah data kedua yang ditambahkan’) ;
close(F) ;
end.
Ini
adalah data yang dituliskan pada baris pertama
Ini adalah data
yang dituliskan pada baris kedua
Ini adalah data
pertama yang ditambahkan
Ini adalah data
kedua yang ditambahkan
4)
Memanipulasi Data Dalam File
Setelah Anda mengerti cara untuk mengkaitkan atau menghubungkan file ke
variabel file dan juga bagaimana cara membuka file tersebut maka kini saatnya
Anda mengetahui bagaimana cara memanipulasi data dalam file dari program yang
kita buat. Untuk melakukan hal tersebut tentu Anda harus memahami dengan benar
cara membaca data dan menuliskan data kedalam file.
(a)
Menulis Data ke Dalam File
Dalam bahasa Pascal, proses penulisan data ke dalam file dapat dilakukan
dengan menggunakan prosedur Write, Writeln maupun BlockWrite. Untuk informasi
lebih detil mengenai masing-masing prosedur tersebut, Anda dapat melihat sub
bab di bawah ini.
(1) Menggunakan Prosedur Write
Prosedur Write digunakan untuk menuliskan data kedalam file dimana posisi
kursor tidak akan dipindahkan kebaris selanjutnya.
Berikut ini
bentuk prototipe dari prosedur Write.
Procedure Write (NamaVariabelFile; VI [ , V2..VN] ) ;
Dimana V1..VN adalah nama variabel yang akan digunakan untuk menyimpan data
yang akan dituliskan. Walaupun demikian, Andajuga dapat menuliskannya secara
langsung tanpa harus menyimpannya terlebih dahulu ke dalam variabel seperti
yang tampak pada kode berikut.
write (F,’Mencoba menuliskan data ke dalam file’);
Berdasarkan kode di atas, maka teks tersebut akan
dimasukkan atau ditulis ke dalam file yang telah dihubungkan dengan variabel
file F. Untuk lebih memahaminya, perhatikan contoh program di bawah ini dimana
kita akan melakukan penulisan terhadap file DATA.TXT yang terdapat pada
direktori COBA di dalam drive D. Sebagai catatan bahwa file DATA.TXT ini
sebelumnya sudah ada di dalam disk dimana isi dari file tersebut masih kosong.
Program
ContohWrite;
Uses crt;
Var
F : TextFile;
Begin
Assign
(F,’D:\COBA\DATA.TXT’);
Reset (F);
Write (F,
’Teknik Pemrograman ’);
Write (F,
’Pascal’);
Close (F);
End.
Jalankan
program tersebut dan buka kembali isi dari file DATA.TXT, maka kita akan
melihat bahwa file tersebut sekarang telah berisi teks berikut.
Teknik Pemrograman Pascal
(1) Menggunakan Prosedur Writeln
Sebenarnya konsep dari prosedur Writeln ini sama dengan
prosedur Write di atas. Perbedaannya, Writeln digunakan untuk menuliskan data
per baris. Artinya, setelah melakukan prosedur Write, prosedur ini akan
memindahkan kursor aktif ke baris selanjutnya. Berikut contoh program yang akan
menunjukkan penggunaan prosedur Writeln yang digunakan untuk menuliskan data ke
dalam file.
Program ContohWriteln;
Uses crt;
Var
F : TextFile;
Begin
Assign
(F,’D:\COBA\DATA.TXT’);
Reset (F);
Writeln (F,
’Teknik Pemrograman ’);
Writeln (F,
’Pascal’);
Close (F);
End.
Apabila
dijalankan, program di atas akan menyebabkan isi file DATA.TXT berubah menjadi
seperti di bawah ini.
Teknik Pemrograman
Pascal
(b)
Membaca Data dari File
Untuk membaca data dari dalam file, kita dapat menggunakan prosedur Read,
Readln dan BlockRead.
(1) Menggunakan Prosedur Read
Pada file teks, prosedur ini digunakan untuk membaca data per karakter.
Apabila digunakan pada file bertipe maka prosedur Read akan membaca per elemen
data. Berikut bentuk umumnya.
procedure Read (NamaVariabelFile; V1[, V2 . . VN]);
dimana
V1 . . VN adalah nama variabel yang akan digunakan untuk menyimpan data hasil
proses pembacaan.
(2) Menggunakan Prosedur Readln
Cara kerja dari prosedur ini sebenarnya sama dengan prosedur Read, hanya
saja dalam prosedur Readln proses pembacan datanya tidak dilakukan per karakter
melainkan per baris data. Setelah mengeksekusi prosedur Read, maka kursor akan
ditujukkan ke baris selanjutnya. Proses pembacaan data dengan prosedur Readln
tentu akan membutuhkan waktu yang relatif lebih cepat apabila dibandingkan
dengan prosedur Read karena dilakukan per baris. Hal yang perlu diingat bahwa
prosedur Readln hanya dapat digunakan untuk file teks saja. Bentuk umum dari
prosedur Readln adalah sebagai berikut.
procedure Readln (NamaVariabelFile; V1[, V2 . . VN]);
dimana
V1 . . VN adalah nama variabel yang akandigunakan untuk menyimpan data hasil
proses pembacaan.
5)
Menutup File
Setelah selesai mengakses file maka sebaiknya kita menutupnya. Untuk
keperluan ini, bahasa Pascal menyediakan prosedur Close. Berikut bentuk
umumnya.
procedure close (var F);
dimana F
adalah sebuah variabel file yang sebelumnya telah dibuka dengan menggunakan
fungsi Reset, Rewrite maupun Append.
6)
Jenis File
Dalam bahasa Pascal, file dibedakan menjadi tiga jenis, yaitu :
(a)
File Teks
(b)
File
Bertipe
(c)
File Tanpa
Tipe
(a)
File Teks
File teks adalah file yang menyimpan data-data dalam bentuk teks. Dalam
bahasa Pascal, file teks ini direpresentasikan dengan tipe Text atau TextFile.
Berikut ini contoh kode untuk mendeklarasikan variabel yang bertipe TextFile.
var
F : TextFile; {mendeklarasikan variabel F bertipe TextFile}
Untuk dapat
lebih mengetahui penggunaannya di dalam program, perhatikan contoh program
berikut.
Program FileTeks;
Uses crt;
Var
F : TextFile;
Begin
Assign (F, ’D:\CONTOH.TXT’);
Rewrite (F);
Writeln (F, ’Teknik Pemrograman Pascal’);
Writeln (F, ’Oleh :
Budi Raharjo’);
Writeln (F, ’Tahun :
2005’);
Writeln (F, ’Penerbit :
INFORMATIKA Bandung’);
Close (F);
End.
Di sini kita mengasumsikan bahwa file CONTOH.TXTbelum ada di dalam dirive
D, selanjutnya kita ingin membuat atau menciptakan file tersebut dan mengisikan
data yang berupa teks ke dalamnya. Sekarang jalankan program tersebut dan
lihatlah drive D, maka kita akan menmui file baru dengan nama CONTOH.TXT yang
isinya adalah sebagai berikut.
Teknik Pemrograman Pascal
Oleh : Budi
Raharjo
Tahun : 2005
Penerbit : INFORMATIKA
Bandung
(b)
File Bertipe
File bertipe adalah file yang menampung data dengan tipe data tertentu,
seperti integer, real dan lainnya. Selain tipe data dasar, kita juga dapat
mendefinisikan file bertipe ini dengan tipe data bentukan, misalnya record.
Berikut ini bentuk umum untuk mendeklarasikan variabel file bertipe.
Var
NamaVariabelFile : file of <Tipedata>
Sebagai contoh, apabila kita akan mendeklarasikan variable file yang
mengakses file yang berisi data integer amak kode yang harus dituliskan adalah
sebagai berikut.
var
F : file of integer;
Begitu juga apabila file berisi data real, maka kodenya adalah seperti
berikut.
var
F : file of real;
Contoh
penggunaan file bertipe untuk tipe record adalah sebagai berikut.
Type
Tsiswa = Record
NIM : string [8];
Nama : string [25];
Umur : integer;
Alamat : string [30];
Kota : string [15];
End;
Var
F : file of Tsiswa;
(c)
File Tanpa Tipe
Dalam bahasa Pascal, file tanpa tipe direpresentasikan dengan tipe FILO.
File jenis ini dapat digunakan untuk menyimpan jenis data apa saja, baik teks
maupun tipe lainnya, namun biasanya digunakan untuk menyimpan data-data biner
(termasuk file EXE maupun COM). Berikut bentuk umumnya.
Var
NamaVariabelFile : FILE
Sebagai contoh apabila kita ingin mendeklarasikan variabel F yang akan
digunakan sebagai variabel file tanpa tipe, maka kita harus mendeklarasikannya
sebagai berikut.
var
F : FILE
C. Penutup
Sejauh ini program yang kita buat masih menggunakan data yang bersifat
sementara. Artinya, umur atau daur hidup dari data tersebut masih tergantung
pada lamanya program bersangkutan dijalankan. Hal ini disebabkan karena data
tersebut hanya disimpan di dalam memori komputer sehingga apabila program
dihentikan maka alamat memori tempat data-data tersebut disimpan juga akan
didealokasikan oleh kompiler secara otomatis, dan ini mengakibatkan data-data
yang tersimpan pun akan hilang. Untuk mengatasi kasus tersebut, dalam
pemrograman disediakan alat bantu untuk penyimpanan data-data hasil program
yang disebut dengan file. Secara fisik, file disimpan di dalam suatu disk
seperti harddisk atau disket, yang selanjutnya dapat dimanipulasi isinya.
1)
Pertanyaan
(a)
Buat program untuk pengolahan data barang dengan
menggunakan media file teks.
(b)
Buat
program untuk mengkoreksi data barang dengan menggunakan media file teks.
2) Umpan Balik dan Tindak Lanjut
Untuk menguasai materi ini, sebaiknya anda membuat
ringkasan materi tentang file dan membuat sendiri beberapa program file.
Jawab
pertanyaan di atas dengan langsung membuat program di komputer. Jalankan
program tersebut sampai benar. Hapus kembali listing program yang sudah benar
dan buat kembali program tersebut, dan jalankan. Kalau tingkat kesalahan pada
pembuatan program sudah kecil, anda dapat melanjutkan materi berikutnya. Kalau
program belum jalan, perbaiki terus sampai benar.
Daftar Pustaka
Jogiyanto,
1989. Turbo Pascal. Yogyakarta : Andi Ofset.
Jurusan Informatika. 2006. Bahan
Ajar Pemrograman 2. Hibah Pengajaran PHK A1 Universitas Negeri Gorontalo
Kadir,
Abdul. 2002. Pemrograman Pascal Buku 1. Yogyakarta:
Andi Offset.
Kadir,
Abdul. 2002. Pemrograman Pascal Buku 2. Yogyakarta:
Andi Offset.
Rahardjo, Budi. 2005. Teknik
Pemrograman Pascal. Bandung:Informatika
Wahid, Fathul. 2004. Dasar-Dasar
Algoritma dan Pemrograman. Yogyakarta : Andi.
0 komentar:
Speak up your mind
Tell us what you're thinking... !