Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya...
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: