Streams adalah suatu abstraksi untuk menangani aliran data dari suatu sumber (producer) ke tujuan (consumer) lain. Baik sumber atau tujuan dapat berupa buffer di memori, string, file atau layar monitor. C++ mendeklarasikan kelas untuk strem di beberapa header file, yaitu;
* iostream.h (I/O umum)
* constrea.h (I/O ke console)
* strstrea.h (I/O ke string)
* fstream.h (I/O ke file)
Stream untuk Output
------------------------------
Untuk melakukan proses keluaran (output) digunakan operator <<. Bentuk umumnya adalah : objek_stream <<>
bentuk dikiri tanda << (objek_stream) adalah salah satu objek dari kelas ostream. Bentuk di kanan <<>
#include "iostream.h"
void main()
{
cout << “Bahasa” << “ pemrograman C++” << ‘\n’; } seperti tipe data skalar yang ada di C++ sudah mendukung stream. Dengan demikian identifier yang memiliki tipe data skalar dapat dituliskan ke output dengan stream. Contohnya : #include "iostream.h" void main() { int x=10; float y=20.0; cout << “x = ” << y =" “">
}
keluaran program diatas :
x = 10 y = 20
stream output juga dapat menuliskan alamat suatu identitas, misalnya :
#include "iostream.h"
void main()
{
int x;
cout << &x; // menuliskan alamat variabel x } keluaran program diatas : 0×8f98fff4 Format pada Output dengan fungsi Stream output dapat diformat seperti halnya output pada fungsi printf. Untuk mengubah format output, yang harus dilakukan adalah mengubah beberapa bit flag yang ada di kelas ios. Ada beberapa macam flag yang terdapat di kelas ios yaitu : Tabel Daftar Flag Untuk Format Pada Output
| Flag | Bit | Keterangan |
| skipws | 0 | Mengabaikan karakter spasi putih (white space) pada saat proses input |
| left | 1 | Mengatur output menjadi rata kiri |
| right | 2 | Mengatur output menjadi rata kanan |
| internal | 3 | Output disisipi karakter pengisi (padding character) setelah tanda positif atau tanda basis bilangan |
| dec | 4 | Menampilkan bilangan dalam basis desimal |
| oct | 5 | Menampilkan bilangan dalam basis oktal |
| hex | 6 | Menampilkan bilangan dalam basis heksadesimal |
| showbase | 7 | Menampilkan basis bilangan saat suatu bilangan ditampilkan (untuk heksadesimal dengan tambahan “0x” dan untuk oktal dengan tambahan “O”) |
| showpoint | 8 | Menunjukan tanda titik pada output bilangan real |
| uppercase | 9 | Membuat output bilangan heksadesimal menjadi huruf capital |
| showpos | 10 | Menunjukan tanda ‘+’ pada output bila suatu bilangan lebih dari 0 |
| scientific | 11 | Menggunakan cara penulisan eksponensial untuk bilangan real (format : xxxE()xxx) |
| fixed | 12 | Menggunakan format bilangan desimal untuk bilangan real |
| unitbuf | 13 | Mengosongkan semua stream |
| stdio | 14 | Mencegah masalah yang bisa terjadi bila digunakan stream dan stdio secara bersamaan |
Stream untuk Input
----------------------
Penggunaan steram untuk input mirip dengan output tetapi yang digunakan adalah karakter >>. Argumen yang digunakan tetap sama, yaitu di kiri adalah objek stream untuk input dan dikanan adalah data yang akan dikenai operasi input. Pada proses input dikenal istilah spasi putih (white space), yaitu karakter pemisah antara satu identifier dengan identifier yang lain. Deklarasi spasi putih ini terletak di header file ctype.h. untuk mengetahui sebuah karakter merupakan spasi putih atau bukan digunakan fungsi isspace (int). Ada beberapa karakter yang biasanya dikenali sebagai spasi putih, yaitu spasi biasa, tab, carriage return, new line, vertical tab, formfeed (kode ASCII dari 09h sampai dengan 0Dh, 20h).
#include "iostream.h"
void main()
{
int x, y;
cout << “Masukan dua buah bilangan bulat : “; cin >> x >> y;
cout << “Bilangan itu adalah : “ << s =" new">> s;
cout << “String yang anda masukan : ” <<>> s;
Dengan
cin.getline (s, 100);
sehingga sekarang keluaran programnya :
Masukan sebuah string : Belajar pemrograman C++
String yang anda masukan : Belajar pemrograman C++

0 komentar:
Posting Komentar