pemrogramanpc12

Upload: nurussyarifatulngaeni

Post on 16-Oct-2015

88 views

Category:

Documents


0 download

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,

    ,