Anda di halaman 1dari 12

BAB 1

PENGENALAN C++

1.1 Pendahuluan

Pada mulanya bahasa komputer digunakan untuk membantu dalam

melakukan perhitungan-perhitungan telemetri. Ketika itu, bahasa

yang digunakan masih primitif sekali karena masih berupa bahasa

mesin yang hanya mengenal angka 1 dan 0. Selanjutnya bahasa

mesin tersebut disederhanakan menjadi bahasa yang agak

dipahami dengan menghadirkan statemen-statemen khusus yang

disebut dengan sitilah mnemonic seperti ADD, MOV, JMP dan yang

lainnya. Bahasa ini disebut dengan bahasa assembly yang masih

termasuk ke dalam bahasa tingkat rendah (low level language).

Tahun 1969, laboratorium Bell AT&T di Muray Hill, New Jersey

menggunakan bahasa assembly ini untuk mengembangkan sistem

operasi UNIX. Maksudnya adalah untuk membuat sistem operasi

yang dapat bersifat ‘programmer-friendly’. Setelah UNIX berjalan,

Ken Thompson, seorang pengembang sistem di laboratorium

tersebut mengembangkan bahasa baru dengan nama bahasa B.

Huruf B ini diambil dari BCPL. Bahasa ini kemudian digunakan

untuk menulis ulang atau merevisi sistem operasi UNIX. Oleh

karena bahasa B ini masih bersifat interpret dan lambat, maka pada

tahun 1971, sistem operasi UNIX kemudian ditulis ulang dengan


menggunakan bahasa C, yaitu bahasa pemrograman yang dikembangkan

oleh Dennis Ritchie, seorang pengembang sistem di

laboratorium yang sama.

Sampai sekarang bahasa C masih digunakan untuk melakukan

pengembangan-pengembangan program dan sistem-sistem

operasi, diantaranya sistem operasi Windows. Alasan itulah yang

menjadikan bahasa C sangat populer di dunia pemrograman

khususnya untuk industri perangkat lunak. Namun sayangnya

bahasa C merupakan bahasa yang masih bersifat prosedural murni. Untuk

membentuk suatu objek, kita harus melakukan banyak sekali

penulisan kode. Hal ini tentu dapat dikatakan sebagai sebuah

kelemahan. Untuk mengatasi masalah ini, pada tahun 1983, seorang

doktor bernama Bjarne Stroustrup yang juga bekerja di laboratorium

yang sama menciptakan bahasa baru yaitu bahasa C++ yang

merupakan bahasa hibryd dari bahasa C.

Bahasa C++ didasarkan atas bahasa C sehingga kita dapat

melakukan kompilasi program-program yang ditulis dalam bahasa

C dengan menggunakan kompiler C++. Keistimewaan dari bahasa

C++ adalah karena bahasa ini mendukung pemrograman berorientasi

objek atau lebih sering dikenal dengan Object Oriented

Programing (OOP).

1.2 C dan C++

Seperti telah dikemukakan sebelummnya bahwa kedua bahasa ini (C


dan C++) merupakan bahasa yang sangat populer dalam dunia

pengenmbangan perangkat lunak. Kedua bahasa ini digolongkan ke

dalam bahasa tingkat menengah (middle level language). Sisi lain,

yaitu di sisi akademis, seorang professor yang bernama

Niklaus Wirth di Politeknik Zurich, Swiss, mengembangkan bahasa tingkat

tinggi (high level language) yang disebut dengan bahasa Pascal

untuk mengajarkan algoritma kepada para mahasiswanya. Maka

dari itu, dilingkungan akademis bahasa Pascal lebih populer

dibandingkan bahasa C atau C++. Sebagai bahan pengetahuan

bagi anda, berikut ini pengelompokan tingkatan dari bahasa

pemrograman.

Bahasa Tingkat Tinggi :

• Ada
• Modula-2
• Pascal
• COBOL
• FORTRAN
• BASIC

Bahasa Tingkat Menengah :

• Java
• C++
• C
• FORTH

Bahasa Tingkat Rendah :

• Macro-Assembler
• Assembler

Dari pengelompokan tersebut dapat kita lihat bahwa bahasa pemrograman


yang terdapat pada bagian paling atas merupakan bahasa

pemrograman yang paling mudah untuk dipahami. Sebagai contoh,

C adalah bahasa yang lebih sulit dibandingkan C++ dan C++

adalah bahasa yang lebih sulit dibandingkan dengan bahasa Java.

dan seterusnya.

Semenjak dikembangkan, bahasa C dan C++ banyak digunakan

untuk mengembangkan program-program aplikasi di bidang

telekomunikasi, finansial atau bisnis dan sistem operasi. Bahkan

sampai saat ini, pembuatan program-program untuk permainan

komputer (game) sebagian besar masih menggunakan bahasa

C/C++.

Menurut Bjarne Stroustrup (pencipta C++), alasan mengapa C

diambil sebagai bahasa dasar dari pembentukan bahasa C++

adalah sebagai berikut :

• Dapat dihubungkan dengan bahasa tingkat rendah


• Berjalan dimanapun dan untuk masalah apapun
• Berjalan mulus dalam sistem operasi UNIX

1.3 Konsep Kompilasi dan Eksekusi Program

Sebelum melangkah

lebih jauh dengan kode program (source


Kode Program code)
(Source Code)

pembentukan program

C++, maka sebaiknya


Preprocessor
kita mengetahui terlebih

dahulu konsep dari

Kompiler
sebuah kompilasi dan kode assembly

eksekusi program di Assembler

dalam C/C++. Berikut

ini gambar yang meng-

ilustrasikan proses kom- library

pilasi dan eksekusi prog- kode objek

ram di dalam C/C++.

Link Editor

1.3.1 Preprocessor

Mula-mula kode program

akan dimasukkan ke

bagian preprocessor, yaitu

yang diawali dengan

tanda # (pound) dan

menhasilkan file yang

akan dilewatkan ke

dalam kompiler. Bebe-

rapa preprocessor terse-

but diantaranya adalah File EXE

sebagai berikut.

• #include
• #define
• ifdef
• dan lain-lain

Pembahasan lebih lanjut mengenai preprocessor ini dapat anda lihat

pada bab preprocessor directive.


1.3.2 Kompiler C++

Kompiler akan menerjemahkan kode program yang telah dilewatkan

oleh preprocessor ke dalam bahasa assembly.

1.3.3 Assembler

Assembler menerima keluaran dari kompiler C++ dan akan

membuat sebuah kode objek. Jika dalam kode program kita tidak

menggunakan fungsi-fungsi yang terdapat pada library lain, maka

kode objek ini akan langsung dieksekusi menjadi file EXE.

1.3.4 Link Editor

Bagian ini dikerjakan jika kode program yang kita buat

menggunakan fungsi-fungsi luar yang disimpan dalam suatu library

lain. Link Editor akan mengkombinasikan kode objek dan library

yang ada untuk menjadikan sebuah file EXE.

1.4 Kerangka Program

Setiap program yang ditulis dalam bahasa C/C++ pasti akan

memiliki sebuah fungsi utama dengan nama main() . Selanjutnya

jika kita ingin mendefinisikan fungsi-fungsi lain maka kita akan

melakukannya di luar fungsi utama tersebut. D C++, kode

yang dibaca adalah kode-kode yang terdapat pada fungsi utama.

Jika ternyata terdapat pemanggilan fungsi lain, maka program akan

mencari nama fungsi tersebut untuk dieksekusi. Setelah

mengeksekusi fungsi tersebut, maka program akan kembali ke

dalam fungsi utama, begitu seterusnya.


Sebagai bahan perbandingan, dibawah ini akan diberikan

kerangka umum yang ditulis dalam bahasa C dan C++. Maksudnya

agar anda dapat membedakan mana yang harus dilakukan dan

mana yang sebaiknya ditinggalkan dalam membuat program di

dalam C++. Berikut ini kerangka umum dari program yang ditulis

dalam bahasa C.

#include <stdio.h>

// Prototype fungsi

tipe_data nama_fungsi1 (parameter1, parameter2, ...)

tipe_data nama_fungsi2 (parameter1, parameter2, ...)

...

//fungsi utama

int main (void) {

Statemen_yang_akan_dilakukan;

...

return 0;

// Implementasi Fungsi

tipe_data nama_fungsi1 (parameter1, parameter2, ...) {

Statemen_yang_akan_dilakukan;

...

tipe_data nama_fungsi2(parameter1, parameter2, ...) {

Statemen_yang_akan_dilakukan;

...

Perhatikan kata kunci void diatas, di dalam bahasa C itu masih


banyak digunakan, namun di dalam program C++ sebaiknya

hindari penggunaannya, karena hal itu merupakan redundan.

sedangkan nilai 0 pada statemen return 0 diatas berfungsi

untuk mengembalikan nilai ke sistem operasi. Prototype di atas

bersifat opsional, artinya kita juga diizinkan untuk mendefinisikan

fungsi-fungsi sebelum menulis fungsi utama tanpa menuliskan

prototype. Selain bentuk diatas kita juga diizinkan untuk

menuliskan fungsi utama seperti sintaks di bawah ini.

void main () {

Statemen_yang_akan_dilakukan;

...

Sintaks diatas berlaku juga untuk bahasa C++. Namun di dalam

buku ini, sintaks yang akan digunakan untuk menuliskan fungsi

utama adalah sebagai berikut.

int main() {

Statemen_yang_akan_dilakukan;

...

return 0;

Adapun kerangka lengkap dari program yang ditulis dalam C++

adalah seperti terlihat di bawah ini.


#include <iostream.h>

// prototype fungsi

tipe_data nama_fungsi1(parameter1, parameter2, ...);

tipe_data nama_fungsi2(parameter1, parameter2, ...);

...

// fungsi utama

int main() {

Statemen_yang_akan_dilakukan;

...

return 0;

// Implementasi fungsi

tipe_data nama_fungsi1(parameter1, parameter2, ...) {

Statemen_yang_akan_dilakukan;

...

tipe_data nama_fungsi2(parameter1, parameter2, ...) {

Statemen_yang_dilakukan;

...

Perlu sekali untuk diperhatikan bahwa file header yang digunakan

di dalam bahasa C++ untuk proses input/output (I/O) standar

adalah iostream.h, sedangkan di dalam bahasa C file header yang

digunakan untuk keperluan yang sama adalah stdio.h.

Untuk lebih memahaminya, berikut ini dituliskan dua buah program

sederhana yang masing-masing ditulis di dalam bahasa C dan

C++.

1.4.1 Program yang Ditulis dalam Bahasa C


#include <stdio.h>

int main (void) {

int X;

/* Menampilkan teks untuk informasi */

printf(“Masukkan Sebuah bilangan bulat : “);

/* Membaca nilai dari keyboard dan menyimpannya kedalam variable X */

scanf (“%d”, &X);

/* Menampilkan nilai yang telah dimasukkan */

printf(“Bilangan yang telah Anda masukkan adalah %d”, X);

return 0;

Contoh hasil yang akan diberikan dari program diatas adalah

sebagai berikut :

Masukkan sebuah bilangan bulat : 5

Bilangan yang telah anda masukkan adalah 10

1.4.2 Program yang ditulis dalam bahasa C++

#include <iostream.h>

int main () {

int X;

// Menampilkan teks untuk informasi //

cout<<“Masukkan Sebuah bilangan bulat : “;

// Membaca nilai dari keyboard dan menyimpannya

// kedalam variable X

cin>>X;

// Menampilkan nilai yang telah dimasukkan

printf<<”Bilangan yang telah Anda masukkan adalah ”<<X;

return 0;

Contoh hasil yang akan diberikan dari program diatas adalah

sebagai berikut :
Masukkan sebuah bilangan bulat : 10

Bilangan yang Anda masukkan adalah

1.5 File .H (Header File)

File header (file dengan ekstensi .h) adalah file yang berisi fungsi-

fungsi dan telah dikompilasi sebelumnya. Apabila kita akan

menggunakan suatu file header tertentu, maka kita akan

mendaftarkannya melalui directive #include. Sebagai contoh, di

dalam kode program, kita akan menggunakan cout dan cin.

sedangkan kita tahu bahwa keduanya terdapat dalam file header

iostream.h, maka kita akan melakukan pendaftaran dalam

program kita melalui sintaks berikut.

#include <iostream.h>

1.6 C++ Klasik dan C++ Modern

Pada bagian ini kita akan membahas sekilas tentang perbedaan

yang terdapat dalam kompiler C++ lama (klasik) dengan C++

modern (yang telah memenuhi standar ANSI/ISO). Perbedaan

yang paling tampak adalah pada kompiler C++ lama masih

menggunakan namespace global, sedangakn pada C++ modern

yang digunakan adalah namespace std. Hal inilah yang

menyebabkan terdapatnya sedikit perbedaan penulisan antara

C++ lama dan standar. Untuk lebih memahaminya, berikut ini

kerangka umum penulisan program yang digunakan dalam C++


lama dan C++ standar.

1.6.1 Pada Kompiler C++ Lama

#include <iostream.h>

int main() {

...

return 0;

1.6.2 Pada Kompiler C++ Standar


#include <iostream>

using namespace std;

int main() {

...

return 0;

Seperti yang kita lihat bahwa pada C++ standar penulisan file

header iostream sudah tidak diikuti lagi dengan ekstensi .h.

Dalam buku ini kita akan selalu menggunakan bentuk kedua, yaitu

bentuk yang telah memenuhi standar penulisan kode untuk C++

standar. Namun perlu diperhatikan bahwa untuk menuliskan kode

yang menggunakan bentuk kedua, diperlukan pula kompiler C++ yang

telah mendukung semua fitur yang terdapat dalam C++ standar.

Anda mungkin juga menyukai