TD-635-06-PSBO

25
CLASS DIAGRAM tinoDWIANTORO 6

Transcript of TD-635-06-PSBO

Page 1: TD-635-06-PSBO

CLASS DIAGRAM tinoDWIANTORO

6

Page 2: TD-635-06-PSBO

PENGANTAR

• Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka.

• Class diagram juga menunjukkan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut.

• UML menggunakan istilah fitur sebagai istilah umum yang meliputi properti dan operasi sebuah class.

Page 3: TD-635-06-PSBO

Contoh Class Diagram

Page 4: TD-635-06-PSBO

PROPERTI, ATRIBUT DAN ASOSIASI

• Properti mewakili fitur-fitur struktural dari sebuah class. Properti merupakan sebuah konsep tunggal, tetapi tampak seperti dua notasi yang sedikit berbeda : atribut dan asosiasi. Meskipun tampak berbeda dalam sebuah diagram tetapi sebenarnya adalah hal yang sama.

• Notasi atribut mendeskripsikan properti dengan sebaris teks didalam kotak class tersebut

• Contoh:

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

Page 5: TD-635-06-PSBO

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 atribut tersebut

• [1] = multiplicity

• untitled = default 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 tidak dapat mengubah properti tersebut

Page 6: TD-635-06-PSBO

• Asosiasi merupakan sebuah garis solid antara dua class, ditarik dari class sumber ke class target. Nama properti bergerak sampai tujuan akhir sebuah asosiasi bersama dengan multiplicity. Tujuan akhir sebuah asosiasi menghubungkan dengan class yang merupakan jenis properti.

• Properti dalam susunan atribut dapat digambarkan sebagai berikut:

Page 7: TD-635-06-PSBO

Contoh objek Barang

Barang

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

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

Page 8: TD-635-06-PSBO

MULTIPLICITY

• Multiplicity merupakan indikasi tentang berapa banyak objek yang akan mengisi properti. Multiplicity yang sering digunakan adalah:

Multiplicity Contoh

1 satu pesanan hanya bisa untuk seorang pelanggan

0..1 pelanggan perusahaan dapat memiliki seorang sales rep

* tidak ada jumlah maksimal / tidak terbatas berapa jumlah pesanan yang dapat dibuat oleh pelanggan)

Page 9: TD-635-06-PSBO

Simbol Multiplicity

Multiplicity Keterangan

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: TD-635-06-PSBO

Association multiplicity

Association multiplicity merupakan batasan pada user dalam melakukan aktifitasnya. Beberapa macam istilah yang mengacu pada multiplicity:

• Optional

Menunjukkan sebuah batas bawah yang bernilai nol (0)

• Mandatory

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

• Single-valued

Menunjukkan sebuah batas atas yang bernilai satu (1)

• Multivalued

Menunjukkan sebuah batas atas yang bernilai lebih dari satu (1) dan biasanya ditulis dengan tanda *

Page 11: TD-635-06-PSBO

Asosiasi Bidireksional

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

• Sifat bidireksional ditunjukkan secara jelas dengan adanya panah navigasi pada kedua ujung asosiasi.

Orang Mobil pemilik

0..1 *

Page 12: TD-635-06-PSBO

Operasi • Operasi merupakan suatu kegiatan yang dimengerti sebuah

class untuk dilakukan. Operasi secara jelas berhubungan dengan metode dalam sebuah class.

• Istilah lain yang sering digunakan pada operasi adalah metode tetapi sebenarnya tidak sama. Perbedaannya adalah operasi adalah hal yang diharapkan pada sebuah objek (deklarasi prosedur), sedangkan sebuah metode adalah bentuk prosedur.

• Dalam metode ada istilah getting dan setting. Metode getting akan mengembalikan nilai dari sebuh bidang (dan tidak melakukan hal lain selain itu) sedangkan metode setting meletakkan nilai kedalam sebuah bidang (dan tidak melakukan hal lain selain itu)

Page 13: TD-635-06-PSBO

Generalisasi

• Contoh dari gambar class sebelumnya yang merupakan generalisasi melibatkan pelanggan perorangan dan pelanggan perusahaan. Keduanya mempunyai persamaan dan perbedaan. Persamaan tersebut dapat dimasukkan kedalam class pelanggan umum (supertype) dengan pelanggan perorangan dan pelanggan perusahaan sebagai subtype.

• Dengan menggunakan perspektif perangkat lunak, interpretasi tersebut sudah termasuk: pelanggan perusahaan merupakan subclass dari pelanggan. Dalam object oriented subclass mewarisi semua fitur superclass dan dapat melakukan semua metode superclass.

Page 14: TD-635-06-PSBO

Contoh Generalisasi – Class Diagram PEGAWAI

Nik Nama Alamat Tgllahir

DOSEN

Kddosen Mulaingajar Honorperjam

KARY_HARIAN

Upahharian Jmlharikerja

KARY_TETAP

Gajibulanan

Page 15: TD-635-06-PSBO

Catatan dan Komentar

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

Page 16: TD-635-06-PSBO

Ketergantungan

• Sebuah ketergantungan muncul antara dua elemen jika perubahan definisi sebuah elemen dapat menyebabkan perubahan pada elemen lainnya. Dalam class ketergantungan muncul karena banyak hal, antara lain : salah satu class mengirim pesan ke class lain, salah satu class memiliki sebagian data, salah satu class menyebut class lain sebagai parameter sebuah operasi. Jika sebuah class mengubah antarmukanya, setiap pesan yang dikirim ke class tersebut dapat menjadi tidak valid.

• Ketergantungan di gambarkan dengan garis putus-putus.

Page 17: TD-635-06-PSBO

• Banyak hubungan-hubungan UML menunjukkan ketergantungan. Asosiasi dengan kemampuan navigasi dari pesanan sampai ke pelanggan dalam gambar sebelumnya, berarti pesanan tersebut tidak tergantung pelanggan. Sebuah subclass tidak tergantung pada superclass-nya tetapi tidak sebaliknya.

• Kata kunci dalam ketergantungan dapat dijelaskan sebagai berikut:

Kata Kunci Arti

<<call>> Sumber memanggil sebuah operasi pada target

<<create>> Sumber membuat perintah pada target

Page 18: TD-635-06-PSBO

Kata Kunci Arti

<<derive>> Sumber diambil dari target

<<instantiate>> Sumber merupakan perintah target

<<permit>> Target memungkinkan sumber untuk mengakses fitur private target

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

<<refine>> Perbaikan menunjukkan sebuah hubungan antara tingkat semantik yang berbeda, contohnya, sumber merupakan sebuah class desain dan targetnya adalah class analisis yang terkait

<<substitute>> Sumber merupakan pengganti dari target

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

<<use>> Sumber membutuhkan target untuk implementasinya

Page 19: TD-635-06-PSBO

Contoh dependency (ketergantungan)

Mobil

+model : String

-pabrik : String

+BelokKanan() : void

+BelokKiri() : void

+JalanLurus() : void

Roda

-ukuran : int <<use>>

Page 20: TD-635-06-PSBO

STUDI KASUS

-- PENYEWAAN MOBIL -- <<lihat slide studi kasus>>

Page 21: TD-635-06-PSBO

LATIHAN SOAL

Page 22: TD-635-06-PSBO

1. Dalam multiplicity, istilah yang menunjukkan batas

bawah yang bernilai 0 adalah:

A. Optional D. Multi-valued

B. Mandatory E. Asosiasi

C. Single-valued

2. Yang merupakan sebuah garis solid antara dua class,

ditarik dari class sumber ke class target adalah

pengertian dari:

A. Properti D. Multi-valued

B. Atribut E. Asosiasi

C. Class

Page 23: TD-635-06-PSBO

3. Gambar disamping adalah:

A. Class D. Asosiasi

B. Multiplicity E. Atribut

C. Catatan dan komentar

4. Kata kunci dalam ketergantungan dalam sebuah class

yang berarti sumber diambil dari target adalah:

A. derive D. realize

B. instantiate E. refine

C. permit

Page 24: TD-635-06-PSBO

5. Sebuah class mempunyai 3 area yaitu:

A. Nama class, package, asosiasi

B. Nama class, asosiasi, metode

C. Nama class, atribut, operasi

D. Nama class, multiplicity, properti

E. Nama class, single-valued, multi-valued

Page 25: TD-635-06-PSBO

TERIMA KASIH