Baca Tulis File Untuk dapat membaca atau menulis
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 operand read() atau write() 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 Inp. Out; // variabel stream utk input/output - melakukan perintah open() sintak: void ifstream: : open(const char * filename, ios: : openmode=ios: : in); void ofstream: : open(const char * filename, ios: : openmode=ios: : out | ios: : trunc); void fstream: : open(const char * filename, ios: : openmode=ios: : in | ios: : out );
Baca Tulis File Contoh program membuka dan menutup file: #include <iostream> #include <fstream> using namespace std; void main() { // Mendeklarasikan stream untuk proses input ifstream Var. Baca; // membuka file Var. Baca. open("COBA. TXT"); // Menutup file Var. Baca. close(); }
Baca Tulis File Melakukan penulisan data ke dalam file - menggunakan operand << Contoh program menulis data ke file: Data file yang bernama “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” #include <iostream> #include <fstream> using namespace std; void main() { Jika file “Coba. txt” kita buka dengan editor notepad, akan tampak seperti: // membuka file Var. Tulis. open("COBA. TXT"); // Mendeklarasikan stream untuk proses output ofstream Var. Tulis; Var. Tulis << “C++ mudah Sekali” << endl; ; Var. Tulis << “Pemrograman Mudah “ << endl; // Menutup file Var. Tulis. 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: “C: //DATA//COBA. TXT” Var. Baca >> 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 <iostream> #include <fstream> using namespace std; void main() { // Mendeklarasikan stream untuk proses output ifstream Var. Baca; char Teks[80]; // membuka file Var. Baca. open("COBA. TXT"); Var. Baca >> Teks; // proses membaca data dr file (1 string/kata) cout << Teks << “ “; // “ “ -> memisahkan dg teks berikutnya Var. Baca >> Teks; // proses baca data dr file (1 string/kata) cout << Teks; // Menutup file Var. Baca. 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” Var. Baca. good() : “true” jika berhasil membuka file/membaca data file, “false” jika tidak berhasil membuka file/membaca data file. Hasil: #include <iostream> #include <fstream> using namespace std; void main() { // Mendeklarasikan stream untuk proses output ifstream Var. Baca; char Teks[80]; // membuka file Var. Baca. open("COBA. TXT"); while(Var. Baca. good()) // apakah berhasil membuka { // file atau tidak Var. Baca >> Teks; // proses membaca data dr file cout << Teks; } // Menutup file Var. Baca. close(); }
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: Var. Tulis. 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 dicoba jika angka 15 diganti dengan angka yang berbeda! #include <iostream> #include <fstream> using namespace std; void main() { // Mendeklarasikan stream untuk proses output ofstream Var. Tulis; char Teks[80]; // membuka file Var. Tulis. open("COBA. TXT"); strcpy(Teks, “Kalimat Pertama”); Var. Tulis. write(Teks, 15); // proses menulis data ke file cout << Teks; strcpy(Teks, ”Kalimat Kedua”); Var. Tulis. write(Teks, 13); // proses tulis data ke file cout << Teks; // Menutup file Var. Tulis. close(); }
Baca Tulis File Melakukan pembacaan data dari file - menggunakan operand read() Sintaks: basic_istream: : read (char * buffer, bytesize n); #include <iostream> #include <fstream> 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 Var. Baca; char Teks[80]; // membuka file Var. Baca. open("COBA. TXT"); strcpy(Teks, " "); // mengosongkan variabel Teks Var. Baca. read(Teks, 15); // proses membaca data dr file cout << Teks << endl; strcpy(Teks, " "); // mengosongkan variabel Teks Var. Baca. read(Teks, 13); // proses baca data dr file cout << Teks; // Menutup file Var. Baca. close(); }
Baca Tulis File Melakukan penulisan data berupa numerik - menggunakan operand write() Contoh program menulis data ke file: #include <iostream> #include <fstream> using namespace std; Hasil penyimpanan data numerik ke file adalah berupa data biner. void main() { // Mendeklarasikan stream untuk proses output ofstream Var. Tulis; float angka = 23. 3; Jika file “Coba. dat” dibuka menggunakan editor notepad, maka akan tampak seperti: // membuka file Var. Tulis. open("COBA. dat"); Var. Tulis. write((char *) &angka, sizeof(float)); // Menutup file Var. Tulis. 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 <iostream> #include <fstream> using namespace std; void main() { // Mendeklarasikan stream untuk proses output ifstream Var. Baca; float angka; 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. !! // membuka file Var. Baca. open("COBA. dat"); Var. Baca. read((char *) &angka, sizeof(float)); cout << angka << endl; // Menutup file Var. Baca. 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 n. Count, char delim = 'n' ); #include <iostream> #include <fstream> using namespace std; void main(void) { Hasil penyimpan di file: // Mendeklarasikan stream untuk proses input ifstream Var. Baca; // Mendeklarasikan stream untuk proses output ofstream Var. Tulis; char Teks[80]; // membuka file Var. Tulis. open("COBI. TXT"); Var. Tulis << " C++ mudah Sekali " << endl; //menulis data ke file Var. Tulis << " Pemrograman Mudah " << endl; //menulis data ke file // Menutup file Var. Tulis. close();
Lanjutan … Baca Tulis File Hasil pembacaan dari file: // membuka file Var. Baca. open("COBI. TXT"); //membaca seluruh data dari file, baris per baris while (!Var. Baca. eof()) { Var. Baca. getline(Teks, 80, 'n'); //membaca data dari file cout << Teks << endl; } delimiter ‘n’ diganti dengan spacebar ‘ ‘, hasil: // Menutup file Var. Baca. close(); } Var. Baca. eof() memberikan harga “bukan nol” jika akhir suatu file telah ditemukan. Var. Baca. 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. Coba tanda delimiter ‘n’ anda ganti dengan tanda delimiter spcebar ‘ ‘. Perhatikan hasil pada layar.
Lanjutan … Baca Tulis File // membuka file Var. Baca. open("COBI. TXT"); Var. Baca. seekg(17, ios: : beg); // set file pointer ke posisi // 17 byte dr awal file Strcpy(Teks, “ “); Var. Baca. read(Teks, 12); // proses baca data dr file cout << Teks << “ “; Var. Baca. seekg(0, ios: : beg); // set file pointer ke posisi // 0 byte dr awal file Strcpy(Teks, “ “); Var. Baca. read(Teks, 3); // proses baca data dr file cout << Teks << “ “; Var. Baca. seekg(28, ios: : cur); // set file pointer ke posisi // 28 byte dr posisi saat itu Strcpy(Teks, “ “); Var. Baca. read(Teks, 5); // proses baca data dr file cout << Teks << “ “;
Lanjutan … Baca Tulis File Var. Baca. seekg(10, ios: : beg); // set file pointer ke posisi // 10 byte dr posisi awal Strcpy(Teks, “ “); Var. Baca. read(Teks, 6); // proses baca data dr file cout << Teks << “ “; // Menutup file Var. Baca. 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. Menutup file - menggunakan perintah fclose() atau _fcloseall();
Baca Tulis File Contoh program membuka dan menutup file: #include <iostream. h> #include <stdio. h> #include <stdlib. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Baca; // membuka file Var. Baca = fopen("COBA. TXT", "r"); if(Var. Baca==NULL){ cout << " Error buka file : " << "Coba. txt" << endl; exit(-1); // keluar dari program } // Menutup file fclose(Var. Baca); }
Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fprintf() atau fscanf() Contoh program menulis data ke file: #include <iostream. h> #include <stdio. h> #include <stdlib. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Tulis; // membuka file Var. Tulis = fopen("COBA. TXT", "w"); if(Var. Tulis==NULL){ cout << " Error buka file : " << "Coba. txt“ << endl; exit(-1); } fprintf(Var. Tulis, "C++ mudah Sekalin"); fprintf(Var. Tulis, "Pemrograman Mudah"); // Menutup file fclose(Var. Tulis); }
Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fprintf() atau fscanf() Contoh program membaca data ke file: #include <iostream. h> #include <stdio. h> #include <stdlib. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Baca; char Teks[80]; // membuka file Var. Baca = fopen("COBA. TXT", "r"); if(Var. Baca==NULL){ cout << " Error buka file : " << "Coba. txt“ << endl; exit(-1); } while(fscanf(Var. Baca, "%s", Teks)!=EOF) { cout << Teks << “ “; } // Menutup file fclose(Var. Baca); }
Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fprintf() atau fscanf() dan fgets() #include <iostream. h> #include <stdio. h> #include <stdlib. h> #include <string. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Tulis, *Var. Baca; char Teks[80]; // membuka file Var. Tulis = fopen("COBA. TXT", "w"); if(Var. Tulis==NULL){ cout << " Error buka file : " << "Coba. txt" << endl; exit(-1); }
Lanjutan … Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fprintf() atau fscanf() dan fgets() strcpy(Teks, "Kalimat Pertama"); fprintf(Var. Tulis, "%20 s", Teks); // proses menulis data ke file cout << Teks; strcpy(Teks, "Kalimat Kedua"); fprintf(Var. Tulis, "%20 s", Teks); // proses menulis data ke file cout << Teks; // Menutup file fclose(Var. Tulis);
Lanjutan … Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fprintf() atau fscanf() dan fgets() // membuka file Var. Baca = fopen("COBA. TXT", "r"); if(Var. Baca==NULL){ cout << " Error buka file : " << "Coba. txt" << endl; exit(-1); } while( fgets(Teks, 21, Var. Baca) != NULL ) { cout << Teks << endl; } // Menutup file fclose(Var. Baca); }
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 <iostream. h> #include <stdio. h> #include <stdlib. h> #include <string. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Tulis; char Teks[80]; // membuka file Var. Tulis = fopen("COBA. TXT", "w"); if(Var. Tulis==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, Var. Tulis); // proses menulis data ke file cout << Teks; strcpy(Teks, "Kalimat Kedua"); fwrite(Teks, sizeof(char), 20, Var. Tulis); // proses menulis data ke file cout << Teks; // Menutup file fclose(Var. Tulis); }
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 <iostream. h> #include <stdio. h> #include <stdlib. h> #include <string. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Baca; char Teks[80]; // membuka file Var. Baca = fopen("COBA. TXT", "r"); if(Var. Baca==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, Var. Baca); // proses membaca data dari file cout << Teks << endl; // Menutup file fclose(Var. Baca); }
Baca Tulis File Melakukan penulisan data berupa numerik - menggunakan operand fwrite() #include <iostream. h> #include <stdio. h> #include <stdlib. h> Contoh program Menulis data ke file: void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Tulis; float angka = 23. 3; // membuka file Var. Tulis = fopen("COBA. DAT", "w"); if(Var. Tulis==NULL){ cout << " Error buka file : " << "Coba. txt“ << endl; exit(-1); } fwrite(&angka, sizeof(float), 1, Var. Tulis); // proses menulis data ke file cout << angka << endl; // Menutup file fclose(Var. Tulis); }
Baca Tulis File Melakukan pembacaan data berupa numerik - menggunakan operand fread() #include <iostream. h> #include <stdio. h> #include <stdlib. h> Contoh program Pembacaan data dari file: void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Baca; float angka; // membuka file Var. Baca = fopen("COBA. DAT", "r"); if(Var. Baca==NULL){ cout << " Error buka file : " << "Coba. txt" << endl; exit(-1); } fread(&angka, sizeof(float), 1, Var. Baca); // proses menulis data ke file cout << angka << endl; // Menutup file fclose(Var. Baca); }
Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fread() atau fwrite() dan fungsi fseek() #include <iostream. h> #include <stdio. h> #include <stdlib. h> #include <string. h> void main() { // Mendeklarasikan stream untuk proses input FILE *Var. Tulis, *Var. Baca; char Teks[80]; // membuka file Var. Tulis = fopen("COBA. TXT", "w"); if(Var. Tulis==NULL){ cout << " Error buka file : " << "Coba. txt" << endl; exit(-1); }
Lanjutan…. Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fread() atau fwrite() dan fungsi fseek() // membuka file strcpy(Teks, "Kalimat Pertama"); fwrite(Teks, sizeof(char), 20, Var. Tulis); // proses menulis data ke file cout << Teks; strcpy(Teks, "Kalimat Kedua"); fwrite(Teks, sizeof(char), 20, Var. Tulis); // proses menulis data ke file cout << Teks; // Menutup file fclose(Var. Tulis);
Lanjutan…. Baca Tulis File Melakukan pembacaan atau penulisan data - menggunakan operand fread() atau fwrite() dan fungsi fseek() // membuka file Var. Baca = fopen("COBA. TXT", "r"); if(Var. Baca==NULL){ cout << " Error buka file : " << "Coba. txt" << endl; exit(-1); } while( fgets(Teks, 21, Var. Baca) != NULL ) { cout << Teks << endl; } fseek(Var. Baca, -40, SEEK_END); fgets(Teks, 21, Var. Baca); // Menutup file fclose(Var. Baca); }
- Slides: 30