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