Wong Jawa

Perbedaan Passing By Value dan By Reference

Dec 11, 2008 by Kurniawan

Pada saat kita membuat fungsi yang mengirimkan parameter, parameter yang kita kirimkan dapat berupa value atau reference. Ada dua tipe data variable passing pada method yang pertama adalah pass-by-value dan yang kedua adalah pass-by-reference.

Jika kita menggunakan konsep pass-by-value maka isi atau nilai dari variable yang ada di parameter main akan di copy ke parameter dari fungsi pemanggil. Sehingga jika ada perubahan pada parameter pemanggil tidak mengubah parameter main.

Jika kita menggunakan konsep pass-by-reference maka yang di lewatkan bukan nilainya melainkan alamat(reference) dari nilai tertentu yang di lewatkan, jadi jika ada perubahan terhadap nilai oleh fungsi pemanggil maka nilai pada parameter main pun ikut berubah.


 

 public class PassByValue {
     public static void main(String[] args){
         int i=10;
         test(i);
         System.out.println(i);
     }
     
     public static void test(int x){
         x=30;
     }
}

 

 public class PassByReference {
    
 int a = 10;
    
    //passing by reference
    int nilaiA(PassByReference a){
        return ++a.a;
    }
    
    public static void main(String[] args) {
        PassByReference pF = new PassByReference();
        System.out.println("Nilai A Default : "+pF.a);
        System.out.println("Pass By Ref : "+pF.nilaiA(pF));
        System.out.println("Nilai A Setelah pass by Ref : "+pF.a);
    }
}



blog comments powered by Disqus

Contact Me


kurniawan.kuga@meruvian.org
083890276440

Search


Chat