Minggu, 31 Mei 2015

TEKNIK INPUT OUTPUT

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 :
 





0 komentar:

Posting Komentar