Matakuliah
Tahun
: T0456 / Algoritma dan Metode Object
Oriented Programming
: 2007
File Stream
Pertemuan 14
Learning Outcomes
Pada akhir pertemuan ini, diharapkan:
Mahasiswa dapat menghasilkan program yang memakai file sebagai
data input dan output (file stream)
Buku Referensi:
Data Abstraction and Problem Solving with
C++, Prentice Hall, 2001.
Websites:
http://www.deitel.com
3
Bina Nusantara
Outline Materi
•
•
•
•
•
Operasi file dasar
Baca dari file dengan ifstream
Simpan ke file dengan ofstream
Operasi file berbasis karakter
Operasi file berbasis object
4
Bina Nusantara
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
• 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
• 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
• 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 entriData();
void displayData();
};
Bina Nusantara
//definisi fungsi anggota buku
void Buku::entriData(){
char temp[15];
cout << "\nKode 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::displayData(){
cout << "Kode
: "
cout << "Judul
: "
cout << "Pengarang : "
cout << "Jumlah
: "
}
Bina Nusantara
<<
<<
<<
<<
No << endl;
Judul << endl;
Pengarang << endl;
Jumlah << endl << endl;
// deklarasi fungsi baca dan simpan buku ke file
void SimpanDataObject(Buku novel);
void BacaDataObject(Buku novel);
int main()
{
Buku literatur;
SimpanDataObject(literatur);
BacaDataObject(literatur);
return 1;
}
Bina Nusantara
Simpan Data Object ke file
void SimpanDataObject(Buku novel)
{
char jawab;
ofstream file_output("BUKU.DAT", ios::app);
do
{
novel.entriData();
file_output.write((char*)&novel, sizeof(novel));
cout << "\nAkan memesukkan data lagi? (Y/T)";
jawab = toupper(getch());
cout << endl;
} while (jawab != 'T');
file_output.close();
}
Bina Nusantara
Baca Data Object dari file
void BacaDataObject(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.displayData();
file_input.read((char*)&novel, sizeof(novel));
}
file_input.close();
}
Bina Nusantara
Diskusi dan Tanya Jawab
Latihan soal
16
Bina Nusantara
© Copyright 2026 Paperzz