Kamis, 07 November 2013

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.


ARGUMEN FUNGSI

Dalam C++, argumen-argumen dari fungsi dapat mempunyai harga default. Jika pada saat fungsi yang mempunyai default argumen ini dipanggil namun argumennya dihilangkan maka kompiler otomatis akan memakai nilai default dari argumen yang dihilangkan tersebut. Jika pada saat dipanggil argumennya diisi maka isi ini yang dipakai. Default argumen ini membuat program menjadi lebih fleksibel, argumen-argumen yang nilai defaultnya tidak perlu diubah tidak perlu diisi namun ada aturan yang perlu diperhatikan.
Bila kita menghilangkan argumen yang pertama maka argumen-argumen selanjutnya juga harus dihilangkan. Kita dapat menghilangkan argumen yang kedua dan mengisi argumen yang pertama. Aturan ini tidak terikat padajumlah argumen. Secara umum aturannya  adalah kalau kita menghilangkan suatu argumen maka kita harus menghilangkan semua argumen dikanannya.
Perhatikan bahwa untuk memanggil fungsi cukup dengan menulis namanya, termasuk tanda kurung dan argumen-argumennya dan diakhiri dengan titik koma (;).


Inline Function 

Inline function dengan cukup menyisipkan kata-kata inline didepan tipe nilai balik fungsi dalam pendefinisian fungsi. Contoh :

inline jumlah (int x, int y)

{

return(x + y);

}

inline function disarankan dipakai pada fungsi yang sering dipanggil dan ukurannya kecil (terdiri satu atau dua pernyataan), terutama jika dilibatkan pada pernyataan pengulangan proses (while, for dan do-while). Misalnya pada bentuk seperti berikut :

for (int i = 1; i < 100; i++)

cout << i << “.” << jumlah (i, 2 * i) << endl;

jika fungsi jumlah () tidak ditulis sebagai inline function, proses tersebut akan menjadi relatif lambat. 

Contoh :
Contoh program :
//*---------------------------------------------------------*
//* Contoh 5.11 : Pembuatan fungsi inline *
//*---------------------------------------------------------*

#include <iostream.h>
#include <conio.h>

// Definisi fungsi sebagai inline
inline int jumlah(int x, int y)

{
return(x + y );
}
void main()
{
clrscr();
for (int i = 1; i < 100; i ++ )
cout << i << “ . “ << jumlah(i, 2 * i) << endl;
}

Nilai Bawaan Untuk Nilai Fungsi

Salah satu keistimewaan C++ adalah adanya kemampuan untuk menyetel nilai bawaan (default) argumen fungsi. Argumen-argumen yang mempunyai nilai bawaan nantinya dapat tidak disertakan didalam pemanggilan fungsi dan dengan sendirinya C++ akan menggunakan nilai bawaan dari argumen yang tidak disertakan.

Contoh program :

//*--------------------------------------------------------------*

//* Contoh 5.7 : Menggambarkan nilai bawaan dalam *

//* argumen fungsi *

//*--------------------------------------------------------------*

#include <iostream.h>

#include <conio.h>

void tulis_cplus(int jum); // Prototipe fungsi

void main()

{

clrscr();

tulis_cplus(1); // Untuk menuliskan sebuah tulisan C++

}

void tulis_cplus(int jum);

{

for (int i = 0; i < jum; i ++)

cout << “ C++ “ << endl;

cout << “ Seleseai “ << endl;

}


Function Overloading

Function Overloading atau Overloading terhadap fungsi memungkinkan sebuah fungsi dapat menerima bermacam-macam tipe dan memberikan nilai balik yang bervariasi pula.

Contoh program :

//*-----------------------------------------------*

//* Contoh 5.12 : Contoh overloading *

//* terhadap fungsi *

//*-----------------------------------------------*

#include <iostream.h>

#include <conio.h>

// Prototipe fungsi

int kuadrat (int i);

long kuadrat(long l);

double kuadrat(double d);

void main()

{

cout << kuadrat(2) << endl;

cout << kuadrat(66666) << endl;



cout << kuadrat(1.2) << endl;

}

// Definisi fungsi

int kuadrat (int i)

{

return(i * i);

}

long kuadrat (long l)

{

return(l * l);

}

double kuadrat (double d)

{

return(d * d);

}



Rekursi

Fungsi dalam C++ dapat dipakai secara rekursi, artinya suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri. Penerapan rekursi diantaranya untuk menghitung nilai :

Xn

Dengan n merupakan bilangan bulat positif. Solusi dari persoalan ini berupa :

Jika n = 1 maka Xn = X

Selain itu : Xn = X * Xn – 1

Contoh program :

//*------------------------------------------------*

//* Contoh 5.13 : Opreasi pangkat secara *

//* rekursi *

//*------------------------------------------------*

# include <iostream.h>

#include <conio.h>

long int pangkat ( int x, int n);

void main()

{

int x, y;

clrscr();

cout << “ Menghitung x ^ y “<< endl;

cout << “ x = “ ;

cin >> x ;

cout << “ y = “ ;

cin >> y ;

cout << x << “ ^ “ << y << endl;

<< pangkat(x, y) << endl;

}

long int pangkat(int x, int n)

{

if (n = = 1 )

return(x);

else

return(x * pangkat(x, n – 1));

Rabu, 06 November 2013

Fungsi Tanpa Nilai Balik

Fungsi Tanpa Nilai Balik

Void 
 Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. 

Ciri-ciri dari jenis fungsi Void adalah sebagai berikut: 

o    Tidak adanya keyword return.
o    Tidak adanya tipe data di dalam deklarasi fungsi.
o    Menggunakan keyword void.
o    Tidak dapat langsung ditampilkan hasilnya.
o    Tidak memiliki nilai kembalian fungsi
 Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.




Pengertian Fungsi ( function )

Pengertian Fungsi ( function )

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.
Tujuan pembuatan fungsi adalah :

1.      Memudahkan dalam pembuatan program.
2.      Menghemat ukuran program. 
Keuntungan memakai fungsi : 

o    Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
o    Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
o    Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
o    Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
o    Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat


o    Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.


Prototype

Function Prototypes
Ada dua jenis fungsi di dalam bahasa C
1.      Fungsi yang mempunyai nilai kembalian (return value)
Seperti kita ketika menulis fungsi matematika y=f(x), kita mempunyai sebuah fungsi dengan nama x yang memproses x untuk menghasilkan suatu nilai yang isinya akan disimpan oleh y.  Ketika dipanggil fungsi jenis ini akan memberikan suatu hasil kembalian.
2.      Fungsi yang tidak mempunya nilai kembalian.
Sering disebut sebagai prosedur. Berisi urutan proses yang tidak memberikan suatu ouput yang dapat ditangkap oleh suatu variable.
Deklarasi dari fungsi ditulis tanpa dengan menyebutkan argumen-argumen fungsinya. Sebenarnya argumen-argumen dari fungsi dan tipe datanya dapat juga dituliskan. Deklarasi seperti ini disebut dengan prototype fungsi.
Suatu fungsi yang memberikan hasil balik (return value) selain integer perlu dideklarasikan sebelum digunakan. Deklarasi fungsi ditulis sebelum fungsi tersebut digunakan. Akan tetapi sebaiknya setiap fungsi dideklarasikan terlebih dahulu.
Deklarasi Fungsi:
tipe nama_fungsi( argumen1, argumen2, … );  // (Tanpa ada badan fungsi atau statement)
Jika suatu fungsi memberikan kembalian suatu nilai, maka nilai hasil balik yang diberikan oleh fungsi dapat dilakukan oleh statement return yang diikuti oleh nilai hasil baliknya yang ditulis tanda kurung. Contoh : return(F);


Semua pengenal (identifiers) di C harus dideklarasikan sebelum digunakan. Hal ini berlaku untuk fungsi serta variabel.Untuk fungsi deklarasi perlu sebelum panggilan pertama dari fungsi tersebut dilakukan.Sebuah deklarasi penuh termasuk tipe return (return type) dan nomor (jumlah) serta jenis argumen. Ini disebut prototipe fungsi.