OBJECT ORIENTED ANALISYS AND DESIGN Class Diagram Adi Panca Saputra Iskandar, S.Kom, M.T | adipancaiskandar @gmail.com
Digunakan untuk menunjukkan interaksi antar obyek (dalam use case) dalam urutan sekuensial
Apa Itu Class Diagram?
Definisi Objek & Class ARRAY (LARIK) Objek merupakan hasil dari sebuah kelas, jika diibaratkan Objek adalah kue, maka kelas adalah cetakan kuenya, dimana kue dibuat menggunakan cetakan tersebut.Dan sebuah cetakan kue dapat membuat beberapa kue, artinya sebuah kelas dapat membuat beberapa object.
Class Diagram Deskripsi dari sekumpulan obyek yang memiliki attributes, operations, relationships, dan semantics yang sama Sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek
<<Contoh>> CLASS DIAGRAM <<Contoh>>
Element Class ClassName Attributes Operations
Class Name ClassName Attributes Operations Nama dari suatu class adalah suatu penanda dalam sebuah representasi grafis dari suatu class. Selalu terdapat pada bagian atas class.
Atribut Class Person name : String address : Address birthdate : Date ssn : Id Nama properti yang menggambarkan object yang dimodelkan. Attributes muncul dibagian kedua setelah nama dari class
Atribut Class attributeName : Data Type Person + name : String + address : Address # birthdate : Date / age : Date - ssn : Id Struktur penulisan attribute pada umumnya attributeName : Data Type Tipe atribut: + public # protected - private / derived
Operation Person name : String address : Address birthdate : Date ssn : Id Eat() Pray() Love() Sleep() Deskripsi perilaku dari class. Operations muncul dibagian ketiga setelah attributes
Operation PhoneBook newEntry (n : Name, a : Address, p : PhoneNumber, d : Description) getPhone ( n : Name, a : Address) : PhoneNumber Operations dapat ditentukan dengan NamaOperasi, tipe dan nilai default setiap parameter Operations yang menyatakan functions dapat ditambahkan return_type
Relationship Dalam UML, interkoneksi antar obyek (logical atau physical), dimodelkan dengan relationships Terdapat tiga kategori dasar dari relationships: Associations Generalizations Aggregation
Relationship Association (relationship) Inheritance (Generalization) (is-a, kind-of) Aggregation (Part-Of) Dependency Realization
Association Mahasiswa Kelas Terdapat dua class yang berkomunikasi membutuhkan link. Association menunjukkan link tersebut Hubungan semantic antara dua kelas atau lebih yang menentukan relasi antar instance Hubungan struktural yang menentukan obyek dari suatu class berhubungan dengan obyek di class yang lain
Association Kelas Mahasiswa 1..* 0..* Mengambil > Dapat ditambahkan multiplicity dari association dengan menambahkannya pada garis yang menunjukkan association dari 2 class
Directional Association GetData Dosen Dapat ditentukan batasan dari association dengan menentukan arah dari association. Urutan kejadian berasal dari satu class, class yang lain hanya pasif menerima pesan.
Self Association 1 Pegawai 0..* Sebuah class dapat memiliki hubungan dengan dirinya sendiri melalui self-association
Hubungan generalization Obyek dari specialized class (sub-class) disubstitusikan dengan obyek pada generalized class (super-class) Hubungan “a-kind-of” Shape Super Class Class abstrak Hubungan generalization Sub Class Circle
Generalization Generalization menghubungkan subclass dengan superclass Person Generalization menghubungkan subclass dengan superclass Menyatakan pewarisan (inheritance) attributes dan perilaku dari superclass ke subclass Subclass menyatakan specialization dari superclass yang lebih general Student
Aggregation Dapat diartikan bahwa suatu class merupakan bagian dari class yang lainnya namun tidak wajib 4 Car Wheel Whole Part Bentuk khusus dari association yang menggambarkan hubungan whole-part diantara aggregate (the whole) dan bagiannya (the part) Hubungan “a part-part of” dan “has-part”
Dependency Menandakan hubungan semantic antara dua atau lebih Sebuah class mengacu pada class lainnya Perubahan pada class yang diacu akan sangat berpengaruh pada class yang mengacu CourseSchedule Course add(c : Course) remove(c : Course)
<<interface>> ControlPanel getChoices : Choice[] makeChoice (c : Choice) getSelection : Selection Interface adalah suatu set of operations yang menentukan perilaku obyek tanpa menunjukkan strukturnya Interface tidak di instansiasi. Tidak terdapat attributes atau state. Interface menentukan layanan yang ditawarkan bagi class terkait
<<interface>> Realization <<interface>> ControlPanel Realization menghubungkan sebuah class dengan interface yang menyediakan spesifikasi perilakuknya VendingMachine Hubungan realization mengindikasikan bahwa suatu class menerapkan perilaku yang ditentukan oleh class lainnya (Interface) Interface dapat diwujudkan dengan banyak class lainnya Suatu class dapat mewujudkan banyak interface
<<Contoh>> CLASS DIAGRAM <<Contoh>>
Tugas Lagi. . . dan Lagi. . .
Kumpulkan Tugas ATM