File sekuensial OPERASI FILE

2008 | Direktorat Pembinaan SMK 423 Dalam definisi arsip sekuensial, tidak pernah sebuah arsip diproses untuk kedua modus: dibaca dan sekaligus ditulis. Primitif-primitif tsb, akan didefinisikan kemudian. Gambar 12.3. Operasi File skuensial Program 12.6 include stdio.h using namespace std; void main { int request, account; float balance; char name[ 25 ]; FILE cfPtr; if cfPtr = fopen klien.dat , r+ == NULL printf File could not be opened\n ; else { printf Enter request\n 1 ‐ List accounts with zero balances\n 2 ‐ List accounts with credit balances\n 3 ‐ List accounts with debit balances\n 4 ‐ End of run\n? ; scanf d , request ; 424 Direktorat Pembinaan SMK | 2008 while request = 4 { fscanf cfPtr, dsf , account, name, balance; switch request { case 1 : printf \nAccounts with zero balances:\n ; while feofcfPtr { if balance == printf ‐10d‐13s7.2f\n , account, name, balance; fscanf cfPtr, dsf , account, name, balance; } break; case 2 : printf \nAccounts with credit balances:\n ; while feofcfPtr { if balance printf ‐10d‐13s7.2f\n , account, name, balance; fscanf cfPtr, dsf , account, name, balance; } break; case 3 : printf \nAccounts with debit balances:\n ; while feofcfPtr { if balance printf ‐10d‐13s7.2f\n , account, name, balance; fscanf cfPtr, dsf , account, name, balance; } break; } rewindcfPtr; printf \n? ; scanf d , request; } printf End of run.\n ; fclosecfPtr; } } 2008 | Direktorat Pembinaan SMK 425

12.12. Program Operasi FiIe

Dari uraian operasi file diatas, dibawah ini merupakan beberapa operasi file yang sering dilakukan sehari-hari. Setiap kita bekerja dengan menggunakan komputer kita biasanya melakukan operasi membuka file, menulis file, menambah data file, menghapus file, menutip file dan lain sebagainya. Operasi tersebut dilakukan dengan menggunakan mouse atau keyboard secara langsung Bagaimana jika hal tersebut dilakukan leh program?. Tentunya hal tersebut harus ada instruksi atau perintah-perintah yang digunakan oleh tiap operasi tersebut. Dibawah ini merupakan beberapa operasi file yang dilakukan dengan bahasa C++.

12.12. 1. Membuka file

Perintah membuka file dan menghubungkannya dengan stream dengan fopen library stdio.h dan menutupnya dengan fclose FILE fopenchar nama_file, char mode FILE fcloseFILE pointer_file Dalam membuka file diperlukan mode, dimana hal tersebut merupakan cara pengaksesan file. Berikut daftar mode yang dapat digunakan: Tabel 12.9. Mode operasi file pada C MODE ARTI r Membuka sebuah file teks untuk pembacaan w Membuat sebuah file teks untuk penulisan a Menambahkan data ke sebuah file teks rb Membuka sebuah file binary untuk pembacaan wb Membuat sebuah file binary untuk penulisan ab Menambahkan data ke sebuah file binary r+ Membuka sebuah file teks untuk pembacaanpenulisan w+ Membuat sebuah file teks untuk pembacaanpenulisan a+ Menambahkan datamembuat file teks untuk pembacaanpenulisan r+b atau rb+ Membuka sebuah file binary untuk pembacaanpenulisan w+b atau wb+ Membuat sebuah file binary untuk pembacaanpenulisan a+b atau ab+ Menambahkan data ke file binary untuk pembacaanpenulisan Dalam operasi file dilakukan ada beberapa hal yang perlu diperhatikan antara lain: jika operasi open berhasil, fopen mengembalikan sebuah file pointer yang valid, sedangkan jika operasi gagal, maka fopen mengembalikan sebuah null pointer, sehingga harus selalu dicek 426 Direktorat Pembinaan SMK | 2008 pada saat pembukaan file. Perhatikan program dibawah ini: FILE fp; iffp=fopen fileku.txt , r ==NULL { cout Error dalam pembukaan file\n ; exit 1 ; } fclosefp; menutup stream file Dibawah ini merupakan fungsi untuk operasi file teks antara lain a. fgetc dan fputc, dimana Sintaknya dapat ditulis: int fgetcFILE fp; int fputcint ch, FILE fp; Program 12.7 include stdio.h include stdlib.h using namespace std; int main { FILE fp; int i; int ch; fp = fopen foo.abc , w ; buka file foo.abc untuk ditulisi for i= ;i 10 ;i++ { loop untuk meletakkan karakter2 fputcA,fp; menuliskan karakter A fputc\n,fp; menuliskan pergantian baris } fclosefp; iffp = fopen foo.abc , r ==NULL { cout Error reading file...\n ; exit 1 ; } while ch=EOF { baca file sampai tanda EOF End of File ch=fgetcfp; ambil satu karakter putcharch; menampilkan karakter ke layar } fclosefp;