DEV Community

Maulana Novaldi
Maulana Novaldi

Posted on

Unified Modeling Languange (UML)

Unified Modelling Language (UML) adalah suatu alat untuk memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual. Juga merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek.

Sejarah UML sendiri terbagi dalam dua fase: sebelum dan sesudah munculnya UML. Dalam fase sebelum, UML sebenarnya sudah mulai diperkenalkan sejak tahun 1990an namun notasi yang dikembangkan oleh para ahli analisis dan desain berbeda-beda, sehingga dapat dikatakan belum memiliki standarisasi.

Fase kedua: dilandasi dengan pemikiran untuk mempersatukan metode tersebut dan dimotori oleh Object Management Group (OMG) maka pengembangan UML dimulai pada akhir tahun 1994 ketika Grady Booch dengan metode OOD (Object-Oriented Design), Jim Rumbaugh dengan metode OMT (Object Modelling Technique) mereka ini bekerja pada Rasional Software Corporation dan Ivar Jacobson dengan metode OOSE (Object-Oriented Software Engineering) yang bekerja pada perusahaan Objectory Rasional.

Saat ini sebagian besar para perancang sistem informasi dalam menggambarkan informasi dengan memanfaatkan UML diagram dengan tujuan utama untuk membantu tim proyek berkomunikasi, mengeksplorasi potensi desain, dan memvalidasi desain arsitektur perangkat lunak atau pembuat program.


Diagram UML

Image description


Komponen-komponen UML

UML terdiri atas tiga kategori dan memiliki 13 jenis diagram yaitu:

  1. Struktur Diagram :

    1. Class Diagram. Class diagram menggambarkan struktur statis dari kelas dalam sistem anda dan menggambarkan atribut, operasi dan hubungan antara kelas. Class diagram membantu dalam memvisualisasikan struktur kelas- kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat.
    2. Object Diagram. Object diagram menggambarkan kejelasan kelas dan warisan dan kadangkadang diambil ketika merencanakan kelas, atau untuk membantu pemangku kepentingan non-program yang mungkin menemukan diagram kelas terlalu abstrak.
    3. Component Diagram. Component diagram menggambarkan struktur fisik dari kode, pemetaan pandangan logis dari kelas proyek untuk kode aktual di mana logika ini dilaksanakan.
    4. Deployment Diagram Deployment diagram memberikan gambaran dari arsitektur fisik perangkat lunak, perangkat keras, dan artefak dari sistem. Deployment diagram dapat dianggap sebagai ujung spektrum dari kasus penggunaan, menggambarkan bentuk fisik dari sistem yang bertentangan dengan gambar konseptual dari pengguna dan perangkat berinteraksi dengan sistem.
    5. Composite Structure Diagram. Sebuah diagram struktur komposit mirip dengan diagram kelas, tetapi menggambarkan bagian individu, bukan seluruh kelas. Kita dapat menambahkan konektor untuk menghubungkan dua atau lebih bagian dalam atau ketergantungan hubungan asosiasi.
    6. Package Diagram. Package diagram biasanya digunakan untuk menggambarkan tingkat organisasi yang tinggi dari suatu proyek software. Atau dengan kata lain untuk menghasilkan diagram ketergantungan paket untuk setiap paket dalam Pohon Model.
  2. Behavior Diagram :

    1. Use case Diagram. Diagram yang menggambarkan actor, use case dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk aktor. Sebuah use case digambarkan sebagai elips horizontal dalam suatu diagram UML use case.
    2. Activity Diagram. Menggambarkan aktifitas-aktifitas, objek, state, transisi state dan event. Dengan kata lain kegiatan diagram alur kerja menggambarkan perilaku sistem untuk aktivitas.
    3. State Machine Diagram. Menggambarkan state, transisi state dan event.
  3. Interaction diagram :

    1. Communication Diagram. Serupa dengan sequence diagram, tetapi diagram komunikasi juga digunakan untuk memodelkan perilaku dinamis dari use case. Bila dibandingkan dengan Sequence diagram, diagram komunikasi lebih terfokus pada menampilkan kolaborasi benda daripada urutan waktu.
    2. Interaction Overview Diagram. Interaksi overview diagram berfokus pada gambaran aliran kendali interaksi dimana node adalah interaksi atau kejadian interaksi.
    3. Sequence Diagram. Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap, termasuk kronologi (urutan) perubahan secara logis yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
    4. Timing diagram. Timing diagram di UML didasarkan pada diagram waktu hardware awalnya dikembangkan oleh para insinyur listrik.

KEUNTUNGAN DAN KELEMAHAN UML

Unified Modeling Language (UML) merupakan alat bantu, bahasa pemodelan yang dapat digunakan untuk rancang bangun berorientsi-objek. UML dapat digunakan untuk spesifikasi, visualisasi dan dokumentasi sistem pada fase pengembangan.

Keuntungan:
Bahasa pemodelan visual dalam proses pembangunannya maka
UML bersifat independen terhadap bahasa pemrograman
tertentu.

Kekurangan:
UML dipandang masih mempunyai kekurangan terutama dalam
meng-generate kode program secara komplit. Hal ini karena
kurangnya cara memodelkan aspek kelakuan internal
perangkat lunak untuk dipetakan ke dalam kode program.
Seperti yang kita ketahui, diagram UML yang dapat
menghasilkan kode hanyalah diagram class, namun itupun
hanya sebatas kerangka kodenya saja dan tidak bisa meng-
generate badan program-nya.


Lampiran

Contoh Use Case Diagram pada Restoran:

Image description

Contoh Class Diagram pada Restoran:

Image description

Contoh Activity Diagram Admin pada Restoran:

Image description

Contoh Activity Diagram Customer pada Restoran:

Image description


Struktur Pembentukan Diagram UML

Image description


Top comments (0)