PUSTAKA I/O PADA C / C++ DAN MACAM-MACAMNYA

PUSTAKA I/O PADA C / C++ DAN MACAM-MACAMNYA




A.   Pustaka stream

Fasilitas I/O tidak merupakan bagian dari bahasa C++, tetapi diiplementasikan sebagai suatu  library   alam  C++.  Pada  bab  ini  akan  dibahas  pustaka  iostream yang  sering digunakan  dalam  pemrograman  C++.  Pada  level  paling  bawah,  suatu  file diinterpretasikan sebagai suatu barisan atau stream dari bytes. Pada level ini konsep tipe data tidak ada. Sedangkan pada level user, suatu file terdiri dari suatu barisan data dari satu  atau  lebih  tipe  karakter  karakter,  nilai-nilai  numerik,  dan  obyek-obyek  kelas. Pustaka iostream menyadiakan sejumlah operasi untuk menangani baca dan tulis tipe- tipe data baku. Pemrograman dapat memperluas operasi-operasi itu untuk menangani tipe tipe kelas yang dibuatnya. Operasi input dan output didukung oleh kelas istream (input  stream  )  dan  kelas  ostream (output  stream).  Operasi  output  dilakukan  oleh operator leftshift atau operator insertion (<<), sedangkan operasi input dilakukan oleh operator rightshift atau operator extraction (>>).
Empat objek stream tersedia bagi pengguna:
1.   cin, suatu objek dari kelas istream yang dikaitkan dengan standard-input.
2.   cout, suatu objek dari kelas ostream yang dikaitkan dengan standard-output.
3.   cerr, suatu objek dari kelas ostream yang dikaitkan dengan standard-error dengan
unbuffered output
4.   clog, suatu objek dari kelas ostream yang dikaitkan dengan standard-error dengan
buffered output

Program yang memakai pustaka iostream harus meng-include file iostream.h. Pengguna dapat mengaitkan suatu file tertentu ke program dengan mendefinisikan suatu objek dari
salah satu kelas berikut ini:
1. ifstream
- turunan dari istream.
- mengaitkan suatu file ke program untuk input.

2. ofstream
- turunan dari ostream 
- mengaitkan suatu file ke program untuk output.

3. fstream
- turunan dari iostream
- mengaitkan suatu file ke program untuk input dan output.

Pustaka iostream juga mendukung pengaturan array karakter. Ada dua kelas untuk itu,yaitu:
1. istrstream
- turunan dari ostream
- menyimpan karakter ke suatu array.
2. ostrstream
- turunan dari ostream
- menyimpan karakter ke suatu array.
Metode output secara umum adalah menerapkan operator << ke dalam cout. Operator << sudah di-overload untuk menangani tipe-tipe data built-in dan pointer (address objek). Secara otomatis, pointer ditampilkan dalam notasi heksadesimal. Untuk tampilan dalam notasi desimal harus dilakukan dengan cast eksplisit ke tipe long (unsigned). Metode input dilakukan dengan menerapkan operator >> ke dalam cin. Seperti halnya dengan operator <<, operator >> dapat dikonkatenasikan. 
Metode yang lebih umum untuk membaca dari input-stream adalah membuat operasi input sebagai kondisi dari suatu while loop seperti pada contoh berikut:

char ch;
while(cin >> ch) ….
yang membaca karakter satu persatu dari standar input_output. Apabila ketemu end-
offile,
kondisi (cin >> ch) bernilai false dan loop akan terhenti.
Karakter-karakter:
a b c
d e
diperlakukan oleh operator >> sebagai barisan 5 karakter ‘a’,’b’,’c’,’d’,’e’. Whitespace( spasi, newline,tab) berlaku sebagai pemisah nilai, tidak di baca sebagai karakter.
Gunakan member-functions: get(),getline() dan read() kalau yang ingin dibaca termasuk white-space. 
Operator  input  “>>”  dapat  juga  dipakai  untuk  membaca  suatu  barisan  sring  dari inputstream.
Menurut operator >>, string adalah barisan karakter yang dibatasi oleh whitespace.
Manipulator setw() dapat dipakai untuk mencegah overflow pada array karakter input.
Setw(ukuran) membagi suatu string yang sama atau lebih panjang dari ukuran menjadi
dua atau lebih string dengan panjang maksimum ukuran –1.

I/O member-functions terdiri dari:
1. put(char ch), mengoutput karakter ch ke output-stream dan mengembalikan objek kelas ostream yang menginvokasinya.
2. get(char & ch), mengambil satu karakter dari input-stream dam menyimpannya di ch, serta mengembalikan obyek kelas iostream yang menginvokasinya. Contoh:

#include <iostream.h>
main()
{
char ch;
while(cin.get(ch)) cout.put(ch);
return 0;
}
3. get(), mengambil dan mengembalikan satu nilai dari input-stream, termasuk nilai
endof
file EOF yang didefinisikan di iostream.h. Contoh:
#include<iostream.h>
main()
{
int ch;
while( (ch = cin.get()) != EOF)
cout.put(ch);
return 0;
}

4. write(const char *str, int length): menghasilkan sebuah string ke output stream dan mengembalikan object stream yang menginvokasinya, dan length menentukan jumlahkarakter yang ditampilkan, mulai dari karakter yang ditunjuk dalah str.

5. getline(char *Buf, int Limit, char Delim = ‘\n’): mengambil satu blok karakter dan  menyimpannya dalam array Buf’, jumlah karakter yang diambil ≤ (Limit –1), karakter null dicantolkan ke akhir Buf, jumlah karakter yang diambil <(Limit –1) apabila ditemukan EOF atau karakter yang dikandung Delim, dan karakter yang dikandung Delim tidak ditaruh dalam Buf.

6. gcount(), memberikan jumlah karakter ynag diambil oleh invokasi getline() yang terakhir.

7. read(char *addr, int size): mengambil sebanyak size bytes berturutan dari inputstream dan menaruh mereka mulai pada alamat addr, dan gcount() juga mengembalikan jumlah bytes yang diambil oleh invokasi read() yang terakhir.

8. putback(char c), menaruh kembali karakter c ke input stream.

9. peek(), memberitahu karekter berikutnya (atom EOF) tetapi tidak mengambilnya.

10. ignore(int Limit = 1, int Delim = EOF): membuang karakter sebanyak <= Limit, dan stop jika ketemu karakter yang dikandung Delim.


B.   Pustaka stdio

Operasi output standar
•    e.g. putchar(),putch(),puts(),printf()
•     Format output
•    Operasi input standar
•    e.g. getchar(),getch(),getche(),gets(),scanf()

1.    Format output
Dipakai untuk menampilkan nilai data ke peralatan output sebagai data keluaran. Beberapa fungsi (standard library function) yang terdapat pada bahasa pemrograman C dapat: menampilkan data tidak terformat
Operasi Output
• putchar();
• putch();
• puts();
menampilkan data terformat
• printf();

2.   Fungsi putchar
Fungsi:  Menampilkan karakter ke layar monitor pada cursor, kemudian (setelah karakter tampil) cursor bergerak ke posisi berikutnya. Mengembalikan EOF jika error, atau mengembalikan karakter yang ditampilkan jika sukses
Fungsi putchar()
•    Header file: stdio.h
•     Contoh:
char ch=’A’;
putchar(ch);

3.   Fungsi putch()
Fungsi :
•    Seperti putchar(ch) untuk menampilkan karakter ASCII dari ch di layar monitor.
•     Header file: conio.h
•     Tersedia dalam Borland C++ library, tetapi tidak dalam ANSI C dan ANSI
C++
Fungsi putch()  Mengembalikan EOF jika error, atau mengembalikan karakter yang ditampilkan jika sukses.
Contoh:
char ch=’b’;
putch(ch);

4.   Fungsi puts()
Fungsi: Menampilkan string ke layar monitor dan memindahkan kursor ke baris baru.
•    Header file: stdio.h
•    Mengembalikan nilai non-negative jika sukses atau EOF
Fungsi puts() jika ada error.
Contoh:
puts(”Selamat Datang”);
puts(”Di Bahasa Pemrograman C”); 

Related Posts

Previous
Next Post »