Pengertian Passed By Value Pada Method

Ketika anda memanggil method dengan suatu argumen, maka nilai dari argumen tersebut dilewatkan pada parameter, atau dikenal juga dengan pass-by-value. Jika argumen ini berupa variabel dan bukan sebagai literal, maka nilai dari variabel tersebut juga akan dilewatkan pada parameter.


Contoh :

public class PassByValue {
   
    public static void main (String args []){
        int angka = 5;
        String kata = "Mari belajar Java";
        //nilai dari variabel angka akan dilewatkan / passed pada
        //parameter dari method tampilkanPesan
        tampilkanPesan(kata, angka);
       
    }
   
    public static void tampilkanPesan(String pesan, int x){
       
        for (int i = 1; i <= 5; i++){
            System.out.println(pesan);
        }
       
    }

}


Output:
Mari belajar Java
Mari belajar Java
Mari belajar Java
Mari belajar Java
Mari belajar Java


Kekuatan dari method adalah kemampuannya untuk bekerja dengan berbagai parameter. Pada method tampilkanPesan(String pesan, int x), anda harus menyediakan argumen, dan urutannya harus sama dengan parameter tersebut.

Misalnya pernyataan tampilkanPesan("Mari belajar Java", 5), untuk menampilkan string Mari belajar Java sebanyak 5 kali. Namun pernyataan tampilkanPesan(5, "Mari belajar Java"), adalah salah. Karena argumen 5 tidak sesuai dengan tipe untuk parameter pertama, yaitu pesan, dan argumen kedua yaitu "Mari belajar Java) juga tidak sesuai dengan parameter kedua yaitu x.

Jadi yang perlu diingat juga adalah argumen ini harus sesuai dengan urutan, jumlah dan kesesuaian tipe. Tipe yang sesuai berarti anda juga dapat melewatkan argumen pada parameter tanpa memerlukan casting secara eksplisit, contohnya passing argumen nilai int pada parameter bernilai double.

Ada satu hal lagi yang harus diketahui bila argumen yang anda gunakan berupa variabel dan bukan merupakan literal, ketika nilai variabel itu dilewatkan/passed pada parameter dari method, maka  nilai variabel yang dideklarasikan tidak akan berubah atau tidak terpengaruh, walaupun perubahan dibuat pada parameter di dalam method.

Contoh:

public class Decrement {
   
    public static void main (String args []){
        int angka = 5;
        System.out.println("Sebelum method dipanggil, nilai angka adalah " + angka);
        decrement(angka);
        System.out.println("Setelah method dipanggil, nilai angka adalah " + angka);
       
    }
   
    public static void decrement(int x){
   
        x--;
        System.out.println("Nilai x di dalam method adalah " + x);

       
    }

}


Ouput:
Sebelum method dipanggil, nilai angka adalah 5
Nilai x di dalam method adalah 4
Setelah method dipanggil, nilai angka adalah 5

Tidak ada komentar

Bahasa Java. Diberdayakan oleh Blogger.