Manipulator umumnya digunakan untuk mengatur tampilan data. Misalnya untuk mengatur agar suatu nilai ditampilkan dengan lebar 10 karakter dan diatur rat kanan terhadap lebar tersebut.
Manipulator
setw() bermanfaat untuk mangatur lebar dari suatu tampilan data. Untuk lebih jelasnya dapat dilihat dalam program berikut :
#include <iostream.h>
#include <iomaip.h>
#include <conio.h>
/**
*gatewan.com
*Wawan Beneran
*Manipulator dengan fungsi setw()
*/
void main() {
int jumbar1 = 150, jumbar2 = 23, jumbar3 = 1401;
cout << "Barang 1 = " << setw(4) << jumbar1 << endl;
cout << "Barang 2 = " << setw(4) << jumbar2 << endl;
cout << "Barang 3 = " << setw(4) << jumbar3 << endl;
getch();
}
Hasil eksekusi :
Barang 1 = 150
Barang 2 = 23
Barang 3 = 1401
Dengan menggunakan setw(), terlihat hasil eksekusi adalah rata kanan. Ini dapat di bedakan dengan hasil eksekusi pada contoh 3.2 yang rata kiri.
MANIPULATOR SETFILL()
Manipulator setfill() berguna untuk mengatur karakter yang dipakai memenuhi bagian field yang ditentukan setfill(), yang tidak dipakai untuk menampilkan data.
Contoh program :
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
/**
*gatewan.com
*Wawan Beneran
*Manipulator dengan fungsi setfill()
*/
void main() {
float harga = 123.45 clrscr();
cout << " setw(8) << harga << endl;
cout << setfill('*') ;
cout << setw(8) << harga << endl;
getch();
}
Pada program diatas 123.45 ditampilkan dengan lebar 8 karakter dan didahului oleh 2 karakter spasi. Apabila terdapat pernyataan setfill(‘*’) maka 2 karakter spasi diisi oleh karakter ‘ * ‘ .
PEMAKAIAN SETIOSFLAG()
Manipulator
setiosflag() merupakan manipulator yang dapat dipakai untuk mengontrol sejumlah tanda format yang tercantum dalam tebel berikut :
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 notasi eksponensial
|
ios::fixed
|
Memformat keluaran dalam bentuk notasi desimal
|
ios::dec
|
Memformat keluaran dalam basis 10 (desimal)
|
ios::oct
|
Memformat keluaran dalam basis 8 (oktal)
|
ios::hex
|
Memformat keluaran dalam basis 16 (heksadesimal)
|
ios::uppercase
|
Memformat huruf pada notasi heksadesimal dalam bentuk huruf kapital
|
ios::showbase
|
Menampilkan awalan 0x untuk bilangan heksadesimal atau 0 (nol) untuk bilangan oktal
|
ios::showpoint
|
Menampilkan titik desimal pada bilangan pecahan yang tidak memiliki bagian pecahan
|
ios::showpos
|
Untuk menampilkan tanda + pada bilangan positif
|
MANIPULATOR SETPRECISION()
Apabila anda bekerja dalam bilangan pecahan, Anda juga mengatur jumah digit pecahan yang ingin ditampilkan. Hal ini dapat dilakukan dengan menggunakan manipulator
setprecision(). Bentuknya :
setprecision(n)
dengan
n menyatakan jumlah digit pecahan yang diinginkan. Sebagai contoh :
cout << setprecision(2) << 123.56789 << endl;
Bagian pecahan terdiri atas dua digit sesuai dengan argumen pada setprecision().
Contoh Program :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
/**
*gatewan.com
*Wawan Beneran
*Manipulator dengan fungsi setprecision()
*/
void main() {
float nilai = 123.45;
cout << setiosflags(ios::fixed);
cout << setprecision(0) << nilai << endl;
cout << setprecision(1) << nilai << endl;
cout << setprecision(2) << nilai << endl;
cout << setprecision(3) << nilai << endl;
cout << setprecision(4) << nilai << endl;
cout << setprecision(5) << nilai << endl;
cout << setprecision(6) << nilai << endl;
cout << setprecision(7) << nilai << endl;
getch();
}
Hasil eksekusi :
123
123.4
123.45
123.450
123.4500
123.45000
123.449997
123.4499969
Sementara di bawah ini menunjukkan hasil bila
setw() dipakai tetapi
ios::fixed tidak diikut sertakan.
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
/**
*gatewan.com
*Wawan Beneran
*Menunjukkan efek setprecision()
*Tanpa tanda format ios::fixed
*/
void main() {
float nilai = 123.45;
cout << setprecision(0) << nilai << endl;
cout << setprecision(1) << nilai << endl;
cout << setprecision(2) << nilai << endl;
cout << setprecision(3) << nilai << endl;
cout << setprecision(4) << nilai << endl;
cout << setprecision(5) << nilai << endl;
cout << setprecision(6) << nilai << endl;
cout << setprecision(7) << nilai << endl;
getch();
}
Hasil eksekusi :
le+02
le+02
1.2e+02
123
123.4
123.45
123.45
123.45