FUNCTION

Mengenal FUNCTION dalam C++

 

Apa itu FUNCTION(FUNGSI) ??

       
          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. Mengapa? 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. Dikatakan efisien karena konsep fungsi akan merangkum 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 kita tulis 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 kita membuat program dalam bahasa C++. Fungsi main() hanya boleh diketikkan satu kali saja di sepanjang source code program yang kita buat.

Apa Manfaat Dari fungsi?

 

- Fungsi menjadikan program C memiliki struktur yang jelas. Dengan memisahkan langkah-langkah detil ke satu atau lebih fungsi, maka fungsi utama (main( )) akan menjadi lebih pendek, jelas dan mudah dimengerti.
- Fungsi-fungsi dapat dijinkan untuk menghindari penulisan yang sama berulang-ulang. Langkah-langkah program yang sama dan sering digunakan berulang-ulang dapat ditulis sekali saja secara terpisah dalam bentuk fungsi-fungsi, selanjutnya bagian program yang membutuhkan langkah-langkah ini cukup memanggil fungsi-fungsi tersebut.
Nilai akhir dari suatu fungsi adalah nilai yang dikembalikan oleh fungsi berdasarkan input parameter-parameter yang dimasukkan.


Flowchart Fungsi


Contoh fungsi:

int rata(int x, int y, int z)
{
int ave;
ave = (x + y + z)/3;
return(ave);
}

Di dalam fungsi dikenal istilah Parameter Formal dan Parameter Aktual :
a. Parameter formal adalah parameter yang terdapat pada pendefinisian sebuah fungsi.
b. Parameter aktual adalah parameter yang terdapat pada saat pemanggilan fungsi.

Cara melewatkan parameter ke dalam suatu fungsi dapat dilakukan melalui dua cara yaitu:
a. Pelewatan parameter melalui nilai (call by value) :
- pelewatan parameter ke dalam fungsi dengan menyalin nilai dari suatu variabel aktualnya. Maksudnya adalah fungsi menerima masukan berupa nilai, bukan alamat memori letak dari datanya dan nilai tersebut disimpan di alamat memori yang terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.

b. Pelewatan parameter melalui acuan/referensi (call by reference) :
- pelewatan parameter ke dalam fungsi dengan menyalin alamat dari suatu variabel aktualnya. Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. Hal ini dilakukan dengan menggunakan pointer. Pointer adalah variabel yang merujuk pada alamat lokasi suatu memori tertentu, variable pointer dapat dideklarasikan dengan menuliskan nama variabelnya diawali dengan asterisk (‘*’). Perubahan yang terjadi pada variabel asal akan mengakibatkan perubahan pada variabel pointernya dan sebaliknya.

Di dalam penggunaan fungsi-fungsi dalam program kita mengenal adanya istilah variable
local dan variable global :
      a. Variabel lokal :
- Variabel yang nama dan nilainya hanya dikenal di suatu blok statement tertentu saja atau di dalam suatu fungsi. Variabel lokal harus dideklarasikan di dalam blok bersangkutan. Variabel lokal akan dihapus dari memori jika proses sudah meninggalkan blok statement letak variable lokalnya.
b. Variabel global :
- Variabel yang dikenal di semua bagian-bagian tertentu dari program. Variabel global dapat dibuat dengan cara mendeklarasikannya di luar suatu blok statement atau di luar fungsi-fungsi yang menggunakannya.


Jenis-jenis Fungsi  

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
#include
void luas(int &ls, int p, int l)
{ ls = p*l; }
main()
{
int pj,lb, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl,pj,lb);
cout<<"\nLuasnya = "<
getch();
}

2. NonVoid(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
#include
int luas(int p, int l)
{return (p*l); }
main(){
int pj,lb;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"\nLuasnya = "<
getch();
}



Hubungan Return Value (RV) dan parameter (p) dalam fungsi 

 

     Kombinasi nilai di bagian RETURN VALUE (RV) dan PARAMETER (P) fungsi, sedikitnya akan menghasilkan 4 bentuk kombinasi, yaitu: 1. RV void, P juga void. 2. RV void, tapi P ada isinya. 3. RV bukan void, tapi P void. 4. RV dan P keduanya bukan void. Apa itu void? Keyword void pada dasarnya akan memberitahukan kepada compiler bahwa pada bagian yang bersangkutan tidak mempunyai nilai/ value yang perlu ditangani secara khusus. Berikut penjelasan detailnya satu persatu.

1. RV dan P void.


    Fungsi jenis ini biasanya disebut dengan istilah prosedur dalam bahasa Pascal/ Delphi atau juga dengan istilah subrutin dalam bahasa basic/ VB. Fungsi ini sama sekali mandiri, tidak membutuhkan input dan juga tidak menghasilkan output dari bagian lain program. Murni hanya berisi urut-urutan langkah saja. Ciri fungsi ini adalah jika ia melakukan proses pengolahan data maka komponen perintah input dan menampilkan output pasti akan dituliskan di dalam badan fungsi yang bersangkutan.

2. RV void, P berisi.


       Fungsi ini berarti tidak akan menghasilkan keluaran bagi bagian lain program. Namun ia membutuhkan data sebagai input ke dalam fungsi. Dengan demikian fungsi jenis ini mensyaratkan terlebih dulu harus ada bagian lain program yang melakukan input data yang akan dikirimkan ke dalam fungsi sebelum menjalankan/ memanggil fungsi.

 

3. RV berisi, P void.


     Tidak ada data input yang akan dibutuhkan oleh fungsi jenis ini. Tetapi, fungsi justru menghasilkan output. Kok bisa? Berarti bagian input data untuk fungsi ini akan ditulis langsung berada di dalam badan fungsi yang bersangkutan.

4. RV dan P berisi.


      Fungsi jenis ini adalah fungsi yang murni. Ia hanya bertugas melakukan pengolahan data. Input diperoleh dari bagian lain program di atasnya. Sedangkan output hasil pengolahannya akan dikirimkan juga ke bagian lain program untuk kemudian ditampilkan secara terpisah. Fungsi ini ibarat fungsi matematis yang biasa kita kenal, seperti f(x,y) = 3x + 4y. Dimana (x,y) adalah parameternya, 3x + 4y adalah badan fungsinya. Sedangkan tanda ‘=’ menunjukkan pengiriman hasil perhitungan dari sebelah kanan ke sebelah kirinya.


Contoh-Contoh Program

1. Program menghitung luas persegi panjang

 


 untuk dapat melihat source codenya
silahkan klik disini


2.Program menghitung banyak bilangan ganjil dan genap

 



untuk dapat melihat source codenya
silahkan klik disini

 

3.Program menghitung rata-rata

 


untuk dapat melihat source codenya



Referensi : 

Penulis : Wahyu Nugroho Indrawinata ~ Sebuah blog yang menyediakan berbagai macam informasi

Artikel FUNCTION ini dipublish oleh Wahyu Nugroho Indrawinata pada hari Rabu, 21 November 2012. Semoga artikel ini dapat bermanfaat.Terimakasih atas kunjungan Anda silahkan tinggalkan komentar.sudah ada 0 komentar: di postingan FUNCTION
 

0 komentar:

Posting Komentar