Class-class tersebut diatas digunakan sebagai masukan dan keluaran dan menampilkan pada layar monitor dan keboard dideklarasikan oleh file header IOSTREAM. Class-class yang digunakan secara khusus untuk input atau ouput file pada disk dideklarasikan oleh file header FSTREAM. Gambar diatas menunjukan class-class yang mana didalamnya dapat ditemukan dua file header tersebut. Selain itu juga ditunjukan beberapa manipulator yang dideklarasikan dalam IOMANIP dan dalam memori, class dideklarasikan dalam STRSTREAM. Seperti yang dapat dilihat pada gambar diatas, class ios yang merupakan class dasar pada sebuah hirarky. Class tersebut berisi beberapa konstanta atau keanggotaan fungsi umum sebagai operasi masukan dan keluaran. Class ios juga berisi senuah pointer yang digunakan sebagai class streambuf. Dimana hal tersebut berisi buffer memori aktual pada saat data dibaca atau ditulis. Biasanya programmer tidak memikirkan class streambuf, karena hal tersebut akan ditangani secara otomatis oleh class lain. Class istream dan ostream diturunkan dari ios dan akan digunakan sebagai masukan dan keluaran secara terus-menerus. Class istream berisi seperti fungsi get(), getline(), read() dan operator ekstrasi overloded (>>), sedangkan ostream berisi put() dan write() serta operator insersi overloaded (<<). Class iostream adalah diturunkan dari dua class istream dan ostream melalui multiple inheritance. Class yang diturunkan tersebut akan digunakan oleh beberapa piranti seperti file pada disk, yang mungkin. akan dibuka sebagai masukan dan keluaran pada saat yang sama. Tiga class istream_withassign, ostream_withassign dan iostream_withassign diwariskan dari istream, ostream dan iostream secara berturut-turut. Class ios adalah kakek dari semua class-class stream dan berisi secara umum dari hal-hal yang penting yang dibutuhkan untuk mengoperasikan stream pada C++. Ada tiga hal penting yaitu pengaturan flag, flag status kesalahan dan file mode operasi. Pengaturan flag merupakan sekumpulan enum yang didefinisikan dalam ios. Hal tersebut merupakan kondisi seperti saklar on atau off yang memilih
12.4. File Input/Output C++
Input/output file pada bahasa C++ ditentukan oleh tiga class yaitu class istream untuk menangani masukan file, class ostream untuk menangani keluaran file serta class iostream untuk menangani file masukan atau keluaran. Dalam C++ operasi ini berkenaan bahwa file sebagai stream dan saat itu pula file dianggap sebagai aliran byte data. Empat class variabel akan secara otomatis dibuat ketika program dimulai. Perhatikan tabel dibawah ini:
Tabel 12.1. Variabel class I/O pada C++ yang dikenal
VARIABEL DIGUNAKAN cinConsoleinput(standarinput) coutConsoleoutput(standaroutput) cerrConsoleerror(standarerror) clogConsolelog
Variabel-variabel tersebut di definisikan dalam file standar include <iostream>. Pada umumnya cin digunakan oleh keyboard dan cout, ceer dan clog digunakan untuk menampilkan ke screen monitor. Kebanyakan sistem operasi memperbolehkan programer mengubah arah melalui I/O. sebagai contoh perintah dibawah ini: my_prog<file.in ketika dijalankan program dengan nama my_prog dan tugas yang diberikan cin adalah file.in. ketika sedang mengerjakan operasi file pada disk, diharuskan menggunakan versi file pada class stream. Dalam hal ini ifstream, ofstream dan fstream akan didefinisikan dalam file include <fstream>. Seandainya programmer ingin membaca 100 angka yang berurutan dari sebuah file dengan nama number.dat misalnya, maka programmer harus mendeklarasikan variabel masukan file sebagai berikut:
ifstreamdata_file;
Next read halaman 4.