Unified Modeling Language - Class Diagram
Published: 2024-05-23 02:23:19


**Unified Modeling Language** (UML) adalah bahasa yang digunakan untuk membuat sebuah model sebuah sistem yang umum digunakan. Tujuan utama UML adalah untuk menentukan metode standar untuk memvisualisasikan proses desain sistem. Hal ini sangat mirip dengan cetak biru yang digunakan di bidang teknik lainnya. UML bukanlah bahasa pemrograman, melainkan UML adalah bahasa visual.
Disini akan ditunjukkan struktur dan perilaku sistem menggunakan diagram UML. Analisis, desain, dan pemodelan adalah kemampuan yang ditawarkan oleh UML kepada pebisnis, insinyur perangkat lunak, dan arsitek sistem. Pada tahun 1997, Unified Modelling Language (UML) diadopsi sebagai standar oleh Object Management Group (OMG). Pada tahun 2005, UML diterbitkan sebagai standar yang disetujui oleh Organisasi Internasional untuk Standardisasi (ISO). Selama bertahun-tahun, UML telah diubah dan ditinjau secara berkala.

Topik penting di dalam Diagram UML:

1. Kenapa membutuhkan UML?
2. Tipe tipe Diagram UML
3. Diagram UML Structural
4. Diagram UML Behavioral
5. Konsep berorientasi objek pada Diagram UML
6. Alat untuk membuat UML
7. Langkah pembuatan Diagram UML
8. Best practices dalam Diagram UML
9. Keuntungan Menggunakan UML

---


## 1. Kenapa kita membutuhkan UML?
Sebuah aplikasi yang kompleks butuh sebuah kolaborasi dan perencanaan dari beberapa tim yang menyebabkan perlunya sebuah cara berkomunikasi yang jelas dan ringkas di antara tim. Seorang pebisnis tentunya tidak mengerti tentang bahasa pemrograman. Maka UML menjadi solusi yang penting untuk berkomunikasi dengan orang yang bukan programer tentang kebutuhan, fungsionalitas, dan proses dari sebuah sistem.

## 2. Tipe tipe diagram UML
UML adalah sebuah design yang berkaitan dengan konsep berorientasi objek. UML menggunakan asosiasi elemen dan bentuk untuk membentuk sebuah diagram. Diagram yang dibuat oleh UML bisa dibagi menjadi 2 kategori: Structural Diagram dan Behavioural Diagram.

## 3. Diagram UML Structural
Di dalam kategori struktural terdapat beberapa jenis diagram UML yang dapat digunakan. Berikut adalah jenis jenis diagram struktural UML:

- Class Diagram
Class diagram merupakan UML yang paling sering dipakai dalam proses pembuatan sebuah aplikasi. Class diagram adalah sebuah kumpulan dari semua blok kode yang berorientasi objek yang akan digunakan untuk membuat sebuah aplikasi. Class diagram digunakan untuk menggambambarkan struktur kode sebuah sistem dengan menunjukkan kelas kelas kode yang ada pada sistem tersebut. Kelas kelas itu berisi sebuah properti dan juga metode yang akan mendefinisikan fungsi dan juga cara kerja dari kelas tersebut. Class diagram juga membantu kita mengidentifikasi hubungan antar kelas pada sebuah sistem.

- Composite Structure Diagram
Untuk menunjukkan bagaimana sebuah pengklasifikasi (kelas, komponen, atau simpul penyebaran) bertindak,  digunakan diagram struktur komposit untuk menunjukkan struktur internal kelas dan titik-titik interaksinya dengan bagian lain sistem. Hubungan antar bagian dan konfigurasi pada objek menentukan bagaimana pengklasifikasi bertindak. Struktur internal pengklasifikasi terstruktur menggunakan komponen, port, dan konektor.
Dengan menggunakan diagram struktur komposit, kita juga dapat memodelkan kolaborasi.
Diagram ini mirip dengan diagram kelas tetapi composite structure diagram menunjukkan masing-masing bagian dengan lebih rinci dan detail daripada kelas secara keseluruhan.

- Object Diagram
Diagram Objek dapat disebut sebagai tangkapan layar dari instance dalam sebuah sistem dan hubungan yang ada di antara mereka. Pada saat tertentu, kita dapat mempelajari perilaku sistem karena objek menunjukkan perilaku ketika objek diinstansiasi. Sementara diagram kelas menunjukkan contoh kelas dalam sistem, diagram objek menunjukkan hubungan antara mereka. Cara menggambarkan pengklasifikasi aktual dan hubungan dari tiap kelas dapat menggunakan diagram kelas, di sisi lain, Diagram Objek mewakili contoh kelas tertentu dan hubungan di antara mereka pada suatu titik waktu.

- Componet Diagram
Diagram komponen digunakan untuk merepresentasikan bagaimana komponen fisik dalam sebuah sistem telah diatur. Diagram komponen digunakan untuk memodelkan detail implementasi dari sebuah sistem. Diagram komponen dapat membantu memahami apakah fungsional fungsional tercakup dalam pengembangan yang direncanakan karena fungsi fungsi tersebut menunjukkan hubungan struktural antara komponen sistem perangkat lunak. Ketika merancang dan membangun sistem yang kompleks, komponen diagram menjadi penting untuk digunakan. Antarmuka yang digunakan oleh diagram komponen memungkinkan komponen sistem berkomunikasi satu sama lain.

- Deployment Diagram
Deployment Diagram digunakan untuk merepresentasikan perangkat keras sistem dan perangkat lunaknya, yang memberi tahu kita komponen perangkat keras apa yang ada dan perangkat lunak apa komponen perangkat lunak apa yang berjalan di atasnya. Deployment diagram menunjukkan arsitektur sistem sebagai penyebaran artefak perangkat lunak ke target yang terdistribusi. Artefak adalah informasi yang dihasilkan oleh sistem berbasis perangkat lunak. Artefak ini adalah komponen utama karena sering digunakan ketika perangkat lunak digunakan, didistribusikan, atau disebarkan melalui berbagai mesin yang sudah dikonfigurasi.

- Package Diagram
Untuk menggambarkan bagaimana paket dan elemennya telah diatur, kita menggunakan diagram paket, yang hanya menunjukkan ketergantungan antara paket yang berbeda dan komposisi internalnya.  Paket membantu mengatur diagram UML ke dalam kelompok sistem yang berarti, dan membuat diagram mudah dipahami. Diagram kelas dan use case adalah fungsi utama package diagram.

##  4. Diagram UML Behavioral
Di dalam kategori behavioral terdapat beberapa jenis diagram UML yang dapat digunakan. Berikut adalah jenis jenis diagram behavioral UML:

- State Machine Diagram
State Machine Diagram digunakan untuk merepresentasikan kondisi sistem atau bagian dari sistem pada waktu yang terbatas. State machine diagram merupakan salah satu diagram behavioral yang menggunakan transisi keadaan terbatas untuk menunjukkan perilaku pengguna. Diagram state juga disebut sebagai mesin State dan Diagram State-chart. Istilah-istilah ini sering digunakan secara bergantian. Jadi sederhananya, diagram state digunakan untuk memodelkan perilaku dinamis dari sebuah kelas dalam menanggapi waktu dan mengubah cara pengguna menggunakan sebuah aplikasi.

- Activitiy Diagram
Untuk menunjukkan aliran kontrol dalam sebuah sistem, dapat digunakan Diagram Aktivitas. Kita juga dapat menggunakan diagram aktivitas untuk merujuk ke langkah-langkah yang terlibat dalam
eksekusi penggunana sebuah fungsi. Para developer menggunakan diagram aktivitas untuk memodelkan aktivitas secara berurutan dan bersamaan. Jadi, pada dasarnya kita menggambarkan alur kerja secara visual menggunakan diagram aktivitas. Fokus diagram aktivitas adalah kondisi aliran dan urutan terjadinya. Dengan menggunakan diagram aktivitas, kita dapat menunjukkan atau menjelaskan alasan di balik kejadian tertentu.

- Use Case Diagram
Use Case Diagram digunakan untuk menggambarkan fungsionalitas sistem atau bagian dari sistem. Use case diagram juga sering digunakan untuk menunjukkan bagaimana sistem bekerja dan bagaimana interaksinya dengan sistem eksternal. Pada dasarnya, use case diagram adalah diagram yang menggambarkan berbagai skenario di mana sistem dapat digunakan. Diagram use case memberikan gambaran luas tentang apa yang dilakukan sistem atau komponennya tanpa membahas detail implementasi.

- Sequence Diagram
Diagram urutan digunakan untuk menggambarkan interaksi antar objek dalam urutan sekuensial secara sederhana. urutan yang dimaksud yaitu urutan di mana interaksi ini terjadi. Sequence Diagram menunjukkan bagaimana dan dalam urutan apa objek-objek dalam sebuah sistem berfungsi. Sequence diagram juga dapat menggunakan istilah "diagram kejadian" atau skenario kejadian untuk merujuk pada diagram urutan. Pebisnis dan pengembang perangkat lunak sering menggunakan diagram ini untuk mencatat dan memahami persyaratan sistem yang baru dan sistem yang sudah ada.

- Communication Diagram
Communication diagram digunakan untuk menunjukkan pesan berurutan yang dipertukarkan antar objek. Diagram ini juga dikenal sebagai Diagram Kolaborasi di UML 1.x. Diagram komunikasi berfokus pada objek dan hubungannya. Diagram Sequence dapat digunakan untuk menampilkan informasi yang sama, tetapi diagram komunikasi menampilkan objek dan hubungan dalam bentuk yang bebas.

- Timing Diagram
Timing Diagram adalah bentuk khusus dari Sequence diagram yang digunakan untuk menggambarkan perilaku objek dalam jangka waktu tertentu. Timing diagram digunakan untuk
menunjukkan batasan waktu dan durasi yang mengatur perubahan status dan perilaku objek.

- Interaction Overview Diagram
Interaction overview diagram menunjukkan urutan tindakan dan membantu menyederhanakan interaksi yang kompleks menjadi hal-hal yang lebih mudah dipahami. Interaction overview diagram adalah kombinasi dari diagram urutan dan diagram aktivitas.

## 5. Konsep berorientasi objek pada Diagram UML

- Class: class mendefinisikan cetak biru, yaitu struktur dan fungsi sebuah objek.
- Object: Object membantu kita menguraikan sistem yang besar dan membantu kita memodularisasi sistem kita. Modularitas membantu membagi sistem kita menjadi
komponen yang dapat dimengerti sehingga kita dapat membangun sistem kita sepotong demi sepotong: Pewarisan adalah mekanisme di mana kelas-kelas turunan mewarisi properti dari kelas induknya.
- Abstraction: Abstraction dalam UML mengacu pada proses penekanan aspek-aspek penting dari suatu sistem atau objek sambil mengabaikan yang tidak relevan
detail. Dengan mengabstraksikan kompleksitas yang tidak perlu, abstraksi memfasilitasi pemahaman dan komunikasi yang lebih jelas di antara para pemangku kepentingan.
- Encapsulaton: Mengikat data bersama-sama dan melindunginya dari dunia luar disebut sebagai enkapsulasi.
- Polymorphism: Mekanisme yang memungkinkan fungsi atau entitas untuk hadir dalam berbagai bentuk.

## 6. Alat untuk membuat UML

Metodologi pengembangan perangkat lunak seperti agile telah ditambahkan ke dalam UML dan cakupan spesifikasi UML asli telah diperluas.
Mula-mula, UML menetapkan 9 diagram. Empat diagram baru telah ditambahkan ke dalam UML 2.x, meningkatkan jumlah diagram dari 9 menjadi 13 diagram. Ini adalah diagram waktu, diagram komunikasi, diagram tinjauan interaksi, dan diagram struktur komposit. UML 2.x menambahkan kemampuan untuk menguraikan sistem perangkat lunak menjadi komponen dan sub-komponen. Diagram statechart telah diubah menjadi state machine diagram.
Untuk menampilkan arsitektur, desain, dan implementasi sistem secara visual, ada banyak alat yang tersedia untuk membuat diagram Unified Modeling Language (UML). Berikut ini adalah beberapa alat bantu yang sangat populer untuk pembuatan diagram UML: 

- Lucidchart: Lucidchart adalah alat pembuatan diagram berbasis web yang mendukung diagram UML. Banyak pengguna dapat mengerjakan diagram secara real-time karena ramah pengguna dan kolaboratif.
- Draw.io: Draw.io adalah alat diagram berbasis web gratis yang dapat digunakan secara offline dan mendukung berbagai jenis diagram, termasuk diagram UML. Ini terintegrasi dengan berbagai layanan penyimpanan cloud.
- VisualParadigm: VisualParadigm menyediakan seperangkat alat yang luas untuk pengembangan perangkat lunak, termasuk diagram UML. Versi desktop dan onlinenya mendukung berbagai jenis diagram UML.
- starUML: StarUML adalah alat pemodelan UML yang open source dan memiliki antarmuka pengguna yang mudah digunakan. Alat ini mendukung diagram UML 2.x konvensional dan memungkinkan pengguna menggunakan plugin untuk mengubah dan memperluas fungsinya. 
- Papyrus: Papyrus adalah komponen Proyek Pemodelan Eclipse dan adalah alat pemodelan UML sumber terbuka. 
- PlantUML: PlantUML adalah alat berbasis teks yang memungkinkan Anda membuat, mengedit, dan memvisualisasikan diagram UML menggunakan sintaks yang sederhana dan dapat dibaca oleh manusia. Ini menawarkan lingkungan yang dapat disesuaikan untuk melakukannya. Alat lain sering menggunakannya dan mendukung berbagai jenis diagram.

## 7. Langkah pembuatan Diagram UML

Untuk membuat diagram Unified Modeling Language (UML), ada proses yang sistematis yang biasanya terdiri dari langkah-langkah berikut:

- Langkah 1: Identifikasi Tujuan: Tentukan alasan di balik pembuatan diagram UML. Berbagai jenis diagram UML memiliki tujuan yang berbeda, seperti menangkap persyaratan, merancang arsitektur sistem, atau mendokumentasikan hubungan kelas. 
- Langkah 2: Identifikasi Elemen dan Hubungan: Identifikasi elemen penting (seperti objek, kelas, kasus penggunaan, dll.) dan hubungannya, yang harus digambarkan dalam diagram. Pada tahap ini, Anda harus memahami struktur dan operasi sistem yang Anda modelkan.
- Langkah 3: Pilih Jenis Diagram UML yang Sesuai: Pilih jenis diagram UML yang paling sesuai dengan kebutuhan pemodelan Anda. Jenis-jenis yang umum termasuk diagram kelas, diagram kasus penggunaan, diagram urutan, diagram aktivitas, dan banyak lagi.
- Langkah 4: Buat Sketsa Kasar: Anda dapat memvisualisasikan tata letak dan hubungan antar elemen dengan membuat sketsa kasar di atas kertas atau papan tulis sebelum menggunakan alat pemodelan UML.
- Langkah 5: Pilih Alat Bantu Pemodelan UML: Pilih alat pemodelan UML yang sesuai dengan preferensi dan kebutuhan Anda. Ada banyak alat yang tersedia, baik online maupun offline, yang memiliki fitur untuk membuat dan mengedit diagram UML. 
- Langkah 6: Buat Diagram: Buka alat pemodelan UML yang dipilih dan buat proyek atau diagram baru. Mulailah dengan menambahkan elemen (seperti kelas, kasus penggunaan, dan aktor) ke diagram dan kemudian hubungkan mereka dengan hubungan yang sesuai (seperti asosiasi dan ketergantungan).
- Langkah 7: Tentukan Properti Elemen: Tentukan properti dan atribut setiap elemen dalam diagram. Ini mungkin mencakup informasi yang spesifik untuk jenis diagram, seperti metode dan atribut kelas, dan detail kasus penggunaan.
- Langkah 8: Tambahkan Anotasi dan Komentar: Tambahkan anotasi, komentar, dan catatan penjelasan untuk meningkatkan kejelasan diagram Anda. Hal ini membantu orang yang melihat diagram untuk memahami keputusan desain dan logika di balik keputusan tersebut.
- Langkah 9: Validasi dan Tinjau Ulang: Pastikan diagram akurat dan lengkap. Pastikan bahwa hubungan, batasan, dan komponen secara akurat menunjukkan proses atau sistem yang dimaksud. Confirm diagram Anda memenuhi persyaratan dan lakukan perubahan yang diperlukan.
- Langkah 10: Perbaiki dan Ulangi: Berdasarkan komentar dan informasi tambahan, perbaiki diagram. Seiring dengan kemajuan pemahaman sistem, diagram UML biasanya dibuat berulang kali.
- Langkah 11: Membuat Dokumentasi: Anda dapat membuat dokumentasi secara langsung dari diagram Anda dengan beberapa alat bantu UML. Ini dapat mencakup informasi seperti dokumentasi kelas, deskripsi kasus penggunaan, dan informasi lainnya. 

Catatan: Ingatlah bahwa langkah-langkah spesifik dapat berbeda tergantung pada jenis diagram UML dan alat yang Anda gunakan.

## 8. Best practices dalam Diagram UML

Alat yang ampuh untuk memvisualisasikan dan mendokumentasikan desain sistem adalah Unified Modeling Language (UML). Mengikuti praktik terbaik sangat penting untuk membuat diagram UML yang efektif dan bermakna. Beberapa praktik UML terbaik adalah sebagai berikut: 
- Pahami Audiens: Saat membuat diagram UML, pertimbangkan audiens Anda. Sesuaikan tingkat detail dan pilihan diagram untuk sesuai dengan pemahaman dan kebutuhan audiens Anda, apakah mereka pengembang, arsitek, atau pemangku kepentingan.
- Diagram Anda Harus Sederhana dan Terfokus: Jaga diagram Anda sederhana. Setiap diagram harus berkonsentrasi pada bagian tertentu dari sistem, bagian tertentu dari sistem, atau kumpulan hubungan tertentu. Hindari detail dan kekacauan yang dapat mengalihkan perhatian dari pesan utama.
- Gunakan Perjanjian Nama yang Konsisten: Untuk kelas, objek, atribut, metode, dan elemen UML lainnya, gunakan nama yang konsisten dan bermakna.
lain. Konvensi penamaan yang jelas dan dipikirkan dengan matang akan membuat diagram Anda lebih mudah dipahami.
- Ikuti Notasi UML Standar: Untuk membuat diagram Anda mudah dipahami oleh orang lain yang terbiasa dengan konvensi UML, Anda harus mematuhi notasi dan simbol UML standar.
- Pastikan Hubungan Tetap Eksplisit: Tentukan dan labelkan hubungan antar elemen. Untuk menunjukkan sifat hubungan antara kelas, objek, atau kasus penggunaan, gunakan panah, notasi multiplisitas, dan nama asosiasi yang sesuai.

## 9. Keuntungan Menggunakan UML

- Standarisasi: UML membuat representasi model sistem standar, yang memungkinkan pengembang dan pemangku kepentingan berbicara menggunakan bahasa visual yang umum.
- Komunikasi: Diagram UML adalah alat yang bagus untuk berkomunikasi dengan pemangku kepentingan seperti perancang, pengembang, penguji, dan pengguna bisnis. Diagram ini membantu menyampaikan konsep yang kompleks dengan cara yang lebih mudah dimengerti.
- Visualisasi: Diagram UML memungkinkan pengguna untuk melihat komponen, hubungan, dan proses sistem. Representasi visual dari diagram ini membantu dalam pemahaman dan desain sistem yang kompleks.
- Dokumentasi: Diagram UML adalah alat dokumentasi yang berguna. Mereka memberikan cara yang sistematis dan terorganisir untuk mendokumentasikan berbagai elemen sistem, termasuk perilaku, arsitektur, dan desain.
- Analisis dan Desain: Fase analisis dan fase desain pengembangan perangkat lunak didukung oleh UML. Ini membantu dalam memodelkan dan mengubah persyaratan sistem.

## More on Class Diagrams

Dalam rekayasa perangkat lunak, diagram kelas adalah jenis diagram yang digunakan dalam UML (Unified Modeling Language), bahasa pemodelan standar yang membantu dalam desain dan dokumentasi sistem perangkat lunak. UML adalah bagian penting dari proses pengembangan perangkat lunak dan membantu dalam fase desain dan dokumentasi. Topik-topik Penting untuk Diagram Kelas :
- Apa yang dimaksud dengan diagram 
- Notasi Kelas UML
- Hubungan antar kelas
- Tujuan dari Class Diagram
- Manfaat Class Diagram
- Cara menggambar Class Diagram
- Contoh-contoh penggunaan Class Diagram

## Apa yang dimaksud dengan Class Diagram

Dalam rekayasa perangkat lunak, diagram kelas adalah jenis diagram UML (Unified Modeling Language) yang digunakan untuk menunjukkan struktur dan hubungan kelas-kelas dalam sebuah sistem. Selain itu, mereka digunakan untuk membangun dan memvisualisasikan sistem berorientasi objek.
Dalam diagram ini, kelas diwakili oleh kotak yang masing-masing berisi tiga kompartemen: nama kelas, atribut, dan metode. Kelas-kelas terhubung melalui garis yang menunjukkan hubungan, seperti satu-ke-satu atau satu-ke-banyak.
Diagram kelas membantu dalam dokumentasi dan komunikasi struktur perangkat lunak dan memberikan gambaran umum luas tentang desain sistem. Mereka memainkan peran penting dalam siklus hidup pengembangan perangkat lunak dan merupakan alat penting dalam desain berorientasi objek. 

**Apa definisis class?**
Dalam pemrograman berorientasi objek (OOP), kelas adalah template untuk membuat objek atau cetak biru. Contoh kelas adalah objek, dan setiap kelas mendefinisikan sekumpulan atribut (anggota data) dan metode yang akan dimiliki oleh objek yang dibuat dari kelas tersebut. Atribut mewakili karakteristik atau properti objek, sedangkan metode menunjukkan perilaku atau tindakan yang dapat dilakukan oleh objek.

## Notasi Kelas UML
Dalam pemodelan berorientasi objek, notasi kelas adalah representasi grafis yang menunjukkan kelas dan hubungannya. Nama kelas biasanya ditulis di kompartemen atas kotak kelas dan dicetak tebal di tengah.
- Metode: Metode, juga disebut sebagai fungsi atau operasi, menggambarkan perilaku atau fungsionalitas kelas. Metode ditempatkan di kompartemen kedua dari kotak kelas dan biasanya menyertakan visibilitas (misalnya, publik atau privat) dan tipe data setiap atribut. 
- Atribut mewakili anggota data kelas. Mereka berada di kompartemen ketiga dari kotak kelas dan mencakup parameter setiap metode, tipe pengembalian, visibilitas (misalnya, publik atau privat), dan tanda 
- Notasi Visibilitas: visibilitas yang menunjukkan tingkat akses atribut dan metode. Notifikasi visibilitas umum mencakup: + untuk publik (dapat dilihat oleh semua kelas), - untuk privat (hanya dapat dilihat di dalam kelas), # untuk dilindungi (hanya dapat dilihat oleh subkelas), ~ untuk visibilitas paket atau default (hanya dapat dilihat oleh kelas dalam paket yang sama)

Arah Parameter: Dalam diagram kelas, arah parameter menunjukkan cara aliran informasi melalui parameter metode melintasi kelas. Ada tiga notasi arah parameter utama yang digunakan dalam diagram kelas: Ini membantu menentukan apakah sebuah parameter adalah input, output, atau keduanya. Informasi ini sangat penting untuk memahami bagaimana data dilewatkan antara
- Parameter input adalah parameter yang diteruskan dari objek pemanggil (klien) ke objek yang dipanggil (server) selama pemanggilan metode. Ini ditunjukkan oleh panah yang mengarah ke kelas penerima (kelas yang memiliki metode). 
- Parameter output adalah parameter yang diteruskan dari objek pemanggil (server) ke objek pemanggil (klien) setelah pemanggilan metode.
- InOut (Masukan dan Keluaran): Parameter InOut berfungsi sebagai input dan output. Ini mengirimkan informasi ke objek yang dipanggil dan sebaliknya. Panah menunjuk ke arah dan menjauhi kelas penerima.

## Hubungan antar kelas

Hubungan antar kelas menunjukkan bagaimana kelas-kelas berinteraksi atau terhubung satu sama lain dalam sistem. Dalam pemodelan berorientasi objek, ada berbagai jenis hubungan, dan masing-masing memiliki tujuan khusus. Berikut adalah beberapa jenis hubungan yang sering ditemukan dalam diagram kelas: 1. Asosiasi adalah representasi hubungan dua arah antara dua kelas, yang menunjukkan hubungan antara instance kelas satu dengan instance kelas lain. Biasanya digambarkan sebagai garis solid yang menghubungkan kelas-kelas, dengan panah yang dapat dipilih untuk menunjukkan arah hubungan.
Mari kita pelajari hubungan dengan contoh: Mari kita lihat sistem pengelolaan perpustakaan yang sederhana. Buku dan perpustakaan adalah dua komponen utama sistem ini. Setiap Perpustakaan memiliki buku tertentu, dan setiap buku dimiliki oleh Perpustakaan tertentu; hubungan antara buku-buku ini dan Perpustakaan menunjukkan hubungan. Karena berisi referensi ke beberapa contoh kelas "buku", kelas "buku" dapat dianggap sebagai kelas sumber dan kelas "buku" dapat dianggap sebagai kelas target karena kelas ini milik perpustakaan tertentu.

## Tujuan dari Class Diagram

Class diagram adalah satu-satunya UML yang dapat dengan tepat menggambarkan berbagai aspek konsep Open Source Programming (OOP).
Desain dan analisis aplikasi yang tepat dapat menghasilkan hasil yang lebih baik dan lebih cepat.
class diagram menentukan penyebaran dan diagram komponen yang memanfaatkan rekayasa maju dan mundur.

## Manfaat Class Diagram

- Memodelkan Struktur Kelas: Diagram kelas menggambarkan hubungan antar kelas, seperti asosiasi, agregasi, komposisi, pewarisan, dan ketergantungan. Ini membantu dalam memodelkan struktur sistem dengan menampilkan kelas beserta atribut, metode, dan hubungannya. Ini memberikan pemandangan yang jelas dan terorganisir tentang arsitektur sistem.
Hal ini membantu pengembang, perancang, dan analis bisnis memahami bagaimana komponen sistem yang berbeda terhubung.
- Komunikasi: Diagram kelas membantu anggota tim dan pemangku kepentingan berkomunikasi. Diagram ini memberikan representasi standar dan visual yang mudah dipahami oleh penonton teknis dan non-teknis.
- Cetak Biru untuk Implementasi: Diagram kelas berfungsi sebagai cetak biru untuk implementasi perangkat lunak. Dengan menunjukkan kelas, atribut, metode, dan hubungannya satu sama lain, diagram ini membantu pengembang dalam menulis kode. Hal ini dapat membantu memastikan bahwa desain dan aplikasi yang sebenarnya konsisten.
- Pembuatan Kode: Beberapa kerangka kerja dan alat pengembangan perangkat lunak mendukung pembuatan kode dari diagram kelas. Pengembang dapat menghemat waktu dan menghindari kesalahan manual dengan menghasilkan sebagian besar kode dari representasi visual.
- Mengidentifikasi Abstraksi dan Enkapsulasi: Diagram kelas membantu menentukan abstraksi dan enkapsulasi data dan perilaku kelas. Hal ini mendukung prinsip-prinsip desain berorientasi objek, seperti modularitas dan penyembunyian informasi.

## Cara menggambar Class Diagram

Dengan membuat diagram kelas, Anda dapat melihat struktur sistem, yang mencakup kelas, atribut, metode, dan hubungannya. Untuk menggambar diagram kelas, berikut adalah langkah-langkah yang harus diikuti:
- Identifikasi Kelas: Untuk memulai, kenali kelas dalam sistem Anda. Sebuah kelas harus menggunakan cetak biru untuk menunjukkan item dan merangkum fitur dan metode yang relevan.
- Buat daftar atribut dan metode: Buat daftar atribut (properti, wilayah) dan metode (fungsi, operasi) untuk setiap kelas. Informasi seperti jenis data dan visibilitas (publik, privat, terlindungi) harus disertakan.
- Identifikasi Hubungan: Cari tahu hubungan apa yang ada di antara kelas. Asosiasi, agregasi, komposisi, pewarisan, dan ketergantungan adalah beberapa contoh hubungan yang umum. Memahami karakteristik dan keragaman hubungan ini.
- Membuat Kotak Kelas: Buat gambar persegi panjang, juga disebut sebagai kotak kelas, untuk setiap kelas yang dikenal. Tempatkan nama kelas di atas kotak. Tambahkan Atribut dan Metode: Masukkan atribut dan metode ke dalam kompartemen masing-masing setiap kotak kelas. Untuk visibilitas, gunakan notasi (+ untuk publik, - untuk privat, # untuk perlindungan, dan ~ untuk paket/default).
- Menggambar Hubungan: Buat garis yang menunjukkan hubungan kelas. Untuk menunjukkan arah asosiasi atau ketergantungan, gunakan panah. Jenis garis dan notasi yang berbeda dapat digunakan dalam berbagai konteks.
- Memberi label pada hubungan: Jika diperlukan, labeli hubungan dengan multiplicity dan nama peran. Nama peran menjelaskan peran setiap kelas dalam hubungan, dan multiplisitas menunjukkan jumlah instance yang terlibat dalam hubungan.
- Tinjau dan Perbaiki: Tinjau diagram kelas Anda untuk memastikan bahwa itu secara akurat menunjukkan struktur dan hubungan sistem. Kemudian, berdasarkan umpan balik dan persyaratan, perbaiki diagram sesuai kebutuhan.
- Gunakan Alat untuk Menggambar Digital: Meskipun Anda dapat menggambar diagram kelas di atas kertas, menggunakan alat digital dapat membuat gambar lebih fleksibel dan mudah diubah. Alat seperti alat pemodelan UML, perangkat lunak menggambar, atau bahkan alat diagram khusus dapat membantu.

## Contoh-contoh penggunaan Class Diagram

- Desain Sistem: Diagram kelas digunakan untuk mensimulasikan struktur statis sistem perangkat lunak selama fase desain sistem. Mereka menyediakan cetak biru untuk implementasi sistem dan membantu dalam visualisasi dan pengorganisasian kelas, atribut, metode, dan hubungannya.
- Komunikasi dan Kolaborasi: Diagram kelas berguna untuk berkomunikasi visual dengan pemangku kepentingan seperti desainer, pengembang, manajer proyek, dan klien. Mereka mendorong pemahaman bersama di antara anggota tim dan memungkinkan diskusi tentang struktur dan desain sistem.
- Pembuatan Kode: Beberapa alat dan lingkungan pengembangan perangkat lunak memungkinkan pembuatan kode dengan diagram kelas. Pengembang memiliki kemampuan untuk membuat kerangka kode, yang menghemat waktu dan tenaga untuk mengkodekan secara manual, dan memastikan konsistensi antara desain dan implementasi.
- Pengujian dan Perencanaan Pengujian: Diagram kelas membantu penguji memahami hubungan antara kelas dan merencanakan kasus uji yang sesuai. Visualisasi struktur kelas dalam bentuk kelas membantu dalam menentukan bagian mana yang memerlukan pemeriksaan menyeluruh.
- Rekayasa Terbalik: Dalam rekayasa balik, pengembang menggunakan diagram kelas untuk menganalisis kode yang ada untuk membuat representasi visual perangkat lunak struktur. Ini sangat bermanfaat dalam situasi di mana dokumentasi tidak tersedia atau ketinggalan zaman.