Anda di halaman 1dari 6

File

Pendahuluan
File merupakan unit standar penyimpanan data yang menggunakan konsep stream dalam pengaksesannya.
Stream merupakan penghubung antara programmer dengan file. Sebuah stream terhubung dengan file melalui
operasi open dan terputus dari file melalui operasi close.

Dalam bahasa pemrograman C, terdapat dua jenis stream: teks (ASCII) dan binari. Minggu ini, FILE dan stream
jenis teks akan dibahas.

Objektif

 Memperkenalkan struktur data file


 Menjelaskan cara membuka, mengakses, dan menutup file
 Membaca dan menulis data dalam file tipe teks

Bahan Bacaan

Buku pegangan atau bahan-bahan lain yang menjelaskan tentang FILE dalam bahasa pemrograman C.

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 1
File
Stream terhubung dengan file melalui operasi open dan terputus dari file melalui operasi close. Perintah
membuka file dilakukan dengan fungsi fopen (library stdio.h) dan perintah menutup file dilakukan dengan
fungsi fclose. Prototipe kedua fungsi ini berada dalam stdio.h

FILE * fopen(char * nama_file, char * mode)


FILE * fclose(FILE * pfile)

Mode merupakan cara pengaksesan file. Berikut daftar mode yang dapat digunakan:

Mode Arti

r Membuka file teks untuk dibaca saja (read only)


w Membuat sebuah file teks untuk kemudian ditulisi
a Menambah (append) data ke dalam sebuah file teks tanpa menimpa yang ada
rb Membuka sebuah file binary untuk dibaca saja (read only)
wb Membuat sebuah file teks untuk kemudian ditulisi
ab Menambah (append) data ke dalam sebuah file binari tanpa menimpa yang ada
r+ Membuka sebuah file teks untuk pembacaan/penulisan
w+ Membuat sebuah file teks untuk pembacaan/penulisan
a+ Menambahkan data/membuat file teks untuk pembacaan/penulisan
r+b atau rb+ Membuka sebuah file binary untuk pembacaan/penulisan
w+b atau wb+ Membuat sebuah file binary untuk pembacaan/penulisan
a+b atau ab+ Menambahkan data ke file binary untuk pembacaan/penulisan

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 2
Contoh Manipulasi File
Membuka/Membuat File

FILE *ifp, *ofp;

ifp = fopen("input_file","r");
ofp = fopen("output_file","w");
:
:

 ifp dan ofp adalah pointer ke FILE

 ifp tunjuk ke file ’input_file’ dan file ini hanya dapat dibaca saja (read-only), tidak untuk ditulisi

 ofp tunjuk ke file ’output_file’. File ini akan dibuat bila sebelumnya tidak ada dan akan ditimpa bila
sebelumnya sudah ada dalam direktori

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 3
Contoh Manipulasi File

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>

int main (void){


int c;
FILE *fp;
char *filename = "data.txt";

if((fp = fopen(filename, "r"))==NULL){


printf("Error reading file...\n");
return EXIT_FAILURE;
}

while((c=fgetc(fp)) != EOF){
putchar(toupper(c));
}

fclose(fp);
return EXIT_SUCCESS;
}

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 4
Contoh Manipulasi File
Fungsi fscanf dan fprintf

int fscanf ( FILE * stream, const char * format, ... );


int fprintf ( FILE * stream, const char * format, ... );

Contoh

#include <stdio.h>
int main (void){
int a, sum = 0;
FILE *ifp, *ofp;

ifp = fopen("input_file.txt", "r");


ofp = fopen("output_file.txt", "w");

while (fscanf(ifp,"%d",&a)==1){
sum += a;
}

fprintf(ofp, "Jumlah = %d\n",sum);


fclose(ifp);
fclose(ofp);
return 1;
}

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 5
Contoh Manipulasi File (Lanjutan)
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>

int main(void){
FILE *fp;
int ch;

fp = fopen("output_file.txt", "w");
fprintf(fp, "%s", "Program Studi Informatika\n");
fprintf(fp, "%s", "Universitas Syiah Kuala, Banda Aceh 23111\n\n\n");
fclose(fp);

if((fp = fopen("output_file.txt", "r"))==NULL) {


printf("Error reading file...\n");
return EXIT_FAILURE;
}

while ((ch=fgetc(fp))!=EOF) {
putchar(tolower(ch));
}

fclose(fp);
return EXIT_SUCCESS;
}

Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 6

Anda mungkin juga menyukai