Transcript Materi5-PBO

Method & Constructor

METHOD

Method

• • Dalam bahasa pemrograman lain dikenal dengan nama prosedur/fungsi.

Representasi dari behaviour atau tingkah laku yang dimiliki oleh real world object.

Syntax Deklarasi Method

} { ([parameter]) []

Contoh

public void menangis(String suara) { tangis = “hik..hikk..hik…”; suara = tangis; System.out.println(suara); } String tertawa() { String suara = “ha..ha..ha..ha..”; return suara; }

Modifier Return type

Contoh

Nama method public void menangis(String suara) { tangis = “hik..hikk..hik…”; suara = tangis; System.out.println(suara); } String tertawa() { String suara = “ha..ha..ha..ha..”; return suara; } Return type Return value parameter

Komponen

• Komponen pembentuk method : 1.Nama method 2.Modifier

3.Return type 4.Parameter

(1) Nama Method

• • • Aturan penamaan method sama seperti aturan penamaan variabel.

Tidak dapat menggunakan kata yang termasuk keyword java.

Biasanya diawali dengan huruf kecil.

Letak Nama Method Pada method

} {

([parameter]) []

(2) Return Type

• • • • Return type berhubungan dengan nilai yang akan dikembalikan oleh method (return value) ketika proses invoking/pemanggilan.

Return type bisa berupa tipe data primitif maupun tipe reference.

Method yang tidak memiliki return value memiliki return type void.

Method yang memiliki return value memiliki statement return didalam blok-nya.

Letak Return Type Pada method

} {

([parameter]) []

Return type

Contoh

public int getCount() { int count =10; return count; }

Return value

Return type

Contoh

public void getCount() { int count =10; }

Tanpa return value

(3) 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

} {

([parameter])

[]

Contoh

public void setName(String nama) { String name = nama; System.out.print(name); }

parameter

Contoh

public void setName(String nama, byte usia) {

parameter

String name = nama; System.out.print(name); }

(4) Method Modifier

• • • • • • • Public private Protected No Modifier (default) Final Static Abstract

Access Modifier

Letak Modifier Pada method

} {

([parameter]) []

Modifier : Public

• • Method dapat diakses di seluruh package. Baik didalam package tempat class dideklarasikan maupun diluar package.

Contoh : { public void getName() }

Modifier : Private

• • Method hanya dapat diakses oleh class itu sendiri.

Contoh : { private void getName() }

Modifier : Protected

• • Method dapat diakses diseluruh package tempat class dideklarasikan dan class anak yang ada diluar package.

Contoh : { protected void getName() }

No Modifier (Default)

• • Method hanya dapat diakses dipackage tempat class dideklarasikan.

Contoh : { void getName() }

Modifier : Static

• • Method yang dideklarasikan static dapat diakses tanpa harus membuat object terlebih dahulu.

Contoh : { public static void getName() }

Modifier : Abstract

• • Method abstract adalah method yang tidak memiliki body, hanya berupa deklarasi saja.

Contoh : abstract void getName();

Modifier : Final

• • Jika sebuah method ber-modifier final berarti method tersebut tidak dapat di override.

Contoh : { final void getName() }

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

• Pengaksesan tanpa argument :

getNama();

• Pengaksesan dengan 1 argument :

getNama( “nia”);

• Pengaksesan dengan 2 argument :

getNama( “nia”, “ramadhani”);

Tipe Argument

• • • Nilai yang dikirim melalui argument dapat berupa variabel reference maupun variabel biasa.

Jika yang dikirim ke method adalah value atau variabel biasa 

Pass by value

Jika yang dikirim ke method adalah alamat memori atau variabel reference 

Pass by reference

Pass by Value

• • Mengirimkan value/nilai ke parameter method Contoh :

String nama = “Shanti”; Mahasiswa.getNama(nama); Variabel biasa

Pass by Reference

• • Mengirimkan alamat memori/referensi ke parameter method Contoh :

Student maba = new Student(); Mahasiswa.getNama(maba); Variabel reference

Polymorphism

• • Polymorfisme : yang memiliki banyak bentuk.

Contoh penerapan dari konsep polymorfisme adalah method overload.

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);

Method Accessor

 digunakan untuk membaca value (variabel) dari class.  ditulis dengan menggunakan sintaks berikut:

get

 dapat me-return value.

Contoh 1

} public class StudentRecord { private String name;

public String getName(){ Method accessor

return name; }

Contoh 2

public class StudentRecord { private String name;

Method accessor public double getAverage(){

double result = 0; result=(mathGrade+scienceGrade)/3; return result; } }

Method Mutator

– digunakan untuk menulis atau mengubah value (variabel) dari class. – Ditulis dengan menggunakan sintaks berikut:

set

contoh

} public class StudentRecord { private String name; }

public void setName( String temp ){ Method mutator

name = temp;

Main Method

• Merupakan awal dari eksekusi program.

public static void main(String[] args) { [statement] }

Penjelasan

 public : merupakan modifier dari method main(), yang berarti bahwa method dapat diakses dimanapun  static : keyword ini berfungsi untuk memberi tahu kompiler bahwa method main bisa langsung digunakan dalam context class yang bersangkutan. Untuk mengeksekusi/menjalankan method yang bertipe static, tidak diperlukan instance nya.

 void : menunjukkan bahwa method main() tidak mengembalikan nilai   main : merupakan nama method utama dari program java

Penjelasan

String [] args : Menyatakan bahwa method main() menerima single parameter yaitu args yang bertipe array. Digunakan pada saat memasukkan parameter pada saat menjalankan program.

Contoh: java TestGreeting param1 param2 param3

Variabel, Method & Cosntructor

CONSTRUCTOR

Constructor

• • • Digunakan untuk memberikan inisialisasi pada object.

Syntax constructor sama seperti method namun tidak memiliki return value.

Nama constructor harus sama dengan nama class.

Syntax constructor

} { ([parameter]) []

Contoh

} { class Buku() { Buku()

Nama constructor sama dengan nama class

judul = “apa aja”; pengarang = “siapa saja”; }

Default Constructor

• • Berupa constructor kosong yang secara otomatis akan ditambahkan oleh compiler pada setiap class.

Contoh default constructor : } { class Buku() } { Buku() Statement kosong

Pengaksesan Constuctor

• • Pengaksesan constructor dilakukan ketika terjadi pembuatan object. Dengan cara memberikan nilai diantara tanda ( dan ).

Syntax :

namaClass namaVariabel = new namaClass( nilai constructor );

Contoh

• Pengaksesan constructor tanpa parameter :

Mahasiswa maba = new Mahasiswa();

• Pengaksesan constructor dengan 1 parameter :

Mahasiswa maba = new Mahasiswa(“Santi”);

• Pengaksesan constructor dengan 2 parameter :

Mahasiswa maba = new Mahasiswa(“1234”,”Santi”);

Overload Constructor

• • Sebuah class dapat memiliki lebih dari satu constructor.

Pembeda constructor overloading tersebut adalah parameter.

Contoh Implementasi

public StudentRecord(){ //beberapa kode inisialisasi di sini } public StudentRecord(String temp){ this.name = temp; } public StudentRecord(String name, String address){ this.name = name; this.address = address; } public StudentRecord(double mGrade,double eGrade,double sGrade){ mathGrade = mGrade; englishGrade = eGrade; scienceGrade = sGrade; }