Input dan Output
C++
cout Dengan menggunakan cout programmer dapat meletakkan suatu informasi kestandard output (berupa layar). Biasanya objek ini diikuti dengan ganti baris atau newline, seperti contoh berikut cout << “Hello World\n”;
atau cout << “Hello World” << ‘\n’;
Pada contoh tersebut terdapat karakter khusus, newline (\n) yang disebut escape sequence. Berikut adalah tabel escape sequence characters selain newline. Karakter
Keterangan
\0
Karakter ber-ASCII nol (Karakter nul)
\a
Karakter bel
\b
Karakter backspace
\f
Karakter formfeed (ganti halaman)
\n
Karakter newline (ganti baris)
\r
Karakter carriage return (ke awal baris) tanpa linefeed
\t
Karakter tab horizontal
\v
Karakter tab vertikal
\\
Karakter \
\’
Karakter ‘
\”
Karakter “
\?
Karakter ?
\ooo
Karakter yang nilai oktalnya adalah ooo (3 digit oktal)
\xhh
Karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
//Contoh Program dengan Menggunakan Escape Sequence Character #include
#include void main() { clrscr(); cout << “Hello World \a”; }
Manipulator Manipulator biasanya digunakan untuk mengatur tampilan data. Berikut adalah tabel manipulator. Hera Agustina
Page 1
Input dan Output
C++
Manipulator endl Manipulator ini digunakan untuk menyisipkan karakter newline, sama seperti
escape
sequence character \n. //Contoh Program dengan Menggunakan Manipulator endl #include #include void main() { clrscr(); cout << “Hello World” << endl; cout << “Apa Kabar?”; }
Manipulator setw() Manipulator ini digunakan untuk mengatur lebar tampilan data. Contoh program berikut ini akan menggunakan manipulator setw(). //Contoh #include #include #include
Program dengan Menggunakan Manipulator setw() //Karena menggunakan manipulator setw()
void main() { clrscr(); int a = 150, b cout << “Nilai cout << “Nilai cout << “Nilai }
= a b c
3, c = adalah adalah adalah
10; : “ << setw(3) << a << endl; : “ << setw(4) << b << endl; : “ << setw(5) << c << endl;
Manipulator setfill() Manipulator ini berguna untuk mengatur karakter yang digunakan memenuhi bagian field yang ditentukan oleh setw(). Manipulator ini juga tidak digunakan untuk menampilkan data. //Contoh #include #include #include
Program dengan Menggunakan Manipulator setfill()
void main() { clrscr(); int a = 150, b cout << “Nilai cout << “Nilai cout << “Nilai }
Hera Agustina
= a b c
3, c = adalah adalah adalah
10; : “ << setw(3) << a << setfill(‘*’) << endl; : “ << setw(4) << b << setfill(‘*’) << endl; : “ << setw(5) << c << setfill(‘*’) << endl;
Page 2
Input dan Output
C++
Manipulator dec, oct dan hex Manipulator dec digunakan untuk menampilkan suatu data dalam bentuk desimal, oct dalam bentuk oktal dan hex dalam bentuk heksadesimal. //Contoh #include #include #include
Program dengan Menggunakan Manipulator dec, oct dan hex
void main() { clrscr(); int a; cout << “Masukkan Nilai a : “; cin >> a; cout << “\nDalam bilangan desimal : “ << dec << a << endl; cout << “Dalam bilangan oktal : “ << oct << a << endl; cout << “Dalam bilangan heksadesimal : “ << hex << a; }
Manipulator setbase() Dengan menggunakan manipulator setbase dapat mengkonversi kebilangan oktal, desimal dan heksadesimal. Misalnya, setbase(10)
contoh tersebut identik dengan bilangan desimal. //Contoh #include #include #include
Program dengan Menggunakan Manipulator setbase()
void main() { clrscr(); int a; cout << “Masukkan Nilai a : “; cin >> a; cout << “\nDalam bilangan oktal : “ << setbase(8) << a << endl; cout << “Dalam bilangan desimal : “ << setbase(10) << a << endl; cout << “Dalam bilangan heksadesimal : “ << setbase(16) << a; }
Manipulator flush Suatu penyangga atau buffer digunakan cout saat data dikeluarkan kestandard output. Untuk mengefisienkan pengiriman kestandard output cout tidak akan mengirimkan data sampai buffer penuh. Agar cout dapat langsung mentransfer data kestandard output dapat ditambahkan manipulator flush di akhir data. Manipulator flush mengikuti manipulator endl (newline).
Hera Agustina
Page 3
Input dan Output
C++
//Contoh Program dengan Menggunakan Manipulator flush #include #include void main() { clrscr(); cout << "Hello World\n" << flush; cout << "Apa Kabar?" << endl << flush; cout << "Selamat Malam"; }
Manipulator ends Manipulator ini berfungsi untuk menambahkan karakter null kederetan suatu karakter. //Contoh Program dengan Menggunakan Manipulator ends #include #include void main() { clrscr(); cout << "Hello World\n" << ends << "Apa Kabar?" << ends << "Selamat Malam"; }
Manipulator setiosflags() Merupakan manipulator yang berfungsi untuk mengontrol sejumlah tanda format berikut : Nama Tanda
Keterangan
Format ios::left
Mengatur rata kiri terhadap lebar field yang diatur melalui setw()
ios::right
Mengatur rata kanan terhadap lebar field yang diatur melalui setw()
ios::scientific
Mengatur format output dalam notasi eksponensial
ios::fixed
Mengatur format output dalam notasi desimal (desimal adalah bentuk default)
ios::dec
Mengatur format output dalam bilangan desimal (basis 10)
ios::oct
Mengatur format output dalam bilangan oktal (basis 8)
ios::hex
Mengatur format output dalam bilangan heksadesimal (basis 16)
ios::uppercase
Mengatur format huruf pada notasi heksadesimal dalam huruf kapital
ios::showbase
ios::showpoint
Hera Agustina
Menampilkan awalan 0x untuk bilangan heksadesimal atau 0 untuk bilangan oktal Menampilkan titik desimal pada bilangan pecahan yang tidak memiliki bagian pecahan
Page 4
Input dan Output ios::showpos //Contoh #include #include #include
C++ Menampilkan tanda + pada bilangan positif
Program dengan Pemakaian setiosflags()
void main() { clrscr(); int nilai_1, nilai_2; float nilai_3 = 12345.67891; cout << “Masukkan Nilai 1 : “; cin >> nilai_1; cout << “\nMasukkan Nilai 2 : “; cin >> nilai_2; cout cout cout cout cout
<< << << << <<
“\nDengan ios::showbase pada variabel nilai_1 :“ << endl; setiosflags(ios::showbase); oct << nilai_1 << endl; hex << nilai_1 << endl; dec << nilai_1 << endl;
cout cout cout cout
<< << << <<
“Dengan ios::showpos pada Nilai 1 dan Nilai 2 :“ << endl; setiosflags(ios::showpos); nilai_1 << endl << nilai_2 << endl; resetiosflags(ios::showpos); //Diperlukan oleh Turbo C++
cout cout cout cout
<< << << <<
“Dengan ios::left pada Nilai 1 dan Nilai 2 :” << endl; setiosflags(ios::left); setw(3) << nilai_1 << setw(3) << nilai_2 << endl; resetiosflags(ios::left); //Diperlukan oleh Turbo C++
cout cout cout cout
<< << << <<
“Dengan ios::right pada Nilai 1 dan Nilai 2 :” << endl; setiosflags(ios::right); setw(3) << nilai_1 << setw(3) << nilai_2 << endl; resetiosflags(ios::right); //Diperlukan oleh Turbo C++
cout << “Dengan ios::scientific pada variabel nilai_3 :” << endl; cout << setiosflags(ios::scientific) << nilai_3 << endl; cout << resetiosflags(ios::scientific); //Diperlukan oleh Turbo C++ cout << “Dengan ios::fixed pada variabel nilai_3 :” << endl; cout << setiosflags(ios::fixed) << nilai_3 << endl; cout << resetiosflags(ios::fixed); //Diperlukan oleh Turbo C++ cout << “Dengan ios::showpoint pada Nilai 1 :” << endl; cout << setiosflags(ios::showpoint) << nilai_1 << endl; cout << resetiosflags(ios::showpoint); //Diperlukan oleh Turbo C++ cout << “Dengan ios::uppercase pada Nilai 1 :” << endl; cout << setiosflags(ios::uppercase) << hex << nilai_1 << endl; cout << resetiosflags(ios::uppercase); //Diperlukan oleh Turbo C++ }
Hera Agustina
Page 5
Input dan Output
C++
Manipulator setprecision() Manipulator ini digunakan untuk mengatur jumlah digit pecahan yang ingin ditampilkan. Bentuk umumnya : setprecision(n) ☺
n menyatakan jumlah digit pecahan.
//Contoh #include #include #include
Program dengan Manipulator setprecision()
void main() { clrscr(); float a = 12.34; cout << setprecision(3) << a << endl; cout << setprecision(4) << a << endl; cout << setprecision(5) << a; }
Keterangan : ☺
Manipulator setw(), dec, oct, dan hex tidak mempunyai efek terhadap sisa program
☺
Jika menggunakan manipulator selain dec, hex, oct, endl, dan flush perlu disertakan file header, yaitu iomanip.h
cin cin digunakan untuk membaca data dari standard input, yaitu keyboard dan membacanya dalam sebuah variabel. Bentuk umum cin : Cin >> variabel;
☺
Tanda >> disebut dengan operator pengambilan dari
//Contoh Program dengan Menggunakan cin #include #include void main() { clrscr(); char nama; cout << “Nama Anda : “; cin >> nama; cout << “\nNama Anda Adalah” << ends << nama; }
Hera Agustina
Page 6
Input dan Output
C++
cin dengan Lebih dari Satu Variabel cin dengan lebih dari satu variabel dapat digunakan untuk membaca dua buah variabel pada saat bersamaan. //Contoh Program dengan Menggunakan cin Lebih dari Satu Variabel #include #include void main() { clrscr(); int a, b; cout << “Masukkan Nilai A dan B : “; cin >> a >> b; cout << “\nNilai A adalah : “ << a << endl; cout << “Nilai B adalah : “ << b; }
Fungsi getch() dan getche() Fungsi getch() dan gethce() digunakan untuk membaca sebuah karakter tanpa perlu menekan enter. Fungsi ini juga dapat digunakan untuk membaca spasi, tab ataupun enter. Bentuk umum fungsi getch() dan getche() : ☺
variabel = getch(); dan variabel = getche(); Kode tombol yang ditekan akan diberikan kevariabel.
Perbedaan fungsi getch() dan getche() adalah, fungsi getch() tidak menampilkan karakter dari tombol yang ditekan sedangkan fungsi getche() sebaliknya. Jika fungsi gecth() dan getche() digunakan, file header conio perlu disisipkan gecth() juga bisa digunakan untuk menunggu sembarang tombol ditekan. //Contoh Program dengan Menggunakan Fungsi getch() dan getche() #include #include void main() { clrscr(); char kar; cout << “Masukkan Karakter Pertama : “; kar = getch(); cout << “\nKarakter Pertama Adalah “ << kar << endl; cout << “Masukkan Karakter Kedua : “; kar = getche(); cout << “\nKarakter Kedua Adalah “ << kar; }
Hera Agustina
Page 7
Input dan Output
C++
cerr cerr digunakan untuk menampilkan pesan kesalahan dengan tujuan agar pesan kesalahan dikirim kepiranti yang berbeda dengan informasi yang bukan pesan kesalahan. //Contoh Program dengan Menggunakan cerr #include #include void main() { clrscr(); cerr << “Ini Adalah Pesan Kesalahan” << endl; cout << “Ini Adalah Pesan yang Sebenarnya”; }
Sumber : Kadir,
Abdul.
Pemrograman
C++ Membahas
Pemrograman
Berorientasi
Objek
Menggunakan Turbo C++ dan Borland C++. Yogyakarta : Andi. Agustus 1995.
Hera Agustina
Page 8