Page 116 - Modul Algoritma dan Pemrograman Dasar HTML
P. 116
pengiriman dua arah atau komunikasi dua arah, yaitu dari
fungsi pemanggil ke fungsi yang dipanggil dan juga
sebaliknya. Pengiriman secara acuan tidak dapat dilakukan
untuk suatu ungkapan.
/* Program Fungsi dengan Call by Reference
Nama File : Lat_Fungsi_02 */
#include<iostream>
#include<conio.h>
using namespace std;
void Tukar(int &a, int &b);
int main()
{
int a=8, b=-5;
cout<<"Nilai a dan b sebelum ditukar : "<<a<<" &
"<<b;
Tukar(a,b);
cout<<"\nNilai a dan b setelah ditukar : "<<a<<" &
"<<b;
getch();
}
void Tukar(int &x, int &y)
{
int z;
z = x;
x = y;
y = z;
}
Perhatikan program di atas. Pada saat pemanggilan fungsi
Tukar(a,b) memiliki dua parameter aktual yang dikirimkan
ke parameter formal pada void Tukar(int &x, int &y). Nilai
parameter a dikirimkan ke parameter x dan nilai parameter b
dikirimkan ke parameter y. Hal ini dapat dilakukan karena
tipe data parameter yang bersesuaian sama walaupun nama
pada parameter formal dan parameter aktual berbeda. Di
dalam fungsi terjadi penukaran nilai x terhadap y, dan
111