dari concept map ke class diagram - rehat with … sistem harus terdiri dari modul yang dibungkus...

25
Dari Concept Map Ke Class Diagram

Upload: duongminh

Post on 22-Mar-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Dari Concept Map Ke Class Diagram

CLASS MODEL

- Sebuah CLASS menjelaskan tentang sekumpulan objek yang mempunyai fungsi yang sama dalam sebuah sistem

- Setiap objek terbuat dari CLASS- CLASS adalah benda-benda di dunia nyata: Projek, Nilai

- CLASS adalah fungsi: Pegawai, Pegawai Paruh Waktu- CLASS adalah kejadian: Pengalokasian, Penilaian

- CLASS adalah interaksi: Rapat, Diskusi

CLASS MODEL YANG BAGUS

- Membangun sebuah sistem secepat dan semurah mungkin untuk memenuhi keperluan saat ini

- Setiap sifat dan tingkah laku yang diperlukan oleh sistem harus disediakan oleh objek-objek yang diikutkan

- Membangun sistem yang mudah untuk diperbaiki dan beradaptasi terhadap keperluan masa depan

- Sistem harus terdiri dari modul yang dibungkus (enkapsulasi) dengan tingkat coupling yang rendah dan cohesion yang tinggi. (Coupling: ukuran seberapa jauh suatu modul/fungsi tergantung pada modul/fungsi yang lainnya, Cohesion: seberapa kuatnya

hubungan antar modul/fungsi yang ada)

ATTRIBUTE

- Suatu ATTRIBUTE adalah sebuah nilai data logical dari suatu object

-ATTRIBUTE dalam suatu CLASS MODEL haruslah ATTRIBUTE sederhana atau pure data values, seperti: Boolean, Date,

Number, String (tipe ATTRIBUTE) atau Name, Address, Colour, Size, Status (typical ATTRIBUTE)

- ATTRIBUTE tidak boleh berupa FOREIGN KEY

ASSOCIATION- ASSOCIATION terkait dengan KATA KERJA

- Mengekspresikan hubungan antar class- LINKS merupakan suatu contoh dari ASSOCIATION

- CLASS A dan CLASS B terasosiasi apabila:a. Suatu objek CLASS A mengirim pesan kepada objek CLASS B

b. Suatu objek CLASS A membuat objek CLASS Bc. Suatu objek CLASS A mempunyai ATTRIBUTE yang nilanya

adalah objek CLASS B atau COLLECTION objek CLASS Bd. Suatu objek CLASS A menerima pesan dengan objek CLASS B

sebagai ARGUMENT

SUBTYPES/SUPERTYPES

- Suatu definisi SUPERTYPE adalah lebih umum daripada suatu definisi SUBTYPE- Semua instances (objek) dari suatu

SUBTYPE adalah merupakan instances dari himpunan SUPERTYPE-nya

- Contoh: Seorang PEGAWAI PARUH WAKTU juga merupakan seorang PEGAWAI

Pegawai Paruh Waktu

Pegawai

SUBTYPES/SUPERTYPES- Membuat suatu SUBTYPE dari suatu SUPERTYPE bila:

a. SUBTYPE mempunyai ATTRIBUTE tambahan yang diperlukanb. SUBTYPE mempunyai ASSOCIATION tambahan yang

diperlukanc. CONCEPT SUBTYPE dioperasikan, dihandle, bereaksi pada,

atau dimanipulasi secara berbeda dari SUPERTYPE atau SUBTYPE yang lain, yang memang perlu mendapat perhatian

d. SUBTYPE merepresentasikan objek dinamis yang bertingkah laku berbeda dari SUPERTYPE atau SUBTYPE yang lain- Hal-hal di atas harus dipikirkan dalam konteks domain

permasalahan

CLASS ABSTRACT- Apabila setiap anggota/bagian dari suatu SUPERTYPE CLASS adalah merupakan anggota/bagian dari SUBTYPE di bawahnya, maka SUPERTYPE CLASS tersebut disebut dengan CLASS TIPE

ABSTRACT

Pegawai Paruh Waktu

Pegawai

Pegawai Full Time

MULTIPLICITIES

- Multiplicities mengilustrasikan seberapa banyak instances (objek) suatu CLASS yang dapat diasosiasikan dengan satu

instance (objek) CLASS yang lainnya, pada suatu waktu tertentu- Contoh: suatu objek CLASS PROJEK dapat dialokasikan pada

beberapa objek CLASS PEGAWAI PARUH WAKTU

Pegawai Paruh Waktu Projek

* 1dialokasikan

AGGREGATION- Aggregation adalah suatu tipe asosiasi untuk pemodelan

hubungan menyeluruh (whole-part)- Aggregation adalah cara untuk mencatat bahwa suatu objek

merupakan suatu bagian dari objek CLASS yang lain

- Sebagai catatan, suatu objek dapat juga secara simultan merupakan bagian dari beberapa objek yang lain.

Projek Sub Projek

1 1..*

Projek Sub Projek

1..* *

COMPOSITION- Composition merupakan suatu tipe khusus dari Aggregation- Dalam sebuah composition, bagian induk (whole) memiliki

keseluruhan anak (bagian)-nya. Kalau objek whole dikopi atau di-delete, semua bagiannya juga dikopi atau di-delete

- Multiplicity pada whole end-nya haruslah 1 atau 0..1, yang artinya suatu bagian tidak bisa menjadi bagian lebih dari satu

whole secara Composition- Composition diperlihatkan seperti Aggregation, kecuali bagian

diamonnya terisi

Projek Sub Projek

1 *

ATURAN KONVERSI

Aturan-aturan dalam mengkonversi CONCEPT MAP menjadi CLASS DIAGRAM:

- Aturan 1: Petakan CONCEPT ke CLASS- Aturan 2: Petakan CONCEPT ke ATTRIBUTE CLASS

- Aturan 3: Petakan LINK ke ASSOCIATION- Aturan 4. Petakan LINK ke HIRARKI GENERALIZATION –

SPECIALIZATION- Aturan 5: Petakan CONCEPT ke SUPERTYPE ATTRIBUTE- Aturan 6: Petakan LINK ke REFLECTIVE ASSOCIATION

COMPLETE CONCEPT MAP

CASE STUDY: Complete CONCEPT MAP untuk melakukan pengalokasian PROJEK pada PEGAWAI PARUH WAKTU

Perusahaan

Pegawai

Nama No Pegawai

mengelola data

has has

Projek

Nama No Projek

mengelola data

has has

Pegawai Paruh Waktu

is-a-type-of

Nama No Pegawai

has has

Upah per Jam

has

ditugasiAlokasi Projek

deadline

has

mengelola data

dialokasikan

ATURAN 1Petakan CONCEPT ke CLASS

Perusahaan

Pegawai

mengelola dataPerusahaan

Link LabelAttribute Knows/hasGeneralization - Specialization Is/is-a-type-a/is-a-kind-of/is-a

ATURAN 2Petakan CONCEPT ke ATTRIBUTE CLASS

Link LabelAttribute Knows/hasGeneralization - Specialization Is/is-a-type-a/is-a-kind-of/is-a

Pegawai

Nama No Pegawai

has has -Nama-No Pegawai

Pegawai

ATURAN 3

Petakan LINK ke ASSOCIATIONPerusahaan

-Nama-No Pegawai

Pegawai

mengelola data

Perusahaan

Pegawai

Nama No Pegawai

mengelola data

has has

Link LabelAttribute Knows/hasGeneralization - Specialization Is/is-a-type-a/is-a-kind-of/is-a

ATURAN 4Petakan LINK ke HIRARKI GENERALIZATION -

SPECIALIZATIONPegawai

Pegawai Paruh Waktu

Pegawai

Pegawai Paruh Waktu

is-a-type-of

Link LabelAttribute Knows/hasGeneralization - Specialization Is/is-a-type-a/is-a-kind-of/is-a

ATURAN 5Petakan CONCEPT ke SUPERTYPE ATTRIBUTE

Pegawai

Nama No Pegawai

has has

Pegawai Paruh Waktu

is-a-type-of

Nama No Pegawai

has has

Upah per Jam

has

-Nama-No Pegawai

Pegawai

-Upah per JamPegawai Paruh Waktu

Link LabelAttribute Knows/hasGeneralization - Specialization Is/is-a-type-a/is-a-kind-of/is-a

ATURAN 6Petakan LINK ke REFLECTIVE ASSOCIATION

-Nama-No Pegawai

Pegawai

mengelola

Pegawai

Nama No Pegawai

has has

mengelola

Link LabelAttribute Knows/hasGeneralization - Specialization Is/is-a-type-a/is-a-kind-of/is-a

COMPLETE CLASS DIAGRAM

Complete CLASS DIAGRAM yang sudah

dilengkapi dengan Multiplicity

Perusahaan

-Nama-No Pegawai

Pegawai

-Upah per JamPegawai Paruh Waktu

-Nama-No Projek

Projek

-dialokasikan*

*

-mengelola

1 *

-mengelola1

*-mengelola 1

*

-deadlineAlokasi Projek

Notation: Class Diagram- Untuk menyatakan bahwa suatu class adalah suatu interface

ditandai dengan <<interface>> di atas nama interface- Untuk menyatakan bahwa suatu class adalah class abstract

ditandai dengan <<abstract>> di atas nama class- Untuk menandai bahwa suatu method dalam suatu class adalah

suatu constructor ditandai dengan <<constructor>> di depan deklarasi method

- Untuk menandai bahwa suatu method adalah suatu method abstract ditandai dengan <<abstract>> di depan deklarasi method

- Modifiers dilambangkan seperti berikut ini: public (+), protected (#), private (-), dan package (~)

Sebuah Class Diagram Lengkap

Satu contoh design class diagram lengkap dengan nama class, attribute (+ tipe

attribut dan modifiers) dan method

(+parameter & tipenya, return type,

dan modifiers)

+AlokasiProjek()+AlokasiProjek(in aProject : Projek, in aPegawai : Pegawai)+setPegawai(in aPegawai : Pegawai)+setProjek(in aProject : Projek)+setDeadline(in aDeadline : Date)+getPegawai() : Pegawai+getProject() : Projek+getDeadline() : Date

-pegawai : Pegawai-projek : Projek-deadline : Date

AlokasiProjek

Any Questions?

CASE STUDY I

Admin bermaksud melakukan input data evaluasi penyelesaian projek pegawai paruh waktu dalam hal waktu penyelesaian projek dan kualitas hasil pengerjaan projek. Admin juga menginputkan note (catatan) terhadap hasil evaluasi yang dilakukan. Proses

input data dilakukan dengan memanfaatkan data pegawai (termasuk pegawai paruh waktu), data projek, dan pengalokasian

projek yang telah dilakukan sebelum proses ini dilakukan.

CASE STUDY IISeorang pegawai paruh waktu bermaksud melakukan input data timesheet harian projek yang menjadi tanggung jawabnya. Data timesheet mencakup jam mulai kerja, jam selesai kerja, diskripsi pekerjaan hari yang bersangkutan, dan % progress pengerjaan

projek dari perspektif pegawai tersebut. Dalam proses ini, sistem juga secara otomatis mengisi data % progress pengerjaan projek yang dihitung dari jumlah waktu pengerjaan yang telah dilalui dibandingkan dengan DEADLINE pengerjaan projek yang telah ditambahkan pada data projek. Proses input data dilakukan

dengan memanfaatkan data pegawai (termasuk pegawai paruh waktu), data projek, dan pengalokasian projek yang telah

dilakukan sebelum proses ini dilakukan.