Senin, 01 Oktober 2012

13 diagram dalam UML


Notasi Unified Modeling Language (UML)

Versi 2.0


Unified Modeling Language (UML) adalah notasi yang lengkap untuk membuat visualisasi model suatu sistem. Sistem berisi informasi dan fungsi, tetapi secara normal digunakan untuk memodelkan sistem komputer. Di dalam pemodelan obyek guna menyajikan sistem yang berorientasi pada objek pada orang lain, akan sangat sulit dilakukan jika pemodelan tersebut dilakukan dalam bentuk kode bahasa pemrograman. Kesulitan yang muncul adalah timbulnya ketidak jelasan dan salah interpretasi di dalam pembacaan kode pemrograman untuk pemodelan objek tersebut.
          
Dimulai tahun 1994, Booch, Runbaugh dan Jacobson merupakan tiga tokoh yang metodelogi-nya paling banyak dipakai mempelopori organisasi yang bertujuan menyatukan metodelogi-metodelogi berorientasi objek, organisasi tersebut dinamakan OMG (Object Modelling Group). Pada tahun 1995 OMG merealisasi draf pertama dari UML (versi 0.8) dan pada tahun 1997 UML versi 1.1 muncul dan sekarang versi terbaru dari UML adalah versi 2.0. Pada tahun 1997 Booch, Runbaugh dan Jacobson menyusun tiga buku tentang UML. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.

Notasi Dasar UML 

Actor

Actor adalah segala sesuatu yang berinteraksi langsung dengan sistem aplikasi komputer, seperti orang, benda atau lainnya. Tugas actor adalah memberikan informasi kepada sistem dan dapat memerintahkan sistem agar melakukan sesuatu tugas. Lihat Gambar 1 di bawah.



 


Gambar 1 Notasi actor pada UML

Class

Notasi utama dan yang paling mendasar pada diagram UML adalah notasi untuk mempresentasikan suatu class beserta dengan atribut dan operasinya. Class adalah pembentuk utama dari sistem berorientasi objek. Gambar 2 menunjukkan notasi dari class UML.


Gambar 2 Notasi class pada UML

Use Case

Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut scenario. Notasi use case dapat di perlihatkan pada gambar dibawah berikut ini.



 


Gambar 3 Notasi use case pada UML

Diagram UML

UML merupakan sintak umum untuk membuat model logika dari suatu sistem dan digunakan untuk menggambarkan sistem agar dapat dipahami selama fase analisis dan desain. UML biasanya disajikan dalam bentuk diagram/gambar yang meliputi class beserta atribut dan operasinya, serta hubungan antar class yang meliputi inheritance, association dan komposisi. UML tediri dari banyak diagram, secara garis besar diagram yang terdapat pada UML dapat diperlihatkan pada gambar dibawah ini :
Gambar 4 Diagram-diagram pada UML versi 2.0 (www.uml.org)

Ø    Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara actor dengan sistem. Use case menggambarkan kata kerja seperti Login ke sistem, maintenance user dan sebagainya. Model use case seperti pada Gambar 5 dan contoh use case diagram ditunjukkan pada Gambar 6 di bawah.



 



      
         Actor                                                                         Actor
Gambar 5 Use case model
Gambar 6 Use case diagram pada penjualan VCD
Actor             :  penjaga toko dan petugas keuangan
Use case         : entry permintaan, view permintaan, hitung penjualan dan buat       laporan.  

Ø    Class Diagram

Class adalah sebuah spesifikasi yang jika di-instansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan berorientasi objek. Class menggambarkan keadaan (attribute/property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, packed dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lainnya. Lihat Gambar 7  dan Gambar 8 contoh class diagram di bawah.


Class

·         Attribut : tipe

·         Operasi : tipe


 
 


                                                                                 Nama Class
                                                                                 Attibute
                                                                                 Operasi


Gambar 7 Sebuah class dalam UML


 

















Gambar 8 Contoh class diagram penjualan VCD

Ø    Activity Diagram

Activity diagram menggambarkan berbagai alir aktifitas dalam sebuah sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram tidak menggambarkan sifat internal dari sebuah sistem dan interaksi antara beberapa sub sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Pada UML 2.X aktivitas tidak lagi disebut sebagai activity, akan tetapi cukup disebut dengan action saja. Activity adalah struktur yang lebih tinggi yang terdiri atas action-action yang berurutan. Oleh karenanya activity diagram menunjukkan action-action yang membangun sebuah aktivitas. Berikut adalah simbol-simbol yang digunakan pada activity diagram.

Tabel 1 Tabel Simbol Activity Diagram

            Simbol
Keterangan
Titik Awal
Titik Akhir
Activity
Pilihan untuk pengambilan keputusan
Fork; Untuk menunjukkan kegiatan yang dilakukan secara paralel
Rake; menunjukkan adanya dekomposisi
Tanda Waktu
Tanda Penerimaan
Aliran Akhir (Flow Final)






 
Start








 


                                                      Tidak membeli VCD                 

   End
Gambar 9   Contoh activity diagram penjualan VCD


Ø    Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas waktu dan obyek-obyek yang terkait. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.Gambar 10 menunjukkan esensi simbol dari sequence diagram dan simbol kerjanya secara bersama-sama.




Name 1
 
Name 2
 
         Actor
        
                                                                                             Objek








 
                     Message                                              Lifeline













 
Gambar 10  Simbol-simbol yang ada pada sequence diagram

Ø  State Machine Diagram
Interaction  diagram dan state chart menampilkan dua pandangan yang saling melengkapi tentang perilaku dinamis sebuah sistem. Interaction diagram menunjukan pesan-pesan yang dilewatkan diantara obyek-obyek didalam sistem selama periode waktu yang pendek. Sedangkan state chart diagram menelusuri individu-individu obyek melalui keseluruhan daur hidupnya, menspesifikasikan semua urutan yang mungki dari pesan-pesan yang akan di terima objek tersebut bersama-sama dengan tanggapan atas pesan-pesan tersebut.

Simbol  UML untuk state transition diagram adalah segiempat yang setiap pojoknya dibuat rounded. Titik awalnya menggunakan lingkaran solid yang diasir dn diakhiri dangan mata. Berikut adlah symbol UML untuk statechart.
 


Gambar 11  Simbol Statechart Diagram

UML juga memberi pilihan untuk menambahkan detail ke dalam simbol tersebut dengan membagi menjadi 3 area yaitu nama state, state variable dan activity.







Gambar 12 Penambahan detail ke state
State variable seperti timer dan counter kadangkala sangat membantu. Activity terdiri atas events dan action. Tiga hal yang sering dipakai disini adalah entry ( apa yang terjadi ketika sistem masuk ke state), exit ( apa yang terjadi ketika sistem meninggalkan state) dan do ( apa yang terjadi ketika sistem ada di state). Hal-hal lain bisa ditambahkan jika perlu.
Collaboration Diagram
Informasi yang disampaikan sama dengan sequencial diagram namun beda dalam pengambaran dan kegunaan saja. Dalam diagram ini  digambarkan hubungan  antar objek dan actor dengan tidak memperhatikan waktu/urutan.
Gambar 13 Colaboration diagram
Ø  Component Diagram
Component diagram mengandung componet, interface dan relationship. Notasi component bisa dilihat pada gambar dibawah ini.
   
Gambar  14 Contoh notasi component
Hal penting pada component adalah component mewakili potongan-potongan yang independent yang bisa dipesan dan diperbaharui sewaktu-waktu.  Dengan demikian, pembagian sistem kedalam component-component lebih banyak didorong oleh kepentingan marketing dari pada kepentingan teknis. Meskipun demikian harus juga diingat bahwa terlalu banyak component juga kurang bagus, karena susah mengatur dan memeliharanya khususnya menyangkut masalah versioning.
Component digunakan untuk menunujukan struktur fisik seperti DAN LAIN-LAIN. Hal tersebut tidak terlalu benar sekarang, karena struktur fisik ditunjukan dengan artifact. Artifact adalah manifestasi fisik dari software, biasanya file. File-file ini biasanya bisa dieksekusi/executable (seperti: . EXE file, biner, DAN LAIN-LAIN, file JAR, Assembly atau Script), atau file-file data, file-file konfigurasi, dokumen HTML dan lain-lain.
Component dihubungkan melalui interface yang diimplementasikan. Biasanya menggunakan notasi ball-and-socket seperti class diagram. Component juga bisa dikompose dengan menggunakan composite struktur diagram.
Gambar 16 menunjukan contoh component diagram. Pada contoh ini, seorang sales mesin dapat berhubungan dengan component server sales, dengan menggunakan interface sales message. Karena networknya tidak dapat dipercaya, component antrian pesan (queue) dipasang sehingga masih tetap dapat berhubungan dengan server ketika server sedang hidup dan berhubungan dengan queue ketika network mati. Selanjutnya queue berhubungan dengan server ketika network sudah berfungsi kembali. Hasilnya queue message hasus bisa mendukung interface sales message untuk berhubungan dengan component mesin dan membutuhkan interface tersebut untuk berhubungan dengan server. Server dibagi menjadi 2 component utama. Prosesor transaksi untuk merealisasikan interface sales message dan accounting driver untuk berhubungan dengan system akutansi.
Gambar  17 Contoh component diagram

Ø    Deployment Diagram

Deployment diagram menunjukan tata letak sebuah system secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware. Bagian utama hardware/perangkat keras adalah node; yaitu nama umum untuk semuah jenis sumber komputasi. Ada 2 tipe node yang mungkin. Processor adalah node yang bisa mengeksekusi sebuah component, sedangakan device tidak. Device adalah perangkat keras (seperti printer atau monitor) tipikalnya menjadi interface dengan dunia luar.
Node mengandung artifact, dimana artifact adalah manifestasi fisik dari software; biasanya file. File-file ini biasanya bisa dieksekusi/executable (seperti: .EXE file, biner, DAN LAIN-LAIN, file JAR, Assembly atau script), atau  file-file data, file-file konfigurasi, dokumen HTML dan lain-lain. Daftar artifact di dalam sebuah node menunjukan bahwa artifact tersebut di deploy ke node tersebut pada saat system sedang dijalankan. Di UML, kubus menunjukan node. Node bisa diberi nama & ditambahkan stereotype untuk mengidentifikasikan tipe resource yang ada sebelumnya.    Jika node adalah bagian dari package, namanya bisa mengandung nama package tersebut. Kubus bisa juga ditambahkan kompartemen yang berisi informasi seperti component yang dideploy di node tersebut.             Jalur komunikasi diantara node menunjukan bagaimana mereka berkomunikasi. Jalur tersebut bisa ditambahkan label yang menginformasikan protocol komunikasi apa yang dipakai


Ø  Timing Diagram
diagram ini menggambarkan pewaktuan (timing), tetapi jarang digunakan kecuali untuk sistem real time.
Bentuk diagram interaksi yang lain yang berfokus pada kendala waktu dalam perubahan keadaan dari suatu obyek tunggal atau kelompok. Bermanfaat untuk merancang embedded software bagi suatu piranti.



Ø  Overview
Global Overview Diagram, diagram ini bagi yang sudah belajar Data Flow Diagram (DFD) identik dengan diagram konteks.
Mengkombinasikan fitur-fitur dari diagram sekuen dan diagram aktivitas untuk menunjukkan bgmn obyek-obyek berinteraksi dalam tiap aktivitas dalam suatu use case.



Ø  Communication
Menggambarkan interaksi obyek-obyek melalui pesan. Lebih berfokus pada struktur internal obyek dalam format jaringan, ketimbang urutannya seperti pada diagram sekuen.



Ø  Composite
Mendekomposisi struktur internal kelas, komponen, atau use case. 



Ø  Package
Menggambarkan bagaiman kelas-kelas atau unit-unit dalam UML yang lain diorganisasi ke dalam paket (berhubungan dengan package dalam Java, C++ atau .NET ) serta ketergantungan antar paket



Tidak ada komentar:

Posting Komentar