Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya...

of 22 /22
Pertemuan 6 Class Diagram

Embed Size (px)

Transcript of Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya...

  • Pertemuan 6

    Class Diagram

  • Class Diagram

    Class Diagram mendeskripsikan jenis-jenis objek dalamsistem dan berbagai macam hubungan statis yang terdapatdiantara mereka. Class diagram juga menunjukkan propertidan operasi sebuah class dan batasan-batasan yangterdapat dalam hubungan-hubungan objek tersebut. UMLmenggunakan istilah fitur sebagai istilah umum yangmeliputi properti dan operasi sebuah class.

  • Class Diagram

  • Properti, Atribut dan Asosiasi

    Properti mewakili fitur-fitur struktural dari sebuah class.Properti merupakan sebuah konsep tunggal, tetapi tampakseperti dua notasi yang sedikit berbeda : atribut danasosiasi. Meskipun tampak berbeda dalam sebuahdiagram tetapi sebenarnya adalah hal yang sama.

    Notasi atribut mendeskripsikan properti dengan sebaristeks didalam kotak class tersebut

    Contoh:-name : string [1] = “untitled” {read only}

  • Properti, Atribut dan Asosiasi

    Keterangan :� +/- = tanda visibility, + public / - private� name = atribut, bagaimana class tersebut mengacu pada

    atribut� string = tipe dari atribut, menunjukkan sebuah batasan

    tentang objek apa yang dapat diletakkan dalam atributtersebut

    � [1] = multiplicity� untitled = devault value, nilai objek yang baru dibuat jika

    atribut tidak dispesifikasi selama pembuatannya� {property string}, memungkinkan untuk menunjuk properti

    tambahan, misalnya read only yang berarti bahwa klien tidakdapat mengubah properti tersebut

  • Properti, Atribut dan Asosiasi

    Asosiasi merupakan sebuah garis solid antara dua class,ditarik dari class sumber ke class target. Nama propertibergerak sampai tujuan akhir sebuah asosiasi bersamadengan multiplicity. Tujuan akhir sebuah asosiasimenghubungkan dengan class yang merupakan jenisproperti.Properti dalam susunan atribut dapat digambarkan sebagaiberikut:

  • Properti, Atribut dan Asosiasi

    Contoh objek Barang

    Barang

    +KodeBrg : String+NamaBrg : String+HargaBrg : Long+StokBrg : Int

    -TambahData() : void-HapusData() : void-UbahData() : void-HitungStok() : void

  • Multiplicity

    Multiplicity merupakan indikasi tentang berapa banyakobjek yang akan mengisi properti. Multiplicity yangsering digunakan adalah:

    � 1 contoh: satu pesanan hanya bisa untuk seorang pelanggan� 0..1 contoh: pelanggan perusahaan dapat memiliki seorangsales rep� * contoh: tidak ada jumlah maksimal / tidak terbatas berapajumlah pesanan yang dapat dibuat oleh pelanggan)

  • MultiplicityIndikator/Gambar Arti

    0..1 Kosong atau satu

    0..* Lebih dari sama dengan kosong

    0..n Lebih dari sama dengan n, dimana n lebih dari 1

    1 Hanya satu

    1..* Lebih dari sama dengan satu

    1..n Lebih dari sama dengan satu dimana n lebih dari satu

    * Banyak atau Many

    N Hanya N, dimana N lebih dari satu

    n..* Lebih dari sama dengan N dimana N lebih dari satu

    n..m Lebih dari sama dengan N dan kurang dari sama dengan M.Dimana M dan N lebih dari satu.

  • Multiplicity

    Association multiplicity merupakan batasan pada userdalam melakukan aktifitasnya. Beberapa macam istilahyang mengacu pada multiplicity:� Optional Menunjukkan sebuah batas bawah yang bernilai nol (0)

    � MandatoryMenunjukkan sebuah batas bawah yang bernilai satu (1) atau mungkin lebih

  • Multiplicity

    Association multiplicity merupakan batasan pada userdalam melakukan aktifitasnya. Beberapa macam istilahyang mengacu pada multiplicity:

    � Single-valuedMenunjukkan sebuah batas atas yang bernilai satu (1)

    � MultivaluedMenunjukkan sebuah batas atas yang bernilai lebih darisatu (1) dan biasanya ditulis dengan tanda *

  • Asosiasi Bidireksional

    Asosiasi bidireksional adalah sepasang properti yang saling berhubungan satu sama lain.

    Sifat bidireksional ditunjukkan secara jelas dengan adanyapanah navigasi pada kedua ujung asosiasi.

    Orang Mobilpemilik

    0..1 *

  • Operasi

    � Operasi merupakan suatu kegiatan yang dimengertisebuah class untuk dilakukan. Operasi secara jelasberhubungan dengan metode dalam sebuah class.

    � Istilah lain yang sering digunakan pada operasi adalahmetode tetapi sebenarnya tidak sama. Perbedaannyaadalah operasi adalah hal yang diharapkan padasebuah objek (deklarasi prosedur), sedangkan sebuahmetode adalah bentuk prosedur.

    � Dalam metode ada istilah getting dan setting. Metodegetting akan mengembalikan nilai dari sebuh bidang(dan tidak melakukan hal lain selain itu) sedangkanmetode setting meletakkan nilai kedalam sebuahbidang (dan tidak melakukan hal lain selain itu)

  • Generalisasi

    Contoh dari gambar class sebelumnya yang merupakangeneralisasi melibatkan pelanggan perorangan danpelanggan perusahaan. Keduanya mempunyai persamaandan perbedaan. Persamaan tersebut dapat dimasukkankedalam class pelanggan umum (supertype) denganpelanggan perorangan dan pelanggan perusahaan sebagaisubtype.Dengan menggunakan perspektif perangkat lunak,interpretasi tersebut sudah termasuk: pelangganperusahaan merupakan subclass dari pelanggan. Dalamobject oriented subclass mewarisi semua fitur superclassdan dapat melakukan semua metode superclass.

  • Generalisasi

    Contoh Generalisasi – Class Diagram

    PEGAWAI

    NIKNAMAALAMATTGLLAHIR

    DOSEN

    KDDOSENMULAINGAJARHONORPERJAM

    KARY_HARIAN

    UPAHHARIANJMLHARIKERJA

    KARY_TETAP

    GAJIBULANAN

  • Catatan dan Komentar

    Catatan merupakan komentar didalam diagram. Catatan-catatan dapat berdiri sendiri atau dihubungkan dengangaris hubung dengan elemen yang dikomentari.

  • Ketergantungan

    Sebuah ketergantungan muncul antara dua elemen jikaperubahan definisi sebuah elemen dapat menyebabkanperubahan pada elemen lainnya. Dalam classketergantungan muncul karena banyak hal, antara lain :salah satu class mengirim pesan ke class lain, salah satuclass memiliki sebagian data, salah satu class menyebutclass lain sebagai parameter sebuah operasi. Jika sebuahclass mengubah antarmukanya, setiap pesan yang dikirimke class tersebut dapat menjadi tidak valid.Ketergantungan di gambarkan dengan garis putus-putus.

  • Ketergantungan

    Banyak hubungan-hubungan UML menunjukkanketergantungan. Asosiasi dengan kemampuan navigasidari pesanan sampai ke pelanggan dalam gambarsebelumnya, berarti pesanan tersebut tidak tergantungpelanggan. Sebuah subclass tidak tergantung padasuperclass-nya tetapi tidak sebaliknya.Kata kunci dalam ketergantungan dapat dijelaskan sebagaiberikut:

    Kata Kunci Arti

    Sumber memanggil sebuah operasi pada target

    Sumber membuat perintah pada target

  • KetergantunganKata Kunci Arti

    Sumber diambil dari target

    Sumber merupakan perintah target

    Target memungkinkan sumber untuk mengakses fitur privatetarget

    Sumber merupakan implementasi sebuah spesifikasi atauantarmuka yang ditentukan oleh target

    Perbaikan menunjukkan sebuah hubungan antara tingkatsemantik yang berbeda, contohnya, sumber merupakansebuah class desain dan targetnya adalah class analisisyang terkait

    Sumber merupakan pengganti dari target

    Digunakan untuk mencari sesuatu seperti persyaratan class atau bagaimana perubahan dalam sebuah modelberhubungan dengan perubahan di lain tempat

    Sumber membutuhkan target untuk implementasinya

  • Ketergantungan

    Contoh dependency

    Mobil

    +model : String-pabrik : String

    +BelokKanan() : void+BelokKiri() : void+JalanLurus() : void

    Roda

    -ukuran : int

  • Class Diagram berdasarkan Contoh Kasus (Acknowledgments Evi Lutfi Muktar)

  • Studi Kasus

    Class diagram dari rancangan sistem informasipenyewaan pada Bendi Car yang diusulkan sebagaiberikut: