Fungsi / Function 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 :
- Memudahkan dalam pembuatan program.
- Menghemat ukuran program.
Keuntungan memakai fungsi :
- Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
- Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
Tujuan pembuatan fungsi adalah :
- Memudahkan dalam pembuatan program.
- Menghemat ukuran program.
Keuntungan memakai fungsi :
- Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
- Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
- Dapat menggunakan kode yang ditulis dalam berbagai program
yang berbeda.
- Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
- Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat
- Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
- Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
- Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat
- Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
Bentuk umum Sebuah fungsi adalah sebagai berikut :
Tipedata namafungsi(daftarparameter)
{
/*Badan Fungsi*/
return nilaireturn; /* untuk tipe data bukan void */
}
Jenis-jenis fungsi pada C++
1. Void ( Fungi tanpa nilai balik )
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:
- Tidak adanya keyword return.
- Tidak adanya tipe data di dalam deklarasi fungsi.
- Menggunakan keyword void.
- Tidak dapat langsung ditampilkan hasilnya.
- Tidak memiliki nilai kembalian fungsi
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.
Void : void tampilkan_jml (int a, int b)
{
int jml;
jml = a + b;
cout<
}
Contoh fungsi void :
#include <iostream.h>
#include <conio.h>
void volume(int &vol, int p, int l, int t)
{ vol = p*l*t; }
main(){
int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"\nVolume = "<<hsl;
getch();
}
Output :
2. Non Void (Fungsi dengan nilai balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .
Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:
- Ada keyword return
- Ada tipe data yang mengawali fungsi
- Tidak ada keyword void
- Memiliki nilai kembalian.
- Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya
Non-void : int jumlah (int a, int b)
Contoh fungsi non void :
#include <iostream.h>
#include <conio.h>
int volume(int p, int l, int t)
{ int vol;
vol = p*l*t;
return vol; }
main(){
int pj,lb,hsl,tg;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
hsl=volume(pj,lb,tg);
cout<<"\nLuasnya = "<<hsl;
getch();
}
Output :
PARAMETER
Parameter yaitu sarana komunikasi antar fungsi. Pengertian
antar fungsi adalah antara fungsi dengan fungsi lain termasuk antara fungsi dengan fungsi utama.
Dalam pemograman yang melibatkan fungsi, diusahakan agar fumgsi bersifat independen
artinya tidak tergantung pada fungsi lain. Setiap fungsi hanya mengerjakan satu tugas
tertentu.
Antar fungsi saling berkomunikasi menggunakan parameter.
Terdapat dua macam bentuk parameter dalam hubungannya dengan penggunan fungsi
dalam program yaitu :
Antar fungsi saling berkomunikasi menggunakan parameter.
Terdapat dua macam bentuk parameter dalam hubungannya dengan penggunan fungsi
dalam program yaitu :
– Parameter Formal : parameter yang diberi nilai. Parameter
formal merupakan parameter yang terdapat dalam daftar parameter fungsi.
– Parameter Aktual : parameter yang memberi nilai. Parameter fungsi dan digunakan untuk memberi nilai pada parameter formal.
3. Cara untuk melewatkan parameter kedalam fungsi
Ada dua cara untuk melewatkan parameter kedalam fungsi,
yaitu :
A. Pemanggilan Secara Nilai (Call by Value)
Pada pemanggilan ini, nilai dari parameter aktual akan
dimasukkan kedalam parameter formal. Dengan cara ini, nilai parameter aktual
tidak akan berubah meskipun nilai dari parameter formal berubah.
Contoh paremeter Pemanggilan Secara Nilai (Call by Value) :
}
Contoh paremeter Pemanggilan Secara Nilai (Call by Value) :
}
Cara Melewatkan Parameter
Cara melewatkan suatu parameter dalam Bahasa C++ ada dua cara yaitu :
Cara melewatkan suatu parameter dalam Bahasa C++ ada dua cara yaitu :
A. Pemanggilan Secara
Nilai (Call by Value)
a) Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
b) Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak
dari datanya.
c) Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari
nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
d) Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di
bagian program yang memanggilnya.
e) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian
program yang memanggil fungsi ke fungsi yang dipanggil.
f) Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk
sebuah variabel, elemen array atau konstanta saja.
a) Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
b) Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak
dari datanya.
c) Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari
nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
d) Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di
bagian program yang memanggilnya.
e) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian
program yang memanggil fungsi ke fungsi yang dipanggil.
f) Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk
sebuah variabel, elemen array atau konstanta saja.
#include
/*contoh program transfer by value*
/*contoh program transfer by value*
int Tambah (int x);
void main ()
{
void main ()
{
int a,hasil;
cout<>a;
cout<<"a awal="<<a<<endl;
hasil=Tambah(a);
cout<<"a akhir="<<a<<endl;
cout<<"Hasil:"<<hasil;
}
int Tambah(int x)
{
cout<<"x awal="<<x<<endl;
x=x+2;
cout<<"x akhir="<<x<<endl;
return x;
}
cout<>a;
cout<<"a awal="<<a<<endl;
hasil=Tambah(a);
cout<<"a akhir="<<a<<endl;
cout<<"Hasil:"<<hasil;
}
int Tambah(int x)
{
cout<<"x awal="<<x<<endl;
x=x+2;
cout<<"x akhir="<<x<<endl;
return x;
}
B. Pemanggilan Secara Referensi (Call by Reference).
Pemanggilan secara referensi merupakan pemanggilan alamat
dari suatu variabel ke dalam fungsi. Perubahan nilai di fungsi akan merubah
nilai asli di bagian program yang memanggil fungsi.
Contoh parameter pemanggilan Secara Referensi (Call by Reference) :
void tukar (int &angka1,int &angka2) —> tambahkan tanda”&”didepan variabel yang ingin diberi sifat call by reference
{
int bantu;
bantu=angka1;
angka1=angka2;
angka2=bantu;
}
main()
{
Int bil1=10,bil2=20;
tukar(bil1,bil2); —> tidak ada tambahan tanda apapun
}
SUMBER BUKU :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005
Contoh parameter pemanggilan Secara Referensi (Call by Reference) :
void tukar (int &angka1,int &angka2) —> tambahkan tanda”&”didepan variabel yang ingin diberi sifat call by reference
{
int bantu;
bantu=angka1;
angka1=angka2;
angka2=bantu;
}
main()
{
Int bil1=10,bil2=20;
tukar(bil1,bil2); —> tidak ada tambahan tanda apapun
}
SUMBER BUKU :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005



