Pengertian dan Fungsi UML beserta Tipe-tipe Diagramnya
Apa sih UML itu?
Mengapa UML dibutuhkan?
Bahasa pemodelan ini dibutuhkan untuk membantu pengembangan desain yang tepat, efektif, dan efisien, khususnya desain berorientasi objek serta membantu dalam berkomunikasi dengan pemangku kepentingan proyek secara jelas. Ini juga memberi gambaran besar dari proyek yang akan dikerjakan.
Tujuan dan Fungsi UML
- Memberikan bahasa pemodelan visual atau gambar kepada pengguna dari berbagai jenis proses rekayasa dan pemrograman.
- Menggabungkan data pemodelan terbaik.
- Memberikan ilustrasi model atau sebagai bahasa pemodelan visual yang dapat dikomunikasikan.
- Bisa memodelkan sistem berorientasi objek dan model sistem software.
- Membantu pengguna dalam membaca dan memahami sebuah sistem.
- Sebagai blueprint yang menjelaskan informasi secara detail dalam perancangan berupa coding sebuah program.
Tipe-tipe Diagram UML
Diagram struktur dan diagram aktivitas (dan beberapa varian lainnya dalam kedua kategori tersebut) adalah dua kategori dasar diagram UML. Varian ini dapat digunakan untuk mengilustrasikan berbagai skenario dan jenis diagram yang digunakan oleh berbagai kategori pengguna.
Setiap pekerjaan akan menggunakan diagram tertentu untuk memenuhi kebutuhan mereka, mulai dari klien dan manajer proyek hingga penulis teknis, desainer, analis, pemrogram, dan penguji QA. Fokus dan jumlah detail yang diperlukan untuk setiap tata letak harus berubah. UML bertujuan untuk menggambarkan diagram cepat yang mudah dipahami oleh siapa saja.
- Structure Diagram
- Class Diagram
Class diagram adalah jenis diagram struktur pada UML yang menunjukkan dan menjelaskan struktur serta deskripsi class, atribute, metode, dan koneksi dari setiap objek. Class diagram bersifat statis karena menjelaskan hubungan yang terjadi, dalam artian class diagram bukan menjelaskan apa yang terjadi jika kelasnya saling berhubungan. Gambaran dari class diagram ini mudah untuk digunakan, cocok untuk diimplementasikan pada proyek yang menggunakan konsep object-oriented. Desain model dari class diagram dibagi menjadi dua bagian, yang pertama merupakan penjabaran dari database, sedangkan yang kedua merupakan merupakan bagian dari MVC yang memiliki class, interface, class control dan class entity.
Fungsi dari class diagram adalah :
- Menunjukan struktur sistem dengan jelas
- Meningkatkan pemahaman pada gambaran umum suatu program
- Dapat digunakan untuk analisis untuk membuat model sistem dari sisi bisnis
- Memberikan gambaran mengenai sistem dan relasi yang terkandung di dalamnya
![]() |
Contoh Class Diagram |
- Object Diagram
Object diagram memiliki fungsi serupa dengan Class diagram. Perbedaannya adalah class diagram model abstrak yang terdiri dari kelas-kelas dan koneksinya. Sedangkan object diagram mengilustrasikan waktu tertentu di alam. Hal ini menunjukkan bahwa Diagram Objek lebih akurat dalam menggambarkan perilaku sistem. Tujuannya adalah untuk menangkap gambaran statis dari sebuah sistem pada waktu tertentu.
Beberapa fungsi dari Object Diagram adalah sebagai berikut.
- Menggambarkan seperti apa hubungan antara objek-objek yang ada
- Melakukan pengujian terhadap Class Diagram dengan memanfaatkan objek diagram tertentu
- Memeriksa literasi pada sebuah program
- Menghasilkan gambar dengan resolusi tinggi dari sebuah sistem yang sedang dikembangkan
- Membuat sebuah prototype
- Membuat permodelan data yang bersifat kompleks
Berikut adalah simbol-simbol yang digunakan dalam Object Diagram.
- Object Name : Setiap objek disimbolkan seperti persegi panjang, yang memberi nama objek dan kelasnya digarisbawahi serta dipisahkan dengan titik dua.
- Object Atribut / Class : Mirip dengan kelas, Anda dapat membuat daftar atribut objek di dalam kompartemen terpisah. Namun, tidak seperti kelas, atribut objek harus memiliki nilai yang ditetapkan untuknya.
- Link : Link cenderung merupakan contoh yang terkait dengan asosiasi. Anda dapat menggambar link menggunakan garis yang digunakan dalam class diagram.
Contoh Object Diagram |
- Package Diagram
Package diagram adalah salah satu macam diagram pada UML dipakai untuk mengelompokan kelas dan juga mengambarkan bagaimana elemen model akan disusun dan mengambarkan ketergantungan antara package. Package Diagram adalah sekelompok elemen-elemen model. Suatu paket dapat berisi elemen-elemen model yang berlainan, termasuk paket-paket untuk menciptakan atau mendefinisikan karakter hiraki. Suatu paket diberikan nama yang menggambarkan isinya. Oleh karena itu package dapat dipakai untuk beberapa keperluan.
Berikut adalah fungsi dari Package Diagram :
- Mempertontonkan bagaimana elemen model dikelompokkan ke dalam package.
- Umumnya dipakai pada use case diagram atau class diagram.
- Package digambarkan sebagai sebuah directory yang berisi model-model elemen.
- Package dapat diterapkan pada sembarang diagram UML.
- Walaupun package secara resmi tidak hanyalah diagram UML, namun manfaatnya cukup signifikan.
- Katerangan package diagram pada masing-masing diagram UML.
Simbol pada Package Diagram |
Contoh Package Diagram |
- Composite Structure Diagram
Composite Structure Diagram adalah diagram yang menggambarkan struktur internal dari pengklasifikasi terstruktur dengan menggunakan bagian, pelabuhan, dan konektor. Sebuah penggolong terstruktur mendefinisikan pelaksanaan penggolongan dan dapat mencakup kelas, komponen, atau penempatan node.
Composite Structure Diagram digunakan untuk menunjukkan rincian internal penggolongan dan untuk menggambarkan objek dan peran yang bekerja sama untuk melakukan perilaku yang mengandung penggolongan.
Sebuah Composite Structure Diagram mirip dengan class diagram, tetapi menggambarkan bagian-bagian individu, bukan seluruh kelas. Sebelum Anda dapat menentukan struktur internal penggolongan, Anda juga harus menunjukkan wadah struktur atau membuka sebuah Composite Structure Diagram. Anda kemudian dapat memodelkan bagian-bagian yang mewakili hal yang mengandung penggolongan. Anda dapat menambahkan konektor untuk menghubungkan dua atau lebih bagian dalam hubungan asosiasi atau ketergantungan.
Adapun fungsi dari Composite Structure Diagram adalah sebagai berikut.
- Composite Structure Diagram digunakan untuk menjelaskan seputar struktur dari setiap bagian yang saling berhubungan.
- Composite Structure Diagram juga digunakan untuk memberikan penjelasan mengenai run-time struktur yang berkaitan tersebut.
- Property : satu set dari suatu instance.
- Connector : cara komunikasi dari 2 buah instance.
- Port : cara yang digunakan dalam diagram composite structure tanpa menampilkan detail internal dari suatu sistem.
- Class : Jika yang akan dijabarkan strukturnya adalah sebuah kelas.
![]() |
Contoh Composite Structure Diagram |
- Component Diagram
Component Diagram merupakan salah satu diagram pada UML yang digunakan untuk menampilkan komponen pada sistem serta hubungan atau interaksi yang terjadi di antara sistem tersebut. Hal fisik yang terdapat pada sistem nanti akan dimodelkan ketika sistem akan dieksekusi.
- Sebagai sumber kode atau source code pada perangkat lunak.
- Sebagai komponen yang bersifat executable yang akan dilepas dan digunakan user.
- Sistem yang nanti harus beradaptasi dengan sistem lainnya.
- Sebagai framework sistem untuk memberikan kemudahan terhadap pengelolaan dan juga perawatan sistem.
- Package : sebuah simbol yang digunakan untuk mewadahi komponen.
- Component : simbol yang menggambarkan hardware atau objek dalam sistem tersebut.
- Dependency : Simbol yang menggambarkan sebuah ketergantungan antar komponen, satu komponen dengan yang lainnya. Arah panah dalam simbol tersebut diarahkan pada komponen yang digunakan. Interface atau antarmuka.
- Interface : Hal ini mirip dengan pemrograman berorientasi objek, dimana simbol ini digunakan untuk antarmuka dengan tujuan supaya tidak langsung mengakses objek.
- Link : menunjukan relasa antar komponen, apabila suatu komponen memiliki relasi atau keterhubungan dengan komponen lainnya maka digunakan simbol link ini.
![]() |
Contoh Component Diagram |
- Deployment Diagram
Deployment Diagram merupakan diagram pada UML atau Unified Modeling Language yang digunakan untuk menggambarkan, menspesifikasikan, serta mendokumentasikan proses yang berlangsung di dalam sistem yang berbasis OOP atau Object Oriented Programming yang akan dibangun.
Ada juga yang berpendapat bahwa Deployment Diagram merupakan diagram yang digunakan untuk menggambarkan berbagai proses yang terjadi pada sistem yang tengah berjalan dan menerangkan seperti apa hubungan yang ada pada sistem tersebut.
Deployment Diagram merupakan jenis diagram yang bersifat statis. Artinya, diagram ini tidak mengalami perubahan. Ketika Anda membuat diagram tersebut, maka isinya akan bertahan sampai kapan pun. Diagram ini juga hadir untuk memberikan kemudahan terhadap pengguna di dalam menggunakan sistem yang sedang dibangun.
Deployment Diagram berfungsi untuk menggambarkan, menspesifikasikan, serta mendokumentasikan proses yang sedang berlangsung. Kemudian diagram tersebut juga akan menggambarkan tentang relasi yang terjadi antar sistem.
Misalnya, pada saat Anda menspesifikasikan situs web, maka diagram ini dapat digunakan untuk menunjukkan seperti perangkat keras atau hardware yang sedang digunakan. Dalam hal ini perangkat keras tersebut dinamakan sebagai node, seperti:
- Web server
- Server aplikasi
- Database server
- dan lain-lain.
![]() |
Simbol pada Deployment Diagram |
![]() |
Contoh Deployment Diagram |
- Profile Diagram
Diagram profil adalah diagram struktur yang menjelaskan mekanisme ekstensi ringan ke UML dengan mendefinisikan stereotip khusus, nilai yang diberi tag, dan batasan. Diagram ini lebih menyerupai bahasa daripada diagram. Dengan menentukan stereotype khusus, nilai dan batasan yang ditandai, dan batasan, diagram profil membantu pembuatan properti dan semantik baru untuk diagram UML. Dengan profil ini, Anda dapat menyesuaikan metamodel UML untuk berbagai platform.
Adapun fungsi dari Profile Diagram sebagai berikut.
- Untuk membuat metamodel UML baru.
- Untuk menerapkan ekstensi atau modifikasi pada metamodel UML yang sudah ada.
- Untuk mengadaptasi metamodel UML ke berbagai platform, dan domain.
Adapun simbol-simbol dalam profile diagram
- Profile. Profile memungkinkan penyesuaian atau pengembangan metakelas melalui stereotip, batasan, dan nilai tag.
- Metaclass. Komponen yang dapat diperluas oleh stereotype
- Stereotypes. Ini menunjukkan bagaimana setiap elemen atau objek diperluas sebagai bagian dari profil. Stereotype harus digunakan bersama dengan metaclass yang diperluas, tidak dapat digunakan secara mandiri dan tidak dapat diperluas dengan stereotype lain.
- Tagged values. Tagged values dapat memberikan detail tambahan tentang spesifikasi elemen model yang tidak mungkin ditampilkan di UML. Mereka diwakili dalam tanda kurung berdasarkan nama atau nilai.
- Constraints. Kondisi yang harus berlaku di seluruh sistem atau proses diwakili oleh contraint, biasanya ditampilkan dengan catatan.
![]() |
Contoh Profile Diagram |
- Behavior Diagram
Di sini, fitur dinamis dari sistem atau proses perangkat lunak adalah topik utama. Diagram ini menyoroti apa yang harus terjadi dalam sistem yang direpresentasikan sekaligus menunjukkan bagaimana sistem berfungsi. Berikut adalah diagram-diagram yang termasuk ke dalam Behavior Diagram.
- Use Case Diagram
Use Case Diagram adalah salah satu dari beberapa jenis Behavior Diagram yang menunjukkan bagaimana aktor dan sistem berinteraksi. Tipe interaksi antara pengguna sistem dengan sistem dapat digambarkan dengan use case. Diagram yang dapat menggambarkan perilaku aktor dan sistem secara keseluruhan seperti yang terlihat pada Use Case Diagram, jelas diperlukan sebagai tahap awal dalam pemodelan.
Adapun fungsi dari Use Case Diagram adalah sebagai berikut.
- Memperlihatkan aktifitas sistem secara berurutan.
- Mampu menjelaskan proses bisnis bahkan menunjukkan urutan aktivitas yang terjadi dalam suatu proses.
- Sebagai antara pembuat dan konsumen untuk menjelaskan suatu sistem.
![]() |
Simbol-simbol Use Case Diagram |
![]() |
Contoh Use Case Diagram |
- Activity Diagram
Diagram aktivitas adalah jenis diagram yang dapat memodelkan proses pada sebuah sistem. Urutan proses sistem sistem digambarkan secara vertikal. Activity Diagram merupakan pengembangan dari Use Case yang memiliki alur aktivitas. Aktivitas atau alurnya dapat berbentuk menu sistem atau operasi bisnis yang ada pada sistem tersebut. Rosa AS menulis, “Diagram aktivitas tidak menjelaskan perilaku aktor,” dalam buku Rekayasa Perangkat Lunak. Hal ini dapat diartikan bahwa hanya alur kerja atau aktivitas sistem yang dapat digambarkan menggunakan diagram aktivitas.
Dengan mengidentifikasi aktor, aktivitas yang diperlukan, dan waktu pelaksanaannya, diagram aktivitas juga dapat digunakan untuk mengevaluasi diagram use case. Sebuah algoritma dan pemodelan sekuensial yang kompleks dengan banyak proses paralel ditunjukkan dalam diagram ini.
Adapun fungsi atau tujuan dari Activity Diagram ini adalah :
- Menjelaskan bagaimana setiap langkah aktivitas dilakukan dalam suatu proses.
- Digunakan sebagai modeling dalam dunia bisnis (menggambarkan urutan proses bisnis).
- Mudah memahami proses pada sistem secara keseluruhan.
- Metode perancangan yang terstruktur, mirip seperti Flowchart dan DFD (Data Flow Diagram).
- Mengetahui aktivitas aktor berdasarkan Use Case yang sudah dibuat.
![]() |
Simbol-simbol Activity Diagram |
![]() |
Contoh Activity Diagram |
- State Machine Diagram
State Machine Diagram digunakan untuk merepresentasikan metode, perilaku, atau "lifecycle" kelas atau objek dengan menguraikan rangkaian kejadian sementara (status) yang terjadi saat objek berpindah dari satu status ke status lainnya.
Diagram keadaan menguraikan setiap keadaan yang mengizinkan kepemilikan objek dalam kelas serta keadaan yang menyebabkan perubahan status. Transisi adalah nama lain dari peralihan keadaan. Grafik ini menggambarkan perilaku sistem (program). Situasi yang terjadi ketika suatu objek atau interaksi memenuhi suatu kondisi, melakukan suatu tindakan, atau menunggu suatu peristiwa disebut sebagai status.
![]() |
Simbol pada State Machine Diagram |
![]() |
Contoh State Machine Diagram |
- Interaction Diagram
Berikut adalah empat diagram yang termasuk ke dalam Interaction Diagram.
- Sequence Diagram
Diagram ini memiliki dua dimensi, dimensi vertikal yang mewakili waktu dan dimensi horizontal yang mewakili objek. Waktu aktif setiap item, termasuk aktor, ditampilkan dalam kolom vertikal yang disebut lifeline. Sedangkan arahan atau pesan ditampilkan sebagai panah yang berpindah dari satu lifeline ke lifeline lainnya.
Sequence Diagram dapat digunakan untuk menjelaskan serangkaian tindakan dan langkah yang diambil sebagai respons terhadap suatu peristiwa yang menghasilkan output tertentu. Diagram use case dan diagram sequence berhubungan erat, yang mana diagram use case bisa menjadi diagram sequence.
Menemukan urutan kejadian yang dapat menghasilkan keluaran yang diinginkan adalah tujuan utama dari Sequence Diagram. Sequence diagram mempunyai fungsi serupa dengan diagram aktivitas, yaitu untuk menjelaskan alur kerja suatu aktivitas. Ini juga dapat mewakili aliran data secara lebih rinci, termasuk data atau tindakan yang dikirimkan atau diterima.
![]() |
Komponen atau Simbol Utama dalam Sequence Diagram |
![]() |
Contoh Sequence Diagram |
- Communication Diagram
Adapun tujuan dari Communication Diagram sebagai berikut.
- Model pesan melalui antar peran atau objek yang mengirimkan operasi penggunaan dan fungsionalitas kasus.
- Mekanisme model dalam desain arsitektur sistem.
- Tangkap interaksi yang mengarahkan pesan yang dilewati antar peran dan objek dalam skenario kolaborasi.
- Model skenario alternatif dalam kasus pemakaian atau operasi yang melibatkan kolaborasi dari berbagai interaksi dan objek
- Mendukung pengidentifikasian objek, atributnya, dan operasi (pesan) yang ikut serta dalam use case.
- Objek. Objek adalah instance kelas yang diurutkan secara horizontal. Nama objek ditampilkan sebagai kelas (kotak) yang diawali dengan titik koma (;).
- Actor. Karena aktor dan objek dapat memiliki hubungan, aktor juga dapat diurutkan sebagai kolom. Aktor menggunakan simbol yang sama seperti dalam Use Case Diagram.
- Message. Seperti yang telah dibahas dan diilustrasikan sebelumnya, message diwakili oleh panah yang menunjuk antar objek dan diberi label dengan serangkaian angka yang menunjukkan urutan terjadinya komunikasi antar objek.
Contoh Communication Diagram |
- Timing Diagram
![]() |
Timing Diagram |
Diagram interaksi UML yang disebut diagram waktu digunakan untuk menampilkan interaksi ketika tujuan utama diagram adalah untuk membuat argumen terkait waktu. Diagram waktu berkonsentrasi pada keadaan yang bergeser sepanjang sumbu waktu linier di dalam dan di antara garis hidup. Diagram waktu fokus pada waktu peristiwa yang mempengaruhi keadaan yang diwakili dalam jalur kehidupan, menggambarkan perilaku pengklasifikasi individu dan hubungannya.
Tujuan dari diagram waktu UML adalah untuk menunjukkan bagaimana keadaan atau nilai dari satu atau lebih item bervariasi dari waktu ke waktu. Selain itu, ia dapat mengontrol interaksi peristiwa-peristiwa yang diatur waktunya serta batasan durasi dan temporal yang mengendalikannya.
Berikut adalah elemen/simbol yang digunakan dalam Timing diagram.
- Lifeline. Elemen ini mewakili peserta tertentu dalam dialog. Meskipun bagian dan fitur struktural mungkin memiliki multiplisitas lebih besar dari 1, lifeline hanya mewakili satu entitas yang berinteraksi. Lifeline pada tiing diagram diwakili oleh nama pengklasifikasi atau instance yang diwakilinya.
- State or Condition Timeline. Timing diagram dapat menggambarkan keadaan pengklasifikasi atau atribut yang berpartisipasi, serta kondisi yang dapat diuji, seperti nilai atribut yang terpisah atau dapat dihitung.
- Duration Constraint. Duration Constraint adalah batasan interval yang mengacu pada interval durasi. Interval durasi digunakan saat batasan terpenuhi. Jika batasan dilanggar, jejak menjadi negatif dan menunjukkan bahwa sistem telah gagal. Hubungan grafis antara interval waktu dan konstruksi yang dibatasinya adalah bagaimana batasan durasi direpresentasikan.
- Time Constraint. Time constraint merupakan batasan interval yang mengacu pada interval waktu. Interval waktu adalah ekspresi waktu yang digunakan untuk memastikan apakah batasan terpenuhi.
- Destruction Occurence. Destruction occurence menunjukkan matinya kejadian yang digambarkan oleh lifeline. Hal ini nantinya dapat menyebabkan musnahnya objek lain yang komposisinya dimiliki objek tersebut. Setelah peristiwa penghancuran lifeline tertentu, tidak ada lagi kejadian yang mungkin terjadi.
![]() |
Contoh Timing Diagram |
- Interaction Overview Diagram
Yang lain berpendapat bahwa Interaction Overview Diagram mewakili bagaimana objek berinteraksi satu sama lain selama suatu proses. Diagram ini menunjukkan bagaimana sekelompok objek berinteraksi satu sama lain dan hubungan yang terjalin di antara mereka. Hal ini juga berlaku untuk transmisi pesan antar objek yang sangat mirip dengan Activity Diagram. Sementara itu, Activity Diagram berkontribusi untuk mengungkapkan detail mengenai urutan diagram interaksi.
Komponen/Simbol pada Interaction Overview Diagram |
![]() |
Contoh Interaction Overview Diagram |
Komentar
Posting Komentar