Class diagram menggambarkan struktur dan hubungan antar kelas dalam suatu sistem. Diagram ini menjelaskan kelas, atribut, metode, dan hubungan antar kelas seperti generalisasi, komposisi, agregasi, dan asosiasi. Class diagram digunakan untuk merancang dan memodelkan sistem berorientasi objek.
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
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
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
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.