Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehWidya Yenny Hermanto Telah diubah "6 tahun yang lalu
1
Cosmas Haryawan STMIK AKAKOM Yogyakarta
Class Diagram based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz) Cosmas Haryawan STMIK AKAKOM Yogyakarta
2
Class ?? Sebuah class adalah sebuah kategori / kelompok benda-benda di alam atau kelompok dari benda- benda yang mempunyai atribute yang sama dan prilaku (behaviour) yang sama Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Dengan menglompokkan Object-object ke dalam Class, memudahkan kita dalam memahami masalah based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
3
Class dan Object Object adalah Instan dari class
based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
4
CLASS DIAGRAM Nama Class Attribut / variabel Class
Operation / Method Class Responsibilty atau Keterangan (tambahan / optional) based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
5
Konvensi Penulisan Class
Untuk nama Class : setiap kata diawali dengan huruf Besar misal Student, WashingMachine Jika diinginkan penulisan Class yang dilengkapi dengan Package-nya maka antara keduanya dibatasi double colons (dobel titik dua) Misal Household::WashingMachine based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
6
Konvensi Penulisan Attribut
Attribut / variabel adalah properti dari Class mampu menggambarkan rentang nilai yang bisa digunakan object (instance of class) Penulisan : Jika satu kata, diawali dengan huruf kecil Untuk kata kedua dan seterusnya, diawali dengan huruf besar based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
7
Penulisan Attribut Attribut juga bisa dilengkapi dengan type data yang ditulis dengan dibatasi colon (titik dua) Bahkan bisa juga ditambahkan suatu nilai default based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
8
Konvensi Penulisan Operation
Operation adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class Konvensi penulisan sama dengan attribut, yaitu untuk satu kata diawali dengan huruf kecil sedangkan kata kedua dan seterusnya menggunakan huruf besar Untuk memperjelas setiap operation juga perlu diakhiri dengan tanda () based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
9
Penulisan Operation Setiap Operation bisa ditambahkan parameter berupa variabel dan tipenya Untuk Operation yang menghasilkan suatu nilai maka bisa ditambahkan tipe data kembaliannya. based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
10
Visualisasi Dalam prakteknya tidak selalu penggambaran class selalu dilengkapi dengan atribut dan operation nya based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
11
Visualisasi Atau bisa juga cukup menuliskan attribut dan atau operation yang dianggap penting saja, sedangkan yang lain diwakili dengan simbol elipsis ( … ) based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
12
Visualisasi Untuk Attribut atau Operation yang banyak, dapat juga ditambahkan suatu kata kunci penjelas based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
13
Responsibility Responsibility adalah suatu gambaran / keterangan tentang apa yang dikerjakan oleh class Bertujuan memperjelas fungsi class dan menghilangkan ambigu (jika ada) Diletakkan di bagian terbawah dari class based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
14
Constraint Apabila dibutuhkan suatu batasan atau aturan untuk suatu attribut maka bisa ditambahkan suatu constraint yang ditulis dalam kurung kurawal {} based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
15
Attached Note Untuk keterangan penjelas, bisa ditambahkan juga pada suatu attribut dan operation based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
16
Visibility Atribut dan metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut : Private (-), hanya dapat dipanggil dalam class yang bersangkutan Protected (#), hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya (inherit) Public (+), dapat dipanggil dari class lain Account balance: Real = 0 <<constructor>> +addAccount() <<process>> +setBalance( a : Account) +getBalance(a: Account): Amount … <<query>> isValid( loginID : String): Boolean based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
17
Contoh lain Visibility
based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
18
Visualisasi Object Suatu object, instance dari class, biasanya digambarkan lengkap dengan value dari attributnya. Penulisan nama diberikan tambahan garis bawah, dengan format : namaObject : NamaClass misal myWasher : WashingMachine : NamaClass misal : WashingMachine disebut anonymous object based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
19
Stereotype Class Stereotype adalah sebuah mekanisme yang digunakan untuk mengkategorikan sebuah class. Misal, kita ingin mencari form dalam model. Kita dapat menciptakan Form stereotype, dan dapat menemukan seluruh form dalam stereotype Form. Fitur ini memudahkan kita dalam mengorganisasi responsibility dari tiap- tiap class. Sebagai contoh, beberapa class yang memiliki stereotype Form memiliki responsibility untuk menampilkan dan menerima informasi dari user. Terdapat 3 stereotype utama dalam UML, yaitu boundary, entity dan control.
20
Boundary Class Boundary class adalah class yang terdapat batasan sistem dan dunia nyata. Hal ini mencakup semua form, report, hardware interface seperti printer atau scanner. Boundary class dapat diidentifikasi dari Use Case Diagram. Minimal terdapat satu buah boundary class dalam relasi actor dengan use case. Boundary class adalah yang mengakomodasi interaksi antara actor dengan sistem.
22
Entity Class Entity class menyimpan informasi yang mungkin akan disimpan ke sebuah storage. Class dengan stereotype entity dapat ditemukan di flow of event (scenario dari use-case diagram) dan interaction diagram. Entity class dapat diidentifikasi dengan mencari kata benda (noun) yang ada pada flow of events. Selain itu, dapat juga diidentifikasi dari struktur database (dilihat dari nama-nama tabelnya). Sebuah entity class mungkin perlu dibuat untuk sebuah tabel. Bila sebuah table menyimpan informasi secara permanen, maka entity class akan menyimpan informasi pada memory ketika sistem sedang running.
24
Control Class Control class bertanggung jawab dalam mengatur kelas-kelas yang lain. Seperti yang terlihat pada gambar di bawah, control class bertanggung jawab dalam mendelegasikan responsibility kepada kelas lain. Control class juga bertanggung jawab dalam mengetahui dan menyampaikan business rule dari sebuah organisasi. Class ini menjalankan alternate flow dan mampu mengatasi error. Karena alasan ini control class sering disebut sebagai manager class.
26
Relasi Antar Class Assosiation Dependency Generalization Realization
27
Relationship Relasi atau relationship menghubungkan beberapa objek sehingga memungkinkan terjadinya interaksi dan kolaborasi diantara objek-objek yang terhubung. Dalam pemodelan class diagram, terdapat tiga buah relasi utama yaitu association, agregation dan generalization.
28
Bentuk Relationships Diagram Class mempunyai 3 macam relationships (hubungan): Association. Suatu hubungan antara bagian dari dua kelas. Terjadi association antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah association adalah penghubung yang menghubungkan dua kelas. Aggregation. Suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian. Sebagai contoh : OrderDetail merupakan kumpulan dari Order. Generalization. Suatu hubungan turunan dengan mengasumsikan satu kelas merupakan suatu superClass dari kelas yang lain. Generalization memiliki tingkatan yang berpusat pada superClass. Contoh : Payment adalah superClass dari Cash, Check, dan Credit.
29
Asosiasi Relasi asosiasi merupakan relasi structural yang menspesifikasikan bahwa satu objek terhubung dengan objek lainnya. Relasi ini tidak menggambarkan aliran data, sebagaimana yang terdapat pada pemodelan desain pada analisa terstruktur. Relasi asosiasi dapat dibagi menjadi 2(dua) jenis, yaitu uni-directional association dan bi-directional association
30
PILOT PESAWAT Uni-directional
Objek pilot memiliki uni-directional association dengan objek pesawat. Relasi uni-directional diatas memungkinkan objek pilot untuk memanggil property dari objek pesawat. Namun tidak berlaku sebaliknya. Objek pesawat tidak dapat mengakses property dari objek pilot. PILOT PESAWAT
31
PILOT PESAWAT Bi-directional
Objek pilot dapat memanggil property yang dimiliki oleh objek pesawat. Begitu juga sebaliknya, objek pesawat juga dapat memanggil property dari objek pilot. PILOT PESAWAT
32
Asosiasi Hubungan association mempunyai 2 titik. Salah satu titik bisa memiliki label untuk menjelaskan association tersebut. Contoh : OrderDetail adalah line Item untuk setiap permintaan. Panah navigability (pengatur alur arah) dalam suatu association menggambarkan arah mana association dapat ditransfer atau disusun. Seperti dalam contoh : OrderDetail dapat disusun dari item-nya, namun tidak bisa sebaliknya. Panah ini juga menjelaskan siapa “memiliki” implementasi dari association; dalam kasus ini OrderDetail memiliki Item. Association tanpa arah panah merupakan bidirectional (bolak-balik).
33
Aggregation Aggregation merupakan bentuk khusus dari asosiasi dimana induk terhubung dengan bagian- bagiannya. Aggregation merepresentasikan relasi “has-a”, artinya sebuah class memiliki/terdiri dari bagian-bagian yang lebih kecil. Dalam UML, relasi agregasi digambarkan dengan open diamond pada sisi yang menyatakan induk (whole)
34
Relasi antar class Class Diagram Format and association: Class Name
Role name Association name Role name Navigability Attributes Attributes 1 1..* Operations (Methods) Operations (Methods) Multiplicity Multiplicity Notation 1 : One and only one 0..* : None or more 1..* : One or more 0..1 : None or one
35
Relasi Class - Assosiation
Hubungan statis antar class nama relasi : has a (mempunyai) Dibedakan menjadi dua macam hubungan khusus : Aggregration Composite
36
Aggregation Sebuah hubungan di mana satu kelas “whole” yang lebih besar berisi satu atau lebih kelas “part” yang lebih kecil. atau kelas “part” yang lebih kecil adalah bagian dari kelas “whole” yang lebih besar. 'has a' relationship Misal : Klub memiliki banyak anggota berupa orang Orang bisa memiliki makna tersendiri tanpa kehadiran sebuah klub Dinotasikan dengan diamond terbuka (open diamond) Jika dipisah, tidak merubah makna
37
Aggregation ● Sebuah ruangan memiliki meja dan kursi
● Tanpa kehadiran ruang, meja dan kursi bisa tetap ada
38
Composition 'has a' or 'contains a' relationship (whole-part) Misal :
Kampus memiliki fakultas CS atau kampus terdiri dari fakultas CS (salah satunya) Tanpa ada kampus, maka tidak ada fakultas CS Composition menggunakan lambang diamond tertutup
39
Assosiation Type 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
40
Assosiation Type 1. Unary Assosiation 2. Binary Assosiation + manages
Employee Class name atribute Operations Assosiation name Multiplicity 2. Ternary Assosiation Class name atribute Operations Assosiation name
41
Class Diagram has Association: Navigability: Association name Work
Company Person Name Direction Arrow Navigability: Navigability (Direction of association) has Order Order Item
42
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
43
Class Diagram Aggregation : Aggregation Indicator Multiplicity 1 1
Person Company 1 Owner (pemilik) Role 1..* Person Employee (pegawai) Company owner:Person employee[]:Person Detail of the class
44
Class Diagram Composition : 1 1 Handle Car handle 1 1 1 Engine engine
handle:Handle engine[]:Engine tire[4]:Tire 4 Tire tire Detail of the class
45
Inheritance Inheritance merupakan salah satu karakteristik dalam pemrograman berorientasi objek, dimana sebuah class mewarisi / inherit sifat-sifat (dalam hal ini atribut & operasi) dari class lain yang merupakan parent dari class tadi. Class yang menurunkan sifat- sifatnya disebut superclass, sedangkan class yang mewarisi sifat dari superclass disebut subclass. Inheritance disebut juga hierarki “is-a” (adalah sebuah) atau “kind-of” (sejenis). Subclass dapat memiliki atau menggunakan atribut & operasi tambahan yang hanya berlaku pada tingkat hierarkinya. Karena inheritance relationship bukan merupakan relationship diantara objek yang berbeda, maka relationship ini tidak diberi nama. Begitu pula dengan penamaan role dan multiplicity
46
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)
47
Abstract Class Abstract class: jika satu class hanya diperlukan sebagai template untuk class-class yang lebih spesifik (dalam sistem tidak akan ada object dari class tsb) Tidak memiliki instance Dalam notasi namanya dituliskan huruf miring (italic)
49
class person merupakan generalisasi, class doctor dan class patient adalah spesialisasi.
class yang menjadi superclass (dalam hal ini adalah class person) dinamakan abstract class, sedangkan class yang menjadi subclass (class doctor dan class patient) dinamakan concrete class
51
Relasi Class - Dependency
Digunakan untuk menunjukkan sebagai tanda bahwa suatu operasi dari suatu class menggunakan class yang lain Misalnya : penggunaan menu untuk memilih form yang akan diisi System dispalyForm() Form
52
Example of association ends use
53
Association class UML offers the ability to describe links of association with attributes like any class. An association class is an association that is also a class.
54
Association class Examples:
55
Association class Example
56
Contoh Class Diagram based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)
57
Case (1) : Perpustakaan
59
Case (2) : Penjualan Online
61
Case (3) : Rental Film
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.