160 likes | 312 Views
Pertemuan 26. OPERASI FILE Bag.1. Dasar Pemrograman Renni Angreni, S.Kom . , M.Kom. Operasi File. Operasi file terdiri dari operasi baca dan tulis . Untuk melakukan operasi file, kita menggunakan library #include < fstream > dan menggunakan salah satu class-class berikut :
E N D
Pertemuan 26 OPERASI FILE Bag.1 Dasar Pemrograman Renni Angreni, S.Kom., M.Kom.
Operasi File • Operasi file terdiridarioperasibacadantulis. • Untukmelakukanoperasi file, kitamenggunakan library #include <fstream> danmenggunakansalahsatu class-class berikut : ofstreamuntukmenuliskedalam file ifstreamuntukmembaca file fstreamuntukmembacadanmenuliskedalam file • Class-class diatasmerupakanturunandari class ostreamdanistream. Kita sudahmengenalobjekkelastersebut, yaitucoutdancin. Kita menggunakan class diatasdengancara yang samadengancindancout.
MenuliskeDalam File • Untukmembuka file, kitamelakukan : #include <fstream> ofstreamkeluaran; keluaran.open("nama file"); keluaran<<"yang maudikirimkefile"<<endl; • Perintahkeluaran<<"sesuatu"<<endl;menuliskan "sesuatu" kedalam file yang sudahdibuka. • Perintahofstreamkeluaran;dankeluaran.open("file") dapatdisingkatmenjadi : ofstreamkeluaran("file"); @RenniAngreni, M.Kom.
Contoh #include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { ofstreamkeluaran; keluaran.open("catatanKecil.txt"); keluaran<<"Jangan lupa makan.\n"; keluaran<<"Kesehatan itu penting.\n"; keluaran.close(); _getch(); }
Setelah program padahalamansebelumnyadijalankan, makapada folder project akanterbentuk file bernama "catatanKecil.txt” • Isidari file tersebutadalahseperti yang kitakirimkandariprogram : "Janganlupamakan.“ • Ingat, karakter "\n" diakhirkalimatadalahkarakter newline untukberpindahbaris. Efek yang samadapatdicapaidenganmenggunakanendl. Janganlupamenyertakanperintahkeluaran.close()padaakhir program untukmenutup file.
Secara default, perintah keluaran.open("nama file") padakelasofstreamakanberadadalam mode output. Mode iniakanmenciptakan file jika file tersebutbelumadadanmenimpa file sebelumnyajikafilenyasudahada. Meskipunkitamenjalankan program berkali-kali, isi file catatanKecil.txtadalahnilai yang kitakirimterakhir kali dari program. @RenniAngreni, M.Kom.
MembacaIsi File • Untukmembacaisisuatu file, kitamenggunakankelasifstream. void main() { string baris; ifstreammasukan; masukan.open("catatanKecil.txt"); while(masukan) { getline(masukan, baris); cout<<baris<<endl; } masukan.close(); _getch(); }
Contoh #include <iostream> #include <conio.h> #include <fstream> #include <string> using namespace std; void main() { string baris; ifstreammasukan; masukan.open("catatanKecil.txt"); while(masukan) { getline(masukan, baris); cout<<baris<<endl; } masukan.close(); _getch(); }
Samasepertigetline(cin,variabel) yang mengambilnilai string dari input prompt, getline(masukan,variabel)mengambilnilai string daribaris-barisdidalam file yang dibukaolehobjekmasukan. • Pada program sebelumnya, padablokperulangan while, diberikansyaratnyaberupa(masukan). Meskipuncarainidapatdilakukan, akantetapi program akanlebihenakdibacajikakitamenggunakan(!masukan.eof()) yang berartibahwa file belumhabisdibaca. • eof = end of file. @RenniAngreni, M.Kom.
MemeriksaKeberhasilanOperasi File • Kelasofstreammaupunifstreammenyediakanberbagaimacamproperties yang membantukitamemeriksakeberhasilanoperasi file. Diantaranya : bad(); bernilaibenarjikaterjadikegagalanbacatulis file. eof(); bernilaibenarjikasuatu file yang dibacasampaidiakhir file. fail(); samaseperti bad(), danjugaketikaterjadikesalahan format, misalnyaketika program mengharapkanangka, tetapi file memberikanhuruf. good(); akanbernilaibenarjika bad(), eof() atau fail() bernilaisalah. is_open(); bernilaibenarjikaobjekfstreamterhubungdengan file.
#include <iostream> #include <conio.h> #include <fstream> #include <string> using namespace std; void main() { string baris; ifstreammasukan; masukan.open("catatanKecil.txt"); if (masukan.is_open()) { while(masukan) { getline(masukan, baris); cout<<baris<<endl; } } else { cout<<"file tidak ditemukan"<<endl; } _getch(); }
Mode Operasi File • Method open padakelasofstreamatauifstreamdapatmenerimaargumentambahanberupa mode operasi file. Berikutbeberapa mode operasifile : ios::apppenambahandata ios::inmasukan ios::outkeluaran ios::ate pointer padaakhir file ios::nocreatehanyajika file sudahada ios::noreplacemembukafile baru. Jikafile sudahada, pembukaanfile gagal, kecualijikaios::ateatauios::appdisertakan. ios::truncmengosongkanfile sebelumdiisi ios::binarymembukafile untukbacatulissecarabiner • Mode file dapatdigabungkandengan operator " | " @RenniAngreni, M.Kom.
#include <iostream> #include <conio.h> #include <fstream> #include <string> using namespace std; void main() { ofstreamkeluar("contoh.txt",ios::out|ios::app); keluar<<"Tambahbaris"<<endl; keluar<<"Initambahbaris ke2"<<endl; keluar<<"Initambahbaris ke3"<<endl; keluar.close(); _getch(); } @RenniAngreni, M.Kom.
LATIHAN Buatlahsebuah program C++ untukmenambahkan input dari user (berupa string) kebaris-barisbarudisebuah file. Program meminta user menginputsuatu string untukdisimpan. Setelah input string, user ditanya : “Tambahbarislagi?” danbisadijawab Y atau T Jika user mengetikkan Y, maka user dimintamenginputlagi. Jika user mengetikkan T, makakeluardari program.
-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom., M.Kom.