uml unified modeling language
DESCRIPTION
UNIFIED MODELING LANGUAGETRANSCRIPT
-
UNIFIED MODELING LANGUAGE
UML (Unified Modeling Language) adalah metode pemodelan secara visual
sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena
UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka
semua elemen dan diagram berbasiskan pada paradigma object oriented.
UML adalah salah satu tool / model untuk merancang pengembangan software
yang berbasis object oriented. UML sendiri juga memberikan standar penulisan sebuah
sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa
program yang spesifik, skema database, dan komponenkomponen yang diperlukan dalam
sistem software.
Dengan menggunakan UML kita dapat membuat model untuk semua jenis
aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem
operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi
karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia
lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti
C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk
modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.
Notasi UMLmerupakan sekumpulan bentuk khusus untuk menggambarkan berbagai
diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax
mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML
terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD
(Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar
Jacobson OOSE (Object-Oriented Software Engineering).
UML dibangun atas model 4+1 view
Use Case View mendefinisikan perilaku eksternal sistem
Design View mendefinisikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan
use case (computer program, kelas-kelas, interkasi)
Implementation View : menjelaskan komponen-komponen fifik dari sistem (file exe, library, database)
Design View Implementation
Proses View Deployment
View
Use Case
View
-
Process View berkaitan dengan concurrency di dalam sistem
Deployment View menjelaskan bagaimana komponen-komponen fisik didistribusikan.
Diagram - Diagram Yang Terdapat Pada UML
UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau
sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun
solusi dari permasalahan suatu model.
Diagram UML terdiri dari :
1. Diagram Use Case 2. Diagram Class 3. Behavior Diagram
Statechart Diagram
Activity Diagram
Interaction Diagram : - Sequence Diagram - Collaboration Diagram
4. Implentation Diagram
Component Diagram
Deployment Diagram
1. Diagram Use Case
Diagram Use Case menggambarkan apa saja aktifitas yang dilakukan oleh suatu
sistem dari sudut pandang pengamatan luar. yang menjadi persoalan itu apa yang
dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat kaitannya dengan
kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika
seseorang berinteraksi dengan sistem.
Notasi Use Case
Actor Actor merupakan pengguna sistem, sistem yang berhubungan dengan sistem lain,
atau time/waktu
Lambang :
Use Case Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-
create sebuah daftar belanja, dan sebagainyayang disediakan sistem
Lambang :
-
Asosiasi Menghubungkan antara actor dengan use case
Lambang :
Sistem Digambarkan dengan kotak
Tipe Relasi/Asosiasi pada Use Case :
Include Memungkinkan 1 use case menggunakan fungsionalitas yang disediakan oleh
usecase lain
Extends Memungkinkan 1 use case secara optional menggunakan fungsionalitas yang
disediakan oleh use case lain.
Generalization/inheritance antara use case Dibuat ketika ada sebuah keadaan yang lain/perlakuan khusus Inheriting use case
dibawah base/parent use case
Contoh : Use Case Buka tabungan di bank
Nasabah
bukaTabungan
Teller
bukaInvestasiIsiData
2. Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah
objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan
untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Method (operasi)
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
Contoh :
public class Ujian {
private nilai;
public int hasil;
public void total( ) {}
protected int Rata(int n) { }
}
Bentuk :
+Total()
#Rata(in n : int) : int
-nilai : int
+hasil : int
ujian
Untuk abstract class :
+berkembang()
-Jenis : String
Binatang {abstract}
Hubungan Antar Class
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi
class lain. Panah navigability menunjukkan arah query antar class.
Lambang :
2. Agregasi, yaitu hubungan yang menyatakan bagian (terdiri atas..) atau biasa disebut relasi mempunyai sebuah.
Lambang :
3. Composition, yaitu sebuah kelas tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi composition.
Lambang :
4. Dependency, yaitu hubungan yang menunjukan operasi pada suatu kelas yang menggunakan class yang lain.
Lambang :
-
5. Generalisasi / Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya
dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang
diwarisinya.
Lambang :
Multiplicity
Multiplicity pada asosiati adlah jumlah banyakna obyek sebuah class yang
berelasi dengan sebuah obyek class lain yang berasosiasi dengan class tersebut. Berikut
tabel multiplicity :
Indikator
Arti Keterangan/Contoh
0..1 Kosong atau satu
0..* Kosong atau lebih
0..n Kosong atau n, n > 1 0..3
1 Hanya satu
1..* Lebih dari sama dengan satu
1..n Satu atau n, n >1 1..5
* Banyak atau Many
N Hanya N, dimana N lebih dari satu 9
n..* Lebih dari sama dengan N, N > 1 7..*
n..m Lebih dari sama dengan N dan kurang dari sama dengan M. Dimana M dan N lebih dari satu.
3..10
-
Contoh :
1. Setiap 1 rekening tabungan dapat tidak memiliki ATM atau hanya memiliki 1 ATM
2. 1 Dosen dapat mengajar banyak mata kuliah dan 1 Mata kuliah dapat diajar 1 atau
lebih dosen.
Contoh Class Diagram pada Pemesanan Barang
Package, Interface dan Object
Package adalah kumpulan elemen-elemen logika UML. Untuk mengatur
pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-
kelas berupa package (paket-paket). Gambar di bawah ini mengenai model bisnis dengan
pengelompokan kelas-kelas dalam bentuk paket-paket
rekening ATM
0..11
Dosen Mata Kuliah
1..*1..*
-
Contoh :
MahlukHidup
Object diagram adalah diagram yang memberikan gambaran model instance-instance
dari sebuah class. Diagram ini digunakan untuk menggambarkan sebuah sistem dari sudut
pandang waktu tertentu.
Contoh:
kaki : int = 2
Dewa : Manusia
Jenis : String = Harum manis
MasaBuah : int = 1
Pohon_mangga : Tumbuhan
Interface adalah satu set operation yang memberikan spesifikasi bebera aspek dari
prilaku dan operasi dari suatu class ke class lain.
Contoh :
+tekanTombol()
interface
MesinTik
+ctrl()
+alt()
-jmlTombol : int
Keyboard
3. Statechart Diagram
Statechart atau biasa disebut dengan state diagram digunakan untuk
mendokumentasikan beragam kondisi atau keadaan yang terjadi terhadap sebuah class
dan kegiatan apa saja yang dapat merubah keadaan/kondisi tersebut.
Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat
memiliki lebih dari satu statechart diagram).
Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat
terjadinya transisi yang bersangkutan.
Action ( aktifitas: menjalankan atau membuat state berubah) yang dilakukan sebagai
akibat dari event ( penyebab terjadinya perubahan ).
Kategori action :
1. Entry : apa yang terjadi ketika system memasuk state 2. Do : apa yang terjadi ketika system berada dalam state 3. Exit : apa yang terjadi ketika system meninggalkan state
-
Notasi Pada statechart :
1. Start State 3. End State
2. State 4. Transition
Contoh :
4. Diagram Sequence
Diagram Class dan diagram Object merupakan suatu gambaran model statis.
Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence
merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu
dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini
diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya
operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang
terurut.
Notasi pada diagram sequence :
1. Object Merupakan instance class dan dituliskan tersusun secara horizontal.
Simbol :
State1
: Object
-
2. Actor Actor juga dapat berkomunikasi dengan object.
Simbol :
3. Lifeline
Mengindikasikan keberadaan sebuah obyek dalam basis waktu.
Simbol :
4. Activation Mengindikasikan sebuah obyek yang melakukan sebuah aksi
Simbol :
5. Message Mengindikasikan komunikasi antar obyek.
Simbol :
Contoh , diagram sequence yang menggambarkan sistem mesin minuman otomatis
front register Dispenser
user
Select(selection) send(input)
send(input)
Deliver(selection)
insert(input)