SlideShare a Scribd company logo
1 of 28
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.
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

What's hot

8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan methodSaprudin Eskom
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasiSaprudin Eskom
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program javaSaprudin Eskom
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphismeSaprudin Eskom
 
12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphismSaprudin Eskom
 
Konsep (class & object)
Konsep (class & object)Konsep (class & object)
Konsep (class & object)Rizki Ramdani
 
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...Ricko SkyWriter
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interfaceRobbie AkaChopa
 
OOP - Kelas abstrak dan Komposisi
OOP - Kelas abstrak dan KomposisiOOP - Kelas abstrak dan Komposisi
OOP - Kelas abstrak dan KomposisiKuliahKita
 

What's hot (15)

8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 
11. inheritance
11. inheritance11. inheritance
11. inheritance
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
 
12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism
 
BAB 1 PBO C++ Struktur
BAB 1 PBO C++ StrukturBAB 1 PBO C++ Struktur
BAB 1 PBO C++ Struktur
 
Konsep (class & object)
Konsep (class & object)Konsep (class & object)
Konsep (class & object)
 
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
 
12. polymorphisme
12. polymorphisme12. polymorphisme
12. polymorphisme
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
 
OOP - Kelas abstrak dan Komposisi
OOP - Kelas abstrak dan KomposisiOOP - Kelas abstrak dan Komposisi
OOP - Kelas abstrak dan Komposisi
 

Similar to JUDUL

P6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .pptP6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .pptskripsifidyabaru
 
class-diagram.pptx
class-diagram.pptxclass-diagram.pptx
class-diagram.pptxritathitha1
 
Tugas 3 ADBO-Class, Object, State, dan Activity Diagram
Tugas 3 ADBO-Class, Object, State, dan Activity DiagramTugas 3 ADBO-Class, Object, State, dan Activity Diagram
Tugas 3 ADBO-Class, Object, State, dan Activity Diagramguestfacaff3
 
System Analysis and Design - Unified Modeling Language (UML)
System Analysis and Design - Unified Modeling Language (UML)System Analysis and Design - Unified Modeling Language (UML)
System Analysis and Design - Unified Modeling Language (UML)Dudy Ali
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervanaris
 
Modul pratikum pbo - inheritance
Modul pratikum pbo - inheritanceModul pratikum pbo - inheritance
Modul pratikum pbo - inheritancerahmantoyuri
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Rakhmat Dedi Gunawan
 
Pertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & PemrogramanPertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & PemrogramanTri Retna
 
RPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdfRPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdfErlangga22
 
1. konsep pbo
1. konsep pbo1. konsep pbo
1. konsep pbojona_jona
 
04 class diagram-uml-netbeans
04 class diagram-uml-netbeans04 class diagram-uml-netbeans
04 class diagram-uml-netbeansSamir Nasir
 
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaPertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaAbi Bobon
 

Similar to JUDUL (20)

4_Class Diagram.pdf
4_Class Diagram.pdf4_Class Diagram.pdf
4_Class Diagram.pdf
 
P6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .pptP6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .ppt
 
class-diagram.pptx
class-diagram.pptxclass-diagram.pptx
class-diagram.pptx
 
Tugas 3 ADBO-Class, Object, State, dan Activity Diagram
Tugas 3 ADBO-Class, Object, State, dan Activity DiagramTugas 3 ADBO-Class, Object, State, dan Activity Diagram
Tugas 3 ADBO-Class, Object, State, dan Activity Diagram
 
12655598.ppt
12655598.ppt12655598.ppt
12655598.ppt
 
System Analysis and Design - Unified Modeling Language (UML)
System Analysis and Design - Unified Modeling Language (UML)System Analysis and Design - Unified Modeling Language (UML)
System Analysis and Design - Unified Modeling Language (UML)
 
Class diagram
Class diagramClass diagram
Class diagram
 
Class diagram
Class diagramClass diagram
Class diagram
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Pertemuan 6 Rekayasa Perangkat Lunak
Pertemuan 6 Rekayasa Perangkat LunakPertemuan 6 Rekayasa Perangkat Lunak
Pertemuan 6 Rekayasa Perangkat Lunak
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
 
Modul pratikum pbo - inheritance
Modul pratikum pbo - inheritanceModul pratikum pbo - inheritance
Modul pratikum pbo - inheritance
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
Pertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & PemrogramanPertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & Pemrograman
 
RPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdfRPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdf
 
Class diagram
Class diagramClass diagram
Class diagram
 
1. konsep pbo
1. konsep pbo1. konsep pbo
1. konsep pbo
 
04 class diagram-uml-netbeans
04 class diagram-uml-netbeans04 class diagram-uml-netbeans
04 class diagram-uml-netbeans
 
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaPertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
 

More from Abi Bobon

Pertemuan 1 pendahuluan
Pertemuan 1   pendahuluanPertemuan 1   pendahuluan
Pertemuan 1 pendahuluanAbi Bobon
 
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagramPertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagramAbi Bobon
 
Pertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-codePertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-codeAbi Bobon
 
Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1Abi Bobon
 
Pertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagramPertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagramAbi Bobon
 
Pertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagramPertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagramAbi Bobon
 
Pertemuan 5-apbo
Pertemuan 5-apboPertemuan 5-apbo
Pertemuan 5-apboAbi Bobon
 
Pertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-conceptPertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-conceptAbi Bobon
 
Pertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingPertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingAbi Bobon
 
Pertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagramPertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagramAbi Bobon
 

More from Abi Bobon (10)

Pertemuan 1 pendahuluan
Pertemuan 1   pendahuluanPertemuan 1   pendahuluan
Pertemuan 1 pendahuluan
 
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagramPertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
 
Pertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-codePertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-code
 
Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1
 
Pertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagramPertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagram
 
Pertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagramPertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagram
 
Pertemuan 5-apbo
Pertemuan 5-apboPertemuan 5-apbo
Pertemuan 5-apbo
 
Pertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-conceptPertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-concept
 
Pertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingPertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processing
 
Pertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagramPertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagram
 

JUDUL

  • 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.
  • 24.
  • 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. 