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