Social Icons

twitterfacebookgoogle pluslinkedinrss feedemail

Minggu, 14 April 2013

FILE (BERKAS) DALAM PASCAL

File adalah kumpulan byte-byte yang disimpan dalam media penyimpanan. Merupakan komponen yang bertipe data sama, yang jumlahnya tidak tentu, yang dapat ditambah atau dikurangi jika dibutuhkan. Sedangkan Pointer file adalah bagian yang menunjuk ke komponen file yang akan diakses (dibaca atau direkam) untuk keperluan pengaksesan file (akan dibahas kemudian).
 

File pada Pascal dikenal dalam 3 jenis, yaitu : 

1. File Text
2. File bertipe
3. File tidak bertipe
Selain kita akan mempelajari tentang bagaimana membuat sebuah file atau menambahkan isi suatu file, kita dapat pula melakukan manipulasi File, yaitu :
1.      Menggunakan parameter
2.      Mengenai Atribut File
3.      Menghapus file
4.      Mengubah nama file
5.      Mengenai tanggal dan waktu file
6.      Mencari file
7.      Mengecek keberadaan file
8.      Memberikan directory file
A.    File Text 
1. Karakteristik
·         Berisi data karakter ASCII
·         Tiap record boleh memiliki panjang yang bervariasi
·         Setiap record diakhiri tanda EOL (end of Line)
·         Hanya dapat diakses secara sequensial (berurutan).
·         Isi filenya dapat dilihat oleh perintah dos type atau editor text


       2. Membuat file text

Urutan Prosesnya :
1.      Mendeklarasikan variabel file Var NmVar:TEXT;
NmVar                  : Nama variabel file text
2.      Menghubungkan variabel file dengan nama file Assign (NmVar, nama file);
NmVar                  : Nama variabel file text
nama file               : Nama file dalam bentuk string, format 8:3 penamaan dos, ditulis dalam bentuk string.
3.      Membuat file text aktif Rewrite(NmVar);
NmVar                  : Nama variabel file text  yang sudah di- assign
4.      Menulis ke dalam file text Write / writeln (NmVar, data item1, data item 2, …)
NmVar                  : Nama variabel file text
Data item              : text / string yang akan dituliskan, atau bisa juga berupa isi suatu variabel
5.      Menutup file Close (NmVar);
NmVar                  : Nama variabel file text
Contoh:
Program membuat_file_text_namafile_HALLO_TXT;
Uses crt;
Var var_teks:TEXT;
Begin
Clrscr;
Assign(var_teks,’Hallo.txt’);
Rewrite(var_teks);
Writeln(var_teks,’Hallo… ini program pertamaku!’);
Writeln(var_teks,’Contoh file teks’);
Writeln(var_teks,’---------------------------------------’);
Close(var_teks);
End.
3. Membaca File Text
Urutan Prosesnya :
1.      Mendeklarasikan variabel file Var NmVar:TEXT;
2.      Menghubungkan variabel file dengan nama file Assign (NmVar, nama file)
3.      Membaca isi file dan menampilkannya di layar
While not eof (NmVar) do
Begin
Read / readln ( NmVar, data item 1, data item 2, … );
Write / writeln ( data item1, data item 2, … );
End;
4.      Menutup file close (NmVar);
Contoh :
Program membaca_file_HALLO_TXT;
Uses crt;
Var var_teks:TEXT;
Pesan:string;
Begin
Clrscr;
Assign(var_teks,’Hallo.txt’);
Reset(var_teks);

While not eof (var_teks) do

Begin
Readln ( var_teks, pesan );
Writeln (pesan);
End;
Close(var_teks);
End.

4. Menambah isi File Text

Urutan Prosesnya :
1.      Mendeklarasikan variabel file Var NmVar:TEXT;
2.      Menghubungkan variabel file dengan nama file Assign (NmVar, nama file)
3.      Menambah isi file Append(NmVar)
4.  Menampilkannya di layar Write / writeln (NmVar, data item1, data item 2, …)
5.  Menutup file Close (NmVar);
Contoh :
Program menambah_isi_file_HALLO_TXT;
Uses crt;
Var var_teks:TEXT;
Pesan:string;
Begin
Clrscr;
Assign(var_teks,’Hallo.txt’);
Append(var_teks);
Writeln(var_teks,’Ini penambahan data file hallo.txt!’);
Writeln(var_teks,’Contoh file teks’);
Writeln(var_teks,’-----------------------------------------’);
Close(var_teks);
End.
B.     File Bertipe
1.      karekteristik
·         Berisi data format biner, ukurannya lebih kecil dari file teks.
·         Tiap record memiliki tipe dan panjang yang sama. Bisa saja memiliki berbagai tipe asalkan dikelompokkan dalam RECORD.
·         Dapat diakses secara random, elemen-elemennya bisa dibaca secara acak yang keberapa saja.

2.      Membuat file Bertipe

Urutan Prosesnya :
1.      Mendeklarasikan variabel file Var NmVar:FILE OF TypeVariabel;
NmVar                  : Nama variabel file bertipe
TypeVariabel         : Char, variabel tipe RECORD, variabel tipe array, real, variabel array tipe record. Untuk satu file satu tipe elemen.
Contoh :
Type DaftarBarang    = Array [1..100] of integer;
DataKonsumen         = RECORD
Nama       :string[15];
Alamat     :string[30];
Kode :1..3;
DaftarKonsumen   = Array [1..100] of Datakonsumen ;
Var
FileBarang     : File of Daftarbarang;
FileJumlah     : File of  integer;
FileData : File of DataKonsumen;
FileKode : File of Char;
2.      Menghubungkan variabel file dengan nama file Assign (NmVar, nama file);
NmVar                  : Nama variabel file bertipe
nama file               : Nama file dalam bentuk string, format 8:3 penamaan dos, ditulis dalam bentuk string.
3.      Membuat /membuka file bertipe
Rewrite(NmVar);  => untuk membuat
Reset(NmVar);     => untuk membuka
4.      Menulis / membaca file Bertipe
 Write (NmVar, data item1, data item 2, …)  => untuk menulis
 Read (NmVar, data item1, data item 2, …)  => untuk membaca
Data item1, data item 2 dan seterusnya, harus berupa variabel, tidak bisa dituliskan secara langsung dalam bentuk konstanta. Variabelnya harus sama dengan deklarasi tipe file-nya. Fungsi Writeln dan Readln tidak dapat digunakan pada file bertipe.
5.      Menutup file Close (NmVar);

3.      Fungsi-fungsi yang digunakan dalam file Bertipe             

Seek (VarFile,N); Menempatkan pointer ke posisi record ke-N
Contoh : Seek(namafile,4); {pointer akan  menunjuk posisi record ke-4, dengan nomor record 3}
FilePOS (VarFile);  Untuk menunjuk nomor record (nomor record dimulai dari record 0)
Contoh :
Posisi:=Filepos(Varfile);       {mengetahui posisi pointer aktual di record mana, dan hasilnya diletakkan pada variabel posisi}.
Filesize(VarFile); Mengukur besar file bertipe, yaitu mengetahui jumlah record yang berada dalam suatu file (jika file baru dibuat = 0)
Contoh :
..
Begin
Write(‘input nomor record yang ingin dilihat’);readln(NoRec);dec(NoRec)
If NoRec >=filesize(VarFile) then
Writeln(‘Nomor record terlalu besar’);
Else
begin
seek(VarFile,NoRec);  {Pointer menuju nomor record yang dimaksud}
Read(VarFile,data);
End;
..
end.
EOF(VarFile); Untuk menunjuk akhir dari file.
Truncate(VarFile); Untuk menghapus sebagian file
Contoh :
Seek(varfile,5);{pointer menuju record nomor 5}
Truncate(VarFile);{menghapus mulai record nomor 5 sampai habis}
Contoh Program File Bertipe :

Program menambah_dan_membuat_file_bertipe
Uses crt;
Type mhs = Record
NPM : string[8];
Nama: string[25];
Alamat : string[20];
End;
Var vfilemhs      : FILE of mhs;
Recmhs   : mhs;
I        : integer;
Oke      : char;
Begin
Clrscr;
Assign (vfilemhs,’Dataku.dat’);
{$I-}reset(vfilemhs);{$I+}
if IOResult <>0 then rewrite(vfilemhs);
I:=filesize(vfilemhs);
With recmhs do
Begin
Write(‘NPM :’);readln(NPM);
While NPM <>’ ‘ do
begin
Write(‘Nama :’);readln(Nama);
Write(‘Alamat :’);readln(Alamat);
repeat
Write(‘Save file…(Y/N)?’);readln(oke);
Until oke in [‘Y’,’y’,’n’,’N’];
If oke in [‘Y’,’y’] then
Begin
Seek(vfilemhs,I);
Write(vfilemhs,recmhs);
I:=I+1;
End;
Writeln;
Write(‘NPM:’);readln(NPM);
End;
End;
Close(vfilemhs);
End.


Program_Melihat_file_bertipe
Uses crt;
Type mhs = Record
NPM : string[8];
Nama: string[25];
Alamat : string[20];
End;
Var vfilemhs: FILE of mhs;
Recmhs:mhs;
I: integer;
Begin
Clrscr;
Assign(vfilemhs,’dataku.dat’);
Reset(vfilemhs);
Writeln(‘-----------------------------------------------‘);
Writeln(‘No.         NPM              Nama         Alamat‘);
Writeln(‘------------------------------------------------‘);
With recmhs
Begin
For I:=1 to filesize(vfilemhs) do
Begin
Seek(vfilemhs),I-1);
Read(vfilemhs),recmhs);
Writeln(I:2,’ ‘,NPM:8,Nama:25,Alamat:20);
End;
End;
Close(vfilemhs);
End.

Tidak ada komentar: