ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
OBJECT & CLASS
E. Haodudin Nurkifli
Universitas Ahmad Dahlan
Pertemuan :
Review
Class - Name
attribute-name-1 : data-type-1 = default-value-1
attribute-name-2 : data-type-2 = default-value-2
operation-name-1 ( argument-list-1) : result-type-1
operation-name-2 ( argument-list-2) : result-type-2
responsibilities
2
PENAMAAN
Umumnya , nama kelas adalah kata atau frasa
benda sederhana yang diambil dari vocabulary
sistem yang dimodelkan
ï‚¢ Umumnya nama kelas ditulis dengan huruf kapital
di setiap huruf awal kata
Contoh:
ï‚¢

ï‚— Customer
ï‚— TemperatureSensor.

3
ATRIBUT
Attribute (atribut) menunjukkan beberapa properti
dari suatu hal yang dimodelkan untuk dibagi
dengan semua objek pada kelas tersebut
ï‚¢ Sebuah kelas dapat memiliki berapa pun jumlah
atribut
ï‚¢ Umumnya, nama atribut adalah kata atau frasa
benda sederhana yang menunjukkan beberapa
properti untuk menggambarkan kelas.
ï‚¢ Umumnya nama kelas ditulis dengan huruf kapital
di setiap huruf awal kata (kecuali kata pertama)
Contoh:
ï‚¢

ï‚—

loadBearing.

4
PENENTUAN ATRIBUT

Atribut ditentukan berdasarkan:
ï‚¢ Karakteristik alamiah yang dimiliki objek
ï‚¢ Pengetahuan yang harus diketahui hanya oleh
objek tersebut
Harus hati-hati:
ï‚¢ Menentukan apakah atribut atau kelas
ï‚¢ Menentukan apakah atribut milik kelas atau
atribut asosiasi

5
MENENTUKAN ATRIBUT

ï‚¢

Deskripsi atribut:
ï‚—
ï‚—
ï‚—
ï‚—
ï‚—

ï‚¢

Informasi yang dibutuhkan saat instansiasi
Representasi dari state
Informasi yang didapat dari asosiasi
Informasi tambahan yang dibutuhkan saat implementasi
Semua informasi yang perlu dipelihara oleh objek

Property atribut:

Changeable
 bisa dimodifikasi dengan bebas
ï‚— AddOnly
 untuk atribut dengan multiplicity >1, nilai bisa
ditambahn, tetapi nilai yang ada tidak dapat diubah atau
dihapus
ï‚— Frozen
 nilai atribut tidak bisa diubah sejak objek diinisialisasi
ï‚—

6
CONTOH

7
METHOD
ï‚¢ Menggambarkan

implementasi operasi

ï‚¢ Tujuan
ï‚— Mendefinisikan

operasi

ï‚¢ Yang

aspek spesial dari implementasi

harus diperhatikan:

ï‚— Algoritma

khusus
ï‚— Objek atau operasi lain yang digunakan
ï‚— Bagaimana atribut dan parameter
diimplemntasikan dan digunakan
ï‚— Bagaimana relasi diimplementasikan dan
digunakan

8
OPERASI
ï‚¢

Semua operasi dan atribut harus mendukung
minimal sebuah use case
ï‚¢ Membuat sebuah operasi untuk setiap
responsibility
 gunakan deskripsi responsibility sebagai
deskripsi awal
ï‚¢ Dari realisasi use case
ï‚¢ Kebutuhan khusus pada realisasi use case
ï‚¢ Lain-lain:
Inisialisasi objek
ï‚— Test apakah dua objek ekivalen atau tidak
ï‚— Membuat copy dari objek
ï‚— Dibutuhkan untuk sebuah mekanisme khusus
 contoh: garbage collection
ï‚—

9
OPERASI
operation (operasi)
merupakan
implementasi dari
layanan yang dapat
diminta dari objek pada
kelas tersebut
ï‚¢ Dengan kata lain,
operasi adalah abstrak
dari sesuatu yang dapat
kita lakukan terhadap
objek dan dimiliki oleh
semua objek kelas
tersebut
ï‚¢

10
CONTOH

11
VISIBILITY
Definisi
Visibility merupakan kemampuan suatu obyek
untuk melihat atau berhubungan dengan obyek
lain.

12
VISIBILITY BETWEEN OBJECTS
ï‚¢ Untuk

mengirim pesan dari satu obyek ke
obyek lain, obyek penerima harus visible
terhadap pengirim.
ï‚¢ Jadi, pengirim harus memiliki pointer ke
penerima.
Contoh:
B visible terhadap A, berarti A dapat
mengirim pesan pada B.
13
VISIBILITY BETWEEN OBJECTS

14
JENIS VISIBILITY
Bagaimana visibility dapat terbangun dari obyek A ke
obyek B:
ï‚¢ Attribute visibility - B merupakan atribut dari A
ï‚¢ Parameter visibility - B adalah parameter dari method di
A
ï‚¢ Local visibility - B adalah local object dari method di A
ï‚¢ Global visibility - B visible secara global

15
ATTRIBUTE VISIBILITY
ï‚¢

Attribute visibility dari A ke B terjadi jika B adalah
atribut dari A
ï‚— Relatif

permanen, karena visibility terjadi selama obyek A
dan B ada
ï‚— Contoh:
public class Register
{…
private ProductCatalog Catalog;
…
}

16
ATTRIBUTE VISIBILITY

17
LOCAL VISIBILITY
ï‚¢

Local visibility dari A ke B terjadi jika B
dideklarasikan sebagai local object dalam method
di A.
ï‚— Bersifat

temporary karena hanya ada dalam lingkup

method.

18
LOCAL VISIBILITY
ï‚¢

Create local instance baru dan assign sebagai local
variable.

ï‚¢

Assign returning object dari suatu method menjadi
local variable.

19
LOCAL VARIABLE VISIBILITY
ï‚¢

Apakah objek penerima adalah sebuah temporary
object yang dibuat pada operasi?
Jika ya, definisikan dependensi antara objek pengirim dan
penerima
ï‚— Pada diagram kolaborasi, kualifikasikan sebagai local
ï‚—

20
PARAMETER VISIBILITY
ï‚¢

Parameter visibility dari A ke B terjadi jika B
merupakan parameter dari method di A.
ï‚— Bersifat

temporary karena hanya ada dalam lingkup

method

21
PARAMETER VISIBILITY

22
PARAMETER TO ATTRIBUTE
VISIBILITY
ï‚¢

Transformasi parameter visibility menjadi attribute
visibility.

23
PARAMETER VISIBILITY
ï‚¢

Apakah pengacuan terhadap objek penerima
diimplementasikan sebagai operasi?
ï‚—
ï‚—

Jika ya, definisikan dependensi antara objek pengirim dan
penerima
Jika memakai diagram kolaborasi, kualifikasikan sebagai
parameter

24
GLOBAL VISIBILITY
ï‚¢

Global visibility dari A ke B terjadi jika B global
terhadap A.
ï‚— Bersifat

permanen karena visibility terjadi selama obyek
A dan B ada.

ï‚¢

Cara global visibility:
ï‚— Assign

suatu instance menjadi global variable.
ï‚— Menggunakan Singleton pattern

25
GLOBAL VISIBILITY
ï‚¢

Instans visible karena didefinisikan global
ï‚— Jika ya, definisikan dependensi antara objek
pengirim dan penerima
ï‚— Jika memakai diagram kolaborasi, kualifikasikan
sebagai global

26

More Related Content

Pertemuan 9a-apbo-obyek-dan-klass1

  • 1. OBJECT & CLASS E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan :
  • 2. Review Class - Name attribute-name-1 : data-type-1 = default-value-1 attribute-name-2 : data-type-2 = default-value-2 operation-name-1 ( argument-list-1) : result-type-1 operation-name-2 ( argument-list-2) : result-type-2 responsibilities 2
  • 3. PENAMAAN Umumnya , nama kelas adalah kata atau frasa benda sederhana yang diambil dari vocabulary sistem yang dimodelkan ï‚¢ Umumnya nama kelas ditulis dengan huruf kapital di setiap huruf awal kata Contoh: ï‚¢ ï‚— Customer ï‚— TemperatureSensor. 3
  • 4. ATRIBUT Attribute (atribut) menunjukkan beberapa properti dari suatu hal yang dimodelkan untuk dibagi dengan semua objek pada kelas tersebut ï‚¢ Sebuah kelas dapat memiliki berapa pun jumlah atribut ï‚¢ Umumnya, nama atribut adalah kata atau frasa benda sederhana yang menunjukkan beberapa properti untuk menggambarkan kelas. ï‚¢ Umumnya nama kelas ditulis dengan huruf kapital di setiap huruf awal kata (kecuali kata pertama) Contoh: ï‚¢ ï‚— loadBearing. 4
  • 5. PENENTUAN ATRIBUT Atribut ditentukan berdasarkan: ï‚¢ Karakteristik alamiah yang dimiliki objek ï‚¢ Pengetahuan yang harus diketahui hanya oleh objek tersebut Harus hati-hati: ï‚¢ Menentukan apakah atribut atau kelas ï‚¢ Menentukan apakah atribut milik kelas atau atribut asosiasi 5
  • 6. MENENTUKAN ATRIBUT ï‚¢ Deskripsi atribut: ï‚— ï‚— ï‚— ï‚— ï‚— ï‚¢ Informasi yang dibutuhkan saat instansiasi Representasi dari state Informasi yang didapat dari asosiasi Informasi tambahan yang dibutuhkan saat implementasi Semua informasi yang perlu dipelihara oleh objek Property atribut: Changeable  bisa dimodifikasi dengan bebas ï‚— AddOnly  untuk atribut dengan multiplicity >1, nilai bisa ditambahn, tetapi nilai yang ada tidak dapat diubah atau dihapus ï‚— Frozen  nilai atribut tidak bisa diubah sejak objek diinisialisasi ï‚— 6
  • 8. METHOD ï‚¢ Menggambarkan implementasi operasi ï‚¢ Tujuan ï‚— Mendefinisikan operasi ï‚¢ Yang aspek spesial dari implementasi harus diperhatikan: ï‚— Algoritma khusus ï‚— Objek atau operasi lain yang digunakan ï‚— Bagaimana atribut dan parameter diimplemntasikan dan digunakan ï‚— Bagaimana relasi diimplementasikan dan digunakan 8
  • 9. OPERASI ï‚¢ Semua operasi dan atribut harus mendukung minimal sebuah use case ï‚¢ Membuat sebuah operasi untuk setiap responsibility  gunakan deskripsi responsibility sebagai deskripsi awal ï‚¢ Dari realisasi use case ï‚¢ Kebutuhan khusus pada realisasi use case ï‚¢ Lain-lain: Inisialisasi objek ï‚— Test apakah dua objek ekivalen atau tidak ï‚— Membuat copy dari objek ï‚— Dibutuhkan untuk sebuah mekanisme khusus  contoh: garbage collection ï‚— 9
  • 10. OPERASI operation (operasi) merupakan implementasi dari layanan yang dapat diminta dari objek pada kelas tersebut ï‚¢ Dengan kata lain, operasi adalah abstrak dari sesuatu yang dapat kita lakukan terhadap objek dan dimiliki oleh semua objek kelas tersebut ï‚¢ 10
  • 12. VISIBILITY Definisi Visibility merupakan kemampuan suatu obyek untuk melihat atau berhubungan dengan obyek lain. 12
  • 13. VISIBILITY BETWEEN OBJECTS ï‚¢ Untuk mengirim pesan dari satu obyek ke obyek lain, obyek penerima harus visible terhadap pengirim. ï‚¢ Jadi, pengirim harus memiliki pointer ke penerima. Contoh: B visible terhadap A, berarti A dapat mengirim pesan pada B. 13
  • 15. JENIS VISIBILITY Bagaimana visibility dapat terbangun dari obyek A ke obyek B: ï‚¢ Attribute visibility - B merupakan atribut dari A ï‚¢ Parameter visibility - B adalah parameter dari method di A ï‚¢ Local visibility - B adalah local object dari method di A ï‚¢ Global visibility - B visible secara global 15
  • 16. ATTRIBUTE VISIBILITY ï‚¢ Attribute visibility dari A ke B terjadi jika B adalah atribut dari A ï‚— Relatif permanen, karena visibility terjadi selama obyek A dan B ada ï‚— Contoh: public class Register {… private ProductCatalog Catalog; … } 16
  • 18. LOCAL VISIBILITY ï‚¢ Local visibility dari A ke B terjadi jika B dideklarasikan sebagai local object dalam method di A. ï‚— Bersifat temporary karena hanya ada dalam lingkup method. 18
  • 19. LOCAL VISIBILITY ï‚¢ Create local instance baru dan assign sebagai local variable. ï‚¢ Assign returning object dari suatu method menjadi local variable. 19
  • 20. LOCAL VARIABLE VISIBILITY ï‚¢ Apakah objek penerima adalah sebuah temporary object yang dibuat pada operasi? Jika ya, definisikan dependensi antara objek pengirim dan penerima ï‚— Pada diagram kolaborasi, kualifikasikan sebagai local ï‚— 20
  • 21. PARAMETER VISIBILITY ï‚¢ Parameter visibility dari A ke B terjadi jika B merupakan parameter dari method di A. ï‚— Bersifat temporary karena hanya ada dalam lingkup method 21
  • 23. PARAMETER TO ATTRIBUTE VISIBILITY ï‚¢ Transformasi parameter visibility menjadi attribute visibility. 23
  • 24. PARAMETER VISIBILITY ï‚¢ Apakah pengacuan terhadap objek penerima diimplementasikan sebagai operasi? ï‚— ï‚— Jika ya, definisikan dependensi antara objek pengirim dan penerima Jika memakai diagram kolaborasi, kualifikasikan sebagai parameter 24
  • 25. GLOBAL VISIBILITY ï‚¢ Global visibility dari A ke B terjadi jika B global terhadap A. ï‚— Bersifat permanen karena visibility terjadi selama obyek A dan B ada. ï‚¢ Cara global visibility: ï‚— Assign suatu instance menjadi global variable. ï‚— Menggunakan Singleton pattern 25
  • 26. GLOBAL VISIBILITY ï‚¢ Instans visible karena didefinisikan global ï‚— Jika ya, definisikan dependensi antara objek pengirim dan penerima ï‚— Jika memakai diagram kolaborasi, kualifikasikan sebagai global 26