130 likes | 263 Views
Pertemuan 27. OPERASI FILE Bag.2. Dasar Pemrograman Renni Angreni, S.Kom. Operasi Berbasis Karakter. Operasi pada file tidak harus dalam bentuk string, seperti sejumlah contoh program yang telah diberikan .
E N D
Pertemuan27 OPERASI FILE Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
OperasiBerbasisKarakter • Operasipada file tidakharusdalambentuk string, sepertisejumlahcontoh program yang telahdiberikan. • Kita dapatmelakukanoperasipada file berbasiskarakter. Perekamanke file dilakukankarakterdemikarakterdanbegitu pula prosespembacaannya. • Untukmelakukanini, kitagunakanfungsianggotaput()danget()padakelasofstreamdanifstream. • put()untukmenuliskansebuahkarakterke file. • get()untukmengambilsebuahkarakterdari file.
Contoh #include <iostream> #include <conio.h> #include <string> #include <fstream> using namespace std; void main() { ofstreamfileKeluar("karakter.txt"); fileKeluar.put('A'); fileKeluar.put('B'); fileKeluar.put('C'); fileKeluar.put('\n'); fileKeluar.put('A'); fileKeluar.put('N'); fileKeluar.close(); _getch(); }
Contoh #include <iostream> #include <conio.h> #include <string> #include <fstream> using namespace std; void main() { char karakter; ifstreamfileMasuk("karakter.txt"); while (!fileMasuk.eof()) { fileMasuk>>karakter; if (fileMasuk.fail()) break; cout<<"Karakter yang dibaca : “; cout<<karakter<<endl; } fileMasuk.close(); _getch(); }
Contoh #include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { char karakter; ifstreamfileMasuk("karakter.txt"); while (!fileMasuk.eof()) { fileMasuk.get(karakter); if (fileMasuk.fail()) break; cout<<karakter; } fileMasuk.close(); _getch(); }
OperasiPenunjuk File • Setiapobjek file memilikipenunjuk file tersendiri. Penunjuk file bertindaksebagaipenunjukposisididalam file terhadapperekamanataupunpembacaan. Dalamhalinisetiapobjek file memilikiduabuahpenunjuk file, yaitupenunjuk file untukkeperluanpembacaan data danpenunjuk file untukkeperluanperekaman data. • Penunjuk file baikuntukkeperluanpembacaanmaupunperekamandapatdipindahkandenganmenggunakanfungsianggotaseekg()danseekp().
seekg() bergunauntukmemindahkanpenunjuk file yang digunakansebagaipenunjukoperasipembacaan. • seekp() bergunauntukmemindahkanpenunjuk file yang digunakansebagaipenunjukoperasiperekaman. • Sintaxnya : seekp(intposisi);atauseekp(offset, acuan); seekg(intposisi);atauseekg(offset, acuan); • Denganposisiacuan yang dapatkitagunakanantara lain : ios::begposisiawal file ios::curposisi pointer saatini ios::endposisiakhir file
#include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { char karakter; fstreamfHuruf("huruf.txt", ios::out); fHuruf.close(); fHuruf.open("huruf.txt", ios::in|ios::out); for (char huruf = 'A'; huruf<='Z'; huruf++) fHuruf.put(huruf); cout<<"Membacadariawalhinggaakhir"<<endl; for (char huruf='A'; huruf<='Z'; huruf++) { fHuruf.seekg(huruf-'A', ios::beg); fHuruf.get(karakter); cout<<karakter; } cout<<endl; fHuruf.close(); _getch(); } Contoh
#include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { char karakter; fstreamfHuruf("huruf.txt", ios::out); fHuruf.close(); fHuruf.open("huruf.txt", ios::in|ios::out); for (char huruf = 'A'; huruf<='Z'; huruf++) fHuruf.put(huruf); cout<<"Membacakarakterpertamadanterakhir"<<endl; fHuruf.seekg(0, ios::beg); fHuruf.get(karakter); cout<<"KarakterPertama : "<<karakter<<endl; fHuruf.seekg(-1, ios::end); fHuruf.get(karakter); cout<<"Karakterterakhir : "<<karakter<<endl; fHuruf.close(); _getch(); } Contoh
Informasimengenaiposisipenunjuk file untukoperasimasukanataupunkeluarandapatdiperolehdenganmenggunakanfungsianggotatellp()dantellg(). • tellp() menunjukkanposisipenunjuk file perekaman. • tellg() menunjukkanposisipenunjuk file pembacaan. • Fungsitellp()dantellg()mengembalikannilai integer yang menyatakanposisi pointer perekamandanpembacaan. • Fungsiinidapatdigunakandenganlangsungmenugaskanfungsiinikedalamsuatuvariabel integer.
#include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { char karakter; fstreamfHuruf("huruf2.txt", ios::out); fHuruf.close(); fHuruf.open("huruf2.txt", ios::out|ios::in); cout<<"posisipenunjuk file setelah file dibuka"<<endl; cout<<"Masukan : "<<fHuruf.tellg()<<endl; cout<<"Keluaran : "<<fHuruf.tellp()<<endl; for(char huruf='A'; huruf<='Z'; huruf++) fHuruf<<huruf; cout<<"Posisipenunjuk file setelahperekaman"<<endl; cout<<"Masukan : "<<fHuruf.tellg()<<endl; cout<<"Keluaran : "<<fHuruf.tellp()<<endl; fHuruf.close(); _getch(); } Contoh
#include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { char karakter; fstreamfHuruf("huruf2.txt", ios::out); fHuruf.close(); fHuruf.open("huruf2.txt", ios::out|ios::in); for(char huruf='A'; huruf<='Z'; huruf++) fHuruf<<huruf; fHuruf.seekp(5); fHuruf.put('!'); cout<<"Posisisetelahproses : "<<endl; cout<<"Masukan : "<<fHuruf.tellg()<<endl; cout<<"Keluaran : "<<fHuruf.tellp()<<endl; fHuruf.seekg(5); cout<<"Posisisetelahseekg(5) : "<<endl; cout<<"Masukan : "<<fHuruf.tellg()<<endl; cout<<"Keluaran : "<<fHuruf.tellp()<<endl; fHuruf.seekg(0); for(char huruf='A'; huruf<='Z'; huruf++) { fHuruf>>karakter; cout<<karakter; } fHuruf.close(); _getch(); } Contoh
-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom.