Rabu, 18 Maret 2015

kelas diagram



Class Diagram

            Class adalah sebuah spesifikasi yang jika diinstansiasi 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).
            Class adalah kumpulan objek-objek yang mempunyai struktur umum, behavior umum, relasi umum, dan semantic/kata yang umum. Class ini sebenarnya merupakan blue print dari  sebuah objek.  Dengan  mendeklarasikan  suatu  class,  maka  kita  telah  mendeklarasikan  suatu tipe data baru (tipe data referensi).
            Class diagram  menggambarkan struktur dan deskripsi  class, package  dan objek beserta hubungan satu sama lain seperti  containment , pewarisan, asosiasi, dan lain-lain.
 Class memiliki tiga area pokok :
  1. Nama (dan stereotype)
  2. Atribut
  3. Metoda
 Atribut dan metoda dapat memiliki salah satu sifat berikut :
  • Private , tidak dapat dipanggil dari luar class yang bersangkutan
  • Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
  • Public , dapat dipanggil oleh siapa saja
            Class dapat merupakan implementasi dari sebuah  interface , yaitu  class abstrak yang hanya memiliki metoda. Interface  tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class.  Dengan demikian interface  mendukung resolusi metoda pada saat  run-time .


            Penggambaran  dari  sebuah class  berupa  icon  persegi  yang  memiliki  tiga  bagian  ruang didalamnya seperti gambar berikut ini:

 –  Kolom paling atas merupakan representasi dari nama kelas.
-  Kolom  yang  tengah  berisi  atribut-atribut  yang  dimiliki  kelas tersebut.
-  Kolom yang terakhir (paling bawah) berisi operasi atau method
Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi  package. Kita juga dapat membuat diagram yang terdiri atas  package.


Hubungan Antar Class
  1. Asosiasi, yaitu hubungan statis antar  class . Umumnya menggambarkan  class yang memiliki atribut berupa  class lain, atau class yang harus mengetahui eksistensi  class lain. Panah navigability  menunjukkan arah  query antar  class.
  2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
  3. Pewarisan, yaitu hubungan hirarkis antar class.  Class dapat diturunkan dari  class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari  class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
  4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di- passing dari satu  class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan  sequence diagram yang akan dijelaskan kemudian.
Definisi Class Diagram
            Class diagram adalah diagram yang digunakan untuk menampilkan beberapa kelas serta paket-paket  yang  ada  dalam sistem/perangkat  lunak  yang  sedang  kita kembangkan dimana diagram  ini memberi  kita gambaran  (diagram  statis)  tentang  sistem/perangkat  lunak dan relasi-relasi yang ada di dalamnya.
-  Atribut : merupakan  properti  dari  sebuah  kelas yang  melambangkan  nilai-nilai yang mungkin ada pada kelas tersebut.
            Atribut merupakan data yang dimiliki suatu objek dalam  kelas. Setiap atribut akan memiliki nilai berbeda untuk setiap objek
Contoh: Kelas manusia misalnya memiliki atribut Nama dan Umur. Untuk kebutuhan  aplikasi  hanya  atribut – atribut  penting  saja  yang  ditampilkan, atribut yang penting disini mungkin berlainan  untuk setiap aplikasi.
            Misalnya,  aplikasi  pencatatan  mahasiswa  yang  kuliah  di  perguruan  tinggi tertentu mungkin tidak membutuhkan atribut tinggi badan serta berat badan sedangkan aplikasi untuk event olahraga tertentu mungkin membutuhkan atribut- atribut  tersebut.  Atribut  yang  penting  bagi  aplikasi  tertentu membutuhkan kajian yang mendalam oleh para analis sistem.
-  Operation  atau Method : merupakan behavior(tingkah  laku)  atau  fungsi  yang dapat dilakukan oleh kelas tersebut.
            Operasi dan Metode merupakan  fungsi  atau  transformasi  yang  mungkin  dapat  diaplikasikan ke/oleh suatu objek dalam kelas. Misalnya, suatu objek da lam kelas manusia mungkin memiliki fungsi- fungsi: tersenyum, marah, makan, minum dsb.
            Operasi  yang  sama  dapat  diterapkan  pada  kelas- kelas  yang  berbeda. Misalnya fungsi makan dapat diterapkan baik pada kelas manusia maupun pada kelas kera, konsep ini yang dimaksud dengan konsep Polimorfisme.
Relasi antar class
            UML  mendefinisikan  beberapa  cara untuk  merepresentasikan  relasi(hubungan) antara kelas, diantaranya adalah sebagai berikut:


  1. Association
            Dapat  diartikan sebagai relasi “.. has  a..”.  Digambarkan  sebagai  garis  lurus  antara  dua kelas. Namun  tidak  berarti  bahwa  kelas satu  memiliki/dimiliki kelas  yang  lain,  tetapi kelas lain dapat berelasi juga dengan kelas yang sama.


       2.  Directed Association
            Relasi  seperti asosiasi namun menggambarkan  objek  atau  aliran  kejadian  berasal  dari salah satu kelas, sedang kelas yang lainnya bersifat pasif.


      3. Aggregation
            Dapat  diartikan  sebagai “..owns  a  ..”(“terdiri  atas..”). Terdapat  kelas sebagai  part  class (kelas  bagian)  yang  merupakan bagian  dari  kelas  lain(whole  class). Namun  jika whole class tidak ada, part class masih dapat berdiri sendiri.


Apabila  kelas  person dihilangkan, maka  alamat  rumah  masih  dapat berdiri sendiri.
      4. Composition
            Bisa disebut  juga sebagai strong  agregation, dapat diartikan “..is part of..” (“..bagian dari..”). Seperti halnya relasi agregasi, namun apabila whole class hilang, maka mustahil part class untuk ada.


Apabila kelas mobil dihilangkan, maka tangki BBM mobil ikut hilang.
      5. Generalization
            Dapat  diartikan  sebagai  relasi “..is a..” Digunakan untuk merepresentasikan  pewarisan. Suatu kelas (child class) dapat diturunkan dari kelas lain dan mewarisi semua atribut dan method induknya (parent class) dan dapat menambah method atau atribut baru.
 Sebagai contoh kucing, srigala, singa, macan adalah hewan. Maka bisa dibuat relasi antar kelas seperti berikut ini:
      6. Dependency
            Merupakan hubungan  ketergantungan  antar  kelas.  Suatu  kelas  memiliki ketergantungan terhadap  kelas  lain,  tetapi  tidak  berlaku  sebaliknya. Perubahan  pada  salah  satu  elemen kelas (pemasok) berdampak pada kelas lain (klien).


      7. Realization
            Adalah sebuah relasi antar dua class yang mengharuskan class yang satu harus mengikuti aturan  dari  class  yang  lainnya.  Biasanya  terjadi  antara  kelas  dengan antarmuka (interface)


Visibility
            Untuk menentukan visibilitas (nilai yang diijinkan untuk dilihat atau di akses) anggota kelas  (yaitu,  atribut  atau  method)  terdapat  notasi  berikut  yang  harus  ditempatkan  sebelum nama anggota kelas.


+  public  :  visibilitas yang  menunjukkan  bahwa  anggota  kelas  tersebut dapat  diakses oleh  kelas  lain  sekalipun  tidak  mewarisi  kelas  yang bersangkutan namun masih memiliki relasi dengan kelas tersebut.
#  protected  :  menunjukkan  bahwa  anggota  kelas  tersebut hanya  dapat  dipanggil oleh kelas yang bersangkutan dan kelas anak yang mewarisinya.
- private : menunjukkan bahwa anggota kelas tersebut hanya dapat dipanggil oleh kelas yang bersangkutan dan tidak dapat dipanggil oleh kelas lain.
~  package  :  menunjukkan  atribut  tersebut  dapat dilihat oleh kelas lain  yang  masih terdapat dalam paket yang sama.

Cardinalitas
            Cardinalitas  atau  multiplicity adalah  simbol  yang menunjukkan  jumlah instansiai dari satu kelas terkait dengan kelas lainnya.
Multiplisitas
            Multiplisitas menunjukan jumlah suatu objek yang bisa berhubungan dengan objek lain. Multiplisitas biasa ditunjukan dengan “satu” serta “banyak”, tetapi secara khusus dapat ditunjukan pula dengan bilangan integer lebih besar atau sama dengan nol. Contoh – contoh bilangan yang bisa digunakan adalah “1”  (satu- dan – hanya- satu),  “1+”  (satu  atau  lebih),  “1 – 4″  (satu  hingga empat), “1,3,5” (satu atau tiga atau lima), dan seterusnya.
            Selain itu juga dikenali simbol- simbol khusus yang dapat diterapkan dalam multiplisitas ini. Lingkaran berisi menunjukan “banyak”, sedangkan lingkaran kosong  berarti  “bukan  keharusan”  (opsional),  yaitu  nol  atau  satu.  Garis tanpa lingkaran (baik kosong maupun berisi) menunjukan hubungan satu- ke- satu.
Berikut contoh multiplisitas


Gambar  diatas  menunjukan  bahwa  suatu  perusahaan  memiliki  “banyak” karyawan sedangkan seorang karyawan pasti bekerja di suatu perusahaan tertentu.
Pada umumnya multiplisitas (seperti halnya kardinalitas dalam ERD) memiliki nilai “satu” atau “banyak”.
Contoh  1


Implementasi class diagram buku ke dalam program


Contoh 2


Tidak ada komentar:

Posting Komentar