Jika ketika nilai 20 dinyatakan sebagai argumen persegi, 20 kali 20, atau 400, dan dikembalikan ke hasil yang ditugaskan. Gambar dibawah ini menggambarkan bagaimana sebuah informasi disampaikan ke dan kembali dari fungsi.
hasil=persegi(number); 20 400 intpersegi(intnumber) { returnnumber*number; }
Gambar 7.9. Penyampaian informasi dari fungsi Sebenarnya dalam program diatas, variable hasil adalah variabel yang tidak penting. Adanya nilai pada fungsi persegi telah ditampilkan menggunakan cout objek, seperti ditunjukkan berikut dibawah ini: cout<<number<<"persegiadalah"<<persegi(number)<<endl; Dari program diatas kita sudah mengetahui bagaimana nilai dikembalikan oleh fungsi dan ditempatkan ke variabel atau dicetak. Program tersebut diatas Juga memungkinkan untuk menggunakan nilai yang dikembalikan oleh fungsi sebagai penghubung dalam pengujian sebuah ekspresi aritmatika. Perhatikan contoh berikut yang menggunakan dua pernyataan yang sempurna:
if(persegi(number)>100) cout<<"persegibesar\n"; sum=1000+persegi(number);
Program dibawah menunjukkan versi dari fungsi persegi yang kembali senbagai duble. Fungsi tersebut digunakan dalam pernyataan matematis untuk menghitung daerah lingkaran. Program dibawah juga menggunakan fungsi getRadius untuk mendapatkan radius lingkaran dari pengguna dan kembali ke nilai utama. Program 7.12
#include<iostream> #include<iomanip> usingnamespacestd; doublegetRadius(); doublesquare(double); intmain() { constdoublePI=3.14159; doublerad; cout<<fixed<<showpoint<<setprecision(2); cout<<"Programiniuntukmenghitungluaslingkaran.\n"; rad=getRadius(); cout<<"Luasnyaadalah:"<<PI*square(rad)<<endl; return0; } doublegetRadius() { doubleradius; cout<<"masukanjari‐jarilingkaran:"; cin>>radius; returnradius; } doublesquare(doublenumber) { returnnumber*number; }
Fungsi Persegi dalam Program 7.11 merupakan sebuah integer, sedangkan pada program 7.12 adalah fungsi ganda. Cara kembali jenis fungsi harus merupakan jenis data yang diinginkan untuk kembali dari fungsi. Jika fungsi kembali ke nilai ganda yang sedang ditugaskan ke variabel, maka variabel tersebut harus juga menjadi dua kali lipat. Jika dua nilai dikembalikan oleh fungsi persegi seperti pada program 7.12 maka akan ditugaskan ke salah satu variabel integer, sehingga nilai akan dipotong. Hal ini diilustrasikan dalam contoh program berikut: intresult; result=square(2.7);
7.9. Pengembalian Nilai Boolean
Biasanya ada sesuatu yang dibutuhkan fungsi untuk menguji argumen dan akan mengembalikan nilai benar atau salah serta mengindikasikan kondisi yang ada. Misalnya, dalam sebuah program yang membutuhkan sesuatu untuk mengetahui apakah nomor genap atau ganjil, sebuah fungsi dapat ditulis kembali dengan benar jika argument genap dan false jika argumen yang ganjil. Untuk lebih jelasnya perhatikan program dibawah ini: Program 7.13
#include<iostream> usingnamespacestd; boolisEven(int); intmain() { intval; cout<<"masukanbilanganinteger:"; cout<<"jikaganjilataugenap:"; cin>>val; if(isEven(val)) cout<<val<<"adalahgenap.\n"; else cout<<val<<"adalahganjil.\n"; return0; } boolisEven(intnumber) { if(number%2) returnfalse;//Bilanganadalahganjil else returntrue;//bilanganadalahgenap. } Keluaran Program adalah sebagai berikut: masukanbilanganinteger:5[Enter] 5adalahganjil
Next read ON halaman 10.