Pengertian UML: Jenis-jenis Diagram UML, Simbol dan Contohnya
"Pengertian UML (Unfield Modelling Language), jenis-jenis diagram UML, simbol dan contohnya, class diagram, activity diagram, sequence diagram"
19 min read
Pengertian UML (Unfield Modelling Language)
Apa itu UML? Pengertian UML adalah suatu bentuk metode pemodelan visual yang digunakan dalam analisa dan perancangan sistem beriorientasi obyek.
Fungsi UML sendiri adalah dapat menjadi blue print yang lengkap dan detail yang siap untuk diimplementasikan ke dalam koding oleh programmer. Dengan diagram UML, programmer bisa memahami behavior (kelakuan) dari obyek dari segi relasi dan interaksi dengan mudah dan cepat karena telah divisualisasikan dalam bentuk diagram yang baku.
Sejarah UML tentu tidak lepas dari 3 nama besar, yaitu Grady Booch, James Rumbaugh, dan Ivar Jacobson. Mereka adalah orang-orang yang berasal dari Relational Software Corps. yang telah memberikan kontribusi besar dalam mengembangkan UML sehingga menjadi bahasa standar yang penting bukan hanya dalam Rekayasa Perangkat Lunak (RPL), tapi juga berbagai macam sistem dapat divisualisasikan dengan UML.
Jenis-jenis Diagram UML
Saat ini, UML (Unfield Modelling Language) menjadi bahasa standar seorang developer dalam mendokumentasikan software yang akan dibuatnya.
Adapun jenis-jenis diagram UML dapat dibedakan atas beberapa tipe. Namun pada kesempatan ini, saya hanya akan berbagi 4 jenis UML diagram, yaitu:
1. Use Case Diagram
Use Case Diagram adalah salah satu jenis UML untuk menggambarkan hubungan antara sistem dan aktor yang dapat menunjukkan tipe interaksi yang terjadi dalam sistem. Dalam membuat Use Case, terdapat 3 macam komponen penting, yaitu:
1. Sistem
2. Aktor
Dalam Use Case, aktor bisa berupa orang atau sesuatu yang bisa berinteraksi dengan sistem karena memiliki tugas terhadap Use Case namun tidak memiliki hak kontrol terhadap Use Case. Aktor bisa berupa orang, sistem yang lain, atau alat yang berinteraksi dengan sistem
3. Use Case
Use Case menunjukkan fungsionalitas dari sistem yang sedang digambarkan. Perlu diingat bahwa Use Case hanya menggambarkan maksud dari sistem dan bukan proses atau alur sistem.
Use Case menunjukkan apa yang dapat dikerjakan sistem, bukan cara sistem bekerja. Nama Use Case bisa terdiri dari beberapa kata namun suatu sistem tidak bisa memiliki Use Case yang bernama sama.
Relasi Use Case
- Associaton, yaitu penghubung antara link antar komponen. Relasi Use Case ini dapat digunakan untuk mengidentifikasi interaksi antara komponen tertentu dari aktor dan Use Case.
- Generalization, yaitu sebuah elemen bisa memiliki sifat-sifat elemen lainnya atau biasa disebut pewarisan sifat (Inheritance)
- Dependency, yaitu ketergantungan suatu elemen terhadap elemen lain. Dependency terbagi atas 2 macam, yaitu include dan extend.
- Aggredation, yaitu bentuk association yang menyatakan suatu elemen berisi elemen lainnya.
Simbol Use Case Diagram
- Sistem, dilambangkan dengan bidang segi empat.
- Aktor, yaitu bisa mewakili orang, sistem yang lain atau alat ketika berinteraksi dengan Use Case.
- Use Case, yaitu interaksi antara aktor dan sistem.
- Association, yaitu penghubung antara aktor dan use case.
- Generalisasi, yaitu keahlian aktor untuk berpartisipasi dengan Use Case
- <<include>>, yaitu menyatakan seluruh Use Case adalah fungsionalitas dari Use Case lainnya.
- <<extend>>, yaitu menyatakan seluruh Use Case adalah fungsionalitas dari Use Case lainnya hanya jika syarat terpenuhi.
Use Case Diagram https://www.dumetschool.com |
Contoh Diagram Use Case
Contoh diagram use case https://www.dumetschool.com |
2. Activity Diagram
Activity diagram menjelaskan proses atau alur dari operasi yang terjadi di dalam sistem. Activity diagram memiliki cara kerja persis seperti flowchart (diagram alir).
Tujuan dari activity diagram adalah untuk menggambarkan proses yang terjadi dalam suatu sistem secara teratur, mulai dari awal, keputusan yang bisa terjadi, sampai aktivitas berakhir.
Elemen-elemen dalam Activity Diagram
Elemen-elemen dalam activity diagram https://www.codepolitan.com |
Contoh Activity Diagram
Contoh activity diagram https://www.codepolitan.com |
3. Class Diagram
Jenis UML yang selanjutnya adalah class diagram. Class diagram adalah diagram yang menunjukkan kelas-kelas dan hubungan antar kelas dalam suatu sistem.
Jika kamu pernah membuat ERD (Entity Relational Diagram) saat merancang database, maka membuat class diagram tidaklah sulit karena kita hanya menambahkan operasi atau method sistem.
Elemen-elemen dalam class diagram meliputi classes name, attributes, operations, dan relationships.
Name Class Diagram
Name class diagram umumnya memiliki beberapa atribut dengan nilainya masing-masing.
Attributes Class Diagram
Attributes dan Methods hanya boleh memiliki satu dari 3 sifat, yaitu:
- -Private, hanya bisa dipanggil dari dalam kelas itu sendiri.
- +Protected, hanya bisa dipanggil oleh class yang bersangkutan dan turunannya.
- #Public, dapat dipanggil oleh semua obyek.
Relasi Class dalam Class Diagram
Class diagram relasi https://pccontrol.wordpress.com |
Berikut penjelasan singkat tentang relasi class dalam class diagram.
1. Asosiasi
Asosiasi menunjukkan hubungan statis antara class dalam diagram class. Relasi ini ditandai dengan terdapatnya attribut yang sama pada class yang lainnya.
Relasi class dalam class diagram http://sis.binus.ac.id/ |
Penjelasan:
Terdapat 3 class, yaitu Member, Sales Order, dan Product.
2. Agregasi
Relasi agregasi pada class diagram menunjukkan hubungan kepemilikan suatu class terhadap class lainnya.
Relasi agregasi pada class diagram |
Dari gambar relasi antara mobil dan kaca spion dapat diketahui bahwa mobil memiliki kaca spion. Namun tanpa kaca spion, mobil tetap berfungsi sehingga mobil dan kaca spion dapat dipisahkan.
3. Komposisi
Relasi komposisi pada diagram class menunjukkan bahwa suatu class merupakan bagian dari class lainnya.
Relasi komposisi pada diagram class |
Dari relasi di atas, dapat dimodelkan sebuah mobil dimana mesin adalah bagian dari mobil. Di sini dijelaskan bahwa mobil tidak dapat dipisahkan dari mesin untuk dapat berfungsi sebagai sebuah mobil.
4. Inheritance and Generalization
Sifat inheritance menunjukkan hubungan hirarkis antar class. Suatu class bisa merupakan turunan dari class lainnya sehingga class tersebut mewarisi sifat dari class induk yang memiliki semua attribut dan method dari class induk dan menambahkan function baru. Sementara Generalisasi merupakan kebalikasi dari inheritance atau pewarisan.
Contoh class diagram inheritance |
4. Sequence Diagram
Sequence diagram adalah diagram yang menggambarkan interaksi obyek berdasarkan urutan, baik itu urutan tahapan atau urutan waktu. Sequence diagram berhubungan erat dengan Use Case Diagram karena 1 Use Case artinya menjadi 1 Sequence Diagram juga.
Obyek-obyek dalam Sequence Diagram diurutkan dari kiri ke kanan. Perlu diketahui, dalam Sequence Diagram, dimensi vertikal digunakan untuk merepresentasikan waktu dan dimensi horizontal untuk mererepsentasikan obyek-obyek yang terkait.
Komponen-komponen Sequence Diagram
Berikut ini adalah komponen-komponen yang terlibat dalam Sequence Diagram.
1. Actor
Aktor |
Actor adalah representasi dari suatu entitas yang letaknya berada di luar sistem dan bisa berinteraksi dengan sistem. Aktor di sini bisa berupa manusia, hardware atau pun sistem lainnya.
2. Lifeline
Lifeline |
Simbol dalam Sequence diagram yang satu ini adalah untuk mengeksekusi obyek selama sequence.
3. General
General |
Gambar General dalam Sequence diagram merepresentasikan entitas tunggal dalam Sequence diagram. Entitas ini memiliki nama, stereotype atau instance.
4. Boundary
Boundary |
Boundari merupakan tepi dari sistem, seperti user interface atau alat yang dibutuhkan untuk berinteraksi dengan sistem yang lainnya.
5. Control
Control |
Elemen jaringan komputer yang lainnya adalah untuk mengatur aliran informasi dari sebuah skenario.
6. Entity
Entity |
Entity atau entitas adalah elemen yang bertanggung jawab dalam menyimpan data dan informasi.
7. Activation
Activation |
8. Message
Message berfungsi sebagai komunikasi antar obyek yang menggambarkan aksi yang akan dilakukan.
9. Message Entry
Message Entry |
Simbol ini menunjukkan hubungan antara obyek berdasarkan urutan kejadian.
10. Message to Self
Message to Self |
Simbol ini menunjukkan hubungan antara obyek terhadap obyek itu sendiri berdasarkan urutan kejadian.
11. Message Return
Simbol ini adalah simbol yang menggambarkan hasil pengiriman pesan yang digambarkan dengan arah dari kanan ke kiri.
Metode Pengujian Perangkat Lunak
Pengujian perangkat lunak atau lebih populer disebut dengan software testing adalah suatu metode investigasi yang bertujuan untuk mendapatkan informasi mengenai kualitas dari sautu produk yang sedang diuji (under test).
Tujuan dari pengujian perangkat lunak adalah untuk mengenal lebih dekat perangkat lunak yang sedang diuji secara obyektif dan independen, dan bisa bermanfaat jika diimplementasikan dalam operasional suatu bisnis serta mengetahui tingkat resiko ketika digunakan.
Teknik pengujian perangkat lunak mencakup banyak hal dan tidak terbatas pada proses eksekusi sebagian atau keseluruhan aplikasi yang sedang diuji dengan tujuan untuk menemukan bug pada perangkat lunak.
Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi suatu program aplikasi layak untuk digunakan. Layak disini ketika program aplikasi yang diuji memenuhi:
- Kebutuhan (requirement) yang mendasari perancangan dan pengembangan perangkat lunak.
- Dapat berjalan sesuai dengan tujuan yang diharapkan.
- Bisa diterapkan menggunakan karakteristik yang sama.
- Kebutuhan-kebutuhan pihak yang berkepentingan terpenuhi.
Teknik Pengujian Perangkat Lunak
Teknik pengujian perangkat lunak dibedakan atas tiga, yaitu Black Box Testing, White Box Testing, dan Gret Box Testing.
Black Box Testing
Black box testing https://medium.com/ |
Black Box Testing juga dikenal dengan sebutan pengujian perangkat lunak secara fungsional. Metode Black Box Testing adalah metode yang digunakan untuk menguji perangkat lunak tanpa mengetahui struktur internal kode suatu program.
Pada pengujian fungsioanal perangkat lunak, tester atau penguji memahami hal-hal yang harus dilakukan program tapi tidak mengetahui cara kerja program tersebut dalam bekerja.
Ruang lingkup pengujian perangkat lunak menggunakan Black Box Testing meliputi fungsi-fungsi yang hilang atau tidak benar serta kesalahan tampilan interface.
Kelebihan metode pengujian Black Box Testing:
- Lebih efisien untuk segmen kode besar
- Akses terhadap kode tidak diperlukan
- Terjadi pemisahan perspektif pengguna dan pengembang software
Kelemahan metode pengujian Black Box Testing:
- Memiliki cakupan yang terbatas karena skenario pengujian yang dilakukan hanya sebagian kecil
- Pengujian kurang efisien karena terbatas pada pengetahuan tester atau penguji tentang perangkat lunak internal
White Box Testing
White Box Testing https://medium.com/ |
Metode pengujian White Box Testing atau biasa disebut pengujian Glassbox adalah metode pengujian perangkat lunak secara struktural. Dalam teknik pengujian ini, penguji membutuhkan pengetahuan internal seputar kemampuan sistem dan program yang diuji.
Pengujian dengan teknik White Box Testing melibatkan pengujian terhadap kode-kode yang membangun program secara mendetail. Jika terdapat modul yang tidak berjalan sesuai dengan tujuan dan fungsinya, maka akan diperbaiki.
Kelebihan White Box Testing:
- Lebih efisien untuk menemukan kesalahan
- Pengetahuan tentang internal perangkat lunak yang diuji akan sangat bermanfaat ketika dilakukan pengujian software secara menyeluruh
- Bug atau keselalahan bisa ditemukan
- Bisa melakukan teknik optimasi kode
Kelemahan White Box Testing:
- Pengetahuan seputar perangkat lunak yang sedang diuji diperlukan oleh tester
- Membutuhkan akses kode
Gray Box Testing
Metode pengujian sistem perangkat lunak dengan Grey Box Testing merupakan kombinasi dari Black Box Testing dan White Box Testing. Grey Box Testing digunakan dalam teknik verifikasi modern. Ini karena teknik kombinasi ini menggabungkan kelebihan dari kedua metode pengujian yang ada dan meminimalisir kekurangannya.
Hirarki Pengujian Perangkat Lunak
Hierarki pengujian perangkat lunak - medium.com |
Berdasarkan gambar di atas, berikut adalah urutan-urutan yang dilakukan dalam pengujian perangkat lunak.
- Unit Testing, yaitu pengujian yang dilakukan oleh developer yang langsung dilakukan pada setiap modul atau blok kode selama proses pengembangan.
- Integration Testing, yaitu pengujian yang dilakukan selama integrasi modul baru ke dalam paket perangkat lunak utama. Biasanya satu program atau perangkat lunak disusun atas beberapa modul yang sering dibuat oleh beberapa developer. Sebelum menggabungkan program, setiap individu melakukan pengujian modul kode masing-masing.
- System Testing, yaitu pengujian yang melibatkan agen pengujian profesional pada produk perangkat lunak yang telah seleasi dibuat sebelum pada akhirnya dipublikasikan secara umum.
- Acceptance Testing, yaitu pengujian beta dari produk yang dilakukan oleh pengguna akhir yang sebenarnya dalam hal ini adalah sasaran pengguna aplikasi.
1. DOMAIN CLASS DIAGRAM http://sis.binus.ac.id/
2. Pengujian Sistem https://medium.com/skyshidigital/pengujian-sistem-52940ee98c77
Demikianlah artikel seputar Pengertian UML: Jenis-jenis Diagram UML, Simbol dan Contohnya. Semoga bermanfaat!