Pages

Subscribe:

Ads 468x60px

Featured Posts

Selasa, 17 April 2012

UML (Unified Modelling Language)



Apa itu UML?

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

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 di itulis 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 UML merupakan 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).

Unified Modeling Language (UML) adalah alat bantu (tool) untuk pemodelan sistem, “UML adalah bahasa yang dapat digunakan untuk spesifikasi, visualisasi, dan dokumentasi sistem objek-oriented software pada fase pengembangan. UML merupakan unifikasi dari metode Booch, OMT, dan notasi Objectory, serta ide-ide terbaik metodologi lainnya seperti terlihat pada Gambar 1. Dengan menyatukan notasi metode-metode objek oriented tersebut, UML merupakan standar dasar dalam bidang analisis dan desain berorientasi-objek” (Quatrani, 1998). 

Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadi standar dalam industri software untuk visualisasi, merancang, dan mendokumentasikan sistem perangkat lunak (Henderi, 2007: 4). Bahasa Pemodelan UML lebih cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman berorientasi objek (C , Java, VB.NET), namun demikian tetap dapat digunakan pada bahasa pemrograman prosedural (Ziga Turck, 2007).

View

View adalah jendela (window) yang merupakan aspek pandang UML terhadap sistem. Sebuah sistem harus dijelaskan dengan sejumlah aspek/pandangan yang berbeda, misalnya aspek fungsional (struktur statik dan interaksi dinamik), aspek non-fungsional (timing requirement, reliability, deployment), dan aspek organisasional (pengorganisasian pekerjaan, mapping ke kode, dan modul). Sistem dijelaskan oleh sejumlah view, dimana masing-masing view merupakan proyeksi dari sistem secara komplit yang memperlihatkan aspek tertentu dari sistem. 

Diagram

Diagram adalah visualisasi grafik yang memperlihatkan susunan dari simbol-simbol elemen yang disusun untuk menggambarkan bagian atau aspek tertentu dari sistem. Sebuah model sistem secara tipikal mem-punyai beberapa diagram. Sebuah diagram adalah bagian spesifik dari view, apabila digambarkan akan mengambil tempat pada view tertentu. Beberapa jenis diagram dapat menjadi bagian dari beberapa view, tergantung pada isi diagram. UML memperkenalkan sembilan macam diagram yaitu:

diagram Use Case, Kelas, Objek, State, Sekuen, kolaborasi, Aktivity, Kom-ponen dan diagram
Deployment. Tabel 1 memperlihatkan penempata diagram dalam view UML.

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 merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.

Actor

Actor adalah seseorang atau sesuatu yang harus berinterkasi dengan sistem atau sistem yang dibangun/dikembangkan.

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. Metoda
Tahap pengembangan sistem perangkat lunak didalam UML meliputi:
* Analisis Kebutuhan(Requirement Analysis)
* Analisis Sistem (Analysis)
* Desain (Design), Implementasi ( Implementation)
* Testing. 

Sequence Diagram

Sequence Diagram adalah suatu diagram yang memperlihatkan/menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Interaksi antar objek tersebut termasuk pengguna, display, dan sebagainya berupa ”pesan/message”. Sequence Diagram digunakan untuk menggambarkan skrenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian/even untuk menghasilkan output tertentu. Sequence Diagram diawali dari apa yang me-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

Collaboration Diagram

Collaboration Diagram adalah suatu diagram yang memperlihatkan/menampilkan pengorganisasian interaksi yang terdapat disekitar objek (seperti halnya sequence diagram) dan hubungannya terhadap yang lainnya. Collaboration Diagram lebih menekankan kepada peran setiap objek dan bukan pada waktu penyampaian pesan/message

Class Diagram

Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. 

Elemen-eleman

Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (aggregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).

Class

Class adalah kumpulan objek-objek dengan (mempunyai) struktur umum, behavior umum, relasi umum, dan semantic (kata) yang umum. Class-class ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class digambar seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domainnya (bagian/kelompoknya).

State Transition Diagram

State Transition Diagram adalah suatu diagaram yang menunjukan/menggambarkan kejadian pembentukan atau pemberian sebuah class, menggambarkan suatu kejadian transisi dan perubahan keadaaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat stimulasi yang diterimanya. State Transition Diagram diciptakan untuk objek-objek yang secara signifikan mempunyai sifat/behavior dinamis. Satu class dapat memiliki lebih dari satu state diagram.

Teknik Dasar OOA/D (Object-Oriented Analysis/Design)

Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.

a. Pemodulan (Encapsulation)
b. Penurunan (Inheritance)
c. Polymorphism

Sejarah Singkat UML

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah system 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 (http://www.omg.org).

Bagi rekan - rekan sekalian yang ingin belajar UML (Unified Modelling Language), juga dapat belajar dengan membaca beberapa artikel dari rekan - rekan blogger berikut ini :
  1. jeprianablog.wordpress.com
  2. angung.blogspot.com
  3. bagussudarsana.blogspot.com
  4. inovasiit.blogspot.com 
  5. kominkucill.blogspot.com
  6. daksh21ubuntu.blogspot.com
  7. iratyasningrum-uml.blogspot.com
  8. duniaedukasi.blogspot.com 
  9. martaprandika.blogspot.com 
  10. atenkuml.blogspot.com
  11. fandimin.blogspot.com 
  12.  guzdharma.blogspot.com
  13. indrabelog.blogspot.com
  14. wild-in-the-dark.blogspot.com
  15. endhywandhana26.blogspot.com
  16. kafy-belajaruml.blogspot.com
  17. iwansafwan.blogspot.com
  18. lilorahardjo.blogspot.com
  19. raindaime.blogspot.com
  20. myownerisyou.blogspot.com
  21. seputera.blogspot.com
  22. niakentjiblog.blogspot.com
  23. dhidhickrorax.blogspot.com
  24. culesnunique.blogspot.com
  25. andretangkas.blogspot.com
  26. froztheo.blogspot.com
  27. santos-dejesus.blogspot.com
  28. materionline7tw.blogspot.com
  29. cvsrmtech2k11.blogspot.com
  30. drkmca07.blogspot.com
  31. pengembanganit.blogspot.com
  32. goobloggerwi.blogspot.com
  33. dwiantari769.blogspot.com