Program yang akan Anda buat akan diimplementasikan dalam waktu yang lama, sehingga perlu dianalisis lebih lama dalam segi perencanaan, desain, dan pemodelannya.
Dalam artikel ini kita akan membahas tentang unified modeling language dari pengertian, sejarah, jenis-jenis, hingga contohnya. Simak terus artikel ini sampai habis, ya!
Apa Itu UML
Unified Modeling Language atau dapat disingkat UML adalah bahasa pemodelan yang terstandarisasi dan terdiri dari diagram yang terintegrasi. UML dikembangkan untuk membantu seorang system dan software developer untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan sistem dari perangkat lunak, seperti untuk pemodelan bisnis dan sistem non perangkat lunak lainnya.
UML diterapkan di luar pengembangan perangkat lunak, seperti alur proses dalam manufaktur. UML bukanlah bahasa pemrograman, namun lebih ke bahasa visual. Secara keseluruhan, diagram UML mendeskripsikan batasan, struktur, dan perilaku sistem serta objek di dalamnya.
Sejarah Unified Modeling Language
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).
Haruskah Menggunakan Unified Modeling Language?
Setelah mengetahui tentang unified modeling language (UML), haruskah saat kita akan membuat suatu program perlu menggunakan UML?
Berikut adalah alasan mengapa Anda perlu menggunakan UML, yaitu:
- Sebuah aplikasi yang kompleks membutuhkan kolaborasi dan perencanaan dari beberapa tim, oleh karena itu memerlukan cara yang jelas dan singkat untuk mengkomunikasikannya. Sehingga, dengan menggunakan UML akan memudahkan dalam memvisualisasikannya.
- UML akan sangat membantu para pengusaha yang tidak mengerti tentang coding. UML akan membantu untuk mengkomunikasikan sebuah sistem kepada para non programmer, seperti persyaratan penting, fungsi, dan proses dari sistem yang akan dikembangkan.
- UML juga bisa membantu mengefisiensi waktu ketika tim melakukan visualisasi proses, interaksi pengguna, dan struktur statis dari sistem.
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.
1) 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.
2) 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.
3) 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.
4) Composite Structure Diagram
Composite structure diagram merepresentasikan hubungan antara bagian-bagian dan konfigurasinya yang menentukan bagaimana classifier (class, komponen, atau deployment code) berperilaku.
5) 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.
6) 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.
1) 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).
2) 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.
3) 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.
4) 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.
5) Timing Diagram
Timing diagram digunakan untuk menggambarkan perilaku objek dalam batasan waktu tertentu.
6) 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.
7) 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.
Konsep yang Berorientasi pada Objek yang Digunakan
Di dalam sebuah UML terdapat konsep yang berorientasi pada objek yang digunakan, konsep-konsep tersebut adalah:
1. Class
Class didefinisikan sebagai blueprint, contohnya struktur dan fungsi dari sebuah objek.
2. Objects
Objects dapat membantu Anda untuk melakukan dekomposisi sistem yang berukuran besar dan membantu untuk memodulasi sistem Anda. Pemodulan dari sistem untuk memisahkan sistem Anda menjadi komponen-komponen yang mudah dipahami, sehingga Anda dapat membangun sistem secara bertahap. Objects merupakan bagian dasar (building blocks) dari sebuah sistem yang digunakan untuk menggambarkan sesuatu.
3. Inheritance
Inheritance adalah sebuah mekanisme di mana child classes mewarisi properti dari parent classes.
4. Abstraction
Abstraction adalah mekanisme di mana rincian implementasi disembunyikan dari pengguna.
5. Encapsulation
Encapsulation adalah menggabungkan data-data dan melindunginya dari dunia luar.
6. Polymorphism
Polymorphism adalah mekanisme di mana fungsi-fungsi atau entitas-entitas dapat berwujud dalam berbagai bentuk.