Diagram class dalam rekayasa perangkat lunak merupakan cetak biru yang digunakan untuk membuat objek atau kumpulan objek.
Diagram class dapat dikatakan sebagai template untuk membuat berbagai objek dan mengimplementasikan perilakunya dalam sistem. Dalam rekayasa perangkat lunak, diagram class termasuk dalam tipe diagram UML (Unified Modeling Language).
Apa itu diagram class?
Diagram class merupakan salah satu metode pemodelan berorientasi objek (sumber: pexels)
Diagram class adalah struktur statis yang memberikan gambaran umum tentang sistem perangkat lunak dengan menunjukkan kelas, atribut, operasi atau metode, dan hubungan antar objek satu sama lain.
Diagram class mendefinisikan jenis objek dalam sistem dan berbagai jenis hubungan yang ada di antara objek. Metode pemodelan ini dapat berjalan hampir pada semua metode berorientasi objek. Sebuah kelas dapat merujuk ke kelas lain atau dapat memiliki objeknya yang mungkin mewarisi dari kelas lain.
Baca juga: Near Field Communication (NFC): Pengertian, Fungsi, dan Keamanannya
Fungsi dan keunggulan diagram class
Manfaat diagram class salah satunya adalah pemetaan berbasis objek (sumber: pexels)
Salah satu pemodelan diagram UML ini memiliki orientasi objek sehingga banyak digunakan untuk pemodelan data. Diagram class dapat membantu dalam membuat pra-rencana yang memudahkan proses pemrograman. Diagram class menyediakan tampilan aplikasi statis dan kemampuan pemetaan dengan bahasa berorientasi objek. Berbeda dengan sequence diagram, activity diagram, dan lainnya, diagram class merupakan diagram UML yang paling populer dengan fungsi sebagai berikut:
1. Perancangan dan analisis tampilan statis aplikasi
Diagram class dapat diimplementasikan dalam berbagai fase proyek melalui representasi. Representasi kemudian dibuat dengan memunculkan realitas pada model domain selama analisis. Pemodelan perangkat lunak dilakukan selama fase desain, sedangkan kode dihasilkan selama fase implementasi. Hal ini menjadi sebuah landasan produk perangkat lunak yang merupakan bagian penting dari proyek yang sedang dijalankan.
2. Fondasi sistem
Orientasi yang digambarkan oleh diagram class juga memiliki sinergi antar elemen beserta sifat-sifatnya. Hal ini menjadikan diagram ini sebagai fondasi untuk membuat model sistem dari sisi bisnis.
3. Komponen dan dasar diagram penyebaran
Setiap model data sederhana atau kompleks dapat diilustrasikan menggunakan diagram class untuk mendapatkan informasi yang maksimal. Skema aplikasi dapat mudah dipahami dengan bantuan diagram ini. Kebutuhan juga dapat divisualisasikan dengan menerapkan kode tertentu dapat disorot melalui bagan dan diprogram ke struktur yang dijelaskan. Deskripsi yang telah didapatkan dapat diteruskan ke komponen.
4. Pengembangan perangkat lunak
Struktur sistem dapat dianalisis secara rinci oleh diagram class beserta sifat-sifatnya. Dengan demikian, perangkat lunak yang tepat segera tersedia dengan cepat dan mudah dibaca.
Komponen diagram class
Elemen Diagram Class (Sumber: guru99.com)
Ada beberapa komponen atau elemen penting dari diagram class UML, yaitu:
- Nama kelas
- Atribut
- Operasi
Bagian atas terdiri dari nama kelas dan merupakan komponen wajib. Bagian tengah menggambarkan kualitas kelas dan menggunakannya saat menjelaskan contoh spesifik kelas. Bagian bawah menjelaskan interaksi kelas dengan data.
1. Nama kelas
Nama kelas diperlukan dalam representasi grafis kelas yang muncul di kompartemen paling atas. Kelas adalah cetak biru dari suatu objek yang dapat berbagi hubungan, atribut, operasi, dan semantik yang sama. Beberapa aturan yang harus diperhatikan saat mewakili kelas:
- Nama kelas harus selalu diawali dengan huruf kapital
- Nama kelas harus selalu berada di tengah kompartemen pertama
- Nama kelas harus selalu ditulis dalam format tebal
- Nama kelas abstrak UML harus ditulis dalam format miring
2. Atribut
Atribut adalah nama properti kelas yang mendefinisikan objek yang dimodelkan. Dalam diagram class, komponen ini ditempatkan tepat di bawah nama-kompartemen seperti pada gambar. Atribut memiliki beberapa karakteristik berikut:
- Atribut umumnya ditulis bersama dengan faktor visibilitas
- Publik, privat, terlindungi, dan paket adalah empat visibilitas yang dilambangkan dengan tanda +, -, #, atau ~ masing-masing
- Visibilitas menggambarkan aksesibilitas atribut kelas
- Atribut harus memiliki nama yang bermakna yang menggambarkan penggunaannya di kelas
3. Operasi
Operasi merupakan komponen yang ditampilkan dalam bentuk daftar. Operasi dapat menggambarkan interaksi data dengan suatu class.
Baca juga: Mengenal apa itu JavaScript mulai dari pengertian hingga sejarahnya
Hubungan antar kelas
Hubungan dalam diagram class (Sumber: Visual Paradigm)
Dalam diagram class, hubungan antar kelas dibutuhkan untuk berbagai kejadian. Berikut adalah hubungan yang ada dalam diagram class.
1. Asosiasi
Hubungan asosiasi mewakili hubungan statis antara kelas A dan B. Misalnya, seorang karyawan bekerja untuk sebuah organisasi. Berikut adalah beberapa aturan untuk hubungan asosiasi:
- Asosiasi sebagian besar kata kerja atau frase kata kerja atau kata benda atau frase kata benda
- Harus dinamai untuk menunjukkan peran yang dimainkan oleh kelas yang dilampirkan di akhir jalur asosiasi
- Wajib untuk asosiasi refleksif
2. Ketergantungan (dependensi)
Dependensi berarti hubungan antara dua atau lebih kelas di mana perubahan dalam satu kelas dapat memaksa perubahan yang lain. Namun, dependensi akan selalu menciptakan hubungan yang lebih lemah. Ketergantungan menunjukkan bahwa satu kelas tergantung pada yang lain.
3. Generalisasi
Generalisasi membantu menghubungkan subclass ke superclass-nya. Sebuah subclass diwarisi dari superclass-nya. Hubungan generalisasi tidak dapat digunakan untuk memodelkan implementasi antarmuka. Diagram class memungkinkan pewarisan dari beberapa superclass.
4. Agregasi
Agregasi adalah jenis asosiasi khusus yang memodelkan hubungan keseluruhan bagian antara agregat dan bagian-bagiannya.
Misalnya, perguruan tinggi kelas terdiri dari satu atau lebih siswa. Dalam agregasi, kelas yang terkandung tidak pernah sepenuhnya bergantung pada siklus hidup wadah. Di sini, kelas kuliah akan tetap ada meskipun siswa tidak ada.
5. Komposisi
Komposisi adalah jenis agregasi khusus yang menunjukkan kepemilikan yang kuat antara dua kelas ketika satu kelas menjadi bagian dari kelas lain. Misalnya, jika perguruan tinggi terdiri dari kelas-kelas mahasiswa. Perguruan tinggi dapat menampung banyak siswa, sedangkan setiap siswa hanya dimiliki oleh satu perguruan tinggi. Jadi, jika perguruan tinggi tidak berfungsi semua mahasiswa juga dikeluarkan.
6. Multiplisitas
Multiplisitas adalah faktor yang terkait dengan atribut. Ini menentukan berapa banyak contoh atribut yang dibuat ketika kelas diinisialisasi. Jika multiplisitas tidak ditentukan, secara default dianggap sebagai multiplisitas default. Katakanlah ada 100 mahasiswa dalam satu perguruan tinggi. Perguruan tinggi dapat memiliki banyak siswa.
Baca juga: Algoritma adalah: Pengertian, Fungsi, 5 Ciri, dan Contohnya
Contoh diagram class
Sistem ATM merupakan salah satu contoh penerapan diagram class (sumber: pexels)
Membuat diagram class sebetulnya tidak melibatkan banyak teknis dan prosesnya cukup mudah. Berikut ini beberapa contohnya:
1. Sistem ATM
Sistem ATM sangat sederhana karena pelanggan perlu menekan beberapa tombol untuk menerima uang tunai. Namun, ada beberapa lapisan keamanan yang harus dilewati oleh sistem ATM. Sistem keamanan ini membantu untuk mencegah penipuan, pencucian uang, dan memberikan uang tunai atau rincian kebutuhan kepada nasabah perbankan.
Di bawah ini diberikan contoh diagram class UML:
Sistem ATM yang memiliki beberapa tombol dan lapisan keamanan (Sumber: educba.com)
Seperti yang terlihat di sini, ada beberapa entitas yang mengikuti sifat-sifat hubungan yang berbeda seperti yang dijelaskan sebelumnya. Hubungan ini menggambarkan struktur di mana sistem ATM dibangun dan lapisan keamanan yang harus dilalui untuk memastikan transparansi dan integritas dalam transaksi.
2. Komputer dan suku cadangnya
Komputer dan suku cadangnya menunjukkan hierarki "terdiri dari" yang merupakan kasus khusus asosiasi agregasi. Agregatnya adalah kelas induknya, sedangkan komponennya adalah kelas turunannya.
Komputer dan suku cadangnya menunjukkan hierarki asosiasi agregasi (Sumber: Visual Paradigm)
Fase pengembangan perangkat lunak biasanya memodelkan diagram class dalam tiga perspektif yang berbeda (tingkat detail) secara progresif saat kita bergerak maju, yaitu:
- Perspektif konseptual: Diagram ditafsirkan sebagai penggambaran realitas. Jadi, jika kamu mengambil perspektif konseptual, kamu dapat menggambar diagram yang mewakili konsep-konsep dalam domain yang dipelajari. Konsep-konsep ini secara alami akan berhubungan dengan kelas yang mengimplementasikannya. Perspektif konseptual dianggap tidak bergantung pada bahasa dan terkait dengan kelas.
- Perspektif spesifikasi: Diagram ditafsirkan sebagai penggambaran abstraksi perangkat lunak atau komponen dengan spesifikasi dan antarmuka tetapi tanpa komitmen untuk implementasi tertentu. Jadi, jika kamu mengambil perspektif spesifikasi, maka user akan melihat antarmuka perangkat lunak, bukan implementasinya.
- Perspektif implementasi: Diagram diinterpretasikan sebagai penggambaran implementasi perangkat lunak dalam teknologi dan bahasa tertentu. Jadi, jika kamu mengambil perspektif implementasi, maka user melihat implementasi perangkat lunak.
Bagi kamu yang memiliki mimpi untuk dapat berkarier di startup ternama, yuk, sign up EKRUT sekarang! Jangan khawatir, karena semua proses dan bantuan profesional di talent marketplace EKRUT bisa kamu dapatkan secara gratis. Selain artikel-artikel di EKRUT Media, kamu juga bisa mendapatkan informasi seputar pekerjaan, career insight, serta tips bermanfaat seputar dunia kerja melalui YouTube Official EKRUT.
Untuk mengetahui selengkapnya mengenai EKRUT, kamu juga bisa tonton video berikut ini.
Sumber:
- educba.com
- guru99.com
- visual-paradigm.com