LAMPIRAN PUSTAKA I/O C++

dokumen-dokumen yang mirip
File & Stream. Kegunaan File : file : ini. dengan. iostream.h) suatu. stream, Jika. dapat menghubungkan. mendeklarasikan. kita.

FILE & STREAM Bab FILE

Baca Tulis File. Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah:

PEMROGRAMAN BERORIENTASI OBJEK. Input / Output. Budhi Irawan, S.Si, M.T

Input/Output with files

BAB 12 MANIPULATION FILE

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

VARIABEL & TIPE DATA PEMROGRAMAN C++

File I/O in C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Komentar, Identifier, Konstanta dan Variabel

IF2281 Pemrograman Berorientasi Objek Program kecil Pelengkap Diktat. import java.io.*; import java.util.scanner; class IO {

Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3.

02 binary file (S.I.)

Identifier dan Tipe Data

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Algoritma Pemrograman 2B (Pemrograman C++)

PERTEMUAN VII FILE TEKS & FILE BINER

Keg. Pembelajaran 2 : Mengenal Bahasa C++

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B)

Daftar lsi... :;.:;:(:;;::t

PEMROGRAMAN BAHASA C++ ASEP MUHIDIN. Penerbit ZEYRANK OFFSET. Aa Oon Pemrograman Bahasa C++ 1

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

REVIEW ARRAY. Institut Teknologi Sumatera

PENGENALAN BAHASA C DAN C++

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

TEKNIK ELEKTRO FAKULTAS TEKNIK UNISMA

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

ALGORITHM 7 C++ Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

ilmu bahasa pemrograman ilmu c++ Copyright izie ilmu c++

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

//Kelas ini berisi data yang hendak disimpan ke dalam database

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Pemrograman Dasar C. Minggu 6

Struktur Program C++ Preprocessor directive : perintah dalam bahasa c++ yang akan membuat dan mengkompilasi file perantara dengan program utama

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Pengenalan C++ Oleh : Dewi Sartika

MODUL 1 PENGENALAN ENVIROMENT C++

1. Joko Priyanto ( ) 2. Astriyer J. Nahumury ( ) 3. Rico N. Tubalawony ( ) 4. Heberson Pakpahan ( ) 5.

Pointer. ted = &andy;

Algoritma dan Pemrograman. Pertemuan Ke-5 Input dan Output

Basic Input/Output Operator Yoannita

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PENGENALAN C++ Bab 1

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

MODUL IV OPERASI DASAR MASUKAN DAN KELUARAN

MODUL V POINTER DAN STRING

BAB VI OBYEK DAN KELAS

BAB VI OBYEK DAN KELAS

FILE INPUT/OUTPUT. Overview

DASAR STRING. Sama halnya seperti array-array sebelumnya, inisialisasi pada string adalah: char mystring[] = { 'H', 'e', 'l', 'l', 'o', '\0' };

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

BAB V OPERASI MASUKAN DAN KELUARAN

STRUKTUR DASAR PEMROGRAMAN

Pernyataan (Statement) dan Input/Output

A. Putting a Program Together

BAB V INPUT DAN OUTPUT

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

PEMROGRAMAN TERSTRUKTUR OLEH : IR. H. SIRAIT, MT

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

TIPE, NAMA, DAN NILAI

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

BAB 4 PENGENALAN BAHASA C

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

A. Putting a Program Together

LAPORAN PRAKTIKUM RESMI QUEUE

PENGANTAR BAHASA C++

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

String sebagai Stream. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

mengatur jumlah digit pecahan yang diinginkan mengatur atau mengontrol sejumlah tanda format, misalkan rata kiri, kanan, huruf capital dll.

Variable. Variable (cont) Variable (cont) Tipe Data

PENGANTAR KOMPUTER & SOFTWARE II

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

KUMPULAN PROGRAM C++ TUGAS AKHIR MATA KULIAH PBP D I S U S U N OLEH

Tipe Data dan Operator

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

Struktur Bahasa C dan C++

TIPE DATA DAN OPERASI I/O

BAB V PEMROGRAMAN BERORIENTASI OBYEK

4. Arrays. int billy [5]; maka setiap elemen array billy akan di-inisialisasikan sebagai 0 :

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng.

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

PEMROGRAMAN BERORIENTASI OBJEK

KU-1072 Pengenalan Teknologi Informasi - B. Materi: Array. Fakultas Ilmu dan Teknologi Kebumian

INF-103 Pemrograman II INPUT/OUPUT INTRO. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Bahasa Pemrograman Sejarah singkat C++ Struktur program C++ Yoannita

Pengenalan Bahasa C. 1. Struktur penulisan program. #include < [library2.h] > #define [nama2] [nilai] ;

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Bab 2. Dasar-Dasar Pemrograman C

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Contoh Program C++ Sederhana. Script Program : #include<conio.h> #include<stdio.h> main() { cout<< Selamat Datang Di Lab H <<endl;

Transkripsi:

LAMPIRAN PUSTAKA I/O C++ Fasilitas I/O tidak merupakan bagian dari bahasa C++, tetapi diiplementasikan sebagai suatu library dalam 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 Lampiran 72

- 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). Contoh main() int i =0; int *pi=&i; cout << i << i<< \t &i\t << &i <<endl; cout << *pi << *pi << \t pi \t << pi << endl << \t\t &pi \t << &pi << endl; cout << \t\t pi \t << (unsigned long) pi << endl << \t\t &pi \t << (unsigned long) &pi << endl; return 0; Keluaran dari program tersebut adalah i 10 *pi 10 &i 0xfff4 pi 0xfff4 &pi 0xfff2 pi 2372599796 &pi 2372599794 Operator << menginterpretasikan tipe char* sebagai suatu string, bukan suatu nilai address. Perhatikan contoh berikut char str[ = hello ; void main () char *pstr =str; cout << pstr\t\t << pstr <, endl << (void ) pstr\t; << (void)pstr <<endl; Keluaran dari program tersebut adalah pstr hello (void *)pstr 0x00aa Lampiran 73

Metode input dilakukan dengan menerapkan operator >> ke dalam cin. Seperti halnya dengan operator <<, operator >> dapat dikonkatenasikan. Contoh void main() int i1,i2; cout << Ketikkan dua integer ; cin >> i1 >>i2; cout << Terbaca < << i1 <<, << i2 > << endl; Keluaran dari program tersebut adalah Ketikkan dua integer 5 12 Terbaca <5,12> 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. Contoh char inbuf [panjangkata]; while(cin >> inbuf) akan membaca S2 haruslah S1++ sebagai tiga string S2 haruslah S1++ 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. Lampiran 74

Untuk memakai setw(), program perlu include header_file iomanip.h. Contoh #include<iostream.h> #include<iomanip.h> const ukuran = 24; char buf[ukuran]; void(main) char *pbuf = buf; while(cin >> setw(sizeof(pbuf)) >> pbuf) cout << pbuf << endl; Program ini akan memecah setiap string yang diinputkan yang panjangnya lebih dari sizeof(char*) menjadi dua atau lebih string. 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 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; EOF biasanya diberi nilai 1. Oleh karena itu ch diberi tipe int. 4. write(const char *str, int length) menghasilkan sebuah string ke output stream dan mengembalikan object stream yang menginvokasinya, dan length menentukan jumlah karakter 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) Lampiran 75

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. Contoh #include<iostream.h> char ch,next,lookahead; while(cin.get(ch)) switch(ch) case / //kalau comment,buang next = cin.peek(); if(next == / ) cin.ignore(panjangbaris, \n ); break; case > //cari >>= next = cin.peek(); if(next == > ) lookahead = cin.get(); next = cin.peek(); if(next!= = ) cin.putback(lookahead); Penggunaan suatu file dalam program untuk input dan/atau output memerlukan file header fstream.h disamping iostream.h. Contoh #include <stlib.h> #include <fstream.h> #include <iomanip.h> char *infile = masuk ; char *outfile = keluar ; void(main) ifstream ifile(infile, iosin); ofstream ofile(outfile, iosout); Lampiran 76

if(!ifile) cerr << Tidak dapat buka < << infile << > untuk input.\n ; exit(-1); if (!ofile) cerr << Tidak dapat buka < << outfile << > untuk output.\n ; exit(-1); int cnt = ; const ukuran = 125; char buf[ukuran]; while(ifile >> setw(ukuran) >> buf) ofile << buf << endl; ++cnt; cout << [ << cnt << ] << endl; Baik obyek kelas ifstream maupun ofstream dapat didefinisikan tanpa menentukan suatu file tertentu. Suatu file dapat secara eksplisit dihubungkan nanti dengan objek itu melalui member-function open(). Perhatikan contoh berikut ifstream berkas; bertipe char* berkas.open(namaberkas,iosin) if(!berkas) Suatu file dapat diputus hubungannya dengan program dengan menggunakan memberfunction close(). Contoh berkas.close(); Suatu objek dari kelas fstream dapat dibuka untuk 1) input, atau 2) output, atau 3) input dan output. Contoh fstream io( Berkas.IO,iosin iosapp);- append mode Program berikut membaca dari suatu file tertentu, dimana setiap kali membaca karakter newline, menulis ukuran file (dalam byte) sejauh yang telah terbaca (termasuk newline) pada akhir file itu. Setelah membaca EOF, program akan menulis ukuran file total pada akhir file. Misalnya program akan mengubah file test Ilmu Komputer Lampiran 77

menjadi Ilmu Komputer 5 14 19 #include <fstream.h> void main () fstream inout ( coba.out, iosin\iosapp); int hitungan = ; char ch; inout.seekg (,ios beg); while (inout.get(ch)) cout.put (ch); hitungan++; if (ch == \n ) streampos tanda = inout.tellg(); inout << hitungan << ; inout.seekg(tanda); inout.clear (); // reset state flags get out of end-of-file state inout << hitungan << endl; count << [ << hitungan << ] << endl; Untuk pindah ke posisi tertentu dalam suatu file untuk baca, dapat kita gunakan memberfunction yang deklarasinya adalah typedef long streampos; istream & seekg ( streampos p, seek_dir d = iosbeg); di mana seek_dir adalah suatu enumeration yang mencakup ios beg (awal file), ios cur (posisi sekarang dalam file), dan ios end (akhir file). Perpindahan pointer dapat dilakukan juga dengan Misalnya seekg (p,d) pindah ke p bytes offset dari posisi d. seekg (-10, iosend) mundur 10 bytes dari akhir file. Posisi sekarang dalam file dapat diperoleh dengan member-function tellg(). Lampiran 78

Status suatu objek iostream dapat diketahui dengan fungsi-fungsi anggota 1. eof() true jika end-of-file telah ketemu, misalnya if(inout.eof()) inout.clear(); 2 bad() true jika operasi tidak wajar coba dilakukan, misalnya seeking melewati end-of-file. 3 fail() true jika suatu operasi tak sukses atau jika bad() memberi true, misalnya ifstream ifile(namaberkas, iosin); if(ifile.fail()) error( ); 4 good() true jika 1), 2), dan 3) false. Program berikut menggunakan suatu objek istrstream anonim untuk mengubah suatu string ke integer #include<iostream.h> #include<strstream.h> #include<string.h> int strkelnt(char *s) int val; istrstream(s,strlen(s)+1) >> val; return val; char *tbl[5] = 10, -5, 400, 15, 1024 ; void main() int jumlah = ; char *p = tbl[ ]; for(int i= ;i<5 ;p = tbl[++i]) jumlah += strkelnt(p); cout << jumlah << jumlah << endl; Lampiran 79