A.
SEJARAH UML
Pada Oktober 1994, Dr. James
Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah
bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design
(OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling Technique (OMT).
Duet Mereka pada Oktober 1995 menghasilkan UnifiedMethod versi 0.8.Musim gugur
1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan
memperkenalkan tool use case. Trio tersebut pada bulan Juni 1996 menghasilkan
Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan
Object Oriented Software Engineering (OOSE). Trio ini mengembangkan Ratinal
Unified Process (RUP) Banyak perusahaan software merasakan bagaimana pentingnya
UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk
sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti :
- Microsoft
- Oracle
- IBM
- Hewlett-Packard
- Intellicorp
- I-Logix
- DEC, Digital Equipment Corp
- Texas instrument
Dari
konsorsium tersebut pada bulan Januari 1997 lahirlah UML versi 1.0
Pada bulan September 1997 lahirlah
UML versi 1.1, dengan 8 buah diagram, yaitu :
1.
Use case diagram
2.
Activity diagram
3.
Sequence diagram
4.
Collaboration diagram
5.
Class diagram
6.
Statechart diagram
7.
Component diagram
8.
Deployment diagram
OMG didirikan pada bulan April 1989 oleh sebelas
perusahaan software, dengan kantor pusat di Needham, MA, USA. (www.omg.org)
Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah
diagram, dengan penambahan :
Pada bulan
November 1997 sebuah organisasi non profit standarisasi Object Management Group
(OMG) mengakui UML sebagai sebuah bahasa pemodelan standar untuk aplikasi object
oriented.
- Business use case Diagram.
Pada
May 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram, dengan penambahan :
- Object Diagram
Pada
tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram, dengan penambahan
dan penggantian yaitu :
1. Use
Case Diagram
2. Activity
Diagram
3. Sequence
Diagram
4. Communication
Diagram (Collaboration diagram in versi 1.x)
5. Class
Diagram
6. State
Machine Diagram (Statechart diagram in versi 1.x)
7. Component
Diagram
8. Deployment
Diagram
9. Composite
Structure Diagram
10. Interaction
Overview Diagram
11. Object
Diagram
12. Package
Diagram
13. Timing
Diagram
A.
A.
B. DEFINISI UML (Unified Modeling Language)
UML (Unified
Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan software berbasis OO
(Object-Oriented). UML tidak hanya merupakan sebuah bahasa pemograman
visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa
pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara
langsung ke dalam sebuah object-oriented database.
C.
BAGIAN-BAGIAN UML
Bagian-bagian
utama dari UML adalah view, diagram, model element, dan general mechanism.
1. View
View digunakan
untuk melihat sistem yang dimodelkan dari beberapa aspek yang
berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi
yang berisi sejumlah diagram. Beberapa jenis view dalam UML antara
lain : use case view, logical view, component view, concurrency view,
dan deployment view.
2. Use case View
Mendeskripsikan
fungsionalitas sistem yang seharusnya dilakukan sesuai yang
diinginkan external actors. Actor yang berinteraksi dengan sistem
dapat berupa user atau sistem lainnya. View ini digambarkan dalam use
case diagrams dan kadang-kadang dengan activity diagrams. View ini digunakan
terutama untuk pelanggan, perancang (designer), pengembang (developer), dan
penguji sistem (tester).
3. Logical View
Mendeskripsikan
bagaimana fungsionalitas dari sistem, struktur statis (class, object, dan
relationship ) dan kolaborasi dinamis yang terjadi
ketika object mengirim pesan ke object lain dalam suatu
fungsi tertentu. View ini digambarkan dalam class diagrams untuk
struktur statis dan dalam state, sequence, collaboration, dan activity
diagram untuk model dinamisnya. View ini digunakan untuk perancang
(designer) dan pengembang (developer).
4. Component View
Mendeskripsikan
implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya
dari code module diperlihatkan dengan struktur dan ketergantungannya
juga alokasi sumber daya komponen dan informasi administrative lainnya.
View ini digambarkan dalam component view dan digunakan untuk
pengembang (developer).
5. Concurrency View
Membagi
sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram
dinamis (state, sequence, collaboration, dan activity diagrams) dan
diagram implementasi (component dan deployment diagrams) serta digunakan
untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
6. Deployment View
Mendeskripsikan
fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana
hubungannya dengan yang lain. View ini digambarkan dalam deployment
diagrams dan digunakan untuk pengembang (developer), pengintegrasi
(integrator), dan penguji (tester).
D.
DIAGRAM
1.
Use Case Diagram
2.
Activity Diagram
3.
Sequence Diagram
4.
Communication
Diagram (Collaboration diagram in versi 1.x)
5.
Class Diagram
6.
State Machine
Diagram (Statechart diagram in versi 1.x)
7.
Component
Diagram
8.
Deployment
Diagram
9.
Composite
Structure Diagram
10. Interaction
Overview Diagram
11. Object
Diagram
12. Package
Diagram
13. Timing
Diagram
Berikut ini saya akan menjelaskan
tentang diagram-diagram tersebut :
1.
Use Case Diagram
Use case
adalah abstraksi dari interaksi antara system dan actor. Use case bekerja
dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan
sistemnya sendiri melalui sebuah cerita bagaimana sebuah system
dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana
system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi
komunikasi diantara analis dan pengguna serta antara analis dan client.
Gambar Use
Case Diagram
Diagram Use Case berguna dalam tiga hal :
- Menjelaskan
fasilitas yang ada (requirements)
- Use Case baru
selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi
lebih jelas.
- Komunikas dengan
klien
- Penggunaan
notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah
berkomunikasi dengan klien-kliennya.
-
Membuat test
dari kasus-kasus secara umum
- Kumpulan dari
kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk
kejadian-kejadian tersebut.
2.
Activity Diagram
Pada dasarnya diagram Activity sering
digunakan oleh flowchart. Diagram ini berhubungan dengan diagram
Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau
proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas
yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata
lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung
satu sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan
uang dari bank melalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang
terkait yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start
hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada
bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Lihat gambar di
bawah ini, agar lebih jelas :
Gambar
3.
Sequence Diagram
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. Di bawah ini adalah diagram Sequence untuk pembuatan Hotel
Reservation. Obyek yang mengawali urutan message adalah ‘aReservation
Window’.
Contoh
Diagram Sequence ‘Pemesanan kamar di Hotel’.
Gambar
‘ Reservation window’ mengirim pesan makeReservation() ke ‘HotelChain’. Kemudian
‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’. Bila ‘Hotel’ punya kamar
kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’. Lifeline adalah garis
dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu
obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari
pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari
suatu pesan pada lifeline penerima. Activation bar menerangkan
lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa ‘Hotel’
telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar
kosong. Bila benar, maka ‘Hotel’membuat ‘Reservation’ dan ‘Confirmation’.
Pemanggilan diri sendiri disebut dengan iterasi. Expression yeng
dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Pada diagram
dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar
kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram
UML.
4.
Communication
Diagram (Collaboration diagram in versi 1.x)
Collaboration diagram menggambarkan
interaksi antar objek seperti sequence
diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki
nomor 1. Messages dari level yang sama memiliki prefiks yang sama. Diagram
Collaboration juga merupakan diagram interaction. Diagram membawa
informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau
memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh
Diagram Collaboration ‘Pemesanan kamar di Hotel’.
Gambar
Kotak kegiatan obyek diberi label dengan nama kelas
atau obyek (atau keduanya). Nama kelas dibatasi dengan colons / titik dua (
: ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut.
Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada
tingkat yang sama memiliki prefix yang sama, namun suffix berbeda
bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.
5.
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. Metoda
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
Gambar Class Diagram
Hubungan Antar Class
- . 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.
- Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
- . 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.
- 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.
Tidak ada komentar:
Posting Komentar