• Tidak ada hasil yang ditemukan

MELAKSANAKAN PROSES FILEMELAKSANAKAN PROSES FILE

Dalam dokumen Algoritma & Pemrograman (Bahasa C) (Halaman 36-39)

− Untuk membuka atau mengaktifkan file, fungsi yang digunakan adalah fungsiUntuk membuka atau mengaktifkan file, fungsi yang digunakan adalah fungsi fopen().fopen().

− File dapat berupa file biner atau file teks.File dapat berupa file biner atau file teks.

− File biner adalah file yang pola penyimpanan di dalam disk dalam bentuk biner, yaitu seperti bentuk padaFile biner adalah file yang pola penyimpanan di dalam disk dalam bentuk biner, yaitu seperti bentuk pada memori (RAM) computer.

memori (RAM) computer.

− File teks adalah file yang pola File teks adalah file yang pola penyimpanan datanya dalam bentuk karakter.penyimpanan datanya dalam bentuk karakter.

− Penambahan yang perlu dilakukan untuk menentukan mode teks atau biner adalah “t” untuk file teks danPenambahan yang perlu dilakukan untuk menentukan mode teks atau biner adalah “t” untuk file teks dan “b” untuk file biner.

“b” untuk file biner.

− Prototype fungsi fopen() ada di header fungsi “Prototype fungsi fopen() ada di header fungsi “stdio.hstdio.h”” Bentuk umum :

Bentuk umum :

file *fopen(char *namafile, char *mode); file *fopen(char *namafile, char *mode);  Keterangan :

 Keterangan : 1.

1. namafilenamafileadalah nama dari file yang akan adalah nama dari file yang akan dibuka/diaktifkadibuka/diaktifkan.n. 2.

2. modemodeadalah jenis operasi file yang akan adalah jenis operasi file yang akan dilakukan terhadap file.dilakukan terhadap file. Jenis-jenis operasi file :

Jenis-jenis operasi file :

− r r : : menyarakan menyarakan file file hanya hanya dapat dapat dibaca dibaca (file (file harus harus sudah sudah ada)ada)

− w w : meny: menyatakan file atakan file baru akan baru akan dibuat/diciptakan dibuat/diciptakan (file y(file yang sudah aang sudah ada akan da akan dihapus)dihapus)

− a a : untuk : untuk membuka membuka file yfile yang sudah ang sudah ada dan ada dan akan diakan dilakukan proses lakukan proses penambahan penambahan data (data (jika filjika filee belum ada, otomatis akan dibuat)

belum ada, otomatis akan dibuat)

− r+ r+ : untuk m: untuk membuka file embuka file yang sudah ada yang sudah ada dan akan dan akan dilakukan proses pedilakukan proses pembacaan dan mbacaan dan penulisan.penulisan.

− w+ : untuk membuka file dengan tujuan untuk pembacaan atau penulisan. Jika file sudah ada,w+ : untuk membuka file dengan tujuan untuk pembacaan atau penulisan. Jika file sudah ada, isinya akan dihapus.

isinya akan dihapus.

− a+ a+ : untuk membuka file, dengan operasi yang akan dilakukan berupa perekaman ma: untuk membuka file, dengan operasi yang akan dilakukan berupa perekaman maupunupun pembacaan. Jika file sudah ada, isinya akan

pembacaan. Jika file sudah ada, isinya akan dihapus.dihapus.

Contoh : Contoh : pf = pf = fopen(“COBAfopen(“COBA.TXT”, “w”);.TXT”, “w”);

MENUTUP FILE

MENUTUP FILE

− Untuk menutup file, fungsi yang Untuk menutup file, fungsi yang digunakan adalahdigunakan adalah fclose().fclose().

− Prototype fungsi fclose() ada di header Prototype fungsi fclose() ada di header filefile “stdio.h”“stdio.h” Bentuk Umum : Bentuk Umum : int fclose(FILE *pf); int fclose(FILE *pf); atau atau int fcloseall(void); int fcloseall(void);

MELAKSANAKAN PROSES FILE

MELAKSANAKAN PROSES FILE

Menulis Karakter

Menulis Karakter

Untuk menulis sebuah karakter, bentuk yang digunakan adalah : Untuk menulis sebuah karakter, bentuk yang digunakan adalah :

putc(int ch, file *fp) putc(int ch, file *fp) fp

fpadalah pointer file yang dihasilkan oleh fopen()adalah pointer file yang dihasilkan oleh fopen() ch

chadalah karakter yang akan ditulis.adalah karakter yang akan ditulis. Contoh Program :  Contoh Program :  #include “stdio.h” #include “stdio.h” #include “conio.h” #include “conio.h” #define CTRL_Z 26 #define CTRL_Z 26 void main() void main() {{

file *pf; /* pointer ke file */ file *pf; /* pointer ke file */ char kar;

char kar;

if((pf = fopen(“COBA.TXT”, “w”)) == NULL) /* ciptakan file */ if((pf = fopen(“COBA.TXT”, “w”)) == NULL) /* ciptakan file */ {{

cputs(“File tak dapat diciptakan !\r\n”); cputs(“File tak dapat diciptakan !\r\n”); exit(1); /* selesai */

exit(1); /* selesai */ }}

while((kar=get

putc(kar, pf); /* tulis ke file */ putc(kar, pf); /* tulis ke file */ fclose(pf); /* tutup file */ fclose(pf); /* tutup file */ }}

Membaca Karakter Membaca Karakter

Untuk membaca karakter dari file, fungsi yang digunakan adalah : Untuk membaca karakter dari file, fungsi yang digunakan adalah :

getc(file *fp); getc(file *fp); fp

fpadalah pointer file yang dihasilkan oleh fopen()adalah pointer file yang dihasilkan oleh fopen() Fungsi feof(), digunakan untuk mendeteksi akhir file. Fungsi feof(), digunakan untuk mendeteksi akhir file. Pada saat membaca data foef(file *fp)

Pada saat membaca data foef(file *fp) Contoh Program :  Contoh Program :  #include “stdio.h” #include “stdio.h” #include “conio.h” #include “conio.h” void main() void main() {{

file *pf; /* pointer ke file */ file *pf; /* pointer ke file */ char kar;

char kar; clrscr(); clrscr();

if((pf = fopen(“COBA.TXT”, “r”)) == NULL) /* buka file */ if((pf = fopen(“COBA.TXT”, “r”)) == NULL) /* buka file */ {{

cputs(“File tak dapat dibuka

cputs(“File tak dapat dibuka !\r\n”);!\r\n”); exit(1); /* selesai */

exit(1); /* selesai */ while((kar=getc

while((kar=getc(pf)) != E(pf)) != EOF)OF)

putch(kar); /* tampilkan ke layar */ putch(kar); /* tampilkan ke layar */ fclose(pf); /* tutup file */

fclose(pf); /* tutup file */ }}

Membaca dan Menulis String Membaca dan Menulis String

Fungsi untuk membaca dan menulis string adalah : fgets() dan fputs() Fungsi untuk membaca dan menulis string adalah : fgets() dan fputs() Bentuk Umum :

Bentuk Umum :

fgets(char *str, int p, file *fp) fgets(char *str, int p, file *fp) fputs(char *str, file *fp) fputs(char *str, file *fp)

 

Membaca dan Menulis Blok Data Membaca dan Menulis Blok Data

Fungsi untuk membaca dan menulis blok data

Fungsi untuk membaca dan menulis blok data adalah : fread() dan fwrite()adalah : fread() dan fwrite() Bentuk umum :

Bentuk umum :

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

 Keterangan : buffer

bufferadalah pointer ke sebuah area di adalah pointer ke sebuah area di memori yang menampung data yang akan dibaca dari file.memori yang menampung data yang akan dibaca dari file. b_byte

b_byteadalah banyaknya byte yang akan dibaca atau ditulis ke adalah banyaknya byte yang akan dibaca atau ditulis ke filefile ccadalah banyaknya item adalah banyaknya item dibaca/ditulis.dibaca/ditulis.

Contoh Program :  Contoh Program :  #include “stdio.h” #include “stdio.h” #include “conio.h” #include “conio.h” void main() void main() {{ file *f_struktur; file *f_struktur; char jawaban; char jawaban; struct

struct data_pustadata_pustakaka {{ char judul[26]; char judul[26]; char pengarang[20]; char pengarang[20]; int jumlah; int jumlah; }}

buku; /* variabel buku bertipe struktur */ buku; /* variabel buku bertipe struktur */ /* buka file */

/* buka file */

if((f_struktur = fopen(“DAFBUKU

if((f_struktur = fopen(“DAFBUKU.DAT”, “wb”)) == NULL)/* .DAT”, “wb”)) == NULL)/* buka file */buka file */ {{

cputs(“File tak dapat diciptakan !\r\n”); cputs(“File tak dapat diciptakan !\r\n”); exit(1); /* selesai */ exit(1); /* selesai */ do do {{ clrscr(); clrscr(); cputs(“Judul Buku : “); cputs(“Judul Buku : “);

gets(buku.judul); gets(buku.judul); cputs(“Nama Pengaran cputs(“Nama Pengarang : g : ”);”); gets(buku.pengarang); gets(buku.pengarang); cputs(“Jumla

cputs(“Jumlah buku : h buku : “);“); scanf(“%i”,

scanf(“%i”, $buku.jumlah$buku.jumlah););

fflush(stdin); /* Hapus isi penampung keyboard */ fflush(stdin); /* Hapus isi penampung keyboard */ /*Rekam sebuah data bertipe struktur */

/*Rekam sebuah data bertipe struktur */ fwrite(&buku, sizeof(buku)

fwrite(&buku, sizeof(buku), 1, , 1, f_struktur);f_struktur); cputs(“\r\nMa

cputs(“\r\nMau merekam data lagi (Y/T) u merekam data lagi (Y/T) ?”);?”); jawaban = getche();

jawaban = getche(); }}

while(jawaba

while(jawaban == ‘Y’ n == ‘Y’ || jawaban == || jawaban == ‘y’);‘y’); fclose(f_struk

fclose(f_struktur); /* tur); /* tutup file */);tutup file */); }}

}}

Membaca dan Menulis File yang Terformat Membaca dan Menulis File yang Terformat

Jika diinginkan, data bilangan dapat disimpan ke dalam file dalam keadaan

Jika diinginkan, data bilangan dapat disimpan ke dalam file dalam keadaan terformat.terformat. Fungsi yang digunakan adalah :

Fungsi yang digunakan adalah :

fprintf(ptr_file, “string control”, daftar

fprintf(ptr_file, “string control”, daftar argument);argument); fscanf(pts_fil

fscanf(pts_file, “string e, “string control”, daftar argument);control”, daftar argument); Contoh Program :  Contoh Program :  #include “stdio.h: #include “stdio.h: #include “conio.h” #include “conio.h” void main() void main() {{ FILE *pformat; FILE *pformat; char jawaban; char jawaban; struct struct {{ int x; int x; int y; int y; }} koordinat; koordinat; /* Buka dan

/* Buka dan ciptakan file. Periksa kalau gagal dibuka */ciptakan file. Periksa kalau gagal dibuka */ if((pformat = fopen(“KOORDINA

if((pformat = fopen(“KOORDINAT.TXT”, “w”)) == T.TXT”, “w”)) == NULL) /* buka NULL) /* buka file */file */ {{

cputs(“File tak dapat dibuka

cputs(“File tak dapat dibuka !\r\n”);!\r\n”); exit(1); /* selesai */ exit(1); /* selesai */ }} do do {{ clrscr(); clrscr(); cputs(“Masuk

cputs(“Masukkan data kan data koordinat (bilangan integer)\r\n”);koordinat (bilangan integer)\r\n”); cputs(“Format : posisi x posisi y\r\n”);

cputs(“Format : posisi x posisi y\r\n”); cputs(“Contoh : 20 30

cputs(“Contoh : 20 30 [ENTER]\r\n”);[ENTER]\r\n”); scanf(“%i %i, &koordinat.x, &koordinat.y); scanf(“%i %i, &koordinat.x, &koordinat.y); fflush(stdin);

fflush(stdin); /* Rekam ke file */ /* Rekam ke file */ fprintf(pformat, %5i

fprintf(pformat, %5i %5i\n”, koordinat.x, koordinat.y);%5i\n”, koordinat.x, koordinat.y); cputs(“\r\nMe

cputs(“\r\nMenyimpan data lagi nyimpan data lagi (Y/T) ??”);(Y/T) ??”); jawaban = getche();

jawaban = getche(); }}

while(jawaban == ‘y’ || jawaban == ‘Y’); while(jawaban == ‘y’ || jawaban == ‘Y’); fclose(pformat); fclose(pformat); getch(); getch(); }} Contoh Program 2 :  Contoh Program 2 :  #include <stdio.h> #include <stdio.h> FILE *in; FILE *in;

void BACA( int[ ] ); void BACA( int[ ] ); void CETAK( int[ ] ); void CETAK( int[ ] ); void main() void main() {{ int tabel[26] = {0}; int tabel[26] = {0}; BACA(tabel); BACA(tabel);

CETAK(tabel); CETAK(tabel); }}

void BACA ( int huruf[] ) void BACA ( int huruf[] ) {{

char c; char c;

if (( in = fopen("data.txt" , "r")) == NULL) if (( in = fopen("data.txt" , "r")) == NULL)

printf ("File tidak bisa dibaca\n"); printf ("File tidak bisa dibaca\n"); else

else

while ( (ch = fgetc(in)) != EOF ) while ( (ch = fgetc(in)) != EOF ) {{ c = ( (( c >= 97) || c = ( (( c >= 97) || ( c <= 122)) ? c - 32 : ( c <= 122)) ? c - 32 : c );c ); if ( (c >= 65) || (c if ( (c >= 65) || (c <= 90) )<= 90) ) ++huruf [ c - 65 ]; ++huruf [ c - 65 ]; }} fclose(in); fclose(in); }}

void CETAK ( int huruf[] ) void CETAK ( int huruf[] ) {{

int counter; int counter;

for ( counter = 0 ; counter <= 25 ;

for ( counter = 0 ; counter <= 25 ; counter++ )counter++ ) printf ("\n%c%5d", counter + 65, huruf[counter] ); printf ("\n%c%5d", counter + 65, huruf[counter] ); }}

Dalam dokumen Algoritma & Pemrograman (Bahasa C) (Halaman 36-39)

Dokumen terkait