Page 5 - BUKU DIGITAL DODI
P. 5

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;
                   }
   1   2   3   4   5   6   7   8   9   10