Review Algorithm & Programming Class PART.8
Hari, tanggal : Kamis, 17 Desember 2015
Materi : File Processing
Tempat : Ruang 800 Kampus Anggrek Binus Univ.
Definisi Streams
Stream adalah urutan karakter. Semua input dan output data stream.
Ketika program C dijalankan ada 3 standard streams yang diaktifkan:
- Standard Input Stream (stdin)
Mengontrol stream input dari keyboard - Standard output Stream (stdout)
Mengontrol stream output ke monitor - Standard error Stream (stderr)
Mengontrol pesan error
File dan Streams :
Membuka file ordering pointer kembali ke initiator. Pointer menunjuk ke struktur data dengan tipe FILE didefinisikan dalam stdio.h
Contoh stream :
Standard Input Stream (misal : scanf), dengan file pointer stdin
Standard output Stream (saat ingin dicetak misal : printf), dengan file pointer stdout
Standard error Stream (jika kita pelajari C# lebih lanjut, akan ada perror), dengan file pointer stderr
Definisi File
- File adalah kumpulan record (baris).
- Record adalah kumpulan field (column).
- Field adalah blok byte.
- Byte adalah kumpulan bit (1 byte adalah 8 bit).
- Text file tersimpan dalam teks atau ASCII (American Standard Code for Information Interchange) yang merupakan suatu standard internasional.
- Ukuran penyimpanan tergantung pada data: 10000 membutuhkan 5 byte
- Dapat terbuka dengan menggunakan standar aplikasi editor teks
atau c:> TYPE nama_file
FILE BINARY
menyimpan data numerik dalam format in line dengan format yang mikro-prosesor (contoh: Format sign-magnitude 2 ‘s complement).
Data yang hanya dapat dibuka oleh system (kata-kata atau hurufnya di .txt acak [cryptography])
Penulisan : FILE *fp;
Buffer Area
Buffer area adalah bagian dari memori yang digunakan sebagai ruang sementara sebelum data pindah ke sebuah file.
Contoh syntax :
FILE * fp;
(hati hati karena FILE menggunakan huruf besar)
(fp adalah pointer file awal dari buffer area)
Open File
Membuka File menggunakan fopen ():
FILE *fopen (const char *filename, const char *mode);
Contoh mode :
“r” membuka file untuk dibaca.
“w” membuat file untuk ditulis.
“A” membuka file untuk data append.
“r+” membuka file untuk membaca / menulis.
“w+” membuat file untuk membaca / menulis.
“a+” membuka file untuk membaca / tambahkan
“rb” membuka File (binary) untuk dibaca.
“wb” membuat file (binary) untuk menulis.
(Dalam penge-save-an Game sebaiknya menggunakan binary yaitu “rb” atau “wb” karena tidak dapat dibuka dengan notepad biasa)
Close File
int fclose (FILE *stream);
*harus ditutup agar bisa digunakan untuk aplikasi lainnya atau .txtnya akan digunakan terus menerus
fclose () didefinisikan di <stdio.h>
fclose () akan mengembalikan 0 jika berhasil, dan EOF jika error
EOF (End Of File) sama dengan -1 (EOF itu dibuat otomatis)
fclose () akan masuk ke buffer area dulu dan segera mengirimkan sisa data ke dalam file.
Input dan Output File
- fgetc (INPUT)
Syntax : int fgetc (FILE *stream);
Membaca satu karakter(char) dari file.txt
fgetc (stdin) ekuivalen dengan getchar () - fputc (OUTPUT)
Syntax : int fputc (int c, FILE * stream);
Menulis/menaruh satu karakter(char) ke file.txt
fputc (‘a’, stdout) sama dengan putchar (‘a’) - fgets (INPUT)
Syntax : char *fgets( char *string, int n, FILE *stream );
Membaca satu baris dari sebuah file yang berakhir dengan baris baru, atau maksimum n-1 jumlah karakter.
Kembali string jika successful dan NULL jika error - fputs (OUTPUT)
Syntax : int fputs( const char *string, FILE *stream );
Menulis baris ke file
Mengembalikan nilai non-negatif jika berhasi dan EOF jika error. - fscanf (INPUT)
Syntax : int fscanf( FILE *stream, const char *format [, argument ]… );
Membaca data dari file.txt dengan format scanf.
mengembalikan jumlah field dan read jika successful, dan EOF jika error - fprintf (OUTPUT)
Syntax : int fprintf( FILE *stream, const char *format [, argument ]…);
Menulis data ke file.txt menggunakan format printf.
Pengembalian byte written jika nilai successful dan negatif jika error. - fwrite
Syntax : size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
Menulis ke file sebanyak n size
Writing a block of data in the buffer area to the file
Return number of byte data written, and error otherwise. - fread
Syntax : size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
Baca ukuran blok data dari file
membaca dari file sebanyak n size - feof
Syntax : int feof( FILE *stream );
membaca terus menerus sampai file habis
Mencari tahu apakah pointer telah mencapai end-of-file
Kembali 0 jika tidak berakhir end-of-file
No Comments »
RSS feed for comments on this post. TrackBack URL