Jumat, 23 November 2012

BAHASA C++


1. Pengenalan Bahasa C++

Sejarah bahasa C++

Bahasa C merupakan pengembangan dari bahasa B yang ditulis oleh Ken
Thompson pada tahun 1970. Bahasa C untuk pertama kali ditulis oleh
Brian W. Kernighan dan Denies M. Ricthie pada tahun 1972. Bahasa C,
pada awalnya dioperasikan diatas sistem operasi UNIX.
Bahasa C adalah merupakan bahasa pemrograman tingkat menengah
yaitu diantara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut
dengan Bahasa Tingkat Tinggi dengan Perintah Assambly. Bahasa C
mempunyai banyak kemampuan yang sering digunakan diantaranya
kemampuan untuk membuat perangkat lunak, misalnya dBASE, Word Star
dan lain-lain. Pada tahun 1980 seorang ahli yang bernama Bjarne
Stroustrup mengembangkan beberapa hal dari bahasa C yang dinamakan
“C with Classes” yang berganti nama pada tahun 1983 menjadi C++.
Penambahan yang terdapat pada C++ ini adalah Object Oriented
Programming (OOP), yang mempunyai tujuan utamanya adalah
membantu membuat dan mengelola program yang besar dan kompleks.

Contoh Program C :
# include <stdio.h>
Main ( )
{
Char pesan [ ] = “Hai, C programmers !” ;
Printf (pesan) ;
Return 0 ;
}

Contoh Program C++ :
# include <iostream.h>
Main ( )
{
Char pesan [ ] = “Hai, C programmers !” ;
Cout << pesan ;
Return 0 ;

TENTANG C++

C++ diciptakan untuk mendukung pemrograman berorientasi pada
objek (Object Oriented Pragramming/OOP) yang tidak dimiliki C. sementara C
merupakan bahasa pemrograman terbaik dilingkungannya, bahasa ini tidak memiliki kemampuan OOP. Reputasi C tidak diragukan lagi dalam
menghasilkan program .EXE berukuran kecil, eksekusi yang cepat,
antarmuka (interfacing) yang sederhana dengan bahasa lain dan fleksibilitas
pemrograman. Apa yang membuat C tampak sukar dipelajari mungkin karena
tiadanya pemeriksaan tipe. Sebagai contoh, dapat mencampur bilangan bulat
dengan string untuk menghasilkan karakter. Namun, justru dsitu letak
fleksibilitas C, dapat mengolah data C sebebas mengolah data dalam bahasa
assembly.


2. Struktur data bahasa C++
Program C maupun C++ selalu tersusun dari 4 (empat) bagian utama, yaitu :
1. Bagian komentar yang ditandai dengan symbol // dan pasangan /* … */
2. Bagian pengarah compiler yang ditandai dengan symbol #
3. Bagian deklarasi
4. Bagian definisi
a. BAGIAN KOMENTAR
Program yang baik pada umumnya diberi komentar yang akan membantu
orang lain maupun pembuat program itu untuk memahami program yang
dibuat. Dalam C atau C++ setiap tulisan yang diapit oleh symbol /* … */ atau
setiap baris yang dimulai dengan symbol // dianggap komentar. C++ tidak
mengizinkan komentar bersarang ( nested comment), namun Borland C++
lebih fleksibel dalam hal ini.
Contoh C++ menggunakan komentar:
/* FIRST.CPP */
/* Program C++ pertamaku */
// Praproses
# include <iostream.h>
Void main ( )
{
Char pesan [ ] = “Hello, C++ programmers!” ;
Cout << pesan ;
Return 0 ;
}
Pada Borland C++ dapat menggunakan komentar bersarang asalkan opsi cek
Nested comments pada menu Options/Compiler/Source dipilih.

b. BAGIAN PENGARAH KOMPILER
Contoh program C++ :
# include <iostream.h>
Void main ( )
{
Char pesan [ ] = “Hello, C++ programmers!” ;
Cout << pesan ;
Return 0 ;
}
Merupakan statement praprosesor, disebut juga pengarah compiler karena
berfungsi mengatur proses kompilasi.
IOSTREAM.H merupakan file program yang mengandung deklarasi kelaskelas
yang diperlukan oleh objek cout. File-file dengan ekstensi .H yang berisi
deklarasi fungsi-fungsi standar C ini, disebut secara umum sebagai file
header.
Beberapa pengarah compiler adalah :
1. # define
2. # include
3. # if, # else, # elif, # endif
4. # ifdef, # ifndef

- PENGARAH KOMPILER # DEFINE
Untuk mendefinisikan suatu pengenal / konstanta yang nantinya akan
digantikan oleh praprosesor saat program dikompilasi.
Contoh Program :
# define SIZE 30
Int array [SIZE] ;
For (register int i = 0 ; i < SIZE ; i++)
{
Cout << array [ i ] ;
}
- PENGARAH KOMPILER # INCLUDE
Berfungsi membaca file program tertentu dan mengikutsertakan file tersebut
dalam proses kompilasi. Nama file yang dimaksud harus diapit symbol ‘ < ‘
dan ‘ > ‘ atau tanda kutip dua ( “ … “ ).
- PENGARAH KOMPILER # IF, # ELSE, # ELIF, # ENDIF
Digunakan untuk memilih bagian program yang akan dikompilasi. Kompilasi
cari ini disebut kompilasi bersyarat dan program yang baik biasanya
memanfaatkan teknik ini.
- PENGARAH KOMPILER # IFDEF, # IFNDEF
Digunakan juga dalam kompilasi bersyarat. # Ifdef dapat dibaca : ‘jika
didefinisikan’ dan # ifndef dapat dibaca : ‘jika tidak didefinisikan’.
Pengarah compiler ini sering digunakan untuk menandai bahwa suatu file
sudah diikutsertakan dalam kompilasi

c. BAGIAN DEKLARASI DAN DEFINISI
Semua program C pada dasarnya tersusun dari rangkaian
pemanggilan fungsi yang bekerja atas sekelompok data. Selain pemanggilan
fungsi, program C mengandung komponen lain yang disebut statement.
Statement C ada dua, yaitu : statement yang tidak dapat dieksekusi / non
executable ( bila dikompilasi tidak menghasilkan kode objek dan biasanya
digunakan untuk mengatur alur program), dan statement yang dapat
dieksekusi / executable (bila dikompilasi akan menghasilkan kode objek).
Setiap pemanggilan fungsi maupun statement executable dalam C harus
diakhiri dengan tanda titik koma ( ; ).
Contoh program C++:
# include <iostream.h>
Void main ( )
{
Char pesan [ ] = “Hello, C++ programmers!” ;
Cout << pesan ;
Return 0 ;
}
Dalam contoh program C++ diatas, Return merupakan contoh
statement executable yang menginstruksikan agar suatu fungsi
mengembalikan nilai balik tertentu. Contoh statement non executable adalah :
If, else, dan while.
Main ( ) merupakan contoh fungsi, sedangkan pesan adalah contoh
data. Baik data maupun fungsi harus dideklarasikan. Data perlu
dideklarasikan agar compiler tahu berapa byte memori yang harus disediakan
untuk data yang bersangkutan, sedangkan fungsi perlu dideklarasikan agar
compiler dapat memeriksa ketepatan pemanggilan fungsi yang bersangkutan.
Deklarasi fungsi sering disebut pula prototype fungsi.


3. Tipe Data
Tipe data yang ada pada C++, berikut nilai kisaran yang dapat direpresentasikan    :

DATA TYPES
Name
Bytes*
Description
Range*
char
1
character or integer 8 bits length.
signed: -128 to 127
unsigned: 0 to 255
short
2
integer 16 bits length.
signed: -32768 to 32767
unsigned: 0 to 65535
long
4
integer 32 bits length.
signed:-2147483648 to 2147483647
unsigned: 0 to 4294967295
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)
double
8
double precision floating point number.
1.7e + / - 308 (15 digits)
long double
10
long double precision floating point number.
1.2e + / - 4932 (19 digits)
bool
1
Boolean value. It can take one of two values: true or false NOTE: this is a type recently added by the ANSI-C++ standard. Not all compilers support it. Consult section bool type for compatibility information.
true or false
wchar_t
2
Wide character. It is designed as a type to store international characters of a two-byte character set. NOTE: this is a type recently added by the ANSI-C++ standard. Not all compilers support it.
wide characters



4. Konstanta
Konstanta adalah ekspresi dengan nilai yang tetap. Terbagi dalam Nilai Integer,  Nilai Floating-Point, Karakter and String


5. 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 dapata 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 :
                                                                                   
// operating with variables    
#include <iostream.h>                                         
 
int main ()
{
  // declaring variables:
  int a, b;
  int result;
 
  // process:
  a = 5;
  b = 2;
  a = a + 1;
  result = a - b;
  Hasil    :
 4

6. Input dan output
Di ANSI C, operasi input dan output dilakukan dengan menggunakan
fungsi-fungsi yang ada di header file stdio.h. contohnya untuk input dan
output ke layer monitor digunakan perintah seperti printf, scanf, putch, dsb.
Untuk input dan output ke file digunakan perintah seperti fread, fwrite, fputc,
dsb.
C++ mempunyai teknik input dan output yang baru, yaitu :
menggunakan stream. Header file untuk input dan output stream adalah
iostream.h dan beberapa file lain, seperti strstrea.h, fstream.h, dan
constrea.h.
Stream adalah suatu logika device (peralatan logika) yang
menghasilkan dan menerima informasi atau suatu wadah yang digunakan
untuk menampung keluaran dan menampung aliran data. Stream adalah
nama umum untuk menampung aliran data (contoh : file, keyboard, mouse),
maupun untuk keluaran (contoh : layer, printer).
Dalam C++ input berarti membaca dari stream dan output berarti
menulis ke stream.
Bentuk Umum Output operator :
Cout << ekspresi ;
Bentuk umum Input operator :
Cin >> variable ;
Dalam C++, menggunakan escape sequences untuk
merepresentasikan suatu karakter yang tidak terdapat dalam tradisional
symbol. Beberapa diantaranya :
\ n : linefeed / baris baru
\ b : back space
\ “ : petik ganda
Contoh program C++ :
# include <iostream.h>
Void main ( )
{
Int x ;
Cout << “Masukkan sebuah bilangan : ” << endl ;
Cin >> x ;
cout << “Bilangan yang dimasukkan adalah “ << x << endl ;
}
Contoh Program untuk input dan output :
# include <iostream.h>
Main ( )
{
Int a ;
Cout << “masukkan suatu bilangan :” ;
Cin >> a ;
Cout << “nilai tersebut ditambah 1 = ‘ << a+1 ;
Return 0 ;
}


7. Operasi Aritmatika
Operator Aritmatika merupakan operator yang digunakan untuk fungsi/operasi matematika, operator aritmatika dasar untuk C++ dan tanpa proses include :
* : untuk perkalian
/ : untuk pembagian
% : untuk sisa hasil bagi (modulus)
+ : untuk penjumlahan
- : untuk pengurangan


8. Operator Logika
Operator logika merupakan operator yang membandingkan hubungan antara dua hasil dari operasi pembanding. Operator logika membandingkan logika hasil dari dua operasi pembanding dan akan melakukan operasi khusus apabila bernilai benar dan apabila bernilai salah maka akan melakukan sebaliknya. Operator yang digunakan dalam operasi logika ada tiga yaitu :

Logika
Keterangan
&&
Logika dan (AND)
||
Logika or (ATAU)
!
Logika not (INGKARAN)


9. Operator penyeleksi kondisi
PERNYATAAN IF-ELSE
Pernyataan Percabangan If-Else digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain:

1. Pernyataan If-Else

Bentuk umum dari pernyataan If-Else
if(kondisi)
{
statement 1;
}
else
{
statement 2;
}

Ket :
·                     Kondisi adalah pernyataan relasi yang akan diuji kebenarannya. Kondisi bisa berbentuk pernyataan relasi tunggal maupun pernyataan relasi majemuk yang dihunbungkan dengan operator logika.
·                     Statement adalah satu atau lebih perintah yang akan dikerjakan jika kondisi bernilai benar.
Kesimpulan:
Pernyataan if mempunyai pengertian, "Jika kondisi bernilai benar, maka statement 1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan statement 2".

2. Pernyataan If-Else Multi Kondisi

Kondisi yang diperiksa di dalam perintah if bisa berupa kumpulan operasi yang dihubungkan dengan satu atau lebih operator logika.
Bentuk umum If-Else Multi Kondisi.
if(kondisi1 &&/|| kondisi2 .......dst)
{
statement;
}
.....dst

Ket:
·                     Kondisi 1, kondisi 2, dst adalah beberapa pernyataan relasi yang akan diuji kebenarannya. Hasil akhir dari seluruh kondisi inilah yang akan menentukan apakah blok statement akan dikerjaka atau tidak.
·                     Operator "&&" digunakan untuk menghubungkan dua relasi dengan logika AND. Hasil akhir akan bernilai benar apabila kedua kondisi benar. Dan bernilai salah apabila kedua kondisi atau salah satu kondisi bernilai salah.
·                     Operator "||" digunakan untuk menghubungkan dua relasi dengan logika OR. Hasil akhir akan bernilai benar apabila kedua kondisi benar atau salah satunya benar. Dan bernilai salah apabila kedua kondisi bernilai salah.

3. Pernyataan Nested If-Else

Percabangan If-Else secara Nested merupakan sebuah struktur percabangan bisa saja berada di dalam struktur percabangan yang lain, demikian terus tanpa batas, disesuaikan dengan persoalan yang dihadapi. Diproses atau tidaknya percabangan yang berada di bagian dalam ditentukan oleh diproses-tidaknya percabangan bagian luar.

Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(kondisi 1)
{
if(kondisi 1-1)
{
statement 1.1;
}
else
{
statement 1.2;
}
}
else
{
if(kondisi 2-1)
{
statement 2.1;
}
else
{
statement 2.2;
}
}

Kesimpulan:
Pernyatan Nested If-Else memiliki pengertian,
·                     "Jika kondisi 1 bernilai benar, dan jika kondisi 1-1 bernilai benar, maka akan mengerjakan statement 1.1" Apabila kondisi 1-1 bernilai salah, maka akan mengerjakan statement 1.2".
·                     "Jika kondisi 1 bernilai salah, dan jika kondisi 2-1 bernilai benar, maka akan mengerjakan statement 2.1" Apabila kondisi 2-1 bernilai salah, maka akan mengerjakan statement 2.2".
Penyataan switch case
   Penyataan percabangan kedua yang dimiliki Java adalah switch. Pernyataan switch lebih jarang digunakan, tetapi sering bermanfaat apabila kita ingin menuliskan percabangan multi arah.
Di sini pernyataan switch akan mencari nilai ekspresi yang sesuai dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai ditemui, maka program akan melompat ke cabang case tersebut dan melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program akan melompat ke perintah yang terdapat pada pernyataan default.

   Catatan ekspresi hanya bisa berbentuk nilai bilangan bulat (int, short, dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch untuk mengevaluasi ekspresi yang berbentuk String.

   Pernyataan break di atas sebetulnya tidak harus selalu ada. Tetapi, perintah break di sini memerintahkan komputer agar segera keluar dari blok switch apabila perintah tersebut telah selesai dilaksanakan.

   Apabila perintah break tidak diberikan, maka program akan terus mengeksekusi perintah lain meskipun sudah berada di luar nilai yang tertera dalam pernyataan casenya.

10. Operator Pengulangan

PROSES LOOPING

- LOOP FOR
Loop adalah pengulangan perintah-perintah sampai mencapai keadaan tertentu. Turbo C mempunyai 3 jenis loop, yaitu :
· for
· while
· do – while

Bentuk umum Loop For :
for (inisialisasi; syarat; penambahan) pernyataan;

Keterangan :
·   Inisialisasi adalah pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
·  Syarat adalah ekspresi relasional yang menyatakan berhentinya pengulangan.
·  Penambahan menyatakan perubahan variabel kontrol setiap terjadi pengulangan. Setiap bagian harus dipisahkan oleh tanda titik koma.

Contoh :
main()
{
int i;
clrscr();
for (i=1; i <=5 ; i++) printf(“%d \n”,i);
getch();
}

Pada program tersebut :
Inisialisasi : i = 1
Syarat : i <= 5
Penambahan : i++ , artinya ditambah 1

Hasil :
1
2
3
4
5

- OPERATOR PENAMBAH DAN PENGURANG
C mempunyai dua operator khusus yaitu penambah (++) dan pengurang (–), contoh :
i ++ sama dengan i = i + 1
i — sama dengan i = i – 1
Operator penambah dan pengurang dapat dituliskan di depan atau dibelakang, tetapi mempunyai arti yang berbeda. Jika operator diletakkan di depan, C akan melakukan penambahan atau pengurangan sebelum memakai nilai operator. Jika diletakkan di belakang, C akan memakai nilai operator lalu menambah atau mengurangi variabel.
Contoh :
x = 10 x = 10
y = ++x y = x++
hasil : 11 hasil : 10

Contoh :
main()
{
int i;
clrscr();
for (i=5; i > 0 ; i–) printf(“%d \n”,i);
getch();
}

Contoh :
#include
main()
{
int i, kuadrat, jumlah;
float akar;
char garis[35] = “——————————-”;
clrscr();
printf(“Tabel Kuadrat dan Akar Kuadrat \n”);
printf(“%s\n”,garis);
printf(“Bilangan Kuadrat Akar Kuadrat\n”);
printf(“%s\n”,garis);
for (i=1; i<=10; i++)
{
kuadrat = i * i;
akar = sqrt(i);
printf(” %2d %3d %6.4f \n”,i,kuadrat,akar);
}
printf(“%s\n”,garis);
getch();
}

- VARIASI LOOP – FOR
Kita dapat memakai beberapa variabel kontrol di dalam loop for,
contoh :
main()
{
int x,y;
clrscr();
for (x=0,y=0; x+y<=20; x++,++y) printf(“%d\n”,x+y);
getch();
}
Program di atas mencetak bilangan 0 sampai 20. Perhatikan pernyataan for di atas.
Inisialisasi : x=0, y=0
Syarat : x+y <= 20
Penambahan : x++, y++
Tanda koma dipakai untuk memisahkan dua pernyataan di dalam sebuah bilangan. Misalnya di bagian inisialisasi ada pernyataan x=0 dan y=0. Tanda koma berarti lakukan ini dan ini

- LOOP BERSARANG
Perhatikan contoh program berikut :
main()
{
int i,j;
clrscr();
for (i=1 ; i <= 3 ; i++)
{
for (j=1 ; j <= 5 ; j++ ) printf(“*”);
printf(” \n”);
}
getch();
}
Dari contoh tersebut dapat kita simpulkan bahwa variabel i menyatakan baris dan variabel j menyatakan kolom.

- PENGULANGAN DENGAN WHILE DAN DO-WHILE
LOOP WHILE
Bentuk umum :
while (syarat) pernyataan;
Pernyataan pada loop while dapat berupa sebuah pernyataan atau blok pernyataan atau pernyataan kosong. Pernyataan akan diulang selama syarat benar,
contoh :
main()
{
int i;
clrscr();
i=1;
while (i <= 5)
{
printf(“STI&K\n”);
i=i+1;
}
getch();
}
Loop while menyatakan bahwa pengulangan akan dilakukan terus selama syarat terpenuhi.

- LOOP DO WHILE
Loop for dan while akan mengecek syarat pengulangan pada awal loop. Loop do-while mngecek syaratnya pada akhir pengulangan. Loop do-while akan selalu dikerjakan minimal sekali. Loop do-while menyatakan bahwa pengulangan akan dilakukan selama syarat terpenuhi.
Bentuk umum :
do
{
statemen;
statemen;
} while (syarat)
Bentuk umum untuk loop do-while adalah pada rutin pemilihan menu, sebab menu selalu dikerjakan minimal sekali,
contoh :
main()
{
int no_menu;
do
{
clrscr();
printf(“\n Menu Hari Ini “);
printf(“\n ——————”);
printf(“\n 1. Nasi Goreng “);
printf(“\n 2. Nasi Soto Ayam “);
printf(“\n 3. Gado-Gado “);
printf(“\n 4. Bubur Ayam “);
printf(“\n\n Masukkan pilihan Anda…! (0 = Selesai) “);
scanf(“%d”,&no_menu);
switch (no_menu)
{
case 1 :
printf(“\n Nasi Goreng Rp. 5000,-”);
break;
case 2 :
printf(“\n Nasi Soto Ayam Rp. 6000,-”);
break;
case 3 :
printf(“\n Gado-Gado Rp. 4000,-”);
break;
case 4 :
printf(“\n Bubur Ayam Rp. 3500,-”);
break;
case 0 :
printf(“\n Selesai.. Terima kasih..!”);
break;
default :
printf(“\n\n Pilihan Anda Salah…!”);
}
getch();
}while (no_menu != 0);
}

11. Array

Array adalah himpunan elemen (variable) dengan tipe yang sama dan disimpan secara berurutan dalam memory yang ditandai dengan memberikan index pada suatu nama variable. Contohnya, kita dapat menyimpan 5 nilai dengan tipe int tanpa harus mendeklarasikan 5 identifier variabel yang berbeda. Perhatikan contoh dibawah ini 

Bagian kosong diatas merepresentasikan elemen  array, dalam kasus ini adalah nilai integer. Angka 0 - 4 merupakan index dan selalu dimulai dari 0. Seperti penggunaan variable pada umumnya, array harus dideklarasikan terlebih dahulu, dengan format sbb       :
type name [elements];
Maka contoh array diatas dideklarasikan sbb   :
int billy [5];

12. Fungsi
Function/fungsi adalah satu blok kode yang melakukan tugas tertentu
atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain
dalam suatu program.
Bentuk umum deklarasi fungsi :
Tipenilaibalik fungsi (tipepara, … ) ;
Keterangan :
- tipenilaibalik =
tipe nilai yang dikembalikan dengan statemen ‘return’. Tipe default nya
: ‘int’. Untuk menyatakan fungsi yang tidak mengembalikan nilai balik,
dideklarasikan sebagai : ‘void’
- fungsi =
nama fungsi tersebut
- tipepara =
tipe parameter, bila parameter lebih dari satu (1), masing-masing
dipisahkan dengan tanda koma ( , )
untuk menyatakan fungsi tanpa parameter dispesifikasikan : ‘void’. Bila
tipe parameter tidak dispesifikasikan, defaultnya : ‘void’
Fungsi harus dideklarasikan terlebih dahulu sebelum didefinisikan.
Maksudnya adalah memberitahu compiler jumlah dan tipe parameter yang
diterima dan nilai balik fungsi (bila ada) agar compiler dapat memeriksa
ketepatannya. Definisi fungsi itu sendiri adalah menspesifikasikan tugas
fungsi tersebut.
Contoh 1 - program fungsi :
# include <iostream.h>
Int tambah (int a, int b )
{
Int r ;
r = a + b ;
return 0 ;
}
Int main ( )
{
Int z ;
z = tambah ( 5,3 ) ;
cout << “Hasilnya = ‘ << z ;
return 0 ;
}
Contoh 2 – program fungsi tanpa tipe :
# include <iostream.h>
Void contoh (void)
{
Cout << “ ini adalah FUNGSI “ ;
}
Int main ( )
{
Contoh ( ) ;
Return 0 ;
}
PARAMETER FUNGSI
Parameter fungsi ada 2, yaitu : parameter formal dan parameter actual.
1. Parameter Formal
Parameter yang dideklarasikan dibagian blok fungsi.
2. Parameter Aktual
Parameter yang sebenarnya / parameter yang dilewatkan saat fungsi
dipanggil.
Contoh program yg menunjukkan parameter formal dan actual :
# include <iostream.h>
Int tambah (int a, int b) // parameter formal
{
Int r ;
r = a + b ;
return 0 ;
}
Int main ( )
{
Int x, y, z ;
Cin >> x >> y ;
z = tambah ( x , y ) ; //parameter aktual
cout << “Hasilnya = ‘ << z ;
return 0 ;
}
PARAMETER FUNGSI PASS BY VALUE
Parameter yang diberikan ke fungsi adalah ‘Nilainya’, tidak pernah
menspesifikasikan variabelnya. Bila ada perubahan pada parameter formal,
tidak akan mempengaruhi nilai pada parameter actual.

PARAMETER FUNGSI PASS BY REFERENCE
Memanipulasi nilai dari dalam fungsi. Setiap perubahan terhadap
parameter formal akan memepengaruhi nilai pada parameter actual.
Parameter formal diberi symbol ‘&’. Cara ini adalah cara efektif yang
memungkinkan sebuah fungsi mengembalikan lebih dari satu nilai.
Contoh program :
# include <iostream.h>
Void perkalian (int& a, int& b, int& c)
{
a *= 2 ; b *= 2 ; c *= 2 ;
}
Int main ( )
{
Int x = 1, y = 3, z = 7 ;
Perkalian ( x, y, z ) ;
Cout << “ X = “ << x << “ Y = “ << y << “ Z = “ << z ;
Return 0 ;
}
Outputnya :
X = 2 Y = 6 Z = 14
Contoh program :
# include <iostream.h>
Void prevnext (int x, int& prev, int& next)
{
prev = x – 1 ;
Next = x + 1 ;
}
Int main ( )
{
Int x = 100 , y, z ;
Prevnext ( x, y, z ) ;
Cout << “ Previous = “ << y << “ , Next = “ << z ;
Return 0 ;
}
Outputnya :
Previuos = 99, Next = 101
Saat pendeklarasian fungsi dapat langsung diberikan nilai default untuk setiap
parameter.
Contoh program :
# include <iostream.h>
Int pembagian (int a, int b = 2)
{
Int r ;
r = a / b ;
Return ( r ) ;
}
Int main ( )
{
Cout << pembagian ( 12 ) ;
Cout << endl ;
Cour << pembagian ( 20, 4) ;
Return 0 ;
}


Sumber:
- Pdf tugas PTI 19nov 2012
- http://liatyonly.blogspot.com/2009/11/pengulangan-di-c.html
- artikel c++ Universitas Islam Indonesia