Var-arg Cornelius Mellino / Cornelius Koo JavaSchool of Object Technology

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Class dan Obyek 2

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

INTERAKSI ANTAR OBJECT

Class & Object 2. Imam Fahrur Rozi

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

KUM 3 IMPLEMENTASI LIST

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Membuat dan Menggunakan Class

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Dasar Pemrograman Java

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Pengenalan pemrograman berorientasi obyek

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

BAB 8 Argumen dari Command-line

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

Modul Praktikum Bahasa Pemrograman 1

Array Multidimensi. Pemrograman Dasar. Java

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

[Lanjutan] Nurochman

Jobsheet 09. Overloading and Overriding Method

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Pemrograman Lanjut Review Class dan Object PTIIK

String. String merupakan tipe data untuk menyimpan nilai berupa teks.

3 Class dan Object (2)

Pemrograman Lanjut. Class : Deeper Look 2

Praktikum 3 Konsep Class, Attribute dan Method

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Inheritance (Pewarisan) Pengertian dasar inheritance

IKG2I4 / Software Project I

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance dan Kata Kunci static

Modul Praktikum 4 Pemograman Berorientasi Objek

Array. Pengantar. int a, b, c, d, e;

Politeknik Elektronika Negeri Surabaya

Bahasa Pemrograman 2.

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

BAB 8 Argumen dari Command-line

MODUL 1. Class, Object, Constructor dan Method

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

Tipe Data Floating Point Tipe data yng digunakan untuk menampung bilangan desimal

Penggunaan Private dan Public dalam C++

SUMBER BELAJAR PENUNJANG PLPG

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Array Sebagai Parameter Method

Struktur Kontrol Pemrograman Java : PERCABANGAN

PERTEMUAN 3 OBJEK DAN CLASS

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

PEMOGRAMAN JAVA. Yoannita. Class(iii) [Constructor] [keyword this] Passing parameter [by value] [by references]

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Parent dan Child di Java

Polymorphism (Polimorfisme)

2 Class dan Object (1)

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

OBJECT ORIENTED PROGRAMMING (OOP)

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Berorientasi Object

Terdiri atas deretan karakter String diimplementasikan oleh java dalam bentuk class. Dapat langsung di konstruksi tanpa perintah new

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

BAB 7 STATIC IMPORTS. Java 5 Tiger, Cornelius Koo Published by Elex Media Komputindo

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

2 TIPE DATA DAN VARIABEL

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

Employee employee=new Manager();

Algoritma Pemrograman 1

Pemrograman Berorientasi Objek

MODUL 3 ARRAY. Pemograman Berorientasi Objek

Gambar 1: Hirarki class

Permainan Remi Sederhana

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

Praktikum KPLBO Class dan Object I

Dasar-Dasar OOP di Java

IKG2I4 / Software Project I

Belajar Rekursif di Java

Projek Kelompok 4. //tipe array nama array={nilai elemen 1,...,elemen N}; Fajar[] a = {new Fajar("Hallo"), new Fajar("Apa"), new Fajar("Kabar")};

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

BAB X. Struct Dalam C++, kita dapat membuat sebuah tipe data baru. Maka penulisan variabel baru kita akan menjadi:

Modul II Object Oriented Programming

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

Arrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!

Array Pendeklarasian Array

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

MODUL 7 METHOD, KELAS DAN OBJEK

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Tipe data primitif adalah tipe data dasar yang dikenali oleh Java dan bukan merupakan class. Tipe data primitif ini dapat dikenali dengan ciri

Function. Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format dari function :

I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.

Transkripsi:

Var-arg Cornelius Mellino / Cornelius Koo JavaSchool of Object Technology Pada Java 5, terdapat feature baru yang cukup banyak membantu, yaitu var-arg. Inti dari var-arg adalah programmer mampu memasukkan argumen ke dalam suatu method di mana jumlah argumen bisa bervariasi. Sebelum masuk lebih dalam ke var-arg, kita harus mengulas kembali beberapa hal. Argument dan Parameter Argument adalah sesuatu yang kita deklarasikan atau kita tulis diantara tanda kurung, saat kita memanggil suatu method. Contoh : dosomething(5, what ); Di sini kita memasukkan 2 buah argumen ke method dosomething(), 5 dan what. Parameter adalah sesuatu yang kita deklarasikan pada method signature yang menandakan apa yang kita harapkan saat method dipanggil. Contoh : public void dosomething(int num, String str) { Di sini kita mendefinisikan suatu method yang menerima 2 buah parameter, bertipe int dan String. Aturan pemakaian Var-args 1. Tipe var-args Sama dengan variabel biasa, var-args bisa bernilai apa saja, baik tipe primitif maupun tipe kelas dan array. Contoh : handlearrays(string[] str); dosomething(int, String str); count(int values); 2. Sintaks Variable yang merupakan var-arg harus memakai tanda ( ) tepat dibelakang tipe variabel yang bersangkutan.

Contoh : count(int values); count(double values ); // salah! 3. Parameter lain Pemakaian var-args dapat dilakukan bersama-sama dengan parameter yang lainnya, yang bukan merupakan tipe var-args. Contoh : dosomething(int index, String name, int values); 4. Batas var-args Var-args hanya bisa dipakai satu kali dalam satu method. Var-args hanya bisa dipakai pada urutan terakhir dalam parameter list. Var-args hanya bisa dipakai sebagai tipe suatu parameter untuk suatu method, tidak bisa dipakai sebagai tipe suatu variabel. Contoh : dosomething(int values, int index, String name); // salah! dosomething(string name, int values); // salah! Pemakaian var-args sebagai tipe suatu variabel akan menghasilkan peringatan syntax error. Gambar. Pemakaian var-args dalam variabel menimbulkan syntax error. Pemakaian Var-args

Pemakaian var-args mengikuti aturan penamaan variable biasa, bedanya kita bisa memasukkan jumlah argumen yang bervariasi. Untuk penanganan lebih lanjut, var-args bisa diperlakukan sebagai array, dimana tipe array nya adalah tipe var-args itu sendiri. public class Vararg1 { public static void printvararg(string... strings ) { printvararg("cukup satu saja"); printvararg("satu", "dua", "tiga"); Pemakaian Var-args pada Constructor Var-args bisa juga dipakai pada konstruktor dan aturan yang berlaku sama saja dengan aturan yang berlaku pada method biasa. class Test { Test(String... strings) { System.out.println("object created"); public class Vararg2 { new Test();

new Test("satu argumen"); new Test("satu", "dua", "tiga"); Pada hasil running program di atas terlihat bahwa pada saat pemanggilan konstruktor default tidak ada reaksi apa-apa, yang terlihat hanya tulisan object created yang menjadi tanda tersiptanya suatu objek. Menyimpan Var-args Nilai yang dimasukkan sebagai argumen var-args bisa disimpan ke dalam array dengan tipe yang sama dengan tipe var-args yang bersangkutan. Gambar. Ilustrasi penyimpanan var-args ke dalam variabel bertipe array.

// how to save the vararg to regular variable class Test1 { private int arg; private String[] args; public int getarg() { return arg; public void setarg(int arg) { this.arg = arg; public String[] getargs() { return args; public void setargs(string[] args) { this.args = args; Test1(int val, String... strings) { this.arg = val; this.args = strings; public class Vararg3 { Test1 test = new Test1(1, "satu", "dua", "tiga"); System.out.println(test.getArg()); String[] strings = test.getargs();

Pada contoh di atas var-args pada konstruktor menerima tiga buah string yaitu satu, dua dan tiga. Ketiga string tersebut ditampung dalam variabel bertipe String[] atau array of String. Zero Argument Apa yang terjadi ketika suatu method yang mempunyai parameter bertipe var-args tidak diberi nilai argumen sama sekali. Seperti contoh berikut ini : // zero arg vararg public class Vararg4 { public static void printvararg(string... strings ) { if (strings.length == 0) { System.out.println("no argument entered..."); printvararg(); Ketika kita tidak memberikan masukan apapun ke parameter bertipe var-args, maka method printvararg() juga tidak akan menghasilkan output apapun. Kita bisa mendeteksi apakah suatu parameter bertipe var-args berisi nilai atau tidak, caranya dengan memanfaatkan variabel length seperti pada panjang suatu array.

Gambar. Variabel length yang muncul ketika di tekan titik atau dot pada eclipse....... if (strings.length == 0) { System.out.println("no argument entered..."); System.out.println(strings.length); Argumen Bertipe Objek Selain memakai tipe-tipe primitif, var-args juga bisa bertipe kelas, atau array. Cara pemakaiannya sama saja dengan tipe primitif. Berikut adalah contoh-contoh pemakaian tipe primitif (double) dan tipe kelas (Double) dalam var-args. public class Vararg8 { public static int sum(int... bs ) { int sum = 0;

for (int b : bs) { sum += b; return sum; public static Double sum(double... bs ) { Double sum = 0.0; for (Double b : bs) { sum += b; return sum; System.out.println(sum(1, 2, 3)); System.out.println(sum(1.0, 2.3, 3.1));