Mengenal Fungsi dalam 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. 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.

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.

Berikut contoh programnya. Selamat mencoba🙂

#include “stdio.h”

//bagian deklarasi fungsi

void luas(void);
void kell(int jari);
float vol(void);
int jarak(int V, int t);

void main()
{
int pilihan;
printf(“\n1. Luas”);
printf(“\n2. Keliling”);
printf(“\n3. Volume”);
printf(“\n4. Jarak”);
printf(“\nPilih ? “);
scanf(“%d”, &pilihan);
switch(pilihan) {
case 1: luas(); break;
case 2:
//1. deklarasi variabel2
int jari;
//2. masukkan variabel input
printf(“masukkan jari :”);
scanf(“%d”,&jari);
kell(jari); break;
case 3:
float volume;
volume = vol();
//4. tampilkan hasilnya
printf(“volume = %f\n”,volume);break;
case 4:
int s, v, t;
printf(“masukkan kecepatan : “);
scanf(“%d”,&v);
printf(“masukkan waktu : “);
scanf(“%d”,&t);
s = jarak(v,t);
printf(“jarak = %d\n”, s); break;
default: printf(“salah!”);
}
}

//bagian definisi fungsi

void luas()
{
//deklarasi variabel2
int alas, tinggi;
float luas;

//input alas dan tinggi
printf(“Masukkan Alas : “);
scanf(“%i”, &alas);
printf(“Masukkan Tinggi : “);
scanf(“%i”, &tinggi);

//hitung luas
luas = 0.5 * alas * tinggi;

//output hasil
printf(“Luas = %f\n”, luas);
}

void kell(int jari)
{ float keliling;
//3. hitung variabel outputnya/ keliling
keliling=3.14*jari*jari;
//4. tampilkan hasilnya
printf(“keliling = %f\n”,keliling);
}

float vol()
{
//1. deklarasi variabel2
int panjang,lebar,tinggi;
//2. masukkan variabel input
printf(“masukkan panjang = “);
scanf(“%i”,&panjang);
printf(“masukkan lebar = “);
scanf(“%i”,&lebar);
printf(“masukkan tinggi = “);
scanf(“%i”,&tinggi);
//3. hitung variabel outputnya/ volume
return(panjang*lebar*tinggi);
}

int jarak(int v, int t)
{
return(v*t);
}

Mohon Maaf atas Kekurangan Kami.
Mohon Doa & Dukungannya supaya Kami Menjadi Lebih Baik Lagi.
http://www.pkspiyungan.org
http://www.pks.or.id

24 Responses to Mengenal Fungsi dalam C++

  1. hartono says:

    trims bangt,, tas berbagi ilmu smoga bermanfaat bagi yang laen jg,, aaaamiiin

  2. FIFI says:

    NK TAU,,APA FUNGSI “BREAK” YE?

    • bluejundi says:

      break biasanya dipakai untuk menghentikan looping di luar kondisi yg telah disediakan. break dipakai juga untuk memisahkan pilihan-pilihan dalam perintah percabangan switch-case.

  3. Lacoste says:

    judul perikopnya C++

    tapi contoh programnya bukan kah itu contoh program C?

  4. Ajie says:

    boleh nanya gak nie…
    kalo switch tu funfsinya buat apa?

    please jawab ya…!!

    • bluejundi says:

      boleh sj, mas ajie. perintah switch adalah salah satu perintah untuk percabangan (branching). digunakan pd saat program harus mengambil pilihan dr beberapa opsi yang disediakan. ilustrasi yg paling mudah adalah spt tampilan menu di atm bank. perintah percabangan lainnya adalah if-else. klo yg ini pilihannya hanya 2, yes or no, true or false. semoga bermanfaat🙂

  5. hamka says:

    KOK programnya klu dah dipilih langsung close ya?? kenapa?? ga muncul hasilnya

  6. Rizki Octa says:

    makasih pak buat materinya
    jd ngerti dech fungsi dalam C++🙂

  7. benwardana says:

    maksih bang

  8. bluejundi says:

    utk looping bisa ditambahkan tepat di bawah void main, shg kerangkanya menjadi spt berikut:
    void main()
    {
    while(pilih!=5)
    {//menu program
    }//end while
    }//end main

  9. Ane Searching2 di google, eh, akhirnya ketemu jg konten ini. Terima kasih gan, atas sharing infonya.
    Kebetulan, blog ane juga bahas tentang C++.
    silahkan mampir ya gan, kita sharing tentang C++🙂
    di tunggu gan.😀

  10. masih kurang paham dengan float nih, bisa d perjelas?

  11. NounnaFaLok says:

    :: kalau tanda # fungsi.nha aph sich….????

  12. terims….. saya jd lebih bisa mengerti tentang function

  13. christopel sianturi says:

    ka ,, apa bedanya Void main () sama yang paje main aja ()

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: