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