-->

Memformat Output Bahasa C++

Memformat output pada bahasa C++ adalah mengatur tampilan output sedemikian rupa sehingga mudah dibaca dan enak dilihat. Sebagai contoh dapat lihat pada program dibawah ini:

//contoh program tanpa format
#include <iostream>  
using namespace std;  
int main( ) 
Int  bil1 = 12,      bil2 = 345,        bil3 = 5789,
       bil4 = 234,    bil5 = 45678,   bil6 = 890,
       bil7 = 1234,  bil8 = 56,          bil9 = 789;
// tampilkan bilangan
cout << bil1 << "  " << bil2 << "  " << bil3 << endl;
cout << bil4 << "  " << bil5 << "  " << bil6 << endl;
cout << bil7 << "  " << bil8 << "  " << bil9 << endl; 
}


Output dari program di atas adalah seperti berikut:
12  345  6789
234  45678  890
1234  56  789


Tampilan di atas kelihatan tidak teratur dan agak sulit dilihat karena angka tidak berada dalam 1 kolom yang sama. Untuk mengatasi hal ini, dapat digunakan instruksi yang mengatur lebar kolom agar angka dapat tampil dalam 1 kolom yang sama. Instruksi tersebut adalah setw(n) dengan n adalah lebar kolom. Instruksi ini berada dalam file library iomanip sehingga harus ditambahkan pada include directive. Lihat program dibawah ini yang menggunakan instruksi setw ini sehingga angka-angka tampil dalam kolom yang sama.

// contoh program dengan format output
#include <iostream>  
#include <iomanip>
using namespace std;  
 
int main( ) 
int bil1 = 12,  bil2 = 345, bil3 = 5789,
bil4 = 234, bil5 = 45678, bil6 = 890,
bil7 = 1234, bil8 = 56, bil9 = 789;
cout << setw(8) << bil1 << setw(8) << bil2 << setw(8) << bil3 << endl;
cout <<setw(8) << bil4 << setw(8) << bil5 << setw(8) << bil6 << endl;
cout << setw(8) <<bil7 << setw(8) << bil8 << setw(8) << bil9 << endl;

Hasil dari program kurang lebih akan menjadi seperti ini:
    12       345    5789
  234   45678      890
1234         56      789


Instruksi setw(8) artinya adalah output akan ditulis dalam tempat yang lebarnya 8 karakter, dengan rata kanan.
Instruksi setw ini juga dapat digunakan untuk mengatur tampilan data yang bertipe real maupun karakter, coba ikuti program dibawah ini.

#include <iostream>
#include <iomanip>
using namespace std;  
 
int main( ) 
char n1[10] = "ani", n2[10] = "budi",   n3[10] = "charlie", n4[10] = "diana";
double bil1 = 12.3456, bil2 = 78.91,   bil3 = 2.34, bil4 = 567.123;

cout <<"Output tanpa instruksi setw" << endl;
cout << n1 << "  " << n2 << endl;
cout << n3 << "  " << n4 << endl<< endl;
cout << bil1 << "  " << bil2 << endl;
cout << bil3 << "  " << bil4 << "  "<< endl << endl ;
cout <<"Output dengan instruksi setw" << endl;
cout << setw(8) << n1 << setw(8) << n2 << endl;
cout << setw(8) << n3 << setw(8) << n4 <<  endl << endl;
cout << setw(10) << bil1 << setw(10) << bil2 << endl;
cout << setw(10) << bil3 << setw(10) << bil4 <<  endl;
}


Untuk data bertipe real yang mengandung titik decimal, instruksi setw tidak dapat mengatur tampilan berdasarkan letak titik desimal sehingga tampilan output masih terlihat tidak teratur. Khusus untuk data real, dapat digunakan instruksi setprecision(n). Instruksi ini akan mengatur tampilan bilangan real sehingga hanya ditampilan sebanyak n bilangan termasuk tanda titik decimal. Contoh penggunaan setprecision(n) dapat dilihat pada program dibawah ini.

#include <iostream>
#include <iomanip>
using namespace std;  
int main( ) 
double bil1 = 22.0,  bil2 = 7.0 ,  bil4 = 32.3456, bil5 = 78.91;
double bil3, bil6 ;
   
bil3 = bil1/bil2;
bil6 = bil4 + bil5;
cout <<"Output tanpa instruksi setprecision" << endl;
cout << bil3 << endl<<endl;
cout << bil4 << endl;
cout << bil5 << endl;
cout << "-------- + " << endl;
cout << bil6 << endl << endl;
cout <<"Output dengan instruksi setprecision" << endl;
cout << setprecision(7) << bil3 << endl;
cout << setprecision(5) << bil3 << endl;
cout << setprecision(3) << bil3 << endl;
cout << setprecision(1) << bil3 << endl << endl;
cout << setprecision(4);
cout << setw(8) << bil4 << endl;
cout << setw(8) << bil5 << endl;
cout << "-------- + " << endl;
cout << setprecision(5);
cout << setw(8) << bil6 << endl << endl;

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel