Pengenalan UML : Sejarah dan Building Blocks (Hubungan, Diagram, Benda)

Artikel Terkait Ilmu Komputer
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya.

Pengertian 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 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 piranti lunak.

UML atau kepanjangan dari  Unified Modelling Language merupakan sebuah bahasa standar untuk melakukan pengembangan sebuah piranti lunak yang dapat menyampaikan bagaimana membuat dan membentuk model-model. Dengan menggunakan UML dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi, jaringan dan dibangun dalam bahasa pemrograman apapun. Konsep pemodelan UML lebih cocok untuk pemrograman berorientasi objek. Silahkan ikuti tautan berikut mengenai penjelasan mengenai konsep objek dan teknik dasar berorientasi objek .

Sejarah Singkat UML

Secara resmi UML (Unified Modelling Language) dimulai pada bulan Oktober 1994, ketika Rumbaugh bergabubg dengan Booch untuk membuat sebuah projek pendekatan metoda yang seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version  0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE (Object-Oriented Software Engineering) sehingga muncul release  version 0.9 pada  bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi object-oriented dan software component.

Building Blocks

UML mendefinisikan notasi dan syntax. Notasi UML adalah sekumpulan bentuk khusus dalam memodelkan berbagai diagram piranti lunak. Setiap simbol atau bentuk memiliki makna dan tujuan tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Dalam memahami UML memerlukan sebuah bentuk konsep dari bahasa model serta mempelajari 3 elemen utama dari building blocks.

Terdapat 3 jenis yang terdapat dalam building blocks yaitu  benda/things adalah abstraksi yang pertama dalam sebuah model, hubungan/relations sebagai alat komunikasi dari benda-benda, dan diagram sebagai sekumpulan dari benda-benda.

1. Benda / Things
Things merupakan hal yang sangatlah mendasar dalam model UML, juga merupakan bagian paling statis dari sebuah model serta menjelaskan elemen lain dari sebuah konsep atau fisik. Bentuk dari things adalah sebagai berikut :
Pertama, adalah sebuah kelas (class) yang diuraikan sebagai sekelompok dari objek yang memiliki atribut, function, hubungan yang semantik. Sebuah kelas dapat mengimplimentasikan satu atau lebih interface. Sebuah kelas dapat dimodelkan dalam bentuk persegi panjang yang memiliki nama, atribut, dan function, seperti terlihat pada gambar dibawah ini.

kelas UML
Class / Kelas

Kedua, yang memodelkan interface merupakan sebuah antarmuka yang menghubungkan dan melayani antar kelas atau elemen. Interface menjelaskan sebuah set atau kelompok dari spesifikasi pengoperasian. Umunya digambarkan dengan bentuk lingkaran yang disertai dengan namanya. Sebuah interface umumnya merupakan pelengkap kelas atau komponen yang berdiri sendiri.

Interface UML
Interface

Ketiga, yaitu collaboration yang dijelaskan dengan interaksi dan kumpulan dari kelas yang bekerja secara bersama. Pemberian sebuah kelas yang memungkinkan berpatisipasi didalam beberapa collaborations dan dimodelkan dengan bentuk elips dengan garis yang putus-putus.

collaboration UML
Collaboration

Keempat, sebuah use case merupakan rangkaian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Use case dipergunakan untuk membentuk tingkah laku benda/things dalam sebuah model serta direalisasikan oleh sebuah collaboratio. Umunya use casse dimodekan dengan bentuk ellips dengan garis yang solid serta disertai dengan nama, seperti terlihat pada gambar dibawah ini.

use case uml
Use case

Kelima, yaitu node merupakan fisik dari elemen-elemen yang ada pada saat sebuah sistem dijalankan, contohnya adalah sebuah komputer, umunya memiliki sedikitnya memori dan prosessor. Sekelompok komponen mungkin saja terletak pada sebuah node dan juga mungkin juga akan berpindah dari node satu ke node lainya. Umumnya node dimodelkan dalam bentuk kubus disertai namanya, seperti terlihat pada gambar di bawah ini.

node UML
Node


2. Hubungan / Relationship
Terdapat 4 maam hubungan di dalam penggunaaan pemodelan UML, yaitu dependency, association, generalization dan realization.

Dependency, merupakan hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya lagi akan berubah pula. Umunya dependency digambarkan dengan sebuah panah dengan garis putus-putus, seperti terlihat pada gambar dibawah ini.

Dependency UML
Dependency

Association merupakan hubungan antar benda struktural yang terhubung diantara objek. Kesatuan objek yang terhubung merupakan hubungan khusus yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umunya association digambarkan dalam bentuk garis yang dilengkapi dengan sebuah label, nama, dan status hubungan, seperti terlihat pada gambar dibawah.

Association UML
Association

Generalization merupakan penggambaran hubungan khusus dalam objek anak / child yang menggatikan objek induk / parent. Dalam hal ini objek anak memberikan pengaruhnya dalam hal struktur dan tingkah laku kepada objek induk. Digambarkan dengan garis panah solid seperti pada gambar dibawah.

Generalization UML
Generalization

Realization, merupakan hubungan semantik antara pengelompokan yang menjaminadanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements serta antara use case dan collaboration. Model dari hubungan realization digambarkan garis panah yang putus-putus tidak sama terlihat pada gambar dibawah.

Realization UML
Realization


3. Diagram
Pemodelan UML sendiri terdiri atas pengelompokan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram ialah yang menggambarkan permasalahan maupun solusi dari permasalahan. UML memiliki 8 diagram yaitu :
  1. use case diagram, menggambarkan fungsionalitas yang diharapkan dari sistem.
  2. class diagram, menggambarkan keadaan atribut atau properti suatu sistem.
  3. statechart diagram, menggambarkan transisi perubahan state pada sistem.
  4. activity diagram, menggambarkan berbagai aliran aktivitas dalam sistem.
  5. sequence diagram, menggambarkan interaksi antar objek didalam dan disekitar sistem.
  6. collaboration diagram, menggambarkan peran interaksi antar objek dalam sitem.
  7. component diagram, menggambarkan struktur dan hubungan antar komponen sistem.
  8. deployment diagram, menggambarkan detail komponen dideploy dalam insftatruktur sistem.

UML memiliki beberapa diagram dalam memodelkan pengembangan atau perancangan sistem piranti lunak. Penjelasan lebih lengkap mengenai kedelapan diagram di atas dan bagaimana bentuknya silahkan ikuti tautan berikut ini diagram-diagram dalam UML.


Rekomendasi Web Hosting
  1. 20rb perbulan. Diskon hingga 40% kode kupon: MCP Daftar disini (apache).
  2. 10rb perbulan. Diskon hingga 75% kode kupon: MCP Daftar disini (litespeed).
  3. 10rb perbulan. Diskon hingga 70% kode kupon: aff-MCP Daftar disini (apache).