Index of /Kuliah2012-2013/PJJ_BANJAR/PBO Day 6

PEMROGRAMAN BERBASIS
OBJEK
Class Design

Tujuan
…
…
…
…

Memahami Proses pembuatan class
Memahami Pendeklarasian kelas
Memahami Proses instantiate object
M
Memahami
h i penggunaan package
k

Java OOP Concept
…
…


…

Inheritance = pewarisan, penurunan sifat
Polymorphism
y
p
= object
j dapat
p direpresentasikan
p
dalam berbagai bentuk
Encapsulation = pembungkusan object,
object
menyembunyikan struktur data dan implementasi
dari obyek lain.
lain

Komponen dalam java class
…


Attribute / Property
† Nilai

yang dapat ditulis untuk menggambarkan obyek
tersebut
† Identitas dari obyek
…

Method / Behaviour
† Fungsi

yang berlaku pada obyek tersebut
† Fungsi untuk mengakses suatu attribut

Pembuatan Java Class
…
…
…


…

Definisikan nama class
Definisikan seluruh attribut dari class
Definisikan behaviour/perilaku yang mungkin
dimiliki oleh class
Instantiate / create class tersebut menjadi object

Class Diagram

Employee
Name : String
Salary : Currency
Birthday : Date
GetBirthday()
SetBhritday()
GetDetails()
SetDetails()

Employee : Class definition for Employee object

May have attributes :
- Name : employee name
- Salary
S l
: employee
l
salary
l
- Birthday : employee bhirtday
May have methods :
- GetBirthday : get employee birthday
- SetBirthday : set employee birthday
- GetDetails : get employee name and salary

Deklarasi Java Class
…

Format pembuatan kelas :
class {
deklarasi attribute;

deklarasi constructor;
deklarasi method;
}

Contoh Deklarasi Class

modifier

Class name

Deklarasi Attribute
…

Format deklarasi:

;
_
…

Contoh :


Deklarasi Constructor
…

…

Format deklarasi:
([]);
Contoh :

constructor

Deklarasi Method
…

Format deklarasi:

yp

([])

{
statements;
}

Contoh :

method

Modifier
…

Private :
†

…

Protected
†

…


Attribut atau method bisa diakses pada hanya kelas yang
sama dan turunannya

Public
†

…

Attribut atau method hanya bisa diakses hanya pada kelas
yang sama

Attribut atau method bisa diakses pada semua kelas.

Default
†

Attribut atau method bisa diakses hanya pada kelas yang
sama dan dalam package yang sama


Instantiate Object
…
…

Setelah class dibuat, bisa diinstantiate dengan new
Contoh :

Instantiate class menjadi object dan e sebagai
referensi

What happen when object instantiate?
…
…
…
…

Alokasi memori
Inisialisasi attribute dengan
g nilai default
Menjalankan constructor

A i
Assignment
t antara
t
atribut
t ib t – atribut
t ib t d
dengan obyek
b k

Alokasi Memori

e

Inisialisasi nilai default

e
name
Salary


“””
0

Assignment Nilai eksplisit (jika ada)

e
name
Salary

“””
0

Menjalankan constructor

e
name
Salary

“Udin””
2000000

Assign reference

e
name
Salary

0x01abcdef

“Udin””
2000000

Mengakses anggota kelas
…
…

Gunakan tanda (.) untuk mengakses anggota kelas.
Contoh :

Ak anggota kelas
Akses
k l

Subclassing

Manager
Name : String
Salary : Currency
Birthday : Date
Department : String

Manager : Definisi kelas sama dengan Employee
T d
Terdapat
t tambahan
t b h Attribute
Att ib t : Department
D
t
t

GetBirthday()
SetBhritday()
GetDetails()
SetDetails()

Manager juga merupakan employee.

Subclassing
Employee
Name : String
Salary : Currency
Birthday : Date
GetBirthday()
y()
SetBhritday()
GetDetails()
SetDetails()

Generalisasi kelas Manager menjadi turunan dari
kelas Employee
Java hanya mengenal single inheritance
Semua attribut dan method yang bersifat protected
dan public dapat di akses pada turunan

Manager
Departement : String

Deklarasi Java Class
Penurunan dari
kelas lain

Mengakses anggota kelas
Akses method parent

Akses method

More Inheritance
Employee
Name : String
Salary : Currency
Birthday : Date
GetBirthday()
SetBhritday()
GetDetails()
SetDetails()

Manager
Engineer

Departement : String

Director
CarAllowance : Double
IncreaseAllowance()

Secretary

Package (Paket)
…

…

…

Kumpulan dari class yang diletakkan secara
hierarki dalam suatu kelompok direktori
Paket seperti direktori dapat memiliki subpaket dan
subpaket
p
dapat
p memiliki class maupun
p subpaket
p
lagi
Deklarasi package :
package ;

Package (Paket)
…

Contoh bila terdapat class Employee diletakkan
pada direktori oop/tutor/Employee.class, maka
untuk menggunakan paket tersebut didefinisikan :

package
pac
age oop.tuto
oop.tutor;
;
…

Untuk menggunakan paket tersebut dalam aplikasi
digunakan kata kunci import :
import oop.tutor.Employee;

Pembuatan package
…

…
…
…

Buat direktori pada folder project, misal nama dir
oop.
Dari dir oop, buat lagi folder bernama tutor
Buat class Employee dan simpan di folder tutor.
tutor
Buat class TestEmployee yang mengakses class
E l
Employee,
simpan
i
di ffolder
ld project
j t

Import Package
…

Class – class dalam paket dapat digunakan
dengan kata kunci import, disusul dengan nama
paket, subpaket, dan nama kelas
p
oop.tutor.a;
p
;
import
import oop.tutor.b;

atau
ata
import oop.tutor.*;

Contoh :
Package oop.tutor

Import oop.tutor