Mengembalikan Nilai dari Fungsi
7.8. Mengembalikan Nilai dari Fungsi
Dari program diatas kita telah nilai yang dapat dikembalikannya. melihat bahwa informasi dapat Sesuatu dari fungsi memiliki dilewatkan menjadi salah satu fungsi
beberapa saluran komunikasi untuk oleh sebuah parameter. Informasi menerima data (parameter), tetapi juga dapat dikembalikan dari fungsi,
hanya satu saluran untuk mengirim kembali menuju program yang data (return value). memanggilnya. Walaupun beberapa
Hal tersebut dapat digambarkan argumen dapat dimasukan menjadi seperti dibawah ini: salah satu fungsi, hanya ada satu
Argumen Argumen
Nilai Kembali Argumen
Fungsi
Argumen
Gambar 7.8. Fungsi dengan saluran beberapa data (parameter)
Dalam rangka untuk data nilai kembali mengawali fungsi mengembalikan nilai-nilai dari dengan nama header fungsi dan beberapa fungsi, mereka harus prototipe. Berikut ini menyatakan "dibuat paket" sehingga mereka prototipe fungsi dengan nama dianggap sebagai satu nilai. Tipe persegi yang menerima sebuah
Direktorat Pembinaan SMK | 2008
Fungsi
Bahasa Pemrorgraman argumen integer dan
mengembalikannya menjadi integer: Fungsi tersebut hanya memiliki satu baris yang merupakan int persegi(int);
pernyataan kembali. Bila nilai fungsi kembali, maka hal tersebut harus
instruksi diatas dapat didefinisikan memiliki pernyataan kembali. dalam fungsi sebagai berikut:
Ungkapan yang mengikuti kata kunci akan dievaluasi, dikonversikan ke
int persegi(int number) tipe data fungsi kembali, dan dikirim { kembali program yang memanggil
return number * number; fungsi tersebut. Untuk lebih jelasnya } perhatikan Program dibawah ini:
Program 7.11 #include <iostream>
using namespace std;
int persegi(int);
int main() {
int number, result;
cout << "Masukan angka yang akan diakarkan: " ; cin >> number; hasil = persegi (number); cout << number << " Hasilnya adalah " << hasil << endl;
return 0 ; }
int persegi(int number) {
return number * number; }
Dibawah ini merupakan sebuah baris memanggil fungsi persegi:
hasil = persegi (number);
Sebuah ekspresi adalah sesuatu fungsi merupakan sebuah ekspresi. yang memiliki nilai. Jika suatu fungsi
Pernyataan diatas memberikan nilai mengembalikan nilai, panggilan ke kembali dari persegi ke variabel hasil.
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Fungsi
Jadi, ketika nilai 20 dinyatakan menggambarkan bagaimana sebuah sebagai argumen persegi, 20 kali 20,
informasi disampaikan ke dan atau 400, dan dikembalikan ke hasil
kembali dari fungsi.
yang ditugaskan. Gambar dibawah ini
hasil = persegi (number);
int persegi(int number) {
return number * number;
Gambar 7.9. Penyampaian informasi dari fungsi
Sebenarnya dalam program diatas, fungsi persegi telah ditampilkan variable hasil adalah variabel yang menggunakan cout objek, seperti tidak penting. Adanya nilai pada ditunjukkan berikut dibawah ini:
cout << number << " persegi adalah " << persegi(number) << endl;
Dari program diatas kita sudah nilai yang dikembalikan oleh fungsi mengetahui bagaimana nilai sebagai penghubung dalam dikembalikan oleh fungsi dan pengujian sebuah ekspresi ditempatkan ke variabel atau dicetak.
aritmatika. Perhatikan contoh berikut Program tersebut diatas Juga yang menggunakan dua pernyataan memungkinkan untuk menggunakan yang sempurna:
if (persegi(number) > 100) cout << "persegi besar\n"; sum = 1000 + persegi (number);
Program dibawah menunjukkan versi lingkaran. Program dibawah juga dari fungsi persegi yang kembali menggunakan fungsi getRadius senbagai duble. Fungsi tersebut untuk mendapatkan radius lingkaran digunakan dalam pernyataan dari pengguna dan kembali ke nilai matematis untuk menghitung daerah
utama.
Program 7.12 #include <iostream> #include <iomanip>
Direktorat Pembinaan SMK | 2008
Fungsi
Bahasa Pemrorgraman
using namespace std;
double getRadius(); double square(double);
int main() {
const double PI = 3.14159 ; double rad;
cout << fixed << showpoint << setprecision( 2 );
cout << "Program ini untuk menghitung luas lingkaran.\n" ; rad = getRadius(); cout << "Luasnya adalah: " << PI * square(rad) << endl;
return 0 ; }
double getRadius() { double radius;
cout << "masukan jari‐jari lingkaran: " ; cin >> radius; return radius;
double square(double number) {
return number * number; }
Fungsi Persegi dalam Program dua nilai dikembalikan oleh fungsi
7.11 merupakan sebuah integer, persegi seperti pada program 7.12 sedangkan pada program 7.12 maka akan ditugaskan ke salah satu adalah fungsi ganda. Cara kembali variabel integer, sehingga nilai akan jenis fungsi harus merupakan jenis dipotong. Hal ini diilustrasikan dalam data yang diinginkan untuk kembali contoh program berikut: dari fungsi. Jika fungsi kembali ke nilai ganda yang sedang ditugaskan
int result;
ke variabel, maka variabel tersebut result = square(2.7); harus juga menjadi dua kali lipat. Jika
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Fungsi