Page 4 - BAHAN DASAR - Copy
P. 4
Fungsi seperti halnya program pada umumnya, dapat menerima input dan memberikan output.
Input dapat diberikan dengan penggunaan parameter (parameter passing) dengan dua cara,
yaitu passing by value , passing by reference dan beberapa penggunaan variabel global,
lokal.
1. pasing by value Pada teknik passing-by-value, parameter fungsi menangkap nilai (value)
dari argumen yang dikirim dan disimpan ke dalam variabel yang berbeda lokasi memori-
nya. Dikarenakan lokasi memori yang berbeda, perubahan nilai yang terjadi pada
variabel tersebut tidak mempengaruhi nilai pada variabel yang dikirimkan sebagai
argumen pada pemanggil fungsi.
#include <iostream>
#include <conio.h>
using namespace std;
void nilai(int a){
a = 10;
}
int main() {
int a = 5;
cout << "Nilai awal :" << a << endl;
nilai(a); //passing by value
cout << "Nilai akhir:" << a << endl;
} 2. passing by Refenrence Pada teknik passing-by-reference, parameter fungsi menangkap
alamat memori dari argumen yang dikirim ke dalam variabel. Segala perubahan yang
mengacu (refer) pada lokasi memori dari variabel yang dijadikan sebagai argumen pada
pemanggil fungsi tentu saja akan langsung merubah nilainya, karena menggunakan lokasi
memori yang sama.
#include <iostream>
#include <conio.h>
using namespace std;
void nilai(int &a){
a = 10;
}
int main(){
int a = 5;
cout << "Nilai awal :" << a << endl;
nilai(a);
cout << "Nilai akhir:" << a << endl;
}