alokasi 4096 byte, komputer akan mengalokasikan dua buah unit alokasi, yang berukuran 4096 dan 4096, sehingga menghabiskan 8192 byte. Meski ukuran logis berkas tersebut 5125 byte, komputer mengalokasikan 8192 byte, membuat 3067 byte tidak digunakan (disebut sebagai wasted space atau slack space). Kebanyakan sebuah program melibatkan media disk sebagai tempat untuk membaca atau menyimpan data. Data sendiri disimpan dalam disk dalam suatu kesatuan yang disebut file. Suatu file merupakan organisasi dari sejumlah record. Masing-masing record dapat terdri dari satu atau beberapa field dan setiap field terdiri dari satu atau beberapa byte data. Satu byte data terdiri dari susuan 8 bit data. Struktur data dari fle ditunjukkan pada gambar berikut dibawah ini:
File Record..............Record FieldFieldField Byte (8 bit)..............Byte (8 bit)
Gambar 12.2. Struktur Data Dari File Dalam C++ file adalah sebuah stream yang disimpan dalam media penyimpanan luar. Karena merupakan sebuah stream, operasi yang berlaku pada stream berlaku juga untuk file. Stream adalah suatu logika device yang menghasilkan dan menerima informasi atau wadah yang digunakan untuk menampung keluaran dan menampung aliran data.
12.2. Class stream
Stream (aliran) merupakan nama yang secara umum diberikan untuk sebuah aliran data. Dalam C++ stream ditunjukan oleh sebuah objek dari class khusus, dimana telah kita ketahui cin dan cout merupakan abjek stream. Perbedaan stream yang digunakan untuk menunjukan perbedaan beberapa macam dari aliran data. Sebagai contoh sebuah class ifstream merepresentasikan aliran data dari masukan file-file disk. Programer C mungkin akan heran dengan melihat kelebihan- kelebihan menggunakan class stream untuk operasi I/O, sebagai ganti dari fungsi-fungsi C sebelumnya seperi printf() dan scanf() dan operasi file seperti fprintf(), fscanf() dan lain sebagainya. Satu alasannya adalah kesederhanaan. Jika kita pernah menggunakan format karakter %d anda baru akan menyadarinya. Disana ternyata tidak ditemui format dalam stream semenjak sebuah objek siap ditunjukan pada tampilan komputer. Alasam lain adalah bahwa kamu dapat memberi beban pada sebuah operator dan fungsi seperti operator insertion (<<) dan extraction (>>), dimana untuk dapat bekerja dengan class tersebut anda harus membuatnya. Hal ini akan membuat class anda bekerja pada jalan yang sama sebagai satu-kesatuan tipe. Hal ini jelas membuat programer lebih mudah dan lebih terbebas dari kesalahan. Anda mungkin heran jika stream I/O ternyata penting jika anda merancang progra dalam sebuah lingkungan dengan Graphic user Interface (GUI) seperti halnya windows. Dengan menggunakan GUI ini secara langsung teks keluaran ditampilkan pada screen . Anda juga masih dan selalu membutuhkan mengenai stream pada bahasa C++. Hal ini akan terjadi karena mereka tahu jalan terbaik untuk menulis data menjadi file dan juga memformat data yang aka digunakan kemudian dalam teks I/O atau elemen GUI lainnya.
12.3. Hirarki class stream
Sebuah class stream diatur dalam hirarki yang agak komplek. Dengan menggunakan class ini, kita dapat membuat tambahan class dengan menggunakan beberapa class istream. Operator turunan >> merupakan bagian dari class stream, dan operator insertion << adalah bagian dari class ostream. Keduanya merupakan class-class yang diturunkan dari class ios. Sebuah objek cout merepresentasikan keluaran stream keluaran, yang biasanya diarahkan pada tampilan monitor. Obyek tersebut sudah dikenal sebagai class penentu ostream. Sama halnya dengan cin sebagai obyek penentu istream yang diturunkan dari class istream. Gambar dibawah ini menunjukan pengaturan class-class yang paling penting.
Next read halaman 3.