Dokumen ini membahas tentang referensi dalam bahasa C++. Referensi digunakan untuk memberikan nama alias dari variabel. Dengan menggunakan referensi, nilai variabel dapat diubah baik secara langsung maupun melalui referensinya. Referensi juga memungkinkan nilai argumen fungsi diubah dari dalam fungsi itu sendiri.
2. Referensi
ï‚— Pada C++ referensi digunakan untuk
memberikan nama alias dari variabel.
Bentuk pendeklarasiannya :
ï‚— Setelah pendeklarasian seperti diatas, ref
menjadi nama alias dari nama_variabel.
ï‚— Pengubahan nilai terhadap nama_variabel
dapat dilakukan melalui nama_variabel itu
sendiri ataupun melalui referensi ref.
int &ref = nama_variabel;
4. Referensi Pada Fungsi
ï‚— Dengan menggunakan referensi, suatu
argumen fungsi dapat diubah nilainya
dari dalam fungsi.
ï‚— Sebelumnya, perhatikan contoh berikut
ini :
5. //program51.cpp
#include <iostream.h>
#include <conio.h>
void tukar(int a, int b);
void main()
{
int a = 10;
int b = 20;
cout<<"main ()"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl<<endl;
tukar(a, b);
cout<<"main ()"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl<<endl;
getch();
}
void tukar(int a, int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
cout<<"tukar ()"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl<<endl;
}
6. Referensi Pada Fungsi
ï‚— Pada program di depan, walaupun nilai
a dan b sudah ditukar di dalam fungsi
tukar(), namun sebenarnya nilai a dan b
pada fungsi main() belum ditukar.
ï‚— Dengan menggunakan referensi, nilai a
dan b pada fungsi main() dapat ikut
ditukarkan dari dalam fungsi tukar.
ï‚— Perubahan perlu dilakukan pada
prototipe fungsi dan definisi fungsi.
7. //program52.cpp
#include <iostream.h>
#include <conio.h>
void tukar(int &a, int &b);
void main()
{
int a = 10;
int b = 20;
cout<<"main ()"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl<<endl;
tukar(a, b);
cout<<"main ()"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl<<endl;
getch();
}
void tukar(int &a, int &b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
cout<<"main ()"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl<<endl;
}