(8) UNIFIED MODELING LANGUAGE (UML)

A. Konsep Dasar UML 

 UML (Unified Modeling Language) adalah bahasa standar untuk pemodelan sistem berbasis objek dalam rekayasa perangkat lunak. UML menyediakan serangkaian notasi grafis yang membantu menggambarkan struktur dan perilaku sistem dengan cara yang konsisten dan mudah dipahami. UML merupakan pemodelan untuk visualisasi, merancang mendokumentasikan sistem informasi dan ataupun perangkat lunak. Unified Modeling Language (UML) lebih simpelnya merupakan istilah sebuah bahasa berbasis objek dan teknik diagram untuk memodelkan suatu proyek pengembangan sistem dari analisis hingga desain. 

 Adapun tujuan dan fungsi perlu adanya UML yaitu sebagai berikut: 
 a. Dapat memberikan bahasa pemodelan visual atau gambar kepada para pengguna dari berbagai macam pemrograman maupun proses umum rekayasa. 
 b. Menyatukan informasi-informasi terbaik yang ada dalam pemodelan. 
 c. Memberikan suatu gambaran model atau sebagai bahasa pemodelan visual yang ekspresif dalam pengembangan sistem. 
 d. Tidak hanya menggambarkan model sistem software saja, namun dapat memodelkan sistem berorientasi objek. 
 e. Mempermudah pengguna untuk membaca suatu sistem. 
 f. Berguna sebagai blueprint, yang mana nantinya menjelaskan informasi yang lebih detail dalam perancangan berupa coding suatu program.

1. Peran UML dalam rekayasa perangkat lunak 

 a. Alat komunikasi tim UML berfungsi sebagai alat bantu komunikasi visual antara anggota tim pengembang. Diagram-diagram UML seperti diagram use case, sequence, dan class diagram memungkinkan semua pihak memahami kebutuhan dan rancangan sistem secara lebih mudah, meskipun mereka memiliki latar belakang teknis yang berbeda. 
b. Membantu analisis dan desain system UML membantu memodelkan kebutuhan fungsional dan non-fungsional sistem. Dalam tahap desain, UML menggambarkan struktur sistem (class diagram) dan alur interaksi antar komponen (sequence diagram, collaboration diagram). 
 c. Dokumentasi proyek perangkat lunak UML menyediakan dokumentasi yang rinci dan sistematis. Dokumentasi berbasis UML mempermudah pengembangan lebih lanjut, pemeliharaan, hingga proses migrasi perangkat lunak di masa depan. Dokumentasi ini menjadi standar referensi selama siklus hidup perangkat lunak. 
 d. Standarisasi proses pengembangan Pengembangan perangkat lunak menjadi lebih terstandarisasi. Setiap tahapan, mulai dari analisis kebutuhan hingga implementasi dan pengujian, dapat dipetakan dengan diagram UML yang sesuai. Ini membantu menjaga konsistensi antar tim dan mempercepat proses pengembangan. 
 e. Meningkatkan kualitas perangkat lunak Karena UML memaksa analisis sistem secara menyeluruh sebelum implementasi, potensi kesalahan desain dapat diidentifikasi lebih awal. Dengan ini kualitas akhir perangkat lunak menjadi lebih tinggi, lebih sesuai kebutuhan pengguna, dan lebih minim kesalahan. 

2. Perbedaan antara Structural UML dan Behavioral UML 

 Structure diagram, merupaka. kumpulan diagram yang digunakan untuk menggambarkan strutur statis dari sistem yang dimodelkan. Diagram ini meliputi: Class Diagram, Package Diagram, Object Diagram, Component Diagram, Deployment Diagram. Diagram ini menunjukkan kepada kita struktur utama sistem menggunakan berbagai elemen sistem seperti kelas, antarmuka, objek, komponen, dan node Dengan demikian, diagram ini menunjukkanhal-hal dari sistem yang dimodelkan. Sedangkan Behavior diagram, Behavior diagram, merupakan kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada suatu sistem. Diagram ini meliputi: Activity Diagram, Sequence Diagram, Use Case Diagram, State Diagram, Communication Diagram, Timing Diagram. Diagram ini terutama menggambarkan bagian-bagian sistem yang berubah. 

B. Jenis UML & Implementasi Teknis 

 1. Structural UML 

 a. Class Diagram Diagram class sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Definisikan class, atribut, method, dan relationship. 
     1. Class Class adalah deskripsi lebih dari satu atau lebih objek dengan sejumlah atribut dan layanan yang sama termasuk deskripsi tentang cara membuat objek dari kelas tersebut 
     2. Atribut Atribut adalah variable data, yang dapat memberikan informasi keadaan dimana tiap objek dari suatu kelas mempunya nilai tersendiri. Atribut juga merupakan penjelasan dari item data 
     3. Method Metoda adalah prosedur atau fungsi yang menjadi perilaku kelas dan objek dan menjadi tanggung jawab objek tersebut. 
4. Relationship Relationship adalah relasi atau hubungan antara dua atau lebih class dalam class diagram. Relationship sangat penting untuk menggambarkan bagaimana class saling berinteraksi dan berhubungan dalam suatu sistem. Jenis-jenis relationship pada class diagram: 
         a. Association Suatu hubungan antara bagian dari dua kelas. Terjadi association antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah association adalah penghubung yang menghubungkan dua kelas. 
         b. Aggregation Suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian. 
         c. Generalization Suatu hubungan turunan dengan mengasumsikan satu kelas merupakan suatu superClass (kelas super) dari kelas yang lain. Generalization memiliki tingkatan yang berpusat pada superClass.  

Simbol Class Diagram sebagai berikut:

 

Contoh class diagram perpustakaan digital

 

a.Package Diagram
Untuk mengatur pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket). Package adalah kumpulan elemen-elemen logika UML. Fungsi package diagram sebagai berikut:
1. Memperlihatkan bagaimana elemen model diorganisasikan/dikelompokkan ke dalam packages
2. Biasanya dipakai pada use case diagram atau class diagram
3. Packages digambarkan sebagai sebuah direktori (file folders) yang berisi model-model elemen
4. Packages dapat diterapkan pada sembarang diagram UML
5. Walaupun package secara resmi bukanlah diagram UML, namun kegunaannya cukup signifikan
6. Penjelasan package diagram pada masing-masing diagram UML

Contoh package diagram perpustakaan digital

 

b.     Object Diagram

Diagram objek adalah sebuah diagram yang menampilkan sebagian atau seluruh struktur sistem pada titik waktu tertentu. Simbol Object Diagram sebagai berikut:

  

Contoh object diagram perpustakaan digital

c.     Component Diagram

Component adalah adalah diagram yang menggambarkan tampilan fisik dari struktur dan hubungan antara komponen dalam sistem suatu perangkat lunak, serta menggambarkan ketergantungan diantara komponen-komponen itu. Component diagram digunakan agar sistem yang dibuat dapat di eksekusi(executable). Simbol Component Diagram sebagai berikut:

 

Contoh Component diagram perpustakaan digital

d.     Deployment Diagram

Deployment diagram merupakan gambaran proses-proses berbeda pada suatu sistem yang berjalan dan bagaimana relasi di dalamnya. Hal inilah yang mempermudah user dalam pemakaian sistem yang telah dibuat dan diagram tersebut merupakan diagram yang statis. Misalnya untuk mendeskripsikan sebuah situs web, deployment diagram menunjukkan komponen perangkat keras ("node") apa yang digunakan (misalnya, web server, server aplikasi, dan database server), komponen perangkat lunak ("artefak") apa yang berjalan pada setiap node (misalnya, aplikasi web, database), dan bagaimana bagian-bagian yang berbeda terhubung (misalnya JDBC, REST, RMI). Simbol Deployment Diagram sebagai berikut:

Contoh Deployment diagram perpustakaan digital

 

 

 

Tidak ada komentar:

Posting Komentar