Pengertian Unified Modeling Language

UNIFIED MODELING LANGUAGE (UML)

Bagian Dari UML

Bagian-bagian utama dari UML adalah view, diagram dan relationship

View

View digunakan untuk melihat sisitem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tetapi merupakan suatu abstraksi yang berisi jumlah diagram. Bebrapa jenis view dalam UML antara lain : use case view, logical view, component view, dan development view.

Use case view

merupakan bentuk fungsional dari system yang diinginkan oleh user (dalam hal ini actor). View ini digambarkan (dibuat) dalam use case diagram dan sesekali juga dapat dibuat dalam class diagram. View ini digambarkan terutama untuk pelanggan, perancang (designer), pengembang (developer) , dan penguji system (tester).

Logical View

Menjelaskan bagaimana fungsionalitas dari system, struktur statis (class, object, dan relationship) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lainnya dalam fungsi tertentu. View  ini digambarkan dalam class diagarams untuk struktur statis dan dalam state, sequence, clloaboration, dan caktivity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer).

Component View

Menjelaskan implementasi dan ketergantungan modul, komponen yang mmerupakan tipe lainnya dari kode module diperlihatkan dengan struktur dan ketergantungan juga alokasi sumber daya komponen dan informasi administrasi lainnya. View digambarkan untuk pengembang (developer)

Deployment View

Menjelaskan fisik dari system speti computer dan perangkat (nodes) dan bagaimana hubungan dengan lainnya. View ini di gambarkan dalam development diagrams  dan dipakai untuk pengembang (developer) , pengintegrasi (integrator), dan penguji (tester)

Diagram

Diagram merupakan persentasi grafis dari sekumpulan elemen model yang disusun untuk mengilustrasikan bagian/aspek tertentu dari system. Sebuah diagram merupakan bagian dari suatu view tertentu. Adapun jenis diagram antara lain :

•    Use Case Diagram

Menggambarkan sejumlah external actors  dan hubungan ke use case yang diberikan oleh system. Use case adalah deskripsi fungsi yang disediakan oleh system dalam activity

diagram. Use case digambarkan hanya yang dilihat  dari luar oleh actor ( keadaan lingkungan system yang dilihat user) dan bukan bagaimana fungsi yang ada di dalam system.

•    Class Diagram

Menggambarakan struktur statis class di dalam system. Class mempersentasikan suatu yang tangani oleh system. Class dapat berhubungan dengan yang lain melalui berbagai cara : associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed ( satu class merupakan spesialisasi dari class yang lain), atau package (grup bersama sebagai satu unit). Sebuah system biasanya mempunyai beberapa class diagram.

•    Statechart Diagram

Menggambarkan semua state (kondisi) yang memiliki suatu object dari suatu class dan keadaan yang yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class. Hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berdeba.

•    Sequence Diagram

Menggambarkan semua state (kondisi) yang memiliki suatu object dari suatu class dan keadaan yang yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class. Hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berdeba.

•    Collaboration Diagram

Menggambarkan kondisi dinamis seperti sequence diagrams. Dalam memperlihatkan pertukaran pesan. Collaboration diagrams menggambarkan object dan hubungkan (mengacu pada konteks).jika penekannya pada waktu atau urutan gunakan sequence diagrams, tetapi jika penekanannya pada konteks gubakan collaboration diagram.

•    Activity Diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga danpat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi.

•    Component Diagram

Menggambarkan alokasi semua kelas dan objek kedalam komponen-komponen dalam desain fisik system software. Diagram ini memperlihatkan peraturan dan ketergantungan antara komponen-komponen software. Diagram seperti source code, binary code dan komponen yang tereksekusi.

•    Deployment Diagram

Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak system, mejunjukan hubungan computer dengan perangkat (nodes) satu sama lain danjenis hubungannya. Didalam nodes, executeable component dan object  yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.

    Untuk dapat memahami UML memerlukan bentuk konsep dari sebuah bahasa model, dan memperlajari 3 (tiga) elemen utama dari UML, seperti building block, aturan-aturan yang menyatakan bagaimana building block dikatakan secara bersama-sama. Dan beberapa mekanisme umum (common).

Building Block

Tiga macam yang terdapat dalam building block adalah :

  • Benda/Things: Adalah abstraksi yang pertama didalam sebuah model
  • Hubungan/relationships: Sebagai alat konunikasi dari benda-benda
  • Badan/Diagrams: Sebagai kumpulan/group dari benda-benda/things

Benda/things

Suatu hal yang begitu mendasar dalam model UML, juga merupakan bagian yang sangat static dari sebuah model. Serta mejelaskan elemen-elemen lain yang mempunyai konsep atau fisik.

•    Classes, yang diuraikan sebagai sekelompok dari object yang mempunyai attribute, operasi, hubungan yang semantic. Sebuah kelas mengimplementasikan I atau lebih interfaces. Sebuah kelas dapat digambarkan unutk sebuah persegi panjang, yang mempunyai sebuah nama, attribute, dan metode pengoprasikannya.

•    Interfaces, merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan elemen. Interfaces antar-muka mendefinisikan sebuah set/ kelompok dari spesifikasi pengoprasian, umumnya digambar dengan sebuah lingkaran yang sepertai dengan namanya.

Nodes , merupakan fisik dari elemen-elemen yang ada pada saat dijalankan, sebuah system. Contohmya :sebuah computer, umumnya mempunyyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan mungkin juga akan erpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya.

Hubungan  /Relationship

Ada 4 macam hubungan didalam penggunaan UML, yaitu :

  • Dependency, adalah hubungan semantic antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus.
  • Association, hubungan antara benda struktual yang terhubung diantara objek. Kesatuan objek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktual diantara seluruh atau sebagian. Umumnya association digambarkan dengan subuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya.
  • Generalizations, adalah menggambarkan hubungan khusus dalam objek anak/chils yang mengantikan objek parent/induk. Dalam hal ini , objek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk. Digambarkan dengan garis panah.
  • Realizations,  merupakan hubungan sementik antara pengelompokan yang menjamin adanya ikatan diantaranya, hubungan ini dapat diwujudkan diantara interfaces dan kelas atau elements, serta antara use case dan collaborations, model adari sebuah hubungan realization.

Gambar dari UML

UML sebagai Bahasa Pemodelan

UML merupakan bahasa pemodelan yang memiliki pembendaharaan kata dan cara untuk mempersentasikan secara focus pada konseptual dan fisik dari suatu system. Contoh untuk system software yang intersive membutuhkan bahasa yang mewujudkan pandangan yang berbeda dari arsitektur system, ini sama denganmenyusun/ mengembangkan software development life cycle,  dengan UML akan memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang baik, tetapi UML tidak dapat memberitahukan model  apa yang akan di bangun dan kapan akan membangun mmodel tersebut. Ini merupakan aturan dalam software development process.

UML sebagai bahasa untuk menggambarkan Sistem (Visualizing)

UML tidak hanya merupakan rangkaian symbol grafikal, cukup dengan tiap symbol pada notasi UML merupakan penetapan semantic yang baik. Dengan cara ini, satu pengembang dapat menulis model UML dan pengembang lain atau perangkat yang sama lainnya dapat mengartikan bahwa model tersebut tidak ambigu. Hal ini mengurangi error yang terjadi karna perbedaan bahasa dalam komunikasi model konseptual dengan model lainnya. UML menggambarkan model yang dapat di mengerti dan dipersentasikan kedalam model tekstual bahasa pemrograman. Contoh: kita dapat menduga suatu model dari system yang berbasis web tapi tidak secara langsung dipegang denga mempelajari code dari system. Dengan model UML maka kita dapat memodelkan  suatu system web tersebut dan dipersentasiakan ke bahasa pemrograman . UML merupakan suatu model eksplisit yang menggambarkan komunikasi informasi pada system. Sehingga kita tidak kehilangan innformasi code implementasi yang hilang dikarnakan developer memotong coding dari implementasi.

UML sebagai bahasa untuk Menspesifikasikan Sistem (specifying)

Maksudya membangun model yang sesuai, tidak ambigu dan lengkap, pada faktanya UML menujukan semua spesifikasi keputusan analisis, desain dan implementasi yang penting harus dibuat pada saat pengembangan dan penyebaran dari system software intensif.

UML sebagai bahasa untuk Membangun Sistem (Constructing)

UML bukan bahasa pemrograman visual, tetapi model UML dapat dikoneksikan secara langsung pada bahasa pemrograman visual. Pada intinya padat membangun model yang dapat dimapping ke bahasa pemrograman seperti java, C++, VB atau table pada database relational atau penyimpanan tetap pada database beroriientasi object.

UML sebagai bahasa untuk pendokumentasikan Sistem (Documenting)

UML menujukan dokumentasi dari arsitektur system dan detail dari semuanya. UML hanya memberikan bahasa untuk memperlihatkan permintaan dan untuk tes. UML menyediakan bahasa untuk memodelkan aktifitas dari perencanaan project dan manajemen pelepasan (release management).

Langah- langkah menggunakan UML

Berikut ini adalah cara mengembangkan piranti lunak dengan menggunakan UML :

  1. Buatlah daftar buisness process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
  2. Petakan use case untuk tiap business process  untuk mendefinisikan degan tepat fungsionalitas yang harus disediakan oleh system. Kemudian perhalus use case diagram dan lengkapi dengan requitment, constrains dan catatan-catatan lain.
  3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik system.
  4. Definisikan requitment lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh system.
  5. Berdasarkan use case diagram, mulailah membuat activity diagram.
  6. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, bautlah suatu diagram untuk masing-masing alir.
  7. Buatlah rancangan user interface model yang menyediakan antar muka bagi pengguna untuk menjalankan scenario use case.
  8. Berdasarkan model-model yang sudah ada, buatlah class program.  Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodenya.  Akan lebih baik jika untuk  setiap class  dibuat unit test untuk menguji fungsionalitas class  dan interaksi denga class lain.
  9. Setelah class diagram dubuat, kita dapat melihat kemungkinan pengelommpokan class menjadi komponen-komponen. Karna itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
  10. Perhalus deployment diagram yang sudah dibuat. Detiakn kemampuan dan requirement piranti lunak, system operasi, jaringan, dan sebagainya. Petakan komponen kedalam node.
  11. Mulailah membangun system. Ada dua pendekatan yang dapat digunakan :
  • Pendekatan use case , dengan meng- assign setiap use case  kepada tim pengembang untuk mengembangkan unit code yang lengkap dengan tes.
  • Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim pengembang tertentu

Area Penggunaan UML

UML digunakan paling efektif pada domain sperti :

  1. System Informasi Perusahaan
  2. System Perbangkan da perekonomian
  3. Bidang Telekomunikasi
  4. Bidang Transportasi
  5. Bidang Penerbangkan
  6. Bidang Perdagangan
  7. Bidang Pelayanan Elektronik
  8. Bidang Pengetahuan
  9. Bidang Pelayanan Berbasis Web Terdistribusi

Namun UML tidak terbatas untuk pemodelan software. Pada faktanya UML banyak untuk memodelkan system non software sperti :

  •  Aliran kerja pada system perundangan
  • Struktur dan sifat dari system kepedulian kesehatan pasien
  •  Desain hardware dll.

Tujuan penggunaan UML

  • Modelkan suatu system (bukan hanya perngkat lunak) yang menggunakan konsep berorientasi object.
  • Menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh manusia maupun mesin.

Sumber : https://mayleneandthesonsofdisaster.us/