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
} {
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
} {
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
} {
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
} {
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; }