Stsn6's Weblog

Akan Selalu Memberikan Yang Terbaik Untuk Negara

BERKENALAN DENGAN OPERASI FILE oleh RIO YUNIA PRATAMA (1TP)

<!– @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } –>

BELAJAR OPERASI FILE

File adalah sebuah oraganisasi dari sejumlah record. Masing – masing record bisa terdiri dari satu atau beberapa field. Field terdiri dari satu atau beberapa byte. Dalam bahasa C membedakan operasi input/output file di disk dalam bentuk buffer ataupun file-file berpenyangga (buffered files) maupun file-file yang tidak berpenyangga (unbuffered files). Pengaksesan file pada C menggunakan konsep stream. Stream merupakan penghubung antara programmer dengan file. Sebuah stream terhubung dengan file melalui operasi open dan terputus dari file melalui operasi close.

Ada dua tipe stream yaitu TEXT (untuk tipe data karakter) dan BINER (untuk sembarang tipe data). Suatu file di disk dapat dibuka dengan fungsi pustaka fopen(). FILE *fopen(char *nama_file, char*mode). Jika operasi open berhasil, fopen() mengembalikan sebuah file pointer yang valid. Jika operasi gagal, maka fopen() mengembalikan sebuah null pointer, sehingga harus selalu dicek pada saat pembukaan file.

Dasar – dasar operasi file yang harus dipelajari dalam bahasa C diantaranya :

fopen()
merupakan salah satu operasi file yang berfungsi untuk mengkaktifkan sebuah file. hal ini dailakukan agar file tersebut dapat diakses.
Contoh : FILE *fopen(char *namafile, char *mode);
fclose()
merupakan salah satu operasi file yang berfungdi untuk menutup suatu file, hal ini dilakukan karena adanya keterbatasan jumlah file yang dapat diakses secara serentak. file yang tidk lagi digunakan sebaiknya ditutup.
Contoh : int fclose(FILE *pf);
fscanf()
merupakan suatu operasi file yang berguna untuk membaca kembali sebuah data bilangan yang telah disimpa dalam sebuah file dengan keadaan diformat.
Contoh : fscanf(ptr_file, “string kontrol”, daftar argumen);
fprintf()
berfungsi untuk menimpan seubuah data bilangan dalam sebuah file dalam keadaan diformat.
Contoh : fprintf(ptr_file, “string kontrol”, daftar argumen);
fgets()
merupakan suatu operasi file yang berfungsi untuk membaca string dari file sampai ditemukannya baris baru (‘\n’) atau setelah n-1 krakter, dengan n adalah panjang maksimal string yang dibaca perwaktu-baca.
Contoh : char *fgets(char *str, int n, FILE *ptr_file);
fputs()
merupakan salah satu operasi file yang berfungsi untuk menyimpan data bertipe string kedalam file.
Contoh : int fputs(char *str, FILE *ptr_file);
fgetc()
meupakan suatu operasi file yang berfungsi untuk membaca suatu karakter dari sebuah file.
fputc()
merupakan operasi file yang berguna untuk menyimpan sebuah karakter kedalam file.

fread()
merupakan suatu fungsi yang memungkinkan untuk membaca data file dalam bentuk kesatuan blok ( sejumlah byte ), misalnya untuk membaca sebuah data bertipe float.
Contoh : int fread(void *buffer, int n, FILE *ptr_file);
fwrite()
merupakan suatu fungsi yang memungkinkan untuk menyimpan data file dalam bentuk kesatuan blok ( sejumlah byte ), misalnya untuk menyimpan sebuah data bertipe float.
Contoh : int fwrite(void *buffer, int jum_byte, int n, FILE *ptr_file);
fseek()
merupakan suatu operasi file yang berfungsi untuk menempatkan penunjuk file kesuatu lokasi dalam file berdasarkan ofset dan posisi. Dapat juga digunakan untuk membaca data secara acak dan memungkinkan juga untuk melakukan pengubahan data secara acak.
Contoh : int fseek(FILE *ptr_file, long int ofset, int posisi);
feof()
merupkan suatu operasi file yang berfungsi untuk mendeteksi akhir dari suatu file. Keliuaran feof() berupa nilai null (“”) jika operasi pembacaan yang terakhir (misalnya getw()) membaca tanda akhir file.
Contoh : int feof(FILE *ptr_file);

Secara garis besar operasi file dilakukan melalui 3 tahapan :

  1. Membuka atau mengaktifkan file

  2. Melaksanakan proses file

  3. Menutup proses file

Mode yang digunakan untuk pengaksesan file adalah :

    r : Membuka sebuah file teks untuk pembacaan

    w : Membuat sebuah file teks untuk penulisan

    a : Menambahkan data ke sebuah file teks

    rb : Membuka sebuah file binary untuk pembacaan

    wb : Membuat sebuah file binary untuk penulisan

    ab : Menambahkan data ke sebuah file binary

    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 / rb+ : Membuka sebuah file binary untuk pembacaan/penulisan

    w+b / wb+ : Membuat sebuah file binary untuk pembacaan/penulisan

    a+b / ab+ : Menambahkan data ke file binary untuk pembacaan/penulisan

Jika operasi open berhasil, fopen() mengembalikan sebuah file pointer yang valid.

Jika operasi gagal, maka fopen()mengembalikan sebuah null pointer, sehingga harus selalu dicek pada saat pembukaan file.

Contoh:

FILE *fp;

if((fp=fopen(“fileku.txt”,”r”)==NULL) {

printf(“Error dalam pembukaan file\n”);

exit(1);

}

fclose(fp); //menutup stream file

v FUNGSI UNTUK OPERASI FILE TEKS

fgetc() dan fputc()

Sintaks:

int fgetc(FILE *fp);

int fputc(int ch, FILE *fp);

Contoh:

#include <stdio.h>

#include <stdlib.h>

void main()

{

FILE *fp;

int i;

int ch;

fp = fopen(”foo.abc”, “w”);//buka file foo.abc untuk ditulisi

for (i=0;i<10;i++) { //loop untuk meletakkan karakter2

fputc(’A’,fp); //menuliskan karakter A

fputc(’\n’,fp); //menuliskan pergantian baris

}

fclose(fp);

if((fp = fopen(”foo.abc”, “r”))==NULL) {

printf(”Error reading file…\n”);

exit(1);

}

while (ch!=EOF) { //baca file sampai tanda EOF (End of File) ch=fgetc(fp); //ambil satu karakter

putchar(ch); //menampilkan karakter ke layar

}

fclose(fp);

}

fgets() dan fputs()

Sintaks:

int fputs(char *str, FILE *fp);

char *fgets(char *str, int num, FILE *fp);

Contoh:

#include <stdio.h>

#include <stdlib.h>

void main()

{

FILE *fp;

char ch[14];

fp = fopen(”foo.abc”, “w”);//buka file foo.abc untuk ditulisi

fputs(”String Contoh”,fp);//menuliskan string

fclose(fp);

if((fp = fopen(”foo.abc”, “r”))==NULL) {

printf(”Error reading file…\n”);

exit(1);

}

puts(fgets(ch,sizeof(ch),fp));//cetak string di foo ke layar

fclose(fp);

}

fscanf() dan fprintf()

Mirip dengan sintaks scanf() dan printf()

Dapat digunakan untuk sembarang file (tidak hanya monitor/layar)

Dapat menggunakan format data

Sintaks:

int fprintf(FILE *fp, const char *format, …);

int fscanf(FILE *fp, const char *format, …);

Contoh:

#include <stdio.h>

#include <stdlib.h>

void main()

{

FILE *fp;

int i;

char x[100];

fp = fopen(”foo.abc”, “w”); //buka file foo.abc untuk ditulisi

fprintf(fp, “\nSample Code\n\n”); //menuliskan sesuatu

for (i = 1; i <= 10 ; i++) {

fprintf(fp, “i = %d\n”, i);

}

fclose(fp);

if((fp=fopen(”foo.abc”,”r”))==NULL) {

printf(”Error membuka file\n”);

exit(1);

}

while(!feof(fp)) {

fscanf(fp,”%s”,&x);

puts(x);

}

fclose(fp);

}

fread() dan fwrite()

Untuk membaca dan menulis blok data (mis. Karakter, integer, structure, dll)

Untuk dapat menggunakan fwrite(), file harus dibuka dengan tambahan opsi “b” (binary)

Sintaks: fwrite(void *buffer, int b_byte, int c, file *fp);

fread(void *buffer, int b_byte, int c, file *fp);

Keterangan:

buffer : pointer ke area di memori yang menampung data yg akan dibaca ke file

b_byte : banyaknya byte data yang akan dibaca/tulis (dapat menggunakan

sizeof(buffer))

c : banyaknya blok data yang akan dibaca/ditulis

fp : pointer ke file

Iklan

Juni 12, 2008 - Posted by | Uncategorized

4 Komentar »

  1. wahh… sip bgt,,

    sangat ngbantuinn tugas gwa nehh

    makasih yaw..

    o ya qlo bisa cariin yang ALLEGRO ya..hehe!!!

    Komentar oleh aan | Desember 9, 2008 | Balas

    • ok insya ALLah….
      segera

      Komentar oleh stsn6 | Maret 24, 2009 | Balas

  2. alegro,,
    nanti akan dikasi,.

    Komentar oleh stsn6 | Oktober 15, 2009 | Balas

  3. Wah lengkap sekali tutorialnya mengenai operasi file dalam bahasa C, saya jadi terbantu dalam mengerjakan tugas, thx ya…

    Komentar oleh windows wallpapers | November 23, 2009 | Balas


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: