T 0456 Algoritma dan Metode Object Oriented Programming
T 0456 – Algoritma dan Metode Object Oriented Programming Week 5 – Operasi File
Learning Outcome Pada akhir pertemuan ini, diharapkan: • Mahasiswa dapat menghasilkan program yang memakai file sebagai data input dan output (file stream) Buku Referensi: ØC++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: Øhttp: //www. deitel. com
Outline Materi • Operasi file dasar, ofstream dan ifstream • Operasi file berbasis karakter dan object
OPERASI FILE DASAR, OFSTREAM DAN IFSTREAM
Operasi File Dasar • Operasi dasar pada file: – Membuka file – Menuliskan / membaca file – Menutup file • Untuk pemrosesan file harus menyertakan: #include <fstream. h> • Untuk menuliskan data ke file perlu didefinisikan object file: ofstream nama_object • Setelah object file diciptakan, file dapat dibuka dengan: File_output. open(“data. txt”); Dimana: – File_output adalah nama object file – Data. text nama file yang diciptakan Bina Nusantara 5
ofstream • Untuk menuliskan data ke dalam file: File_output << “Selamat belajar C++”; • Setelah pemrosesan, file perlu ditutup dengan fungsi anggota close() File_output. close(); • Contoh program: // program C++ untuk menuliskan data ke dalam file #include <iostream. h> #include <fstream. h> void main(){ ofstream file_output; file_output. open(“coba. txt”); cout << “tunggu dulu sedang proses … “ << endl; file_output << “Belajar pemrograman C++” << endl; file_output << “itu sangat menarik “ << endl; file_output. close(); } Bina Nusantara 6
ifstream • Untuk membaca data di dalam file perlu diciptakan object file dengan: ifstream nama_object • • Fungsi anggota untuk membaca data di file adalah getline(), dan untuk mendeteksi akhir file digunakan fungsi eof(). Contoh program: #include <iostream. h> #include <fstream. h> void main(){ ifstream file_input; file_input. open(“coba. txt”); const int MAX = 50; char buffer[MAX]; while ( !file_input. eof() ) { file_input. getline(buffer, MAX); cout << buffer << endl; } file_input. close(); } Bina Nusantara
OPERASI FILE BERBASIS KARAKTER DAN OBJECT
Operasi File Berbasis Karakter • Operasi penulisan dan pembacaan pada file dapat dilakukan karakter per karakter yaitu dengan fungsi: get() dan put(char). • Fungsi anggota get() digunakan untuk membaca file per karakter. • Fungsi anggota put(char) digunakan untuk menuliskan karakter ke dalam file. Bina Nusantara
Contoh Program // program C++ untuk menuliskan data dalam file #include <iostream. h> #include <fstream. h> void main() { char ch; ifstream file_input(“coba. txt”); while ( !file_input. eof() ) { file_input. get(ch); cout << ch; } file_input. close(); } Bina Nusantara
Operasi file berbasis Object • Untuk merekam object ke dalam file digunakan fungsi anggota write(). • Syntax penulisan fungsi write(): Object_file. write((char*)&object, sizeof(object)); • Untuk membaca object dalam file digunakan fungsi read() dengan format: Object_file. read((char*)&object, sizeof(object)); Bina Nusantara
Contoh Program // program C++ untuk membaca dan menuliskan object #include <constrea. h> #include <string. h> #include <fstream. h> #include <ctype. h> #include <stdlib. h> // class declaration Buku class Buku { private: char No[8]; char Judul[25]; char Pengarang[15]; int Jumlah; public: void entri. Data(); void display. Data(); }; Bina Nusantara
Contoh Program //definisi fungsi anggota buku void Buku: : entri. Data(){ char temp[15]; cout << "n. Kode buku : "; cin. getline(No, sizeof(No)); cout << "Judul : "; cin. getline(Judul, sizeof(Judul)); cout << "Pengarang : "; cin. getline(Pengarang, sizeof(Pengarang)); cout << "Jumlah : "; cin. getline(temp, sizeof(temp)); Jumlah = atoi(temp); } void Buku: : display. Data(){ cout << "Kode : " << No << endl; cout << "Judul : " << Judul << endl; cout << "Pengarang : " << Pengarang << endl; cout << "Jumlah : " << Jumlah << endl; } Bina Nusantara
Contoh Program // deklarasi fungsi baca dan simpan buku ke file void Simpan. Data. Object(Buku novel); void Baca. Data. Object(Buku novel); int main() { Buku literatur; Simpan. Data. Object(literatur); Baca. Data. Object(literatur); return 1; } Bina Nusantara
Simpan Data Object ke file Contoh Program void Simpan. Data. Object(Buku novel) { char jawab; ofstream file_output("BUKU. DAT", ios: : app); do { novel. entri. Data(); file_output. write((char*)&novel, sizeof(novel)); cout << "n. Akan memesukkan data lagi? (Y/T)"; jawab = toupper(getch()); cout << endl; } while (jawab != 'T'); file_output. close(); } Bina Nusantara
Baca Data Object dari file Contoh Program void Baca. Data. Object(Buku novel) { ifstream file_input("BUKU. DAT"); cout << "Daftar buku-buku yang tersedia: " << endl; file_input. read((char*)&novel, sizeof(novel)); while ( !file_input. eof() ) { novel. display. Data(); file_input. read((char*)&novel, sizeof(novel)); } file_input. close(); } Bina Nusantara
Thank You
- Slides: 17