pemrogramanpc12
TRANSCRIPT
-
5/26/2018 Pemrogramanpc12
1/28
Pertemuan 12
Pemrograman Procedural
Pemrosesan File Teks dan File Biner
-
5/26/2018 Pemrogramanpc12
2/28
Tujuan Perkuliahan
Mahasiswa mampu membedakan file
biner dan file teks
Mahasiswa memahami macam-macam
Mahasiswa dapat membuat program untuk
operasi file
-
5/26/2018 Pemrogramanpc12
3/28
Struktur File
Fileadalah Kumpulan data-data yang disimpan
dalam disk dalam bentuk suatu kesatuan.
Suatu file merupakan organisasi dari sejumlah
.
Masing-masing record dapat terdiri dari satu
atau beberapafielddan setiap field terdiri dari
satu atau beberapabyte.
-
5/26/2018 Pemrogramanpc12
4/28
Tahapan Operasi File
Operasi file pada dasarnya meliputi 3 tahapan :1. Membuka / mengaktifkan file
2. Melaksanakan Operasi file
3. Menutu File
-
5/26/2018 Pemrogramanpc12
5/28
Membuka dan Mengaktifkan File
Untuk membuka / mengaktifkan file sebelum dapat diakses,digunakan fungsifopen( )
Syntax : ILE *fopen ( char *namaf le, char *mode );ket :
namafileberupa nama dari file yang akan diaktifkan
modeberupa jenis operasi yang dilakukan terhadap file
prototypeada pada file stdio.h
Keluaran fungsi fopen ( )berupa pointer yang menunjuk ke tipeFILE, yaitu tipe struktur yang definisinya ada pada file stdio.h
Berhasil-tidaknya operasi pengaktifan file dapat dilihat padakeluaran fungsi fopen ( ). Jika keluaran berupa NULL berartioperasi pengktifan gagal.
-
5/26/2018 Pemrogramanpc12
6/28
Jenis Operasi (Mode) File
r menyatakan bahwa file hanya akan dibaca
wmenyatakan bahwa file baru dibuat
auntuk membuka file yang sudah ada pada disk danoperasi yang dilakukan adalah operasi penambahandata ada file
r+ untuk membuka file yang sudah ada, danoperasinya berupa pembacaan dan penulisan
w+ untuk membuka file dengan tujuan pembacaan
atau penulisan. Jika sudah ada isinya akan dihapus. a+untuk membuka file dengan tujuan perekaman atau
pembacaan. Jika file berisi maka isinya tidak akandihapus.
-
5/26/2018 Pemrogramanpc12
7/28
Contoh Pemakaian fungsi fopen()
Maksud dari pernyataantersebut adalah :
Menciptakan dan
mengaktifkan file
pf = fopen (COBA. TXT, w);Bentuk yang biasa dipakai untukmengaktifkan file adalah :
if ( pf = fopen (COBA. TXT, w )== NULL )
{ cputs (File tidak dapat diciptakan.
Dengan mode yaitu w(mode penulisan file)
Menempatkan pointer-
ke-FILE ke variablepointerpf
;
exit ( 1 ); } /*Keluar dari program*/
Mula-mula pf diisi dengan keluaranfungsi fopen ( ). Seandainya nilainya
adalah NULL (berarti operasipengaktifan file gagal)
maka :
Pada layar ditampilkan tulisan Filetidak dapat dibuka!
Program dihentikan / selesai
-
5/26/2018 Pemrogramanpc12
8/28
Menutup File
Untuk menutup file, fungsi yang digunakan adalah fclose( ).Bentuk deklarasinya adalah :
int fclose ( FILE *pf );
Fungsi fclose ( )menghasilkan keluaran berupa nol jikaoperasi penutupan file berhasil dilakukan.
Disamping fclose ( ) terdapat fungsi fcloseall ( ) yangkegunaanya adalah untuk menutup semua file yangsedang terbuka. Bentuk deklarasinya :
int fcloseall (void);
Fungsi fcloseall ( ) menghasilkan nilai EOF (EOF
didefinisikan pada file stdio.h, yaitu bernilai -1) jika terjadikegagalan. Sedangkan jika berhasil, keluaran fungsiberupa jumlah file yang ditutup.
-
5/26/2018 Pemrogramanpc12
9/28
Operasi Penyimpanan dan
Pembacaan File per Karakter
Sebuah karakter dapat disimpan dalam filedengan menggunakan fungsifputc ( ).
Bentuk deklarasinya :
*, _
dengan
ptr_file adalah pointer-ke-FILE yang berisi
keluaran dari fopen ( ), dan karberupa karakter yang akan disimpan dalam file.
-
5/26/2018 Pemrogramanpc12
10/28
Contoh Pembacaan File per Karakter
Contoh Program yang digunakan untuk membaca isi fileCOBA.TXT, dengan langkah sebagai berikut :
Buka file COBA. TXT dengan mode r. Jika tak berhasildibuka beri keterangan bahwa file tidak ada, selesai.
Baca sebuah karakter dari file. Jika karakter samadengan EOF (tanda akhir file) maka langkah ke 4
Tampilkan karakter ke layar dan kembali le langkah 2
Tutup file
Selesai
-
5/26/2018 Pemrogramanpc12
11/28
Program Pembacaan File per Karakter
#include #include
main( )
{
FILE*pf;
char kar;
clrscr( );
Contoh Eksekusi :
A>GETC
TURBO C-
if ((pf = fopen (COB. TXT, r)) = =NULL )
{
cputs (File tak dapat dibuka!\r\n);
exit;}
while ( (kar = getc (pf) ) !=EOF )
putch (kar);
fclose (pf);
}
-
5/26/2018 Pemrogramanpc12
12/28
File Teks dan File Biner
File teks merupakan file yang pola penyimpanan
datanya dalam bentuk karakter. Misalnya bilangan
bertipe int bisa saja menempati ruang 1 byte, 2 byte
atau lebih, tergantung oleh nilai dari bilangan. File bineradalah file yang pola penyimpanan di dalam
disk adalah dalam bentuk biner, yaitu seperti bentuk
padsa memory (RAM) komputer. Misalnya data
bertipe int akan selalu menempati ruang 2 byteberapapun harganya.
-
5/26/2018 Pemrogramanpc12
13/28
Perbedaan File Teks dan File Biner
File teks dipakai untuk menyimpan data bertipekarakter atau string sedangkanfile binerdipakai untukmenyimpan data bilangan atau data kompleks, sepertistruktur (tipe struct).
Pada file teks , karakter \n pada program akan-
( artinya CR atau ber-ASCII 13 diikuti dengan LF atauber-ASCII 10) pada MS-DOS akan diterjemahkansebagai \n bagi program. Sedangkan padafile biner,
karakter \n pada program akan diperlakukan sebagaiLF saja bagi MS-DOS dan karakter LF bagi MS-DOSdianggap sebagai \n bag i program.
-
5/26/2018 Pemrogramanpc12
14/28
Mode pada file Teks dan File Biner
Penambahan yang perlu dilakukan untukmenentukan mode teks atau mode binerberupa : t untuk mode teks dan b untukmode biner.
Contoh : rt berarti mode file adalah teks dan file akan
dibaca
rt+ berarti mode file adalah teks dan file bisadibaca atau ditulisi
rb berarti mode file adalah biner dan hendakdibaca
Mode pada file Teks dan File Biner
-
5/26/2018 Pemrogramanpc12
15/28
Mode pada file Teks dan File Biner
(cont..)
Jika pada mode file tidak terdapat karakter t atau b,mode file akan ditentukan oleh variable globalbernama _fmode ( deklarasinya ada pada file fcntl.h).
Jika _fmode tidak dilibatkan dalam program, maka
mode file yang tidak mengandung t atau b akananggap se aga e e s.
Variable _fmode bisa diisi denganO_BINARYuntukmenyatakan file biner, atau O_TEXT untuk
menyatakan file text.Contoh :
_fmode = O_BINER;
pf = fopen (TEST1, r);
berarti bahwa TEST1 adalah file biner dan hendak baca.
-
5/26/2018 Pemrogramanpc12
16/28
Operasi Penyimpanan dan
Pembacaan File per Int
Untuk menyimpan sebuah data bertipe int
digunakan fungsiputw( )
Sedangkan untukmembaca sebuah data bertipent guna an ungs getw
Bentuk deklarasinya :
int getw (FILE *ptr_file);int putw (FILE *ptr_file);
-
5/26/2018 Pemrogramanpc12
17/28
Operasi Pembacaan dan
Penyimpanan File per Blok Fungsi untuk menyimpan file dalam bentuk kesatuan
blok (sejumlah byte) adalahfwrite( )
Bentuk deklarasi
int fwrite (void *buffer, int jum_byte, int n, FILEptr_ e ;
Fungsi untuk membaca data file dalam bentukkesatuan blok (sejumlah byte) adalahfread( )
Bentuk deklarasi :int fread (void*buffer, int n, FILE *ptr_file);
-
5/26/2018 Pemrogramanpc12
18/28
Operasi Pembacaan dan
Penyimpanan File per Blok (cont)Ket :
Bufferadalah pointer yang menunjuk ke daerah memory yangakan ditempati data dari file disk (untuk fread( )), atau pointer
yang menunjuk ke daerah memory yang berisi data yang akan
disimpan ke file disk (fwrite( )). jum_byte menyatakan jumlah byte yang akan dibaca atau
disimpan
nmenentukan banyaknya blok data berukuran jum_byte yangakan ditulis atau dibaca
ptr_fileberupa pointer-ke-FILE yang berisi nilai keluaran darifopen( )
-
5/26/2018 Pemrogramanpc12
19/28
Menyimpan dan Membaca Data
String pada File Fungsi yang digunakan untuk membaca data string pada
file sampai ditemukannya karakter baris baru \n atausetelah ( n-1 ) karakter, dengan n adalah panjangmaksimal string yang dibaca per waktu-baca adalahfgets(
)Bentuk deklarasinya :
char *fgets (char *str, int n, FILE *ptr_file);
Fungsi yang digunakan untuk menyimpan data string kedalam file yaitufputs( ).
Bentuk deklarasinya :int fputs (char *str, FILE *ptr_file);
-
5/26/2018 Pemrogramanpc12
20/28
Menyimpan dan Membaca File
yang diformat Fungsi yang digunakan untuk menyimpan data
bilangan yang diformat ke dalam file yaitu fprintf( ),dengan bentuk :
fprintf (ptr_file, string kontrol, daftar argumen);
Sedangkan untuk membaca kembali, fungsi yangdigunakan berupafscanf( ),dengan bentuk :
fscanf (ptr_file, string kontrol, daftar argumen);
Kedua fungsi diatas berlaku seperti fungsi printf( ) danscanf( ), hanya saja operasinya pada file.
-
5/26/2018 Pemrogramanpc12
21/28
Pengaksesan File Biner Secara
Acak Fungsi yang digunakan untuk mengakses file biner secara
acak adalahfseek( ).
Bentuk deklarasinya :
int fseek (FILE *ptr_file, long int ofset, int posisi);dengan :
-ptr_fileadalah pointer yang keluar berasal dari keluaranfopen( )
-ofsetmenyatakan jumlah byte terhadap posisiKegunaan fungsi fseek( ) yaitu untuk menempatkan
penunjuk file ke suatu lokasi dalam file, berdasarkan ofsetdan posisi.
-
5/26/2018 Pemrogramanpc12
22/28
Pengaksesan File Biner Secara
Acak (Contoh)
seek (pf, 3, SEEK_SET);Pernyataan tersebut menempatkan penunjuk file ke
posisi 3 byte sesudah awal file (SEEK_SET).
seek (pf, 3, SEEK_END);seek (pf, 3, SEEK_END);Pernyataan ini akan menempatkan penunjuk file ke
posisi 3 byte sebelum akhir file
seek (pf, 3, SEEK_CUR);Pernyataan ini dipakai untuk menempatkan penunjuk
file ke posisi 3 byte sesudah posisi penunjuk file berada.
-
5/26/2018 Pemrogramanpc12
23/28
Operasi File Tak Berpenampung
Operasi File tak berpenampung sering disebut
dengan system level I/O (masukan-keluaran
beraras system atau low-level (masukan-
.
Keuntungannya adalah dalam hal kecepatan
pengaksesan (baca-tulis).
Fungsi-fungsi dalam Operasi File
-
5/26/2018 Pemrogramanpc12
24/28
Fungsi fungsi dalam Operasi File
Tak Berpenampung Fungsi pen( ) : untuk membuka file (terdapat pada file io.h)
Bentuk deklarasi :
t _open (char *f lename, nt mode);dengan mode dapat diisi dengan konstanta O_RDONLY,O_WRONLY atau O_RDWR, yang didefinisikan pada file
fcntl.h create( ) Fungsicreate( ) : untuk menciptakan file baru atau untukmengosongkan file yang berisi
Bentuk deklarasi :
t _create (char *namaf le, nt atr b);dengan atrib untuk menentukan atribut file
Fungsiclose( ) :untuk menutup file dengan bentuk deklarasi : t _close ( nt handle);
dengan handle menyatakan kode penanganan file yangdiperoleh dari _fopen( ) atau _create( ).
Fungsi-fungsi dalam Operasi File
-
5/26/2018 Pemrogramanpc12
25/28
Fungsi fungsi dalam Operasi File
Tak Berpenampung (cont.)
Fungsi read( ) : untuk membaca isi file.Bentuk deklarasinya : t _read ( nt handle, vo d*buffer, uns gnedpanjang); Fungsi wr te( ) : untuk menulis ke file
en u e aras nya:
t _wr te ( nt handle, vo d *bufer, uns gnedpanjang); fungsilseek( ) : untuk memindah penunjuk file (yang
memungkinkan pengaksesan file secara acak)
Bentuk deklarasinya :
long lseek ( nt handle, long ofset, nt pos s );
-
5/26/2018 Pemrogramanpc12
26/28
Menghapus File
Fungsi unlink( ) digunakan untuk menghapus
File.
Bentuk deklarasinya :
nt un n c ar nama e ;
ket:
namafile adalah pointer yang menunjuk ke nama
file yang akan dihapus.
-
5/26/2018 Pemrogramanpc12
27/28
Mengganti Nama File
Fungsi rename( ) digunakan untuk mengganti
nama file.
Bentuk deklarasinya :
* *,
-
5/26/2018 Pemrogramanpc12
28/28
Referensi
Bab 12, Text and Binary File Processing,
Problem Solving and Program Design in
C, Jeri R. Hanly dan Elliot B. Koffman,
,