1 Rekayasa Perangkat Lunak Materi 4 Class Diagram (Class, Association,Aggregation,Compositon,Generalization,Multiplicity) Class diagram mendeskripsikan struktur statis dari kelas kelas dalam system dan mengilustrasikan attribute, operations dan relationship antara satu kelas dengan kelas yang lain. Class Asscociation Rancangan dari objek yang mendefinisikan attribute dan method umum pada semua objek dari jenis tertentu Digambarkan dengan 3 tingkat, yaitu (dari atas ke bawah) Name Nama dari kelas, aturan penulisan huruf pertama dari semua kata adalah huruf besar, selain dari itu huruf kecil Attributes Mengambarkan attribute yang dimiliki oleh kelas, aturan penamaan huruf pertama dari kata kedua dan kata selanjutnya adalah huruf besar, selain dari itu huruf kecil Format modifier name : type = value Operations Menggambarkan method yang dimiliki oleh kelas, aturan penamaan sama dengan penamaan attribute. Format modifier name(parameter:type):return type Relasi yang kuat, relasi ini mengindikasikan bahwa suatu kelas mereferensikan kelas yang lain, menggambarkan interaksi yang mungkin terjadi antara 1 kelas dengan kelas yang lain selama kelas tersebut tidak saling memiliki atau bukan bagian dari. Directional Association (1 arah) Menggambarkan bahwa pesan terjadi hanya dari satu kelas sedangkan kelas yang lain pasif Bidirectional Association (2 arah) Menggambarkan bahwa pesan dari kedua kelas yang saling berelasi.
2 Rekayasa Perangkat Lunak Aggregation Composition Lebih spesifik dari assosiasi, mengindikasikan bahwa suatu kelas merupakan bagian dari kelas yang lain namun bersifat tidak wajib. Relasi ini juga menyatakan bahwa suatu kelas yang menjadi bagian dari kelas yang lain tidak akan dihapus meskipus kelas yang memilikinya dihapus. Lebih spesifik daripada aggregation, mengindikasikan hubungan yang saling bergantung, dimana suatu kelas merupakan bagian dari kelas yang lain dan bersifat wajib. Relasi ini juga mengindikasikan bahwa suatu kelas yang menjadi bagian kelas yang lain akan terhapus ketika kelas yang memilikinya dihapus. Generalization Juga dikenal sebagai inheritance. Mengindikasikan bahwa sebuah kelas adalah child class atau sub class lebih spesifik terhadap parent class / super kelasnya. Semua sub class akan memiliki apa yang dimiliki super class tapi super class tidak memiliki apa yang hanya dimiliki oleh sub class. Multiplicity Mengindikasikan berapa banyak objek dari suatu kelas terelasi ke objek yang lain Multiplicity Arti * Banyak 0 Nol 1 Satu (bisa tidak ditulis) 0..* 0 sampai banyak 1..* 1 sampai banyak 0..1 0 atau 1
3 Rekayasa Perangkat Lunak Modifier Digunakan untuk menandakan bagaimana kelas lain menggunakan attribute, constructor dan method dari suatu kelas. Notasi Keterangan Kegunaan + Membuat visible terhadap kelas lain Visibility public # Membuat visible terhadap turunannya Visibility protected - Membuat visible Visibility hanya dalam 1 kelas ~ Membuat visible untuk semua kelas dalam satu paket private Visibility package 1. Silahkan anda tambahkan 1 buah class diagram dengan nama Class Diagram Perpustakaan 2. Tambahkan 1 buah Class dan beri nama koleksi 3. Tambahkan lagi kelas dengan nama Buku, Majalah, CD, Referensi, TugasAkhir 4. Atur agar Buku adalah turunan dari Koleksi, Majalah turunan dari Buku, Referensi turunan dari Buku, Tugas Akhir turunan dari Buku
4 Rekayasa Perangkat Lunak 5. Atur agar CD adalah turunan dari Koleksi 6. Tambahkan relasi Aggregasi antara Buku dan CD 7. Atur agar Aggregasi antara Buku dan CD memiliki arti bahawa 1 Buku bisa memiliki 0 sampai banyak CD tetapi boleh juga tidak memiliki CD, dengan cara klik kanan relasi antara Buku dan CD, klik didekat Class CD
5 Rekayasa Perangkat Lunak 8. Pilih Multiplicity 0..* 9. Tambahkan 1 buah kelas dengan nama Penulis 10. Tambahkan 1 buah relasi Composition antara TugasAkhir dengan Penulis dan Referensi dengan Penulis.
6 Rekayasa Perangkat Lunak 11. Tambahkan 2 buah kelas yaitu Anggota, Transaksi, TransaksiPeminjaman 12. Buat agar kelas TransaksiPeminjaman adalah subclass dari kelas Transaksi 13. Buat relasi Association antara kelas TransaksiPeminjaman dan Anggota 14. Silahkan anda klik kanan didekat kelas TransaksiPeminjaman pada relasi antara TransaksiPeminjaman dan Anggota 15. Pilih Navigable False
7 Rekayasa Perangkat Lunak 16. Buat relasi Association antara TransaksiPeminjaman dan Koleksi 17. Buat agar relasi antara transaksi peminjaman dan koleksi menjadi asosiasi 1 arah
8 Rekayasa Perangkat Lunak 18. Atur agar 1 transaksi peminjaman terdiri dari 1...* Koleksi