Upload
donasiilmu
View
2.985
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
BAB VIIICLASS dan OBJECT
DIAGRAM
CLASS DIAGRAM
-Diagram yang paling umum dijumpai padapemodelan berbasis UML
-Apa yang ada pada class diagram
* Class dan interface beserta atribut dan operasinya
* Relasi yang terjadi antar objek
* Constraint terhadap objek-objek yg 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
1. StructuralCiri pembeda antar object
2. BehavioralTingkah laku atau kegiatan yang mampu
dilakukan object
CLASS DIAGRAMContoh Kasus : pintu
• StrukturalLebarTinggiWarna
• Behavioral BukaTutup
CLASS• 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
• Temukan Objek yang potensial
Temukan kata benda (noun) yang berhubungan dengan entitas bisnis
• Singkirkan kata benda yang menggambarkan:– Synonim– Kata benda di luar ruang lingkup sistem– Kata benda yang merupakan role (pemeran) yang
tidak memiliki behavior yang unik atau external role– Kata benda yang belum jelas– Kata benda yang sebenarnya merupakan action
atau atribut.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Mencari dan mengidentifikasi objek-objek bisnis
1. Identifikasi association dan multiplicity
2. Identifikasi Generalization / specialization relationship
3. Identifikasi Aggregation relationship4. Siapkan Class Diagram
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Constructing a Class Diagram
• Tanda – artinya private
• + artinya public• # artinya protected
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Class
+operation1()-operation2()#operation3()
-attribute1-attribute2
Class
-attribute1-attribute2
Class
+operation1()+operation2()
Class
Atribut• Notasi dari atribut
visibility name: type multiplicity = default {property-string}
Contoha. - name: String [1] = "Untitled" {readOnly}
b. + berarti public, - berarti private, # berarti protected
c. “Untitled” adalah nilai yang diberikan secara default
jika tidak ditentukan saat objek dibuat
d. {readOnly} adalah properti tambahan dari atribut,
dimana disini berarti tidak bisa dimodifikasi
Operations• Notasi dari operations
visibility name (parameter-list) : return-type {property-string
• Parameter pada parameter-list dinotasikanseperti pada atribut* direction name: type = default value
* Direction bisa berupa: in, out, atau inout
Contoh* + balanceOn (date: Date) : Money
� Indikasi berapa banyak objek yang bisamengisi 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
Multiplicity
Generalization• Inheritance pada
UML• Sub class mewarisi
feature dari super classnya
• Sub class mampuoverriding metodesuper classnya
• Dinotasikan dengananak panah mengacuke super class
Associations
• Menggambarkan hubungan antar class• Ditandai dengan garis lurus
• Seringkali ditambahkan label danmultiplicity untuk memperjelas hubungan
Aggregation� '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 kursibisa 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
• Contoh :
Diagram Diagram ObjectObject
-- BersifatBersifat statisstatis
-- MemperlihatkanMemperlihatkan objekobjek--objekobjek sertaserta relasirelasi--relasirelasi antarobjekantarobjek..
-- MemperlihatkanMemperlihatkan instantiasiinstantiasi statisstatis daridarisegalasegala sesuatusesuatu yang yang dijumpaidijumpai padapadadiagram diagram kelaskelas
• Sebuah objek adalah sebuah unit yang exist danberaksi dalam sistem yang berjalan.
• Semua objek adakah instance dari class. Objekmemiliki informasi yang ditunjukkan melalui atribut, yang strukturnya didefinisikan di dalam class.
• Objek dapat menerima message yang didefinisikandalam class, yaitu dalam bentuk operasi-operasiyang telah mendefinisikan message-message tersebut.
• Behaviour yang didefinisikan melalui message tersebut berlaku terhadap semua objek-objek dariclass, termasuk juga struktur atributnya. Meskipundemikian, nilai atributnya mungkin tidak sama antarasatu objek dengan objek lainnya.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Object
• Objek digambarkan dengan empat persegi panjang yang hanya memiliki nama objeknya atau ditambah dengannama class, atau nilai dari satu atribut tertentu atausemua atributnya.
• Jika nilai dari atribut hendak ditunjukkan, maka kotakempat persegi panjang dibagi menjadi dua bagian yang dipisahkan dengan garis horisontal. Untuk dapatmembedakan objek dengan class, nama objek diberigaris bawah, dan biasanya nama objek dituliskandengan huruf kecil.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Notasi Class
object :Class
attributeName = value
object: Class
• Atribut ditunjukkan dengan nama atributnya dan contohnilai/value dari atribut tersebut, sesuai dengankonteksnya. Operation tidak ditunjukkan karena merekatidak memiliki tampilan objek individual dan operationidentik untuk semua objek yang ada di class.
• Hubungan antara class dengan objek digambarkandengan tanda panah terputus-putus, dimana objekmenunjuk kepada classnya.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Class object
Ilustrasi dibawah ini menunjukkan sebuah objek yang bernama aCircle, yang merupakan sebuah instance dariclass Circle. Objek ini dilengkapi dengan dua atributradius dan center, dan radius memiliki nilai 25 dancenter (x,y) memiliki nilai (10,10).
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
aCircle:Circle
radius = 25center = (10,10)
Instance name
Attribute name
Class name
Attribute value
• Suatu atribut adalah sebuah (data) elemenyang memiliki cara yang sama dalamsetiap objek dari class dandirepresentasikan oleh setiap objekdengan suatu nilai individual/tersendiri
• Kebalikan dari objek, atribut tidak memilikiidentitas mereka sendiri diluar objekdimana mereka menjadi bagiannya. Atribut secara sepenuhnya dibawahkendali dari objek-objek dimana merekamenjadi bagiannya.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Atribut objek
• Variasi khusus dari atribut disebut sebagai derived attribute. Di dalam objek, mereka tidak diwakili secara fisikdengan sebuah nilai, tetapi dihitung secara otomatis. Instruksi perhitungan biasanya dituliskan dalam bentuksebuah constraint.
• Derived attributes hanya boleh derived(dihasilkan/diturunkan) dari elemen-elemen objek internal.
Notasi• Nama atribut dimulai dengan huruf kecil dan nama class
diawali dengan huruf besar, sedangkan tagged value danconstraint menggunakan kurung kurawal ({ })
• Derived attributes ditandai dengan tanda slash atau garismiring (/).Class Attribute diberi garis bawah, dan dalamspesifikasi (C++), public, protected dan private ditandaidengan simbol ‘+’,’#’,’-‘. Simbol untuk public, protected danprivate juga bisa digunakan untuk class Attribute.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Derived attribute
/derivedAttributeclassAttribute+publicAttribute#protectedAttribute-privateAttribute
• Didalam class, atribut dipisahkan dengan namaclass oleh sebuah garis horisontal, dan letaknya adadi kategori kedua dalam kotak empat persegipanjang class.
SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Person
name: string = 'Unknown'firstName : string = ' '
birthDate: Date/age {age=today-birthDate}