280 likes | 604 Views
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
E N D
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 : • Nama (dan stereotype) • Atribut • 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 : Able to access from any classes # Protected : Able to access from same class and its inherited classes ˜Package : Able to access within same package - Private : Able to access from same class
Relasi Antar Class • Assosiation • Dependency • Links • Generalization • Realization
Relasi antar class Class Diagram Format and association: Class Name Class Name Navigability Role name Association name Role name 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
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
CPU Box Keyboard Classcomputer- Aggregation
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 4 TableTop Leg Waiter(pelayan) Chef (kepala Tukang masak) • 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)
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
Class name Class name Class name Class name Class name Employee Assosiation name atribute atribute atribute atribute atribute Operations Operations Operations Operations Operations + manages Multiplicity Assosiation name Assosiation Type 1. Unary Assosiation 2. Benary Assosiation 2. Ternary Assosiation
Class Diagram Association: 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
Class Diagram Aggregation : Aggregation Indicator Multiplicity 1 1 Person Company Owner (pemilik) 1 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 Car 4 handle:Handle engine[]:Enginetire[4]:Tire Tire tire Detail of the class
Player Plays on Team Employee(pegawai) employer Plays on Player Team Employs (memperkerjakan)
{ordered} servers Customer BankTeller HighSchoolStudent academic Choose {or} Choose Commercial 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
Links Plays on GoldTeam:Team Budi:Player Plays on :Team :Player Assosiation 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
Employee Waiter(pelayan) Chef (kepala Tukang masak) 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)
System Form dispalyForm() 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
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 (di-inherit-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
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.
Person <<interface>> Control knob Washing Machine Person Washing Machine Relasi Class - Realization • Hubungan antara sebuah class dengan suatu interface • Menggunakan simbol garis putus-putus dan segtiga tidak di blok Realization dependency UML 1.5 Symbol UML 2.0 symbol CotrolKnob
Computer Mouse MousePort 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
Packege • Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. • Kita juga dapat membuat diagram yang terdiri atas package.