1. cout
Pemakaian cout merupakan sebuah obyek
untuk meletakkan informasi ke standar output (monitor).
cout<<”Selamat Belajar C++ \n”;
Pada contoh di atas terdapat karakter
khusus berupa newline yang penulisannya berupa \n” yang menyatakan akhir
statement (pindah baris). Karakter-karakter seperti ‘\n’ di atas dikenal dengan
sebutan escape sequence. Pada C++ terdapat sejumlah karakter yang tergolong
sebagai escape sequence, seperti yang tercantum pada tabel 3.1 di bawah ini:
Tabel 3.1 Karakter-karakter khusus
|
Karakter
|
Keterangan
|
|
\0
|
Karakter ber-ASCII nol (karakter null)
|
|
\a
|
Karakter bel
|
|
\b
|
Karakter backspace
|
|
\f
|
Karakter formfeed (ganti halaman)
|
|
\n
|
Karakter newline (pindah 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 nilainya oktalnya ooo (3
digit oktal)
|
|
\xhh
|
Karakter yang nilai heksadesimalnya adalah
hh (dua digit heksadesimal)
|
Sebagai contoh, pernyataan berikut
akan menampilkan tulisan “Masukkan hanya bilangan ganjil” disertai bunyi bel:
cout<<”Masukkan hanya bilangan ganjil…!! \a
\n”;
2. Manipulator
Manipulator umumnya
digunakan untuk mengatur format tampilan data. Misalnya untuk mengatur agar
suatu nilai ditampilkan dengan lebar 10 karakter rata kanan, dan sebagainya.
Tabel 3.2 Manipulator
Manipulator
|
Keterangan
|
|
endl
|
Menyisipkan
newline dan mengirimkan isi ke penyangga
|
|
ends
|
Menyisipkan
karakter null
|
|
flush
|
Mengirimkan
isi penyangga keluaran ke piranti keluaran
|
|
dec
|
Mengkonversi
ke bilangan basis sepuluh
|
|
hex
|
Mengkonversi
ke bilangan basis 16 (oktal)
|
|
oct
|
Mengkonversi
ke bilangan basis 8 (oktal)
|
|
setbase(int
n)
|
Mengkonversi
ke bilangan basis n (n=8, 10 atau 16)
|
|
setw(int
n)
|
Mengatur
lebar field untuk suatu nilai sebesar n karakter
|
|
setfill(int
c)
|
Menyetel
karakter pemenuh berupa c
|
|
setprecicion(int
n)
|
Menyetel
presisi bilangan pecahan sebesar n digit
|
|
setiosflags(long
f )
|
Menyetel
format yang ditentukan oleh f.f adalah tanda format pada tabel 3.3
|
|
Resetiosflags(long
f )
|
Menghapus
format yang ditentukan oleh f.f adalah tanda format pada tabel 3.3
|
a.
endl
Manipulator endl digunakan untuk
menyisipkan karakter newline. Dengan kata lain manipulator ini identik dengan
‘\n’. Namun pada bahasa C++ lebih banyak digunakan manipulator ini dibanding
manipulator C yang harus menggunakan karakter khusus ‘\n’.
b.
setw()
Manipulator setw() bermanfaat untuk
mengatur lebar dari suatu tampilan data.
Simpan dengan nama file : lat31.cpp
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int nilai1
= 1210,
nilai2 = 250,
nilai3 = 23;
clsrcr();
cout<<”Nilai
1 = “<<setw(4)<<nilai1<<endl;
cout<<”Nilai
2 = “<<setw(4)<<nilai2<<endl;
cout<<”Nilai
3 = “<<setw(4)<<nilai3<<endl;
}
Hasil
:
Simpan dengan nama file : lat32.cpp
//mengatur lebar
tampilan suatu nilai
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int bil=123;
clrscr();
cout<<setw(0)<<bil<<endl;
cout<<setw(1)<<bil<<endl;
cout<<setw(2)<<bil<<endl;
cout<<setw(3)<<bil<<endl;
cout<<setw(4)<<bil<<endl;
cout<<setw(5)<<bil<<endl;
}
Hasil :
c.
setfill()
Manipulator setfill() berguna untuk
mengatur karakter yang dipakai memenuhi bagian field yang ditentukan setw(),
yang tidak dipakai untuk menampilkan data.
Simpan dengan nama file : lat33.cpp
//pemakaian efek
setfill()
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
float harga=123.25;
clrcsr();
cout<<setfill(‘*’)<<setw(8)<<harga<<endl;
cout<<setw(8)<<harga<<endl;
}
Hasil :
d.
ends
Manipulator ends berfungsi untuk
menambahkan karakter null (ASCII nol) ke deretan suatu karakter. Hal seperti
ini kadang-kadang diperlukan, misalnya jika ingin mengirim sejumlah karakter ke
file disk dan mengakhirinya dengan karakter null.
Contoh :
cout<<’a’<<’b’<<’c’<<ends;
Pernyataan di atas mengirimkan tiga buah
karakter (a,b dan c) serta sebuah karakter null. Pada layar, ends akan
menimbulkan sebuah karakter kosong.
e.
setiosflags()
Manipulator setiosflags() merupakan manipulator
yang dapat dipakai untuk mengontrol sejumlah tanda format yang tercantum pada
tabel 3.3 di bawah ini:
Tabel 3.3 Tanda format untuk menampilkan setiosflags()dan resetiosflags()
|
Nama
Tanda format
|
Keterangan
|
|
ios::left
|
Menyetel rata-kiri terhadap lebar field
yang diatur melalui setw()
|
|
ios::right
|
Menyetel rata-kanan terhadap lebar field
yang diatur melalui setw()
|
|
ios::scientific
|
Memformat keluaran dalam bentuk notasi
eksponensial
|
|
ios::fixed
|
Memformat keluaran dalam bentuk notasi
desimal
|
|
ios::dec
|
Memformat keluaran dalam basis 8 (oktal)
|
|
ios::oct
|
Memformat keluaran dalam basis 16
(hexadesimal)
|
|
ios::hex
|
Memformat huruf pada notasi heksadesimal ke
bentuk huruf kapital
|
|
ios::uppercase
|
Menampilkan awalan 0x untuk bilangan
heksadesimal atau 0 (nol) untuk bilangan oktal
|
|
ios::showbase
|
Menampilkan titik desimal pada bilangan
pecahan yang tidak memiliki bagian pecahan
|
|
ios::showpoint
|
Menampilkan titik desimal pada pecahan yang
tidak memiliki bagian pecahan
|
|
ios::showpos
|
Untuk menampilkan tanda + pada bilangan
positif
|
Simpan dengan nama file : lat34.cpp
//penggunaan tanda
ios::left untuk rata-kiri
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int harga1=475000;
int harga2= 35000;
int harga3= 7500;
clrscr();
cout<<setw(3)<<”Rp.”<<setiosflags(ios::left)<<setw(7)
<<harga1<<endl;
cout<<setw(3)<<”Rp.”<<setiosflags(ios::left)<<setw(7)
<<harga2<<endl;
cout<<setw(3)<<”Rp.”<<setiosflags(ios::left)<<setw(7)
<<harga3<<endl;
}
Hasil :
Hasil tersebut
ditunjukkan oleh tabel di bawah ini:
|
R
|
p
|
.
|
4
|
7
|
5
|
0
|
0
|
0
|
|
|
R
|
p
|
.
|
3
|
5
|
0
|
0
|
0
|
|
|
|
R
|
p
|
.
|
7
|
5
|
0
|
0
|
|
|
|
Simpan dengan nama file : lat35.cpp
//penggunaan tanda
ios::right untuk rata-kanan
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int harga1=475000;
int harga2=35000;
int harga3=7500;
clrscr();
cout<<setw(3)<<”Rp.”<<setiosflags(ios::right)<<setw(7)
<<harga1<<endl;
cout<<setw(3)<<”Rp.”<<setiosflags(ios::right)<<setw(7)
<<harga2<<endl;
cout<<setw(3)<<”Rp.”<<setiosflags(ios::right)<<setw(7)
<<harga3<<endl;
}
Hasil :
Hasil tersebut ditunjukkan oleh tabel di bawah ini:
|
R
|
p
|
.
|
|
4
|
7
|
5
|
0
|
0
|
0
|
|
R
|
p
|
.
|
|
|
3
|
5
|
0
|
0
|
0
|
|
R
|
p
|
.
|
|
|
|
7
|
5
|
0
|
0
|
Simpan dengan nama file : lat36.cpp
//penggunaan
manipulator setprecicion dengan tanda ios::fixed dan ios::scientific
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
float harga=225.20;
clrscr();
cout<<setw(3)<<"U$."<<setiosflags(ios::right)<<setw(7)<<setiosflags(ios::fixed)<<setprecision(2)<<harga
<<endl;
cout<<setw(3)<<"U$."<<setiosflags(ios::right)<<setw(7)<<setiosflags(ios::fixed)<<setprecision(1)<<harga
<<endl;
cout<<setw(3)<<"U$."<<setiosflags(ios::right)<<setw(7)<<setiosflags(ios::fixed)<<setprecision(0)<<harga
<<endl;
cout<<setw(3)<<"U$."<<setiosflags(ios::right)<<setw(7)<<setiosflags(ios::scientific)<<setprecision(2)<<harga<<endl;
}
Hasil
:
3. cin
C++ menyediakan suatu
obyek bernama cin (baca: C in) yang bermanfaat untuk membaca data dari standar
input (keyboard).
Bentuk pernyataan cin
untuk membaca data dari keyboard dan meletakkan ke sebuah variabel. Bentuk
pemakaian cin adalah :
cin
>> var ;
Tanda >> menunjukkan
“pengambilan data dari” piranti masukan, normalnya adalah keyboard.
Simpan
dengan nama file : lat37.cpp
//membaca data
bertipe float dan int dari keyboard
#include<iostream.h>
#include<conio.h>
void main()
{
const float harga=250000;
int jumlah;
float total;
clrscr();
cout<<”Masukkan jumlah barang :
“;cin>>jumlah;
total=jumlah*harga;
cout<<”Total
harga = Rp. “<<total<<endl;
}
Hasil
:
Simpan
dengan nama file : lat38.cpp :
//membaca data
bertipe karakter
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
const char A[]="Vibra
128";
const char B[]="Live
Value";
const char C[]="Santa
Cruz";
char nama[20],kode;
int jumlah;
long harga,total;
clrscr();
cout<<"Kode barang :
";cin>>kode
cout<<"Jumlah : ";cin>>jumlah;
if(kode=='A')
{
strcpy(nama,A);
harga=175000;
total=jumlah*harga;
}
else
if(kode=='B')
{
strcpy(nama,B);
harga=256000;
total=jumlah*harga;
}
else
if(kode==’C’)
{
strcpy(nama,C);
harga=475000;
total=jumlah*harga;
}
else
exit(0);
cout<<"============================================="<<endl;
cout<<"Kode"<<setw(10)<<"Nama
Brg"<<setw(10)<<"Qty" <<setw(8)<<"Harga"<<setw(11)<<"Jumlah"<<endl;
cout<<"============================================="<<endl;
cout<<setiosflags(ios::left)<<setw(6)<<kode
<<setiosflags(ios::left)<<setw(13)<<nama
<<setiosflags(ios::right)<<setw(4)<<jumlah
<<setiosflags(ios::right)<<setw(10)<<harga
<<setiosflags(ios::right)<<setw(10)<<total<<endl;
cout<<"============================================="<<endl;
}
Hasil
:
3.4. Fungsi getch() dan getche()
Fungsi getch()dan
getche()berguna untuk membaca sebuah karakter tanpa perlu menekan Enter. Selain
itu fungsi ini juga dapat dipakai untuk membaca tombol seperti Spasi, Tab
ataupun Enter dan juga banyak dipakai oleh pemrogram untuk menunggu menekan
sebarang tombol agar keluar dari program.
Apabila fungsi ini
digunakan, file header bernama conio.h harus disertakan dalam program. Namun
ada perbedaan antara fungsi getch()dan getche():
q getch() : tidak menampilkan
karakter dari tombol yang ditekan
q getche(): menampilkan karakter dari tombol yang ditekan
Simpan
dengan nama file : lat39.cpp :
//melihat efek penggunaan fungsi getch() dan getche()
#include<iostream.h>
#include<conio.h>
void main()
{
char
karakter;
clrscr();
cout<<"Masukkan
sebuah : ";
karakter=getch();
cout<<"Anda mengetik "<<karakter<<endl;
cout<<"Masukkan lagi sebuah karakter : ";
karakter=getche();
cout<<endl; //ganti spasi
cout<<"Anda mengetik "<<karakter<<endl;
cout<<"Tekan sebarang tombol untuk keluar dari
program..!!"
<<endl;
getch();
}
Hasil
: