bab8 pemprosesan fail

7

Click here to load reader

Upload: anas-assayuti

Post on 19-May-2015

743 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Bab8 pemprosesan fail

BAB LAPAN: PEMPROSESAN FAIL

FAIL DATA DAN FAIL PROJEK

Fail merupakan sebarang maklumat yang di simpan di dalam cakera dan diberi nama yang unik.

Fail data merupakan fail yang mengandungi maklumat manakala fail projek, merupakan fail

aplikasi yang boleh dilarikan. Di dalam bab ini, kita akan mempelajari fail data iaitu fail yang

mengandungi maklumat sebenar seperti nama, alamat clan sebagainva. Fail data digunakan bagi

menyimpan maklumat yang banyak kerana failnya lebih kecil jika dibandingkan dengan

pangkalan data.

Terminologi Fail Data

Di dalam bab 7 (Pangkalan Data), kita telah mengenali terminologi seperti rekod, medan (elemen

data), kunci medan atau kunci rekod.

Rekod - merupakan perwakilan data keseluruhan bagi satu item, manusia atau transaksi.

Medan - digunakan untuk menyimpan elemen data seperti no. matrik, no. akaun, nama,

alamat.

Kunci medan - (key field) merupakan medan yang unik bagi mewakilkan rekod.

Medan

Matrik Nama Alamat Tetap Kolej Program11213 Ali bin Abu No 13 Jalan

Kuching, KLKolej 11 Diploma Sains

Komputer22343 Ahmad bin

Hasan56 Lot 32, Jalan Melewar, Pahang

Kolej 10 Bacelor Sains Komputer

23333 Mohamad Hanif

33 Blok Meranti Taman Sri Jaya

Kolej 6 Diploma Sains Komputer

24645 Adriana Ahmad

4 Jalan Kembara 1, KL

Kolej 8 Bacelor Sains Komputer

Rekod/Baris

Page 2: Bab8 pemprosesan fail

Pemprosesan Fail

Mohd Farid JaafarJSM, FSKTM, UPM

99

ORGANISASI FAIL

Organisasi fail merupakan kaedah bagaimana data disusun, disimpan dan dicapai. Terdapat 2

jenis organisasi fail iaitu fail jujukan (sequential file) dan fail rawak (random file). Kita akan

mempelajari cara untuk membaca dan menulis data ke dalam fail-fail tersebut.

Membuka dan Menutup Fail Data

Terdapat 3 langkah yang perlu diikuti bagi memproses fail data:

1. Buka fail - sebelum data dimasukkan ke dalam cakera atau membaca dari cakera,

fail perlu dibuka terlebih dahulu. Secara amnya, fail dibuka di dalam

tatacara Form_Load.

2. Baca atau Tulis rekod data.

3. Tutup fail - fail mesti ditutup semula selepas dibuka.

Pernyataan Untuk Membuka Fail

Open "FileName" For {Input | Output | Append | Random} As #FileNumber [Len = RecLenght]

FileName Merupakan nama fail beserta kedudukannya.

FileNumber Nombor bagi fail dari 1 hingga 511.

RecLength Panjang bagi satu-satu rekod dari 1 hingga 32,767 karakter.

Mod Fail Keterangan

Output Digunakan untuk data yang dihasilkan oleh projek dan akan ditulis ke dalam

disk. Data baru akan ditulis di awal fail (BOF), overwrite data sedia ada.

Input Data yang akan dimasukkan ke dalam projek dari disk. Mod ini akan membaca

data yang sebelumnya telah disimpan di fail.

Append Digunakan untuk data yang dihasilkan oleh projek dan akan ditulis ke dalam

disk. Data baru akan dimasukkan di akhir kandungan fail.

Random Mod untuk sama ada data adalah input atau output, dan data boloh dicapai

oleh banyak cara.

Page 3: Bab8 pemprosesan fail

Pemprosesan Fail

Mohd Farid JaafarJSM, FSKTM, UPM

100

Contoh:

Open "A:\DataFile.dat" For Output As # 1

Open "C:\VB6\ChO7O1\Names.txt" For Input As 42

Pernyataan Untuk Menutup Fail

Close [#FileNumber]

Contoh:

Close #l Close #1, #2 Close

Digunakan untuk menutup fail data yang telah dibuka. Sekiranya tidak meletakkan nombor fail,

semua fail yang telah dibuka akan ditutup semuanya.

F u n g s i FreeFile

Apabila membuka fail, setiap fail harus diberi nombor. Bagi aplikasi yang menggunakan

banyak fail mungkin akan timbul masalah untuk memastikan nombor fail tidak bertindih. Bagi

mengatasi masalah ini, gunakan pernyataan FreeFile di mana FreeFile akan menentukan

nombor fail dan memastikan tiada pertindihan nombor berlaku.

Contoh:

Dim intFileNumber As Integer

intFileNumber = FreeFile 'dapatkan sebarang nombor

Open "File.dat" For Output As #intFileNumber

Page 4: Bab8 pemprosesan fail

Pemprosesan Fail

Mohd Farid JaafarJSM, FSKTM, UPM

101

Memaparkan Kandungan Fail Data

Kandungan fail data boleh dilihat menggunakan sebarang text editor seperti Notepad atau

Wordpad. Bagi fail jujukan, medan data dipisahkan oleh koma manakala bagi fail rawak,

susunan karakternya agak sukar dibaca kerana mempunyai medan numerik seperti integer,

single, currency yang disimpan menggunakan 2 atau 4 bait yang boleh difahami oleh fail

projek.

FAIL JUJUKAN

Fail jujukan mengandungi elemen data yang disimpan secara berturutan. Apabila membaca data

dari cakera, data harus dibaca dengan cara bagaimana data telah ditulis. Untuk membaca sebarang

elemen data, elemen akan dibaca secara berturutan sehingga elemen yang dicari dijumpai.

Apabila ingin menulis data ke dalam cakera, setiap medan string akan diletakkan di dalam

quotation mark (" ") dan setiap medan dipisahkan dengan koma. Setiap rekod akan dipisahkan

dengan carriage return (<CR>). Contoh data bagi fail jujukan:

"Ahmad", "No 344, Jalan Lama", "Seri Kembangan", "Selangor", “33333"

"Ali", "18 Blok 3, Taman Sri Jasa", "Serdang Jaya", "Selangor", "23123"

"Bakar", "456 Blok Meranti", "Taman Sri Serdang", "Selangor", "54367"

Menulis Data Ke dalam Fail Jujukan

Sebelum data dapat ditulis, fail harus dibuka menggunakan mode Output atau Append. Senarai

medan boleh terdiri daripada pernyataan string (string expression), pernyataan numerik (numeric

expression) dan dipisahkan oleh koma atau semikolon.

Write #FileNumber, ListOfFields

Contoh:

Write #1, txtAccount.Text, txtDescription.Text. txtPrice.Text

Write #2, strAccount

Write #intFileNum, mintCount; mintQuantity; mcurTotal

Page 5: Bab8 pemprosesan fail

Pemprosesan Fail

Mohd Farid JaafarJSM, FSKTM, UPM

102

Membaca Data di dalam Fail Jujukan

Bagi mendapatkan data dari fail jujukan, fail tersebut perlu dibuka menggunakan mode Input.

Kemudian pernyataan Input # akan digunakan. FileNumber pada pernyataan Input # merupakan

nombor bagi fail yang telah dibuka. Setiap medan dipisahkan dengan koma.

Input #FileNumber, ListOfFields

Contoh:

Input #1, lblName.Caption, lblStreet.Caption, lblCity.Caption

Input #2, strAccount

Input #intFileNum, intSavedCount, intSavedQuantity, curSavedTotal

FAIL RAWAK (RANDOM FILE)

Perbezaan antara Fail jujukan dan fail rawak ialah data boleh dibaca dan ditulis dalam sebarang

bentuk/cara. Bagi fail jujukan, untuk membaca sebarang elemen data. Elemen akan dibaca secara

berturutan dari awal rekod sehingga elemen yang dicari dijumpai. Fail rawak membenarkan

capaian data secara rawak di mana setiap rekod diberi nombor. Data dicapai menggunakan

nombor tersebut tanpa perlu mengetahui kedudukan rekod.

Nama Alamat Tetap Kolej Program(1) Ali bin Abu No 13 Jalan

Kuching, KLKolej 11 Diploma Sains

Komputer(2) Ahmad bin

Hasan56 Lot 32, Jalan Melewar, Pahang

Kolej 10 Bacelor Sains Komputer

(3) Mohamad Hanif

33 Blok Meranti Taman Sri Jaya

Kolej 6 Diploma Sains Komputer

(4) Adriana Ahmad

4 Jalan Kembara 1, KL

Kolej 8 Bacelor Sains Komputer

Semua rekod bagi fail rawak mempunyai saiz yang sama. Medan bagi setiap rekod juga

ditentukan saiznya.

Page 6: Bab8 pemprosesan fail

Pemprosesan Fail

Mohd Farid JaafarJSM, FSKTM, UPM

103

Menentukan Struktur Rekod bagi Fail Rawak

Sebelum membaca atau menulis fail rawak, struktur rekod mestilah ditentukan terlebih dahulu

menggunakan pernyataan Type/End Type. Contoh:

Private type StrukturPelajar

strNama As String * 20

strAlamat As String * 20

strKolej As String * 12

strProgram As String * 20

End Type

Dim mRekodPelajar As StrukturPelajar

Membuka Fail Rawak

Gunakan penyataan Open dengan mode Random. Mod ini membenarkan kita memberikan

input dan output kepada fail yang sama tanpa perlu membuka dan menutup fail tersebut.

Open "C:\Data\Nama.txt" For Random As #1 Len = 72

Open "A:\Peiajar.dat" For Random As #2 Len = Len (mRekodPelajar)

Len (Length) merupakan panjang bagi sate rekod.

Menulis Data Ke dalam Fail Rawak

Data ditulis menggunakan pernyataan Put dan menentukan nombor rekod yang ditulis.

Put [#]FileNumber, [RecordNumber], RecordName

Contoh:

Put #l, intNomborRekod, mRekodPelajar

Put #2, 4, mRekodPelajar

Page 7: Bab8 pemprosesan fail

Pemprosesan Fail

Mohd Farid JaafarJSM, FSKTM, UPM

104

Mencapai Data dari Fail Rawak

Data ditulis menggunakan pernyataan Get dan menentukan nombor rekod yang ingin dicapai.

Get [#]FileNumber, [RecordNumber], RecordName

Contoh:

Get #1, intNomborRekod, mRekodPelajar

Get #2, 4, mRekodPelajar