Sabtu, 08 April 2017

UML (Unified Modeling Language)

UML

Pengertian

Apa itu UML? Yang dimaksud dengan UML adalah UML merupakan singkatan dari “Unified Modelling Language” yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa standar dalam penulisan blue print software.


Adapun fungsi dari UML yaitu  :

  • function umlUntuk menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor
  • Untuk menggambarkan  kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat  dengan interaction diagrams
  • Untuk menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams
  • Untuk membuat model behavior ”yang menggambarkan kebiasaan atau sifat sebuah sistem” dengan state transition diagrams
  • Untuk menyatakan arsitektur implementasi fisik menggunakan component and development diagram, untuk menyampaikan atau memperluas fungsionality dengan stereotypes.

Jenis-jenis Diagram UML, yaitu :

1. Use Case Diagram

Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.
use case diagram



Diagram Use Case berguna dalam tiga hal :

Menjelaskan fasilitas yang ada (requirement)
Komunikasi dengan klien
Membuat test dari kasus-kasus secara umum\

Kelebihan:

Interaksi antara pengguna dan system lain dengan system yang akan di buat cukup tergambar dengan baik.
Penggambaran dengan sederhana membuat identifikasi kebutuhan dengan use case dapat dengan lebih mudah untuk dipahami.
Pendekatan identifikasi kebutuhan dapat berdasarkan top down (keinginan dari manajemen level atas) maupun bottom up (keinginan pengguna akhir).
Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.
dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Kelemahan:
Kekurangan mengenai data masih kurang teridentifikasi dengan baik.
2. Activity Diagram
Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .
activity diagram


Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.

Notasi yang digunakan dalam activity diagram adalah sebagai barikut:
Activity: Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
Transition: Notasi yang digunakan untuk memperlihatkan jalan aliran control dari activity ke activity.
Decision: Notasi yang menandakan kontro cabang aliran berdasarkan decision point.
Synchronization bars: Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat diselesaikan secara bersamaan (pararel).
3. Package Diagram
Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.
package diagram


Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka. 
4. State Diagram
State diagram menggambarkan urutan keadaan yang dilalui objek dalam suatu kelas, karena suatu kejadian menyababkan suatu perpindahan aktivitas/state. State dari objek adalah penggolongan dari satu atau lebih nilai attribute pada kelas.
Bersifat dinamis. Diagram state ini memperlihatkan statestate pada system, memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan system – system yang reaktif.

contoh :“Peminjaman Barang””
Seorang peminjam yang akan meminjam akan mengisi form peminjaman.
Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau barang tersebut dapat di pinjam atau tidak
Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman barang dan menyerahkan barang kepada peminjam. 
Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka akan dilakukan permintaan akan informasi barang.
Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang sampai seluruh informasi yang dibutuhkan didapatkan.
Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada peminjam barang tersebut.
5. Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
Bersifat dinamis. Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.
Sequence diagram menekankan penyusunan berbasis waktu untuk kegiatan yang dilakukan dengan satu set dari objek yang berkolaborasi. Sequence diagram sangat berguna dalam membantu analis, memahami spesifikasi real-time dan menggunakan kasus yang rumit (lihat di bawah). Diagram ini dapat diguanakan untuk mendeskripsikan baik secara fisik dan logis interaksi antara objek.
sequence diagram

Pada contoh
sequence diagram diatas digambarkan contoh use case investasi perdagangan. Pada diagram tersebut obyek yang berinteraksi adalah user, userinterface sistem, dan interface terhadap sistem eksternal.Pada diagram tersebut terlihat aliran secara umum,yakni :
User memilih account investment.
Kemudian, sistem akan mengirimkan pesan pada sistem investor untukmelakukan query harga saham dari investasi pada account user.
Sistem akan menampilkan harga saham pada account investasi user.
User memilih investasi dan jumlah saham yang akan dijual.
Sistem akan mengirimkan pesan kepada sistem investor untukmenyampaikan permintaan untuk menjual saham yang telah ditentukan oleh user.
6. Class Diagram (Class Diagram)
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan system berorientasi objek.
Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu kelas ber-stereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa stereotype.


Kelemahan:

Sulit untuk penentuan antara atribut atau kelas, sering terjadi kesalahan
Pengimplementasian struktur data sukar dilakukan
Class memiliki 3 area pokok :
Name (dan stereotype);
Attribute;
Method.
class diagram

Penjelasan dari gambar di atas yaitu class pegawai memiliki hubungan langsung dengan slass department, class pelanggan memiliki keteterhubungan langsung dengan class transaksi, class transaksi tidak akan bisa tanpa adanya class departemen, begitu pun class produk yang dapat terbentuk tanpa adanya class transaksi, lalu class perlengkapan, makanan dan minuman dihungungkan menggunakan generalisasi ke class produk.
7. Communication Diagram
Communication diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh : Diagram Collaboration “Pemesanan kamar di Hotel”

communication diagram
.
8. Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.

composite diagram


Struktur komposit dapat digunakan untuk menjelaskan:
Struktur dari bagian-bagian yang saling berkaitan;
Run-time struktur yang saling berhubungan.
9. Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.
Object diagram sangat mirip dengan diagram kelas. Perbedaan utama adalah bahwa diagram objek menggambarkan objek dan hubungan mereka. Tujuan utama dari diagram objek adalah untuk memungkinkan analis untuk mengungkap rincian tambahan kelas. Dalam beberapa kasus, pernyataan variabel dari sebuah class diagram dapat membantu pengguna atau analis dalam menemukan atribut tambahan yang relevan, hubungan, dan atau operasi, atau mungkin menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah tempat.
Bersifat statis. Diagram ini mempelihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas.

object diagram

10. Timing Diagram
Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu. Menggambarkan perubahan dalam state atau kondisi dari pengelompokkaninstance atau tugas berlebihan. Biasanya dipakai untuk memperlihatkan perubahan dalam state objectberlebihan dalam merespon ke external events. Dipakai untuk memperlihatkan perilaku dari sebuah/ beberapa object melaluiperiode waktu.

Ada 2 jenisTiming diagram yaitu 
Concise/simple notation: Dipakai untuk mengeksplorasi sebuah/beberapa object melalui periode waktu
Robust notation
time diagram

Diagram tersebut akan menjadi ideal ketika kita mampu menyeimbangkan ke-6 elemen yang ada, bukan menariknya ke satu atau dua arah saja. Tiap orang biasanya punya satu elemen yang dominan, tinggal bagaimana mengoptimalkan elemen-elemen yang lain saja.
11. Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.
component diagram


Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.
12. Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
deploy diagram

13. Interaction Overview Diagram
Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.
interaction overview diagram

Tujuan Dalam Menggunakan UML

  1. Memodelkan suatu sistem dalam sebuah alur berupa gambar.
  2. Memperjelas suatu flow atau alur sistem kemana arah sistem, mulai dari awal hingga - akhir dalam suatu sistem yang akan dibuat.
  3. Menggambarkan interaksi apa saja yang terjadi dalam suatu sistem.
  4. Menggambarkan apa saja dan siapa saja yang terlibat dalam suatu sistem.
  5. Memodelkan perangkat apa saja yang dibutuhkan pada sistem yang akan dibuat.



Manfaat Dalam Menggunakan UML

  1. Memudahkan para programmer dalam membuat sistem yang akan dibuat.
  2. Memudahkan para programmer mengetahui alur sistem / flow suatu sistem. 
  3. Memudahkan para programmer perangkat apa saja yang dibutuhkan dalam sistem tersebut.
  4. Memudahkan para programmer menggambarkan sistem yang akan dibuat tentu dengan desain dan fitur apa saja yang ada dalam fitur tersebut.
  5. Memudahkan para developer dalam mengimplementasikan program yang dibuat.


Share:

0 komentar:

Posting Komentar