Bab 9 class dan object diagram 2010

30
BAB VIII CLASS dan OBJECT DIAGRAM

description

 

Transcript of Bab 9 class dan object diagram 2010

Page 1: Bab 9 class dan object diagram 2010

BAB VIIICLASS dan OBJECT

DIAGRAM

Page 2: Bab 9 class dan object diagram 2010

CLASS DIAGRAM

-Diagram yang paling umum dijumpai padapemodelan berbasis UML

-Apa yang ada pada class diagram

* Class dan interface beserta atribut dan operasinya

* Relasi yang terjadi antar objek

* Constraint terhadap objek-objek yg saling berhubungan

* Inheritance untuk organisasi class yang lebih baik

- Static view dari elemen pembangun sistem

Page 3: Bab 9 class dan object diagram 2010

CLASS DIAGRAM• Mampu membantu proses pembuatan sistem

dengan memanfaatkan konsep forward/reverse

engineering* Memiliki 2 komponen penting

1. StructuralCiri pembeda antar object

2. BehavioralTingkah laku atau kegiatan yang mampu

dilakukan object

Page 4: Bab 9 class dan object diagram 2010

CLASS DIAGRAMContoh Kasus : pintu

• StrukturalLebarTinggiWarna

• Behavioral BukaTutup

Page 5: Bab 9 class dan object diagram 2010

CLASS• Merepresentasikan blueprint dari object

Properti: ciri khas dan pembeda antar objek

Metode: aksi yang dapat dilakukan oleh objek tersebut

Contoh class Manusia

Attribut: nama, usia, tanggal lahir

Method: berjalan, makan, minum

• Notasi kotak dengan 3 bagian

Nama kelas

Atribut

Metode/operation

Page 6: Bab 9 class dan object diagram 2010

• Temukan Objek yang potensial

Temukan kata benda (noun) yang berhubungan dengan entitas bisnis

• Singkirkan kata benda yang menggambarkan:– Synonim– Kata benda di luar ruang lingkup sistem– Kata benda yang merupakan role (pemeran) yang

tidak memiliki behavior yang unik atau external role– Kata benda yang belum jelas– Kata benda yang sebenarnya merupakan action

atau atribut.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Mencari dan mengidentifikasi objek-objek bisnis

Page 7: Bab 9 class dan object diagram 2010

1. Identifikasi association dan multiplicity

2. Identifikasi Generalization / specialization relationship

3. Identifikasi Aggregation relationship4. Siapkan Class Diagram

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Constructing a Class Diagram

Page 8: Bab 9 class dan object diagram 2010

• Tanda – artinya private

• + artinya public• # artinya protected

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Class

+operation1()-operation2()#operation3()

-attribute1-attribute2

Class

-attribute1-attribute2

Class

+operation1()+operation2()

Class

Page 9: Bab 9 class dan object diagram 2010

Atribut• Notasi dari atribut

visibility name: type multiplicity = default {property-string}

Contoha. - name: String [1] = "Untitled" {readOnly}

b. + berarti public, - berarti private, # berarti protected

c. “Untitled” adalah nilai yang diberikan secara default

jika tidak ditentukan saat objek dibuat

d. {readOnly} adalah properti tambahan dari atribut,

dimana disini berarti tidak bisa dimodifikasi

Page 10: Bab 9 class dan object diagram 2010

Operations• Notasi dari operations

visibility name (parameter-list) : return-type {property-string

• Parameter pada parameter-list dinotasikanseperti pada atribut* direction name: type = default value

* Direction bisa berupa: in, out, atau inout

Contoh* + balanceOn (date: Date) : Money

Page 11: Bab 9 class dan object diagram 2010
Page 12: Bab 9 class dan object diagram 2010

� Indikasi berapa banyak objek yang bisamengisi properti

* 1 (pasti 1)

* 0..1 (0 atau 1)

* * (Tidak ada batasan, bisa 0, 1, ..., n)

� Biasanya didefinisikan batas bawah dan atas, kecuali untuk yang pasti bernilai 1

� Mirip dengan konsep one-to-one dan one-to-many pada relational database

Multiplicity

Page 13: Bab 9 class dan object diagram 2010

Generalization• Inheritance pada

UML• Sub class mewarisi

feature dari super classnya

• Sub class mampuoverriding metodesuper classnya

• Dinotasikan dengananak panah mengacuke super class

Page 14: Bab 9 class dan object diagram 2010

Associations

• Menggambarkan hubungan antar class• Ditandai dengan garis lurus

• Seringkali ditambahkan label danmultiplicity untuk memperjelas hubungan

Page 15: Bab 9 class dan object diagram 2010

Aggregation� 'has a' relationship

* Klub memiliki banyak anggota

* Orang bisa memiliki makna tersendiri tanpa kehadiran

sebuah klub

� Dinotasikan dengan diamond “kosong”

� Jika dipisah, tidak merubah makna

Page 16: Bab 9 class dan object diagram 2010

Aggregation• Sebuah ruangan memiliki meja dan kursi

• Tanpa kehadiran ruang, meja dan kursibisa tetap ada

Page 17: Bab 9 class dan object diagram 2010

Composition� 'has a' or 'contains a' relationship (whole-

part)* Kampus memiliki fakultas CS atau kampus terdiri

dari fakultas CS (salah satunya)

* Tanpa ada kampus, maka tidak ada fakultas CS

Page 18: Bab 9 class dan object diagram 2010

• Contoh :

Page 19: Bab 9 class dan object diagram 2010
Page 20: Bab 9 class dan object diagram 2010
Page 21: Bab 9 class dan object diagram 2010

Diagram Diagram ObjectObject

-- BersifatBersifat statisstatis

-- MemperlihatkanMemperlihatkan objekobjek--objekobjek sertaserta relasirelasi--relasirelasi antarobjekantarobjek..

-- MemperlihatkanMemperlihatkan instantiasiinstantiasi statisstatis daridarisegalasegala sesuatusesuatu yang yang dijumpaidijumpai padapadadiagram diagram kelaskelas

Page 22: Bab 9 class dan object diagram 2010

• Sebuah objek adalah sebuah unit yang exist danberaksi dalam sistem yang berjalan.

• Semua objek adakah instance dari class. Objekmemiliki informasi yang ditunjukkan melalui atribut, yang strukturnya didefinisikan di dalam class.

• Objek dapat menerima message yang didefinisikandalam class, yaitu dalam bentuk operasi-operasiyang telah mendefinisikan message-message tersebut.

• Behaviour yang didefinisikan melalui message tersebut berlaku terhadap semua objek-objek dariclass, termasuk juga struktur atributnya. Meskipundemikian, nilai atributnya mungkin tidak sama antarasatu objek dengan objek lainnya.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Object

Page 23: Bab 9 class dan object diagram 2010

• Objek digambarkan dengan empat persegi panjang yang hanya memiliki nama objeknya atau ditambah dengannama class, atau nilai dari satu atribut tertentu atausemua atributnya.

• Jika nilai dari atribut hendak ditunjukkan, maka kotakempat persegi panjang dibagi menjadi dua bagian yang dipisahkan dengan garis horisontal. Untuk dapatmembedakan objek dengan class, nama objek diberigaris bawah, dan biasanya nama objek dituliskandengan huruf kecil.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Notasi Class

object :Class

attributeName = value

object: Class

Page 24: Bab 9 class dan object diagram 2010

• Atribut ditunjukkan dengan nama atributnya dan contohnilai/value dari atribut tersebut, sesuai dengankonteksnya. Operation tidak ditunjukkan karena merekatidak memiliki tampilan objek individual dan operationidentik untuk semua objek yang ada di class.

• Hubungan antara class dengan objek digambarkandengan tanda panah terputus-putus, dimana objekmenunjuk kepada classnya.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Class object

Page 25: Bab 9 class dan object diagram 2010

Ilustrasi dibawah ini menunjukkan sebuah objek yang bernama aCircle, yang merupakan sebuah instance dariclass Circle. Objek ini dilengkapi dengan dua atributradius dan center, dan radius memiliki nilai 25 dancenter (x,y) memiliki nilai (10,10).

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

aCircle:Circle

radius = 25center = (10,10)

Instance name

Attribute name

Class name

Attribute value

Page 26: Bab 9 class dan object diagram 2010

• Suatu atribut adalah sebuah (data) elemenyang memiliki cara yang sama dalamsetiap objek dari class dandirepresentasikan oleh setiap objekdengan suatu nilai individual/tersendiri

• Kebalikan dari objek, atribut tidak memilikiidentitas mereka sendiri diluar objekdimana mereka menjadi bagiannya. Atribut secara sepenuhnya dibawahkendali dari objek-objek dimana merekamenjadi bagiannya.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Atribut objek

Page 27: Bab 9 class dan object diagram 2010

• Variasi khusus dari atribut disebut sebagai derived attribute. Di dalam objek, mereka tidak diwakili secara fisikdengan sebuah nilai, tetapi dihitung secara otomatis. Instruksi perhitungan biasanya dituliskan dalam bentuksebuah constraint.

• Derived attributes hanya boleh derived(dihasilkan/diturunkan) dari elemen-elemen objek internal.

Notasi• Nama atribut dimulai dengan huruf kecil dan nama class

diawali dengan huruf besar, sedangkan tagged value danconstraint menggunakan kurung kurawal ({ })

• Derived attributes ditandai dengan tanda slash atau garismiring (/).Class Attribute diberi garis bawah, dan dalamspesifikasi (C++), public, protected dan private ditandaidengan simbol ‘+’,’#’,’-‘. Simbol untuk public, protected danprivate juga bisa digunakan untuk class Attribute.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Derived attribute

Page 28: Bab 9 class dan object diagram 2010

/derivedAttributeclassAttribute+publicAttribute#protectedAttribute-privateAttribute

• Didalam class, atribut dipisahkan dengan namaclass oleh sebuah garis horisontal, dan letaknya adadi kategori kedua dalam kotak empat persegipanjang class.

SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman

Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved

Person

name: string = 'Unknown'firstName : string = ' '

birthDate: Date/age {age=today-birthDate}

Page 29: Bab 9 class dan object diagram 2010
Page 30: Bab 9 class dan object diagram 2010