Class Diagram

1 / 14
About This Presentation
Title:

Class Diagram

Description:

... kelas-kelas dari suatu system dan hubungan antar kelas (inheritance, aggregation, ... Realizations adalah sebuah relasi antar 2 buah class, dimana class lainnya ... – PowerPoint PPT presentation

Number of Views:156
Avg rating:3.0/5.0
Slides: 15
Provided by: marz

less

Transcript and Presenter's Notes

Title: Class Diagram


1
Class Diagram
  • Membantu dalam visualisasi struktur kelas-kelas
    dari suatu system dan hubungan antar kelas
    (inheritance, aggregation, and association) dan
    penjelasan detail tiap kelas (methode/function/beh
    avior dan atribut/property/data)
  • Diagram ini merupakan fondasi untuk component
    diagram dan deployment diagram
  • Diagram paling penting pada object oriented
    analysis and design
  • Class digambarkan dengan sebuah kotak dengan 3
    section
  • Disarankan untuk tidak menggambar tanpa 3 section
    ini
  • Kadang-kadang boleh ada section tambahan untuk
    menggambarkan keterangan class
  • Setiap atribut/methode/association diperbolehkan
    ada sebuah keterangan atribut/methode yang
    diletakkan diantara tanda
  • Sebuah class atau atribut/methode bisa mempunyai
    dokumentasi dengan lambang dibawah ini dan
    ditarik dengan garis putus tanpa panah

2
Class Diagram
  • Visibility
  • Menyatakan level akses sebuah object
  • Visibility dapat diterapkan pada atribut atau
    methode
  • Tampilkan visibility secara urut berkelompok
    mulai dari urutan tertinggi
  • Type data (int,float,char) dari sebuah atribut
    dapat disertakan
  • design class model define the structure of your
    object source code and therefore should reflect
    the naming conventions for the implementation
    language that you using
  • There are 4 types

Contoh
Visibility Symbol
Public
Protected
Private -
class A
A2 int 100 - A1 int
ENTRYA1( ) void ENTRYA1( ) void
3
Class Diagram
class A
Private A1
Protected A2
Public Entry A1( ) EntryA2( )
Contoh konsep Inheritance pada class
Contoh Program
class B
class C
  • includeltiostream.hgt
  • class A
  • int A1
  • protected
  • int A2
  • public
  • void ENTRYA1( )
  • coutltlt"Entry A1 "
  • cingtgtA1
  • void ENTRYA2( )
  • coutltlt"Entry A2 " cingtgtA2

private
public
Private A2 Entry A1( ) EntryA2( )
Protected
Public
Private
Protected A2
Public Entry A1( ) EntryA2( )
private
public
class CA int C1 public void ENTRYC()
coutltlt"C1 "cingtgtC1 // coutltlt"A1
"cingtgtA1//error coutltlt"A2 "cingtgtA2
class B public A int B1 public void
ENTRYB( ) coutltlt" B1 " cingtgtB1 //
coutltlt" A1 " cingtgtA1//error coutltlt" A2 "
cingtgtA2
void main() B JONI C TUTI JONI.ENTRYB(
) JONI.ENTRYA1( ) JONI.ENTRYA2( ) TUTI.ENTRYC(
) //TUTI.ENTRYA1( )//ERROR //TUTI.ENTRYA2(
)//ERROR
4
Class Diagram
  • Association classes/link classes (Many to Many
    association)
  • Which is used to model association that have
    methods and attributes
  • depicted as class attached via a dashed line to
    association
  • Programming language such as C and java do not
    (yet) have native support this concept
  • Do not name association that have association
    classes
  • Center the dashed line of an association class
  • Kurangi penggunaan association class ini,
    sehingga tidak perlu menambah sebuah pekerjaan
    pada tahap analisa
  • Berikut ini adalah gambar class diagram dari
    gambar diatas yang tanpa menggunakan association
    class

5
Class Diagram
  • Relationship
  • Association
  • Inheritance/generalization
  • Aggregation
  • Composition
  • Dependencies
  • Realizations

Association
  • When classes are connected together conceptually,
    that connection is called an association
  • An association allows one class to know about the
    public attributes and methode of another class
  • Center names on association
  • Gunakan kalimat singkat
  • Indicate directionality with a filled triangle (
    ? ) to clarify an association name
  • Sebuah association dimungkinkan adanya sebuah
    constraint yang menggambarkan sebuah kondisi
    (lihat gambar dibawah ada kata NAND)
  • Indicate role names when multiple associations
    between 2 classes exist
  • Role names are optionally indicated on
    association ends to indicate how a class is
    involved in the association
  • Role names can be used to clarify recursive
    associations

6
Association - Class Diagram
  • Association unidirectional menggunakan garis
    berpanah terbuka
  • Association bi-directional menggunakan garis
    tanpa panah
  • Association may be drawn as a diamond for
    association with more than two ends
  • Multiplicity indicator

Indicator Meaning Example
0..1 Zero or one
0.. Zero or more
0..n Zero to n (where ngt1) 0..3
1 One only
1.. One or more
1..n One to n (where ngt1) 1..5
Many
n Only n (where ngt1) 9
n.. n or more, where n gt1 7..
n..m Where n m both gt1 3..10
Binary and Ternary association
  • Contoh

Dibaca 1 object Mahasiswa punya 0.. object
Nilai dan 1 object Nilai dipunyai 1 object
Mahasiswa
7
Inheritance/generalization - Class Diagram
  • Two or more classes will share the same
    attributres and/or the same methods
  • Inheritance use a line with a closed arrowhead (
    ? ) pointing from the sub class to the super
    class
  • Place sub class below super class
  • A sub class should inherit attributes and methods
    of its superclass

8
Aggregation and Composition - Class Diagram
  • Represent is part of relationship, ketika
    sebuah class dibuat berdasarkan class lainnya
    maka gunakanlah aggregation atau composition
  • When deciding whether to use aggregation or
    composition over association, you can say if in
    doubt, leave it out
  • There is very little difference between
    association, aggregation and composition at the
    coding level
  • Aggregation
  • Aggregation menggunakan lambang diamond terbuka ?
  • Aggregation is a specialization of association,
    specifying a whole part relationship between
    objects
  • Composition
  • Composition menggunakan lambang diamond tertutup
  • Composition is a strong type of a aggregation
  • Composition is a stronger form of aggregation
    where the whole and parts have coincident
    lifetimes, and it is very common for the whole to
    manage the lifecycle of its parts

9
Dependencies and Realizations - Class Diagram
  • Dependencies
  • Dependencies adalah Sebuah class yang membutuhkan
    class lain untuk spesifikasi classnya
  • Dependencies is shown as a dashed open headed
    arrow
  • Contoh
  • Class mobil bergantung pada class Mesin
  • Realizations
  • Realizations adalah sebuah relasi antar 2 buah
    class, dimana class lainnya mewakili sebuah class
    implementation (implementation of the later)
  • Realizations is shown as a dashed close headed
    arrow
  • Disebut dengan istilah lain Interfaces (lihat
    materi berikutnya)
  • The relationship between a class and interfaces
    is called realization

atau
10
Interfaces - Class Diagram
  • An interface is a set of operation that specifies
    some aspect of a classs behavior
  • Interfaces adalah kumpulan fungsi yang dapat
    dipakai pada class tanpa menjadi behavior suatu
    class. Di bahasa C disebut friend function
  • Friend function become friend more than 1 class
  • Friend function can access private from the other
    class
  • Friend function isnt member a class


Contoh program //Static harus dicompile pake
turbo c includeltiostream.hgt class barang char
nama20 float harga,jumlah static float
bayar,total public void entry( ) cout
ltlt"entry nama "cingtgt nama cout ltlt"entry
jumlah"cingtgtjumlah cout ltlt"entry harga
"cin gtgtharga static void proses(barang
B1) bayar B1.harga B1.jumlah
total total bayar friend void tampil
(barang B1) float kasir( ) return total
void tampil(barang B1) cout ltlt"nama barang "
coutltltB1.nama ltltendl cout ltlt"harga barang
"ltltB1.harga ltltendl cout ltlt"jumlah barang
"ltltB1.jumlahltltendl cout ltlt"bayar "ltltB1.bayar
ltltendl main() barang buku,tas,pena
buku.entry( ) tas.entry( ) pena.entry(
) buku.proses(buku) buku.proses(tas )
buku.proses(pena) tampil(buku) tampil(tas
) tampil(pena) coutltlt"jumlah
bayar"ltltbuku.kasir( ) return 0
11
Interfaces - Class Diagram
  • The relationship between a class and interfaces
    is called realization
  • Sebuah interfaces dapat digambarkan dengan cara
    association sebuah class dengan cara
  • sebuah class ditulis ltltinterfacesgtgt dengan tidak
    mempunyai attributes
  • small circle connected by a line to the class
  • A class can realize more than 1 interfaces, and
    an interfaces can be realized by more than 1 class

12
Class Diagram
  • Ttiga Jenis class utama ENTITY, BOUNDARY,
    CONTROL
  • Menentukan Stereotype Class
  • Entity Class objects menyimpan seluruh data
    pada application
  • Boundary Class digunakan actor utk berinteraksi
    dg sistem
  • contoh form, menus, dialog boxes
  • Control Class mengatur seluruh kegiatan dan
    menangkap
  • main application logic
  • contoh discount complex policy is
    complex

13
Catatan
  • Kerangka berfikir object

Layar/GUI
Penentuan Matrikulasi
Sekretaris Program
Entry Pendaftaran
Staff Pendaftaran
Cetak Kwitansi Pendaftaran
Staff Keuangan
Modul Control
Table/Relasi
Object yg terlibat pada saat Use Case Fill order
14
Object Diagram
  • Hubungan antara object digambarkan dengan sebuah
    garis tanpa panah yang berisi sebuah role/peran,
    role ini boleh dipakai atau tidak
  • Menggambarkan object dan hubungannya dalam urutan
    time, umumnya sebuah special case dari class
    diagram atau communication diagram
  • Digambarkan sebagai sample diagram (diagram yang
    menggambarkan sample object dari sebuah class dan
    relasi diantaranya)
  • Sebuah object dapat digambarkan dengan cara
  • Nama object nama class
  • nama class dan nilai atribut yang terdapat pada
    section ke-2

Joni anggota
Anggota
NamaJoni
Write a Comment
User Comments (0)