CLASS DIAGRAM
Class Diagram ● Diagram yang paling umum dijumpai pada pemodelan berbasis UML ● Apa yang ada pada class diagram Class dan interface beserta atribut dan operasinya Relasi yang terjadi antar objek Constraint terhadap objek-objek yang saling berhubungan Inheritance untuk organisasi class yang lebih baik ● Static view dari elemen pembangun sistem
Class Diagram Mampu membantu proses pembuatan sistem dengan memanfaatkan konsep forward/reverse engineering Memiliki 2 komponen penting Structural Ciri pembeda antar object Behavioral Tingkah laku atau kegiatan yang mampu dilakukan object
Class Diagram Contoh Kasus: Pintu ● Struktural ● Lebar ● Behavioral ● Tinggi ● Warna ● Behavioral ● Buka ● Tutup
Class Diagram 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). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class Diagram Class memiliki tiga area pokok : 1. Nama (dan stereotype) 2. Atribut 3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut : Private, tidak dapat dipanggil dari luar class yang bersangkutan Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya Public, dapat dipanggil oleh siapa saja
Class Diagram Membantu dalam visualisasi struktur kelas-kelas dari suatu system dan hubungan antar kelas (inheritance, aggregation, and association) dan penjelasan detail tiap kelas (methode/function/behavior dan atribut/property/data) Diagram ini merupakan fondasi untuk component diagram dan deployment diagram Diagram paling penting pada object oriented analysis and design Class digambarkan dengan sebuah kotak dengan 3 section Sebuah class atau atribut/methode bisa mempunyai dokumentasi Gunakan dengan lambang dibawah ini dan ditarik dengan garis putus tanpa panah
Class Diagram Disarankan untuk tidak menggambar tanpa 3 section ini Kadang-kadang boleh ada section tambahan untuk menggambarkan keterangan class Setiap atribut/methode/association diperbolehkan ada sebuah keterangan atribut/methode yang diletakkan diantara tanda { } Sebuah class atau atribut/methode bisa mempunyai dokumentasi dengan lambang dibawah ini dan ditarik dengan garis putus tanpa panah
Class Diagram Merepresentasikan blueprint dari object Properti: ciri khas dan pembeda antar objek Metode: aksi yang dapat dilakukan oleh objek tersebut Contoh class Manusia Attribut: nama, usia, tanggal lahir Method: berjalan, makan, minum Notasi kotak dengan 3 bagian: Nama kelas Atribut Metode/operation
Object Object adalah instansiasi dari class Object adalah orang, tempat, kejadian atau sesuatu tentang dimana kita mau menangkap informasi. Class Object
Visibility Menyatakan level akses sebuah object Visibility dapat diterapkan pada atribut atau methode Tampilkan visibility secara urut berkelompok mulai dari urutan tertinggi Type data (int,float,char) dari sebuah atribut dapat disertakan Visibility Symbol Public + Protected # Private - class A # A2 : int = 100 - A1 : int + ENTRYA1( ) : void
Multiplicity Indikasi berapa banyak objek yang bisa mengisi properti 1 (pasti 1) 0..1 (0 atau 1) * (Tidak ada batasan, bisa 0, 1, ..., n) Biasanya didefinisikan batas bawah dan atas, kecuali untuk yang pasti bernilai 1 Mirip dengan konsep one-to-one dan one-to many pada relational database
Hubungan Antar Class Hubungan Antar Class Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”). Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Generalization Inheritance pada UML Sub class mewarisi feature dari super classnya Sub class mampu overriding metode super classnya Dinotasikan dengan anak panah mengacu ke super class
Association Menggambarkan hubungan antar class Ditandai dengan garis lurus Seringkali ditambahkan label dan multiplicity untuk memperjelas hubungan Multiplicity adalah jumlah kejadian minimum dan maksimum dari suatu objek/kelas untuk satu kejadian tunggal dari objek.kelas yang terkait.
Contoh Class Diagram Contoh class diagram :
Asosiasi objek/kelas dan notasi Multiplicity
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 Klub memiliki banyak anggota Orang bisa memiliki makna tersendiri tanpa kehadiran sebuah klub Dinotasikan dengan diamond “kosong” 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) 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
Tiga Jenis Class utama: Entity, Boundary, Control Menentukan Stereotype Class Entity Class : objects menyimpan seluruh data pada application Boundary Class : digunakan actor utk berinteraksi dg sistem contoh : form, menus, dialog boxes Control Class : mengatur seluruh kegiatan dan menangkap main application logic contoh : discount complex policy is complex
Kerangka Berfikir Object Catatan Penentuan Matrikulasi Layar/GUI Entry Pendaftaran Sekretaris ProgramStudi Staf Pendaftaran Cetak Kwitansi Pendaftaran Staf Keuangan Modul Control Object yg terlibat pada saat Use Case Fill order Table/Relasi