Tuesday, November 3, 2009

Pass by Reference di Java

Istilah ini sering kita jumpai pada saat kita akan membuat suatu fungsi. Pass by value dan pass by reference dikenal antara lain di Pascal, C, C++. Bagaimana dengan java. Di java hanya dikenal konsep pass by value. terus bagaimana jika kita ingin menerapkan konsep pass by reference di java? Konsep ini dapat diimplementasikan dengan bantuan objek. 

Perhatikan contoh berikut:
public class Tukar {
   public static void menukar(int a, int b) {
      int c;
      c=a;a=b;b=c;
   }
  public static void main(String[] arg) {
      int x=9,y=8;
      menukar(x,y);
      System.out.println("Nilai x = "+x);
      System.out.println("Nilai y = "+y);
   }
}

Bandingkan dengan contoh berikut:
public class Tukar1 {
   int a,b;
   public static void menukar(Tukar1 t) {
      int c;
      c=t.a;t.a=t.b;t.b=c;
   }
  public static void main(String[] arg) {
      Tukar1 tkr=new Tukar1();
      tkr.a=9;tkr.b=8;
      menukar(tkr);
      System.out.println("Nilai a = "+tkr.a);
      System.out.println("Nilai b = "+tkr.b);
   }
}