UML (Unified Modeling Language)
Published: 2023-03-30 16:40:09

**Apa itu UML?**
UML (Unified Modeling Program) merupakan bahasa pemodelan standar yang terdiri dari satu set diagram terintegrasi yang dikembangkan untuk membantu pengembang sistem dan perangkat lunak untuk menjelaskan, membuat spesifikasi, memvisualisasikan, membangun dan mendokumentasikan artefak sistem perangkat lunak, serta untuk pemodelan bisnis dan sistem non perangkat lunak lainnya. UML menjadi bagian yang sangat penting dari pengembangan perangkat lunak berorientasi objek dan proses pengembangan perangkat lunak.  UML sendiri juga dikenal sebagai bahasa standar penulisan blueprint sebuah software. UML biasanya menggunakan notasi grafis untuk mengekspresikan desain proyek perangkat lunak.
UML adalah kombinasi dari beberapa notasi berorientasi objek: Desain Berorientasi Objek, Teknik Pemodelan Objek, dan Rekayasa Perangkat Lunak Berorientasi Objek. UML memiliki hubungan langsung dengan analisis dan desain berorientasi objek. UML mewakili praktik terbaik untuk membangun dan mendokumentasikan berbagai aspek perangkat lunak dan pemodelan sistem bisnis. UML dinilai sangat penting bagi sebagian orang seperti developer karena UML berfungsi sebagai bridge atau jembatan penerjemah antara pengembang sistem dengan pengguna.

**Gambaran Umum UML**
Diagram UML dapat dikelompokan menjadi tiga kategori yaitu diagram struktur, diagram perilaku dan diagram interaksi (masuk dalam diagram perilaku).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iph1l9ic0rx5uz3nbgbq.png)

Diagram struktur menunjukkan struktur statis sistem dan bagian-bagiannya pada tingkat abstraksi dan implementasi yang berbeda dan bagaimana mereka saling terkait satu sama lain. Elemen-elemen dalam diagram struktur mewakili konsep yang bermakna dari suatu sistem, dan dapat mencakup konsep abstrak, dunia nyata, dan 
implementasi. Sedangkan diagram perilaku menunjukkan perilaku dinamis dari objek-objek dalam suatu sistem, yang dapat digambarkan sebagai rangkaian perubahan sistem dari waktu ke waktu.

**Contoh-contoh Diagram UML**
Adapun contoh diagram UML yang sering digunakan diantaranya yaitu :
**1. Use Case Diagram**
Use Case Diagram adalah satu jenis dari diagram UML yang menggambarkan hubungan interaksi antara sistem dan aktor. Use Case dapat mendeskripsikan tipe interaksi antara si pengguna sistem dengan sistemnya. Use Case merupakan sesuatu yang mudah dipelajari. Langkah awal untuk melakukan pemodelan perlu adanya suatu diagram yang mampu menjabarkan aksi aktor dengan aksi dalam sistem itu sendiri, seperti yang terdapat pada Use Case.

Contoh Use Case Diagram:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yuacjmhxh4q7tx4zabu6.png)

**2. Class Diagram**
Class diagram atau diagram kelas adalah teknik pemodelan pusat yang berjalan melalui hampir semua metode berorientasi objek. Diagram ini menjelaskan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang ada di antara mereka. Setiap kelas direpresentasikan dalam satu kotak kotak dapat berisikan tiga komponen yaitu nama kelas, atribut/tipe dan metode.

Beberapa contoh diagram kelas :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hyd9ijo3phgiysuwqias.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fbmgk0b1eeinjv8xncvt.png)


**3. Interaction Diagram**

interaction diagram adalah diagram aktivitas yang terbuat dari diagram interaksi yang berbeda. Dapat dikatakan bahwa jenis diagram UML ini adalah campuran activity diagram dengan interaction diagram, namun, sebagian besar situs web suka menganggapnya sebagai diagram aktivitas khusus. Artinya, kamu dapat menggunakan sebagian besar anotasi yang digunakan dalam diagram aktivitas, dengan penambahan elemen seperti interaksi, penggunaan interaksi, batasan waktu, durasi dll

Contoh diagram di bawah ini menunjukkan bagaimana UML diagram dapat digunakan untuk menggambarkan perilaku dinamis suatu sistem, organisasi struktural, dan interaksi di antara objek. Dari semua hal itu, juga tetap dipertimbangkan waktu dan keteraturan di mana peristiwa terjadi, sehingga mengawasi urutan peristiwa dan alur pesan.

Contoh diagram interaksi :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qy9n1jsraowxjfzqkqpj.png)

 

**4. State Diagram**

State diagram adalah jenis diagram yang menggambarkan menggambarkan status dan transisi yang diizinkan serta peristiwa yang memengaruhi transisi atau perubahan suatu objek pada sistem. Diagram ini membantu dalam memvisualisasikan seluruh siklus hidup objek dan dengan demikian membantu memberikan pemahaman yang lebih baik tentang sistem berbasis keadaan.

Contoh State Diagram :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3bhqzdee6ps2qxo9mrqf.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mf9tobjq8knemy1cw0ax.png)
 

 
**5. Activity Diagram**

Diagram aktivitas, merupakan sebuah diagram yang dapat memodelkan berbagai proses yang tejadi pada sistem. Seperti layaknya runtutan proses berjalannya suatu sistem dan digambarkan secara vertikal. Activity diagram adalah salah satu contoh diagram dari UML dalam pengembangan dari Use Case.

Contoh Diagram Aktivitas :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ykpudl5o7acv8l3kwvf.png)


 

**6. Package Diagram**

Diagram kelas dapat dikelompokkan ke dalam paket dan paket dapat berada dipaket lainnya. Pada diagram ini menunjukkan paket dan ketergantungan diantara mereka seperti adanya perubahan dalam  satu paket dapat mempengaruhi paket lainnya.
	Contoh Package Diagram :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lv4bho0cs31pjreasc7a.png)
	 
**7. Deployment Diagram**
Deployment Diagram membantu memodelkan aspek fisik dari sistem perangkat lunak Berorientasi Objek. Ini merupakan diagram struktur yang menunjukkan arsitektur sistem sebagai penyebaran (distribusi) artefak perangkat lunak ke target penyebaran. Artefak mewakili elemen konkret di dunia fisik yang merupakan hasil dari proses pembangunan. Diagram ini memodelkan konfigurasi run-time dalam tampilan statis dan memvisualisasikan distribusi artefak dalam aplikasi. Dalam kebanyakan kasus, ini melibatkan pemodelan konfigurasi perangkat keras bersama dengan komponen perangkat lunak yang digunakan.

Contoh Deployment Diagram :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hch5k9iigvirlag62rp4.png)

 

**8. Component Diagram**
Component diagram yang berfungsi untuk menggambarkan software pada suatu sistem. Component diagram merupakan penerapan pada piranti lunak atau software dari satu class maupun lebih, dan biasanya berupa file data, source code,.exe, table, dokumen, atau yang lainnya.

Contoh diagram komponen :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0jrekg39gihrf7nq2cxv.png)
 

Penjelasan diatas merupakan beberapa contoh diagram UML (Unified Modelling Language) yang sering digunakan dalam perancangan dan pemodelan suatu sistem. Ada kalanya diagram UML yang dibuat hanya sampai diagram kelas. Hal tersebut juga perlu dipertimbangkan, guna menyesuaikan kebutuhan. Banyak pula aplikasi atau perangkat lunak yang dapat digunakan untuk membantu membuat diagram UML. Diagram UML sendiri telah banyak digunakan dan membantu diberbagai bidang dan sektor industri sehingga menarik untuk dipelajari.