Modul 6
Modul 6
A. Tujuan
Mahasiswa dapat menggambarkan class diagram dari candidate class yang telah
ada.
Mahasiswa bisa memberikan atribut dan method pada masing-masing class yang
didefenisikan.
Mahasiswa dapat menggambarkan relasi antar class dan tipe - tipenya.
B. Dasar Teori
Class diagram menggambarkan struktur dan deskripsi package, class, dan objek
berserta hubungan antar-class di dalam sistem seperti pewarisan, asosiasi, agregasi,
dan lain-lain.
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah
objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class
menggambarkan keadaaan (atribut/properti) suatu sistem, sekaligus menawarkan
layanan untuk memanipulasi keadaan tersebut (method/fungsi).
Gambar Class
Class digambarkan dengan sebuah kotak dibagi menjadi tiga bagian. Bagian paling
atas diisikan nama class, bagian tengah diiisikan variabel/atribut yang dimiliki class,
dan bagian bawah diisikan method-method dari class.
Status (State) dari object adalah satu kondisi yang mungkin ada. Status dari object
akan berubah setiap waktu dan ditentukan oleh sejumlah property (atribut) dengan
nilai dari properti, ditambah relasi object dengan object lainnya.
Identitas (Identify) artinya hal yang melekat pada setiap object yang bersifat unik.
Pada UML, object digambarkan dengan segiempat dan nama dari object diberi garis
bawah.
1
c. Atribut
Atribut adalah salah satu properti yang dimiliki oleh class yang menggambarkan
batasan dari nilai yang dapat dimiliki oleh properyi tersebut. Sebuah class mungkin
memiliki beberapa atribut atau tidak memilikinya sama sekali. Sebuah atribut
merepresentasikan beberapa properti dari sesuatu yang kita modelkan, yang dibagi
dengan semua object dari semua class yang ada. Contohnya, setiap tembok memiliki
tinggi, lebar dan ketebalan. Atribut dalam implementasinya akan digambarkan
sebagai sebuah daftar (list) yang diletakkan pada kotak dibawah nama class. Seperti
halnya nama class, atribut merupakan teks. Biasanya huruf pertama dari tiap kata
merupakan huruf kapital, terkecuali untuk huruf awal. Sebagai contohnya :
Untuk lebih lanjut kita pun bisa menspesifikasikan atribut beserta jenis data yang
kita gunakan untuk atribut tersebut.
d. Method
Method adalah sebuah implementasi dari layanan yang dapat diminta dari beberapa
object dari class yang mempengaruhi behaviour. Dengan kata lain method adalah
abstraksi dari segala sesuatu yang dapat kita lakukan pada sebuah object dan ia
berlaku untuk semua object yang terdapat dalam class tersebut. Class mungkin
memiliki beberapa method atau tanpa method sama sekali. Contohnya adalah sebuah
class “kotak”, methodnya dapat dipindahkan, diperbesar atau diperkecil. Biasanya
(namun tidak selalu), memanggil method pada sebuah object akan mengubah data
atau kondisi dari object tersebut. Method ini dalam implementasinya digambarkan
dibawah atribut dari sebuah class.
2
Gambar Method dari Class Diagram
Untuk lebih lanjut kita pun bisa menspesifikasikan semua parameter yang terlibat
dalam method tersebut.
Ketika menggambarkan sebuah class, tidak perlu menampilkan seluruh atribut atau
method. Hal ini dikarenakan dalam sebagian besar kasus yang ada, tidak dapat
menampilkannya dalam sebuah gambar, karena telalu banyaknya atribut atau
method bahkan terkadang tidak perlu karena kurang relevannya atribut atau method
tersebut untuk ditampilkan. Sehingga kita dapat menampilkan hanya sebagian atau
bahkan tidak sama sekali atribut dan methodnya.
Kosongnya kotak tempat pengisian bukan berarti tidak ada. Karena itu kita dapat
menambahkan tanda (“…”) pada akhir daftar yang menunjukkan bahwa masih ada
atribut atau method yang lain. Atribut dan method dapat memiliki salah satu dari
sifat berikut:
3
f. Relasi pada class diagram
1. Inheritance
Hubungan antara class yang bersifat umum (superclass atau parent class)
dengan class yang bersifat lebih spesifik (subclass atau child class). Sebuah
generalization dilambangkan dengan sebuah panah dengan kepala panah
yang tidak solid yang mengarah ke kelas “parent”nya/induknya.
2. Association
Association adalah hubungan struktural antar class. Ini bukan aliran data
sebagaimana pada pemodelan desain dan analisa terstruktur, data
diperbolehkan mengalir dari kedua arah. Asosiasi diantara class-class artinya
ada hubungan antara object-object pada class-class yang berhubungan.
Banyaknya object yang terhubung tergantung dengan multiplicity pada
asosiasi, yang akan dibahas nanti. Relasi asosiasi umumnya menggambarkan
class yang memiliki atribut berupa class lain, atau class yang harus
mengetahui ekstensi class lain. Di dalam notasi uml kita mengenal asosiasi 2
arah (bidirectional) dan 1 arah (undirectional).
4
3. Aggregation
Hubungan antar-class dimana class yang satu (part class) adalah bagian dari
class lainnya (whole class). Digambarkan dengan garis dan belah ketupat
diujung.
4. Composition
5. Dependency
5
6. Realization
g. Multiplisitas Relasi
Multiplicity atau multiplisitas adalah jumlah banyaknya objek sebuah class yang
berelasi dengan sebuah objek lain pada class lain yang berasosiasi dengan class
tersebut. Untuk menyatakan multiplisitas anda dapat meletakkannya diatas garis
asosiasi berdekatan dengan class yang sesuai. Ada banyak multiplisitas yang
mungkin untuk dipakai. Tabel berikut menjabarkan multiplisitas yang dapat
digunakan.
Tabel multiplisitas
6
C. Contoh Praktikum
SKENARIO:
Sistem yang akan dibangun menyediakan jasa pemesanan jasa penjahit secara online
berbasis website, seperti pembuatan pakaian, pemesanan desain pakaian, bisa secara
custom dan memilih dari yang sudah disediakan oleh pihak penjahit, dan permak
pakaian.