Senin, 02 Juli 2012

UNIFIED MODELING LANGUAGE (UML)


UNIFIED MODELING LANGUAGE (UML)

1.      Pengertian UML
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 komponen-komponen yang diperlukan dalam sistem software.

UML sebagai sebuah bahasa yang memberikan  vocabulary  dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. 

UML adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. 

Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes.

Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML, seperti  building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common). 

Building blocks 
Tiga macam yang terdapat dalam building block adalah :
·         Benda/Things 
        Adalah abstraksi yang pertama dalam sebuah model
·         Hubungan/Relationships
Sebagai alat komunikasi dari benda-benda
·         Bagan/Diagrams 
Sebagai kumpulan / group dari benda-benda/things

2.       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. 

UML mempunyai 9 diagram, yaitu; 
·         Diagram Use Case  
·         Diagram Class  
·         Diagram Package  
·         Diagram Sequence  
·         Diagram Collaboration  
·         Diagram StateChart  
·         Diagram Activity  
·         Diagram Deployment 

Semakin kompleks bentukan sistem yang akan dibuat, maka semakin sulit komunikasi antara orang-orang yang saling terkait dalam pembuatan dan pengembangan software yang  akan dibuat. Pada masa lalu, UML mempunyai peranan sebagai software blueprint (gambaran) language untuk analisis sistem, designer, dan programmer. Sedangkan pada saat ini, merupakan bagian dari software trade (bisnis software). UML memberikan jalur  komunikasi dari sistem analis kemudian designer, lalu programmer mengenai rancangan software yang akan dikerjakan.

Salah satu pemecahan masalah  Object Oriented adalah dengan menggunakan UML. Oleh karena itu orang-orang yang berminat dalam mempelajari UML harus mengetahui dasar-dasar mengenai  Object Oriented  Solving (pemecahan masalah OO). Tahap pertama, pembentukan model. 

Model adalah gambaran abstrak dari suatu dasar masalah. Dan dunia nyata atau tempat dimana masalah  itu timbul bisa disebut dengan domain. Model mengandung obyek-obyek yang beraktifitas dengan saling mengirimkan messages (pesan-pesan). Obyek mempunyai sesuatu yang diketahui (atribut /attributes) dan sesuatu yang dil akukan (behaviors atau operations). Attributes hanya  berlaku dalam ruang lingkup obyek itu sendiri (state). Lalu “blue print” dari suatu obyek adalah Classes (kelas). Obyek merupakan bagian-bagian dari kelas.

A.     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.


Diagram Use Case berguna dalam tiga hal :
·         Menjelaskan fasilitas yang ada (requirements)   
Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi     lebih jelas.
·         Komunikas dengan klien     
Penggunaan notasi  dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klien-kliennya.
·         Membuat test dari kasus-kasus secara umum  
Kumpulan dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadian-kejadian tersebut.

B.      Diagram Class 

Diagram Class memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka. Diagram Class bersifat statis;  menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan.

Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut :
·         Association
Suatu hubungan antara bagian  dari dua kelas. Terjadi association  antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan  suatu kegiatan. Di dalam diagram, sebuah  association  adalah penghubung yang menghubungkan dua kelas.
·         Aggregation           
Suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan.  Aggregation  memiliki titik pusat yang mencakup keseluruhan bagian.  Sebagai contoh  : OrderDetail merupakan kumpulan dari Order.
·         Generalization             
Suatu hubungan turunan dengan mengasumsikan satu kelamerupakan suatu superClass (kelas super) dari kelas yang lainGeneralization  memiliki tingkatan yang berpusat padsuperClass. 

Contoh : 
Payment adalah superClass dari Cash, Check, dan Credit.

Untuk tambahan bahwa  association  mempunyai 2 titik. Salasatu titik bisa memiliki  label untuk menjelaskan  associatiotersebut.

Contoh : 
OrderDetail adalah line Item untuk setiap permintaan. Panah navigability (pengatur alur arah) dalam suatu associatiomenggambarkan arah mana  association  dapat ditransfer ata disusun. Seperti dalam contoh : OrderDetail dapat disusun daitem-nya, namun tidak bisa sebaliknya. Panah ini jugmenjelaskan siapa “memiliki”  implementasi dari  associationdalam kasus ini OrderDetail memiliki Item. Association tanpa arapanah merupakan bidirectional (bolak-balik).

Multiplicity dari suatu titik association adalah angka kemungkinabagian dari hubungan  kelas dengan single  instance  (bagianpada titik yang lain.  Multiplicity  berupa single  number (angktunggal) atau range number (angka batasan).  Pada contohhanya bisa satu ‘Customer’ untuk setiap ‘Order’, tapi sat‘Customer’ hanya bisa memiliki beberapa ‘Order’.

Setiap diagram Class memiliki  Class (kelas),  association, dan multiplicity. Sedangkan navigability (alur arah) dan role (kegiatan) merupakan optional (tidak diharuskan).



C.      Package dan Object
Untuk mengatur pengorganisasian diagram Class yang  kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket).  Package  adalah kumpulan elemen-elemen logika UML.
Ada jenis khusus dari diagram Class yaitu diagram Object. Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif.


Setiap tingkatan pada  diagram berpengaruh pada  single instance (bagian tunggal). Nama bagian digarisbawahi  dalam diagram UML. Untuk Class name (nama kelas) maupun instance name (nama bagian) bisa mengambil dari diagram Object selama  arti diagram tersebut masih jelas.

D.     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.

Di bawah ini adalah diagram  Sequence untuk pembuatan Hotel Reservation. Obyek yang mengawali urutan  message  adalah ‘aReservation Window’.

‘Reservation window’ mengirim  pesan makeReservation() ke ‘HotelChain’. Kemudian ‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’. Bila ‘Hotel’ punya kamar kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’.
            Lifeline  adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal  dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada  lifeline  penerima.  Activation bar  menerangkan lamanya suatu pesan diproses.

Pada gambar diagram , terlihat  bahwa ‘Hotel’ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong.Bila benar, maka ‘Hotel’ membuat  ‘Reservation’ dan ‘Confirmation’. Pemanggilan diri sendiri disebut dengan  iterasi.  Expression  yeng dikurung dengan “[ ]”, adalah condition (keadaan kondisi).

Pada diagram dapat dibuat  note  (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks.  Note  bisa diletakan dimana saja pada diagram UML.

E.      Diagram Collaboration 
Diagram Collaboration juga merupakan diagram interaction. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.

Setiap pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama memiliki  prefix  yang sama, namun suffix berbeda bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.

F.       Diagram StateChart 
Behaviors  dan  state  dimiliki oleh obyek. Keadaan dari suatu obyek bergantung pada kegiatan dan keadaan yang berlaku pada saat itu. Diagram StateChart menunjukan  kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya.

Untuk lebih jelas, contoh yang digunakan model diagram untuk login yang merupakan bagian dari Online Banking System. Logging  in terdiri atas masukan input Social Security Number dan Personal Id Number yang berlaku, lalu memutuskan kesahan dari informasi tersebut.

Logging in dapat dibagi menjadi empat tahapan proses, yaitu : 
·         Getting SSN (masukkan SSN) 
·         Getting PIN (masukkan PIN)
·          Validating (periksa kesahannya)  
·         Rejecting (keluar)

Proses peralihan digambarkan dengan panah dari satu state ke yang lainnya. Event (peristiwa) atau condition (keadaan) yang menyebabkan perubahan dituliskan pada samping panah. Diagram ini mengandung dua self-transition (transisi sendiri), satu pada getting SSN dan lainnya pada getting PIN.

Keadaan awal Start (black circle /lingkar hitam) adalah dummy (model) untuk memulai action (kegiatan). Keadaan akhir juga keadaan model yang menghentikan kegiatan.

Aksi yang terjadi sebagai hasil dari suatu peristiwa atau keadaan ditandai dalam bentuk /action. Pada Validating State, obyek tidak menunggu peristiwa dari luar untuk menyebabkan suatu perubahan. Sebagai gantinya melakukan suatu activity (aktifitas). Hasil dari aktifitas tersebut menentukan keadaan berikutnya dari obyek  tersebut.

G.     Diagram Activity 

Pada dasarnya diagram Activity sering digunakan oleh  flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain.

Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. 

Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan  exclusive transition  (transisi eksklusif). Label  Guard Expression (ada di dalam [ ]) yang menerangkan output (keluaran) dari percabangan. percabangan akan menghasilkan bentuk menyerupai bentuk intan.  transition  bisa bercabang menjadi beberapa aktifitas paralel yang disebut  Fork.  Fork  beserta  join  (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh).

H.     Diagram Component dan Deployment 

Component adalah sebuah code module (kode-kode module). Diagram Component merupakan fisik sebenarnya dari diagram Class. Diagram Deployment menerangkan bahwa  konfigurasi fisik software  dan hardware.

Gambar 10 menerangkan hubungan sekitar komponen software dan hardware yang berperan dalam ruang lingkup real estate.

Fisik hardware  berbentuk seperti  node-node. Setiap komponen merupakan bagian dari node. Pada gambar komponen berbentuk dua kotak tersusun yang terletak di sebelah kiri atas.

Tidak ada komentar:

Posting Komentar