Operasi File
MK. Pemrograman Dasar
Prodi Teknik Elektro
Universitas Padjadjaran
Oleh: Dr. Darmawan Hidayat, M.T. 1
Pokok Bahasan dan Tujuan
• Pokok bahasan: Operasi File
• Sub pokok bahasan:
1. Membuat file baru
2. Membuka file baru
3. Membaca dari dan menulis ke file
4. Menutup file
5. File teks dan file biner
• TIK: Setelah mengikuti kuliah dengan pokok bahasan operasi file mahasiswa akan
dapat menerapkan instruksi-instruksi operasi file Bahasa C untuk membuat,
membuka baca-tulis dan menutup file jenis teks dan biner dengan benar (C3).
• Waktu: 2 x 50 menit = 100 menit
• Pertemuan ke-11
Dr. Darmawan Hidayat, M.T. 2
Mengapa file diperlukan?
• Ketika program dihentikan, seluruh data akan hilang.
• Jika anda ingin tetap menyimpan volume data yang besar, file dapat
digunakan untuk keperluan tersebut.
• Terdapat banyak fungsi untuk menangani I/O file.
• Pada kuliah ini anda akan belajar fungsi standar (fungsi I/O file tingkat
tinggi) untuk menangani file.
Oleh: Dr. Darmawan Hidayat, M.T. 3
Operasi File
1. Membuat file baru
2. Membuka file baru
3. Membaca dari dan menulis ke file
4. Menutup file
• Ketika bekerja dengan file, anda perlu mendeklarasikan sebuah
pointer bertipe file.
• Deklarasi berikut diperlukan untuk komunikasi antara file dan
program.
FILE *ptr;
Oleh: Dr. Darmawan Hidayat, M.T. 4
Membuka file
• Membuka file dilakukan dengan menggunakan fungsi pustaka fopen().
Sintaks untuk membuka file di dalam I/O standar adalah:
ptr=fopen(“nama_file","mode")
• Contoh:
fopen("D:\\[Link] ","w");
/* --------------------------------------------------------- */
D:\\[Link] adalah lokasi untuk membuat file
"w" menyatakan mode tulis.
/* --------------------------------------------------------- */
Oleh: Dr. Darmawan Hidayat, M.T. 5
Mode File pada I/O Standar
Mode File Arti Mode Keterangan
r Membaca file Jika file tidak ditemukan, fopen() menghasilkan NULL
Jika file ada, isi file tersebut akan ditimpa. Jika tidak
w Menulis file
ada, file akan dibuat.
a Menggabungkan file Jika file tidak ada maka file akan dibuat
Jika file tidak ada maka fopen() akan menghasilkan
r+ Membaca dan menulis file
NULL
Membuka untuk baca dan Jika file ada, isinya akan ditimpa. Jika file tidak ada
w+
tulis file maka file akan dibuat
Membuka untuk baca dan
a+ Jika file tidak ada maka file akan dibuat
gabung file
Oleh: Dr. Darmawan Hidayat, M.T. 6
Menutup File
• File harus ditutup setelah baca/tulis file.
• Menutup file dilakukan dengan fungsi pustaka fclose().
fclose(ptr); //ptr adalah penunjukan file yang terhubung dengan file
yang akan ditutup
Oleh: Dr. Darmawan Hidayat, M.T. 7
Fungsi fprintf() dan fscanf()
• Fungsi fprintf()dan fscanf() adalah versi lain printf() and scanf().
• Perbedaannya antara fprintf() dan fscanf() adalah pada fprintf()adalah
pointer ke struktur FILE.
Oleh: Dr. Darmawan Hidayat, M.T. 8
File Biner
• Jika terdapat data numerik dalam jumlah besar harus disimpan, maka
mode teks tidak akan cukup untuk menampungnya.
• Untuk keperluan tersebut, digunakan file biner.
• Filer biner mirip dengan file teks dengan beberapa perbedaan dalam
mode bukaannya, membaca dari file dan menulis ke file.
Oleh: Dr. Darmawan Hidayat, M.T. 9
Oleh: Dr. Darmawan Hidayat, M.T. 10
Oleh: Dr. Darmawan Hidayat, M.T. 11
File Biner
Image Viewer Text Editor
Oleh: Dr. Darmawan Hidayat, M.T. 12
Mode Open file biner
• Mode open file biner adalah rb, rb+, wb, wb+, ab dan ab+.
• Perbedaan mode open antara file teks dan biner adalah b
digabungkan untuk menandakannya yaitu file biner.
Oleh: Dr. Darmawan Hidayat, M.T. 13
Membaca dan menulis file biner
• Fungsi fread() dan fwrite() digunakan untuk membaca dari dan menulis ke
suatu file biner pada disk.
• Fungsi fwrite() memerlukan empat argument yaitu:
• alamat data yang ditulis ke disk,
• ukuran data,
• jumlah tipe data, dan
• pointer ke file yang akan di tulis.
fwrite(address_data,size_data,numbers_data,pointer_to_file);
• Fungsi fread() juga memerlukan 4 argumen serupa mirip dengan fungsi
fwrite() di atas.
Oleh: Dr. Darmawan Hidayat, M.T. 14
Contoh
• Buat program untuk
membaca nama dan nilai
sejumlah n mahasiswa dari
pengguna dan
menyimpannya ke sebuah
file
Oleh: Dr. Darmawan Hidayat, M.T. 15
Contoh: [Link]
• Buat program untuk membaca
nama dan nilai sejumlah n
mahasiswa dari pengguna dan
menyimpannya ke sebuah file.
• Jika file tersebut sudah ada
sebelumnya maka tambahkan
informasi n mahasiswa.
Oleh: Dr. Darmawan Hidayat, M.T. 16
#include<stdio.h>
#include<conio.h>
Contoh
#include<stdlib.h>
struct s
{
char name[50];
int height;
};
• Buat program untuk menuliskan isi
int main()
{
struct s a[5],b[5];
larik struktur ke file dengan FILE *fptr;
int i;
menggunakan fwrite(). fptr=fopen("D:\\[Link]","wb");
for(i=0;i<5;++i)
{
• Lalu baca larik dari file tersebut dan fflush(stdin);
printf("Enter name: ");
tampilkan ke monitor. gets(a[i].name);
printf("Enter height: ");
scanf("%d",&a[i].height);
}
fwrite(a,sizeof(a),1,fptr);
fclose(fptr);
fptr=fopen("d:\\[Link]","rb");
fread(b,sizeof(b),1,fptr);
for(i=0;i<5;++i)
{
printf("\nName: %s\nHeight: %d",b[i].name,b[i].height);
}
fclose(fptr);
getch();
return 0;
}
Oleh: Dr. Darmawan Hidayat, M.T. 17
Oleh: Dr. Darmawan Hidayat, M.T. 18