際際滷

際際滷Share a Scribd company logo
CLASS DIAGRAM
E. Haodudin Nurkifli
Universitas Ahmad Dahlan
Pertemuan
CLASS DIAGRAM
Sebuah class adalah merupakan sebuah kategori/kelompok benda-benda dialam atau kelompok



dari benda-benda yang mempunyai atribute yang sama dan prilaku (behaviour) yang sama
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah



objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus



menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu



sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :



1.

Nama (dan stereotype)

2.

Atribut

3.

Metoda

Sifat Atribut serta Metoda :





Private (tidak dapat dipanggil dari luar class )



Protected ( dapat dipanggil oleh class yang bersangkutan dan yang mewarisinya)



Public (dapat dipanggil oleh siapa saja)
CLASS DIAGRAM
Class Diagram Format and sample class:
Package::Class

Person

visibility attribute:Type= Default value

- name:String
- address:String

visibility Operation (Parameter):Return
Type

+setAddress(address:String)
+getAddress():String
+setName(name:String)
+getName():String

Visibility
+ Public
# Protected
  Package
- Private

:
:
:
:

Able
Able
Able
Able

to
to
to
to

access
access
access
access

from any classes
from same class and its inherited classes
within same package
from same class
RELASI ANTAR CLASS
Assosiation
 Dependency
 Links
 Generalization
 Realization
RELASI ANTAR CLASS
Class Diagram Format and association:

Class Name
Attributes

Role
name

Association
name

1

Role
name
1..*

Class Name

Navigability

Attributes
Operations
(Methods)

Operations
(Methods)
Multiplicity

Multiplicity Notation
1
0..*
1..*
0..1

:
:
:
:

One and only one
None or more
One or more
None or one
RELASI CLASS - ASSOSIATION
Hubungan statis antar class
 nama relasi : has a (mempunyai)
 Dibedakan menjadi dua macam hubungan
khusus :


Aggregration
 Composite
ASSOSIATION AGGREGATION


hubungan yang menyatakan class dan bagian
komponennya



Dinyatakan sebagai suatu bagian sebuah class yang utuh
(the whole class) dan class componennya



Sebuah garis menghubungkan antara whole class dan
ccomponen class dengan sebuah belah ketupat yang
tertutup di ujung dekat whole class



Contoh : relasi class Komputer dengan komponenny
CLASS COMPUTER- AGGREGATION
Home Computer

1..1 1..1

1..1

1..1

1..1
1..1

Speaker

1..1 1..1

1..1
DiskDrive

1..*

1..*
HardDrive

RAM

1..1

KeyBoard
CPU Box

CPUBox
Keyboard

*

1..1

1..1

1..*

1..1 1..1
1..1
CDRom

Monitor

1..1

Mouse

1..1

1..1
GraphicChard

1..1
1..*

1..1
SoundChard

1..1

Button

1..1
1..1
MouseBall
ASSOSIATION - COMPOSITE


agrregration yg sangat kuat



Setiap komponen dalam relasi composite dapat
memiliki hanya satu whole class



Simbol : belah ketupat yang diblok



Contoh : relasi meja dengan komponennya
CLASS DIAGRAM:
COMPOSIT,GENERALIZATION
The Class Diagram illustrates how the object classes of a use case are related.
It consists of Class, Interface, and Relationship :
Restaurant

Employee

Table

1
TableTop

4
Leg

Waiter(pelayan)



Chef is-a employee  (Generalization)



Waiter is-a employee  (Generalization)



Restaurant has-a table (Composition)



Restaurant has-a employee (Aggregation)



Table has-a Table Top & Leg (composite)

Chef
(kepala Tukang masak)
ASSOSIATION TYPE
1.

2.

3.

4.

Unary Assosiation (suatu class berhubungan dengan
dirinya sendiri
Binary Assosiaton (dua buah class saling
berhubungan
Ternary Assosiation : Tiga buah class saling
berhubungan
n-ary Assosiation : banyak kelas saling berhubungan
ASSOSIATION TYPE
1. Unary Assosiation
Employee

2. Benary Assosiation
Class name

Assosiation name

atribute
+ manages

Operations

Class name
atribute

Multiplicity

Operations

2. Ternary Assosiation
Class name

Class name
atribute

Assosiatio
n name

Operations
Class name
atribute
Operations

atribute
Operations
CLASS DIAGRAM
Association:

Association name
Work

Company

Person
Name Direction Arrow

Navigability:

Order

Navigability (Direction of association)

has

Order Item
MULTIPLICITY
(KARDINALITAS)
 Jumlah relasi dimana sebuah object mengambil
bagian dalam assosiasi
 Jumlah relasi diindikasikan dengan dua nilai :
pertama minimum relasi dan maksimum
Multiplicity

Explanation

1

One and only one

0..*

None or more

1..*

One or more

0..1

None or one

n..n

A continuous range, such as 2 to 4
CLASS DIAGRAM
Aggregation :

Aggregation Indicator
Multiplicity
1

1
Company

1

Owner
(pemilik)

Person
Role

1..*

Company
owner:Person
employee[]:Person

Detail of the class

Employee
(pegawai)

Person
CLASS DIAGRAM
Composition :
1
Car

1

1

handle

Handle

1
1
engine

Engine

Car
handle:Handle
engine[]:Engine
tire[4]:Tire

Detail of the class

4
tire

Tire
Player

Plays on
Employee
(pegawai)

Team

employer

Plays on
Player

Employs
(memperkerjakan)

Team
CONSTRAIN ASSOSIATION






Terkadang sebuah assosiation antara dua class mengikuti
sebuah rule sesuai batasannya (constraint)
BankTeller melayani customer tapi setiap customer di layani
dalam suatu order
Untuk mengidikasikan sebuah konstraint dengan
memberikan role name ordered yang ditulis diantara tanda
{...} pada class customer

BankTeller

servers

{ordered}

Customer

Choose
HighSchoolStudent

academic

Choose

Commercial

{or}
RELASI CLASS - LINKS
Link digunakan untuk merelasikan dua buah class
secara spesifik
 Merupakan assosiation yang sangat spesifik
 Assosiation name ditulis dengan underline
 Contoh untuk merelasikan siapa yang bermain
dalam suatu tim khusus


Links

Budi:Player
:Player

Plays on

Plays on

GoldTeam:Team
:Team
Assosiation
RELASI CLASS - GENERALIZATION
 Hubungan

hirarkis antar class.
 Class dapat diturunkan dari class lain dan mewarisi
semua atribut dan metoda class.
 Nama relasi : is a (adalah)

Employee

Waiter(pelayan)
Chef
(kepala Tukang masak)
RELASI CLASS - DEPENDENCY
Digunakan untuk menunjukkan sebagai tanda
bahwa suatu operasi dari suatu class
menggunakan class yang lain
 Mesalnya : penggunaan menu untuk memilih form
yang akan diisi


System
dispalyForm()

Form
ABSTRACT CLASSES

Sama dengan class biasa
bedanya abstract class
memiliki method yang kosong
untuk didefinisikan oleh user
sendiri
 Tidak bisa dibuat obyeknya
karena ada method yang
kosong
 Hanya dapat di turunkan (diinherit-kan) ke subclass dan
sub class tersebut akan
mendefinisikan method yang
kosong tersebut
 Dalam class diagram nama
dari abstract class di tulis
dengan huruf miring atau
dengan memberikan role /
keyword {abstract} pada class
name-nya
 Contoh : Basketball model

Player
{abstract}
-

name
height
weight
runningSpeed
verticalLeap

+
+
+
+



:
:
:
:
:

std::string
int
int
int
int

dribbleBall () : void
passBall ()
: void
rebound ()
: void
shoot ()
: void

Forward

Guard

+ slamDunk () : void

+ runOffense ()
: void
+ bringBallUpcount () : void

Clock
{abstract}

+ trackTime () : void

GameClock

Center

ShortClock
INTERFACE






adalah suatu pengaturan operasi (set of operations) yang
menetapkan beberapa aspek/pengarah dari suatu perilaku kelas.
Interface tidak dapat langsung diinstansiasikan, tetapi harus
diimplementasikan dahulu
menjadi sebuah class. Dengan demikian interface mendukung
resolusi metoda pada saat run-time.
Pertemuan 9b-apbo-diagram-klass-dan-relasi
RELASI CLASS - REALIZATION



Hubungan antara sebuah class dengan suatu interface
Menggunakan simbol garis putus-putus dan segtiga
tidak di blok

UML 1.5 Symbol
Washing
Machine

Realization

dependency

<<interface>>

Person

Control knob

UML 2.0 symbol
CotrolKnob
Washing
Machine

Person
INTERFACE & PORTS







Port Digunakan untuk menghubungkan antara sebuah
interface dengan sebuah class
Contoh : mouse adalah sebuah interface untuk sebuah
computer (class) sedangkan mouseport adalah sebuah port
yang menghubungkan mouse (interface) denga komputer
(class)
Object mouse didefinisikan sebagi sebuah object yang memiliki
event-event seperti : click(), move(), up(),down(),dan
programmer yang akan menggunakan event mouse dalam
programnyadiharuskan mendefinisikan seluruh
behaviour(event) yang dimiliki mouse tersebut. Jika tidak
ingin melakukan apa-apa ketika mouse digerakkan maka
cukup mendeklarasikan ulang method kosong dari interface
tersebut
UML 2.0 symbol

Computer
Mouse

MousePort
CONTOH CLASS DIAGRAM
PACKEGE
Sesuai dengan perkembangan class model, class dapat
dikelompokkan menjadi package.
 Kita juga dapat membuat diagram yang terdiri atas
package.

More Related Content

Pertemuan 9b-apbo-diagram-klass-dan-relasi

  • 1. CLASS DIAGRAM E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan
  • 2. CLASS DIAGRAM Sebuah class adalah merupakan sebuah kategori/kelompok benda-benda dialam atau kelompok dari benda-benda yang mempunyai atribute yang sama dan prilaku (behaviour) yang sama Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok : 1. Nama (dan stereotype) 2. Atribut 3. Metoda Sifat Atribut serta Metoda : Private (tidak dapat dipanggil dari luar class ) Protected ( dapat dipanggil oleh class yang bersangkutan dan yang mewarisinya) Public (dapat dipanggil oleh siapa saja)
  • 3. CLASS DIAGRAM Class Diagram Format and sample class: Package::Class Person visibility attribute:Type= Default value - name:String - address:String visibility Operation (Parameter):Return Type +setAddress(address:String) +getAddress():String +setName(name:String) +getName():String Visibility + Public # Protected Package - Private : : : : Able Able Able Able to to to to access access access access from any classes from same class and its inherited classes within same package from same class
  • 4. RELASI ANTAR CLASS Assosiation Dependency Links Generalization Realization
  • 5. RELASI ANTAR CLASS Class Diagram Format and association: Class Name Attributes Role name Association name 1 Role name 1..* Class Name Navigability Attributes Operations (Methods) Operations (Methods) Multiplicity Multiplicity Notation 1 0..* 1..* 0..1 : : : : One and only one None or more One or more None or one
  • 6. RELASI CLASS - ASSOSIATION Hubungan statis antar class nama relasi : has a (mempunyai) Dibedakan menjadi dua macam hubungan khusus : Aggregration Composite
  • 7. ASSOSIATION AGGREGATION hubungan yang menyatakan class dan bagian komponennya Dinyatakan sebagai suatu bagian sebuah class yang utuh (the whole class) dan class componennya Sebuah garis menghubungkan antara whole class dan ccomponen class dengan sebuah belah ketupat yang tertutup di ujung dekat whole class Contoh : relasi class Komputer dengan komponenny
  • 8. CLASS COMPUTER- AGGREGATION Home Computer 1..1 1..1 1..1 1..1 1..1 1..1 Speaker 1..1 1..1 1..1 DiskDrive 1..* 1..* HardDrive RAM 1..1 KeyBoard CPU Box CPUBox Keyboard * 1..1 1..1 1..* 1..1 1..1 1..1 CDRom Monitor 1..1 Mouse 1..1 1..1 GraphicChard 1..1 1..* 1..1 SoundChard 1..1 Button 1..1 1..1 MouseBall
  • 9. ASSOSIATION - COMPOSITE agrregration yg sangat kuat Setiap komponen dalam relasi composite dapat memiliki hanya satu whole class Simbol : belah ketupat yang diblok Contoh : relasi meja dengan komponennya
  • 10. CLASS DIAGRAM: COMPOSIT,GENERALIZATION The Class Diagram illustrates how the object classes of a use case are related. It consists of Class, Interface, and Relationship : Restaurant Employee Table 1 TableTop 4 Leg Waiter(pelayan) Chef is-a employee (Generalization) Waiter is-a employee (Generalization) Restaurant has-a table (Composition) Restaurant has-a employee (Aggregation) Table has-a Table Top & Leg (composite) Chef (kepala Tukang masak)
  • 11. ASSOSIATION TYPE 1. 2. 3. 4. Unary Assosiation (suatu class berhubungan dengan dirinya sendiri Binary Assosiaton (dua buah class saling berhubungan Ternary Assosiation : Tiga buah class saling berhubungan n-ary Assosiation : banyak kelas saling berhubungan
  • 12. ASSOSIATION TYPE 1. Unary Assosiation Employee 2. Benary Assosiation Class name Assosiation name atribute + manages Operations Class name atribute Multiplicity Operations 2. Ternary Assosiation Class name Class name atribute Assosiatio n name Operations Class name atribute Operations atribute Operations
  • 13. CLASS DIAGRAM Association: Association name Work Company Person Name Direction Arrow Navigability: Order Navigability (Direction of association) has Order Item
  • 14. MULTIPLICITY (KARDINALITAS) Jumlah relasi dimana sebuah object mengambil bagian dalam assosiasi Jumlah relasi diindikasikan dengan dua nilai : pertama minimum relasi dan maksimum Multiplicity Explanation 1 One and only one 0..* None or more 1..* One or more 0..1 None or one n..n A continuous range, such as 2 to 4
  • 15. CLASS DIAGRAM Aggregation : Aggregation Indicator Multiplicity 1 1 Company 1 Owner (pemilik) Person Role 1..* Company owner:Person employee[]:Person Detail of the class Employee (pegawai) Person
  • 18. CONSTRAIN ASSOSIATION Terkadang sebuah assosiation antara dua class mengikuti sebuah rule sesuai batasannya (constraint) BankTeller melayani customer tapi setiap customer di layani dalam suatu order Untuk mengidikasikan sebuah konstraint dengan memberikan role name ordered yang ditulis diantara tanda {...} pada class customer BankTeller servers {ordered} Customer Choose HighSchoolStudent academic Choose Commercial {or}
  • 19. RELASI CLASS - LINKS Link digunakan untuk merelasikan dua buah class secara spesifik Merupakan assosiation yang sangat spesifik Assosiation name ditulis dengan underline Contoh untuk merelasikan siapa yang bermain dalam suatu tim khusus Links Budi:Player :Player Plays on Plays on GoldTeam:Team :Team Assosiation
  • 20. RELASI CLASS - GENERALIZATION Hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class. Nama relasi : is a (adalah) Employee Waiter(pelayan) Chef (kepala Tukang masak)
  • 21. RELASI CLASS - DEPENDENCY Digunakan untuk menunjukkan sebagai tanda bahwa suatu operasi dari suatu class menggunakan class yang lain Mesalnya : penggunaan menu untuk memilih form yang akan diisi System dispalyForm() Form
  • 22. ABSTRACT CLASSES Sama dengan class biasa bedanya abstract class memiliki method yang kosong untuk didefinisikan oleh user sendiri Tidak bisa dibuat obyeknya karena ada method yang kosong Hanya dapat di turunkan (diinherit-kan) ke subclass dan sub class tersebut akan mendefinisikan method yang kosong tersebut Dalam class diagram nama dari abstract class di tulis dengan huruf miring atau dengan memberikan role / keyword {abstract} pada class name-nya Contoh : Basketball model Player {abstract} - name height weight runningSpeed verticalLeap + + + + : : : : : std::string int int int int dribbleBall () : void passBall () : void rebound () : void shoot () : void Forward Guard + slamDunk () : void + runOffense () : void + bringBallUpcount () : void Clock {abstract} + trackTime () : void GameClock Center ShortClock
  • 23. INTERFACE adalah suatu pengaturan operasi (set of operations) yang menetapkan beberapa aspek/pengarah dari suatu perilaku kelas. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.
  • 25. RELASI CLASS - REALIZATION Hubungan antara sebuah class dengan suatu interface Menggunakan simbol garis putus-putus dan segtiga tidak di blok UML 1.5 Symbol Washing Machine Realization dependency <<interface>> Person Control knob UML 2.0 symbol CotrolKnob Washing Machine Person
  • 26. INTERFACE & PORTS Port Digunakan untuk menghubungkan antara sebuah interface dengan sebuah class Contoh : mouse adalah sebuah interface untuk sebuah computer (class) sedangkan mouseport adalah sebuah port yang menghubungkan mouse (interface) denga komputer (class) Object mouse didefinisikan sebagi sebuah object yang memiliki event-event seperti : click(), move(), up(),down(),dan programmer yang akan menggunakan event mouse dalam programnyadiharuskan mendefinisikan seluruh behaviour(event) yang dimiliki mouse tersebut. Jika tidak ingin melakukan apa-apa ketika mouse digerakkan maka cukup mendeklarasikan ulang method kosong dari interface tersebut UML 2.0 symbol Computer Mouse MousePort
  • 28. PACKEGE Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.