Sunday, September 24, 2017

MENGENAL MANIPULATOR DALAM C++

Mengenal Manipulator C++
Mengenal Manipulator C++

MANIPULATOR

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()

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(); 
}

Hasil eksekusi :
  123.45
**123.45

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;

akan menapilkan :
123.57

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

0 comments:

Post a Comment