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

22
Pertemuan 6 Class Diagram

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

Page 1: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Pertemuan 6

Class Diagram

Page 2: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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.

Page 3: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Class Diagram

Page 4: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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}

Page 5: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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

Page 6: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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:

Page 7: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Properti, Atribut dan Asosiasi

Contoh objek Barang

Barang

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

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

Page 8: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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)

Page 9: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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.

Page 10: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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

Page 11: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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 *

Page 12: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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 *

Page 13: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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)

Page 14: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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.

Page 15: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Generalisasi

Contoh Generalisasi – Class Diagram

PEGAWAI

NIKNAMAALAMATTGLLAHIR

DOSEN

KDDOSENMULAINGAJARHONORPERJAM

KARY_HARIAN

UPAHHARIANJMLHARIKERJA

KARY_TETAP

GAJIBULANAN

Page 16: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Catatan dan Komentar

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

Page 17: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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.

Page 18: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

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

<<call>> Sumber memanggil sebuah operasi pada target

<<create>> Sumber membuat perintah pada target

Page 19: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

KetergantunganKata Kunci Arti

<<derive>> Sumber diambil dari target

<<instantiate>> Sumber merupakan perintah target

<<permit>> Target memungkinkan sumber untuk mengakses fitur privatetarget

<<realize>> Sumber merupakan implementasi sebuah spesifikasi atauantarmuka yang ditentukan oleh target

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

<<substitute>> Sumber merupakan pengganti dari target

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

<<use>> Sumber membutuhkan target untuk implementasinya

Page 20: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Ketergantungan

Contoh dependency

Mobil

+model : String-pabrik : String

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

Roda

-ukuran : int<<use>>

Page 21: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Class Diagram berdasarkan Contoh Kasus (Acknowledgments Evi Lutfi Muktar)

Page 22: Pertemuan6 · sistem dan berbagai macam hubungan statis yang terdapat ... diagram tetapi sebenarnya adalah hal yang sama. Notasi atribut mendeskripsikan properti dengan sebaris ...

Studi Kasus

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