Senin, 19 Mei 2014

Tugas 1.a Algoritma dan Pemograman II

Nama         :    Bobi Rudi K.Simbala
NIM           :    21315060
Kelas          :    2 Misi-02


1.      Pengenalan Program C++
Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C dengan kelas ( C wih class). Selama tahun 1983 1984, C dengan kelas disempurnakan dengan menambahkan fasilitas pembebanlebihan operator dan fungsi yang kemudian melahirkan apa yang disebut C++. Symbol ++ merupakan operator C untuk operasi penaikan, muncul untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C. Borland International merilis compiler Borland C++ dan Turbo C++. Kedua compiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows. Selain Borland International, beberapa perusahaan lain juga merilis compiler C++, seperti Topspeed C++ dan Zortech C++.
2.      Jenis variable C++
a.       Variabel numerik dibagi menjadi 3 bagian, yaitu :
1)      Bilangan Bulat (Integer)
Bilangan ini mampu menampung bilangan bulat yang berkisar antara -32.768 hingga +32.768
2)      Bilangan Desimal Berpresisi Tunggal (Floating Point)
Dalam bentuk bilangan berpangkat Floating Point dapat digunakan untuk
menampung data dari 10^(-38) hingga 10^38, sedangkan dalam bentuk desimal dapat menampung hingga enam desimal (6 angka dibelakang koma).
3)      Bilangan Desimal Berpresisi Ganda (Double Precision)
Serupa dengan Floating Point, hanya saja kapasitas menampung datanya lebih besar. Dalam bentuk bilangan berpangkat, Double Precision dapat mengolah angka-angka dengan ketelitian yang berkisar antara 10^(-308) hingga 10^308. Sedangkan dalam bentukdesimal mampu menampung hingga 15 digit.
b.      Variabel teks dibedakan atas :
1)      Char (untuk karakter tunggal)
Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula dikonversikan dalam bentuk bilangan (ASCII code). Bilangan hasil konversi data ini dinyatakan dengan bilangan bulat yang berkisar antara -128 sampai +127.
2)      String (untuk rangkaian karakter)
String pada prinsipnya merupakan rangkaian karakter yang diakhiri dengan karakter null (‘\0’).
3.      Operator Logika C++
a.       Assignation ( = ), Operator Assignation digunakan untuk memberikan nilai ke suatu variabel. contohnya :
a=5
Pernyataan di atas berarti kita memberikan nilai integer 5 ke variabel a. Sisi kiri operator disebut lvalue (left value) dan sisi kanan disebut rvalue (right value). lvalue harus selalu berupa variabel dan rvalue atau sisi kanan dapat berupa konstanta, variabel, hasil dari suatu operasi atau kombinasi dari semuanya. Aturan yang paling penting pada assigning (operasi sama dengan) adalah aturan kanan-ke-kiri: Operasi assignment selalu terjadi dari kanan ke kiri, dan tidak pernah sebaliknya.
a = b
Pernyataan ini memberikan arti variabel a (lvalue) di beri harga b (rvalue). Contoh penerapannya begini :
a = 10; //berarti a bernilai 10
b = 4; //berarti a bernilai 10 dan b bernilai 4
a = b; //berarti a bernilai 4 dan b bernilai 4. Ingat aturannya, Kanan ke Kiri.
b = 7; //berarti a bernilai 4 dan b bernilai 7.
Bagaimana, sudah paham belum? jangan bilang tidak paham ya sobat. Hehehe
4.      Operator Aritmatika
Operator aritmatika yang dapat digunakan di C++ ada 5, yaitu :
·         + Penjumlahan
·         - Pengurangan
·         * Perkalian
·         / Pembagian
·         % Modulo atau modulus
Wah pasti tidak perlu di jelaskan satu persatu sobat juga pasti sudah paham. Mungkin yang sedikit bingung adalah operator ( % ) atau modulo. Modulo adalah operasi yang memberikan sisa dari pembagian dua nilai. Misalnya begini:
a = 11 % 3
Variabel a akan bernilai 2. Nilai 2 didapat dari sisa pembagian 11 dibagi 3. Coba saja di cek kalau tidak percaya. Tetapi jangan menggunakan kalkulator, karena hasilnya akan bilangan desimal. Capek deh.
a.       Increase ( ++ ) and Decrease ( -- )
Di C++ kita dapat memperpendek operasi :
Increase (++)
a++;
a+=1;
a=a+1;
b.      Decrease (--)
a--;a-=1;
a=a-1;
Masih bingung? begini sobat. Misalnya a=3; a++; maka nilai a yang baru adalah 4. Nah paham kan?
Operator Increase (++) dan Decrease (--) dapat digunakan sebagai prefix atau suffix. Dengan kata lain dapat dituliskan sebelum identifier variabel (++a) atau sesudahnya (a++). Operator increase yang digunakan sebagai prefix (++a), begini perbedaannya:
Contoh 1
(Prefix)
Contoh 2
(Surfix)
B = 3;
A = + + B;
// A berisi 4, B berisi 4
B = 3;
A = B + +;
// A berisi 3, B berisi 4

Pada contoh 1, B ditambahkan sebelum nilainya diberikan ke A. Sedangkan contoh 2, Nilai B diberikan terlebih dahulu ke A dan B ditambahkan kemudian.
c.       Relational operators ( ==, !=, >, <, >=, <= )
Untuk mengevaluasi antara 2 ekspresi, dapat digunakan operator Relasional di atas. Hasil dari operator ini adalah nilai Boolean yaitu hanya berupa True atau False, atau dapat juga dalam nilai int, 0 untuk mereprensentasikan "false" dan 1 untuk merepresentasikan "true".
==
Sama dengan
! =
Tidak sama dengan
Lebih besar dari
Kurang dari
> =
Lebih besar dari atau sama dengan
<=
Kurang dari atau sama dengan
Contoh :
(7 == 5) // evaluates to false atau hasil perbandingan salah.
(5 > 4) // evaluates to true atau hasil perbandingan benar.
(3 != 2) // evaluates to true atau hasil perbandingan benar.
(6 >= 6) // evaluates to true atau hasil perbandingan benar.
(5 < 5) // evaluates to false atau hasil perbandingan salah.
Selain menggunakan konstanta numerik seperti di atas, kita dapat menggunakan ekspresi yang valid, termasuk variabel. Misalkan a = 2, b = 3 dan c = 6 :
(a == 5) // "evaluates to false" karena a tidak samadengan 5.
(a*b >= c) // "evaluates to true" karena (2*3 >= 6) adalah benar.
(b+4 > a*c) // "evaluates to false" karena (3+4 > 2*6) adalah salah.
((b=2) == a) // "evaluates to true".
Hati-hati! Operator = (satu tanda sama) adalah tidak sama dengan operator == (dua tanda yang sama), yang pertama adalah operator penugasan (memberikan nilai pada haknya untuk variabel di sebelah kiri) dan yang lainnya (= =) adalah operator kesetaraan yang membandingkan apakah kedua ekspresi dalam dua sisi itu adalah sama satu sama lain.
d.      Logic operators ( !, &&, || )
Operator Logika digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 0 (False).

!
Operator logika NOT
&&
Operator logika AND
||
Operator logika OR
Operator logika NOT ( ! ), Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkannilai SALAH, begitu pula sebaliknya.
Misalnya :
Jika nilai a = 3 pada a + 4 < 10 :
Pada ekspresi relasi akan bernilai 1 (true), karena 7 < 10, sedangkan jika digunakan operator NOT akan menjadi !(a + 4 < 10) dan bernilai 0 (false).
Operator logika AND ( && ), Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
Lihat :
Operator &&
a
b
a && b
true
true
true
true
false
false
false
true
false
false
false
false
Contohnya :
Ada 3 relasi, yaitu a + 4 < 10 ;  b > a + 5 ; c - 2 >= 4 ; . Jika a = 3 ; b = 3 ; c = 7 ; . maka penggunaan operator logika AND seperti berikut :
·         a + 4 < 10  ==>  3 + 4 < 10  ==>  7 < 10 ==> Benar
·         b > a + 5  ==>  3 > 3 + 5  ==>  3 > 8  ==> Salah
·         c - 2 >= 4  ==>  7 - 2 >= 4  ==>  5 >= 4 ==> Benar
Jika menggunakan Operator Logika AND pada ketiga relasi di atas akan bernilai Salah ( 0 ), karena ada satu relasi yang bernilai Salah, maka semuanya akan bernilai Salah.
a + 4 < 10 && b > a + 5 && c - 2 >= 4  ==> Salah ==> 0 nol
Operator logika OR ( || ), Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yang dihubungkan bernilai SALAH,maka akan bernilai SALAH.
Operator ||
a
b
a || b
true
true
true
true
false
true
false
true
true
false
false
false
Contonya saya buat masih sama seperti pada kasus Operator Logika AND ( && ).
·         a + 4 < 10  ==>  3 + 4 < 10  ==>  7 < 10 ==> Benar
·         b > a + 5  ==>  3 > 3 + 5  ==>  3 > 8  ==> Salah
·         c - 2 >= 4  ==>  7 - 2 >= 4  ==>  5 >= 4 ==> Benar
Jika menggunakan Operator Logika OR pada ketiga relasi di atas akan bernilai Benar ( 1 ), karena jika ada satu relasi saja yang bernilai Benar, maka semuanya akan bernilai Benar.
a + 4 < 10 || b > a + 5 || c - 2 >= 4  ==> Benar ==> 1
e.       Conditional operator ( ? )
Conditional operator atau operator bersyarat akan mengevaluasi ekspresi dan memberikan hasil tergantung dari hasil evaluasi (true atau false). Sintaks :
condition ?result1 : result2
Jika kondisi true maka akan menghasilkan result1 , jika tidak akan menghasilkan result2. 
Perhatikan :
7==5 ?4 : 3 // hasil 3, karena 7 tidak sama dengan 5.
7==5+2 ?4 : 3 // hasil 4, karena 7 sama dengan 5+2.
5>3 ?a : b // hasil bernilai a, karena 5 lebih besar dari 3.
a>b ?a : b // hasil tergantung nilai variabel mana yang lebih besar, a atau b.
f.       Bitwise Operators ( &, |, ^, ~, <<, >>)
Operator Bitwise memodifikasi variabel menurut bit yang merepresentasikan nilai yang disimpan, atau dengan kata lain dalam representasi binary.
operator
asm equivalent
Keterangan
&
AND
Bitwise AND
|
OR
Bitwise Inclusive OR
^
XOR
Bitwise Exclusive OR
~
NOT
Unary complement (bit inversion)
<< 
SHL
Shift Left
>> 
SHR
Shift Right
g.      Explicit type casting operators
Type casting operators memungkinkan untuk mengkonversikan tipe data yang sudah diberikan ke tipe data yang lain. Ada beberapa cara yang dapat dilakukan dalam C++, yang paling popular yaitu tipe baru dituliskan dalam tanda kurung ().
Contoh :
int i; float f = 3.14; i = ( int ) f;
Contoh diatas, mengkonversikan nilai 3.14 menjadi nilai integer (3). Type casting operator yang digunakan ( int ).
h.      Precedence of operators ( Prioritas pada operator )
Maksudnya operasi yang di dahulukan terlebih dahulu. Misal :
a = 4 + 8 / 2 ;
Jawaban atau nilai a adalah 8. Mengapa bukan 6 ? Ya karena pada C++ pengerjaan operasi di lakukan dari level yang tinggi ke level yang lebh rendah.
Berikut ini adalah prioritas operator dari tinggi ke rendah :
Level
Operator
Description
Grouping
1
::
scope
Left-to-right
2
() [] . -> ++ -- dynamic_cast static_cast reinterpret_cast const_cast typeid
postfix
Left-to-right
3
++ -- ~ ! sizeof new delete
unary (prefix)
Right-to-left
* &
indirection and reference (pointers)
+ -
unary sign operator
4
(type)
type casting
Right-to-left
5
.* ->*
pointer-to-member
Left-to-right
6
* / %
multiplicative
Left-to-right
7
+ -
additive
Left-to-right
8
<<>> 
shift
Left-to-right
9
<><= >=
relational
Left-to-right
10
== !=
equality
Left-to-right
11
&
bitwise AND
Left-to-right
12
^
bitwise XOR
Left-to-right
13
|
bitwise OR
Left-to-right
14
&&
logical AND
Left-to-right
15
||
logical OR
Left-to-right
16
?:
conditional
Right-to-left
17
= *= /= %= += -= >>= <<= &= ^= |=
assignment
Right-to-left
18
,
comma
Left-to-right
5.      Operasi Dasar c++
a.       Cout
Dengan menggunakan obyek ini, anda dapat meletakkan suatu informasi ke standard output (normalnya berupa layar). Untuk menampilkan tulisan "coba cout dengan ganti baris" yang diikuti dengan ganti baris (newline), anda bisa menggunakan pernyataan berikut:
cout<< "coba cout dengan ganti baris\n";
Untuk menampilkan tulisan "Tanggal : " diikuti dengan isi variabel tgl dan kemudian karakter newline, pernyataan yang diperlukan:
cout "Tanggal : " << tgl << '\n';
Pada contoh di atas terdapat karakter khusus berupa newline yang penulisannya berupa '\n'. Karakter seperti ini dikenal dengan sebutan escape sequence. Pada pemrograman C++ terdapat sejumlah karakter yang tergolong sebagai escape sequence.
b.      Manipulator
Manipulator umumnya digunakan untuk mengatur tampilan data. Misalnya untuk mengatur agar sesuatu nilai ditampilkan dengan sepuluh karakter dan diatur rata kanan terhadap lebar tersebut. Tabel berikut berisikan jumlah manipulator pada bahasa pemrograman C++.
Tabel A. Manipulator
Manipulator
Keterangan
endl
Menyisipkan newline dan mengirimkan isi penyangga keluaran ke piranti keluaran
ends
Menyiapkan karakter null
flush
Mengirimkan isi penyangga keluaran ke piranti keluaran
dec
Mengonversi ke bilangan basis sepuluh
hex
Mengonversi ke bilangan basis 16 (oktal)
oct
Mengonversi ke bilangan basis 8 (oktal)
setbase(int n)
Mengonversi 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 pemenuhan berupa c
setprecision(int n)
Menyetel presisi bilangan pecahan sebesar n digit
setiosflags(long f)
Menyetel format yang ditentukan oleh f. f adalah tanda format pada Tabel B
resetiosflags(long f)
Menghapus format yang ditentukan oleh f. f adalah tanda format pada Tabel B
1)      Manipulator endl
Manipulator endl digunakan untuk menyisipkan karakter newline. Dengan kata lain manipulator ini identik dengan '\n'. Namun endl lebih disukai daripada '\n' karena lebih memberikan kejelasan. Selain itu, manipulator ini menjamin data langsung dikirimkan ke piranti keluaran. Hal ini sangat bermanfaat terutama kalau piranti keluaran berupa file di disk.
Contoh program yang menggunakan manipulator endl:
// barang1.cpp
// program ini menampilkan tiga buah jumlah barang dan
// menggunakan manipulator endl
// Oleh: Benidiktus Sihotang, STP
#include <iostream.h>
#include <conio.h>
void main()
{
int jlhbarisa=100,
int jlhbarisb=232,
int jlhbarisc=888;
clrscr;                 // menghapus layar
cout << "Barang A = " << jlhbarisa << endl;
cout << "Barang B = " << jlhbarisb << endl;
cout << "Barang C = " << jlhbarisc << endl;
}
Jika program di atas dikompilasi dan kemudian dijalankan, hasilnya adalah sebagai berikut:
C:\PRG>barang1 <enter>
Barang A = 100
Barang B = 232
Barang C = 888
C:\PRG>_
2)      Manipulator setw()
Manipulator setw() bermanfaat untuk mengatur lebar dari suatu tampilan data. Sebagai contoh data jumlah pada program barang2.cpp dapat ditampilkan rata kanan dengan cara seperti di bawah ini:
// barang2.cpp
// program ini menampilkan tiga buah jumlah barang dan
// menggunakan manipulator setw
// Oleh: Benidiktus Sihotang, STP
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
int jlhbarisa=10,
int jlhbarisb=232,
int jlhbarisc=1788;
clrscr;                 // menghapus layar
cout << "Barang A = " << setw (5) << jlhbarisa << endl;
cout << "Barang B = " << setw (5) << jlhbarisb << endl;
cout << "Barang C = " << setw (5) << jlhbarisc << endl;
}
Jika program di atas dikompilasi dan kemudian dijalankan, hasilnya adalah sebagai berikut:
C:\PRG>barang2 <enter>
Barang A =     10
Barang B =    232
Barang C =  1788
C:\PRG>_
3)      Manipulator setfill()
Manipulator setfill berguna untuk mengatur karakter yang dipakai memenuhi bagian field yang ditentukan setw(); yang tidak dipakai untuk menampilkan data. Misalnya, jika diberikan perintah:
cout<< setw (6) << 234 << endl;
maka 123 akan ditampilkan dengan lebar 6 karakter dan didahului oleh tiga karakter spasi. Apabila sebelum pernyataan di atas terdapat pernyataan:
cout<< setfill ('*'); hasilnya berupa: ***123.
4)      Manipulator dec, oct dan hex
Manipulator dec, oct dan hex berguna menampilkan suatu data dalam bentuk desimal (bilangan basis 10), oktal (bilangan Basis 8) dan heksadesimal (bilangan basis 16).
// konversi.cpp
// program ini mengonversi ke desimal, oktal
// dan heksadesimal
// Oleh: Benidiktus Sihotang, STP
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void main()
{
int nilai=250;
clrscr;                 // menghapus layar
cout << nilai << endl;
cout << oct << nilai << endl;
cout << hex << nilai << endl;
cout << dec << nilai << endl;
}
Hasil eksekusi:
C:\PRG>konversi <enter>
250
372
fa
250
C:\PRG>_
Tampak bahwa jika manipulator dec, oct atau hex tidak digunakan, suatu nilai ditampilkan dalam basis sepuluh.
5)      Manipulator setbase()
Pengonversian ke oktal, desimal atau heksadesimal juga dapat dilakukan dengan menggunakan manipulator setbase(). Misalnya: setbase(8) identik dengan: oct.
6)      Manipulator flush
Pada saat mengeluarkan standar data ke standar output, cout menggunakan suatu penyangga (buffer). Jika penyangga belum penuh, cout tidak mengirimkan ke standard output. Hal ini dilakukan untuk mengidentifikasikan pengiriman ke standard output. Agar data yang dikirimkan ke cout langsung ditransfer ke stardard output, anda dapat menambahkan manipulator flush di akhir data. Namun perlu diketahui, kalau anda menggunakan endl, sebenarnya manipulator ini identik dengan newline diikuti dengan flush. Dengan demikian, tiga buah pernyataan berikut mempunyai makna yang sama:
cout<< "C++\n" << flush;
cout<< "C++" << endl;
cout<< "C++" << '\n' << flush;
7)      Manipulator ends
Berfungsi untuk menambahkan karakter null (ASCII nol) ke deretan suatu karakter. Hal ini kadang-kadang diperlukan, misalnya jika ingin mengirim sejumlah karakter ke file disk atau modem dan mengakhirinya dengan karakter null.
Contoh:
cout<< 'c' << 'd' << 'e' << ends;
Pernyataan di atas mengirimkan tiga buah karakter (c, d dan e) serta sebuah karakter nul. Pada layar, ends akan menimbulkan sebuah karakter kosong.
8)      Pemakaian setiosflags()
Manipulator setiosflags() merupakan manipulator yang dapat dipakai untuk mengontrol sejumlah tanda format yang tercantum pada Tabel B.
Tabel B. Tanda format untuk 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 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
9)      Pemakaian resetiosflags()
Adakalanya setelah tanda format tertentu digunakan (misalnya ios::showbase), diinginkan untuk kembali ke keadaan semula. Hal ini sering terjadi pada program yang besar. Untuk menangani kasus seperti ini, pada C++ terdapat manipulator bernama resetiosflags().
Misalnya:
setiosflags(ios::showbase) telah digunakan. Untuk kembali ke keadaan semula, anda bisa memberikan: resetiosflags(ios::showbase). Lebih jelasnya, penggunaan manipulatordi atas dilakukan untuk menghilangkan tanda awalan 0 pada  bilangan oktal atau 0x pada bilangan heksadesimal pada tampilan berikutnya.
10)  Manipulator setprecision()
Apabila anda bekerja dengan bilangan pecahan, anda juga bisa mengatur jumlah 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 menampilkan: 123.57
Bagian pecahan terdiri dari dua digit sesuai dengan argumen pada setprecision().
11)  Cin
Bahasa pemrograman C++ menyediakan suatu obyek bernama cin (baca: C in). Obyek ini bermanfaat untuk membaca data dari standard input (normalnya adalah keyboard).
a)      cin dengan Sebuah Variabel, Bentuk pernyataan cin untuk membaca data dari keyboard dan meletakkan ke sebuah variabel bernama var: cin>> var, Tanda >> disebut operator "pengambilan dari".
b)      cin dengan Lebih dari Satu Variabel, Bentuk cin juga dapat seperti berikut: cin>> bil_x >> bil_y;
Pernyataan di atas digunakan untuk membaca bil_x dan bil_y.
c)      cin untuk Membaca Karakter, cin juga dapat dipakai untuk membaca sebuah karakter: cin>> karakter
Contoh program cin membaca karakter:
// cinkarakter.cpp
// program ini membaca karakter dengan cin
// Oleh: Benidiktus Sihotang, STP
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void main()
{
char karakter;
clrscr();     // menghapus layar
cout << "Masukkan sebuah karakter. ";
cin >> karakter;
cout << "Anda mengetik " << karakter << endl;
}
Hasil eksekusi:
C:\PRG>cinkarakter <enter>
Masukkan sebuah karakter. x <enter>
Anda mengetik x
C:\PRG>_
d)     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.
Bentuk pemakaiannya: karakter = getch(); karakter = getche();
Kode tombol yang ditekan akan diberikan ke variabel karakter yang bertipe char. Perbedaan kedua fungsi di atas yaitu fungsi getch() tidak menampilkan karakter dari tombol yang ditekan, sedangkan fungsi getche() karakter dari tombol yang ditekan akan ditampilkan.
Apabila fungsi getch() atau getche() digunakan, file header bernama conio.h perlu disertakan dalam program.
e)      Cerr
Biasanya pesan kesalahan yang ingin ditampilkan dari suatu program C++ tidak dilakukan dengan cout, melainkan dengan cerr. Tujuannya adalah agar pesan dikirim ke piranti yang berbeda dengan dengan informasi yang bukan berupa pesan kesalahan. Dengan demikian jika dikehendaki nantinya kedua jenis informasi tersebut dapat dipilahkan (melalui pengalihan arah / redirection).
Sebagai contoh:
cerr<< "Memori penuh. Program tidak dapat dijalankan\n"; akan mengirimkan string: "Memori penuh. Program tidak dapat dijalankan\n" ke standard error.

0 komentar:

Posting Komentar

Isikan Komentar Anda Disini