Page 111 - Modul Algoritma dan Pemrograman Dasar_HTML
P. 111
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
105