Baca Tulis File
Untuk dapat membaca atau menulis data dari/ke sebuah file maka
langkah yang perlu dilakukan adalah:
1. membuka file
- mendefinisikan variabel stream
- melakukan perintah
melakukan perintah
open()
open()
2. Melakukan pembacaan atau penulisan data
- menggunakan operand
<<
atau
>>
k
d
d()
i ()
- menggunakan operand
read()
atau
write()
perintah
read()
atau
write() ->
informasi ukuran data
yang akan dibaca atau ditulis sangat penting
3. Menutup file
Baca Tulis File
1. membuka file
- mendefinisikan variabel stream
contoh:
ifstream
input; // variabel stream untuk input
ofstream
output; // variabel stream untuk output
fstream
InpOut; // variabel stream utk input/output
fstream
InpOut; // variabel stream utk input/output
- melakukan perintah
open()
sintak:
void ifstream::open(const char * filename, ios::openmode
mode=ios::in);
void ofstream::open(const char * filename, ios::openmode
mode=ios::out | ios::trunc);
id f t
(
t h
* fil
i
d
void fstream::open(const char * filename, ios::openmode
mode=ios::in | ios::out );
Baca Tulis File
Contoh program membuka
dan menutup file:
#include<iostream> #include<fstream> using namespace std; voidmain() {
voidmain() {
// Mendeklarasikan stream untuk proses input
ifstream VarBaca; // membuka file VarBaca.open("COBA.TXT"); // Menutup file // Menutup file VarBaca.close(); }
Baca Tulis File
Melakukan penulisan data ke dalam file
- menggunakan operand
<<
#include <iostream> #include <fstream>
Contoh program menulis
data ke file:
Data file yang bernama
“COBA TXT” akan disimpan pada
using namespace std; void main() {
// Mendeklarasikan stream untuk proses output
ofstreamVarTulis;
COBA.TXT akan disimpan pada folder di mana folder tempat
program file berada. Atau informasi drive dan folder harus diinputkan, contoh:
“C //DATA//COBA TXT” ofstreamVarTulis;
// membuka file
VarTulis.open("COBA.TXT");
“C://DATA//COBA.TXT”
Jika file “Coba.txt” kita buka dengan editor notepad, akan tampak seperti:
VarTulis << “C++ mudah Sekali” << endl;; VarTulis << “Pemrograman Mudah “ << endl;
// Menutup file
VarTulis.close();
p p
(); }
Baca Tulis File
Melakukan pembacaan data dari file
- menggunakan operand
>>
#include <iostream> #include <fstream> using namespace std;
id i () {
Contoh program membaca
data dari file:
Data file yang bernama void main() {
// Mendeklarasikan stream untuk proses output
ifstream VarBaca; char Teks[80];
Data file yang bernama “COBA.TXT” harus sudah
ada di folder tempat program file berada. Jika tidak maka informasi drive dan folder harus diinputkan,
t h [ ];
// membuka file
VarBaca.open("COBA.TXT");
VarBaca >> Teks; // proses membaca data dr file (1 string/kata)
cout << Teks << “ “; // “ “ > memisahkan dg teks berikutnya
contoh:
“C://DATA//COBA.TXT”
VarBaca >> Teks; menghasilkan satu string/kata dibaca dari file.
cout << Teks << ; // -> memisahkan dg teks berikutnya
VarBaca >> Teks; // proses baca data dr file (1 string/kata)
cout << Teks;
// Menutup file
Jika coba.txt hasil dari program slide sebelumnya adalah sebagai input file maka hasil dilayar adalah:
VarBaca.close(); }
Baca Tulis File
Melakukan pembacaan data dari file
- menggunakan operand >> dan
while()
Contoh program membaca
#include <iostream> #include <fstream> using namespace std;
Contoh program membaca
data dari file:
Data file yang bernama “COBA.TXT” harus sudah
void main() {
// Mendeklarasikan stream untuk proses output
ifstream VarBaca; char Teks[80];
ada di folder tempat program file berada. Jika tidak maka informasi drive dan folder harus diinputkan, contoh:
“C://DATA//COBA.TXT”
// membuka file
VarBaca.open("COBA.TXT");
while(VarBaca.good()) // apakah berhasil membuka
{ // fil t tid k
C://DATA//COBA.TXT
VarBaca.good() :
“true” jika berhasil membuka
file/membaca datafile, “false” jika
tid k b h il b k { // file atau tidak
VarBaca >> Teks; // proses membaca data dr file cout << Teks;
}
// Menutup file
V B l ()
tidak berhasil membuka
file/membaca data file.
Hasil:
VarBaca.close(); }
Baca Tulis File
Melakukan penulisan data ke dalam file
- menggunakan operand
write()
Sintaks: basic_istream::write (char * buffer, bytesize n);
#include <iostream> #include <fstream> using namespace std; Contoh program menulis
data ke file:
VarTulis write(Teks 15); adalah proses
void main() {
// Mendeklarasikan stream untuk proses output
ofstreamVarTulis; char Teks[80];
VarTulis.write(Teks, 15); adalah proses menulis data ke file berupa string yang tersimpan dalam variabel Teks
sebanyak 15 byte. String “Kalimat Pertama” terdiri dari 15 karakter.
// membuka file
VarTulis.open("COBA.TXT"); strcpy(Teks, “Kalimat Pertama”);
VarTulis.write(Teks, 15);// proses menulis data ke file
Hasil:
VarTulis.write(Teks, 15); // proses menulis data ke file
cout << Teks;
strcpy(Teks,”Kalimat Kedua”);
VarTulis.write(Teks, 13); // proses tulis data ke file
cout << Teks;
Sil hk di b jik k 15 di ti
// Menutup file
VarTulis.close(); }
Silahkan dicoba jika angka 15 diganti dengan angka yang berbeda!
Baca Tulis File
#i l d i t
Melakukan pembacaan data dari file
- menggunakan operand
read()
Sintaks: basic_istream::read (char * buffer, bytesize n); #include <iostream> #include <fstream> using namespace std; void main() {
Contoh program membaca
data ke file: () {
// Mendeklarasikan stream untuk proses output
ifstream VarBaca; char Teks[80]; Jika coba.txt hasil dari program slide
sebelumnya adalah sebagai input file maka hasil dilayar adalah:
// membuka file
VarBaca.open("COBA.TXT");
strcpy(Teks, " "); // mengosongkan variabel Teks
VarBaca.read(Teks, 15); // proses membaca data dr file
cout << Teks << endl;
strcpy(Teks, " "); // mengosongkan variabel Teks
VarBaca.read(Teks, 13); // proses baca data dr file
cout << Teks;
Silahkan dicoba jika angka 15
atau 13 diganti dengan angka
yang berbeda!
// Menutup file
VarBaca.close(); }
Baca Tulis File
Melakukan penulisan data berupa numerik
- menggunakan operand
write()
#include <iostream> #include <fstream> using namespace std; void main() {
Contoh program menulis data ke file:
Hasil penyimpanan data numerik ke
fil d l h b d t bi void main() {
// Mendeklarasikan stream untuk proses output
ofstreamVarTulis; float angka = 23.3; file adalah berupa data biner.
Jika file “Coba.dat” dibuka
menggunakan editor notepad, maka akan tampak seperti:
// membuka file
VarTulis.open("COBA.dat");
VarTulis write((char *) &angka sizeof(float));
p p
VarTulis.write((char *) &angka, sizeof(float));
// Menutup file
VarTulis.close(); }}
Baca Tulis File
Melakukan pembacaan data numerik
- menggunakan operand
read()
Contoh program membaca
#include <iostream> #include <fstream> using namespace std; void main() {
Contoh program membaca data dari file:
Jika file “coba.dat” hasil dari
program slide sebelumnya adalah
sebagai input file maka hasil void main() {
// Mendeklarasikan stream untuk proses output
ifstream VarBaca; float angka;
sebagai input file maka hasil dilayar adalah:
// membuka file
VarBaca.open("COBA.dat");
VarBaca read((char *) &angka sizeof(float));
Silahkan dicoba menyimpan
data berupa angka/numerik
VarBaca.read((char *) &angka, sizeof(float)); cout << angka << endl;// Menutup file
VarBaca.close();
data berupa angka/numerik
lebih dari satu dengan jenis
tipe data yang berbeda (mis.
Int, long int, double) ! Dan
anda pikirkan bagaimana
}
anda pikirkan bagaimana
cara membaca data yang
telah tersimpan tersebut. !!
Baca Tulis File
Contoh program menulis dan membaca data ke/dari file:
Contoh penggunaan property
getline
dan
eof
dlm pembacaan data
istream& getline( char* pch, int nCount, char delim = '\n' );
#include
<iostream>
#include
<
fstream
>
using namespace
std
;
void
main(void) {
(
) {
// Mendeklarasikan stream untuk proses input
ifstream
VarBaca;
// Mendeklarasikan stream untuk proses output
Hasil penyimpan di file:
p
p
ofstream
VarTulis;
char
Teks[80];
// membuka file
VarTulis.open("COBI.TXT");
VarTulis << " C++ mudah Sekali " << endl; //menulis data ke file
VarTulis << " Pemrograman Mudah " << endl; //menulis data ke file
g
// Menutup file
Baca Tulis File
Lanjutan …
// membuka file
VarBaca.open("COBI.TXT");
Hasil pembacaan dari file:
//membaca seluruh data dari file, baris per baris
while
(!VarBaca.eof()) {
VarBaca.getline(Teks,80, '\n'); //membaca data dari file
t << T k <<
dl
cout << Teks << endl;
}
// Menutup file
VarBaca close()
delimiter ‘\n’ diganti dengan spacebar ‘ ‘, hasil:
VarBaca.close();
}
VarBaca.eof() memberikan harga “bukan nol” jika akhir suatu file telah ditemukan.
VarBaca.getline(Teks,80, '\n'); membaca data karakter yang tersimpan pada file
sampai tanda delimiter ditemukan, delimited ‘\n‘ berarti membaca karakter sampai tanda pindah baris ditemukan
pindah baris ditemukan.
Coba tanda delimiter ‘\n’ anda ganti dengan tanda delimiter spcebar ‘ ‘. Perhatikan hasil pada layar.
Baca Tulis File
#i l d <i t >
Contoh program menulis dan membaca data ke/dari file dg fstream:
Contoh penggunaan property
seekg
dlm pembacaan data
#include <iostream> #include <fstream> using namespace std; voidmain(void) {
// Mendeklarasikan stream untuk proses input
ifstreamVarBaca;
// Mendeklarasikan stream untuk proses output
ofstreamVarTulis; charTeks[80]; charTeks[80];
// membuka file
VarTulis.open("COBE.TXT");
VarTulis << "C++ sangat Sekali" << endl; //menulis data ke file
VarTulis << "Pemrograman Mudah" << endl; //menulis data ke file // Menutup file
VarTulis close(); VarTulis.close();
Baca Tulis File
Lanjutan …
// membuka file
V B ("COBI TXT") VarBaca.open("COBI.TXT");
VarBaca.seekg(17, ios::beg); // set file pointer ke posisi // 17byte dr awal file
Strcpy(Teks, “ “);
VarBaca.read(Teks, 12); ( , ); // proses baca data dr filep
cout << Teks << “ “;
VarBaca.seekg(0, ios::beg); // set file pointer ke posisi // 0byte dr awal file
Strcpy(Teks “ “); Strcpy(Teks, );
VarBaca.read(Teks, 3); // proses baca data dr file cout << Teks << “ “;
VarBaca.seekg(28, ios::cur); // set file pointer ke posisi // 28byte dr posisi saat itu
Strcpy(Teks, “ “);
VarBaca.read(Teks, 5); // proses baca data dr file cout << Teks << “ “;
Baca Tulis File
Lanjutan …
VarBaca.seekg(10, ios::beg); // set file pointer ke posisi // 10b t d i i l // 10byte dr posisi awal
Strcpy(Teks, “ “);
VarBaca.read(Teks, 6); // proses baca data dr file cout << Teks << “ “;
Hasil:
;// Menutup file
VarBaca.close();}
Baca Tulis File
Membaca atau menulis data dari/ke sebuah file dapat dilakukan juga
dengan perintah
fopen()
Untuk dapat membaca atau menulis data dari/ke sebuah file maka
langkah yang perlu dilakukan adalah:
1. membuka file
- mendefinisikan variabel stream
- melakukan perintah
fopen()
2. Melakukan pembacaan atau penulisan data
- menggunakan operand
fscanf()
atau
fprintf()
- menggunakan operand
menggunakan operand
fread()
fread()
atau
atau
fwrite()
fwrite()
perintah
fread()
atau
fwrite() ->
informasi ukuran data
yang akan dibaca atau ditulis sangat penting
3 M
t
fil
3. Menutup file
Baca Tulis File
Contoh program membuka
dan menutup file:
#include <iostream.h> #i l d < tdi h> #include <stdio.h> #include <stdlib.h> void main() {
// Mendeklarasikan stream untuk proses input
FILE *VarBaca;// membuka file
V B f ("COBA TXT" " ") VarBaca = fopen("COBA.TXT", "r"); if(VarBaca==NULL){
cout << " Error buka file : " << "Coba.txt" << endl;
exit(-1);
// keluar dari program
exit( 1); // keluar dari program }// Menutup file
fclose(VarBaca); }Baca Tulis File
#include <iostream.h>
Melakukan pembacaan atau penulisan data
- menggunakan operand
fprintf()
atau
fscanf()
#include <stdio.h>
#include <stdlib.h>
void main() {
Contoh program
menulis data ke file:
// Mendeklarasikan stream untuk proses input
FILE *VarTulis;
//
b k fil
// membuka file
VarTulis = fopen("COBA.TXT", "w");
if(VarTulis==NULL){
cout << " Error buka file : " << "Coba.txt“ << endl;
exit( 1);
exit(-1);
}
fprintf(VarTulis,"C++ mudah Sekali\n");
fprintf(VarTulis,"Pemrograman Mudah");
p
(
,
g
);
// Menutup file
fclose(VarTulis);
}
Baca Tulis File
#include <iostream.h>
#include <stdio h>
Melakukan pembacaan atau penulisan data
- menggunakan operand
fprintf()
atau
fscanf()
#include <stdio.h>
#include <stdlib.h>
void main() {
// Mendeklarasikan stream untuk proses input
Contoh program
membaca data ke
file:
// Mendeklarasikan stream untuk proses input
FILE *VarBaca;
char Teks[80];
// membuka file
VarBaca = fopen("COBA TXT" "r");
file:
VarBaca = fopen( COBA.TXT , r );
if(VarBaca==NULL){
cout << " Error buka file : " << "Coba.txt“ << endl;
exit(-1);
}}
while(fscanf(VarBaca,"%s",Teks)!=EOF) {
cout << Teks << “ “;
}
// Menutup file
// Menutup file
fclose(VarBaca);
}
Baca Tulis File
Melakukan pembacaan atau penulisan data
- menggunakan operand
fprintf()
atau
fscanf()
dan
fgets()
#i
l d
i
t
h
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main() {
// Mendeklarasikan stream untuk proses input
FILE *V T li
*V B
FILE *VarTulis, *VarBaca;
char Teks[80];
// membuka file
V T li
f
("COBA TXT" " ")
VarTulis = fopen("COBA.TXT", "w");
if(VarTulis==NULL){
cout << " Error buka file : " << "Coba.txt"
<< endl;
it( 1)
exit(-1);
}
Baca Tulis File
Lanjutan …
Melakukan pembacaan atau penulisan data
- menggunakan operand
fprintf()
atau
fscanf()
dan
fgets()
strcpy(Teks, "Kalimat Pertama");
fprintf(VarTulis,"%20s", Teks); // proses menulis data ke file
cout << Teks;
strcpy(Teks, "Kalimat Kedua");
fprintf(VarTulis,"%20s", Teks); // proses menulis data ke file
cout << Teks;
// Menutup file
fclose(VarTulis);
Baca Tulis File
Lanjutan …
Melakukan pembacaan atau penulisan data
- menggunakan operand
fprintf()
atau
fscanf()
dan
fgets()
// membuka file
VarBaca = fopen("COBA.TXT", "r");
if(VarBaca==NULL){
cout << " Error buka file : " << "Coba.txt"
<< endl;
exit(-1);
}
while( fgets(Teks, 21, VarBaca) != NULL ) {
cout << Teks << endl;
}
// Menutup file
fclose(VarBaca);
}
Baca Tulis File
Melakukan pembacaan atau penulisan data
- menggunakan operand
fread()
atau
fwrite()
Sintaks: fwrite
(char * buffer, size t, count n, iobuf *);
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
Contoh program menulis
#include <string.h>
void main() {
Contoh program menulis
data ke file:
// Mendeklarasikan stream untuk proses input
FILE *VarTulis;
char Teks[80];
// membuka file
VarTulis = fopen("COBA.TXT", "w");
if(VarTulis==NULL){
cout << " Error buka file : " << "Coba.txt"
<< endl;
exit(-1);
}
Baca Tulis File
Lanjutan….
Melakukan pembacaan atau penulisan data
- menggunakan operand
fread()
atau
fwrite()
Sintaks: fwrite
(char * buffer, size t, count n, iobuf *);
Contoh program menulis data ke file:
// membuka file
strcpy(Teks, "Kalimat Pertama");
fwrite(Teks,sizeof(char),20, VarTulis); // proses menulis data ke file
t
T k
cout << Teks;
strcpy(Teks, "Kalimat Kedua");
fwrite(Teks,sizeof(char),20, VarTulis); // proses menulis data ke file
cout << Teks;
// Menutup file
fclose(VarTulis);
}}
Baca Tulis File
Melakukan pembacaan atau penulisan data
- menggunakan operand
fread()
atau
fwrite()
Sintaks: fread
(char * buffer, size t, count n, iobuf *);
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
Contoh program
#include <string.h>
void main() {
Contoh program
Membaca data ke file:
// Mendeklarasikan stream untuk proses input
FILE *VarBaca;
char Teks[80];
// membuka file
VarBaca = fopen("COBA.TXT", "r");
if(VarBaca==NULL){
cout << " Error buka file : " << "Coba.txt"
<< endl;
exit(-1);
}
Baca Tulis File
Lanjutan….
Melakukan pembacaan atau penulisan data
- menggunakan operand
fread()
atau
fwrite()
Sintaks: fread
(char * buffer, size t, count n, iobuf *);
fread(Teks sizeof(char) 20 VarBaca);
// proses menulis data ke file
Contoh program
Membaca data ke file:
fread(Teks,sizeof(char),20, VarBaca); // proses menulis data ke file
cout << Teks << endl;
fread(Teks,sizeof(char),20, VarBaca); // proses menulis data ke file
cout << Teks << endl;
// Menutup file
fclose(VarBaca);
}}
Baca Tulis File
Melakukan penulisan data berupa numerik
- menggunakan operand
fwrite()
#i l d i t h #include <iostream.h> #include <stdio.h> #include <stdlib.h> void main() {
Contoh program
() {//
Mendeklarasikanstream untuk proses input
FILE *VarTulis;float angka = 23.3;
//
b k fil
Menulis data ke file:
// membuka file
VarTulis = fopen("COBA.DAT", "w"); if(VarTulis==NULL){
cout << " Error buka file : " << "Coba.txt“ << endl; exit(-1);
exit( 1); }
fwrite(&angka,sizeof(float),1, VarTulis); // proses menulis data ke file
cout << angka << endl; // Menutup file
fclose(VarTulis); }
Baca Tulis File
Melakukan penulisan data berupa numerik
- menggunakan operand
fwrite()
#i l d i t h #include <iostream.h> #include <stdio.h> #include <stdlib.h> void main() {
Contoh program
() {// Mendeklarasikan stream untuk proses input
FILE *VarBaca; float angka;
// membuka file
Menulis data ke file:
// membuka file
VarBaca = fopen("COBA.DAT", "r"); if(VarBaca==NULL){
cout << " Error buka file : " << "Coba.txt" << endl; exit(-1);
}
fread(&angka,sizeof(float),1, VarBaca); // proses menulis data ke file cout << angka << endl;
// Menutup file
fclose(VarBaca); }