CLASS DIAGRAM
Class diagram adalah bagian dari UML (Unified Modeling Language). Dimana class diagram ini menggambarkan struktur dan deskripsi serta hubungan antar class diagram tersebut.
Sekilas apabila kita perhatikan class diagram ini hampir menyerupai ERD (Entity Relationalship Diagram), hanya saja yang menjadi pembeda class diagram memiliki operasi dan method.
Hal yang terdapat di dalam class diagram adalah;
- Nama class
- Atribut
- Operasi atau method
Lalu, apa itu sebenarnya class diagram? Nah, dalam tulisan ini kita akan membahasnya secara lengkap, mulai dari pengertian secara umum maupun menurut ahli, fungsi, simbol dan contoh class diagram itu sendiri.
Pengertian Class Diagram
Apabila use case diagram berbicara mengenai alur dari sebuah sistem atau program, maka class diagrammerupakan alur database dalam sebuah progam.
Dimana pada setiap laporan sistem yang hendak dibuat, class diagram harus diikutsertakan, karena dari sinilah kita dapat melihat aliran data sebuah program.
Selain class diagram, dalam sebuah UML harus ada juga yang namanya sequence diagram. Apabila class diagram menjelaskan aliran data, sequence diagram ini menjelaskan mengenai proses program.
Adapun beberapa pengertian atau definisi class diagram menurut para ahli, berikut penjelasan mereka.
- Pendapat pertama datang dari Sukamto dan Shalahuddin (2013:141), mereka berdua mengartikan class diagram adalah penggambaran dari struktur sistem serta mendefinisikan kelas yang hendak dibangun sistem.
- Satzinger (2011 : 28) memaparkan, pengertianclass diagram atau diagram kelas ialah alat untuk membantu menggambarkan serta memvisualisasikan struktur kelas yang terdapat dalam suatu sistem atau program. Mengapa demikian? Sebab class diagram ini mendeskripsikan kelompok objek bersama properti, operasi dan relasi yang sama.
Ringkasan :
Class diagram adalah suatu metode untuk menggambarkan aliran database serta hubungannya
Komponen Class Diagram
Terdapat tiga komponen dalam sebuah class diagram, sebagai berikut;
- Class name, merupakan sesuatu yang yang mewkaili dari nama kelas.
- Atribut, merupakan properti dari sebuah kelas, atribut melambangkan batas nilai kelas yang mungkin terdapat dalam objek kelas.
- Proses atau method, sesuatu yang dapat dilakukan atau diproses oleh sebuah kelas.
Selain itu, atribut dan proses dapat memiliki salah satu sifat berikut ini;
- Private, tidak dapat dipanggil atau digunakan oleh kelas lain, itu artinya hanya dapat digunakan oleh kelas sendiri.
- Protected, hanya dapat dipanggil dan digunakan oleh kelas-kelas bersangkutan serta turunannya dari kelas itu sendiri.
- Public, dapat dipanggil dan digunakan oleh siapa saja yang memerlukannya.
- Package, hanya dapat dipanggil dan digunakan oleh instance sebuah kelas di paket yang sama.
Hubungan Antar Class
Tidak jauh berbeda dengan data flow diagram (DFD)yang menggambarkan hubungan antar tabel. Pada class diagram terdapat empat hubungan antar class sebagai berikut;
- Asosiasi, yaitu hubungan yang sifatnya statis di antara class. Biasanya memperlihatkan class yang mempunyai atribut lain. Bisa juga sebuah class yang harus mengetahui ekstensi class lain, panah navigasi yang ada sebagai penunuk arah query.
- Agresi, yaitu suatu hubungan yang menyatakan bagian (terdiri atas)
- Pewarisan, yaitu suatu hubungan hirarki antar class, yang mana dapat diturunkan dari class lain dan mewarisi semua atribut. Hal ini disebut juga sebagai class child atau anak class.
- Hubungan dinamis, yaitu serangkaian pesan atau message yang dipasing ke class lain. Hubungan ini dapat dilihat dan dijelaskan dalam sebuah sequence diagram.
Fungsi Class Diagram
Berikut adalah fungsi atau manfaat dari sebuah class diagram;
- Menggambarkan model data untuk sebuah program.
- Memudahkan untuk mempelajari sekema aplikasi.
- Menyatakan secara visual apa yang dibutuhkan oleh sistem.
- Class diagram sebagai bahan acuan dalam membuat program.
- Class diagram bisa memberikan gambaran dengan jelas.
Simbol Class Diagram
Berikut ini adalah simbol yang terdapat dalam class diagram, beberapa menyerupai simbol flowchart.
Simbol di atas digunakan untuk menunjukan sebuah kelas pada struktur sistem. Aturan penulisan yang berlaku tidak diperkenankan menggunakan spasi, sebagai contohnya nampak pada gambar di atas. Simbol ini memiliki tiga susunan sebagai berikut. Nama class Atribut Operasi dimana ketiga komponen di atas tersebut telah dijelaskan maksudnya pada bagian sebelumnya. |
Simbol lingkaran ini digunakan dalam class diagram untuk menunjukan interface atau dalam Bahasa Indonesia dikenal dengan antar muka. Konsep dalam interface ini sama dengan pemrograman berorientasi objek atau kita kenal OOP. |
Simbol asosiasi yang memiliki bentuk garis ini digunakan untuk menghubungkan class satu dengan class lainnya. |
Simbol class diagram yang satu ini nampak sama dengan simbol sebelumnya, namun meskipun demikian simbol ini memiliki nama yang berbeda, yaitu indirected asociation atau dalam Bahasa Indonesia simbol asosiasi berarah. Simbol ini memiliki kegunaan yang sama dengan simbol sebelumnya, yaitu untuk menghubungkan antar class. Namun yang menjadi perbedaan ialah penggunaannya, yaitu ketika suatu class digunakan oleh class lainnya. |
Simbol ini bernama generalisasi, yang mana digunakan untuk menghubungkan antar class, baik khusus maupun umum. Sehingga apabila kita menemukan sebuah class yang memiliki makna umum dan khusus dapat dihbungkan menggunakan simbol ini. |
Nama simbol ini yaitu aggregation, barangkali simbol satu ini tidak akan ditemukan di diagram lain, contohnya di flowchart atau yang memerlukan notasi lain. Simbol ini di pakai untuk menghubungkan kelas satu dengan kelas lainnya. Namun kelas tersebut haruslah memiliki makna yang sama. Maka, dapat disimpulkan simbol atau notasi ini digunakan jika suatu kelas merupakan bagian dari kelas lainnya. |
Simbol satu ini dikenal dengan defedency, yang mana Bahasa Indonesianya adalah ketergantungan. Simbol ini digunakan untuk menunjukan suatu kelas yang menggunakan kelas lain. Seperti yang dapat kalian lihat, defedency ini memiliki simbol panah dengan garis yang putus-putus. |
Sama halnya dengan ERD, class diagram memiliki kardinalitas, berikut kardinalitas dari class diagram;
Contoh Class Diagram
Berikut adalah beberapa kumpulan contoh class diagram yang dapat kalian pelajari.
1. Contoh Class Diagram Penjualan
Keterangan :
Class atau table departemen mempunya agresi dengan class atau table pegawai karena departemen ini dapat berdiri sendiri. Kemudian banyak pegawai dapat bekerja dalam satu departemen, jadi many to 1.
Class atau table transaksi tidak dapat berdiri sendiri, sebab ia harus ada table produk. Hal ini berlaku terhadap table produk, sebab membutuhkan table departemen.
Banyak pelanggan yang bisa melakukan banyak transaksi. Satu transaksi bisa mencakup banyak produk.
2. Contoh Class Diagram Sistem Manajemen Hotel
Keterangan :
Dalam class diagram sistem manajemen hotel di atas, dapat kita lihat bahwasannya antar class memiliki keterhubungan sesuai dengan kebutuhannya, misal informasi tamu, jumlah hunian atau kamar, tanggung jawab staf dll.
3. Contoh Class Diagram Mesin ATM
Keterangan :
Sebuah mesin ATM memiliki sistem yang tidak sederhana, meskipun kelihatannya tidaklah demikian. Seperti yang dapat kita lihat dalam contoh class diagram di atas, setidaknnya memiliki 7 class.
Sistem mesin ATM menjadi begitu rumit disebab oleh keamanan yang berlapis, hal ini tentu menjadi prioritas yang begitu dibutuhkan oleh sebuah sistem ATM. Bagaimana tidak setiap harinya begitu banyak orang yang mengakses, mulai dari melakukan penarikan uang, transfer hingga cek saldo.