Rabu, 04 November 2015

Tugas RPL UNIFIED MODELING LANGUAGE (UML)



MAKALAH
REKAYASA PERANGKAT LUNAK
Tentang
UNIFIED MODELING LANGUAGE (UML)





 





Disusun oleh :
NOVAN PRASTIYO
3121204054



PROGRAM STUDI SISTEM INFORMASI (S1)
STMIK MASA DEPAN TANGERANG
OKTOBER 2015











1.         Pendahuluan

a.         Pendahuluan
Penggunaan UML dalam industri terus meningkat.Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.Singkatnya Unified Modelling Language (UML) adalah sebuah “bahasa” yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.UML menawarkan sebuah standar untuk merancang model sebuah sistem.

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG ).

b. Tujuan Penggunaan UML
a. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
b. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
c.    Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
d.   UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).


2.    Pengertian

Unified Modeling Language (UML)  adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML  adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML  sudah mulai banyak digunakan oleh para praktisi OOP. UML  merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.

3.    Perbandingan dengan diagram konvensional
1)   UML biasa digunakan untuk mempresentasikan sistem kepada orang-orang yang tidak mengerti tata-cara pemrograman, seperti orang-orang awam pada umumnya. (Client, dll)
Hal ini dikarenakan UML memakai penggambaran logika algoritma suatu program.

Sedangkan DFD dan ERD kebalikannya, biasa digunakan untuk mempresentasikan sistem kepada orang-orang yang mengerti tata cara pemrograman (programmer, dll).
Hal ini dikarenakan DFD memakai penggambaran sistem secara umum. Dari proses, data, basis data, dan entitas.

2)   DFD & ERD adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas.
DFD merupakan alat bantu dalam menggambarkan atau menjelaskan sistem yang sedang berjalan logis.

Sedangkan Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.UML tidak berdasarkan pada bahasa pemrograman tertentu.Standar spesifikasi UML dijadikan standar defacto oleh OMG (Object Management Group) pada tahun 1997.UML yang berorientasikan object mempunyai beberapa notasi standar

3)      UML lebih mudah digunakan untuk belajar pada tahap awal bagi orang-orang yang belum mengerti bahasa pemrograman.

Sedangkan DFD & ERD merupakan bahasa pemrograman yang digunakan oleh orang yang sudah ahli dalam bidang program dan tentu saja lebih sulit digunakan daripada UML, dan juga bersifat lebih spesifik.


4.         Konsep Dasar

1.         Konsep dasar UML dapat dirangkumkan seperti dibawah ini :
           
  

Major Area
View
Diagrams
Main Concepts
structural
static view
class diagram
class, association, generalization, dependency, realization, interface

use case view
use case diagram
use case, actor, association, extend, include, use case generalization

implementation view
component diagram
component, interface, dependency, realization
dynamic
state machine view
statechart diagram
state, event, transition, action

actifity view
activity diagram
state, activity, completion transition, fork, join

interaction view
sequence diagram
interaction, object, message, activation

colaborating diagram
collaborating, interaction, collaboration rule, message
model management
model management view
class diagram
package, subsystem, model
extensibility
All
All
constraint, stereotype, tagged values

































     

Abstraksi konsep dasar UML yang terdiri dari structural classification ,dynamic behavior , dan model management , bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams . Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. Lalu darimana kita mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita perhatikan:
1. Menguasai pembuatan diagram UML                                                     
2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML


1.      Langkah-langkah penggunaan Unified Modeling Language (UML)
Menurut Henderi (2008:6), langkah-langkah penggunaan Unified Modeling Language (UML) sebagai berikut:
1.         Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
2.         Petakan use case untuk setiap business process untuk mendefinisikan dengan tepat fungsional yang harus disediakan oleh sistem, kemudian perhalus use casediagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
3.         Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4.         Definisikan requirementlainnon fungsional, security dan sebagainya yang juga harus disediakan oleh sistem.
5.         Berdasarkan use case diagram, mulailah membuat activity diagram.
6.         Definisikan obyek-obyek level atas package atau domain dan buatlah sequence dan/atau collaboration untuk tiap alur pekerjaan, jika sebuah use case memiliki kemungkinan alur normal dan error, buat lagi satu diagram untuk masing-masing alur.
7.         Buatlah rancangan user interface model yang menyediakan antar muka bagi pengguna untuk menjalankan skenario use case.
8.         Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domian dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
9.         Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan class menjadi komponen-komponen karena itu buatlah component diagram pada tahap ini. Juga, definisikan test integrasi untuk setiap komponen meyakinkan ia bereaksi dengan baik.
10.     Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan komponen ke dalam node.
11.     Mulailah membangun sistem. Ada dua pendekatan yang tepat digunakan: Pendekatan use case dengan mengassign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit kode yang lengkap dengan test dan pendekatan komponen yaitu mengassign setiap komponen kepada tim  pengembang tertentu.
2.      Konsep Pemodelan Menggunakan UML
Menurut Nugroho (2010:10), Sesungguhnya tidak ada batasan yag tegas diantara berbagai konsep dan konstruksi dalam UML, tetapi untuk menyederhanakannya, kita membagi sejumlah besar konsep dan dalam UML menjadi beberapa view. Suatu view sendiri pada dasarnya merupakan sejumlah konstruksi pemodelan UML yang merepresentasikan suatu aspek tertentu dari sistem atau perangkat lunak yang sedang kita kembangkan. Pada peringkat paling atas, view-view sesungguhnya dapat dibagi menjadi tiga area utama, yaitu: klasifikasi struktural (structural classification), perilaku dinamis (dinamic behaviour), serta pengolahan atau manajemen model (model management).
3.    Bangunan dasar Metodologi Unified Modeling Language (UML)
Menurut Nugroho (2010:117). Bangunan dasar metodologi UMLmenggunakan tiga bangunan dasar untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan, yaitu :
a.       Sesuatu (things)
Ada 4 (empat) things dalamUML, yaitu:
1.        Structural things merupakan bagian yang relatif statis dalam model Unified Modeling Language (UML). Bagian yang relatif statis dapat berupa elemen-elemen yang bersifat fisik maupun konseptual.
2.        Behavioral things merupakan bagian yang dinamis pada model Unified Modeling Language (UML), biasanya merupakan kata kerja dari model Unified Modeling Language (UML), yang mencerminkan perilaku sepanjang ruang dan waktu.
3.        Grouping things merupakan bagian pengorganisasi dalam Unified Modeling Language (UML). Dalam penggambaran model yang rumit kadang diperlukan penggambaran paket yang menyederhanakan model. Paket-paket ini kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model-model dan subsistem-subsistem.
4.        Annotational things merupakan bagian yang memperjelas model Unified Modeling Language (UML)dan dapat berupa  komentar-komentar yang menjelaskan fungsi serta ciri-ciri setiap elemen dalam model Unified Modeling Language (UML).
b.      Relasi (Relationship)
Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu:
1.    Ketergantungan merupakan hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent)akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (dependent).
2.    Asosiasi merupakan apa yang menghubungkan antara objek satu dengan objek lainnya, bagaimana hubungan suatu objek dengan objek lainnya. Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagian-bagiannya.
3.    Generalisasi merupakan hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada diatasnya objek induk (ancestor). Arah dari atas ke bawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah ke atas dinamakan generalisasi.
4.    Realisasi merupakan operasi yang benar-benar dilakukan oleh suatu objek.
 



               5. Use Case Diagram

a.       Pengertian

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng- create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng- includefungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di- include akan dipanggil setiap kali use case yang meng- include dieksekusi secara normal. Sebuah use case dapat di- include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common . Sebuah use case juga dapat meng- extend use case lain dengan behaviour -nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

   b.    Kelebihan dan kelemahan Use Case Diagram

   Kelebihan:

·    Interaksi antara pengguna dan system lain dengan system yang akan di buat cukup tergambar dengan baik.
·      Penggambaran dengan sederhana membuat identifikasi kebutuhan dengan use case dapat dengan lebih mudah untuk dipahami.
·       Pendekatan identifikasi kebutuhan dapat berdasarkan top down (keinginan dari manajemen level atas) maupun bottom up (keinginan pengguna akhir).
·       Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.
·      Dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
·       Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri.
·     Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

    Kelemahan:

·       Kekurangan mengenai data masih kurang teridentifikasi dengan baik.

  6.         Class Diagram

a.       Pengertian
Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket di dalam sistem.Class diagram memberikan gambaran system secara statis dan relasi antar mereka.Biasanya, dibua beberapa class diagram untuk system tunggal. Beberapa diagram akan menampilkan subset dari kelas-kelas dan relasinya. Dapat dibuat beberapa diagram sesuai dengan yang diinginkan untuk mendapatkan gambaran lengkap terhadap system yang dibangun.
Class diagram adalah alat perancangan terbaik untuk tim pengembang. Diagram tersebut membantu pengembang mendapatkan struktur system sebelum kode ditulis, dan membantu untuk memastikan bahwa system adalah desain terbaik.

         -          Kelas
Kelas adalah sesuatu yang membungkus informasi dan perilaku. Secara tradisional, sistem dibangun dengan ide dasar bahwa akan menyimpan informasi pada sisi baris data dan data perilaku pengolahnya pada sisi aplikasi. Salah satu perbedaan terstruktur dengan pendekatan berorientasi obyek adalah
pada berorientasi obyek menggabungkan informasi dan perilaku pengolah informasi dan menyembunyikan semua kedalam sesuatu yang disebut kelas.


Bagian paling atas pada notasi Class digunakan sebagai nama kelas, dan secara opsional juga digunakan stereotype-nya. Bagian tengah digunakan untuk menyimpan atribut, dan bagian paling bawah digunakan menyimpan operasi.

-          Menentukan kelas
Cara yang baik untuk menemukan kelas-kelas adalah mulai dari memperhatikan aliran kejadian (flow of event) dari suatu use case. Perhatikan kata benda didalam aliran kejadian, mungkin merupakan salah satu dari empat hal berikut :
    1.      Actor
    2.      Kelas
    3.      Atribut dari kelas
    4.      Ekspresi, bukan actor, bukan kelas, dan bukan atribut.

Dengan melakukan seleksi kata benda dalam aliran kejadian, dapat ditemukan kelas-kelas dalam system.Alternative lainnya, dapat di uji obyek-obyek dalam sequence diagram dan collaboration diagram.
Ada dua cara yang biasa dilakukan berkaitan dengan urutan pendefinisian antar kelas-kelas dalam class diagram dan sequence diagram atau collaboration diagram. Yang pertama, dengan membuat sequence diagram atau collaboration diagram lebih dulu.Kemudian melanjutkannya dengan membuat class diagram.Sebaliknya, yang kedua, yaitu dengan menemukan kelas-kelas dan membuat class diagram terlebih dahulu, kemudian menggunakan kelas-kelas terebut sebagai “Kamus” obyek-obyek dan relasinya untuk membuat sequence diagram atau collaboration diagram.

b.    Class Diagram Element
·         Classes name
·         Atribut
·         Metoda

c.       Atribut dan operation (metoda) dapat memiliki salah satu sifat berikut :

1. Private, hanya bisa dipanggil dari dlm kelas itu sendiri.  methode/atribut diawali “-“.
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan  class turunannya. methode diawali dg tanda “#”.
3. Public, dapat dipanggil  dari semua objek. methode/atribut diawali tanda “+”

                     d.      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 m enunjukkan arah query antar class .
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 metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4.   Hubungan dinamis, yaitu rangkaian pesan ( message) yang di- passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.



          7.         Statechart Diagram
 
a.       Pengertian

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram ). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.

b.      Tujuan
·         Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object
·         Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object, transisi dari sebuah state ke state lainnya.


8.      Activity Diagram

a.       Pengertian

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di- trigger oleh selesainya state sebelumnya ( internal processing ). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state , standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel ( forkdan join ) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

b.      Tujuan

·         Untuk membuat model sebuah task (tugas).
·         Untuk menggambarkan fungsi sistem yang dibuat dengan use case.
·         Untuk menggambarkan logik dari sebuah operasi.
·         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
·         Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan
sebuah proses untuk membantu memahami proses secara keseluruhan
·         Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram

      9.         Sequence Diagram

     a.       Pengertian

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek – obyek yang melakukan suatu tugas atau aksi tertentu. Obyek – obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram.Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut  lifeline,  dilekatkan pada setiap obyek atau aktor. Kemudian, lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut.Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anak panah antara activation box pengirim dan penerima. Kemudian diatasnya diberikan  label  pesan.

b.  Tujuan penggunaan sequence diagram :

1.  Mengkomunikasikan requirement kepada tim teknis karena diagram ini dapat lebih mudah untuk dielaborasi menjadi model design.
2.  Merupakan diagram yang paling cocok untuk mengembangkan model deskripsi use-case menjadi spesifikasi design.

c. Waktu Penggunaan sequence diagram :

1.  Pada tahap discovery : Sequence diagram dari use case yang dipilih dibuat oleh Business Analyst.
2.  Pada tahap construction : System analyst menggunakan use case dan sequence diagram yang dibuat oleh Business Analyst  sebagai input untuk pembuatan technical sequence diagram yang akan ditinjau kembali oleh Business Analyst
3.  Pada tahap final verification and validation : sequence diagram digunakan untuk merancang test dari use-case scenario.









0 komentar:

Posting Komentar