Transcript method

METHOD
Object Oriented Programming with JAVA
2011/2012
Topics
•
•
•
•
•
Deklarasi Method
Passing parameter
Pengaksesan method
Method overload
Method modifier
Method
• Dalam bahasa pemrograman lain dikenal
dengan nama prosedur/fungsi.
• Representasi dari behaviour atau tingkah
laku yang dimiliki oleh real world object.
• Method merupakan salah satu anggota
kelas.
Syntax Deklarasi Method
<modifier> <return_type> <nama_metode>
([parameter])
{
[<statement>]
}
Return Value & Return type
• tipe : tipe data yang akan dikembalikan
method; terbagi menjadi void dan
bukan-void
• tipe void : jika method tidak
mengembalikan nilai
• tipe bukan-void : ditandai dengan ada
keyword return pada body method, dan
pada signature method memiliki return
type, dapat berupa : tipe data primitif
maupun tipe data reference.
Contoh deklarasi method
• Membuat method cetakVolume()
• Method tidak mengembalikan nilai  tipe
kembalian : void
void cetakVolume(){
System.out.println(“Volume kotak = ” +(panjang*lebar*tinggi));
}
Contoh deklarasi method
• Membuat method hitungVolume(),
method akan mengembalikan volume
kotak yang tipenya double.
double hitungVolume(){
double volume;
volume = panjang * lebar * tinggi;
return volume;
}
Pengaksesan Method
• Pengaksesan method dapat dilakukan dengan
menggunakan tanda titik setelah nama object.
• Syntax :
nama_object.nama_method(argument);
• Argument adalah nilai yang dikirim ke method dan akan
ditangkap oleh parameter. Nilai dan jumlah argument
disesuaikan dengan parameter dari method yang akan
diakses.
Contoh Method
Method setNama
Method bacaNama
Mengakses method
Parameter
• Parameter adalah variabel yang akan
menangkap argument yang dikirim ketika
proses invoking method.
• Aturan penulisan parameter sama seperti
deklarasi variabel.
• Ditulis diantara tanda ( dan) pada method
signature.
• Parameter bersifat optional. Method bisa
memiliki parameter kosong.
• Untuk method yang memiliki lebih dari satu
parameter penulisannya dipisahkan dengan
tanda koma (,)
Letak Parameter Pada
method
<modifier> <return_type> <nama_metode>([parameter])
{
[<statement>]
}
Contoh:
Method dengan Parameter
• Nilai-nilai yang dikirimkan pada parameter
akan digunakan di dalam method.
• Contoh : menambahkan method isiData
ke kelas Kotak yang digunakan untuk
mengisi nilai panjang, lebar, dan tinggi.
parameter
void isiData(double p, double l, double t){
panjang = p;
lebar = l;
tinggi = t;
}
Pengiriman Parameter (passing parameter)
• Terdapat 2 jenis passing parameter :
• pass by value
• pass by reference
• Jika parameter merupakan tipe data
primitif  pass by value
• Jika parameter berupa objek  pass by
reference
Contoh Objek sbg Nilai Kembalian & Parameter
//objek sbg tipe kembalian
Kotak perbesar(int m){
Kotak tmp = new Kotak(m*panjang, m*lebar, m*tinggi);
return tmp;
}
//objek sbg parameter
boolean samaBentuk(Kotak k){
if(k.panjang==panjang &&k.lebar==lebar && k.tinggi==tinggi)
return true;
else
return false;
}
Contoh Pemanggilan
public class DemoKotak {
public static void main(String[] args) {
Kotak k1 = new Kotak(10,5,17);;
Kotak k2;
k1.cetakVolume();
k2 = k1.perbesar(2);
k2.cetakVolume();
}
}
public class DemoKotak {
public static void main(String[] args) {
Kotak k1 = new Kotak(10,5,17);
Kotak k2 = new Kotak(10,5,17);;
boolean sama;
sama = k1.samaBentuk(k2);
if (sama==true)
System.out.println("k1 & k2 sama bentuknya.");
else
System.out.println("k1 & k2 tidak sama bentuknya.");
}
}
Contoh
public class MyDate {
private int day=1;
private int month=1;
private int year=2000;
public MyDate(int day, int month, int year) {
…
}
public void setDay(int day) {
// change the day
}
public void print() {
// print the day, month and year
}
}
public class TestMyDate {
public static void changeInt(int value) {
value = 10;
}
public static void changeObjectRef(MyDate ref) {
ref = new myDate(3, 5, 2003);
}
public static void changeObjectAttr(Mydate ref) {
ref.setDay(5);
}
public static void main(String args[]) {
int x=5;
changeInt(x);
System.out.println(x);
MyDate today=new MyDate(10,10,2005);
changeObjectRef(today);
today.print();
changeObjectAttr(today);
today.print();
}
}
Hasil eksekusi
> java TestMyDate
5
10-10-2005
5-10-2005
Kata kunci : this
• this digunakan sebagai referensi ke
objek yang sedang aktif
• Contoh :
• penggunaan this pada constructor
(ketika nama parameter sama dengan
nama atribut kelas)
Kotak (int panjang, int lebar, int tinggi) {
this.panjang = p;
this.lebar = l;
this.tinggi = t;
}
Method Overload
• Sebuah class dapat memiliki beberapa
method dengan nama yang sama.
• Pembeda antara method-method tersebut
adalah parameter.
contoh
public void print (String temp){
System.out.println(“Name:”+name);
System.out.println(“Address:”+address);
System.out.println(“Age”+age);
}
public void print(double eGrade, double mGrade, double sGrade){
System.out.println(“Name”+name);
System.out.println(“Math Grade”+mGrade);
System.out.println(“English Grade”+eGrade);
System.out.println(“Science Grade”+sGrade);
}
Overloading method
Overloading method
Overloading method
Latihan
• Penjelasan method :
PesanKamar
jumlahKamar
lamaInap
harga
namaPemesan
PesanKamar
totalBayar
cetakBill
• PesanKamar adalah constructor yang
akan menginisialisasi seluruh atribut dg
nilai tertentu
• totalBayar akan mengembalikan
berapa yang harus dibayar oleh
pemesan.
totalBayar() : return harga
totalBayar(lamaInap,jumlahKamar) :
return total
(total = lamaInap*jumlahKamar*harga)
• cetakBill akan menuliskan ke layar
“Tagihan untuk Tn./Ny. … sebesar Rp
…”
Latihan

Penjelasan method :

Waktu
jam
menit


detik
Waktu
cetakWaktu

setJam
setMenit
setDetik

Waktu adalah constructor yang akan
menginisialisasi seluruh atribut dg nilai
tertentu
cetakWaktu akan menuliskan ke layar
“Waktu saat ini jam:menit:detik”
setJam akan mengisi nilai jam. Method
memiliki parameter 1 integer yaitu nilai
jam yang ingin dimasukkan. Nilai yang
diperbolehkan adalah 0<= jam <= 23
setMenit akan mengisi nilai menit.
Method memiliki parameter 1 integer
yaitu nilai menit yang ingin dimasukkan.
Nilai yang diperbolehkan adalah 0<= jam
<= 59
setDetik akan mengisi nilai jam. Method
memiliki parameter 1 integer yaitu nilai
detik yang ingin dimasukkan. Nilai yang
diperbolehkan adalah 0<= jam <= 59