M12-Operasi FIle - Universitas Muhammadiyah Malang

Download Report

Transcript M12-Operasi FIle - Universitas Muhammadiyah Malang

Pemrogramman Terstruktur
File Handling
Teknik Informatika
Universitas Muhammadiyah Malang
2012
Media Penyimpanan Data
• Volatile
– Mudah berubah, mudah hilang
– Memory
• Non Volatile
– Tidak mudah berubah
– Hard disk  file
2
Struktur File
• File merupakan kumpulan record
• Tiap record dapat terdiri atas satu atau
beberapa field
• Tiap field terdiri atas minimal satu byte
• Satu byte terdiri atas 8 bit
Tahapan Operasi File
1. Membuka
File
2. Memproses
File
3. Menutup
File
Tahapan 1 : Membuka File
• Sebelum dibaca atau ditulis, file harus
diaktifkan dulu.
• Gunakan fungsi fopen(), caranya :
FILE *fopen (char *namafile, char *mode);
– namafile : nama file yang akan dibuka
– mode : jenis operasi yang akan diterapkan
terhadap file
Mode FILE
“r”
membaca file yang sudah ada, jika file tidak ditemukan
error
“w” membuat file baru, jika sudah ada file dengan nama
yang sama akan dioverwrite
“a”
membuka file yang sudah ada untuk ditambah data
diakhir file. Jika file belum ada maka akan dibuat file baru
“r+” membuka file yang sudah ada untuk update(read and
write)
“w+” membuat file baru untuk update, jika sudah ada file
dengan nama yang sama akan dioverwrite
“a+” membuka file (atau membuat jika file belum ada)
untuk menambahkan data pada akhir file
6
Contoh : Membuka File dengan mode r
• Contoh pemakaian
FILE *f;
f = fopen(“data.txt”, r);
• Hasil fopen NULL jika file tidak berhasil
diaktifkan atau dibuka.
• Misalnya, saat membuka dengan mode r tapi
file tidak ada di lokasi, maka akan
mengembalikan NULL.
Tahap 2 : Memproses File
• Membaca & menulis per karakter
• Membaca & menulis per int
• Membaca & menulis string ke file
Fungsi Standard File
•
•
•
•
•
•
•
•
•
•
fputc()
fgetc()
putw()
getw()
fputs()
fgets()
fprintf()
fscanf()
fwrite()
fread()
meletakkan karakter
membaca karakter
meletakkan integer
membaca integer
meletakkan string
membaca string
meletakkan data terformat
membaca data terformat
meletakkan blok data
membaca blok data
9
Menulis per karakter
• Menggunakan fungsi fputc()
• Prototipe :
int fputc(char kar, FILE *f);
• kar : karakter yang akan ditulis ke file
• f : hasil keluaran fopen
• Jika berhasil akan mengembalikan nilai kar,
jika gagal mengembalikan -1
Membaca per karakter
• Gunakan fungsi fgetc();
• Prototipenya :
int fgetc(FILE *pf);
• Jika berhasil, fungsi akan mengembalikan nilai
karakter yang dibaca, jika gagal
mengembalikan EOF (-1)
Membaca & Menulis per int
• Gunakan _putw (untuk menulis ke file) dan
_getw (untuk membaca dari file)
• Prototipe :
int _putw(int nilai, FILE *pf);
- nilai : nilai integer yang ingin ditulis ke file
int _getw(FILE *pf);
Membaca & Menulis Data String
• Gunakan fputs() dan fgets()
• Prototipe :
int fputs(char *str, FILE *p);
• Kegunaan
– fputs : menulis string ke file
– fgets : membaca string dari file dari baris awal
sampai ditemukannya ‘\n’ atau setelah (n-1)
karakter
Tahap 3 : Menutup File
• Jumlah file yang dapat dibuka serentak adalah terbatas.
• Untuk menutup file, gunakan fclose()
• Prototipenya :
int fclose(FILE *f);
• Fungsi fclose akan mengembalikan 0 jika penutupan berhasil.
• Untuk menutup semua file, fcloseall();
• Prototipe :
int fcloseall(void);
Contoh fclose
FILE *PF;
PF = fopen(“c:\\data.txt”,”r”);
fclose(PF);
untuk menutup semua file:
fcloseall();
15
Daftar Pustaka
• Budi Hartanto, “Pembuatan Program C”,
Penerbit Andi, 2004
• Jogiyanto H., “Konsep Dasar Pemrograman
Bahasa C”, Penerbit Andi, 2003