MEMAHAMI CLASS DIAGRAM


Sebelum kita membahas mengenai diagram kelas mari kita fahami mengenai perbedaan antara kelas dan objek hal ini dimaksudkan agar menghindari kesalahfahaman karena seringkali dalam beberapa materi lain kelas disebutkan sebagai objek itu sendiri. Kelas merupakan blueprint dari object, kelas adalah konsep yang membentuk sebuah object jika dianalogikan maka relevan dengan pernyatan bahwa object “Mobil Ferrari” pada dasarnya adalah termasuk kedalam kelas “mobil” perhatikan diagram berikut:
dalam bahasa java jika kita ingin membangun sebuah objek berdasarkan kelas tertentu maka sebagai berikut :
NamaKelas object = new NamaKelas;
Atau jika disesuaikan dengan kasus diatas menjadi :
Mobil ferarri = new Mobil; // relevan dengan pernyataan buatlah sebuah objek baru dengan nama Ferarri dari kelas Mobil.
Dalam rekayasa perangkat lunak, diagram kelas didalam Unified Modeling Language (UML) adalah jenis diagram struktur statis yang menggambarkan struktur dari suatu sistem dengan menunjukkan kelas sistem, atribut, operasi atau metode, dan hubungan antara kelas.
Sebuah kelas digambarkan sebagai kotak dengan tiga level yakni:
1.       Pada bagian atas judul dicetak tebal dengan text rata tengah dengan huruf pertama kapital,
2.       Pada bagian tengah atribut dicetak rata kiri dengan hurup pertama non kapital dilengkapi dengan tipe data;
3.       Pada bagian bawah adalah metode yang digunakan dalam kelas diakhiri dengan kurung kurawal.
lambang (+/-/#) pada kelas menggambarkan aksesibilitas dari atribut atau metode hal ini senada dengan konsep enkapsulasi  dimana:
·         (+) bermakna public sehingga atribut/metode dapat diakses secara langsung dari luar kelas.
·         (-) bermakna private dimana kelas/atribut hanya bisa diakses oleh metode didalam kelas itu sendiri dan
·         (#) bermakna protected dimana kelas/atribut hanya bisa diakses oleh kelas yang berada dalam package yang sama atau subclass dari kelas itu sendiri.
Ada berbagai macam jenis relasi dalam diagram kelas yakni:
1.       Asosiasi ini mewakili hubungan statis antara dua kelas bersama dengan multiplisitas. Misalnya seorang karyawan dapat memiliki satu alamat utama, tetapi dapat memiliki beberapa nomor ponsel.

Asosiasi bisa searah (ditunjukkan oleh panah di salah satu ujung) atau dua arah (ditunjukkan oleh panah pada kedua ujung). Multiplisitas mendefinisikan berapa banyak objek yang terlibat berikut ini merupakan table dali jenis multiplisitas berikut contohnya:
·         (0..1)tidak ada atau satu objek .Contoh : Sebuah kursi penerbangan dapat memiliki atau satu penumpang saja.
·         (1) --Tepat satu objek .Contoh:  satu order hanya dapat memiliki satu pelanggan.
·         (0 .. *) atau (*) -- Nol atau lebih objek .Contoh:kelas A dapat memiliki nol atau lebih siswa.
·         (1 .. *) Satu atau lebih objek (setidaknya satu). Contoh: pesawat dapat memiliki satu atau lebih penumpang.
2.       Generalisasi Properti ini merupakan fitur warisan dari konsep berorientasi objek. Dimana child mewarisi atribut dan method dari parentnya namun disisi lain mengalami penambahan atau modifikasi  didalam java dikenal sebagai override.
3.       Realisasi merupakan relasi yang terjadi antara class dan interface. Dimana interface merupakan media penghubung  dianalogikan sebagai sebuah port .
4.       Dependensi merupakan relasi dimana sebuah class membutuhkan class lainnya untuk dapat berjalan dalam hal ini dapat berbentuk parameter object yang dieksekusi dalam method class lainnya

5.       Agregasi merupakan relasi dimana sebuah class merupakan bagian utuh dari class lainya sering digambarkan dengan kata “has a” berarti memiliki contoh sekolah memiliki murid .

6.       Komposisi sama halnya dengan agregasi dimana suatu class merupakan bagian utuh dari class lainya namun pada hal ini satu bagian class tersebut akan sangat bergantung pada keberadaan class lainya. Contoh Sebuah perusahaan memiliki pekerja yang diikat dalam sebuah kontrak dan apabila perusahaan tersebut bangkrut maka secara otomatis keberadaan pekerja tidak dibutuhkan lagi.


Baca juga tentang : Implementasi Diagram Class

7 komentar :

  1. bagaimana cara menentukan apakah atribut tersebut public atau private?

    BalasHapus
    Balasan
    1. kamu bisa liat di program yg dibikin. public bisa digunakan dimana saja, sedangkan private cuma di class dia sendiri

      Hapus
  2. Cara menentukan relationship multiplicity gimana ya ?

    BalasHapus
  3. Informasinya ini masih kurang lengkap? coba cek disini dijamin lengkap + disertai tabelnya.

    BalasHapus