Dalam dunia pemrograman, terdapat banyak istilah dan konsep yang perlu dipahami oleh seorang pengembang software. Salah satu konsep penting yang harus dipahami adalah UML.
UML singkatan dari Unified Modeling Language, yang merupakan bahasa visual untuk memodelkan dan merancang sistem perangkat lunak.
UML pertama kali diperkenalkan pada tahun 1997 oleh Grady Booch, Ivar Jacobson, dan James Rumbaugh, yang dikenal sebagai “Tiga Amigo”.
Saat ini, UML telah menjadi standar de facto di dunia perangkat lunak dan digunakan oleh banyak organisasi dan profesional di seluruh dunia.
Dalam artikel ini, Sekawan Media akan membahas secara lengkap mengenai apa itu UML? Apa saja fungsi serta contohnya? Simak!
Pengertian UML
Jadi, apa itu UML atau Unified Modeling Language? UML adalah bahasa pemodelan visual yang digunakan untuk merancang dan memodelkan sistem perangkat lunak.
Dilansir dari Visual Paradigm, UML mencakup notasi grafis yang digunakan untuk merepresentasikan berbagai aspek dari sistem, termasuk struktur sistem, perilaku sistem, interaksi antara objek, dan lingkungan di mana sistem beroperasi.
Menurut Grady Booch, salah satu ahli yang terlibat dalam pengembangan Unified Modeling Language, UML adalah “bahasa pemodelan visual yang dapat digunakan untuk merepresentasikan sistem perangkat lunak yang berbeda, mulai dari sistem yang sederhana hingga sistem yang kompleks.”
Unified Modeling Language terdiri dari berbagai diagram yang masing-masing merepresentasikan aspek tertentu dari sistem. Beberapa diagram Unified Modeling Language yang paling umum digunakan termasuk class diagram, activity diagram, dan lain sebagainya.
Sejarah UML
Awal mula UML adalah pada tahun 1996, Request for Proposal (RFP) yang dikeluarkan oleh Object Management Group (OMG) menyediakan perantara untuk organisasi-organisasi lain untuk bergabung untuk menghasilkan respons RFP bersama.
Rational membentuk konsorsium mitra UML bersama beberapa organisasi yang bersedia mendedikasikan sumber daya mereka untuk menginisiasi UML 1.0. Para kontributor pada UML 1.0 ini adalah Digital Equipment Corp, HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational, TI, dan Unisys. UML versi 1.0 ini diajukan oleh OMG pada Januari 1997 sebagai respons dari RFP awal.
Pada Januari 1997, IBM, ObjectTime, Platinum Energy, Ptech, Taskon, Reich Technology, dan Softeam juga mengajukan RFP terpisah pada OMG. Perusahaan-perusahaan ini bergabung untuk mengkontribusikan idenya di versi terbaru, yaitu UML 1.1. UML 1.1 dirilis sebagai versi terbaru dari UML 1.0 dan memasukkan kontribusi dari mitra-mitra baru.
UML 1.1 diajukan ke OMG sebagai pertimbangan mereka dan diadopsi pada musim gugur tahun 1997. Dari versi 1.0 kemudian ditingkatkan menjadi 1.1 dan ke 1.5, dan kemudian diperbarui lagi menjadi UML 2.1 dari 01 ke 06 (saat ini versi terbaru dari UML adalah UML 2.5). Pada tahun 2005, UML diumumkan sebagai standar oleh International Organization for Standardization (ISO).
Fungsi UML
Berikut adalah beberapa fungsi UML yang perlu Anda ketahui. Simak penjelasan di bawah ini!
1. Memodelkan Sistem Perangkat Lunak
Unified Modeling Language digunakan untuk merepresentasikan sistem perangkat lunak dari berbagai aspek, termasuk struktur, perilaku, dan interaksi antara objek.
Dengan begitu, para pengembang dapat memperjelas dan menyederhanakan pemodelan sistem yang rumit.
2. Meningkatkan Komunikasi dan Kolaborasi
Unified Modeling Language memberikan notasi grafis yang dapat digunakan untuk menyajikan ide dan konsep yang rumit secara visual.
Hal ini mempermudah para pengembang untuk berkomunikasi secara efektif dan menyederhanakan pemodelan sistem yang rumit.
3. Meningkatkan Kualitas Perangkat Lunak
Dalam pengembangan perangkat lunak, Unified Modeling Language membantu para pengembang untuk mengurangi kesalahan dan meningkatkan kualitas produk akhir.
Dengan memodelkan sistem secara visual, para pengembang dapat mengidentifikasi masalah dan kesalahan sebelum produk akhir diimplementasikan.
4. Meningkatkan Efisiensi Pengembangan Perangkat Lunak
Dengan menggunakan Unified Modeling Language, para pengembang dapat merancang sistem perangkat lunak dengan lebih efisien.
Unified Modeling Language membantu mengurangi kompleksitas dan meningkatkan pemahaman sistem secara keseluruhan, sehingga memudahkan pengembang untuk mengembangkan perangkat lunak dengan cepat dan efisien.
5. Memastikan Kepuasan Klien
Dalam pengembangan perangkat lunak, membantu untuk memastikan bahwa produk akhir sesuai dengan kebutuhan dan persyaratan klien.
Dengan menggunakan Unified Modeling Language, para pengembang dapat memperjelas dan menyederhanakan pemodelan sistem, sehingga memastikan bahwa produk akhir sesuai dengan kebutuhan dan persyaratan klien.
Jenis-jenis Unified Modeling Language
UML berkaitan dengan desain dan analisis yang berorientasi pada objek. UML menggunakan elemen-elemen dan bentuk association antara UML dengan diagramnya. Diagram UML diklasifikasikan menjadi dua, yaitu:
1. Structural Diagram
Structural diagram membantu dalam menggambarkan statis aspek atau struktur dari sebuah sistem. Structural diagram meliputi: Component Diagram, Object Diagram, Class Diagram, dan Deployment Diagram.
a) Component Diagram
Component diagram sering digunakan untuk merepresentasikan bagaimana komponen-komponen fisik di dalam sistem telah terorganisir.
Component diagram menggambarkan hubungan struktural antara elemen sistem perangkat lunak dan membantu Anda memahami jika persyaratan fungsional telah dicakup oleh pengembangan yang direncanakan.
b) Class Diagram
Class diagram adalah diagram UML yang paling banyak digunakan. Class diagram merupakan building blocks dari segala orientasi objek pada sistem perangkat lunak.
Anda dapat menggunakan class diagram untuk menggambarkan struktur statis dari sebuah sistem dengan menunjukkan kelas-kelas sistem, metodenya, dan atribut.
Class diagram bisa membantu Anda untuk mengidentifikasi hubungan antara kelas-kelas yang berbeda maupun objek-objek yang berbeda.
c) Object Diagram
Object diagram membantu dalam menggambarkan perilaku (behaviour) ketika objek telah dipakai, Anda dapat mempelajari perilaku dari sistem pada saat tertentu. Object diagram juga membantu menggambarkan pengklasifikasi aktual dan hubungannya menggunakan class diagram.
d) Composite Structure Diagram
Composite structure diagram merepresentasikan hubungan antara bagian-bagian dan konfigurasinya yang menentukan bagaimana classifier (class, komponen, atau deployment code) berperilaku.
e) Deployment Diagram
Deployment diagram digunakan untuk merepresentasikan perangkat keras sistem dan perangkat lunaknya. Deployment diagram akan menjelaskan kepada Anda komponen perangkat keras apa dan komponen perangkat lunak apa yang berjalan di dalamnya.
Deployment diagram mengilustrasikan arsitektur sistem sebagai distribusi artefak perangkat lunak di atas target yang terdistribusi.
f) Package Diagram
Secara sederhana, package diagram menunjukkan dependensi antara package yang berbeda dan komposisi internal dari package.
Package dapat membantu Anda untuk menata diagram UML menjadi kelompok-kelompok yang berarti dan membuat diagram untuk mudah dipahami.
Pada dasarnya package diagram digunakan untuk menata class diagram dan use case diagram.
2. Behavioral Diagram
Behavioral diagram membantu dalam menggambarkan aspek dinamis atau perilaku dari sebuah sistem. Behavioral diagram meliputi: Use Case Diagram, State Diagram, Activity Diagram, dan Interaction Diagram.
a) Use Case Diagram
Use case diagram digunakan untuk menggambarkan fungsionalitas dari sistem dan bagian dari sistem. Use case diagram digunakan secara luas untuk mengilustrasikan kebutuhan fungsional dari sistem dan interaksinya dengan agen eksternal (actors).
b) State Machine Diagram
State machine diagram digunakan untuk merepresentasikan kondisi dari sistem atau bagian dari sistem pada waktu yang terbatas. Jenis behavioral diagram ini juga sering disebut state machine atau state-chart diagram. Jenis ini digunakan untuk memodelkan perilaku yang dinamis dari sebuah class sebagai bentuk respons waktu dan mengubah external stimuli.
c) Activity Diagram
Anda bisa menggunakan activity diagram untuk mengilustrasikan flow kontrol dalam sebuah sistem. Activity diagram berfokus pada kondisi bagaimana flow dan dan sequence dalam waktu terjadinya. Anda juga bisa menggunakan activity diagram untuk menggambarkan atau mendeskripsikan penyebab dari beberapa kejadian.
d) Sequence Diagram
Sederhananya, sequence diagram menggambarkan interaksi antara objek secara berurutan, contohnya urutan terjadinya interaksi. Sequence diagram mendeskripsikan bagaimana dan dalam urutan apa objek-objek dalam suatu fungsi sistem.
Diagram ini sering digunakan oleh pebisnis dan software developers untuk mendokumentasikan dan memahami kebutuhan untuk sistem yang sudah ada dan sistem yang baru.
e) Timing Diagram
Timing diagram digunakan untuk menggambarkan perilaku objek dalam batasan waktu tertentu.
f) Communication Diagram
Communication diagram, juga dikenal sebagai collaboration diagram pada UML 1.x, digunakan untuk menunjukkan pesan berurutan yang ditukarkan antara objek. Fokus utama dari communication diagram adalah objek dan hubungannya.
Anda dapat menunjukkan informasi yang sama dengan sequence diagram, namun pada communication diagram akan ditunjukkan objek dan tautan dalam bentuk bebas.
g) Interaction Overview Diagram
Sebuah interaction overview diagram memodelkan sebuah aksi yang berurutan dan membantu menyederhanakan interaksi yang kompleks menjadi kejadian yang lebih sederhana. Interaction overview diagram adalah percampuran dari activity diagram dan sequence diagram.
Diagram Unified Modeling Language
Diagram UML adalah notasi grafis yang digunakan dalam Unified Modeling Language untuk merepresentasikan aspek tertentu dari sistem perangkat lunak. Berikut adalah beberapa jenis diagram UML yang umum digunakan.
1. Class Diagram
Digunakan untuk merepresentasikan struktur sistem, termasuk kelas, atribut, dan metode yang digunakan oleh kelas tersebut.
Menunjukkan hubungan antara kelas-kelas, seperti pewarisan dan asosiasi. Membantu para pengembang untuk memodelkan struktur dan hubungan antara kelas dalam sistem.
2. Activity Diagram
Digunakan untuk merepresentasikan alur kerja dalam sistem, termasuk tindakan dan keadaan yang terjadi selama proses.
Menunjukkan aktivitas dan tindakan yang harus dilakukan oleh sistem dalam menjalankan suatu proses. Membantu para pengembang untuk memahami alur kerja sistem dan mengidentifikasi masalah atau kesalahan dalam proses.
3. Sequence Diagram
Digunakan untuk merepresentasikan interaksi antara objek dalam sistem, termasuk pesan dan respons yang dikirimkan antara objek.
Menunjukkan urutan pesan yang dikirimkan antara objek dan respons yang diberikan. Membantu para pengembang untuk memahami interaksi antara objek dalam sistem dan memastikan bahwa sistem berfungsi dengan benar.
4. Statechart Diagram
Statechart diagram adalah salah satu jenis diagram UML yang digunakan untuk menggambarkan perilaku sistem sebagai urutan keadaan yang berbeda.
Diagram ini menunjukkan bagaimana sistem merespons stimulus eksternal atau perubahan kondisi internal dengan beralih dari satu keadaan ke keadaan yang lain. Statechart diagram juga dikenal sebagai diagram mesin state atau diagram state.
5. Use Case Diagram
Digunakan untuk merepresentasikan kasus-kasus penggunaan sistem, termasuk kebutuhan dan persyaratan pengguna.
Menunjukkan bagaimana sistem digunakan oleh pengguna dalam situasi tertentu. Membantu para pengembang untuk memahami kebutuhan dan persyaratan pengguna dan memastikan bahwa sistem memenuhi kebutuhan tersebut.
Baca Juga: Class Diagram: Pengertian, Fungsi, dan Contoh dalam UML
Contoh UML
Berikut adalah penggunaan beberapa contoh UML dalam sebuah studi kasus. Simak penjelasannya.
1. Contoh Class Diagram
Berikut adalah contoh penggunaan class diagram pada aktivitas pembayaran online TV Kabel.
2. Contoh Activity Diagram
Dibawah ini adalah contoh activity diagram pada proses login atau masuk pada sebuah website.
3. Contoh Sequence Diagram
Ini adalah contoh sequence diagram yang digunakan pada aktivitas login atau masuk.
4. Contoh Statechart Diagram
Ini merupakan salah satu contoh state diagram dalam aktivitas login suatu website.
Baca Juga: Pengenalan Sistem Informasi Geografis (SIG) dan Penerapannya
5. Contoh Use Case Diagram
Di bawah ini, Anda dapat melihat contoh penggunaan use case pada peminjaman buku online di perpustakaan.
Dengan menggunakan UML, para pengembang perangkat lunak dapat memperjelas dan menyederhanakan pemodelan sistem yang rumit.
Hal ini dapat membantu meminimalkan kesalahan dalam pengembangan perangkat lunak dan memastikan bahwa produk akhir sesuai dengan kebutuhan dan persyaratan klien.
Sekawan Media menawarkan paket jasa pembuatan aplikasi mobile untuk kebutuhan berbagai segmen bisnis Anda.