Minggu, 10 Maret 2013

Fungsi (FUNCTION) dalam bahasa C++


              Fungsi, atau dalam beberapa literatur ada yang mengistilahkan subrutin, subprogram maupun prosedur, adalah salah satu teknik pemrograman untuk meningkatkan modularitas program yang akan dibuat. Semakin besar tingkat modularitasnya, maka kecenderungannya adalah program itu akan relatif semakin baik. Karena program yang size-nya besar, banyak baris kode, akan dipecah menjadi modul-modul yang ukurannya lebih kecil. Beberapa keuntungannya adalah dalam hal efisiensi dan kemudahan dalam debugging. Bagian tugas-tugas yang sama cukup dengan menuliskan kode program satu kali saja tetapi bisa dipanggil/ dijalankan berulang kali sepanjang program. Di sisi lain, jumlah baris kode program yang semakin sedikit akan memudahkan dalam menelusuri kesalahan yang ditemukan. Penggunaan konsep fungsi juga akan mengakibatkan isi dari void main() akan menjadi semakin ringkas.
Hampir sama dengan konsep fungsi dalam bahasa pemrograman lain, fungsi dalam bahasa C++ juga terdiri dari komponen yang disebut dengan HEADER fungsi dan BADAN fungsi. Header fungsi berisi informasi tentang TIPE NILAI KELUARAN (return value), NAMA FUNGSI, dan PARAMETER/ ARGUMEN FUNGSI. Return value akan berisi informasi tentang tipe data hasil keluaran dari fungsi (misal: void, int, char, float, dsb). Nama fungsi merupakan identifier untuk digunakan sebagai pemanggil fungsi (misal: hitung, proses, dsb). Sedangkan parameter, umumnya digunakan sebagai variabel untuk “jalan” masuknya input ke dalam fungsi (misal: int alas, float jari-jari, dsb). Untuk badan (BODY) fungsi akan berisikan baris-baris kode program yang akan dikerjakan jika fungsi tersebut dijalankan/ dipanggil. Sebagai tambahan, void main() yang biasa ditulis pada saat membuat program itu juga termasuk dalam keluarga besar fungsi. Yang khusus, fungsi main() adalah fungsi utama, artinya fungsi tersebut HARUS ada setiap kali membuat program dalam bahasa C++. Fungsi main() hanya boleh diketikkan satu kali saja di sepanjang source code program.




Bentuk umum suatu fungsi adalah sebagai berikut :
tipe data nama_fungsi (daftar parameter)
{
/*badan fungsi*/
return nilai_return;  /* untuk tipe data bukan void */
}

Fungsi Bertipe void
Fungsi bertipe void, Dalam program pascal atau delphi disebut sebagai procedure. Fungsi ini tidak mempunyai nilai kembalian, jadi fungsi bertipe ini hanya merupakan sekumpulan kode program yang bekerja sesuai dengan parameter yang diberikan.
Contoh fungsi bertipe void :

void tampil_nama()
{
textcolor(red);
cprintf(“Nama Saya : Nama \n\r”);
cprintf(“Alamat    : Jl. Srikandi No. 1 \n\r”);
cprintf(“Telepon   : 0362-25137 \n\r”);
}

main()
{
tampil_nama();
tampil_nama();
}

Dalam program di atas, ada sebuah fungsi yang bernama tampil_nama(), yang berguna untuk menampilkan data Nama, Alamat, dan Telepon. Dalam program utama (fungsi main() ), cara pemanggilan fungsi tersebut adalah dengan menulis nama fungsinya (dalam hal ini tampil_nama() ). Jadi program di atas akan menampilkan isi fungsi tampil_nama() sebanyak 2 kali.
Fungsi di atas merupakan fungsi yang dipanggil tanpa memakai parameter. Untuk melihat contoh fungsi berparameter, perhatikan program di bawah ini.

void kotak(int x1,int y1, int x2,int y2,int bingkai,int latar)
{
int i;
textcolor(bingkai);
textbackground(latar);
gotoxy(x1,y1);cprintf(“é”); /* alt+218 */
gotoxy(x1,y2);cprintf(“%c”,192);
gotoxy(x2,y1);cprintf(“%c”,191);
gotoxy(x2,y2);cprintf(“%c”,217);
for (i=x1+1;i<=y2-1;i++)
{
gotoxy(i,y1);cprintf(“%c”,196);
gotoxy(i,y2);cprintf(“%c”,196);
}
for(i=y1+1;i<=y2-1;i++)
{
gotoxy(x1,i);cprintf(“%c”,179);
gotoxy(x2,i);cprintf(“%c”,179);
}
}
main()
{
kotak(1,1,80,24,white,blue);// Memanggil Procedur Kotak
kotak(2,2,15,23,white,red);
getch();
return 0;
}
Void kotak merupakan sebuah fungsi yang akan membuat suatu kotak di layar sesuai dengan koordinat yang diberikan di bagian parameter. Koordinat tersebut adalah koordinat kiri atas (x1,y1), dan koordinat titik kanan bawah (x2,y2). Selain itu fungsi ini membutuhkan parameter bingkai yang berguna untuk menentukan warna bingkai kotak, dan juga parameter latar yang berguna untuk menentukan warna latar belakang kotak yang dibuat.
Pemanggilan kotak(1,1,80,24,white,blue) berguna untuk membuat kotak dengan posisi kiri atas pada koordinat (1,1) dan posisi kanan bawah pada koordinat (80,24) dengan warna bingkai kotak berwarna putih dengan latar belakang kotak berwarna biru.

Fungsi bertipe data
Dalam dunia matematika, kita mengenal fungsi. Contoh : F(x)=x2+3x+5, yang berarti sebuah fungsi bernama F yang membutuhkan parameter x sebagai data yang akan dihitung dengan persamaan x2+3x+5 sehingga Jika F(5), maka nilai dari fungsi tersebut adalah 52 + 3.5+ 5 = 45.

Bentuk umum dari Function ini dalam bahasa Pascal adalah :
typedata nama_fungsi (daftar parameter)
{
perintah;
perintah;
return NilaiHasilUntukFungsi;
}

Contoh 1 : Fungsi matematik untuk menghitung persamaan F(x) = x2+3x+5;
float F(float x)
{        
return x*x+3*x+5;//Fungsi diisi hasil dari perhitungan x2+3*x+5
}


Contoh 2 : Fungsi untuk mencari Faktorial dari suatu nilai
float faktorial(int n)
{
int i;
float hasil;
hasil:=1;
for(i=2;i<=n;i++)
hasil=hasil * i;
return hasil;
}

Contoh 3: Fungsi untuk mencari Kombinasi dengan rumus :
kombinasi (x,y) =
float  kombinasi(int x, int y)
{
return Faktorial(y) / (Faktorial(x)*Faktorial(y-x));
}

Artikel Terkait:

Share this article now on :

Posting Komentar

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( :-p =))