Class Diagram

download Class Diagram

If you can't read please download the document

description

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 - PowerPoint PPT Presentation

Transcript of Class Diagram

  • CLASS DIAGRAM E. Haodudin NurkifliUniversitas Ahmad DahlanPertemuan

  • CLASS DIAGRAMSebuah class adalah merupakan sebuah kategori/kelompok benda-benda dialam atau kelompok dari benda-benda yang mempunyai atribute yang sama dan prilaku (behaviour) yang samaClass 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)AtributMetodaSifat 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 DIAGRAMClass Diagram Format and sample class:Package::Classvisibility attribute:Type= Default value

    visibility Operation (Parameter):Return Type

    + Public: Able to access from any classes# Protected: Able to access from same class and its inherited classesPackage: Able to access within same package- Private: Able to access from same class

    VisibilityPerson- name:String- address:String+setAddress(address:String)+getAddress():String+setName(name:String)+getName():String

  • RELASI ANTAR CLASSAssosiationDependencyLinksGeneralizationRealization

  • RELASI ANTAR CLASSClass Diagram Format and association:Class NameAttributesOperations(Methods)Class NameAttributesOperations(Methods)MultiplicityAssociationname1: One and only one0..*: None or more1..*: One or more0..1: None or one

    Multiplicity Notation11..*NavigabilityRole nameRole name

  • RELASI CLASS - ASSOSIATIONHubungan statis antar class nama relasi : has a (mempunyai) Dibedakan menjadi dua macam hubungan khusus :AggregrationComposite

  • ASSOSIATION - AGGREGATION hubungan yang menyatakan class dan bagian komponennya Dinyatakan sebagai suatu bagian sebuah class yang utuh (the whole class) dan class componennyaSebuah garis menghubungkan antara whole class dan ccomponen class dengan sebuah belah ketupat yang tertutup di ujung dekat whole classContoh : relasi class Komputer dengan komponenny

  • CLASS COMPUTER- AGGREGATION

  • ASSOSIATION - COMPOSITEagrregration yg sangat kuat Setiap komponen dalam relasi composite dapat memiliki hanya satu whole classSimbol : belah ketupat yang diblokContoh : relasi meja dengan komponennya

  • CLASS DIAGRAM: COMPOSIT,GENERALIZATIONThe Class Diagram illustrates how the object classes of a use case are related. It consists of Class, Interface, and Relationship :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)

    RestaurantTableTableTopEmployeeWaiter(pelayan)Chef(kepala Tukang masak)Leg14

  • ASSOSIATION TYPEUnary Assosiation (suatu class berhubungan dengan dirinya sendiriBinary Assosiaton (dua buah class saling berhubunganTernary Assosiation : Tiga buah class saling berhubungann-ary Assosiation : banyak kelas saling berhubungan

  • ASSOSIATION TYPE1. Unary Assosiation2. Benary Assosiation2. Ternary Assosiation

  • CLASS DIAGRAMAssociation:CompanyPersonAssociation nameWorkName Direction ArrowNavigability:OrderOrder ItemNavigability (Direction of association)has

  • MULTIPLICITY (KARDINALITAS)Jumlah relasi dimana sebuah object mengambil bagian dalam assosiasiJumlah relasi diindikasikan dengan dua nilai : pertama minimum relasi dan maksimum

    MultiplicityExplanation1One and only one0..*None or more1..*One or more0..1None or onen..nA continuous range, such as 2 to 4

  • CLASS DIAGRAMAggregation :CompanyPersonMultiplicityOwner(pemilik)RoleCompanyowner:Personemployee[]:PersonPerson1Employee(pegawai)1..*11Aggregation IndicatorDetail of the class

  • CLASS DIAGRAMComposition :CarHandlehandleCarhandle:Handleengine[]:Engine tire[4]:TireEngine1engine111Tiretire41Detail of the class

  • PlayerTeamPlays onEmployee(pegawai)employerPlayerTeamPlays onEmploys (memperkerjakan)

  • CONSTRAIN ASSOSIATIONTerkadang sebuah assosiation antara dua class mengikuti sebuah rule sesuai batasannya (constraint)BankTeller melayani customer tapi setiap customer di layani dalam suatu orderUntuk mengidikasikan sebuah konstraint dengan memberikan role name ordered yang ditulis diantara tanda {...} pada class customer

  • RELASI CLASS - LINKSLink digunakan untuk merelasikan dua buah class secara spesifikMerupakan assosiation yang sangat spesifik Assosiation name ditulis dengan underlineContoh untuk merelasikan siapa yang bermain dalam suatu tim khusus

  • RELASI CLASS - GENERALIZATIONHubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class.Nama relasi : is a (adalah)

  • RELASI CLASS - DEPENDENCYDigunakan untuk menunjukkan sebagai tanda bahwa suatu operasi dari suatu class menggunakan class yang lainMesalnya : penggunaan menu untuk memilih form yang akan diisi

  • ABSTRACT CLASSESSama dengan class biasa bedanya abstract class memiliki method yang kosong untuk didefinisikan oleh user sendiriTidak bisa dibuat obyeknya karena ada method yang kosongHanya dapat di turunkan (di-inherit-kan) ke subclass dan sub class tersebut akan mendefinisikan method yang kosong tersebutDalam class diagram nama dari abstract class di tulis dengan huruf miring atau dengan memberikan role / keyword {abstract} pada class name-nya Contoh : Basketball model

  • INTERFACEadalah suatu pengaturan operasi (set of operations) yang menetapkan beberapa aspek/pengarah dari suatu perilaku kelas.Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulumenjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.

    Computer

    User

    Domain Controller

    Televisi/computer

    User

    Turn On(assosiation)

    Remote Controller

    Message to turn on(Realization)

    Interface

    Public Store

    Sessions

    Person

    Washing Machine

    Control knob(interface)

  • RELASI CLASS - REALIZATIONHubungan antara sebuah class dengan suatu interfaceMenggunakan simbol garis putus-putus dan segtiga tidak di blokUML 1.5 SymbolUML 2.0 symbolCotrolKnobdependencyRealization

  • INTERFACE & PORTSPort Digunakan untuk menghubungkan antara sebuah interface dengan sebuah classContoh : 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 tersebutUML 2.0 symbol

  • CONTOH CLASS DIAGRAM

  • PACKEGESesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.