UNIFIED MODELING LANGUAGE CLASS DIAGRAM BIRO PERJALANAN JAUH
Resume, Analyze, dan Design
Oleh : Andri Kurnaedi
10507454
MI-10 2007 JURUSAN MANAJEMEN INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIKOM BANDUNG 2009
RESUME, ANALYZE, DAN DESIGN
DAFTAR ISI
Daftar Isi ........................................... ................................................................. ............................................ ............................................ ............................. ....... i A. UNIFIED MODELING LANGUAGE ............................................ ................................................................ .................... 1 B. CLASS DIAGRAM ........................................... ................................................................. ............................................ ............................ ...... 2 Atribut ........................................... ................................................................. ............................................ ....................................... ................. 3 Method .......................................... ................................................................ ............................................ ....................................... ................. 3 Multiplicity ............................................ .................................................................. ............................................ ............................... ......... 3 Notes & Comment ............................................ .................................................................. .......................................... .................... 4 Dependency ........................................... ................................................................. ............................................ ............................... ......... 4 Generalization .......................................... ................................................................ ............................................ ............................ ...... 4 Constraints ............................................. ................................................................... ............................................ ............................... ......... 5 Abstract Class ........................................... ................................................................. ............................................ ............................ ...... 5 Interface ............................................. ................................................................... ............................................ ................................... ............. 6 Enumeration .......................................... ................................................................ ............................................ ............................... ......... 6 Associations .......................................... ................................................................ ............................................ ............................... ......... 7 Bidirectional Associations ......................................................... .......................................................................... ................. 7 Aggregation ........................................... ................................................................. ............................................ ............................... ......... 7 Composition .......................................... ................................................................ ............................................ ............................... ......... 8 Contoh Class Diagram ............................................ .................................................................. ................................... ............. 9 C. MEMBUAT CLASS DIAGRAM ........................................... .................................................................. .......................... ... 11 Identify Generalizations .......................................... ................................................................ ................................. ........... 11 Identify Aggregations .......................................... ................................................................ ..................................... ............... 11 Identify Assosiations Assosiations .......................................... ................................................................ ..................................... ............... 12 Identify Clusters Clusters .......................................... ................................................................ ............................................ ...................... 12 Explore Patterns ........................................... ................................................................. ............................................ ...................... 12 D. CONTOH SOAL ............................................ .................................................................. ............................................ ............................. ....... 13 E. PENYELESAIAN ........................................... ................................................................. ............................................ ............................. ....... 14 Class & Object ............................................. ................................................................... ............................................ ...................... 14 Aggregations & Generalizations Biro Perjalanan JAUH JAUH ......................... ......................... 16 Class Diagram Biro Perjalanan JAUH .......................................... ..................................................... ........... 17
Class Diagram Biro Perjalanan | i
RESUME, ANALYZE, DAN DESIGN
A. UNIFIED MODELING LANGUAGE
Sebelum mempelajari Diagram Class, The Unified Modeling Language (UML) haruslah dikenal terlebih dahulu. Hal ini dilakukan untuk menunjang dalam mengartikan sebuah diagram class yang merupakan bagian dari UML. The Unified Modeling Language (UML) adalah bahasa standar untuk melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi dari komponenkomponen perangkat lunak, dan digunakan untuk pemodelan bisnis. UML menggunakan notasi grafis untuk menyatakan suatu desain. Pemodelan dengan UML berarti menggambarkan yang ada dalam dunia nyata ke dalam bentuk yang dapat dipahami dengan menggunakan notasi standar. Pemodelan dengan UML terdiri dari 8 tipe diagram yang berbeda untuk memodelkan sistem perangkat lunak. Masing-masing diagram UML didesain untuk menunjukkan satu sisi dari bermacam-macam sudut pandang (perspektif) dan terdiri dari tingkat abstraksi yang berbeda. UML mendefinisikan diagram-diagram berikut ini : 1. Use Case Diagram 2. Class Diagram 3. Behavior Diagram : a. Statechart Diagram b. Activity Diagram 4. Interaction Diagram : a. Sequence Diagram b. Collaboration Diagram 5. Component Diagram 6. Deployment Diagram Dari beberapa sumber menyatakan Object Diagram merupakan salah satu bagian UML. Dikarenakan Object Diagram memiliki sudut pandang yang hampir sama dengan Class Diagram, maka banyak yang berpendapat bahwa Object Diagram tidak begitu diperlukan dalam UML.
Class Diagram Biro Perjalanan | 1
RESUME, ANALYZE, DAN DESIGN
B. CLASS DIAGRAM
Class Diagram adalah diagram yang paling umum dijumpai pada pemodelan berbasis UML. Didalam Class Diagram terdapat 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. Selain itu Class Diagram merupakan static view dari elemen pembangun sistem. Class
Diagram
mampu
membantu
proses
pembuatan
sistem
dengan
memanfaatkan konsep forward/reverse engineering. Class Diagram memiliki 2 komponen penting, yaitu : 1. Atribut – Atribut – Ciri Ciri pembeda antar object 2. Method – Method – Tingkah Tingkah laku atau kegiatan yang mampu dilakukan object Atribut dan method 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.
Contoh, Class Buku terdiri dari :
Atribut : judul, j udul, pengarang
Method : ambilJenis(), ambilHalaman();
Penggambaran dalam Class Diagram :
Class Diagram Biro Perjalanan | 2
RESUME, ANALYZE, DAN DESIGN
Atribut
Notasi dari atribut : visibility name: type multiplicity = default {property-string} Contoh : - name name:: String [1] = "Untitled" {readOnly} Ket : + berarti public, - berarti private, # berarti protected “Untitled” adalah nilai yang diberikan secara default jika tidak ditentukan saat objek dibuat. {readOnly} adalah properti tambahan dari atribut, dimana disini berarti tidak bisa dimodifikasi.
Method
Notasi dari Method : visibility name (parameter-list) : return-type {property-string} Contoh : + balanceOn (date: Date) : Money Ket : + berarti public, - berarti private, # berarti protected direction name : type = default value Direction bisa berupa : in, out, atau inout.
Multiplicity
Indikasi berapa banyak objek yang bisa mengisi properti.
1 (pasti 1)
0..1 (0 atau 1)
* (Tidak ada batasan, bisa 0, 1, ..., n) Multiplicity 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.
Class Diagram Biro Perjalanan | 3
RESUME, ANALYZE, DAN DESIGN
Notes & Comment
Notes bertindak sebagai komentar dalam diagram. Standalone atau dihubungkan dengan garis putus-putus. Untuk mengurangi ambiguitas, seringkali ditambahkan lingkaran pada akhir garis penghubung. Contoh :
Dependency
Dependency adalah perubahan pada salah satu elemen yang mengakibatkan perubahan pada elemen yang lain. Semakin kompleks sistem, maka dependency menjadi sesuatu yang harus dipertimbangkan. Dependency hanya berlaku satu arah. Bisa diperjelas dengan penggunaan keyword, seperti <
>, <