CLASS DIAGRAM Pertemuan 6
Pendahuluan Class diagram adalah inti dari proses pemodelan objek. Baik forward engineering maupun reverse engineering. Forward engineering adalah proses perubahan model menjadi kode program. Reverse engineering kebalikannya yaitu proses perubahan kode program menjadi model.
Bagian class diagram Nama class Attribut Methoda
Contoh Class buku terdiri dari: Atribut: judul, dan pengarang Methoda: setjenis(), ambilHalaman();
Attribut Atribut digambarkan dalam dua notasi yang berbeda: inline (hubungan antar class) dan atribut relasi. Atribut inline dapat ditulis disebelah kanan notasi nodes. Notasi inline yang mengikuti standar UML adalah: Visibility / name: type multiplicity = default {property strings and constraints}
Dimana: Visibility = {+, -, #, ~} Multiplicity = [lower .. Upper] Visibility Mengindikasikan bagaimana atribut tersebut terlihat dan berhubungan dengan kelas lain. Gunakan simbol +, -, #, ~ untuk menyatakan public, private, protected atau package.
Simbol “/”. Mengindikasi turunan dari atribut. Name. Merupakan kalimat pendek yang menyatakan nama atribut. Kalimat pertama huruf kecil, kalimat kedua dan seterusnya huruf besar. Contoh: horsePoser, manufactur Type. Menyatakan tipe atribut dari klass lain, misalnya: interface, built-in. Multiplicity. Menspesifikasikan beberapa anggota yang dinyatakan dari atribut tersebut. Nilainya bisa integer tunggal atau range, yang dipisahkan dengan “..” (nilai) tanda astertik “*” sebagai batas atas.
Default. Nilai default atribut Property string. Kumpulan property yang dapat dihubungkan dengan atribut. Biasanya dalam hal-hal unik. Cara penulisannya dengan tanda “{}” Constraints. Batasan suatu atribut.
Sifat Class Diagram 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
Atribut relasi Berfungsi untuk menghubungkan satu class dengan class yang lainnya. Dengan menggunakan notasi relasi sebagai sarana pembentuk atribut relasi dalam diagram klass yang besar. Dengan cara itu kita bisa membuat atribut dengan detail dan komplek.
Contoh Class mobil yang memiliki mesin jenis tertentu. Jika kita merinci lagi mesin yang digunakan kelas mobil maka kita akan mengalami kesulitan dalam memahaminya. Maka untuk itu kita perlu membuat satu kelas lagi yaitu mesin, sehingga kita bisa merinci kelas mesin secara rinci. Dari contoh di atas –mesin adalah atribut visibility. Angka 1 adalah multiplicity.
Atribut turunan (/) Simbol “/” menyatakan kepada kita bahwa atribut tersebut tidak terlalu penting. Contoh: perbankan mempunyai kelas nasabah, ia memiliki saldo. Untuk mengetahui kondisi apakah saldonya minus atau tidak, maka kita butuh atribut saldo minus (overdrawn).
Atribut multiplicity Pada kelas mobil di atas, terlihat atribut multiplicity, pada roda adalah 4 menandakan rodanya 4, jika tidak ada keterangan multiplicity maka dianggap bernilai 1.
Operasi Rumus: visibility name (parameter): return-type {properties}. Parameter ditulis dengan: Direction parameter_name: type [multiplicity]= default_value {properties}
Visibility: sama dengan visibility atribut Name: kata kerja yang merepresentasikan aksi. Return-type: merupakan tipe pengembalian pada operasi. Jika tidak ada tipe pengembalian dari operasi maka tipe pengembalian dianggap void. Jika operasi pengembalian tidak memiliki nilai, maka kita harus menunjukkan tipe pengembaliannya apakah tipe primitiv atau collection. Properties: batasan dan sifat-sifat yang melekat pada operasi.
Direction: bersifat optional, mengindikasikan bagaimana parameter digunakan dalam operasi. yaitu, in, inout, out atau return. In menyatakan bahwa parameter mengarah dari caller (pemanggil) menuju operasi. Out menyatakan parameter dari operasi menuju caller. Inout menyatakan parameter dari caller ke operasi dan memiliki kemungkinan untuk balik arah. Return mengindikasikan bahwa nilai yang diset oleh caller diarahkan kembali sesuai nilai return itu.
Parameter_name: adalah kata benda yang memberikan nama kepada parameter. Penulisannya dimulai dari huruf kecil, jika ada kata berikutnya dimulai dengan huruf besar. Type: tipe parameter yang berhubungan dengan kelas lain, interface, collection atau tipe primitif. Multiplicity: sama dengan multiplicity pada atribut. Default_value: menyatakan nilai default parameter yang bersifat opsional. Jika tidak ditulis berarti kita tidak memperlihatkan tanda = Properties: menyatakan sifat yang berhubungan dengan parameter. Dinyatakan dalam tanda kurung kurawal {} yang bersifat optional: boleh atau tidak boleh.
Contoh: