2. Membahas cara membaca data dari keyboard sehingga data bisa
dimasukan ketika program dijalankan. Selain itu, bab ini membahas
berbagai cara untuk mengatur tampilan data.
MATERI:
INPUT/OUTPUT
8/5/2017 cendana25.blogspot.com
3. C++ menyediakan objek bernama cin yang berguna untuk membaca data
dari keyboard. Contoh berikut menunjukan cara membaca data panjang
dan lebar persegi panjang dari keyboard.
BAGAIMANA CARANYA KALAU SAYA INGIN MEMASUKAN DATA
DARI KEYBOARD KETIKA PROGRAM DIJALANKAN?
8/5/2017 cendana25.blogspot.com
5. PADA PROGRAM DI DEPAN, SAYA MEMASUKAN DATA SEPERTI
BERIKUT: 30 15 DIIKUTI DENGAN ENTER. KOK PROGRAM TIDAK LAGI
MEMINTA DATA LEBAR?
Cin.ignore (255, ‘ n ’ ); kosongkan standard input
Untuk mengantisipasi terjadinya nilai inputan seperti ini maka
harus ditambahkan instruksi:
8/5/2017 cendana25.blogspot.com
6. Tambahan pada program di atas berupa
Cin.ignore (255, ‘ n ‘ ) ;
Yang diletakan sebelum cin kedua. Perintah diatas digunakan untuk
membuang 255 karakter dalam standard input atau semua karakter
hingga bertemu karakter newline (‘ n ‘).
Contoh hasil eksekusi program:
Hasil di atas memperlihatkan bahwa sekalipun 30.0 15 dimasukan ketika
data panjang diminta untuk dimasukan dari keyboard, angka 15 tersebut
dan code enter ikut dibuang oleh ignore(). Itu sebabnya, cin kedua benar-
benar meminta pemakai untuk memasukan data dari keyboard.
8/5/2017 cendana25.blogspot.com
7. MENGGUNAKAN CIN UNTUK MEMBACA DATA STRING. HASILNYA TIDAK
SEMPURNA ? HANYA KATA PERTAMA YANG DISIMPAN KE VARIABEL?
#include <iostream>
Using namespace std;
Int main () {
String nama;
Cout << “nama anda : “ ;
Cin >> nama ; //akan diganti
//Getline (cin, nama) ;
Cout << “hai, “ << nama << “ ! “ << endl ;
Return 0 ;
}
}
Untuk mengatasi masalah tersebut,
ubahlah cin menjadi sepeti berikut:
Getline (cin, nama) ;
8/5/2017 cendana25.blogspot.com
8. Contoh lain
#include <iostream>
Using namespace std;
Int main () {
Char X[7];
Cin.getline(X,5);
Cout << X ;<<endl;
Return 0 ;
}
8/5/2017 cendana25.blogspot.com
9. APAKAH CIN BISA DIGUNAKAN UNTUK MEMBACA
SEBUAH KARAKTER?
#include< iostream>
Using namespace std ;
Int main () {
String nama ;
Char skor ;
Cout << “nama siswa: “ ;
Getline (cin, nama) ;
Cout << “nilai (A, B, C, D, atau E) : “ ;
Cin >> skor ;
Cout << “nilai untuk “ << nama << “:” << skor << endl ;
Return 0 ;
}
8/5/2017 cendana25.blogspot.com
10. MEMBACA DATA BERTIPE INT, TETAPI PEMAKAI MEMASUKAN STRING.
APAKAH KESALAHAN SEPERTI ITU BISA DI DETEKTSI OLEH PROGRAM?
#include <iostream>
Using namespace std ;
Int main () {
Int usia ;
Cout << “berapa usia anda? “ ;
Cin >> usia ;
If (cin.fail () )
Cout << “ masukkan usia dalam bentuk angka bulat” << endl ;
Else
Cout << “usia anda = “ << usia << endl ;
Return 0 ;
}
8/5/2017 cendana25.blogspot.com
11. APA BENAR COUT MEMILIKI
FASILITAS PEMFORMAT YANG
BERGUNA UNTUK MENAMPILKAN
KELUARAN?
PEMFORMATAN
Ya, hal itu bisa dilakukan berkat
adanya sejumlah manipulator
Manipulator adalah nilai atau fungsi yang ditujukan untuk menformat data
yang akan ditampilkan misalnya melalui cout . yang didefinisikan pada file
iomanip.h, untuk menyertakan:
#include <iomanip>
8/5/2017 cendana25.blogspot.com
12. Manipulator Keterangan
Endl Menyisipkan newline
Ends Menyisipkankarakter null
Dec Mengonversi ke bilangan basis sepuluh
Hex Mengonversi ke bilangan basis heksadesimal
Oct Mengonversi ke bilangan basis octal
Setbase(int n) Mengonversi ke bilangan basis n (n=8,10,atau 16)
Setw(int n) Mengatur lebar tempat untuk suatu nilai sebesar n karakter
Setfill(char c) Menambahkan karakter c untuk memenuhi tempat yang di
sediakan
Setprecision(int n) Menentukan presisi bilangan pecahan sebesar n digit
Setiosflags(long f) Menentukan f sebagai format keluaran
Resetiosflags(long f) Menghilangkan format yang pernah di atur melalui
setiosflag()
8/5/2017 cendana25.blogspot.com
13. Format Keterangan
Ios::skipws Mengabaikan spasi-putih (spasi, tab, dan semacamnya yang menyatakan data
spasi) pada pemasukan data
Ios::left Mengatur keluaran rata-kiri terhadap ruang yang disediakan
Ios::right Mengatur keluaran rata-kanan terhadap ruang yang disediakan
Ios::dec Memformat keluaran ke system decimal
Ios::hex Memformat keluaran ke system heksadesimal
Ios::oct Memformat keluaran ke system octal
Ios::uppercase Memformat keluaran ke dalam bentuk huruf capital
Ios::showpos Memformat keluaran dengan menambahkan awalan tanda + untuk bilangan
positif
Ios::scientific Memformat keluaran dengan bentuk notasi sains (berbentuk seperti 2.1e+5
yang berarti 2.1 x )
Ios::fixed Menggunakan notasi tetap (bukan notasi sains)
8/5/2017 cendana25.blogspot.com
14. #include <iostream>
#include <iomanip>
Using namespace std ;
Int main () {
Int harga Barang 1 = 2500;
Int harga Barang 2 = 750;
Int harga Barang 3 = 65900;
Int harga Barang 4 = 90 ;
Cout << “harga barang 1 = “ << setw (5) << hargabarang1 << endl ;
Cout << “Hargab barang 2 = ” << setw (5) << hargabarang2 << endl ;
Cout << “Hargab barang 3 = ” << setw (5) << hargabarang3 << endl ;
Cout << “Hargab barang 4 = ” << setw (5) << hargabarang4 << endl ;
Return 0 ;
}
Contoh Setw
8/5/2017 cendana25.blogspot.com
15. 2 5 0 0
7 5 0
6 5 9 0 0
9 0
Rata Kanan
Setw (5)
Pada contoh di atas, setw(5) berguna untuk
mengatur agar nilai berikutnya di tampilkan
dengan lebar 5 karakter. Efek yang terjadi,
keempat angka ditampilkan dengan rata di
sisi kanan.
8/5/2017 cendana25.blogspot.com
16. Contoh Setfill
#include <iostream >
#include <iostream >
using namespce std;
int main () {
int hargabarang1 =2500;
int hargabarang2 =750;
int hargabarang =65900;
int hargabarang =90;
cout <<setfill (‘ * ’);
cout << ”harga barang 1 = “ << setw (5) << hargabarang 1 << endl ;
cout << ”harga barang 2 = “ << setw (5) << hargabarang 2 << endl ;
cout << ”harga barang 3 = “ << setw (5) << hargabarang 3 << endl ;
cout << ”harga barang 4 = “ << setw (5) << hargabarang4 << endl ;
return 0 ;
8/5/2017 cendana25.blogspot.com
17. * 2 5 0 0
* * 7 5 0
6 5 9 0 0
* * 9* 0
Perhatikan bahwa penambahan * di
depan angka yang diatur melalui
setw( ) adalah efek perintah
cout << setfill ( ‘ * ‘ )
atau lebih tepatnya adalah efek dari
setfill ( ‘ * ‘ ).
Setw(5)
Eefek dari Setfill
8/5/2017 cendana25.blogspot.com
18. #include (iostream)
#include (iomanip)
Using namespace std ;
Int main () {
Int bilangan = 0xabcd ;
Cout << “system decimal : “ << dec << bilangan << endl ;
Cout << “system heksadesimal : “ << hex << bilangan << endl ;
Cout << “system octal : “ << oct << bilangan << endl ;
Return 0 ;
}
SUATU BILANGAN BISA DI TAMPILKAN DENGAN OKTAL, DESIMAL, DAN
HEKSADESIMAL DENGAN MANIPULATOR? Ya bisa
Contoh :
8/5/2017 cendana25.blogspot.com
19. CONTOH PENGGUNAAN SETIOSFLAGS()?
#include <iostream>
#include <iomanip>
Int main () {
Int bil = 12345 ;
// sebelum setiosflags ()
Cout << bil << endl ;
// setelah setiosflags ()
Cout << setiosflags (ios: :showpos) ;
Cout << bil << endl ;
// setelah resetioflags () ;
Cout << resetiosflags (ios: :showpos) ;
Cout << bil << endl ;
Return 0 ;
}
8/5/2017 cendana25.blogspot.com
20. Buat sebuah Tampilan Seperti dibawa ini:
*1 ******6
**2 *****5
***3 ****4
****4 ***3
*****5 **2
******6 *1
Gunakan Setw dan Setfill
8/5/2017 cendana25.blogspot.com