• Tidak ada hasil yang ditemukan

ANALISIS BERORIENTASI OBJEK

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS BERORIENTASI OBJEK"

Copied!
63
0
0

Teks penuh

(1)

ANALISIS BERORIENTASI OBJEK

Defri Kurniawan M.Kom

(2)

Content

 Analisis Berorintasi Objek

 Analysis Design Paradigm and Diagrams

 UML

 What UML?

 Why Modeling?

 The Triangle of Success in Software Dev

 UML Tools, Diagram, Version, Structure Diagram, Behavior Diagram,

Problem, Process

 System Analysis and Design with UML

 Use Case Diagram

 Activity Diagram

 Sequence Diagram

(3)

Analisis Berorientasi Objek

Analisis Berorientasi Objek

Berfokus pada pendefinisian kelas-kelas

dan

cara

bagaimana mereka saling bekerjasama

satu dengan

yang lainnya untuk memenuhi kebutuhan para

pelanggan.

Pada Paradigma Analysis Design dan Diagram,

Unified Modeling Language (UML) merupakan

perkakas (tools)

yang digunakan untuk melakukan

pemodelan berorientasi objek

(4)

Analysis Design Paradigm and Diagrams

1.

Data

-oriented  DFD

2.

Process

-oriented  Flowchart

3.

Object

-oriented (data + process) 

UML

(5)

What is the UML?

UML:

Unified Modeling Language

UML dapat digunakan untuk

memodelkan semua

proses dalam siklus hidup pengembangan

dan

seluruh teknologi implementasi yang berbeda

UML adalah

bahasa standar

untuk

memvisualisasikan,menspesifiksi, konstruksi, dan

mendokumentasikan artifak dari sistem perangkat

lunak

UML adalah

suatu alat komunikasi

untuk team dan

(6)

Why Modeling?

Modeling menangkap bagian penting dari sistem

(James Rumbaugh)

Business Process

Computer System

Visual Modeling adalah pemodelan yang

(7)

The Triangle of Success in Software Dev.

Notation

:

Standard

Tools

: Support Standard and Process

Process

:

Customer-Oriented Methodology

(8)

UML Tools

Rational Rose

Visual Paradigm

Enterprise Architect

Microsoft Visio

Star UML

(9)

UML Diagrams

Actor A Use Case 1 Use Case 2 Actor B user : Clerk mainWnd : MainWnd fileMgr : FileMgr repository : Repository document : Document gFile : GrpFile 9: sortBy Nam e ( ) L

1: Doc view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocum ent ( ) 4: create ( ) 8: fillFile ( ) Window95 ¹®¼­° ü¸® Ŭ¶óÀÌ¾ðÆ ®.EXE Windows NT ¹®¼­° ü¸® ¿£Áø.EXE Windows NT Windows 95 Solaris ÀÀ¿ë¼­¹ö.EXE Alpha UNIX IBM M ainframe µ¥ÀÌŸº£À̽º¼­¹ö Windows 95 ¹®¼­° ü¸® ¾ÖÇø´ Document FileManager GraphicFile File Repository DocumentList FileList user mainWnd fileMgr : FileMgr repository document : Document gFile

1: Doc view reques t ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: s ortByName ( ) Æ ¯Á¤¹®¼­¿¡ ´ ëÇÑ º¸±â¸¦ »ç¿ëÀÚ° ¡ ¿äûÇÑ´ Ù. È­Àϰ ü¸®ÀÚ´  Àоî¿Â ¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ ç ¹®¼­ ° ´ ü¿¡ ¼³Á¤À» ¿äûÇÑ´ Ù. È­¸é ° ´ ü´  ÀоîµéÀÎ ° ´ üµé¿¡ ´ ëÇØ À̸§º° ·Î Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡ º¸¿©ÁØ´ Ù. Forward and Reverse Engineering Target System Openning Writing Reading Closing

add f ile [ numberOf f ile==MAX ] / f lag OFF add f ile close f ile close f ile Use Case 3 Use-Case

Diagram Class Diagram

Collaboration Diagram Sequence Diagram Component Diagram Statechart Diagram GrpFile read( ) open( ) create( ) fillFile( ) rep Repository nam e : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortBy Nam e( ) Docum entList add( ) delete( ) Docum ent nam e : int docid : int num Field : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocum ent( ) fList 1 FileList add( ) delete( ) 1 File read( )

read() fill the code..

Deployment Diagram

(10)

UML 2.0

UML version 2.0 memiliki 14 diagram

yang terbagi pada 2 kelompok besar:

1.

Structure

Diagrams

(11)
(12)

UML Structure Diagrams

Mewakili

data dan hubungan statis

pada

sistem informasi

1.

Class

Diagram

2.

Object

Diagram

3.

Package

Diagram

4.

Deployment

Diagram

5.

Component

Diagram

(13)

Structure Diagrams

1.

Class

Diagrams

 Kosakata umum yang digunakan oleh analis dan pengguna

Mewakili sesuatu/benda (employee, paycheck,…)

 Menenjukkan hubungan antar kelas

2.

Object

Diagrams

 Mirip dengan Class Diagram

 Gambaran tentang objek-objek dalam sistem

 Hubungan antar objek

3.

Package

Diagrams

 Kelompok elemen-elemen UML digunakan untuk

(14)

Structure Diagrams

4.

Deployment

Diagrams

 Menunjukkan arsitektur fisik dan komponen perangkat

lunak sistem

 For example, network nodes

5.

Component

Diagrams

 Hubungan fisik di antara komponen perangkat lunak

 Example – Client/Server (Mesin mana yang berjalan pada

software yang mana)

6.

Composite

Structure

Menggambarkan struktur internal dari kelas yang

(15)

UML Behavior Diagrams

Menggambarkan hubungan dinamis antara

objek yang mewakili sistem informasi bisnis

1. Activity Diagram 2. Sequence Diagram

3. Communication Diagram 4. Interaction Diagram

5. Timing Diagram

6. Behavior State Machine 7. Protocol State Machine 8. Use Case Diagrams

(16)

Behavior Diagrams

1.

Activity Diagrams

 Model proses pada suatu sistem informasi

 Example: Business workflows, business logic

2.

Interaction Diagrams

 Menunjukkan interaksi anatar objek

3.

Sequence Diagrams

 Urutan berdasarkan waktu interaksi

4.

Communication Diagrams

 Komunikasi antara sekumpulan objek yang berkolaborasi

(17)

Behavior Diagrams

5.

Interaction Diagrams

 Kilasan aliran control dari suatu proses

6.

Timing Diagrams

 Menunjukkan bagaimana suatu objek berubah dari waktu

ke waktu

7.

State Machines

 Memeriksa perilaku dari suatu kelas

 Menunjukkan model keadaan-keadaan yang berbeda dan

transisi keadaan dari suatu objek

8.

Use-Case Diagrams

 Menunjukkan interaksi antara sistem dan lingkungan

(18)

UML Process (EA Sparx)

1.

Menampilkan batas sistem dan fungsi utama

menggunakan

use cases dan actors

2.

Memodelkan proses bisnis organisasi

dengan

activity diagram

3.

Menggambarkan realisasi use case

menggunakan

sequence diagrams

4.

Merepresentasikan struktur statis dari suatu

sistem dengan menggunakan

class diagram

5.

Mengungkapkan pelaksanaan arsitektur fisik

(19)

UML Process (EA Sparx)

1.

Use Cases

Diagram

2.

Activity

Diagram

3.

Sequence

Diagram

4.

Class

Diagram

(20)

UML Process (Kendal, 2011)

1. Sebuah use case diagram, menggambarkan bagaimana sistem

yang digunakan. Analis memulai dengan use case diagram

2. Sebuah activity diagram, menggambarkan aliran keseluruhan

kegiatan. Setiap use case dapat membuat satu diagram

aktivitas

3. Sequence diagram, menunjukkan urutan kegiatan dan

hubungan kelas. Setiap use case dapat membuat satu atau

lebih sequence diagram

4. Class diagrams, menunjukkan kelas dan hubungan. Sequence

diagram digunakan untuk menentukan kelas

5. Statechart diagram, menunjukkan keadaan transisi. Setiap

kelas dapat membuat statechart diagram, yang berguna untuk

(21)
(22)

System Analysis and Design with UML

1.

System Analysis

1. Business Process Identification

Use Case Diagram

2. Business Process Modeling

Activity Diagram

3. Business Process Realization

Sequence Diagram

2.

System Design

1. Program Design

1. Class Diagram

2. Package Diagram (Gabungan class yang sesuai)

3. Deployment Diagram (arsitektur software dari sistem yang dibangun)

2. User Interface Design (Buat UI design)

(23)

USE CASE DIAGRAM

Menggambarkan fungsionalitas

yang diharapkan dari

sebuah sistem.

Menekankan “apa” yang diperbuat sistem

, dan bukan

“bagaimana”.

Menggambarkan kebutuhan sistem dari

sudut

pandang pengguna (user)

Mengfokuskan pada

proses komputerisasi

(automated processes)

(24)

USE CASE DIAGRAM – Use case

Use case diagram terdiri dari:

Use case

Actors

Relationship

System boundary boxes (optional)

Use case dinotasikan dengan

gambar horizontal ellipse

Use case biasanya menggunakan kata kerja

(25)

USE CASE DIAGRAM - ACTOR

Actor menggambarkan orang, sistem atau external

entitas / stakeholder yang menyediakan atau

menerima informasi dari sistem

Actor menggambarkan sebuah tugas/peran/role,

bukan posisi sebuah jabatan

Actor memberi input atau menerima informasi dari

sistem

Actor biasanya menggunakan Kata benda

Indikasi <<system>> untuk sebuah actor yang

merupakan sebuah sistem

Letakkan actor utama anda pada pojok kiri atas dari

(26)

USE CASE DIAGRAM - Association

Ujung panah pada

association

antara actor dan use

case mengindikasikan

siapa/apa yang meminta

interaksi dan bukannya mengindikasikan aliran data

Sebaiknya gunakan

Garis tanpa panah untuk

association antara actor dan use case

association antara actor dan use case yang

menggunakan

panah terbuka

untuk

mengindikasikan

bila actor berinteraksi secara pasif dengan system

(27)

USE CASE DIAGRAM - Association

<<include>>

termasuk di dalam use case lain

(required) / (diharuskan)

 Pemanggilan use case oleh use case lain, contohnya

adalah pemanggilan sebuah fungsi program

 Tanda panah terbuka harus terarah ke sub use case

Buka Rekening

<<include>> catat data pribadi

(28)

<<extend>>

perluasan dari use case lain

jika kondisi

atau syarat terpenuhi

 Kurangi penggunaan association Extend ini, terlalu banyak

pemakaian association ini membuat diagram sulit dipahami.

Tanda panah terbuka harus terarah ke parent/base use

case Buka Rekening <<extend>> Buka Deposito Nasabah

(29)

USE CASE DIAGRAM - Association

 Generalization/inheritance digambarkan dengan sebuah garis

berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum

 Generalization/inheritance dipakai ketika ada sebuah

(30)

USE CASE DIAGRAM - system boundary

boxes

Digambarkan dengan kotak disekitar use case, untuk

menggambarkan jangkauan sistem (scope of of your system).

 Biasanya digunakan apabila terdapat beberapa alternatif sistem

yang dapat dijadikan pilihan

(31)

ACTIVITY DIAGRAM

Menggambarkan proses bisnis dan urutan aktivitas

dalam sebuah proses

Dipakai pada business modeling untuk

memperlihatkan urutan aktifitas proses bisnis

Struktur diagram ini mirip flowchart atau Data Flow

Diagram pada perancangan terstruktur

(32)

ACTIVITY DIAGRAM – simbol

Simbol Keterangan Start Point End Point Activities Fork (Percabangan) Join (Penggabungan) Decision Swimlane

Sebuah cara untuk mengelompokkan activity berdasarkan Actor

(mengelompokkan activity dalam sebuah urutan yang sama)

(33)

ACTIVITY DIAGRAM – contoh

Supplier Bagian Pembelian

Bagian Gudang Memberi informasi data Barang yang akan dipesan

Menerima informasi Buat SPP Terima SPP Kirim Barang disertai Faktur Terima Barang dan Faktur Buat SPBJ Tandatangani SPBJ Terima SPBJ Konfirmasi pembayaran Melakukan pembayaran Terima pembayaran Terima Kwitansi Buat kwitansi

(34)

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).

Sequence diagram biasa digunakan untuk

menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu

Diawali dari apa yang men-trigger aktivitas tersebut,

proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan

(35)
(36)
(37)

Case Study: ATM

System

System Analysis:

1. Business Process Identification

 Use Case Diagram

2. Business Process Modeling

 Activity Diagram

3. Business Process Realization

(38)

Latihan

Terdapat Sistem ATM dimana pengguna dapat:

1.

Melihat Saldo

2.

Mentransfer Uang

3.

Mengambil Uang

4.

Logout

Buatlah use case diagram, activity diagram, dan

sequence diagram untuk menggambarkan kasus di

(39)
(40)

Layar

Kotak Uang Kotak Kartu

(41)

Masukkan PIN:

Kotak Uang Kotak Kartu

(42)

Menu Utama

1. Melihat Saldo

2. Mentransfer Uang

3. Mengambil Uang

4. Logout

Kotak Uang Kotak Kartu

(43)

Menu Melihat Saldo

1. Saldo anda adalah ….

Kotak Uang Kotak Kartu

(44)

Menu Mentransfer Uang

1. No Account Penerima:

Kotak Uang Kotak Kartu

(45)

Menu Mentransfer Uang

1. Jumlah uang yang dikirim:

Kotak Uang Kotak Kartu

(46)

Menu Mentransfer Uang

1. Uang berhasil terkirim

Kotak Uang Kotak Kartu

(47)

Menu Mengambil Uang

1. Jumlah uang yang diambil:

Kotak Uang Kotak Kartu

(48)

Menu Mengambil Uang

Uang berhasil diambil

Kotak Uang Kotak Kartu

(49)

Use Case Diagram

Pengguna

Sistem AT M

Memasukkan Kartu Memasukkan PIN

Mengecek Saldo

Mentransfer Uang

Mengambil Uang Melakukan Logout

(50)

Activity Diagram: Memasukkan Kartu

Mulai

Pengguna Sistem ATM

Menyiapkan Kartu

Memasukkan Kartu Memv alidasi Kartu

kartu valid? Menampilkan MenuPIN Mengeluarkan Kartu Selesai tidak ya

(51)

Activity Diagram: Memasukkan PIN

Pengguna Sistem ATM

Mul ai

Memasukkan PIN

Memv alidasi Account

pin val id?

Menampilkan MenuUtama l ebi h dari 3x? Memblokkir Kartu Sel esai ya ti dak ti dak ya

(52)

Activity Diagram: Mengecek Saldo

Pengguna Sistem ATM

Mulai

Memilih Mengecek Saldo di Menu Utama Memproses Pengecekan Saldo Menampilkan Saldo di Menu Saldo Selesai

(53)

Activity Diagram: Mentransfer Uang

Pengguna Sistem ATM

Mulai

Memilih Mentransfer Uang di Menu Utama

Memasukkan Account Tuj uan

Memasukkan Jumlah Uang yang dikirim

Menghitung Kecukupan Saldo Pengirim Memv alidasi Account

Tuj uan

Account T ujuan Valid?

Saldo Cukup? Mentransfer Uang Selesai tidak ya tidak ya

(54)

Activity Diagram: Mengambil Uang

Pengguna Sistem ATM

Mul ai

Memilih M enu Mengambil Uang di Menu Utama

Memasukkan Jumlah Uang Mengecek Ketercukupan Saldo Saldo Cukup? Memproses Pengambilan Uang Mengeluarkan Uang di Kotak Uang Mengambil Uang di Kotak

Uang

tidak

(55)

Activity Diagram: Melakukan Logout

Sistem ATM Pengguna

M ulai

Memilih Keluar di Menu Utama M emproses Logout Mengeluarkan Kuitansi M engeluarkan Kartu Mengambil Kuitansi Mengambil Kartu Sel esai

(56)

Sequence Diagram: Memasukkan Kartu

Pengguna

(from 1 Use Case Diagram)

KotakKartu ProsesValidasiKartu M enuPIN

alt kartu v alid?

[ya] [tidak] mem asukanKartu() validasiKartu() tam pilkan() mengeluarkanKartu()

(57)

Type of Class

1.

Boundary

Class

 Class yang berhubungan dengan actor (user

interface)

2.

Control

Class

 Class yang berhubungan dengan pemrosesan,

komputasi, penghitungan, dsb

3.

Entity

Class

 Class yang berhubungan dengan data (flat file

(58)

Sequence Diagram: Memasukkan PIN

Pengguna

(from 1 Use Case Diagram)

M enuPIN ProsesValidasiAccount Account Login MenuUtama

alt PIN v alid?

[ya] [tidak]

alt lebih dari 3x?

[tidak] [ya] m emasukkanPIN() validasi(id, pin) getIDLogin() getPIN() tampilkan() tampilkan() blokirAccount() errorKartuDiblokir()

(59)

Sequence Diagram: Mengecek Saldo

Pengguna

(from 1 Use Case Diagram)

MenuUtama ProsesMengecekSaldo Account Balance Transaksi MenuMengecekSaldo

memilihMengecekSaldo() lihatSaldo(id) getIDBalance() getSaldo() setTransaksi(tgl, jenis) tampilkanHasil(saldo)

(60)

Sequence Diagram: Mentransfer Uang

Pengguna MenuUtama MenuMentransferUang ProsesM entransferUang Account pengirim:Bal ance penerim a:Balance T ransaksi

alt saldo cukup?

[ya] [ti dak] memi li hMentransferUang() tampilkan() memasukkanJumlahUang() memasukkanAccountT uj uan() transferUang(id, jumlah) getIDBalance() getSaldo()

setSal do(sal do)

setSaldo(saldo)

setT ransaksi(tgl, jenis)

tam pi lkanUangBerhasi lDi ki ri m()

(61)

Sequence Diagram: Mengambil Uang

Pengguna MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance Transaksi KotakUang

alt saldo cukup?

[ya]

[tidak] memi lihMengambil Uang()

tampilkan()

memasukkanJuml ah()

ambi lUang(id, jumlah)

getIDBalance() getSaldo()

setSaldo(saldo)

keluarkanUang(juml ah)

setTransaksi(tgl, jenis)

Tampi lkanUangBerhasil Diambil()

(62)

Sequence Diagram: Melakukan Logout

Pengguna MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu

memilihKeluar() tampilkan() logout() keluarkanKuitansi() keluarkanKartu() tampilkanTelahKeluar()

(63)

Gambar

Diagram Class Diagram

Referensi

Dokumen terkait

Persentase kebutuhan dosen akan aplikasi yang dapat membantu merancang dan mengelola content dari situs web pribadinya Persentase dosen yang memerlukan aplikasi untuk

Berdasarkan hasil penelitian terkait Penerapan Pendidikan Akhlak Syaikh Utsaimin di SDIT Al-Hidayah Bogor dapat diambil kesimpulan sebagai berikut: (1)

harga yang diberikan kepada anda 23 Harga daging distributor lain tidak lebih.. murah dari harga daging

Dalam melaksanakan proses pendidikan, Universitas Islam Negeri Malang sebagai suatu lembaga pendidikan memerlukan alat ukur yang bisa dijadikan acuan dalam

Tujuan dari penelitian ini yaitu untuk menghasilkan bahan ajar yang berbasis integrasi Islam dengan hasil produk media cetak buku ajar pada pembelajaran tematik tema 3 subtema 2

Status Terkini dan Ancaman Fragmentasi Habitat Orangutan Sumatera (Pongo abelii) di Kawasan Hutan Batang Toru : Studi Kasus Cagar Alam Sibual-buali.. Balitbang Kehutanan

Untuk mendapatkan hasil yang maksimal dan pengalokasian sumber daya secara tepat dan efisien, perusahaan dihadapkan pada masalah pembuatan pupuk organik dimana penyusunan

secara biologis laki-laki, berumur 15 tahun atau lebih dan telah tinggal di kota survei paling tidak selama satu bulan, serta telah berhubungan seks dengan seorang