contoh class diagram dan penjelasannya
Semua informasi data tentang suatu proyek dalam bisnis, ternyata tersusun dari sebuah struktur yang disebut Class diagram. Class diagram adalah bagian dari sistem UML yang sangat diperlukan ketika hendak membuat sebuah aplikasi. Show
Aplikasi yang kita gunakan untuk melancarkan pekerjaan dalam bisnis atau perusahaan kita tersusun dari suatu sistem UML dengan struktur Class diagram. Lalu apa itu Class diagram? Pengertian Class diagram AdalahClass diagram adalah salah satu jenis diagram berbentuk struktur pada model UML. Diagram ini menggambarkan struktur, atribut, kelas, hubungan dan metode dengan sangat jelas dari setiap objeknya. Diagram kelas memberikan data berupa hubungan apa yang terjadi diantara kelas-kelas, bukan menjelaskan kejadiannya. Class diagram dalam suatu proyek umumnya menggunakan konsep yang disebut object- oriented, sehingga membuatnya mudah untuk digunakan. Class diagram atau diagram kelas juga merupakan bagian terpenting dari UML (unified modeling language). UML adalah pemodelan dalam bentuk implementasi sistem yang dibutuhkan ketika hendak membuat suatu aplikasi. Selain itu, Class diagram adalah sesuatu yang bisa membantu dalam memvisualisasikan struktur setiap kelas dari sebuah sistem. Bagian dari UML ini juga akan memperlihatkan kumpulan dari kelas, collaboration, interface dan relasi yang ada di dalam sistem. Baca juga: Apa Itu DPI? Ini Pengertian, Fungsi, dan Contoh Kerjan Pada Gambar Fungsi Class Diagram AdalahAgar lebih memahami tentang class diagram, sebaiknya kita mengetahui tentang apa fungsi dari Class diagram itu sendiri dalam sebuah sistem. Jadi, beberapa fungsi class diagram adalah sebagai berikut:
Manfaat Class Diagram AdalahDalam membuat suatu aplikasi, bagian dari UML yang disebut Class diagram adalah hal penting yang memiliki banyak manfaat. Nah, manfaat dari Class diagram adalah sebagai berikut:
Simbol Class DiagramSeperti yang telah diulas sebelumnya, bahwa dalam Class diagram kita bisa melihat gambaran tentang hubungan antara kelas dalam suatu sistem. Gambaran tersebut akan dibuat dalam bentuk simbol – simbol Class diagram. Berikut ulasannya:
Komponen Penyusun Class DiagramSebuah pemodelan pastinya tersusun dari komponen-komponen tertentu. Dalam Class diagram terdapat 3 komponen penting penyusun, yaitu: Komponen ini berisi class dan atribut yang digunakan untuk menjelaskan bagaimana kualitas dari suatu kelas tertentu. Atributnya bisa diperjelas secara detail dengan memasukan tipe nilai. Komponen atas terdiri nama kelas. Setiap kelas ini akan memiliki nama yang berbeda-beda. Jika ada sebutan lain untuk nama kelas, maka itu adalah nama sederhana. Komponen selanjutnya dari class diagram adalah komponen bawah, yang menyertakan operasi dalam tampilan daftar. Hal ini umumnya menggambarkan bagaimana kelas berinteraksi dengan data-data. Hubungan Antar Class diagramPenting bagi seorang programmer dalam memahami class diagram dan hubungan antar kelasnya. Apa saja hubungan yang terjadi antar kelas tersebut, berikut penjelasannya: Hubungan antar kelas dalam class diagram ada yang disebut sebagai asosiasi. Hubungan ini menggambarkan dua kelas yang sifatnya statis atau memiliki atribut tambahan berupa kelas lainnya. Contoh: Penumpang – Kereta Hubungan agregasi dalam class diagram menggambarkan salah satu kelas yang merupakan bagian kelas lainnya, tetapi berdiri masing-masing. Contohnya: Perpustakaan – Buku Hubungan pewarisan dalam class diagram adalah hubungan secara general dan mewarisi atribut serta metode dari kelas asal ke kelas lainnya. Contoh: Hewan – (burung, ikan, singa) Contoh Class Diagram SederhanaAgar lebih mudah memahami tentang class diagram, berikut ini kami berikan contoh class diagram sederhana yang mudah dipahami: Sistem perpustakaan menggunakan class diagram yang cukup sederhana. Dimana anggota perpustakaan hanya perlu mengetahui tentang kelas buku asing, kelas pinjam buku, kelas buku, kelas petugas perpustakaan, dan kelas buku lokal. Begitu juga dengan contoh Class diagram pada ATM bank, dimana nasabahnya hanya perlu menekan beberapa tombol untuk bisa menarik uang dari ATM tertentu. Namun, agar keamanan tetap terjaga, maka perlu disematkan lapisan keamanan agar mencegah tindakan kriminal seperti penipuan dan lain sebagainya. Contoh Class diagram sederhana lainnya adalah pada sistem manajemen perhotelan. Hubungan antar objek akan ditunjukan, seperti bagaimana tanggung jawab staff, informasi jumlah kamar, informasi jumlah tamu, petugas kebersihan yang sedang beroperasi, hingga bill untuk setiap transaksi hotel. Baca juga: Data Modeling: Pengertian, Fungsi, Jenis dan Manfaatnya KesimpulanStruktur Class diagram merupakan bagian dari sistem UML atau unified modeling language. UML merupakan sebuah blueprint dari software atau piranti lunak untuk membuat sistem teknologi informasi di bidang jasa dan produksi saat ini. UML dan juga class diagram sebagai salah satu bagiannya, yang diharapkan dapat mempermudah penggunaan piranti lunak, serta memenuhi semua kebutuhannya, termasuk tentang security, scalability, robustness dan lain sebagainya. Begitu juga dalam hal mengatur keuangan dalam perusahaan, penerapan teknologi harus dimanfaatkan untuk tujuan perusahaan yang lebih baik dan berkembang. Salah satunya adalah penggunaan software akuntansi dan bisnis dari Accurate Online. Accurate Online merupakan sebuah software berbasis cloud, yang sudah dilengkapi fitur keuangan yang penting bagi perusahaan seperti manajemen aset, pembukuan, gudang, dan lain sebagainya. Selain itu, terdapat otomatisasi hingga lebih dari 200 jenis laporan keuangan, termasuk pencatatan perpajakan di dalamnya. Semua fitur tersebut bisa Anda miliki melalui software Accurate Online, dengan pengalaman lebih dari 20 tahun dan telah membantu lebih dari 370 ribu pengguna di berbagai skala bisnis di nusantara. Tunggu apa lagi! Kini Anda bisa mencoba software berbasis cloud Accurate Online ini gratis selama 30 hari lewat tautan gambar di bawah ini. Class diagram – Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat dalam membangun sistem.
Pengertian Class DiagramClass diagram adalah jenis diagram struktur statis yang menggambarkan struktur suatu sistem dengan menunjukkan kelas sistem, atributnya, operasi, dan hubungan antar objek. Class adalah sebuah spesifikasi yang jika di-instansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Diagram Kelas menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Diagram Kelas memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka. Class Diagram bersifat statis; menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan. Class diagram dapat membantu dalam memvisualisasikan struktur kelaskelas dari suatu sistem dan merupakan tipe diagram yang paling ditemui dalam pemodelan system berbasis object-oriented. Class Diagram memperlihatkan sekumpulan class, interface, dan collaborations dan relasi yang ada didalamnya. Selama proses analisa, class diagram memperhatikan aturan-aturan dan tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. Kita memodelkan class diagram untuk memodelkan static design view dari suatu system. Model Class DiagramBerikut ini merupakan model class diagram, terdiri dari nama kelas, atribut dan metode / operasi.
Atribut dalam diagram kelas menunjukkan data item yang menegaskan kelas. Sedangkan metode/operasi merupakan pelaksanaan prosedur/function dari kelas tersebut. ObjectObject adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasan-batasan yang tepat. Object bisa mewakili sesuatu yang nyata dalam domain problem kita seperti komputer, barang, konsumen, dapat berupa konsep seperti proses penarikan uang, pembayaran, pengembalian buku dan lainlain. Dari object-object ini kita bisa mengabstraksikan candidate class yang mungkin terlibat. Karakteristik ObjectKarakteristik Objek adalah:
Cara Membuat Objek
Candidate class dapat kita tentukan dengan melihat skenario use case yang telah kita buat. Candidate class tersebut dapat diambil dari kata benda yang muncul pada skenario use case. Candidate ClassClass / KelasClass adalah deskripsi sekelompok object dari property (atribut), sifat (operasi), relasi antar object dan semantik yang umum. Kelas merupakan blueprint / template / cetakan dari satu atau lebih object. Setiap object merupakan contoh dari beberapa class dan object tidak dapat menjadi contoh lebih dari satu class. Notasi ClassPenamaan class menggunakan kata benda tunggal yang merupakan abstraksi yang terbaik. Pada UML, class digambarkan dengan segi empat yang dibagi. Bagian atas merupakan nama dari class. Bagian yang tengah merupakan struktur dari class (atribut) dan bagian bawah merupakan sifat dari class (operasi). Struktur ClassClass memiliki tiga area pokok : Nama (dan stereotype), Atribut, dan Metoda (operasi). Atribut dan metoda dapat memiliki salah satu sifat berikut:
InstanceInstancePenamaan ClassSetiap kelas harus memiliki sebuah nama yang dapat digunakan untuk membedakannya dari kelas lain. Penamaan class menggunakan kata benda tunggal yang merupakan abstraksi yang terbaik. Nama kelas dapat dituliskan dengan 2 cara :
Penulisan nama kelas, huruf pertama dari setiap kata pada nama kelas ditulis dengan menggunakan huruf kapital. Contohnya, Customer dan FraudAgent. Contoh penamaan ClassAttributeSebuah class mungkin memiliki beberapa attribute atau tidak sama sekali. Atribut merepresentasikan beberapa property dari sesuatu yang kita modelkan, yang dibagi dengan semua object dari semua class yang ada. Contohnya, setiap tembok memiliki tinggi, lebar dan ketebalan Untuk penulisan atribut kelas, biasanya huruf pertama dari tiap kata merupakan huruf kapital, kecuali untuk huruf awal. Contoh : birthDate, length. Cara menemukan atribut
Methods / OperasiMethods / Operasi adalah abstraksi dari segala sesuatu yang dapat kita lakukan pada sebuah object dan ia berlaku untuk semua object Visibility / Sifat ClassVisibility merupakan property yang sangat penting dalam pendefinisian atribut dan operasi pada suatu class. Visibility menspesifikasikan apakah atribut/operasi tersebut dapat digunakan/diakses oleh class lain. UML menyediakan 3 buah tingkat visibility, yaitu:
Stereotype ClassStereotype adalah sebuah mekanisme yang digunakan untuk mengkategorikan sebuah class. Misal, kita ingin mencari form dalam Fitur ini memudahkan kita dalam mengorganisasi responsibility dari tiap-tiap class. Sebagai contoh, beberapa class yang memiliki stereotype Form memiliki responsibility untuk menampilkan dan menerima informasi dari user. Terdapat 3 stereotype utama dalam UML, yaitu boundary, entity dan control. Boundary ClassBoundary class adalah class yang terdapat batasan sistem dan dunia nyata. Hal ini mencakup semua form, report, hardware interface Entity ClassEntity class menyimpan informasi yang mungkin akan disimpan ke sebuah storage. Class dengan stereotype entity dapat ditemukan di Sebuah entity class mungkin perlu dibuat untuk sebuah tabel. Bila sebuah table menyimpan informasi secara permanen, maka entity class akan menyimpan informasi pada memory ketika sistem sedang running. Entity ClassControl ClassControl class bertanggung jawab dalam mengatur kelas-kelas yang lain. Seperti yang terlihat pada gambar di bawah, control class Simbol Class DiagramBerikut ini merupakan beberapa simbol class diagram, diantaranya:
Class Diagram RelationshipsRelasi atau relationship menghubungkan beberapa objek sehingga memungkinkan terjadinya interaksi dan kolaborasi diantara objekobjek yang terhubung. Dalam pemodelan class diagram, terdapat tiga buah relasi utama yaitu association, agregation dan generalization. Simbol Relasi ini dapat anda lihat pada tabel Simbol class Diagram. 3 macam Class Diagram relationships (hubungan):
AsosiasiRelasi asosiasi merupakan relasi structural yang menspesifikasikan bahwa satu objek terhubung dengan objek lainnya. Relasi ini tidak Uni-directionalObjek pilot memiliki uni-directional association dengan objek pesawat. Relasi uni-directional diatas memungkinkan objek pilot untuk memanggil property dari objek pesawat. Namun tidak berlaku Bi-directionalObjek pilot dapat memanggil property yang dimiliki oleh objek pesawat. Begitu juga sebaliknya, objek pesawat juga dapat memanggil Hubungan association mempunyai 2 titik. Salah satu titik bisa memiliki label untuk menjelaskan association tersebut. Contoh : Panah navigability (pengatur alur arah) dalam suatu association menggambarkan arah mana association dapat ditransfer atau Seperti dalam contoh : OrderDetail dapat disusun dari item-nya, namun tidak bisa sebaliknya. Panah ini juga menjelaskan siapa AggregationAggregation merupakan bentuk khusus dari asosiasi dimana induk terhubung dengan bagian-bagiannya. Aggregation merepresentasikan relasi “has-a”, artinya sebuah class memiliki/terdiri dari bagian-bagian yang lebih kecil. Dalam UML, relasi agregasi digambarkan dengan open diamond pada sisi yang menyatakan induk (whole). contoh AggregationContoh Aggregation (2)MultiplicityMultiplicity menentukan/mendefinisikan banyaknya object yang terhubung dalam suatu relasi. Indikator multiplicity terdapat pada masing-masing akhir garis relasi, baik pada asosiasi maupun agregasi. Contoh MultiplicityMultiplicity dari suatu titik association adalah angka kemungkinan bagian dari hubungan kelas dengan single instance (bagian) pada titik
DependencyDependency merupakan sebuah relasi yang menyebutkan bahwa perubahan pada satu class (misal class event), maka akan Pada umumnya, relasi dependency dalam konteks Class Diagram, digunakan apabila terdapat satu class yang menggunakan / menginstance class lain sebagai argumen dari sebuah method. Perhatikan contoh dibawah, bila spesifikasi dari class Channel berubah, maka method playOn pada class FilmClip juga akan berubah. contoh DependencyInheritanceInheritance merupakan salah satu karakteristik dalam pemrograman berorientasi objek, dimana sebuah class mewarisi / inherit sifat-sifat Inheritance disebut juga hierarki “is-a” (adalah sebuah) atau “kind-of” (sejenis). Subclass dapat memiliki atau menggunakan atribut & operasi tambahan yang hanya berlaku pada tingkat hierarkinya. Karena inheritance relationship bukan merupakan relationship diantara GeneralizationAbstract class: jika satu class hanya diperlukan sebagai template untuk class-class yang lebih spesifik (dalam sistem tidak akan ada object dari class tsb). Tidak memiliki instance, dalam notasi namanya dituliskan huruf miring (italic) contoh Generalizationcontoh Generalization (2)Class person merupakan generalisasi, class doctor dan class patient adalah spesialisasi. Class yang menjadi superclass (dalam hal ini adalah class person) dinamakan abstract class, sedangkan class yang menjadi subclass (class doctor dan class patient) dinamakan concrete class contoh Generalization (3)Membuat class diagramKetika menggambarkan sebuah class kita tidak perlu menampilkan seluruh atribut atau operasi. Karena dalam sebagian besar kasus kita tidak dapat menampilkannya dalam sebuah gambar, karena terlalu banyaknya atribut atau operasinya, bahkan terkadang tidak perlu karena kurang relevannya atribut atau operasi yang akan ditampilkan. Sehingga kita dapat menampilkan atribut dan operasinya hanya sebagian atau tidak sama sekali. Kosongnya tempat pengisian bukan Setiap diagram Class memiliki Class (kelas), association, dan multiplicity. Sedangkan navigability (alur arah) dan role (kegiatan) merupakan optional (tidak diharuskan). Contoh Diagram Kelas Transaksi Pembelian BarangPackage DiagramUntuk mengatur pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket). Package adalah kumpulan elemen-elemen logika UML. Gambar di bawah ini mengenai model bisnis dengan pengelompokan kelas-kelas dalam bentuk paket-paket : Contoh Package Diagramclass diagram perpustakaancontoh class diagram perpustakaancontoh class diagram perpustakaan (2)contoh class diagram sederhanacontoh Class Diagram Penjualan Onlinecontoh Class Diagram Penjualan Online (2)contoh Class Diagram Rental Filmcontoh Class Diagram Rental Film (2)
ReferensiPermatasari D.I. 2017. Class Diagram. Surabaya: Politeknik Elektronika Negeri Surabaya |