[[Berkas:UML logo.svg|nirbing|ka]]
[[Berkas:Uml diagram.svg |thumbjmpl|rightka|650px400px| Diagram UML]]'''Unified Modeling Language''' ('''UML''') adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem [[perangkat lunak]].
== Pendahuluan ==
== UML ==
Sampai era [[tahun]] [[1990]] puluhan metodologi pemodelan berorientasi objek telah bermunculan di [[dunia]].<ref name="sri">Sri Dharwiyanti (2003), ''Pengantar Unified Modeling Language (UML)'', IlmuKomputer.Com.</ref> Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSEOOSe, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb.<ref name="sri"/> Masa itu terkenal dengan masa perang metodologi (''method war'') dalam pendesainan berorientasi objek.<ref name="sri"/> Masing-masing metodologi membawa [[notasi]] sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.<ref name="sri"/>
Dimulai pada [[bulan]] [[Oktober]] [[1994]] Booch, Rumbaugh dan Jacobson, yang merupakan tiga [[tokoh]] yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.<ref name="sri"/> Pada tahun [[1995]] direlease draft pertama dari UML (versi 0.8).<ref name="sri"/>. Sejak tahun [[1996]] pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).<ref name="sri"/>
== Diagram UML ==
UML menyediakan [[10]] macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:<ref name="php5">Ir. M. FARID AZIS, M. Kom, ''Object Oriented Programming Php 5'', halaman 118. Elex Media Komputindo.</ref>
* '''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.
* '''[[Diagram Aktivitas|Activity Diagram]]''' untuk memodelkan perilaku ''Use Cases'' dan ''objects'' di dalam ''system''.
* '''[[Class Diagram]]''' untuk memodelkan struktur kelas.
* '''Object Diagram''' untuk memodelkan struktur ''object''.
* '''[[Diagram komponen|Component Diagram']]'' untuk memodelkan komponen ''object''.
* '''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''.<ref name="php5"/>
=== ''Use Case Diagram'' ===
'''Use case diagram''' digunakan untuk memodelkan [[bisnis|semua bisnis]] proses berdasarkan perspektif pengguna sistem. <ref name="php5"/> Use case diagram terdiri atas diagram untuk use case dan ''actor''.<ref name="php5"/> ''Actor'' merepresentasikan [[orang]] yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.<ref name="php5"/>
Use case merepresentasikan operasi-operasi yang dilakukan oleh ''actor''.<ref name="php5"/> Use case digambarkan berbentuk [[elips]] dengan [[nama]] [[operasi]] dituliskan di dalamnya. ''Actor'' yang melakukan operasi dihubungkan dengan garis lurus ke use case.<ref name="php5"/>
=== ''Sequence Diagram'' ===
''Sequence Diagram'' merupakan gabungan dari Diagram Class dan diagram Object merupakanyang memiliki suatu gambaran model statis.Namun ada juga yang bersifat dinamis, seperti Diagram Interaction.Diagram sequence merupakan salah satu diagram Interaction yangmenjelaskanyang menjelaskan bagaimana suatu operasi itu dilakukan; ''message'' (pesan) apa yang dikirimdan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. ObyekObjek-obyekobjek 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.<ref name="php5"/> 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.<ref name="php5"/>
=== Pranala''Class luardiagram'' ===
''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.
:* [http://www.uml.org/ UML® Resource Page] ▼
:* [http://www.omg.org/technology/documents/formal/uml.htm Object Management Group1234 (OMG)] ▼
:* [http://dn.codegear.com/article/31863 Practical UML (UML simple tutorial)]
== Referensi ==
{{reflist}}
== Pranala luar ==
▲:* [http://www.uml.org / UML®Situs Resourceresmi PageUML]
▲:* [http://www.omg.org /technology/documents/formal/uml.htm Situs resmi Object Management Group1234 (OMG)Group]
{{Rekayasa perangkat lunak}}
[[Kategori:Notasi]]
|