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.
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
argument 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 ()
{
cout << " Hello World ";
return 0;
}
Atau dapat juga dituliskan :
int main () { cout << " Hello World "; 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 */.
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++. Diawah ini
adalah key word dalam C++ :
Asm
|
auto
|
bool
|
break
|
case
|
Catch
|
char
|
class
|
const
|
const_cast
|
continue
|
default
|
delete
|
do
|
double
|
dynamic_cast
|
else
|
enum
|
explicit
|
extern
|
False
|
float
|
for
|
friend
|
goto
|
If
|
inline
|
int
|
long
|
mutable
|
namespace
|
new
|
operator
|
private
|
protected
|
Public
|
register
|
reinterpret_cast
|
return
|
short
|
Signed
|
sizeof
|
static
|
static_cast
|
struct
|
Switch
|
template
|
this
|
throw
|
true
|
Try
|
typedef
|
typeid
|
typename
|
union
|
unsigned
|
using
|
virtual
|
void
|
volatile
|
wchar_t
|
|
|
|
|
Sebagai tambahan, represetasi alternatif dari operator, tidak
dapat digunakan sebagai identifier. Contoh :
and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor,
xor_eq
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 nilai kisaran yang dapat
direpresentasikan :