Fungsi dalam CVI memegang peranan sangat penting. Hal ini karena sebenarnya program dalam CVI maupun C++ adalah kumpulan dari fungsi-fungsi. Fungsi fungsi yang telah tersedia maupun yang kita buat sendiri ini akan dipanggil dalam fungsi utama yaitu main(). Seperti semua bahasa pemrograman, C++ menyediakan built-in function yang dapat diakses dengan lebih dulu memanggil file headernya di awal program yang kita buat. C++ juga menyediakan fasilitasuntuk membuat fungsi sendiri (user-defined function). Pada bagian ini kita akan mempelajari bagaimana membuat fungsi sendiri.
Tipe-tipe Fungsi
Ada dua jenis fungsi, yaitu fungsi yang tidak mengembalikan nilai dan fungsi yang mengembalikan nilai.
• Fungsi yang tidak mengembalikan nilai
Fungsi ini dibuat dengan tipe void. Dalam VB atau Pascal, fungsi ini dikenal sebagai prosedur. Perhatikan contoh berikut.
Contoh Fungsi tanpa pengembalian nilai.
#include <iostream>
using namespace std;
// Membuat fungsi cetak angka
void CetakAngka() {
for (int C=0; C<10; C++) {
cout<<C+1<<endl;
}
}
// Fungsi utama dalam program C++
int main() {
// Memanggil fungsi CetakAngka
CetakAngka();
return 0;
}
Ada dua jenis fungsi, yaitu fungsi yang tidak mengembalikan nilai dan fungsi yang mengembalikan nilai.
• Fungsi yang tidak mengembalikan nilai
Fungsi ini dibuat dengan tipe void. Dalam VB atau Pascal, fungsi ini dikenal sebagai prosedur. Perhatikan contoh berikut.
Contoh Fungsi tanpa pengembalian nilai.
#include <iostream>
using namespace std;
// Membuat fungsi cetak angka
void CetakAngka() {
for (int C=0; C<10; C++) {
cout<<C+1<<endl;
}
}
// Fungsi utama dalam program C++
int main() {
// Memanggil fungsi CetakAngka
CetakAngka();
return 0;
}
Pada contoh ini kita membuat fungsi dengan nama CetakAngka dengan tipe void sehingga tidak mengembalikan nilai (return value). Perhatikan bagaimana mendeklarasikan fungsi. Fungsi akan berjalan sampai akhir kode pada fungsi tersebut.
• Fungsi yang mengembalikan nilai
Fungsi ini akan mengembalikan sebuah nilai untuk digunakan pada bagian program yang lain. Untuk mendefinisikan fungsi tipe ini, kita tidak menggunakan void, tetapi langsung tipe data dari nilai yang akan dikembalikan oleh fungsi tersebut. Perhatikan contoh berikut ini
Contoh Fungsi dengan pengembalian nilai.
#include <iostream>
using namespace std;
// Membuat fungsi dengan nilai pengembalian tipe char
char* NilaiChar() {
return "Ini nilai yang akan dikembalikan";
}
// Fungsi utama
int main() {
// Memanggil dan menampilkan hasil fungsi
cout<< NilaiChar();
return 0;
}
Pada tipe fungsi ini, kita membutuhkan pernyataan return untuk menunjukkan bagian yang akan dikembalikan nilainya. Pada contoh di atas, tipe data dari nilai yang akan dikembalikan adalah char. Bentuk char dengan tanda * menunjukkan variabel NilaiChar boleh berisi lebih dari satu huruf dan akan disimpan/dicetak sebagaimana ketika kita memasukkan isinya.
// Membuat fungsi dengan nilai pengembalian tipe char
char* NilaiChar() {
return "Ini nilai yang akan dikembalikan";
}
// Fungsi utama
int main() {
// Memanggil dan menampilkan hasil fungsi
cout<< NilaiChar();
return 0;
}
Pada tipe fungsi ini, kita membutuhkan pernyataan return untuk menunjukkan bagian yang akan dikembalikan nilainya. Pada contoh di atas, tipe data dari nilai yang akan dikembalikan adalah char. Bentuk char dengan tanda * menunjukkan variabel NilaiChar boleh berisi lebih dari satu huruf dan akan disimpan/dicetak sebagaimana ketika kita memasukkan isinya.
Penggunaan Parameter dalam Fungsi
Seperti halnya pada C++, fungsi pada CVI juga membolehkan digunakan parameter atau argumen untuk melewatkan input atau menampung output dari fungsi tersebut. Perhatikan contoh-contoh berikut.
Contoh Fungsi dengan parameter input.
#include <iostream>
using namespace std;
// Membuat fungsi dengan parameter input
int Kuadrat(int X) {
int hasil;
hasil = X * X;
return hasil;
}
int main() {
int Bil, HASIL;
cout<<"Masukkan sebuah bilangan bulat : ";
cin>>Bil;
HASIL = Kuadrat(Bil); //memanggil fungsi kuadrat
cout<<"Kuadrat dari bilangan “<<Bil<<” adalah :
"<<HASIL;
return 0;
}
Fungsi pada contoh diatas adalah Kuadrat. Fungsi ini membutuhkan satu variabel input (pada contoh dinamakan X). Pada fungsi main(), variabel Bil adalah variabel yang digunakan untuk menyimpan nilai yang digunakan sebagai parameter pada fungsi Kuadrat ketika dipanggil.
Contoh Fungsi dengan parameter input dan output.
#include <iostream>
using namespace std;
// Membuat fungsi dengan parameter input
int Kuadrat(int X, int *hasil) {
*hasil = X * X;
return *hasil;
}
int main() {
int Bil, HASIL;
cout<<"Masukkan sebuah bilangan bulat : ";
cin>>Bil;
// Menampilkan nilai setelah diproses di dalam fungsi
cout<<"Kuadrat dari bilanga "<<Bil<<" adalah :
"<<Kuadrat(Bil, &HASIL);
return 0;
}
Seperti halnya pada C++, fungsi pada CVI juga membolehkan digunakan parameter atau argumen untuk melewatkan input atau menampung output dari fungsi tersebut. Perhatikan contoh-contoh berikut.
Contoh Fungsi dengan parameter input.
#include <iostream>
using namespace std;
// Membuat fungsi dengan parameter input
int Kuadrat(int X) {
int hasil;
hasil = X * X;
return hasil;
}
int main() {
int Bil, HASIL;
cout<<"Masukkan sebuah bilangan bulat : ";
cin>>Bil;
HASIL = Kuadrat(Bil); //memanggil fungsi kuadrat
cout<<"Kuadrat dari bilangan “<<Bil<<” adalah :
"<<HASIL;
return 0;
}
Fungsi pada contoh diatas adalah Kuadrat. Fungsi ini membutuhkan satu variabel input (pada contoh dinamakan X). Pada fungsi main(), variabel Bil adalah variabel yang digunakan untuk menyimpan nilai yang digunakan sebagai parameter pada fungsi Kuadrat ketika dipanggil.
Contoh Fungsi dengan parameter input dan output.
#include <iostream>
using namespace std;
// Membuat fungsi dengan parameter input
int Kuadrat(int X, int *hasil) {
*hasil = X * X;
return *hasil;
}
int main() {
int Bil, HASIL;
cout<<"Masukkan sebuah bilangan bulat : ";
cin>>Bil;
// Menampilkan nilai setelah diproses di dalam fungsi
cout<<"Kuadrat dari bilanga "<<Bil<<" adalah :
"<<Kuadrat(Bil, &HASIL);
return 0;
}
Contoh ini merupakan pengembangan dari Contoh kuadrat diatas. Pada fungsi Kuadrat kita tambahkan parameter output yaitu hasil. Parameter keluaran, harus dilewatkan berdasarkan alamat memorinya (yaitu hasil), sehingga harus menggunakan pointer (lihat tanda * sebelum variabel hasil. Demikian juga cara pemanggilan fungsinya, parameter input dan outputnya harus disebutkan.
Parameter output yang menyimpan hasil perhitungan harus kita beri awalan &.
(*)
Tidak ada komentar:
Posting Komentar