Pemrograman Lanjut
Konsep Dasar
Bahasa C mendukung penyimpanan dan pembacaan data
dari sebuah file.
File adalah sebuah organisasi dari sejumlah record.
Masing-masing record bisa terdiri dari satu atau beberapa field. Setiap field terdiri dari satu atau beberapa byte.
Pengaksesan file pada C menggunakan konsep stream.
Stream merupakan penghubung antara programmer dengan file.
Sebuah stream terhubung dengan file melalui operasi
open dan terputus dari file melalui operasi close.
Ada dua tipe stream:
Text (untuk tipe data karakter) dan
Biner (untuk sembarang tipe data).
Jenis - Jenis Operasi File
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 pembacaan/penulisan w+ Membuat sebuah file teks untuk pembacaan/penulisan
a+ Menambahkan data/membuat file teks untuk pembacaan/penulisan
r+b atau rb+ Membuka sebuah file binary untuk pembacaan/penulisan w+b atau wb+ Membuat sebuah file binary untuk pembacaan/penulisan
Membuka File
Bahasa C mendukung penyimpanan dan pembacaan data
dari sebuah file.
Untuk membuka atau mengaktifkan file, fungsi yang
digunakan adalah fungsi fopen().
Penambahan yang perlu dilakukan untuk menentukan
mode teks atau biner adalah “t” untuk file teks dan “b” untuk file biner.
Prototype fungsi fopen() ada di header fungsi “stdio.h”
Membuka File
Jika operasi open berhasil, fopen() mengembalikan
sebuah file pointer yang valid.
Jika operasi gagal, maka fopen()mengembalikan sebuah
null pointer, sehingga harus selalu dicek pada saat pembukaan file.
Contoh:
Menutup File
Untuk menutup file, fungsi yang digunakan adalah
fclose().
Prototype fungsi fclose() ada di header file “stdio.h”. Contoh:
Fungsi untuk Operasi File Teks
Menulis Karakter
Untuk menulis sebuah karakter, bentuk yang
digunakan adalah :
fputc(int ch, file *fp)
fp adalah pointer file yang dihasilkan oleh fopen()
ch adalah karakter yang akan ditulis.
Fungsi untuk Operasi File Teks
8
Membaca Karakter
Untuk membaca karakter dari file, fungsi yang
digunakan adalah : fgetc(file *fp);
fp adalah pointer file yang dihasilkan oleh fopen()
Fungsi feof(), digunakan untuk mendeteksi akhir file.
Fungsi untuk Operasi File Teks
Membaca dan menulis String
Fungsi untuk membaca dan menulis string adalah :
fgets() dan fputs()
Bentuk Umum :
fgets(char *str, int p, file *fp) fputs(char *str, file *fp)
Fungsi untuk Operasi File Teks
10
Membaca dan menulis File Terformat
Jika diinginkan, data bilangan dapat disimpan ke dalam
file dalam keadaan terformat.
Fungsi yang digunakan adalah :
Fungsi untuk Operasi File Teks
Membaca dan menulis Blok data
Untuk membaca dan menulis blok data (mis. Karakter,
integer, structure, dll)
Untuk dapat menggunakan fwrite(), file harus dibuka
dengan tambahan opsi “b” (binary)
Bentuk umum :
fread(void *buffer, int b_byte, int c, file *fp); fwrite(void *buffer, int b_byte, int c, file *fp);
Keterangan :
buffer : pointer ke area di memori yang menampung
data yg akan dibaca ke file
b_byte : banyaknya byte data yang akan dibaca/tulis
(dapat menggunakan sizeof(buffer))
Fungsi untuk Menghapus File
12
Syntax:
Nama file adalah nama file yang akan dihapus
Output : 0 -> jika berhasil dihapus, selain 0 -> jika gagal
dihapus.
Fungsi mengganti nama File
Syntax:
Output : 0 -> jika berhasil dihapus, selain 0 -> jika gagal
dihapus.