File Processing
Penggunaan operasi FILE dalam sebuah program
sangat dibutuhkan dalam pembuatan program yang sesungguhnya. Kita membutuhkan
file sebagai tempat penampung data-data selama operasi program. Jika kamu
menggunakan variabel biasa, data yang biasanya diolah program hanya akan
tersimpan sementara dalam memory dan akan hilang ketika program close. Berbeda
dengan memory, penyimpanan data berbasis file akan tersimpan
terus walaupun program telah diclose maupun komputer telah di shutdown.
Pada
dasarnya, operasi file terbagi 3 jenis. Read (R), Write(W), dan
Append(A). Read artinya membaca isi file, write menulis data ke file
dan append menambahkan data ke baris terakhir dalam file.
Jenis Operasi File
• r menyatakan
file hanya akan dibaca, jika file belum ada maka tidak akan berhasil
• w menyatakan
bahwa file baru diciptakan. Jika file tersebut sudah ada dalam disk, isinya
yang lama akan terhapus
• a untuk
membuka file yang sudah ada untuk ditambah dengan data, jika file belum ada
akan dibuat yang baru
• r+ sama dengan
“r” tetapi selain file dapat dibaca,
file juga dapat ditulisi
• w+ sama dengan
“w” tetapi selain file dapat
ditulisi, file juga dapat dibaca
• a+ sama dengan
“w” tetapi selain file dapat
ditulisi, file juga dapat dibaca
Input Output standard
fungsi untuk membaca dan menulis :
scanf
sscanf getchar getch gets printf putchar puts
Membuka File atau Membuat File
Fungsi fopen() digunakan untuk membuat file baru atau untuk membuka file yang sudah ada.
Sintaks Umum:
* fp = FILE * fopen (const char * filename, const char * mode);
Di sini, * fp adalah penunjuk FILE (FILE * fp), yang akan memegang referensi ke file yang dibuka (atau dibuat).
Menutup File
Fungsi fclose () digunakan untuk menutup file yang
sudah dibuka.
Sintaks Umum:
int fclose (FILE * fp);
Di sini fclose () fungsi menutup file dan
mengembalikan nol pada sukses, atau EOF jika ada kesalahan dalam menutup file.
EOF ini didefinisikan secara konstan dalam file header stdio.h.
Contohnya Codingan :
#include<stdio.h>
#include<string.h>
FILE
*fp;
struct
orang{
char nama[101];
int age;
};
int
count=0;
void
add_data(struct orang binus[],char nama[],int age){
strcpy(binus[count].nama,nama);
binus[count].age=age;
count++;
}
Keterangan : untuk menambahkan data
ke struct dan count untuk menghitung udah berapa data yang diinput
void
view_data(struct orang binus[]){
for(int l=0; l<count; l++){
printf("%s
%d\n",binus[l].nama,binus[l].age);
}
}
Keterangan : untuk menampilkan data
void
write_file(struct orang binus[]){
fp=fopen("testdata.in","w");
for(int l=0; l<count; l++){
fprintf(fp,"%s@%d\n",binus[l].nama,binus[l].age);
}
fclose(fp);
}
Keterangan : untuk menuliskan data
void
read_file(struct orang binus[]){
fp=fopen("testdata.in","r");
while(!feof(fp)){
fscanf(fp,"%[^@]@%d\n",&binus[count].nama,&binus[count].age);
count++;
}
fclose(fp);
}
Keterangan : untuk membaca data
int
main(){
struct orang binus[200];
char nama[100];
int age;
read_file(binus);
scanf("%[^\n]",&nama);
scanf("%d",&age);
add_data(binus,nama,age);
view_data(binus);
write_file(binus);
return 0;
}
Comments
Post a Comment