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));
}
Posting Komentar