Jumat, 16 Oktober 2009

I/O Stream dalam C++

Bahasa C memiliki rutin-rutin untuk proses input/output yang dideklarasikan di header file stdio.h. proses input/output versi C ini masih dapat digunakan di C++. Namun demikian C++ mengenalkan teknik baru untuk proses input/output, yaitu yang dinamakan iostreams atau disingkat menjadi streams saja. Hampir semua fungsi yang terdapat di stdio.h dapat dikonversikan ke dalam bentuk streams. Kelebihan streams dibandingkan input/output C adalah fleksibilitasnya dalam melakukan format input/output dan juga kemampuannya yang mendukung konsep operator berbeban lebih (overloaded operator).

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