Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.
Pendahuluan
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.[1] UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut.[1] UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an.[1] Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.[1] UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.[1]
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi.[2] UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.[2] Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.[2] Penggunaan UML dalam industri terus meningkat.[2] Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.[2]
UML
Sampai era tahun1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia.[3] Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSe, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb.[3] Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek.[3] Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.[3]
Dimulai pada bulanOktober1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.[3] Pada tahun 1995 direlease draft pertama dari UML (versi 0.8).[3] Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG).[3]
Diagram UML
UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:[4]
Use Case Diagram untuk memodelkan proses bisnis.
Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
Collaboration Diagram untuk memodelkan interaksi antar objects.
State Diagram untuk memodelkan perilaku objects di dalam sistem.
Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
Deployment Diagram untuk memodelkan distribusi aplikasi.
Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.[4]
Use Case Diagram
Use case diagram digunakan untuk memodelkan semua bisnis proses berdasarkan perspektif pengguna sistem.[4] Use case diagram terdiri atas diagram untuk use case dan actor.[4]Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.[4]
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor.[4] Use case digambarkan berbentuk elips dengan namaoperasi dituliskan di dalamnya.Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.[4]
Sequence Diagram
Sequence Diagram merupakan gabungan dari Diagram Class dan diagram Object yang memiliki 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 dikirimdan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Objek-objek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.
Collaboration Diagram
Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem.[4] Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.[4]
Class diagram
Class diagram menggambarkan struktur statis class di dalam sistem. class merepresentasikan sesuatu yang ditangani oleh sistem. class dapat berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau package (group bersama sebagai satu unit). sebuah sistem biasanya mempunyai beberapa class diagram.