Mengenal Varargs di Java

Tiap fungsi atau prosedur pasti kadang memiliki masukan ( inputan ) untuk melakukan proses di dalam fungsi tersebut. Dalam dunia pemrograman ada yang menyebutnya sebagai parameter atau ada juga yang disebut sebagai argument. Contohnya adalah

void hitungWaktu (int t, char a);

nah dari code diatas, yang dimaksud dengan parameter adalah t dan a, int dan char adalah tipe data dari parameter tersebut.

Di pemrograman java, untuk membuat suatu parameter pada suatu fungsi atau prosedur, kita bisa menggunakan 2 cara yaitu :

Cara pertama adalah cara yang biasa anda lakukan untuk melakukan proses dari fungsi atau prosedur tersebut. Biasanya cara pertama ini dilakukan bila kita telah mengetahui jumlah dari parameter masukan dari method.

Sebaliknya, apabila kita tidak mengetahui berapa jumlah dari parameter dari suatu method dengan pasti, kita bisa menggunakan yang namanya Variable Length Argument atau disingkat Varargs. Varargs inilah yang akan saya jelaskan sepintas disini.

Varargs dipakai dengan cara menempatkan parameter-parameter dalam sebuah array dan array inilah yang akan menjadi parameter dari method.

Untuk simbol sebuah parameter Varargs dapat di deklarasikan dengan tipe data array parameter lalu 3 titik dan nama variable dari parameter tersebut. Contoh dapat dilihat code ini :

void tampilIsi ( int … a );

Lengkapnya kita bisa lihat code dibawah ini :

class testing{
	static void tampilIsi(int ...a){
		System.out.println(“Jumlah parameter ada ”+ a.length);
		System.out.println(“isinya : ”);

		for(int i=0; i<a.length; i++){
			System.out.println(“Parameter ke-”+i+” : ”+a[i]);
		}

		System.out.println();
	}

	public static void main(String args[]){
		tampilIsi(10);  // hanya ada satu parameter
		tampilIsi(4,5,3); // ada 3 parameter
		tampilIsi();
	}
}

Tampilan keluarannya nanti seperti ini :

Jumlah parameter ada 1
isinya :
parameter ke-0 : 10

Jumlah parameter ada 3
isinya :
parameter ke-0 : 4
parameter ke-1 : 5
parameter ke-2 : 3

Jumlah parameter ada 0
isinya :

Parameter varargs ini di letakan di paling akhir dari parameter yang ada, contohnya seperti ini :

static void Test (String msg, double x, int … a);

jangan sekali sekali menaruh parameter varargs di tengah paremeter yang ada, contoh :

static void Test (String msg, int...a, double x); // error nie

Method dengan Paremeter Varargs juga bisa di-Overload, berikut adalah contohnya :

public class testing {
	
		static void tampilIsi(int ...a){
			System.out.println("static void tampilIsi(int ...a)");
			System.out.println("Jumlah parameter ada "+ a.length);
			System.out.println("isinya : ");

			for(int i=0; i<a.length; i++){
				System.out.println("parameter ke-"+ i +" : "+a[i]);
			}

			System.out.println();
		}
		
		static void tampilIsi(boolean ...a){
			System.out.println("static void tampilIsi(boolean ...a)");
			System.out.println("Jumlah parameter ada "+ a.length);
			System.out.println("isinya : ");

			for(int i=0; i<a.length; i++){
				System.out.println("parameter ke-"+ i +" : "+a[i]);
			}

			System.out.println();
		}
		
		static void tampilIsi(String msg, int...a){
			System.out.println("tampilIsi(String msg, int...a)");
			System.out.println(&quot;Jumlah parameter ada "+ a.length);
			System.out.println("isi msg : "+msg);
			System.out.println("isinya : ");

			for(int i=0; i<a.length; i++){
				System.out.println("parameter ke-"+i+" : "+a[i]);
			}

			System.out.println();
		}
		
		public static void main(String args[]){
			tampilIsi(10);  // hanya ada satu parameter
			tampilIsi("Testing", 4, 5, 6); // parameter string dan varargs
			tampilIsi(true, false, true);  // paremeter boolean
		}
	
}

tampilan keluarannya :

static void tampilIsi(int ...a)
Jumlah parameter ada 1
isinya :
parameter ke-0 : 10

tampilIsi(String msg, int...a)
Jumlah parameter ada 3
isi msg : Testing
isinya :
parameter ke-0 : 4
parameter ke-1 : 5
parameter ke-2 : 6

static void tampilIsi(boolean ...a)
Jumlah parameter ada 3
isinya :
parameter ke-0 : true
parameter ke-1 : false
parameter ke-2 : true

kalau sudah di overload seperti ini dengan parameter varargs, jangan panggil method kosong seperti,

tampilIsi();

code ini akan error,,sama juga dengan code dibawah ini :

static void tampilIsi(int s, int ...a);

hal ini karena kedua parameter di atas bertipe sama yaitu integer, kalau saya sich bilang mubajir code jadi mungkin compiler bingung.

Sampai sini dulu yah, penjelasan mengenai parameter varargs. Moga bermanfaat buat yang lagi mempelajarinya.

About these ads

Silahkan Komentar...

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s