Selasa, 25 Oktober 2011

Membuat Fungsi (C++)

Fungsi adalah sesuatu yang sangat sering kamu jumpai di dalam pemrograman termasuk C++. Sebuah fungsi digunakan untuk mengeksekusi perintah yang spesifik. Jadi bila kamu mempunyai kode yang ditujukan hanya untuk menjumlahkan data, maka buatlah fungsi yang isinya menjumlahkan data saja. Hindari sebuah fungsi yang mengerjakan berbagai operasi dengan tujuan yang berbeda.

Suatu program yang baik adalah dengan memecah-mecah persoalan besar menjadi beberapa persoalan kecil. Nah setiap persoalan-persoalan kecil tersebut ditempatkan pada masing-masing fungsi dengan tugas yang spesifik. Misalnya kamu punya tiga bagian program yakni:

1. Input data
2. Proses
3. Output informasi

Maka buatlah masing-masing fungsi dari ketiganya. Contoh:

1. Fungsi input.
Menyediakan menu untuk memasukan data dan juga pemeriksaan terhadap semua nilai yang dimasukan user.

2. Fungsi proses.
Setelah data-data input diperiksa oleh fungsi input dan hasilnya valid (benar) maka data tersebut akan diproses pada inti program ini yakni di dalam fungsi proses. Bila memungkinkan, tiap proses-proses yang ada pada fungsi proses ini dipecah-pecah lagi menurut proses yang lebih spesifik, misalnya subproses 1, subproses2, subproses3.

3. Fungsi output.
Data yang telah diolah dan diproses di dalam fungsi proses, maka selanjutnya data-data tersebut telah siap ditampilkan kepada user dalam bentuk informasi. Informasi yang ditampilkan pada fungsi output ini hasilnya harus sesuai input pengguna yang telah diproses secara valid. Jenis informasi yang ditampilkan dapat berupa konfirmasi atas hasil masukan, keterangan-keterangan, atau campuran dari keduanya.

Bagaimana membuat fungsi pada pemrograman C++?

Ada dua bentuk penulisan fungsi pada pemrograman C++ yakni cara langsung dan mendeklarasikan prototype fungsinya dulu.

 

1. Cara langsung
Cara langsung ini dengan mendefinisikan fungsi secara utuh yakni menuliskan header dan tubuh fungsi. Definisi fungsi harus dituliskan sebelum fungsi utama program yakni fungsi main(). Berikut contoh penerapannya:

#include <iostream>
using namespace std;

// definisi fungsi harus dituliskan sebelum fungsi main()
void fungsi1(){
 cout << "Di dalam fungsi 1" << endl;
}

int main() {
 
 // memanggil fungsi 1
 fungsi1();
 
 return 0;
}

 

2. Melalui prototype fungsi
Jika kamu ingin menuliskan definisi fungsi setelah fungsi utama program yakni fungsi main(), maka kamu harus menuliskan prototype fungsi sebelum fungsi main(). Protoype fungsi berisi header fungsi tanpa blok isinya termasuk tanda {}.
#include <iostream>
using namespace std;

// protoype fungsi yang hanya berisi header fungsi
void fungsi1();

int main() {
 
 // memanggil fungsi 1
 fungsi1();
 
 return 0;
}

// definisi fungsi dituliskan setelah fungsi main()
void fungsi1(){
 cout << "Di dalam fungsi 1" << endl;
}

 

Berikut ini contoh penggunaan fungsi dalam program sederhana C++ dengan menggunakan prototype fungsi:
#include <iostream>
#include <string>

using namespace std;

// prototype fungsi
void fungsi1();
int fungsi2(int nilai);
void fungsi3(string nama, int umur = -1);

int main() {
 
 // panggil fungsi1
 fungsi1();
 
 // panggil fungsi2 dengan melampirkan suatu nilai
 // dan mengembalikan nilai tersebut
 int nilai = fungsi2(12345);
 cout << "Oh, terima kasih sudah mengembalikan nilai = " << nilai << " kepadaku." << endl;
 
 // panggil fungsi3 dengan memberikan sebuah data saja
 fungsi3("Joni");
}

void fungsi1() {
 cout << "\nHey..! aku berada di dalam fungsi 1, makasih sudah menyapaku..." << endl;
}

int fungsi2(int nilai) {
 cout << "\nAda nilai " << nilai << " masuk ke fungsi 2, aku kembalikan aja ke tempat asalnya." << endl;
 return nilai;
}

void fungsi3(string nama, int umur) {
 cout << "\nHai " << nama << ", selamat datang di fungsi 3" << endl;
 
 if (umur < 0)
  cout << "Hmm.. tunggu dulu! Kamu belum memasukan umurmu dengan benar! \nMasa umur kamu " << umur << " tahun?!\n" << endl;
 else
  cout << "Wah kamu sudah berumur " << umur << " tahun sekarang :)" << endl;
}

Happy programming :D

(C) 2011 Computer Science Solution (CSS)

Tidak ada komentar:

Posting Komentar