sequence diagram, class diagram · pdf filesequence diagram •mendefinisikan interaksi...

Post on 06-Feb-2018

239 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sequence Diagram,

Class Diagram

Mata Kuliah Testing & Implementasi Sistem

Program Studi Sistem Informasi 2013/2014

STMIK Dumai

-- Materi 07 --

This presentation is revised by Hazlinda A., STMIK, 2013

Acknowledgement

Main Material:

• *Yud, 2012+ Yudhoatmojo, Satrio Baskoro. “Software & Software

Engineering” IKI30202 - Rekayasa Perangkat Lunak Term 1 - 2011/2012.

Faculty of Computer Science University of Indonesia. 2012. Print

Supplements:

• [BCSPW] Blog Catatan Sebuah Perjalanan Wordpress – Unified Modeling

Language (UML)

• *MHGB+ “Sequence Diagram” - mahergabayu.blogspot.com

• *DRCW+ “Tips Membuat Sequence Diagram” – derienct.wordpress.com

• *BKPPB+ “Sequence Diagram” – Bahan Kuliah PPT PDF

• [PCCW] pccontror.wordpress.com

Sequence Diagram

• Mendefinisikan interaksi yang ada di dalamsistem

– Mengilustrasikan objek yang berpartisipasi didalam use case

• Menggambarkan interaksi mana yang dilakukan saat suatu use case dijalankan

Sequence Diagram

• Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu.

• Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

• Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.

• Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.

• Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.

Source: [BCSPW]

Sequence Diagram

• Sequence diagram adalah visual coding ( perancangan form/layar)

• Interaksi object yang tersusun dalam suatu urutan waktu/kejadian

• Diagram ini secara khusus berasosiasi dengan use case diagram– Memperlihatkan tahap demi tahap apa yang seharusnya terjadi

untuk menghasilkan sesuatu didalam use case

• Sequence diagram memodelkan aliran logika dalam sebuah system dalam cara yang visual

• Sequence diagram biasanya dipakai untuk mendeskripsikansebuah/beberapa use case pada use case diagram, yang menggambarkan hubungan antara actor dan use case

Source: [MHGB]

Komponen Sequence Diagram

Partisipan

Lifeline Peristiwa eksekusi/

Execution occurrence

Pesan/message

Partisipan

• Partisipan berinteraksi satu sama lain sepanjang alursequence diagram.

• Partisipan dapat berupa aktor, objek dari class, tabel dari database, atau apapun yang menjadibagian dari jalannya sistem.

• Partisipan yang akan mengirim/menerima alurpesan (message).

Partisipan

Lifeline

• Sebuah lifeline menunjukkan kapan aktifnyasuatu objek partisipan sepanjang sequence.

Lifeline

Peristiwa Eksekusi

• Peristiwa eksekusi berbentukpersegi panjang yang diletakkandi garis lifeline untukmenandakan kapan suatu objekmengirim atau menerima pesan.

Peristiwa eksekusi/

Execution occurrence

Pesan (message)

• Pesan menyampaikan informasi dari suatu objek keobjek lainnya.

• Pesan yang dikirim (send) digambarkan dengan garispanah yang solid

• Sedangkan pesan yang diterima(receive/return)digambarkan dengan garis putus-putus.

Pesan/message

Tipe Pesan (message)

Object Message

Menggambarkan pesan kirim antar objek.

Message to Self

Mengambarkan pesan ke objek itu sendiri.

Tipe Pesan (message) – lanj’

Return Message

Menggambarkan pesan kembali antar objek.

Tips membuat sequence diagram

Buat Flow of event terlebih dahulu ada di UC spesifikasiDari flow of event, cari kata benda yang nantinya

akan menjadi kandidat objek partisipanAktor terletak di paling kiri sequence diagramControl object, biasanya diletakkan setelah aktorSatu use case satu sequence diagramSatu object bisa digunakan pada lebih dari satu

sequence diagram

Source: [DRCW]

Belajar membuat sequence

diagram• Misalnya ada seorang pelanggan ingin makan nasi

goreng. Maka pelanggan akan menemui waiter.

• Waiter mencatat pesanan pelanggan. Karena waiter tidak bisa memasak nasi goreng, maka dia meminta bantuan pada TukangNasiGoreng.

• Jika bahan nasi goreng habis, maka TukangNasiGoreng akan meminta TukangBahanBaku, untuk menyediakan bahan baku.

• Jika bahan baku habis,maka TukangBahanBaku akan meminta supplier mengirimkan bahan baku.

Source: [BKPPB]

Belajar membuat sequence

diagram• Terlihat bahwa suatu pernyataan yang membutuhkan

kelas sangat dipentingkan disini. Yang bisa membuat nasi goreng adalah tukang nasi goreng, maka waiter mengirimkan pesan buatNasiGoreng yang arahnya menuju kelas TukangNasiGoreng.

• Begitu juga jika bahannya berasal dari kelas lain, makakelas TukangNasiGoreng mengirimkan pesan ke kelas yang tepat, yaitu kelas TukangBahanBaku.

• Jika TukangBahanBaku perlu bahan baku, maka ia akan meminta kelas yang punya metode kirimkan bahan baku untuk bekerja.

Source: [BKPPB]

Belajar membuat sequence

diagram

• Contoh diatas berasumsi bahwa TukangNasiGoreng, TukangBahanBaku dan Supplier adalah sesuatu yang akan dikoding. Walaupun dalam kenyataanya mereka sebenarnya tidak bisa dikoding, contoh ini hanya untuk memudahkan pemahaman konsep saja.

Jika dibuatkan Sequence Diagram-nya, maka akan jadi seperi ini ..

Source: [BKPPB]

Belajar membuat sequence

diagram

Source: [BKPPB]

buatNasiGoreng()

siapkanBahanNasiGoreng()

kirimBahanBaku()

TukangNasiGoreng TukangBahanBaku Supplier

Pelanggan Waiter

Mulai membuat Sequence

Diagram

Kasus: Edit Profile

Aktor Sistem

1. Memilih menu edit

2. Menampilkan field untuk mengganti profile

3. Mengganti profile yang diinginkan

4. Mengganti profile dan menyimpan ke dalam database

Berikut adalah contoh basic flow dari use case: Edit Profile

Sequence Diagram

Cara lain menggambar

PartisipanBoundary

Mengambarkan interaksi antara satu atau lebih actor dengan

sistem, memodelkan bagian darisistem yang bergantung pada

pihak lain disekitarnya dan merupakan pembatas sistem dengan

dunia luar.

Control

Menggambarkan “perilaku mengatur”, mengkoordinasikan

perilaku sistem dan dinamika dari suatu sistem, menangani

tugas utama dan mengontrol alur kerja suatu sistem

Entity

Menggambarkan informasi yang harus disimpan oleh

sistem (struktur data dari sebuah sistem)

Source: [MHGB]

Contoh

Source: [MHGB]

Class Diagram

Class Diagram

• Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.

• Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi).

• Class memiliki tiga area pokok :– 1. Nama (dan stereotype)– 2. Atribut– 3. Metode

Class Diagram

• Atribut dan metode dapat memiliki salah satu sifat berikut :

– Private, tidak dapat dipanggil dari luar class yang bersangkutan

– Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya

– Public, dapat dipanggil oleh siapa saja

Nama Class

Atribut

Metode/operasi

Class Diagram

• Berfungsi untuk menggambarkan Objek/Class Pada Sistem

Contoh :

– Object Class Program

– Tabel Data Pada Database

Objek - Class Diagram

Secara umum ada 4 objek Class Diagram:

• Atribut

• Operation/Function/Method

• Relationship

• Note/Keterangan (Optional)

Objek - Class Diagram

MAHASISWA

+ NIM:String

+ NAMA:String

+ ALAMAT:String

+ TGLLAHIR:Date

tambahMhs()

updateMhs()

hapusMhs()

Nama Class

Attribut Class

Behaviour Class

NIM : 2 digit pertama adalah tahun,

digit 3 dan 4 adalah angkatan, digit 5

adalah jenjang

Keterangan

(tambahan / option)

Icon – Class Diagram

MAHASISWA

+ NIM:String

+ NAMA:String

+ ALAMAT:String

+ TGLLAHIR:Date

Nama Class

Attribut Class

Relasi – Class Diagram

MAHASISWA

+ NIM:String

+ NAMA:String

+ ALAMAT:String

+ TGLLAHIR:Date

tambahMhs()

updateMhs()

hapusMhs()

selectWLY(kdPos)

WILAYAH

+kdPos:String

+nmWilayah:String

tambahWLY()

updateWLY()

hapusWLY()

1..* 1

INDIKATOR

Indikator Relasi (Multiplicity)

Indikator/Gambar Arti Keterangan/Contoh

0..1 Nol atau satu

0..* Nol atau lebih

0..n Nol sampai n 0..3

1 Satu dan hanya satu

1..* Satu atau lebih

1..n Satu sampai n 1..5

* nol atau lebih

N Hanya n, dimana n lebih dari satu 9

n..* n atau lebih 7..*

n..m n sampai m 3..10

Indikator Relasi

Agregasi (Aggregation)

Kunci Gabungan(Composite Key)

Turunan (Inheritance) Specialisasi/Generalisasi

Ralasi (Relation)

Dependencies

Realizations

Indikator Relasi

1. Asosiasi, menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain.

2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).

3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metode class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

Indikator Variabel

+ Public

# Protected

- Private

$ Static

/ Drived Atribut tidak standar

* Abstrak Fungsi tidak standar

Mulai Membuat Class Diagram

Contoh – Class Diagram

“Setiap nomor rekening harus memiliki 1 dan hanya 1 kartu ATM”

REKENING

NoRek

Nama

TglLahir

Alamat

kartuATM

NoATM

TglBuat

TglAktif

Password

1 1

Contoh – Class Diagram

“Setiap nomor rekening dapat memiliki 1 ATM”

REKENING

NoRek

Nama

TglLahir

Alamat

kartuATM

NoATM

TglBuat

TglAktif

Password

1 0.. 1

Contoh – Class Diagram

“Satu dosen tinggal di satu wilayah, namun satu wilayah bisa saja dihuni oleh banyak dosen”

DOSEN

NIM

NAMA

ALAMAT

TGLLAHIR

WILAYAH

KDPOS

NMWILAYAH

1..* 1

Contoh – Class Diagram

“Satu dosen tidak harus terdata di wilayah, sedangkan wilayah tersebut bisa saja mempunyai banyak dosen”

DOSEN

NIM

NAMA

ALAMAT

TGLLAHIR

WILAYAH

KDPOS

NMWILAYAH

0..* 1

Contoh – Class Diagram

• Many To Many Association

1 (satu) dosen dapat mengajar banyak mata kuliah dan 1 (satu) mata kuliah dapat diajarkan oleh banyak dosen.

DOSEN

KDDOSEN

NAMA

ALAMAT

TGLLAHIR

MATAKULIAH

KDMATKUL

NMMATKUL

1..* 1..*

JADWAL

JAMMULAI

JAMAKHIR

Class Asosiasi

Contoh – Class Diagram

DOSEN

KDDOSEN

NAMA

ALAMAT

TGLLAHIR

MATAKULIAH

KDMATKUL

NMMATKUL

JADWAL

JAMMULAI

JAMAKHIR

1..* 1..*

1

1

Alternatif dari class asosiasi…

Generalisasi – Class Diagram

• Dua atau lebih class dapat melakukan berbagi atribut danmethod

• Dosen, karyawan harian, dan karyawan tetap merupakanpegawai

PEGAWAI

NIK

NAMA

ALAMAT

TGLLAHIR

DOSEN

KDDOSEN

MULAINGAJAR

HONORPERJAM

KARY_HARIAN

UPAHHARIAN

JMLHARIKERJA

KARY_TETAP

GAJIBULANAN

Agregasi dan Composite – Class Diagram

Contoh Agregasi

Contoh Composite

Agregasi dan Composite – Class Diagram

• Agregasi merupakan gabungan tetapi tidak mutlak

PELANGGAN

NOPLG

NAMA

TGLDAFTAR

PEL_PLN

NOPLGPLN

NAMAPLGPLN

TGLDAFTARPLN

PEL_TELKOM

NOPLGTELKOM

NAMAPLGTELKOM

TGLDFTRTELKOM

Class Diagram Agregasi

TAGIHAN

NOTAGIHAN

TGLTAGIHAN

PEMBAYARAN

NOEMBAYARAN

TGLTAGIHAN

Class Diagram Komposit

Agregasi dan Composite – Class Diagram

• Komposit merupakan hasil gabungan yang tak terpisahkan dari class lainnya

Contoh Class Diagram (Complete)

Kesimpulan

Diagram UMLNama Diagram Digunakan untuk Digunakan pada tahapan

Diagram ClassMenggambarkan hubungan antara model class dalam system.

Analysis, Design

Diagram ObjectMenggambarkan hubungan antara model object di dalam system.

Analysis, Design

Diagram Aktivitas

Menggambarkan hubungan aliran kerja business terlepas dari classes, aliran aktivitas dalam sebuah use case, atau detail design dari method.

Analysis, Design

Diagram Use CaseMendapatkan persyaratan/kebutuhan system dan menggambarkan hubungan antara system dengan aktor.

Analysis

Diagram sequenceMemodelkan prilaku objek dalam sebuah use case. Focus pada urutan berdasarkan waktu dari sebuah aktivitas.

Analysis, Design

Hirarki Diagram UML

top related