Constructor atau konstruktor digunakan untuk melakukan
inisialisasi variable-variabel instan class Bentuk lain dari enkapsulasi adalah memasukkan nilai atribut dengan menggunakan konstruktor
Konstruktor = Membentuk Objek
KONSTRUKTOR Pendefenisian konstruktor: Nama constructor sama dengan nama class. Pengaturan visibility constructor.
public class Employee{ public class Employee{
private String nama; private String nama; public Employee(){ public Employee(String nama){ this.nama = nama; } } } } Konstruktor Kosong Konstruktor dengan parameter (secara default akan dibentuk jika (konstruktor kosong tidak akan dibentuk tidak ada konstruktor didefinisikan) jika ada konstruktor yang didefenisikan) OVERLOADING KONSTRUKTOR Konstruktor dapat dituliskan >1x dalam sebuah class Penulisan kembali konstruktor disebut “overloading”
Apa syarat dari overloading?
Bagaimana cara penggunaan konstruktor overloading?
PENGGUNAAN KONSTRUKTOR public class Main{ public static void main(String args[]){ Employee e1 = new Employee(“XYZ”); } } Pemanggilan Konstruktor
Tipe Object public class Employee{
private String nama; public Employee(String nama){ this.nama = nama; Keyword } Instansiasi Nama Object } PROSEDUR DAN FUNGSI Prosedur tidak mengembalikan nilai Fungsi mengembalikan nilai Pemanggilan prosedur dan fungsi non-static dilakukan melalui objeknya public class HitungAritmatik{ private int hasil; public int hitungTambah(int a, int b){ hasil = a+b; } public int hitungKali(int a, int b){ System.out.println(“Hasil Kali:”+(a*b)); }
public class Main{
public static void main(String args[]){ HitungAritmatik h1 = new HitungAritmatik(); h1.hitungKali(3,2); int x = h1.hitungTambah(4,17); System.out.println(“Hasil Operasi:”+x); } } PROSEDUR DAN FUNGSI
NOTE: Perhatikan cara pemanggilan dari prosedur Perhatikan cara pemanggilan dari fungsi Apakah bedanya??
Perhatikan jumlah parameter masukan dari tiap pemanggilan
ARRAY OF OBJECT
tipeData[ ] namaVariable [= new tipeData [jumlahElemen] ];
tipeData namaVariable[ ] [= new tipeData [jumlahElemen] ];
Deklarasi Umum
Mengandung 1 tipe objek
ARRAY OF EMPLOYEE
nip, nama, divisi;
setNip(); getNip(); setNama(); getNama(); setDivisi(); getDivisi(); ARRAY OF OBJECT public class Employee{ private String nip; Employee[] e = new Employee[3]; private String nama; private String divisi; e[0] = new Employee(); public void setNip(String nip){ e[0].setNama("Erik"); this.nip = nip; e[0].setNip("11-xx-76"); } e[0].setDivisi("SDM"); public String getNip(){ return this.nip; } ... ... Buatlah Implementasinya!!! } HASIL: LATIHAN Konohagakure mencatat data shinobi-nya dengan menggunakan konsep array of object. Data shinobi yang dibutuhkan adalah no registrasi ninja, nama dan peringkat ninja. Tentukanlah class diagram dari shinobi Buatlah implementasi dari pencatatan data shinobi dengan data sebagai berikut:
No. Registrasi Nama Peringkat
012606 Uchiha Sasuke Genin 012607 Uzumaki Naruto Genin 012601 Haruno Sakura Chunin SOLUSI TUGAS 3 Buat Class mahasiswa: atribut : nim, nama, TTL, program studi, Fakultas. Methodnya: set, get, hitungipk. Subject: Tugas 3 PBO Nim, Nama, Kelas Paling lambat 6 Maret 2018 jam 20.00 -END OF SLIDE-