• Tidak ada hasil yang ditemukan

Materi Workshop UML DWS B

N/A
N/A
Protected

Academic year: 2019

Membagikan "Materi Workshop UML DWS B"

Copied!
54
0
0

Teks penuh

(1)

Permodelan Sistem

Berbasis Objek

Menggunakan UML

2 – 4 Maret 2016

(2)

Frieyadie, M.Kom

(3)

Contents

1. Software Development Life Cycle

(SDLC)

2. Software Development

Methodologies

3. Software Development Notation and

Tools:

1. Unified Modeling Language (UML) Notation

(4)
(5)

Project Phases

1. Planning: Why build the system?

Identifying Business Value, Feasibility Analysis (System Request/Proposal)

2. Analysis: Who, what, when, where will the system be?

User Requirement Gathering (System Specification)

3. Design: How will the system work?

Architecture Design, Interface Design, Data Design, Program Design (System Specification)

4. Implementation: System delivery

(6)

Processes and

System Request (Proposal)

System Specification

New System and

(7)

Analysis

1. Requirement Gathering by

answering the questions:

Who will use the system?

What will the system do?

When will it be used?

2. Investigate the

current system

3. Identify possible

improvements

(8)

Design

1. Architecture design

Hardware description – Software description – Network infrastructure

2. User Interface design

– How users interact with system

Forms / reports used by the system

3. Data Design

What data is to be stored

What format the data will be inWhere the data will be stored

4. Program Design

(9)

Design (lanjutan)

These deliverables:

1. Architecture design (deployment diagram)

2. User Interface design

3. Database design (ER diagram) 4. Program design (UML)

(

System Specification

)

The System Specification is

given to

the programming team

for

(10)

Implementation

1. Construction

New system is built and testedOften testing is the longest part

2. Testing

1. Unit Testing (Blackbox and Whitebox Testing) 2. Integration Testing

3. System Testing

4. User Acceptance Test

3. Installation

(11)

Konsep Dasar

Pemrograman

Berorientasi Objek

(12)
(13)

Berorientasi Objek?

Attribute (State):

Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi

Behavior:

Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil

(14)

Latihan

1. Lakukan kegiatan berorientasi objek

dengan target

Sepeda

2. Pikirkan apa

atribut dan behavior

(15)

Perbedaan Class dan

Object

• Class adalah konsep dan deskripsi dari sesuatu

• Object adalah instance dari Class

• Class: mobil

• Object: mobilnya pak Joko, mobilku

Class seperti cetakan kue, dimana kue yg

dihasilkan dari cetakan kue itu adalah object • Warna kue bisa bermacam-macam meskipun

(16)

Class = Method + Variable

variable

kecepatan gir

ubah kecepatan

ubah gir

metho

d

(17)

Object = Method + Variable

Bernilai

instance variable

kecepatan = 10km/jam

gir = 3

ubah kecepatan (10)

ubah gir (2)

instanc

e

method

Object

(18)

Attribute

Variable

yang mengitari class, dengan

nilai datanya bisa ditentukan di object

Name, age, dan weight adalah

(19)

Membuat Class, Object dan Memanggil Atribut

public class Mobil { String warna;

int tahunProduksi; }

public class MobilBeraksi{

public static void main(String[] args){

// Membuat object

Mobil mobilku = new Mobil();

/* memanggil atribut dan memberi nilai */

mobilku.warna = "Hitam";

mobilku.tahunProduksi = 2006;

System.out.println("Warna: " + mobilku.warna); System.out.println("Tahun: " +

mobilku.tahunProduksi); }

}

Mobil.java

(20)
(21)

Parameter

• Sepeda (bicycle) akan berguna apabila ada object lain

(misalnya anda) yang berinterasi dengan sepeda (bicycle) tersebut

• Object software berinteraksi dan berkomunikasi

dengan object lain dengan cara mengirimkan message

• Informasi dalam message ini dikenal dengan nama

(22)

Pengiriman Pesan dan

Parameter

1. You  object pengirim

2. YourBicycle  object penerima

3. changeGears  message berupa method yang dijalankan

(23)

Membuat Class (Sepeda.java)

public class Sepeda{ int kecepatan, gir;

// method dengan parameter

void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir;

System.out.println(" Gir:" + gir); }

void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println(" Kecepatan:" + kecepatan); }

(24)

Membuat dan Memanggil Object (SepedaBeraksi.java)

public class SepedaBeraksi{

public static void main(String[] args) { // Membuat object

Sepeda sepedaku = new Sepeda();

/* memanggil atribut dan memberi nilai */

sepedaku.kecepatan=10; sepedaku.gir=2;

// Memanggil method dan menunjuk nilai parameter

sepedaku.tambahKecepatan(30); sepedaku.ubahGir(3);

(25)
(26)

Analisa Sistem

(27)

Pemodelan Struktural

• Pemodelan struktural menangkap fitur statis dari sebuah sistem

Tapi model struktural tidak pernah

menggambarkan perilaku dinamis dari sistem. • Diagram Class adalah yang paling banyak

digunakan diagram struktural

Struktural pemodelan:

Classes diagramsObjects diagrams

Deployment diagramsPackage diagrams

(28)

Pemodelan Perilaku (Behavioral)

Model perilaku menggambarkan interaksi

dalam sistem.

Ini merupakan interaksi antara diagram

struktural.

Pemodelan perilaku menunjukkan sifat

dinamis dari sistem

Pemodelan Perilaku:

Activity diagrams

(29)

Sebuah use case adalah situasi dimana

sistem kita digunakan untuk memenuhi satu atau lebih kebutuhan pemakai.

Use case menggambarkan kebutuhan

sistem dari sudut pandang di luar sistem.

Use cases hanya menetapkan apa yang

seharusnya dikerjakan oleh sistem, yaitu kebutuhan fungsional sistem.

Use case tidak untuk menentukan

kebutuhan nonfungsional, misalnya:

sasaran kinerja, bahasa pemrograman, dsb

(30)

Dalam use case diagram, sesuatu diluar

sistem yang berinteraksi dengan sistem

disebut actor

Actor class digunakan untuk memodelkan

dan menyatakan peran untuk "pemakai" dari sistem, termasuk manusia dan sistem lain.

Actor digambarkan sebagai stickman

(31)

Use case class digunakan untuk

memodelkan dan menyatakan unit fungsi/ layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.

Use case dapat dilingkupi dengan

batasan sistem yang diberi label nama sistem.

Use case adalah sesuatu yang

menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal.

Usecase digambarkan dalam bentuk elips

(32)

Sebuah komunikasi digunakan

menghubungkan actor dan use case untuk memperlihatkan peran serta actor dalam use case

Komunikasi digambarkan dalam bentuk

garis solid.

Komunikasi juga dapat digambarkan

dengan garis dengan panah. Panah ini

sering digunakan untuk menunjukkan arah seruan awal hubungan atau untuk

menunjukkan aktor utama dalam use case. Garis dengan panah menyiratkan kontrol aliran dan tidak menjadi bingung dengan aliran data

Gari s dengan panah bersifat optional.

(33)

Untuk memperlihatkan batasan sistem dalam diagram use case, kita dapat

menggambarkan sebuah kotak yang

melingkupi semua use case, namun actor tetap berada di luar kotak.

(34)

Include dan Extend

<<extend>>

<<include>>

Use case dasar lengkap

(nyata) dengan sendirinya, yang didefinisikan secara independen. Memperluas use case adalah opsional, pelengkap. Memiliki

setidaknya satu eksplisit perluasan. Bisa memiliki kondisi ekstensi opsional. Arah panah mengarah ke use case yang diperluas atau ditambahkan

Menyertakan use case lain kedalam suatu use case yang akan

dioperasikan fungsinya. Arah panah relasi

pada include mengarah pada use case yang

(35)

Class adalah deskripsi dari sekumpulan

objek yang berbagi atribut yang sama, operasi, hubungan, dan semantik.

Class mengimplementasikan satu atau

lebih interface

Kelas menggabungkan atribut dan operasi

menjadi satu kesatuan. Atribut hanya dapat diakses secara tidak langsung melalui operasi (method) class.

(36)

Memiliki 2 komponen penting

Merepresentasikan blueprint dari object

Properti: ciri khas dan pembeda antar objek

Metode: aksi yang dapat dilakukan oleh

objek tersebut

Class Diagram (count)

• Structural

Ciri Pembeda antar Objek

• Behaviour

(37)

Notasi kotak dengan 3 bagian:

Nama kelas

Atribut

(38)

Indikasi berapa banyak objek yang bisa mengisi properti

• 1 (pasti 1)

• 0..1 (0 atau 1)

• * (Tidak ada batasan, bisa 0, 1, ..., n)

Biasanya didefinisikan batas bawah dan atas, kecuali untuk yang pasti bernilai 1.

Mirip dengan konsep one-to-one dan one-to many pada relational database.

(39)

Metode pengaksesan terhadap atribut dalam class

• Public ( + ) Diperbolehkan diakses oleh

class yang lain

• Private ( - ) Diperbolehkan diakses oleh

class itu sendiri

• Protected(#) Hanya bisa diakses oleh

subclass

• Package ( ~ ) Bisa diakses oleh objek lain

pada package yang sama  

Class Diagram (count)

(40)

Menggambarkan hubungan antar

class

Ditandai dengan garis lurus

Seringkali ditambahkan label dan

multiplicity untuk memperjelas

hubungan

Class Diagram (count)

(41)

Class Diagram (count)

Aggregration

Agregasi dapat terjadi ketika kelas adalah collection atau container dari kelas lain,

tetapi di mana kelas-kelas yang ada secara esensial tidak memiliki siklus ketergantungan yang kuat dalam container. Ditandai dengan garis dengan diamond terbuka.

(42)

Class Diagram (count)

Composition

Composition biasanya memiliki siklus

ketergantungan yang kuat antara instance dari kelas container dan instance dari kelas yang mengandungnya.

Ditandai dengan garis dengan diamond

penuh

Mobil Karburato

r

(43)
(44)

Menggambarkan urutan tindakan yang

terjadi dalam suatu sistem

Manangkap metode objek, dan urutan

panggilan

Merupakan method sistem dinamis yang

dipanggil

Objek horizontal menunjukkan kehidupan

objek yang diwakili

Sumbu vertikal mewakili urutan

pemanggilan objek

(45)

Sebuah life-line menggambarkan kronologis apa yang terjadi pada suatu objek

Objek – Sequence Diagram

:Nama_Obje

k Objek

Life Line

(46)

Synchronous (aliran interupt sampai pesan complete).

Asynchronous (tidak menunggu tanggapan)

Flat : Tidak ada perbedaan antara sysn / async

Return : mengontrol aliran kembali ke pemanggil.

(47)

Sequence Diagram Registrasi

: User form : Form proses : Proses session : Session database : MySQLDB value(username)

setValue($field, $value)

setError() procRegister()

register($subuser, $subpass, $subemail) value(password)

value(email)

confirmUserPass($username, $password)

confirmUserID($username, $userid)

usernameTaken($username)

addNewUser($username, $password, $email) usernameBanned($username)

(48)

Sequence Diagram Login

: User form : Form process : Proses session : Session database : MySQLDB value(username)

value(password) setValue(field, value)

setError(field, errmsg) procLogin()

login(subuser, subpass, subremember)

(49)

Component Diagram

Component Diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya:

Komponen piranti lunak adalah modul berisi

code, baik berisi source code maupun binary

code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time.

Umumnya komponen terbentuk dari beberapa

class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.

Komponen dapat juga berupa interface, yaitu

(50)

Komponen ditampilkan sebagai persegi panjang dengan Sebuah kata kunci <<component>>

a. Opsional, di sudut kanan ikon komponen dapat ditampilkan

Ikon komponen persegi panjang dengan dua

persegi panjang yang lebih kecil yang menjorok keluar dari sisi kiri

Simbol ini adalah stereotip visual

b. Nama Komponen

Komponen bisa dilabeli dengan stereotip ada sejumlah stereotip standar seperti: <<entity>>, <<subsystem>>..

(51)

Komponen Diagram memiliki Elemen Interface

Deklarasi dari satu set operasi dan kewajiban

Penggunaan Dependensi

Hubungan salah satu unsur yang memerlukan unsur lain untuk full implementasi

Port

Titik interaksi antara komponen dan serta lingkungan

Connector

Menghubungkan dua komponen

Menghubungkan kontrak komponen eksternal ke struktur internal

(52)
(53)

Diployment Diagram

Menunjukkan bagaimana komponen dari keseluruhan sistem secara fisik terhubung (yaitu seperti perangkat keras sistem yang berjalan dan bagaimana semua

dihubungkan). Node merupakan

unit komputasi

seperti perangkat keras

Hubungan antara node menunjukkan jalur interaksi

(54)

Bisa juga jika sistem akan diimplementasikan,

dengan banyak mesin, seperti:

• Sistem aplikasi

diletakan pada Web Application Server. • Database aplikasi

ditelakan pada Database Server

Referensi

Dokumen terkait

Hasil uji stabilitas diperoleh kondisi penyimpanan lebih stabil pada suhu 40C , yaitu sampai 21 hari penyimpanan kemurnian radiokimia masih memenuhi syarat (97,6%)

Peserta didik IPA di sekolah adalah 'pemikir sederhana', oleh karenanya cenderung boleh untuk menggunakan proses ilmiah manapun dengan cara yang berbeda dari para ilmuwan (Kind

Kegiatan monitoring dan evaluasi yang akan dilakukan harus mengikuti kriteria standarisasi untuk proses dan layanan, infrastruktur, aplikasi e-Government, data dan

Tujuan dari penelitian ini adalah: (1) untuk mengetahui manakah yang memberikan prestasi belajar matematika lebih baik diantara pendekatan pembelajaran PMR,

Lignin tidak dapat dicerna oleh mikroba didalam rumen, bahkan dapat mengganggu kecernaan, sedangkan serat kasar memiliki fraksi selain lignin juga mengandung selulosa

Ablasio retina adalah suatu kelainan pada mata yang disebabkan oleh karena terpisahnya lapisan neuroretina dari lapisan epitel pigmen retina akibat adanya cairan

Terapi Gizi Medis : adalah pelayanan gizi khusus untuk peyembuhan penyakit baik akut maupun kronis atau kondisi luka- luka, serta merupakan suatu penilaian terhadap kondisi

Observasi yang ditemukan pada klien dengan perilaku menarik diri akan ditemukan (data objektif), yaitu apatis, ekspresi sedih, afeks tumpul, menghindari dari orang