Bab 9 class dan object diagram 2010

Post on 18-Jan-2015

2.979 views 2 download

description

 

Transcript of Bab 9 class dan object diagram 2010

BAB VIIICLASS dan OBJECT

DIAGRAM

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

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

CLASS DIAGRAMContoh Kasus : pintu

• StrukturalLebarTinggiWarna

• Behavioral BukaTutup

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

• 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

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

• 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

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

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

� 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

Generalization• Inheritance pada

UML• Sub class mewarisi

feature dari super classnya

• Sub class mampuoverriding metodesuper classnya

• Dinotasikan dengananak panah mengacuke super class

Associations

• Menggambarkan hubungan antar class• Ditandai dengan garis lurus

• Seringkali ditambahkan label danmultiplicity untuk memperjelas hubungan

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

Aggregation• Sebuah ruangan memiliki meja dan kursi

• Tanpa kehadiran ruang, meja dan kursibisa tetap ada

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

• Contoh :

Diagram Diagram ObjectObject

-- BersifatBersifat statisstatis

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

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

• 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

• 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

• 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

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

• 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

• 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

/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}