file & stream kegunaan file :

8
TPT- 2 1 File & Stream File & Stream Kegunaan File : Kegunaan File : Untuk melakukan proses file I/O, diperlukan Untuk melakukan proses file I/O, diperlukan file header fstream.h didalam program. Didalam file header fstream.h didalam program. Didalam file ini didefinisikan beberapa class/object file ini didefinisikan beberapa class/object yang berhubungan dengan pemrosesan file, yang berhubungan dengan pemrosesan file, misalkan class ifstream, ofstream, fstream, misalkan class ifstream, ofstream, fstream, object tersebut diturunkan dari class istream object tersebut diturunkan dari class istream dan ostream. dan ostream. ( File fstream.h secara otomatis akan ( File fstream.h secara otomatis akan mengincludekan file iostream.h) mengincludekan file iostream.h) Membuat Stream dan keterhubungan stream Membuat Stream dan keterhubungan stream dengan file : dengan file : Jika mendeklarasikan suatu stream, kita dapat Jika mendeklarasikan suatu stream, kita dapat menghubungkan stream tersebut dengan file, menghubungkan stream tersebut dengan file, proses ini berhubungan dengan operasi terhadap proses ini berhubungan dengan operasi terhadap file. Operasi yang dapat dilakukan terhadap file. Operasi yang dapat dilakukan terhadap file yaitu input, output dan I/O ( Input / file yaitu input, output dan I/O ( Input / Output). Output). Tiga buah proses utama di dalam mengelola file Tiga buah proses utama di dalam mengelola file adalah : adalah : 1. Membuka File 1. Membuka File 2. Melakukan proses terhadap file 2. Melakukan proses terhadap file 3. Menutup file 3. Menutup file

Upload: arsenio-sutton

Post on 03-Jan-2016

97 views

Category:

Documents


0 download

DESCRIPTION

File & Stream Kegunaan File : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: File & Stream Kegunaan File :

TPT- 2 1

File & StreamFile & Stream

Kegunaan File :Kegunaan File :Untuk melakukan proses file I/O, diperlukan file header Untuk melakukan proses file I/O, diperlukan file header fstream.h didalam program. Didalam file ini fstream.h didalam program. Didalam file ini didefinisikan beberapa class/object yang berhubungan didefinisikan beberapa class/object yang berhubungan dengan pemrosesan file, misalkan class ifstream, dengan pemrosesan file, misalkan class ifstream, ofstream, fstream, object tersebut diturunkan dari class ofstream, fstream, object tersebut diturunkan dari class istream dan ostream.istream dan ostream.

( File fstream.h secara otomatis akan mengincludekan ( File fstream.h secara otomatis akan mengincludekan file iostream.h)file iostream.h)

Membuat Stream dan keterhubungan stream Membuat Stream dan keterhubungan stream dengan file :dengan file :

Jika mendeklarasikan suatu stream, kita dapat Jika mendeklarasikan suatu stream, kita dapat menghubungkan stream tersebut dengan file, proses ini menghubungkan stream tersebut dengan file, proses ini berhubungan dengan operasi terhadap file. Operasi berhubungan dengan operasi terhadap file. Operasi yang dapat dilakukan terhadap file yaitu input, output yang dapat dilakukan terhadap file yaitu input, output dan I/O ( Input / Output).dan I/O ( Input / Output).

Tiga buah proses utama di dalam mengelola file Tiga buah proses utama di dalam mengelola file adalah :adalah :

1. Membuka File1. Membuka File

2. Melakukan proses terhadap file2. Melakukan proses terhadap file

3. Menutup file3. Menutup file

Page 2: File & Stream Kegunaan File :

TPT- 2 2

Sebelum membuka file kita harus mengetahui lebih dahulu Sebelum membuka file kita harus mengetahui lebih dahulu dalam keadaan mode apa file yang akan kita buka :dalam keadaan mode apa file yang akan kita buka :

1. Untuk membuka file dengan tujuan output kita harus 1. Untuk membuka file dengan tujuan output kita harus mendeklarasikan stream pada class ofstreammendeklarasikan stream pada class ofstream2. Untuk membuka file dengan tujuan input kita harus 2. Untuk membuka file dengan tujuan input kita harus mendeklarasikan stream pada class ifstreammendeklarasikan stream pada class ifstream3. Sedangkan jika kita ingin membuka file tersebut dalam 3. Sedangkan jika kita ingin membuka file tersebut dalam keadaan input maupun output anda harus keadaan input maupun output anda harus mendeklarasikan stream pada class fstream.mendeklarasikan stream pada class fstream.

Contoh :Contoh :ifstream fin;ifstream fin;/* membuka file dengan nama stream fin sebagai input *//* membuka file dengan nama stream fin sebagai input */ofstream fout;ofstream fout;/* membuka file dengan nama stream fout sebagai output /* membuka file dengan nama stream fout sebagai output */*/fstream fio;fstream fio;/* membuka file dengan nama stream fio sebagai I/O *//* membuka file dengan nama stream fio sebagai I/O */

Fungsi open () digunakan untuk membuka file.Fungsi open () digunakan untuk membuka file.Bentuk umum fungsi ini adalah :Bentuk umum fungsi ini adalah :

void open(char*file_name,int mode, int access);void open(char*file_name,int mode, int access);

Dengan menggunakan fungsi open () anda Dengan menggunakan fungsi open () anda menghubungkan stream tersebut dengan file yang menghubungkan stream tersebut dengan file yang bernama file_Name, nilai dari variabel mode akan bernama file_Name, nilai dari variabel mode akan menentukan bagaimana keadaan file jika dibuka.menentukan bagaimana keadaan file jika dibuka.Nilai variabel mode yaitu :Nilai variabel mode yaitu :

Page 3: File & Stream Kegunaan File :

TPT- 2 3

ios::appios::appios::ateios::ateios::inios::inios::nocreateios::nocreateios::noreplaceios::noreplaceios::outios::outios::truncios::trunc

Penjelasan dan fungsi dari masing-masing mode Penjelasan dan fungsi dari masing-masing mode tersebut adalah :tersebut adalah :~ ios::app = semua informasi yang ditulis ke ~ ios::app = semua informasi yang ditulis ke dalam file (output) akan ditambahkan di bagian dalam file (output) akan ditambahkan di bagian akhir file tersebut.akhir file tersebut.~ ios::ate = file akan dibuka dengan pointer file ~ ios::ate = file akan dibuka dengan pointer file menunjuk pada akhir filemenunjuk pada akhir file~ ios::in~ ios::in = file akan dibuka sebagai input = file akan dibuka sebagai input ~ ios::out = file akan dibuka sebagai output~ ios::out = file akan dibuka sebagai output~ ios::nocreate = akan mengakibatkan kesalahan ~ ios::nocreate = akan mengakibatkan kesalahan jika file tidak adajika file tidak ada~ ios::noreplace = file yang dibuka tidak dapat ~ ios::noreplace = file yang dibuka tidak dapat diganti, atau mengakibatkan kesalahan jika file diganti, atau mengakibatkan kesalahan jika file yang akan yang akan dibuka sudah ada. dibuka sudah ada.~ ios::trunc = menyebabkan isi dari file yang ~ ios::trunc = menyebabkan isi dari file yang sudah ada akan hilangsudah ada akan hilang

Untuk menutup file yang telah dibuka dapat Untuk menutup file yang telah dibuka dapat digunakan fungsi :digunakan fungsi :

close ()close ()

Page 4: File & Stream Kegunaan File :

TPT- 2 4

Bentuk Umum fungsi ini adalah :Bentuk Umum fungsi ini adalah :void close ();void close ();

contoh penggunaan fungsi close() adalah :contoh penggunaan fungsi close() adalah :fout.close();fout.close();fin.close();fin.close();fio.close();fio.close();

Didalam class ios terdapat pendefinisian fungsi :Didalam class ios terdapat pendefinisian fungsi :int eof();int eof();Fungsi eof () digunakan untuk menentukan Fungsi eof () digunakan untuk menentukan apakah pointer pada file telah mencapai akhir apakah pointer pada file telah mencapai akhir dari file tersebut.dari file tersebut.

Penelusuran kesalahan dengan perintah - Penelusuran kesalahan dengan perintah - perintah dalam file :perintah dalam file :

Didalam class ios didefinisikan empat buah Didalam class ios didefinisikan empat buah fungsi untuk melakukan tes terhadap error yang fungsi untuk melakukan tes terhadap error yang terjadi di dalam stream.terjadi di dalam stream.Fungsi tersebut adalah :Fungsi tersebut adalah :int good ();int good ();int eof();int eof();int bad();int bad();int fail();int fail();

Keempat fungsi tersebut akan menghasilkan Keempat fungsi tersebut akan menghasilkan nilai NOL jika kondisi tersebut salah dan nilai nilai NOL jika kondisi tersebut salah dan nilai bukan NOL jika kondisi tersebut benar.bukan NOL jika kondisi tersebut benar.

Page 5: File & Stream Kegunaan File :

TPT- 2 5

Jika error terjadi maka stream tersebut harus Jika error terjadi maka stream tersebut harus dibersihkan dahulu dari kesalahan sebelum dibersihkan dahulu dari kesalahan sebelum melanjutkan ke proses berikutnya. Fungsi yang melanjutkan ke proses berikutnya. Fungsi yang digunakan untuk membersihkan kesalahan pada digunakan untuk membersihkan kesalahan pada stream jika terjadi kesalahan adalah fungsi clear().stream jika terjadi kesalahan adalah fungsi clear().

Bentuk umum fungsi ini adalah :Bentuk umum fungsi ini adalah :

void clear (int flags = 0);void clear (int flags = 0);

fungsi clear () ini dalam keadaan default akan fungsi clear () ini dalam keadaan default akan membersihkan seluruh flag, kita dapat membersihkan seluruh flag, kita dapat menentukan flag yang mana yang akan menentukan flag yang mana yang akan dibersihkan, dengan memrikan argumen yang dibersihkan, dengan memrikan argumen yang sesuai.sesuai.

Fungsi rdstate () yang mempunyai bentuk umum:Fungsi rdstate () yang mempunyai bentuk umum:

int rdstate();int rdstate();

int rdstate() digunakan untuk menentukan jenis int rdstate() digunakan untuk menentukan jenis kesalahan yang terjadi, dengan mengembalikan nilai kesalahan yang terjadi, dengan mengembalikan nilai integer kesalahan tersebut.integer kesalahan tersebut.

Nilai enum yang dikembalikan oleh fungsi rdstate() Nilai enum yang dikembalikan oleh fungsi rdstate() adalah :adalah :

goodbitgoodbit 0 jika tidak ada error0 jika tidak ada error

1 jika terjadi error1 jika terjadi error

Page 6: File & Stream Kegunaan File :

TPT- 2 6

eofbiteofbit 1 jika eof ditemukan1 jika eof ditemukan0 ika eof tidak ditemukan0 ika eof tidak ditemukan

failbitfailbit 1 jika non fatal error ditemukan1 jika non fatal error ditemukan0 jika tidak0 jika tidak

badbitbadbit 1 jika fatal error ditemukan1 jika fatal error ditemukan0 jika tidak0 jika tidak

Contoh Program :Contoh Program :

// Nama file : error1.cpp// Nama file : error1.cpp#include <fstream.h>#include <fstream.h>void cek_status (ifstream& in );void cek_status (ifstream& in );main()main(){{ofstream fout (“d:tes”);ofstream fout (“d:tes”);if ( !fout ) {if ( !fout ) {cout << “ File Gagal dibuka \n”;cout << “ File Gagal dibuka \n”;return 1;return 1;}}fout << “ Ini adalah tes “ << end1;fout << “ Ini adalah tes “ << end1;fout.close ();fout.close ();ifstream fin(d:tes”;ifstream fin(d:tes”;if (!fin ) {if (!fin ) {cout << “ File gagal dibuka \n”;cout << “ File gagal dibuka \n”;return 1;return 1;}}

Page 7: File & Stream Kegunaan File :

TPT- 2 7

char ch;char ch;

while (fin.get (ch)){while (fin.get (ch)){

cout << ch;cout << ch;

cek_status (fin);cek_status (fin);

fin.close ();fin.close ();

return 0;return 0;

}}

void cek_status (ifstream& in)void cek_status (ifstream& in)

{{

int I = in.mrdstate ();int I = in.mrdstate ();

if ( I & ios::eofbit )if ( I & ios::eofbit )

cout << “ Eof \ n”;cout << “ Eof \ n”;

else if ( I & ios::failbit )else if ( I & ios::failbit )

cout << “ fail bit \n”;cout << “ fail bit \n”;

else if ( I & ios::badbit)else if ( I & ios::badbit)

cout << “ bad bit \ n”;cout << “ bad bit \ n”;

}}

Hasil dari program tersebut :Hasil dari program tersebut :

Ini adalah tesIni adalah tes

EOFEOF

Page 8: File & Stream Kegunaan File :

TPT- 2 8

I/O karakter dengan get(), put() dan I/O karakter dengan get(), put() dan putback() functionputback() function

Salah satu fungsi untuk melakukan input dan Salah satu fungsi untuk melakukan input dan output pada file binari telah digunakan pada output pada file binari telah digunakan pada program sebelumnya yaitu fungsi get () dan put program sebelumnya yaitu fungsi get () dan put (). Bentuk umum kedua fungsi tersebut adalah :(). Bentuk umum kedua fungsi tersebut adalah :iostream &get (char& ch);iostream &get (char& ch);ostream &put (char ch);ostream &put (char ch);Fungsi get () akan membaca sebuah karakter dari Fungsi get () akan membaca sebuah karakter dari stream dan karakter tersebut akan diletakkan stream dan karakter tersebut akan diletakkan pada variabel ch. Fungsi ini akan mengembalikan pada variabel ch. Fungsi ini akan mengembalikan reference ke strream jika EOF ditemukan maka reference ke strream jika EOF ditemukan maka nilai yang akan dikembalikan adalah NULLnilai yang akan dikembalikan adalah NULLFungsi put() akan meletakkan sebuah karakter ke Fungsi put() akan meletakkan sebuah karakter ke suatu stream dan akan mengembalikan reference suatu stream dan akan mengembalikan reference ke stream.ke stream.Untuk membaca dan menulis file binari dalam Untuk membaca dan menulis file binari dalam bentuk blok data kita dapat menggunakan fungsi bentuk blok data kita dapat menggunakan fungsi read () dan write ().read () dan write ().Bentuk Umumnya :Bentuk Umumnya :

istream& read(unsigned char* buf, int istream& read(unsigned char* buf, int num);num);

ostream& write(const unsigned char* buf, ostream& write(const unsigned char* buf, int num);int num);Fungsi read() akan membaca sejumlah num byte Fungsi read() akan membaca sejumlah num byte dari stream dan akan meletakkan data tersebut dari stream dan akan meletakkan data tersebut ke dalam variabel yang ditunjuk oleh pointer buf.ke dalam variabel yang ditunjuk oleh pointer buf.Fungsi write() akan menulis sejumlah num byte Fungsi write() akan menulis sejumlah num byte ke stream dari data yang ditunjuk oleh pointer ke stream dari data yang ditunjuk oleh pointer buf. buf.