Mohon tunggu...
Ridho Abdul Aziz
Ridho Abdul Aziz Mohon Tunggu... Mahasiswa - Mahasiswa

informatics student in university Sultang Ageng Tirtayasa

Selanjutnya

Tutup

Ruang Kelas

UML: Definisi, Sejarah, Jenis, dan Manfaat

25 Mei 2024   00:16 Diperbarui: 25 Mei 2024   00:25 230
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Ruang Kelas. Sumber Ilustrasi: PAXELS

Class diagram memiliki beberapa kelebihan sebagai berikut :

  • Memiliki kemampuan untuk memetakan struktur dengan menggambarkan kelas, atribut, operasi, dan hungan antar objeknya, tentunya hal ini akan sangat membantu bagu pengembang memahami gambaran umum dari skema aplikasi, selain itu diagram kelas juga merupakan satu satunya Bahasa UML yang dapat dipetakan secara langsung menggunakan Bahasa OOP (Object Oriented Programing)
  • Komunikasi antar tim, dengan class diagram anggota tim pengembang dapat berkomunikasi lebih efektif tentang desain dan struktur sistem, tentunya hal tersebut dapat membantu memastikan bahwa semua orang memiliki pemahaman yang saya
  • Perencanaan desaun yang baik, class diagram dapat digunakan sebagai dokumentasi yang hidup yang dapat diperbarui sesuai dengan perubahan sistem. Ini memudahkan pemeliharaan dan pengembangan lanjutan
  • Membantu dalam pengkodean, class diagram menyediakan panduan yang jelas bagi pengembang dalam menulis kode. Dengan diagram ini, pengembang dapat memahami dependensi dan relasi antar kelas dengan lebih baik

kekurangan diagram class

Selain memiliki banyak kelebihan diagram class juga memiliki kekurang, Adapun kekurangan itu adalah :

  • Keterbatasan dalam dinamika sistem, class diagram hanya menunjukkan struktur statis dari sistem. Ini tidak bisa menggambarkan perilaku dinamis atau aliran data selama eksekusi sistem. Diagram lain seperti sequence diagram atau activity diagram diperlukan untuk ini.
  • Kompleksitas dalam sistem besar, jika diimplementasikan dalam sistem yang besar dan kompleks diagram class bisa menjadi sangar rumit dan sulit untuk dipahami yang tentunya bisa menyebabkan diagram kurang efektif sebagai alat komunikasi
  • Pemeliharaan diagram, class diagram harus diperbaharui setiap kali ada perubahan dalam desain atau implementasi sistem, jika tidak diperlihara dengan baik, diagram bisa menjadi usang
  • Memerlukan pengetahuan khusus, Ketika seorang pengembang ingin membuat sebuah diagram class pengembang tersebut harus memiliki pemahaman yang baik tentang UML dan prinsip desain OOP, tentunya bagi seseoarang yang kurang berpengalaman akan menjadi kendala untuk pengembangan
  • Terbatas pada desain OOP, class diagram sangat bergantung kepada paradigma pemrograman berorientasi objek. Untuk sistem yang tidak menggunakan pendekatan berorientasi objek, class diagram mungkin kurang relevan.

implementasi class diagram

Contoh diatas merupakan salah satu contoh penerapan diagram class pada sistem operasional hotel, Adapun rinciannya sebagai berikut :

  • Pada sistem diatas terdapat 9 kelas utama yaitu class manager, inventory, chef, receptionis, guest, rooms, food items, housekeeping, dan bill
  • Pada kelas Manager terdapat 4 buat atribut dan 3 buah metode, kelas manager terhubung ke kelas guest dan inventory dimana untuk hubungan multiplisitasnya adalah +1 yang menandakan setiap objek pada kelas manager hanya bisa berhubungan tepat dengan satu objek pada kelas inventory dan guest
  • Class inventory terdiri dari 2 buah atribut, kelas ini tidak memiliki metode, class inventori hanya terhubung ke kelas manager saja dengan multiplisitas hubungan +0.. yang artinya setiap objek pada kelas inventory dapat berhubungan dengan 0 atau lebih objek pada kelas manager
  • Class guest yang terdiri dari 5 buah atribut dan 5  buah metode, class ini terhubung ke class manager, rooms, dan bill, untuk multiplisitasnya sendiri untuk hubungan dengan class manager memeiliki multiplisitas +1.. yang menandakan setiap objek pada kelas guest dapat berhubungan dengan banyak objek pada kelas manager, sedangkan untuk hubungan kelas guest dengan class Rooms dan bill memiliki multiplitas +1 yang menandakan setiap objek pada kelas manager hanya bisa berhubungan tepat dengan satu objek pada kelas bill
  • Class rooms terdiri dari 2 buah atribut, pada kelas ini tidak terdapat metode, kelas ini terhubung ke kelas receptionist
  • Class receptionist terdiri dari 4 atribut dan 4 buah atribut, class ini terhubung ke kelas rooms dan bill, untuk hubungannya multiplisitas dengan kelas bill adalah +1 yang menandakan setiap objek pada kelas manager hanya bisa berhubungan tepat dengan satu objek pada kelas
  • Kelas bill memiliki 2 buah atribut, kelas ini terhubung ke kelas receptionist dan kelas guest, untuk multiplisitas dengan kelas receptionist adalah +0.. untuk multiplisitas dengan kelas guest adalah +1
  • Class housekeeping memiliki 3 buah atribut dan 1 buah metode, kelas ini terhubung ke satu kelas yaitu kelas food items
  • Class food items memiliki 2 buah atribut dan tidak memilik metode, kelas ini terhubung ke tig akelas yaitu kelas housekeeping, kelas guest dan kelas chef. Untuk hubungan multiplisitas dengan kelas chef adalah +1.. dimana setiap objek pada kelas food items bisa memiliki lebih dari 1 objek di kelas chef
  • Kelas chef terdiri dari 3 buah atribut dan 1 buah metode, kelas ini terhubung ke kelas food items dengan multiplisitas +1..

Diagram komponen

Diagram komponen adalah diagram yang memiliki tujuan untuk menunjukan hubungan antara berbagai komponen dalam suatu sistem, komponen disini mewakili bagian modular dari sistem yang dapat diidentifikasi dan dipisahkan dengan jelas, komponen disini berupa perangkat lunak, modul, subsiste, atau bagian dari sistem yang memiliki tanggung jawab tertentu. Diagram komponen mempunyai beberapa fungsi antara lain :

  • Memodelkan struktur fisik sistem : dengan digunakannya diagram komponen dapat membantu memodelkan bagaimana bagian bagian perangkat lunak diatur secara fisik yang mencakup bagaimana modul perangkat lunak, Pustaka, dan file diatur dan berinteraksi satu sama lain
  • Mendokumentasikan ketergantungan antar komponen : dengan diagram komponen pengembang dapat menampilkan hubungan ketergantungan antara berbagai komponen, tentunya dengan hal tersebut dapat membantu untuk memahami bagaimana perubahan pada satu komponen dapat memperngaruhi komponen lainnya
  • Menunjukan antarmuka komponen : diagram komponen menggambarkan antarmuka yang digunakan oleh komponen untuk berinteraksi satu sama lain. Ini membantu dalam mendefinisikan kontrak antara berbagai bagian sistem.
  • Menyederhanakan komunikasi antar tim : Diagram komponen menyederhanakan komunikasi antara anggota tim yang berbeda, seperti pengembang, arsitek, dan pemangku kepentingan lainnya. Visualisasi yang jelas memudahkan pemahaman tentang struktur sistem.
  • Mengidentifikasi dan mengelola ketergantungan : Diagram ini membantu dalam mengidentifikasi ketergantungan antara komponen, yang penting untuk manajemen versi dan pengujian. Ketergantungan yang jelas mempermudah dalam menentukan urutan pengembangan dan integrasi komponen.
  • Mendukung pengujian komponen : Dengan memisahkan sistem menjadi komponen-komponen yang jelas, diagram ini mempermudah pengujian unit dan pengujian integrasi. Setiap komponen dapat diuji secara terpisah sebelum diintegrasikan ke dalam sistem yang lebih besar.
  • Mendokumentasi struktur perangkat lunak untuk pemeliharaan : Diagram komponen menyediakan dokumentasi yang berguna untuk pemeliharaan di masa depan. Dokumentasi ini membantu pengembang yang mungkin tidak terlibat dalam pengembangan awal untuk memahami struktur dan fungsi sistem

struktur diagram komponen

Diagram komponen memiliki beberapa point untuk menyusunnya, berikut beberapa poin itu adalah :

  • Komponen : komponnen disini direpresentasikan sebagai sebuah persegi Panjang dengan dua persegu Panjang lebih kecil yang menempel di sisi sebelah kiri, dapat dilihat di gambar terdapat 3 buah komponen, komponen juga dapat memiliki nama yang jelas dan dapat dibagi menjadi antarmuka atau kelas
  • Antarmuka (interface) : Pada diagram interface Digambar sebagai lingkaran atau setengah lingkaran dengan nama antarmuka, interface juga menggambarkan titik akses untuk interaksi antara satu komponen ke komponen, pada gambar diatas dapat dilihat bangun ruang lingkaran, itu merupakan sebuah interface yang menghubungkan 2 komponen diatas ke komponen dibawahnya
  • Hubungan ketergantungan (dependency) : Dependency pada diagram komponen digambarkan sebagai garis garis dengan panah yang menunjuk kea rah komponen atau interface yang menjadi target dependency, dependency juga mengindikasikan bahwa antar komponen pada suatu sistem memliki ketergantungan dengan komponen lainnya, pada gambar diatas dapat dilihat panah dengan garis putuh putus yang menunjuk ke interface, itu merupakan dependency dan dapat disimpulkan bahwa 2 buah interface diatasnya merupakan target dari component dibawahnya
  • Hubungan realisasi (realization) : Direpresentasikan sebagai sebuah garus dengan anak panah yang tidak berisi, realization juga menunjukan bahwa sebuah komponen atau kelas merealisasikan antarmuka tertentu, pada gambar diatas dapat dilihat garis yang menghubungkan setiap komponen itu merupakan gambaran dari realization
  • Port : Port pada diagram komponen Digambar sebagai kotak kecil yang ditempatkan pada sisi komponen, port juga menunjukan titik interaksi pada komponen tersebut, pada gambar diatas sayangnya tidak ada gambaran dari port
  • Node : Pada diagram komponen node direpresentasikan sebagai kubus atau bentuk tiga dimensi lainnya, biasanya node digunakan untuk menggambarkan perangkat keras atau tempat fisik dimana komponen dijalankan, pada gambar diatas dapat dilihat terdapat sebuah kubus yang membungkus komponen itu merupakan node, dan pada contoh diatas terdapat 3 buah node yang masing masing membungkus sebuah komponen

kelebihan diagram komponen

Sama seperti diagram class, diagram komponen juga mempunya beberapa kelebihan :

  • Desain modular : Mendorong desain yang modular, dimana setiap komponen memiliki tanggung jawab yang jelas dan tentunya dapat mempermudah pemeliharan dan pengembangan lebih lanjut
  • Mendukung pengujian komponen : Mempermudah pengujian unit dan pengujian integrasi dengan memungkinkan setiap komponen diuji secara terpisah sebelum diintegrasikan ke dalam sistem yang lebih besar.
  • Visualisasi struktur fisik : Diagram komponen memberikan visualisasi yang jelas tentang struktur fisik dari sistem perangkat lunak, termasuk modul, pustaka, dan komponen lainnya.
  • Dokumentasi ketergantungan : Dengan menggunakan diagram komponen pengembang dapat mendokumentasikan ketergantungan pada setiap komponen, sehingga memudahkan pengembang untuk memahami setiap perubahan pada setiap komponen

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
Mohon tunggu...

Lihat Konten Ruang Kelas Selengkapnya
Lihat Ruang Kelas Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun