Unified Modeling Language adalah bahasa standar yang digunakan untuk menjelaskan dan memvisualisaikan artifak dari proses analisis dan disain berorientasi objek. UML menyediakan standar pada notasi dan diagram yang bisa digunakan untuk memodelkan suatu system. UML dikembangkan oleh 3 pendekar “berorientasi objek”, yaitu Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. UML menjadi bahasa yang bisa digunakan untuk berkomunikasi dalam perspektif objek antara user dengan developer, antara developer dengan developer, antara developer analis dengan developer disain, dan antara developer disain dengan developer pemrograman.
UML memungkinkan developer melakukan permodelan secara visual, yaitu penekanan pada penggambaran, bukan didominasi oleh narasi. Permodelan visual membantu untuk menangkap struktur dan kelaukan dari objek, mempermudah penggambaran interaksi antara elemen dalam system, dan mempertahankan konsistensi antara disain dan implementasi dalam pemrograman.
Namun karena UML hanya merupakan bahasa untuk pemodelan maka UML bukanlah rujukan bagaimana melakukan analisis dan disain berorientasi objek secara baik, sudah terdapat beberapa metodologi yang bisa diikuti, seperti Metode Booch, Metode Coad dan Yourdan, Metode Jacobson, Metode Rumbaugh, Metode Wirfs-Brock, atau mengikuti metode pengembangan system Unified Process. (Hermawan, 2005).
Unified Modeling Language memiliki beberapa tipe diagram. Berikut table pembagian tipe diagram UML.
Tabel 2.7 Tipe Diagram UML (Widianto, 2012
Use Case Diagram
|
Menunjukkan pelaku (orang atau pengguna lain dari sistem), menggunakan kasus (skenario ketika mereka menggunakan sistem), dan hubungan pelaku. |
Class Diagram
|
Menunjukkan kelas dan hubungan antara kelas. |
Sequence Diagram
|
Menunjukkan objek dan urutan pemanggilan metode yang mereka buat untuk objek lain. |
Collaboration Diagram
|
Menunjukkan objek dan hubungannya, menempatkan penekanan pada objek yang berpartisipasi dalam pertukaran pesan. |
State Diagram
|
Menyatakan state, perubahan state dan peristiwa dalam suatu objek atau bagian dari sistem. |
Activity Diagram
|
Menunjukan kegiatan dan perubahan dari satu aktivitas ke aktivitas lainnya dengan peristiwa yang terjadi di beberapa bagian dari sistem. |
Component Diagram
|
Menunjukkan komponen pemrograman tingkat tinggi. |
Deployment Diagram
|
Menunjukkan contoh dari komponen dan hubungan-nya. |
Entity Relationship Diagram
|
Menunjukkan data , hubungan dan kendala antara data. |