A. Sejarah
C++
Tahun
1978, Brian W.
Kerninghan & Dennis
M. Ritchie dari
AT & T
Laboratories mengembangkan
bahasa B menjadi
bahasa C. Bahasa
B yang diciptakan
oleh Ken Thompson sebenarnya merupakan
pengembangan dari bahasa
BCPL ( Basic
Combined Programming Language )
yang diciptakan oleh Martin Richard.
Sejak
tahun 1980, bahasa
C banyak digunakan
pemrogram di Eropa
yang sebelumnya menggunakan bahasa
B dan BCPL.
Dalam perkembangannya, bahasa
C menjadi bahasa
paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.
Tahun
1989, dunia pemrograman
C mengalami peristiwa
penting dengan dikeluarkannya standar bahasa
C oleh American National
Standards Institute (ANSI). Bahasa
C yang diciptakan Kerninghan
& Ritchie kemudian dikenal dengan nama ANSI C.
Mulai
awal tahun 1980,
Bjarne Stroustrup dari
AT & T
Bell Laboratories mulai mengembangkan bahasa
C. Pada tahun
1985, lahirlah secara
resmi bahasa baru
hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++
mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T
Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang
menterjemahkan C++ menjadi bahasa C.
Pada
evolusi selanjutnya, Borland
International Inc. mengembangkan
kompiler C++ menjadi sebuah kompiler yang mampu mengubah
C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini,
mulai tahun 1990
C++ menjadi bahasa
berorientasi obyek yang
digunakan oleh sebagian besar
pemrogram professional.
B. Struktur
Bahasa C++
Contoh 1
: Hasil :
// my first program in C++ Hello
World!
#include <iostream.h>
int main ()
{
cout << "Hello World!";
return 0;
}
Sisi
kiri merupakan source code,
yang dapat diberi
nama hiworld.cpp dan
sisi kanan adalah hasilnya setelah di-kompile dan
di-eksekusi.
Program
diatas merupakan salah
satu program paling
sederhana dalam C++,
tetapi dalam program tersebut
mengandung komponen dasar
yang selalu ada
pada setiap pemrograman C++. Jika dilihat satu
persatu :
//
my first program in C++
Baris ini adalah komentar. semua baris
yang diawali dengan dua garis miring (//) akan dianggap sebagai
komentar dan tidak
akan berpengaruh terhadap
program. Dapat digunakan oleh
programmer untuk menyertakan
penjelasan singkat atau
observasi yang terkait dengan program tersebut.
#include
<iostream.h>
Kalimat
yang diawali dengan
tanda (#) adalah
are preprocessor directive.
Bukan merupakan baris kode yang dieksekusi, tetapi indikasi untuk
kompiler. Dalam kasus ini kalimat
#include <iostream.h> memberitahukan preprocessor
kompiler untuk menyertakan header
file standard iostream. File spesifik
ini juga termasuk
library deklarasi standard I/O pada C++ dan file ini disertakan karena
fungsi-fungsinya akan digunakan nanti dalam program.
int
main ()
Baris ini mencocokan
pada awal dari deklarasi fungsi main. fungsi main merupakan titik awal
dimana seluruh program
C++ akan mulai
dieksekusi. Diletakan diawal, ditengah atau
diakhir program, isi
dari fungsi main
akan selalu dieksekusi
pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsi main. Main diikuti
oleh sepasang tanda
kurung () karena merupakan
fungsi. pada C++, semua
fungsi diikuti oleh
sepasang tanda kurung () dimana, dapat
berisi argumen didalamnya. Isi
dari fungsi main
selanjutnya akan mengikuti,berupa deklarasi formal dan
dituliskan diantara kurung kurawal ({}), seperti dalam contoh.
cout <<
"Hello World";
Intruksi
ini merupakan hal
yang paling penting
dalam program contoh.
cout merupakan standard output
stream dalam C++
(biasanya monitor). cout dideklarasikan dalam header file iostream.h, sehingga agar dapat
digunakan maka file ini harus disertakan.
Perhatikan setiap kalimat
diakhiri dengan tanda
semicolon (;). Karakter
ini menandakan akhir dari
instruksi dan harus disertakan
pada setiap akhir instruksi pada program C++ manapun.
return
0;
Intruksi return menyebabkan
fungsi main() berakhir dan
mengembalikan kode yang mengikuti
instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling sering
digunakan untuk mengakhiri program.
Tidak
semua baris pada
program ini melakukan aksi. Ada
baris yang hanya
berisi komentar (diawali //),
baris yang berisi
instruksi untuk preprocessor
kompiler (yang diawali #), kemudian baris
yang merupakan inisialisasi
sebuah fungsi (dalam
kasus ini, fungsi main) dan baris yang berisi instruksi
(seperti, cout <<), baris yang
terakhir ini disertakan dalam blok yang dibatasi oleh kurung kurawal ({}) dari
fungsi main.
Struktur program dapat dituliskan dalam
bentuk yang lain agar lebih mudah dibaca, contoh :
int main () Atau dapat juga
dituliskan :
{
cout << " Hello World "; int
main () { cout << " Hello World "; return 0; }
return 0;
}
Dalam satu baris dan memiliki arti yang
sama dengan program-program sebelumnya. pada C++ pembatas antar instruksi
ditandai dengan semicolon (;) pada setiap akhir instruksi.
Contoh 2
: Hasil :
// my second program in C++ Hello World!
I'm a C++ program
#include <iostream.h>
int main ()
{
cout << "Hello World! ";
cout << "I'm a C++ program";
return 0;
}
Komentar
Komentar adalah bagian dari program yang
diabaikan oleh kompiler. Tidak melaksanakan aksi apapun. Mereka
berguna untuk memungkinkan
para programmer untuk
memasukan catatan atau deskripsi
tambahan mengenai program tersebut. C++ memiliki dua cara untuk menuliskan
komentar :
//
Komentar baris
/* Komentar Blok */
Komentar baris, akan mengabaikan apapun
mulai dari tanda (//) sampai akhir dari baris yang sama. Komentar Blok, akan
mengabaikan apapun yang berada diantara tanda /* dan */.
C. Variabel,
tipe data, konstanta
Untuk dapat menulis program yang dapat
membantu menjalankan tugas-tugas kita, kita harus mengenal konsep dari variabel. Sebagai ilustrasi, ingat 2 buah
angka, angka pertama adalah 5 dan angka kedua adalah 2. Selanjutnya tambahkan 1
pada angka pertama kemudian hasilnya dikurangi angka kedua (dimana hasil
akhirnya adalah 4).
Seluruh proses ini dapat diekspresikan
dalam C++ dengan serangkaian instruksi sbb:
a = 5;
b = 2;
a = a + 1;
result = a - b;
Jelas
ini merupakan satu
contoh yang sangat
sederhana karena kita
hanya menggunakan 2 nilai integer
yang kecil, tetapi
komputer dapat menyimpan
jutaan angka dalam
waktu yang bersamaan dan dapat
melakukan operasi matematika yang rumit.
Karena itu, kita dapat mendefinisikan
variable sebagai bagian dari memory untuk menyimpan nilai yang
telah ditentukan. Setiap
variable memerlukan identifier
yang dapat membedakannya dari
variable yang lain,
sebagai contoh dari
kode diatas identifier variabelnya adalah a, b dan
result, tetapi kita dapat membuat nama untuk variabel selama masih merupakan
identifier yang benar.
Identifiers
Identifier adalah untaian
satu atau lebih huruf, angka, atau garis
bawah ( _ ). Panjang dari identifier,
tidak terbatas, walaupun
untuk beberapa kompiler
hanya 32 karakter
pertama saja yang dibaca
sebagai identifier (sisanya
diabaikan). Identifier harus
selalu diawali dengan huruf atau
garis bawah ( _ ).
Ketentuan
lainnya yang harus
diperhatikan dalam menentukan
identifier adalah tidak
boleh menggunakan key word dari bahasa C++. Sebagai tambahan,
represetasi alternatif dari
operator, tidak dapat
digunakan sebagai identifier.
CATATAN: Bahasa
C++ adalah bahasa
yang "case sensitive", ini
berarti identifier yang dituliskan dengan
huruf kapital akan
dianggap berbeda dengan
identifier yang sama tetapi dituliskan dengan huruf kecil, sabagai
contoh :
variabel RESULT tidak sama dengan
variable result ataupun variabel Result.
Tipe Data
Tipe
data yang ada pada C++, berikut beberapa nilai kisaran yang dapat
direpresentasikan:
Name
|
Bytes
|
Description
|
Range
|
int
|
*
|
Integer. Its
length traditionally depends on
the length of
the system's Word type,
thus in MSDOS it
is 16 bits
long, whereas in 32
bit systems (like Windows 9x/2000/NT
and systems that work
under protected mode in
x86 systems) it is 32 bits long
(4 bytes).
|
See
short, long
|
float
|
4
|
floating
point number.
|
3.4e
+ / - 38 (7 digits)
|
Deklarasi variabel
Untuk
menggunakan variabel pada
C++, kita harus
mendeklarasikan tipe data
yang akan digunakan. Sintaks
penulisan deklarasi variabel adalah dengan menuliskan tipe data yang akan
digunakan diikuti dengan identifier yang benar, contoh :
int a;
float mynumber;
Jika
akan menggunakan tipe
data yang sama
untuk beberapa identifier
maka dapat dituliskan dengan menggunakan
tanda koma, contoh :
int a, b, c;
Tipe
data integer (char,
short, long dan int)
dapat berupa signed
atau unsigned tergantung dari
kisaran nilai yang
akan direpresentasikan. Dilakukan
dengan menyertakan keyword signed atau unsigned sebelum tipe data,
contoh :
unsigned
short NumberOfSons;
signed
int MyAccountBalance;
Jika tidak dituliskan, maka akan dianggap
sebagai signed.
Contoh 3 : Hasil
:
//
operating with variables
#include
<iostream.h> 4
int
main ()
{
// declaring variables:
int a, b;
int result;
// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;
Inisialisasi
Variabel
Ketika
mendeklarasikan variabel local,
kita dapat memberikan
nilai tertentu. Sintaks penulisan sbb :
type
identifier = initial_value ;
Misalkan kita akan mendeklarasikan
variabel int dengan nama a yang bernilai 0, maka dapat dituliskan :
int
a = 0;
Atau dengan cara lainnya, yaitu
menyertakan nilai yang akan diberikan dalam tanda ():
type
identifier (initial_value) ;
Contoh : int
a (0);
Lingkup Variabel
Pada
C++, kita dapat
mendeklarasikan variable dibagian
mana saja dari program,
bahkan diantara 2 kalimat perintah.
Variabel
Global dapat digunakan untuk
setiap bagian dari program, maupun fungsi,
walaupun dideklarasikan diakhir
program. Lingkup dari
variable local terbatas. Hanya berlaku
dimana variable tersebut dideklarasikan. Jika dideklarasikan diawal
fungsi (seperti dalam main)
maka lingkup dari variable
tersebut adalah untuk seluruh
fungsi main. Seperti contoh diatas, jika terdapat fungsi lain yang
ditambahkan pada main(), maka variable local yang dideklarasikan dalam
main tidak dapat digunakan pada fungsi lainnya dan sebaliknya.
Pada C++, lingkup variable local
ditandai dengan blok dimana variable tersebut dideklarasikan ( blok tersebut
adalah sekumpulan instruksi dalam kurung kurawal {} ). Jika dideklarasikan
dalam fungsi tersebut, maka akan berlaku sebagai variable dalam fungsi
tersebut, jika dideklarasikan dalam sebuah perulangan, maka hanya berlaku dalam
perulangan tersebut, dan seterusnya.
Karakter dan String
Merupakan konstanta non-numerik,
Contoh :
'z'
'p'
"Hello world"
"How do you do?"
Untuk
karakter tunggal dituliskan
diantara kutip tunggal
(') dan untuk
untaian beberapa karakter, dituliskan
diantara kutip ganda ("). Konstanta karakter dan string memiliki beberapa
hal khusus, seperti escape codes.
\n :
newline \a : alert (beep)
\r :
carriage return \' : single quotes (')
\t :
tabulation \" : double quotes (")
\v :
vertical tabulation \?
: question (?)
\b :
backspace \\ : inverted slash (\)
\f :
page feed
Arithmetic operators (
+, -, *, /, % )
+ :
addition
-
: subtraction
* :
multiplication
/
: division
% :
module
Relational operators (
==, !=, >, <, >=, <= )
Untuk
mengevaluasi antara 2
ekspresi, dapat digunakan
operator Relasional. Hasil
dari operator ini adalah nilai bool yaitu hanya berupa true atau false, atau dapat juga dalam nilai
int, 0
untuk mereprensentasikan
"false" dan 1 untuk
merepresentasikan "true".
Operator-operator relasional pada C++ :
== :
Equal
!= :
Different
>
: Greater than
< :
Less than
>= :
Greater or equal than
<= :
Less or equal than
Komunikasi melalui
console
Console merupakan interface dasar pada
computers, biasanya berupa keyboard dan monitor. Keyboard merupakan
alat input standar dan
monitor adalah alat output
standar. Dalam library iostream
C++ , standard operasi input dan output untuk pemrograman didukung oleh 2
data streams: cin untuk
input dan cout untuk
output. Juga, cerr dan clog
sebagai tambahan untuk output
streams yang di
desain khusus untuk
menampilkan error messages. Dapat
diarahkan langsung ke standard output maupun ke log file.
Biasanya cout (standard output
stream) ditujukan untuk
monitor dan cin (standard input stream)
ditujukan untuk keyboard.
Dengan menggunakan dua
streams ini, maka
kita dapat berinteraksi dengan
user dengan menampilkan
messages pada monitor
dan menerima input dari keyboard.
ჱ
Output (cout)
Penggunaan cout stream dhubungkan
dengan operator overloaded
<< (Sepasang tanda
"less than"). Contoh :
cout
<< "Output sentence"; // prints Output sentence on
screen
cout
<< 120; // prints
number 120 on screen
cout
<< x; // prints the
content of
variable
x on screen
Operator << dikenal sebagai
insertion operator, dimana berfungsi untuk menginput data yang
mengikutinya. Jika berupa
string, maka harus
diapit dengan kutip
ganda ("), sehingga membedakannya dari variable.
Operator insertion (<<) dapat digunakan lebih dari 1 kali dalam kalimat
yang sama,
Manfaat
dari pengulangan penggunaan
operator insertion (<<)
adalah untuk menampilkan kombinasi dari satu variabel dan
konstanta atau lebih.
ჱ
Input (cin).
Menangani standard
input pada C++
dengan menambahkan overloaded
operator extraction (>>)
pada cin stream. Harus
diikuti bengan variable
yang akan menyimpan
data. cin akan memproses input
dari keyboard sekali saja dan tombol ENTER harus ditekan. cin juga dapat
digunakan untuk lebih dari satu input. Dalam hal ini data yang di input harus
2, satu untuk variabel a dan lainnya
untuk variabel b yang penulisannya
dipisahkan dengan : spasi, tabular atau
newline.
Struktur Kondisional :
if and else
Digunakan untuk
mengeksekusi sebuah atau
satu blok instruksi
jika kondisi terpenuhi, sintaks:
if (condition) statement condition
merupakan ekspresi yang dievaluasi. Jika kondisi bernilai true, maka statement
akan dijalankan. Jika false,
maka statement akan
diabaikan dan program
menjalankan instruksi selanjutnya.
Contoh, Akan tercetak x is 100 jika nilai yang
disimpan pada variable x adalah 100:
if
(x == 100)
cout
<< "x is 100";
Jika
ada lebih dari
satu instruksi yang
akan dijalankan maka
harus dibuat dalam
blok instruksi dengan menggunakan tanda kurung kurawal { }:
if (x == 100)
{
cout << "x is ";
cout << x;
}
Dapat
juga menggunakan keyword
else, jika kondisi
tidak terpenuhi. Penulisannya digabungkan dengan if :
if
(condition) statement1 else statement2 else statement3
Contoh
:
if (x > 0)
cout << "x is positive";
else if (x < 0)
cout << "x is negative";
else
cout
<< "x is 0";
Akan tercetak x is positive jika nilai x
> 0.
The while loop.
Sintaks :
while
(expression) statement
Fungsi dari statement diatas adalah
mengulang statement jika expression bernilai true.
Contoh : Output
:
// custom countdown
using while Enter
the starting number > 8
#include
<iostream.h> 8,
7, 6, 5, 4, 3, 2, 1, FIRE!
int main ()
{
int n;
cout << "Enter the starting number
> ";
cin >> n;
while (n>0) {
cout << n << ", ";
--n;
}
cout << "FIRE!";
return 0;
}
The do-while loop.
Format:
do
statement while (condition);
Secara
fungsional, hampir sama
dengan while loop, hanya
saja condition dalam do-while dievaluasi
setelah eksekusi statement ,
dengan kata lain,
sedikitnya satu kali
eksekusi statement walaupun kondisi tidak terpenuhi.
Contoh
:
// number echoer
#include
<iostream.h>
int
main ()
{
unsigned long n;
do {
cout << "Enter number (0 to
end): ";
cin >> n;
cout << "You entered: "
<< n << "\n";
} while (n != 0);
return 0;
}
Output :
Enter number (0 to end): 12345
You entered: 12345
Enter number (0 to end): 160277
You entered: 160277
Enter number (0 to end): 0
You entered: 0
0 komentar:
Posting Komentar