uml unified modeling language

9
UNIFIED MODELING LANGUAGE UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented. UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented. UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponenkomponen yang diperlukan dalam sistem software. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UMLmerupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). UML dibangun atas model 4+1 view Use Case View mendefinisikan perilaku eksternal sistem Design View mendefinisikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan use case (computer program, kelas-kelas, interkasi) Implementation View : menjelaskan komponen-komponen fifik dari sistem (file exe, library, database) Design View Implementation Proses View Deployment View Use Case View

Upload: yogie-luthfiie-adinegara

Post on 03-Oct-2015

224 views

Category:

Documents


2 download

DESCRIPTION

UNIFIED MODELING LANGUAGE

TRANSCRIPT

  • UNIFIED MODELING LANGUAGE

    UML (Unified Modeling Language) adalah metode pemodelan secara visual

    sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena

    UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka

    semua elemen dan diagram berbasiskan pada paradigma object oriented.

    UML adalah salah satu tool / model untuk merancang pengembangan software

    yang berbasis object oriented. UML sendiri juga memberikan standar penulisan sebuah

    sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa

    program yang spesifik, skema database, dan komponenkomponen yang diperlukan dalam

    sistem software.

    Dengan menggunakan UML kita dapat membuat model untuk semua jenis

    aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem

    operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi

    karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia

    lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti

    C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk

    modeling aplikasi prosedural dalam VB atau C.

    Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.

    Notasi UMLmerupakan sekumpulan bentuk khusus untuk menggambarkan berbagai

    diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax

    mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML

    terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD

    (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar

    Jacobson OOSE (Object-Oriented Software Engineering).

    UML dibangun atas model 4+1 view

    Use Case View mendefinisikan perilaku eksternal sistem

    Design View mendefinisikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan

    use case (computer program, kelas-kelas, interkasi)

    Implementation View : menjelaskan komponen-komponen fifik dari sistem (file exe, library, database)

    Design View Implementation

    Proses View Deployment

    View

    Use Case

    View

  • Process View berkaitan dengan concurrency di dalam sistem

    Deployment View menjelaskan bagaimana komponen-komponen fisik didistribusikan.

    Diagram - Diagram Yang Terdapat Pada UML

    UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau

    sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun

    solusi dari permasalahan suatu model.

    Diagram UML terdiri dari :

    1. Diagram Use Case 2. Diagram Class 3. Behavior Diagram

    Statechart Diagram

    Activity Diagram

    Interaction Diagram : - Sequence Diagram - Collaboration Diagram

    4. Implentation Diagram

    Component Diagram

    Deployment Diagram

    1. Diagram Use Case

    Diagram Use Case menggambarkan apa saja aktifitas yang dilakukan oleh suatu

    sistem dari sudut pandang pengamatan luar. yang menjadi persoalan itu apa yang

    dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat kaitannya dengan

    kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika

    seseorang berinteraksi dengan sistem.

    Notasi Use Case

    Actor Actor merupakan pengguna sistem, sistem yang berhubungan dengan sistem lain,

    atau time/waktu

    Lambang :

    Use Case Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-

    create sebuah daftar belanja, dan sebagainyayang disediakan sistem

    Lambang :

  • Asosiasi Menghubungkan antara actor dengan use case

    Lambang :

    Sistem Digambarkan dengan kotak

    Tipe Relasi/Asosiasi pada Use Case :

    Include Memungkinkan 1 use case menggunakan fungsionalitas yang disediakan oleh

    usecase lain

    Extends Memungkinkan 1 use case secara optional menggunakan fungsionalitas yang

    disediakan oleh use case lain.

    Generalization/inheritance antara use case Dibuat ketika ada sebuah keadaan yang lain/perlakuan khusus Inheriting use case

    dibawah base/parent use case

    Contoh : Use Case Buka tabungan di bank

    Nasabah

    bukaTabungan

    Teller

    bukaInvestasiIsiData

    2. 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 (metoda/fungsi).

    Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta

    hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

    Class memiliki tiga area pokok :

    1. Nama (dan stereotype)

    2. Atribut

    3. Method (operasi)

    Atribut dan metoda 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

    Contoh :

    public class Ujian {

    private nilai;

    public int hasil;

    public void total( ) {}

    protected int Rata(int n) { }

    }

    Bentuk :

    +Total()

    #Rata(in n : int) : int

    -nilai : int

    +hasil : int

    ujian

    Untuk abstract class :

    +berkembang()

    -Jenis : String

    Binatang {abstract}

    Hubungan Antar Class

    1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi

    class lain. Panah navigability menunjukkan arah query antar class.

    Lambang :

    2. Agregasi, yaitu hubungan yang menyatakan bagian (terdiri atas..) atau biasa disebut relasi mempunyai sebuah.

    Lambang :

    3. Composition, yaitu sebuah kelas tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi composition.

    Lambang :

    4. Dependency, yaitu hubungan yang menunjukan operasi pada suatu kelas yang menggunakan class yang lain.

    Lambang :

  • 5. Generalisasi / Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya

    dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang

    diwarisinya.

    Lambang :

    Multiplicity

    Multiplicity pada asosiati adlah jumlah banyakna obyek sebuah class yang

    berelasi dengan sebuah obyek class lain yang berasosiasi dengan class tersebut. Berikut

    tabel multiplicity :

    Indikator

    Arti Keterangan/Contoh

    0..1 Kosong atau satu

    0..* Kosong atau lebih

    0..n Kosong atau n, n > 1 0..3

    1 Hanya satu

    1..* Lebih dari sama dengan satu

    1..n Satu atau n, n >1 1..5

    * Banyak atau Many

    N Hanya N, dimana N lebih dari satu 9

    n..* Lebih dari sama dengan N, N > 1 7..*

    n..m Lebih dari sama dengan N dan kurang dari sama dengan M. Dimana M dan N lebih dari satu.

    3..10

  • Contoh :

    1. Setiap 1 rekening tabungan dapat tidak memiliki ATM atau hanya memiliki 1 ATM

    2. 1 Dosen dapat mengajar banyak mata kuliah dan 1 Mata kuliah dapat diajar 1 atau

    lebih dosen.

    Contoh Class Diagram pada Pemesanan Barang

    Package, Interface dan Object

    Package adalah kumpulan elemen-elemen logika UML. Untuk mengatur

    pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-

    kelas berupa package (paket-paket). Gambar di bawah ini mengenai model bisnis dengan

    pengelompokan kelas-kelas dalam bentuk paket-paket

    rekening ATM

    0..11

    Dosen Mata Kuliah

    1..*1..*

  • Contoh :

    MahlukHidup

    Object diagram adalah diagram yang memberikan gambaran model instance-instance

    dari sebuah class. Diagram ini digunakan untuk menggambarkan sebuah sistem dari sudut

    pandang waktu tertentu.

    Contoh:

    kaki : int = 2

    Dewa : Manusia

    Jenis : String = Harum manis

    MasaBuah : int = 1

    Pohon_mangga : Tumbuhan

    Interface adalah satu set operation yang memberikan spesifikasi bebera aspek dari

    prilaku dan operasi dari suatu class ke class lain.

    Contoh :

    +tekanTombol()

    interface

    MesinTik

    +ctrl()

    +alt()

    -jmlTombol : int

    Keyboard

    3. Statechart Diagram

    Statechart atau biasa disebut dengan state diagram digunakan untuk

    mendokumentasikan beragam kondisi atau keadaan yang terjadi terhadap sebuah class

    dan kegiatan apa saja yang dapat merubah keadaan/kondisi tersebut.

    Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat

    memiliki lebih dari satu statechart diagram).

    Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat

    terjadinya transisi yang bersangkutan.

    Action ( aktifitas: menjalankan atau membuat state berubah) yang dilakukan sebagai

    akibat dari event ( penyebab terjadinya perubahan ).

    Kategori action :

    1. Entry : apa yang terjadi ketika system memasuk state 2. Do : apa yang terjadi ketika system berada dalam state 3. Exit : apa yang terjadi ketika system meninggalkan state

  • Notasi Pada statechart :

    1. Start State 3. End State

    2. State 4. Transition

    Contoh :

    4. Diagram Sequence

    Diagram Class dan diagram Object merupakan suatu gambaran model statis.

    Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence

    merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu

    dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini

    diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya

    operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang

    terurut.

    Notasi pada diagram sequence :

    1. Object Merupakan instance class dan dituliskan tersusun secara horizontal.

    Simbol :

    State1

    : Object

  • 2. Actor Actor juga dapat berkomunikasi dengan object.

    Simbol :

    3. Lifeline

    Mengindikasikan keberadaan sebuah obyek dalam basis waktu.

    Simbol :

    4. Activation Mengindikasikan sebuah obyek yang melakukan sebuah aksi

    Simbol :

    5. Message Mengindikasikan komunikasi antar obyek.

    Simbol :

    Contoh , diagram sequence yang menggambarkan sistem mesin minuman otomatis

    front register Dispenser

    user

    Select(selection) send(input)

    send(input)

    Deliver(selection)

    insert(input)