Cosmas Haryawan STMIK AKAKOM Yogyakarta

Slides:



Advertisements
Presentasi serupa
Gambaran fungsionalitas yang diharapkan dari sebuah sistem
Advertisements

ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
CLASS DIAGRAM.
Pertemuan 6 Structural modelling
Lebih Lanjut Tentang UML
USE CASE DIAGRAM.
KelompoK 4 Agus Dwi Prayogo / 2928 Rian Chikita / 2942
Interaksi Objek.
Bab 6 class diagram Catur Iswahyudi.
Desain Berorientasi Obyek dan UML
Class Diagram.
PERTEMUAN 10 Aggregation, Composite, Interface & Realization.
Perancangan Berorientasi Objek (Object Oriented Analysis & Design)
INHERITANCE (Oleh : Nur Hayatin, S.ST)
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Pertemuan 7 Unified Modelling Language (UML)
Class Diagram.
SYSTEMS ANALYSYS AND DESIGN METHODS 5 TH Edition Whitten Bentley Dittman Irwin/McGraw-Hill The Mcgraw-Hill Companies All Right reserved.
CLASS DIAGRAM Materi Pertemuan 26
UNIFIED MODELLING LANGUAGE
KONSEP DASAR PENDEKATAN OBJEK
Unified Modeling Language [UML]
UNIFIED MODELLING LANGUAGE
CLASS DIAGRAM.
Analisis dan Perancangan Berorientasi Objek (OOAD)
Diagram Class, Diagram Objek Diagram Component dan Deployment
Object oriented analyst and design
Perancangan dan Pemrograman Web
Object-Oriented Design (OOD)
CLASS DIAGRAM Kelompok 2 Moch Riesdyan mulya ( )
Lebih Lanjut Tentang UML
E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan
Rinci Kembang Hapsari,S.Si, M.Kom
Inheritance dan Kata Kunci static
ADBO (Analisa Desain Berorientasi Obyek)
Rekayasa Perangkat Lunak Class Diagram
PEMROGRAMAN VISUAL II Outline: UML (Unified Modeling Language)
Class Diagram Level Design
Relationship Between Classes
Entity Relationship Model
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Class Diagram.
Association, Composition dan Inheritance
CLASS DIAGRAM.
Entity Relationship Model
CLASS DIAGRAM Pertemuan 6.
SOAL PERTEMUAN 1-6 PSBO 4 SKS
PEMODELAN SISTEM INFORMASI
PERANCANGAN BERORIENTASI OBJEK
PEMODELAN OBJECT ORIENTED
UML Class Diagram.
Inheritance.
Konsep & Perancangan Database
Use Case Diagram.
PERANCANGAN BERORIENTASI OBJEK
Pemodelan & Pelaksanaan Kebutuhan
Statechart , Class, Component & Deployment Diagram
Statechart , Class, Component & Deployment Diagram
Perancangan PL berorientasi objeck
Pertemuan 4 CLASS DIAGRAM.
KONSEP DASAR PENDEKATAN OBJEK
Visualisasi class dan Relationship Bag. 2
Visualisasi Class dan Association Relationship
UML Class Diagram.
KelompoK 4 Agus Dwi Prayogo / 2928 Rian Chikita / 2942
Pertemuan 9 UML Diagram Class & Diagram Objek
Rekayasa Perangkat Lunak
OBJECT ORIENTED ANALISYS AND DESIGN
Pertemuan 14 Class Diagram.
Object oriented analyst and design
Transcript presentasi:

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

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)

Class dan Object Object adalah Instan dari class based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Contoh lain Visibility based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)

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)

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.

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.

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.

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.

Relasi Antar Class Assosiation Dependency Generalization Realization

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.

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.

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

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

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

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).

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)

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

Relasi Class - Assosiation Hubungan statis antar class nama relasi : has a (mempunyai) Dibedakan menjadi dua macam hubungan khusus : Aggregration Composite

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

Aggregation ● Sebuah ruangan memiliki meja dan kursi ● Tanpa kehadiran ruang, meja dan kursi bisa tetap ada

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

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

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

Class Diagram has Association: Navigability: Association name Work Company Person Name Direction Arrow Navigability: Navigability (Direction of association) has Order 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 Person Company 1 Owner (pemilik) Role 1..* Person Employee (pegawai) Company owner:Person employee[]:Person Detail of the class

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

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

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)

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)

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

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

Example of association ends use

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.

Association class Examples:

Association class Example

Contoh Class Diagram based on Sams Teach Yourself UML in 24 Hours, Third Edition (modified by cmz)

Case (1) : Perpustakaan

Case (2) : Penjualan Online

Case (3) : Rental Film