Monday, 5 January 2015

UML (Unified Modeling Language)

Sejarah Singkat UML

UML
UML (Unified Modeling Language) adalah bahasa yang berdasarkan grafik atau gambar untuk memvisualisasi, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (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 komponen – komponen yang diperlukan dalam software.
Pendekatan analisa dan rancangan dengan menggunakan model OO mulai diperkenalkan sekitar pertengahan tahun 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakan metode OO mulai diuji cobakan dan diaplikasikan antara tahun 1989 – 1994, seperti halnya oleh grady Booch dari Rational Sotfware Co., serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique).
Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO, katika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metode OO untuk membuat suatu model bahasa yang uniform atau seragam yang disebut UML (Unified Modeling language) dan dapat digunakan oleh seluruh dunia.

Penggunaan UML Secara Resmi
Secara resmi bahasa UML dimulai pada bulan oktober 994, ketika Rumbaugh bergabung dengan Booch untuk membuat sebuah project pendekatan metode yang uniform atau seragam dari masing – masing metode mereka. Saat itu baru dikembangkan draft metode UML version 0.8 dan diselesaikan serta direlease pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metode OOSE sehingga muncul release version 0.9 pada bulan juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (ObjectManagement Group). Anderson Consulting, Ericson, Platinum technology, ObjecTime Limited dan lain lain serta dipelihara oleh OMG yang dipimping oleh Cris Kobryn.
UML adalah standar dunia yang dibuat oleh Object Management Group, sebuah badan yang bertugas mengeluarkan standar-standar teknologi objectoriented dan software component

Pengertian UML


Unified Modeling Language merupakan salah satu alat bantu yang dapat digunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML akan mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak perusahaan raksasa seperti IBM, Microsoft, dan sebagainya

Beberapa Definisi UML

1.      Unified Modeling Language merupakan metode pengembangan perangkat lunak (sistem informasi) dengan menggunakan metode grafis serta merupakan bahasa untuk visualisasi, spesifikasi, konstruksi serta dokumentasi [Adin05].
2.      Unified Modeling Language (UML) adalah bahasa yang telah menjadi standard untuk visualisasi, menetapkan, membangun dan mendokumentasikan arti suatu sistem perangkat lunak [Hend07].
3.      Unified Modeling Language (UML) dapat didefinisikan sebagai sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak [Afif02].
4.      Unified Modeling Language (UML) merupakan standard modeling language yang terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem dansoftware agar bisa menyelesaikan tugas-tugas seperti [Joml07] :
§  Spesifikasi
§  Visualisasi
§  Desain arsitektur
§  Konstruksi
§  Simulasi dan testing
§  Dokumentasi
Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (OOP)  (Object Oriented programming)”.

Langkah-langkah penggunaan Unified Modeling Language (UML)

Adapun langkah-langkah penggunaan Unified Modeling Language (UML) [Afif02] diantaranya 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 case diagram dan lengkapi denganrequirement, constraints dan catatan-catatan lain.
3.      Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4.      Definisikan requirement lain non 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/ataucollaboration utuk tiap alir pekerjaan, jika sebuah use case memiliki kemungkinan alir normal danerror, buat lagi satu diagram untuk masing-masing alir.
7.      Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
8.      Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domaindipecah 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. Selain itu, definisikantest integrasi setiap komponen untuk meyakinkan ia dapat bereaksi dengan baik.
10.  Perhalus deployment diagram yang sudah dibuat. Detailkan 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.
§  Pendekatan komponen yaitu mengassign setiap komponen kepada tim pengembang tertentu.
12.  Lakukan uji modul dan uji integrasi serta perbaiki model beserta codenya. Model harus selalu sesuai dengan code yang aktual.
13.  Perangkat lunak siap dirilis

Ruang Lingkup UML

Dalam kerangka spesifikasi, Unified Modeling Language (UML) menyediakan model-model yang tepat [Adin05], tidak mendua arti (ambigu) serta lengkap.
Secara khusus, Unified Modeling Language (UML) menspesifikasikan langkah-langkah penting dalampengambilan keputusan analisis, perancangan serta implementasi dalam sistem yang sangat bernuansa perangkat lunak (software intensive  system).
Dalam hal ini, Unified Modeling Language (UML) bukanlah merupakan bahasa pemprograman tetapi model-model yang tercipta berhubungan langsung dengan berbagai macam bahasa pemprograman, sehingga adalah mungkin melakukan pemetaan (mapping) langsung dari model-model yang dibuat dengan Unified Modeling Language (UML) dengan bahasa-bahasa pemprograman berorientasi obyek, sepertiJava, Borland Delphi, Visual Basic, C++, dan lain-lain.
Pemetaan (mapping) Unified Modeling Language (UML) bersifat dua arah yaitu :
1.      Generasi  kode bahasa pemprograman tertentu dari Unified Modeling Language (UML) forward engineering.
2.      Generasi kode belum sesuai dengan kebutuhan dan harapan pengguna, pengembang dapat melakukan langkah balik bersifat iterative dari implementasi ke Unified Modeling Language (UML)hingga didapat sistem/peranti lunak yang sesuai dengan harapan pengguna dan pengembang.

Bangunan Dasar Metodologi UML

Bangunan dasar metodologi Unified Modeling Language (UML) menggunakan tiga bangunan dasar yang digunakan untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan yaitu :
Sesuatu (Things)
Ada 4 (empat) things dalam Unified Modeling Language (UML), 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 Unified Modeling Language (UML).

Relasi (Relationship)
Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu :
1.      Kebergantungan
Merupakan hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung padanya
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 kebawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah keatas dinamakan generalisasi.
4.      Realisasi
Merupakan operasi yang benar-benar dilakukan oleh suatu objek.
Diagram
Ada 5 (lima) macam diagram dalam Unified Modeling Language (UML), yaitu :
1.      Use Case Diagram
Diagram ini memperlihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna.
2.      Class Diagram
Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi dan relasi-relasi antar objek.
3.      Sequence Diagram
Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.
4.      State Chart Diagram
Diagram ini memperlihatkan state-state pada sistem, memuat state, transisi, event, dan aktifitas.
Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem yang reaktif.
5.      Activity Diagram
Diagram ini memperlihatkan aliran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek.

Unified modeling language (UML) menunjukkan bagaimana mengekspresikan sebuah desain berorientasi objek. 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. konsep dasar UML terdiri dari structural classification,dynamic behavior, dan model management, dapat kita pahami dengan mudah apabila kita melihat dari Diagram. UML mendefinisikan diagram-diagram seperti use case diagram, class diagram, statechartdiagram, activity diagram, sequence diagram, collaboration diagram, component diagram, deploymentdiagram. Diagram yang akan digunakan penulis untuk pemodelan media pembalajaran pengenalan objek wisata dan seni budaya Bali adalah use case diagram, activity diagram dan sequence diagram.
Use Case Diagram
Use case diagram yang menggambarkan bagaimana orang-orang berinteraksi dengan sistem tersebut. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan member sebuah narasi tentang bagaimana sistem tersebut digunakan (fowler, 2005).
Use case memiliki aktor utama yang meminta sistem memberi sebuah layanan. Aktor utama adalah aktor dengan tujuan yang dipenuhi use case. Selain itu  terdapat banyak aktor lainnya yang berkomunikasi dengan sistem pada saat menjalankan use case, mereka dikenal dengan aktor sekunder. Setiap langkah dalam use case adalah sebuah elemen dalam interaksi antara aktor dan sistem. Setiap langkah harus berupa pernyataan sederhana dan dengan jelas menunjukkan siapa yang menjalankan langkah tersebut. Langkah tersebut harus menuntukkan tujuan aktor, bukan mekanisme yang harus
dilakukan aktor. 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.
Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activitydiagram juga dapat menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi.Activity diagram adalah teknik untuk menggambarkan logika procedural, proses bisnis, dan jalur kerja yang mendukung behavior parallel (fowler, 2005). standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.


Activity Diagram adalah versi UML untuk sebuah flowchart. Activity diagram digunakan untukmenganalisa proses. Sebuah activity diagram bukan sebuah tool yang sempurna untuk menganalisis masalah dari sistem. Sebagai tool untuk menganalisis, pemrogram tidak ingin untuk mulai memecahkan masalah dilevel teknis dengan membuat class, tetapi dengan menggunakan activity diagram untuk mengerti masalah dan menyaring proses yang terdapat dalam sistem.
Setiap activity diagram selalu mempunyai satu initial state. Initial node yang digambarkan dengan simbol lingkaran padat,merupakan titik yang mengawali activity diagram. Activity diagram dapat diakhiri dengan memberikan activity final diagram yang digambarkan dengan lingkaran padat dengan mempunyai cincin dibagian luarnya.

Activity Node

Activity node adalah sesuatu yang dilakukan atau yang sedang terjadi dalam activity diagram. Activity node mempunyai simbol yang hampir mirip dengan use case namun mempunyai bentuk yang lebih ramping dan menyerupai bujur sangkar.

Decision Node

Decision node disebut decision diamonds di dalam flowchart. Simbol diamond daalah satu elemen yang membuat activity diagram mengingat akan flowchart, yang berguna untuk memberi kondisi percabangan.

Transition Fork

Keberadaan sebuah transition fork untuk menggambarkan tingkah laku yang pararel atau bercabang. Sebuah transition join untuk mempertemukan tingkah laku yang pararel. Activity Diagram bisa dilihat pada Gambar berikut.

Sequence Diagram
Interaction diagram menunjukkan bagaimana kelompok-kelompok objek saling berkolaborasi dalam beberapa behavior. UML memiliki beberapa bentuk interaction diagram dan yang paling umum digunakan adalah sequence diagram. Sebuah sequence diagram adalah diagram yang secara khusus menjabarkan urutan behavior sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang mewakili objek ini di dalam use case (fowler,2005).
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequencediagram 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-triggeraktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metode dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message (fowler,2005).
Sequence diagram digunakan untuk menggambarkan prilaku pada sebuah skenario. Diagram jenis ini memberikan kejelasan sejumlah obyek dan pesan-pesan yang diletakkan diantaranya didalam sebuah use case. Komponen utamanya adalah obyek yang digambarkan dengan kotak segi empat, message yang digambarkan dengan garis penuh, dan waktu yang ditunjukkan dengan progress vertical.(Suhendar, 2002).

Kegunaan Sequence Diagram


Sequence diagram digunakan untuk memberikan gambaran detail dari setiap use case diagram yang dibuat sebelumnya. Setiap obyek yang terlibat dalam sebuah use case digambarkan dengan garis putus-putus vertical, kemudian massage yang dikirim oleh obyek digambarkan dengan garis horisontal secara kronologis dari atas ke bawah. Sequance diagram dapat dilihat pada Gambar berikut.

download materi disini

No comments:

Post a Comment