Anda di halaman 1dari 12

Modul 6.

UNIFIELD MODELING LANGUAGE (UML)


Konsep dasar UML adalah : (1) Merepresentasi Objek & Kelas (2) Merepresentasi Tipe Operasi (3) Merepresentasi Asosiasi (4) Merepresentasi Kelas & Asosiasi (5) Merepresentasi Turunan (6) Merepresentasi Generalisasi (7) Merepresentasi Pewarisan & Konsep Overinding (8) Merepresentasi Agragasi

REPRESENTASI OBJEK & KELAS


Pada pendeketan terstruktur standar permodelan data yang sering digunakan para perancang sistem umumnya menggunakan model data relasional dan model keterhubungan entitas atau model Entity Relationalship Diagram (ERD). Sayang pada Perancangan Sistem Berorientasi Objek karena relatif baru belum memiliki standar kakas (tools) untuk analisis dan perancangan. Namun begitu saat ini UML (Unified Modeling Language) berangsur-angsur mulai menjadi standar metodologi pengembangan sistem informasi karena UML digunakan di banyak perusahaan rekayasa informasi berskala besar. Dalam UML Kelas digambarkan sebagai kotak yang terbagi menjadi 3 bagian yang terpisah dengan garis horizontal. Nama kelas ditulis pada kompartemen teratas, daftar atribut ditulis pada kompartemen tengah, kemudian daftar operasi pada kompartemen paling bawah. Gambar dibawah menunjukkan 2 kelas Mahasiswa dan Mata Kuliah bersama dengan atribut serta operasi-operasinya
Gambar 6.1. Diagram Kelas dalam UML:

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()

Mata Kuliah : Basis Data


Kode_MK = MK-201 Nama_MK = Basis Data SKS = 3

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.

0..1 Karyawan 0..1


One-to-One (a) Unary Relationship Menikahi

* Karyawan 0..1
Memimpin

Karyawan

0..1
Menempati

0..1

Tempat Parkir

One-to-Many

Lini Produk

1
Mengandung

Produk

Many-to-Many (a) Binary Relationship

Mahasiswa

*
Mendaftar Many-to-Many

Mata Kuliah

(a) Binary Relationship

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

Asosiasi Biner Kasus Universitas 0..2


Membimbing

Dosen
1,2

0..10 Mendaftar

Mahasiswa

Matakuliah Yg ditawarkan

Dijadwalkan

Matakuliah 1
1

REPRESENTASI KELAS ASOSIASI


Saat asosiasi memiliki atribut serta operasinya sendiri maka ia dapat berpartisipasi dalam relasi dengan kelas yang lain, dan dianggap sebagai kelas asosiasi (association class). Pada gambar 6.6, memperlihatkan bahwa relasi ternary antara Mahasiswa, Perangkat Lunak, dan Matakuliah. Dimana bahwa mahaiswa-mahasiswa menggunakan berbagai perangkat lunak untuk matakuliah-matakuliah yang berbeda. Disini kita telah menciptakan kelas asosiasi yang kita namakan dengan Log yng memiliki operasi perhitungan dan penggunaan. Sebagai tambahan operasi kita menspesifikasikan 3 atribut yang merupakan milik asosiasi : Tanggal_Mulai, Tanggal_kadaluarsa, serta Jam_penggunaan Gb. Ternary Relationship Dengan Kelas Asosiasi

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 yang Ditawarkan


Mendaftar Untuk *

Matakuliah
* Dijadwalkan * Untuk

NIM Nama Tanggal_Lahir /Umur


* /Partisipan

Tahun Bagian

No_MK Nama+MK SKS

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 Nama Alamat Tanggal_Gajian


(disjoint/Incomplete)

Karyawan_tetap

Karyawan_Harian

NIP Gaji_bulanan Hitung_gaji()

Nama_pegawai Upah_harian Hitung_upah()

REPRESENTASI PEWARISAN & KONSEP OVERRIDING


Representasi Pewarisan merupakan perluasan kembali subkelas, atau dengan kata lain jika subkelas memberi batasan pada beberapa atribut atau operasi ia menggunakan pewarisan untuk pembatasannya. Sedang Overinding adalah proses penggantian metode yang diwarisi dari superkelas dengan implementasi spesifik pada subkelas. Pada gambar dibawah memperlihatkan bahwa kita dapat menciptakan Asisten_riset dan Mengajar yang merupakan subkelas dari Asisten_riset maupun Asisten_mengajar. Asisten_riset dan Mengajar mewarisi fitur-fitur dari Asisten_riset maupun Asisten_mengajar.
Gb. Pewarisan

Mahasiswa

Mahasiswa Pasca Sarjana


(overlapping, complete)

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

Anda mungkin juga menyukai