Wednesday, December 10, 2008

Dasar-Dasar Operasi File Bahasa C

Operasi file sangat dibutuhkan dalam implementasi pembuatan program yang sebenarnya. Tanpa operasi file, maka data yang terlibat dalam sebuah program hanya tersimpan sementara di memori RAM. Dampaknya jika program berakhir maupun ketika power komputer dimatikan maka data akan hilang. Dengan demikian operasi file dibutuhkan untuk menyimpan data secara permanen di harddisk berupa sebuah file dengan ekstensi tertentu. Dengan cara ini, kapasitas data yang disimpan bisa jauh lebih besar.

Operasi-operasi dasar dalam file adalah membuka file, merekamkan data ke file, membaca data dari file dan menutup file. Lebih jelasnya bisa dilihat di source code berikut:

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
FILE *pf;        //deklarasi variabel bertipe pointer ke file
int i, n, pilih;
char kode [5], nama [20], lagi;
float piutang;
do
{
printf("\n\nMenu:\n1.Rekam ke File\n2.Baca dari File\nPilih = ");
scanf("%d", &pilih);
switch (pilih)
{
case 1:
if ((pf = fopen("contoh.rhs", "a+")) == NULL)    //buka file
{
printf("ERROR: File tdk dpt dibuka!!!\n");
exit(1);
}
printf("jumlah data = "); scanf("%d", &n); flushall();
printf("\n");
for(i=1; i<=n; i++)
{
printf("Data ke %d : \n", i);
printf("Kode = "); fflush(stdin); scanf("%s", kode);
printf("Nama = "); fflush(stdin); scanf("%s", nama);
printf("Piutang = "); fflush(stdin); scanf("%f", &piutang);
printf("\n");
fprintf(pf, "%s\n", kode);    //tulis ke file
fprintf(pf, "%s\n", nama);
fprintf(pf, "%f\n", piutang);
}
fclose(pf);        //tutup file
break;
case 2:
i=0;
if ((pf = fopen("contoh.rhs", "r")) == NULL)
{
printf("ERROR: File tdk dpt dibuka!!!\n");
exit(1);
}
/* baca dari file -> copy data ke variabel */
while(fscanf(pf, "%s %s %f", kode, nama, &piutang) != EOF)
{
printf("Data ke %d : \n", ++i);
printf("Kode = %s\n", kode);
printf("Nama = %s\n", nama);
printf("Piutang = %f\n\n", piutang);
}
fclose(pf);
break;
}
flushall();        //bersihkan isi buffer
printf("Ulangi ? "); lagi = getch();
}
while(lagi=='y');
}

Kesimpulannya, untuk membuka file digunakan perintah fopen(). Untuk menulis data terformat menggunakan perintah fprintf(). Untuk membaca data dari file memakai perintah fscanf(). Dan untuk menutup file dipakai perintah fclose(). Selamat mencoba :)

2 comments: