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)
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
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.
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.
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.
Merupakan operasi yang benar-benar dilakukan oleh suatu objek.
Diagram
Ada
5 (lima) macam diagram dalam Unified Modeling Language (UML), yaitu
:
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.
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
download materi disini
No comments:
Post a Comment