Anda di halaman 1dari 20

OPERASI FILE

Operasi file merupakan bentuk pemrograman yang melibatkan data yang tersimpan
dalam bentuk file. Kebanyakan program melibatkan media disk sebagai tempat
untuk membaca atau merekam data. Data sendiri disimpan dalam disk dalam
bentuk suatu kesatuan yang disebut dengan File Data yang tersimpan secara
permanent. Salah satu cara memasukkan data kedalam file data adalah melalui
perantaraan program.

Untuk mengelola data pada file data dengan menggunakan program, maka
diperlukan statemen-statemen yang terdiri dari :
1. Mendeklarasikan pengenal file data
Sebelum sebuah file data diaktifkan, maka pengenal dari file data tersebut
harus dideklarasikan terlebih dahulu dengan cara :
Bentuk umum :
FILE *nama pointer file/Variabel File;
Keterangan :
• Penulisan file harus dengan huruf besar
• Nama pointer file adalah penunjuk alamat dari file yang dapat dikatakan
dengan nama pengenal file data.
Syarat pemberian namanya sama seperti syarat memberi nama sebuah variable.
Contoh :
FILE *fmhs; atau FILE *Fmhs;
char nobp[13], nm[25]; struct
float nmid, nakhir; {
char nobp[13], nm[25];
float nmid, nakhir;
}Rmhs

Artinya :
- Diperkenalkan sebuah nama pengenal file data yaitu “fmhs” yang mana ke
dalam file datanya nanti dapat dimasukkan data-data nobp, nm, nmid, nakhir.
2. Mengaktifkan file data
Setelah nama pengenal dari file data dideklarasikan dan sebelumdata dimasukkan
kedalam file data atau dibaca dari file data, maka file data tersebut harus diaktifkan
terlebih dahulu dengan cara :

Bentuk umum :
Bentuk umum :

Nama pointer file=fopen(“nama file data”, “mode”);


atau
Vf=fopen(“nama file data”,”mode”);

Keterangan :
a. Nama pointer file disesuaikan dengan nama yang diperkenalkan pada bagian
deklarasi.

b. Nama file data adalah nama dari file yang akan digunakan sebagai tempat
data.
Syarat pemberian namanya sama dengan syarat memberi nama file yang
under dos yaitu : Maximal 8 karakter ditambah dengan extensi sebanyak 3
karakter dan tidak boleh ada spasi.

c. Mode digunakan untuk menyatakan fungsi dari file data yang diaktifkan dan
terdiri dari :
- w (write)
Menyatakan fungsi file data sebagai tempat untuk menampung data yang
diinputkan, dimana data pertama yang diinputkan pada setiap akan memulai
menjalankan program akan menempati posisi data record yang pertama. (dimulai
dari nomor record 0)

- r (read)
Menyatakan fungsi file data sebagai tempat untuk membaca data dari file data.

- a (append)
Menyatakan fungsi file data sebagai tempat untuk menambah data, dimana setiap
data yang diinputkan akan selalu menempati posisi sesudah data record yang ada
dalam file data.

Contoh :
Fmhs=fopen(“nilai.txt”,”w”);

Artinya :
fmhs sama artinya dengan nilai.txt yang diaktifkan sebagai tempat untuk
menampung data.
3. Memasukkan atau menyimpan data yang diinputkan kedalam file data.
Setelah file data diaktifkan baru data dapat dimasukkan kedalam file data dengan
cara :

Bentuk umum -1:


fprintf(nama pointer file, ”format data-1 format data-2 … format data-n”, nama
var-1, nama var-2,…, nama var-n)

Keterangan :
- Nama pointer file sesuai dengan nama yang diperkenalkan pada bagian deklarasi.
- Format data adalah yang menjelaskan data-data yang akan dimasukkan kedalam
file data, dimana jumlahnya sama dengan nama variable dan penulisan formatnya
harus disesuaikan dengan masing-masing jenis variabelnya.
Contoh :
fprintf(fmhs,”%s %s %5.2f %5.2f \n”, nobp,nm,nmid,nakhir);

Artinya :
Memasukkan atau menyimpan data-data nobp, nm, nmid, dan nakhir kedalam file
data nilai.txt (yang diwakilkan oleh nama pengenalnya yaitu fmhs).
Bentuk Umum-2 :
fwrite (&variabel struktur,sizeof(variabel struktur),1,pointer file);

Catt: variabel struktur = vr

fwrite (&vr,sizeof(vr),1,vf);

4. Membaca atau mengambil data dari file data.


Untuk membaca data dari file data, maka dilakukan dengan cara :
Bentuk umum 1:
fscanf(nama pointer file, “format data-1 format data-2 … format data-n”,
nama var-1, nama var-2,…, nama var-n)

Keterangan :
- Nama pointer file sesuai dengan nama yang dideklarasikan
- Format data digunakan untuk menjelaskan data yang dibaca dari file data yang
jumlahnya sama dengan nama variable dan jenis formatnya harus disesuaikan
dengan masing-masing variabelnya.
Contoh :
fscanf(Fmhs, ”%s %s %5.2f %5.2f \n”, nobp, nm, &nmid, &nakhir);

Artinya :
Membaca data nobp, nm, nmid dan nakhir dari file data nilai.txt (yang
diwakilkan oleh nama pengenalnya yaitu mhs). Penggunaan fungsi fscanf
sama seperti penggunaan fungsi scanf yaitu sebelum nama variable yang
berjenis selain dari variable string harus diawali dengan simbol (&).

Bentuk Umum -2:

fread (&variabel struktur,sizeof(variabel struktur),1,pointer file);


atau
fread (&vr,sizeof(vr),1,vf);
5. Menutup file data
Setelah file data digunakan sebagai tempat menampung atau membaca data maka
file data tersebut harus ditutup kembali dengan cara :

Bentuk umum :
fclose(nama pointer file);

Contoh :
fclose(Fmhs) atau fclose(vf)

Artinya :
Menutup file data nilai.txt (yang diwakilkan oleh pengenalnya yaitu fmhs)
Kesimpulan :
 
1. Untuk membuat program input yang sederhana, maka langkah-langkah yang
harus dikerjakan adalah :
a. Deklarasikan pengenal file data dengan statement FILE
b. Aktifkan file data dengan statement fopen dengan memakai mode “w”
c. Inputkan data dengan statement scanf, gets/getche yang telah dipelajari
sebelumnya.
d. Masukkan atau simpan data kedalam file data dengan statement fprinf
e. Tutup file data dengan statement fclose

2. Untuk membuat program laporan yang sederhana, maka langkah-langkah yang


harus dikerjakan adalah dengan cara :
a. Deklarasikan pengenal file data dengan statement FILE
b. Aktifkan file data dengan statement fopen dengan memakai mode “r”
c. Baca data dari dalam file data dengan statement fscanf
d. Proses data yang dibaca dengan proses biasa atau pengambilan keputusan
seperti if apabila dibutuhkan
e. Tampilkan data yang dibaca atau didapat dari hasil proses dengan statement
printf yang telah dipelajari sebelumnya
f. Tutup file data dengan statement close.
Contoh 1:

#include<stdlib.h>

main() {
FILE *file;

file = fopen("file.txt", "r");


if(file == NULL){
printf("File tidak ditemukan!");
}else{
printf("File tersedia!");
}
fclose(file);
getch();
}
Contoh 2:

#include<stdio.h>
#include<conio.h>

int main()
{
char data[50];
int i=0;
FILE *fp;

fp=fopen("data.txt", "w");

for(i=0; i<5; i++)


{
printf("Masukkan data ke-%d : ", i+1); fflush(stdin); gets(data);
fprintf(fp, "%s\n", data);
}
fclose(fp);

printf("\n\nData berhasil ditulis");


return 0;
}
Contoh 3:

#include<stdio.h>
#include<conio.h>
main()
{
FILE *Fbuku;
char jb[30];
char pb[25];
int jml;
char adl ='Y', dsb='Y';

Fbuku=fopen("dbuku1.dat", "w");
if(Fbuku==NULL)
{
clrscr();
printf("File Tidak Dapat Dibuat!!");
getch();
}
Contoh 3:

while(adl=='y'|| adl=='Y')
{
clrscr();
gotoxy(25,5); printf("Entry Data Buku");
gotoxy(25,6); printf("-------------------");
gotoxy(25,8); printf("Judul Buku : "); gets(jb);
gotoxy(25,9); printf("Pengarang Buku : "); gets(pb);
gotoxy(25,10); printf("Jumlah Buku : "); scanf("%i", &jml); fflush(stdin);
gotoxy(25,12); printf("Data Sudah Benar? Y/T : "); adl=getche();

if(dsb== 'Y'||dsb=='y')
fprintf(Fbuku, "%s %s %i\n", jb,pb,jml);
gotoxy(25,13); printf("Ada Lagi Data? Y/T : "); adl=getche();
printf("\n");
}
fclose(Fbuku);
getch();
return 0;
}
Contoh 4:

#include<stdio.h>
#include<conio.h>
main(){
FILE *Fbuku;
char jb[30];
char pb[25];
int jml;
int br,no;
Fbuku=fopen("dbuku1.dat", "r");
if(Fbuku==NULL)
{
clrscr();
printf("File Tidak Ada!");
getch();
}
clrscr();
gotoxy(25,1); printf("Laporan Data Buku");
gotoxy(5,3); printf("-------------------------------------------------------------------------");
gotoxy(5,4); printf("| No. | Judul Buku | Pengarang | Jumlah
|");
gotoxy(5,5); printf("-------------------------------------------------------------------------");
/*
56789012345678901234567890123456789012345678901234567890123456789012
34567890
1 2 3 4 5 6 7 */
br=6;no=0;
while(fscanf(Fbuku,"%s %s %i\n", jb,pb,&jml)!=EOF)
{
no++;
gotoxy(5,br); printf("|"); gotoxy(7,br); printf("%i", no);
gotoxy(11,br); printf("|"); gotoxy(13,br); printf("%s", jb);
gotoxy(42,br); printf("|"); gotoxy(44,br); printf("%s", pb);
gotoxy(68,br); printf("|"); gotoxy(71,br); printf("%i", jml);
gotoxy(77,br); printf("|");
br++;
}
gotoxy(5,br); printf("-------------------------------------------------------------------------");
getch();
fclose(Fbuku);
}
Contoh 5:

#include<stdio.h>
#include<conio.h>
main(){
FILE *Fbuku;
char adl='Y', dsb='Y';
struct
{
char jb[30];
char pb[25];
int jml;
}Rbuku;

Fbuku=fopen("dbuku2.dat", "w");
if(Fbuku==NULL)
{
clrscr();
printf("File Tidak Dapat dibuat!");
getch();
}
Contoh 5:

while(adl=='y'||adl=='Y')
{
clrscr();
gotoxy(25,5); printf("Entry Data Buku");
gotoxy(25,6); printf("-----------------------");
gotoxy(25,7); printf("Judul Buku : "); gets(Rbuku.jb);
gotoxy(25,8); printf("Pengarang Buku : "); gets(Rbuku.pb);
gotoxy(25,9); printf("Jumlah Buku : "); scanf("%i", &Rbuku.jml); fflush(stdin);
gotoxy(25,12); printf("Data Sudah benar? Y/T : "); dsb=getche();

if(dsb=='y'||dsb=='Y')
fwrite(&Rbuku,sizeof(Rbuku),1,Fbuku); fflush(stdin);
gotoxy(25,13); printf("Ada lagi data? Y/T : "); adl=getche();
}
fclose(Fbuku);
getch();
return 0;
}
Contoh 6:

#include<stdio.h>
#include<conio.h>
main(){
FILE *Fbuku;
int br,no;
struct{
char jb[30];
char pb[25];
int jml;
}Rbuku;

Fbuku=fopen("dbuku2.dat", "r");
if(Fbuku==NULL)
{
clrscr();
printf("File Tidak Ada!");
getch();
}
clrscr();
gotoxy(25,1); printf("Laporan Data Buku");
gotoxy(5,3); printf("-------------------------------------------------------------------------");
gotoxy(5,4); printf("| No. | Judul Buku | Pengarang | Jumlah
|");
gotoxy(5,5); printf("-------------------------------------------------------------------------");
/*
56789012345678901234567890123456789012345678901234567890123456789012
34567890
1 2 3 4 5 6 7 */
br=6;no=0;
while(fread(&Rbuku, sizeof(Rbuku),1,Fbuku)==1)
{
no++;
gotoxy(5,br); printf("|"); gotoxy(7,br); printf("%i", no);
gotoxy(11,br); printf("|"); gotoxy(13,br); printf("%s", Rbuku.jb);
gotoxy(42,br); printf("|"); gotoxy(44,br); printf("%s", Rbuku.pb);
gotoxy(68,br); printf("|"); gotoxy(71,br); printf("%i", Rbuku.jml);
gotoxy(77,br); printf("|");
br++;
}
gotoxy(5,br); printf("-------------------------------------------------------------------------");
getch();
fclose(Fbuku);
}
Tugas Akhir :
Buatlah Program C untuk menyelesaikan kasus di bawah ini menggunakan Struktur dan
procedure dalam bentuk operasi file dan dalam bentuk menu pilihan seperti lay-out sebagai
berikut :

Anda mungkin juga menyukai