Pemodelan Berorientasi Objek Temukan hubungan antar kelas (association, aggregation, composition atau

  • View
    6

  • Download
    0

Embed Size (px)

Text of Pemodelan Berorientasi Objek Temukan hubungan antar kelas (association, aggregation, composition...

  • Pemodelan Berorientasi

    Objek

    Adam Hendra Brata

    1

    Perancangan Sistem dengan

    Analisis Statis

  • Mulai dari sekarang, diharapkan semua

    mahasiswa memperdalam materi PBO secara

    lebih mandiri dengan :

    membaca buku OOAD yang sudah diupload

    bersama materi pendukung, yang sudah

    diupload sebelum UTS untuk mendukung

    pemahaman tentang PBO

    membaca materi dan tutorial PBO dan UML

    yang bisa didapat dari sumber lain

    2PERHATIAN

  • 3Pemodelan Kebutuhan Sistem

    Ruang Lingkup

    Masalah

    Analisis

    Kebutuhan

    Pemodelan

    Perangkat

    Lunak

    Diagram Use

    Case

    Diagram

    Sekuensial

    Diagram

    Aktivitas

    Diagram Kelas Diagram State

  • Materi Pertemuan 6

    Perancangan Sistem dengan Analisis Statis

    Analisis Berorientasi Objek

    Analisis Statis

    Kelas

    Diagram Kelas

    4

  • Analisis Berorientasi Objek

    5

  • Object-oriented analysis, design and

    programming are related but distinct

    OOA is concerned with developing an object

    model of the application domain

    OOD is concerned with developing an object-

    oriented system model to implement

    requirements

    OOP is concerned with realizing an OOD using

    an OO programming language such as Java

    or C++

    6Review OOA, OOD & OOP

    #ThrowBack

  • Analysis is about discovering what the system is

    going to handle, rather than deciding how to

    do the handling

    We need to decompose a complex set of

    requirements into the essential elements and

    relationships on which we will base our solution

    Analysis is our first opportunity to get to grips

    with modeling the real world as objects

    7Why We Need OOA ?

  • Analisis Berorientasi Objek dapat dikategorikan

    menjadi 2 jenis, yaitu :

    Analisis Statis

    Dimodelkan dengan diagram kelas

    Diagram kelas akan menggambarkan objek

    objek apa saja yang akan di-handle oleh sistem

    dan bagaimana objek objek tersebut

    berhubungan antara yang satu dengan yang lain

    Analisis Dinamis

    Dimodelkan dengan diagram komunikasi untuk

    menunjukkan bahwa model statis kita sudah

    layak dan benar

    8Analisis Berorientasi Objek

  • Langkah langkah ABO

    Gunakan kebutuhan sistem untuk menemukan kandidat kelas yang dapat mendeskripsikan objek yang relevan dengan sistem dan gambarkan dalam diagram kelas

    Temukan hubungan antar kelas (association, aggregation, composition atau inheritance)

    Temukan atribut atribut dari setiap kelas

    Telusuri kembali use case dari sistem yang sudah dibuat, periksa apakah kelas-kelas yang sudah dibuat dapat mendukung use case tersebut

    Catat, perbaharui dan perbaiki jika ada perubahan dalam analisis

    9Analisis Berorientasi Objek

  • Analisis Statis

    10

  • Analisis statis melibatkan bagian logika atau

    bagian fisik dari sistem dan bagaimana

    mereka saling terkait satu sama lain

    Singkat kata, analisis statis akan

    mendeskripsikan bagaimana kita akan

    melakukan konstruksi dan inisialisasi sistem

    Konstruksi sistem berorientasi objek Kelas

    11Analisis Statis

  • Kelas adalah struktur dasar dari pengembangan sistem berorientasi objek

    Kelas adalah adalah cetak biru atau blueprint dari objek

    Kelas digunakan hanya untuk membuat kerangka dasar, yang akan kita pakai nantinya adalah hasil cetakan dari kelas, yakni objek

    Kelas dapat dikatakan adalah definisi abstrak dari objek

    Objek adalah hasil cetak dari kelas, atau hasilkonkrit dari kelas

    12Analisis Statis : Kelas

  • Struktur kelas secara umum terdiri dari 2

    bagian, yaitu :

    Atribut / Attribute / Field / Property

    Berlaku sebagai data, didefinisikan oleh

    kelas,individu, berbeda satu dengan lainnya

    Menggambarkan tampilan, status, kualitas dari

    objeck

    Didefinisikan dalam kelas dengan menggunakan

    variabel

    13Analisis Statis : Kelas

  • Perilaku / Behaviour / Operations / Method

    Berlaku sebagai method (operasi)

    Menggambarkan bagaimana sebuah instance

    dari kelas beroperasi misal bagaimana reaksi dari

    kelas jika diminta untuk melakukan sesuatu hal

    Didefinisikan dalam kelas dengan menggunakan

    fungsi

    14Analisis Statis : Kelas

  • 15Analisis Statis : Kelas

  • Di dalam notasi struktur kelas dikenal istilah hak akses atau visibility

    Public ( + )

    Atribut atau operasi pada kelas tersebut dapat diakses oleh semua kelas

    Private ( - )

    Atribut atau operasi pada kelas tersebut hanya dapat diakses oleh kelas itu sendiri

    Protected ( # )

    Atribut atau operasi pada kelas tersebut hanya dapat diakses oleh kelas itu sendiri atau kelas lain hasil turunannya

    16Analisis Statis : Kelas

  • Diagram kelas adalah diagram UML yang menggambarkan kelas-kelas dalam sebuah sistem dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi

    Diagram kelas adalah diagram yang menunjukan kelas - kelas yang ada dari sebuah sistem dan hubungannya secara logika. Diagram kelas menggambarkan struktur statis dari sebuah sistem. Karena itu diagram kelas merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML(Henderi, 2008)

    Diagram kelas adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut(Whitten L. Jeffery et al 2004)

    17Analisis Statis : Diagram Kelas

  • 18Analisis Statis : Diagram Kelas

  • Langkah Langkah

    Analisis Statis

    19

  • Analisis statis secara umum memiliki langkah langkah sebagai berikut :

    1. Menemukan kelas

    2. Menentukan hubungan tiap kelas

    3. Menggambarkan draf diagram kelas

    4. Menggambarkan hubungan tiap kelas di diagram kelas

    5. Menentukan atribut dan operasi dari tiap kelas

    6. Menentukan ada atau tidaknya kelas baru hasil hubungan antar kelas

    7. Menentukan objek yang Tangible dan Intangible

    8. Evaluasi dan revisi secara iteratif sampai terbentuk diagram kelas yang paling baik mewakili sistem yang akan dibangun

    20Analisis Statis

  • Langkah pertama yang sangat sulit

    21Menemukan Kelas

    1

  • Identifying object classes is often a difficult part of

    object oriented design

    There is no 'magic formula' for object identification,

    it relies on the skill, experience and domain

    knowledge of system designers

    Object identification is an iterative process, you are

    unlikely to get it right first time

    Use domain analysis as before

    Use a grammatical approach based on a natural

    language description of the system

    Base the identification on tangible things in the

    application domain

    22Menemukan Kelas

    1

  • Hint :

    Derive them from the use cases

    (descriptions/scenarios)

    Candidate classes are often indicated by nouns

    in the use cases

    Look for data which must be stored or analysed

    Are there external systems ?

    Are there any devices under the control of the

    system ?

    Are there any organizational parts ?

    23Menemukan Kelas

    1

  • 24Menemukan Kelas

    1

    Kandidat Kelas :

    Mahasiswa

    Mata Kuliah

    Jadwal

    Kartu Rencana Studi

  • Relasi / Relation

    Inheritance

    A subclass inherits all of the attributes and behavior of its superclass(es)

    Association

    Objects of one class are associated with objects of another class.

    Aggregation

    Strong association an instance of one class is made up of instances of another class

    Composition

    Strong aggregation the composed object cant be shared by other objects and dies with its composer

    25

    2

    Menentukan Hubungan Tiap

    Kelas

  • Multiplikasi / Multiplication

    n : Exactly n

    m..n : Any number in the range m to n

    (inclusive)

    p..* : Any number in the range p to infinity

    * : Shorthand for 0..*

    0..1: Optional

    26

    2

    Menentukan Hubungan Tiap

    Kelas

  • Choosing between relationships can be tricky

    you need to use intuition, experience and

    guesswork

    As far as design and implementation are

    concerned, the differences between

    association, aggregation and composition

    can be difficult to spot

    27

    2

    Menentukan Hubungan Tiap

    Kelas

  • 28

    3

    Menggambarkan Draf

    Diagram Kelas

  • 29

    4

    Menggambarkan Hubungan

    Tiap Kelas di Diagram Kelas

    Asosiasi

    Agregasi

    Komposisi

    Turunan

  • 30

    4

    Menggambarkan Hubungan

    Tiap Kelas di Diagram Kelas

    A Car has one Engine

    An Engine is part of

    one Car

    A Car has four or five

    Wheels

    Each Wheel is part of

    one Car A Car is always

    composed of one

    Body

    A Body is always part

    of one Car and it dies

    with that Car A Car can have any

    number of Drivers

  • Atribut dan operasi menentukan kegunaan

    dari kelas

    Definisikan atribut dan operasi dengan bijak

    sehingga benar-benar dapat mewakili kelas

    itu sendiri

    Jika masih belum tahu tipe data apa yang

    akan digunakan, maka d