Pin It

Sebuah metoda di Java bisa mempunyai atau tidak mempunyai parameter. Misalnya, Anda dapat mendeklarasikan metoda yang melakukan operasi untuk menampilkan pesan secara berulang-ulang di baris perintah jendela Command Prompt. Pesan dan banyaknya pesan yang ditampilkan bisa menjadi parameter dari metoda tersebut. Berikut ini adalah contoh pendefinisian sebuah metoda cetakPesan() yang menampilkan pesan sebanyak n kali:

public static void cetakPesan(int n, String pesan) {
   for (int x = 1; x <= n; x++)
      System.out.println(pesan);
}

Ketika metoda cetakPesan() digunakan di dalam program, Anda perlu menyediakan argumen (nilai parameter) yang mempunyai urutan yang sama dengan parameter metoda, baik dari segi tipe data maupun jumlahnya. Urutan pemberian argumen yang sesuai ini disebut dengan parameter order association. Anda bisa menggunakan cetakPesan(5, “Salam dari Java”) untuk menampilkan pesan “Salam dari Java” di baris perintah jendela Command Prompt sebanyak 5 kali. cetakPesan(5, “Salam dari Java”) dapat diartikan dengan memberi argumen berupa integer 5 ke parameter n dan argumen string “Salam dari Java” ke parameter pesan dan kemudian menampilkan pesan string “Salam dari Java” sebanyak 5 kali. Namun demikian, pernyataan cetakPesan(“Salam dari Java”, 5) adalah pemberian argumen yang salah. String “Salam dari Java” tidak cocok dengan parameter pertama metoda cetakPesan() dan integer 5 tidak cocok dengan parameter kedua metoda cetakPesan().

Argumen yang diberikan ke parameter harus cocok baik dalam urutan, jumlah maupun tipe data sebagaimana yang telah ditentukan di method signature. Ketika sebuah metoda yang mempunyai parameter dipanggil, argumen akan diberikan ke parameter dari metoda tersebut. Pemberian argumen ke parameter metoda disebut dengan pass by value (memberi dengan nilai). Apabila argumen yang diberikan adalah sebuah variabel, nilai dari variabel inilah yang kemudian diberikan ke parameter. Nilai variabel yang diberikan ke parameter kemungkinan akan mengalami perubahan, tetapi nilai yang tersimpan di variabel tidak akan mengalami perubahan.