Mahasiswa
Nama Tgl_lahir Alamat Telpon Hitung IP Ambil_MK
Mata Kuliah
Kode_MK Nama_MK SKS Pembayaran
Diagram Objek (disebut juga diagram instansiasi), yang menggambarkan instansiasi yang sesua dengan diagram kelas Pada gambar 6.2. dibawah memperlihatkan diagram objek yang memperlihatkan rincian state pada sistem suatu waktu tertentu yang dihasilkan dari instansiasi diagram kelas pada gambar 6.1.
Gambar 6.2. Diagram Objek
Mahasiswa : Agus
Nama = Agus Nugroho Tgl_lahir = 21-10-80 Alamat = Cibubur Indah II 2 Jakarta Timur Telpon = 72022771 Hitung IP() Ambil_MK()
Pembayaran : Tunai
Tipe Operasi (Dalam model OO), dapat dikelomopkan menjadi 3 tipe tergantung layanan yang diminta oleh objek lain (objek client) yaitu :
~ Operasi Konstruktor ; untuk melakukan instansiasi kelas (pembentukan suatu objek) serta memberi nilai awal (inisialisasi). Misal operasi mahasiswa() menciptakan objek mahasiswa dengan inisialisasi nama mahasiswa Lia Amelia, tanggal lahir 10 Juli 1980, Alamat Cbbr, dst ~ Operasi Query ; Operasi yang tidak memiliki efek samping, artinya ia mengakses state suatu objek tetapi tidak merubah keadaan state itu sendiri. Misal kelas mahasiswa dapat memiliki operasi yang dinamakan Hitung_IP. (yang tidak memiliki akibat pada atribut-atribut kelas Mahasiswa) ~ Operasi Update ; operasi yang memiliki efek samping (merobah state suatu objek), misal operasi Ganti_Alamat() yang dapat merobah nilai atribut alamat atribut tertentu
REPRESENTASI ASOSIASI
Seperti definisi relasi pada diagram E-R, suatu asosiasi adalah relasi antara kelas-kelas. Derajat asosiasi dapat bernilai Unary, Binary, dan Ternary. Pada gambar 6.3. memperlihatkan relasi Unary yaitu : Menikahi dan Memimpin. Pada suatu sisi dari relasi memimpin kita namai peran sebagai Manajer, yangmengimplikasikan bahwa seorang karyawan dapat memainkan peran sebagai manajer yang memimpin karyawan lainnya. Kita tidak perlu menamai peran pada sisi lain karena kita sudah menamai asosiasinya. Saat peran tidak ada kita dapat memikirkan nama peran sebagai kelas yang dilampirkan pada akhir asisiasi. Pada gambar 6.3. kita dapat menamai relasi (sebagai link dalam UML) sebagai menempati Tempat Parkir.
* Karyawan 0..1
Memimpin
Karyawan
0..1
Menempati
0..1
Tempat Parkir
One-to-Many
Lini Produk
1
Mengandung
Produk
Mahasiswa
*
Mendaftar Many-to-Many
Mata Kuliah
Bagian *
Supplier
Menyediakan
Gudang
Setiap aturan memiliki Multiplitas yang mengindikasikan jumlah objek yang berpartisipasi pada relasi yang diberikan yang mirip dengan kardinalitas pada model E-R. Multiplitas yang umum dalam praktek adalah 0..1, *, dan 1. Catatan : ~ Pada Multiplitas 0..1 mengindikasikan bahwa ia memiliki nilai minimum 0 dan maksimum 1 (optional-one) ~ Pada Multiplitas * (atau ekivalennya 0..*) mengindikasikan bahwa rentang nilai antara 0 hingga banyak (optional-many) ~ Pada Multiplitas 1..1 mengindikasikan bahwa hanya 1satu objek yang berpartisipasi dalam asosiasi (mandatory-one) Pada gambar 6.4, kita dapat melihat relasi ternary dengan relasi yang dinamakan Menyediakan yang melibatkan kelas-kelas Vendor, Bagian, serta Gudang.
Many-to-Many Kasus Pesanan Pelanggan
Pelanggan
Mengirim
Lini Produk
1
Mengandung
* Pesanan *
Meminta
1..*
Produk
Pada gambar 6.5, memperlihatkan bahwa Mahasiswa dapat memiliki pembimbing dimana tiap dosen dapat membimbing maksimal 10 mahasiswa atau mungkin tidak membimbing seorangpun mahasiswa. Sebaliknya setiap mahasiswa bisa dibimbinmbing oleh paling banyak 2 dosen atau mungkin ada Mahasiswa yang belum memiliki dosen pembimbing (mungkin belum memenuhi syarat bimbingan). Sementara Matakuliah yang ditawarkan mungkin diajarkan satu atau dua dosen (1,2), dan seorang dosen mungkan mengajar banyak mata kuliah yang ditawarkan (*). Selain itu pada gambar dibawah memperlihatkan bahwa dosen memiliki peran baik sebagai pengajar maupun sebagai pembimbing
Dosen
1,2
0..10 Mendaftar
Mahasiswa
Matakuliah Yg ditawarkan
Dijadwalkan
Matakuliah 1
1
Perangkat Lunak
*
Mahasiswa
*
Dijadwalkan
Matakuliah
Log
Tanggal_mulai Tanggal_kadaluarsa Jam_Penggunaan
Perhitungan_Penggunaan()
REPRESENTASI TURUNAN
Atirbut turunan, asosiasi, atau aturan adalah sesuatu yang dapat dihitung atau diturunkan dari atribut lain, asosiasi yang lain, atau aturan yang lain. Elemen turunan (atribut, asosiasi, atau aturan) diperlihatkan dengan tanda / sebelum nama elemen. Pada gambar dibawah memperlihatkan bahwa umur adalah atribut turunan dari Mahasiswa karena dapat dihitung dari tanggal_lahir dan tanggal_sekarang. Demikian juga relasi Mengambil antara Mahasiswa dan Matakuliah karena ia dapat diketahui dari relasi Mendaftar_untuk dan Dijadwalkan_untuk. Dengan cara yang sama, Berpartisipasi adalah peran turunan karena ia dapat diturunkan dari aturan yang lain. Gb. Atribut Turunan, Asosiasi Turunan, dan Peran Turunan
Mahasiswa
*
Matakuliah
* Dijadwalkan * Untuk
Tahun Bagian
REPRESENTASI GENERALISASI
Generalisasi adalah menspesialisasikan dari dua atau lebih entitas yang berbeda, dengan kata lain mengabstraksi atribut umum dari dua atau lebih entitas yang berbeda. Pada gambar dibawah memperlihatkan dua tipe karyawan yang berbeda, yaitu Karyawan_tetap dan Karyawan_honorer. Lintasan generalisasi diperlihatkan dengan garis tegas dari subkelas ke superkelas dengan segitiga kecil kosong pada bagian awal dekat dengan superkelas
Gb. Superkelas karyawan dengan 2 subkelas
Karyawan_tetap
Karyawan_Harian
Mahasiswa
Asisten_riset
Asisten_mengajar
Asisten_mengajar
REPRESENTASI AGREGASI
Agregasi pada prinsipnya adalah relasi bagian dari antara objek komponen dan objek agregatnya. Hubungan bagian dari diperliohatkan dengan jajaran genjang kosong. Pada gambar dibawah memperlihatkan bahwa PC sebagai agregat dari CPU, Harddisk, Keyboard, Monitor, dan objekobjek lainnya.
Gb. Contoh Agregasi
PC
1..*
1..*
CPU
Harddisk
Monitor
Keyboard