Pengenalan "Unified Modeling Language/UML"
Merancang
adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool /
model untuk merancang pengembangan software yang berbasis object oriented
adalah UML.
Konsep Objek
Obyek
dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept), benda (thing), dan
sesuatu yang membedakannya dengan lingkungannya. Secara sederhana obyek adalah
sepeda, manusia, bumi dan dll. Tapi
obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem
seperti tabel, database, event, system messages.
Teknik Dasar
OOA/D (Object-Oriented
Analysis/Design)
Metodologi
implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik
pemilihan obyek tidak terlepas pada subyektifitas software analyst &
designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian
untuk diimplementasikan di dalam sistem. Ada 3 (tiga) teknik/konsep dasar dalam
OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.
a. Pemodulan (Encapsulation)
Misalnya seorang ibu rumah tangga mencuci pakaian dengan menggunakan mesin cuci, ibu tersebut menggunakannya hanya dengan menekan tombol yang ada pada mesin tersebut. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik mesin cuci, sehingga tidak perlu diketahui seorang ibu. Dengan demikian mencuci pakaian oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.
Misalnya seorang ibu rumah tangga mencuci pakaian dengan menggunakan mesin cuci, ibu tersebut menggunakannya hanya dengan menekan tombol yang ada pada mesin tersebut. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik mesin cuci, sehingga tidak perlu diketahui seorang ibu. Dengan demikian mencuci pakaian oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.
b. Penurunan (Inheritance)
Obyek-obyek
memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa
buah komputer yang mempunyai mobilitas yang berbeda-beda. Ada komputer yang mudah
dibawa kemana-mana (portable) seperti notebook dan komputer yang sulit dibawa
kemana-mana (non-portable) seperti desktop. Walaupun demikian obyek-obyek ini
memiliki kesamaan yaitu teridentifikasi sebagai obyek komputer, obyek ini dapat
dikatakan sebagai obyek induk (parent). Sedangkan notebook dan desktop dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang
berlaku pada komputer berlaku juga pada notebook dan desktop .
c. Polymorphism
Pada
obyek komputer, walaupun notebook dan desktop merupakan jenis obyek komputer
yang sama,
namun memiliki juga perbedaan. Misalnya pada umumnya ukuran desktop lebih besar
dari pada notebook dan pada desktop terdapat expansion slot sedangkan pada
notebook tidak ada, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda
dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup/pembatasan.
Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang
dibatasi.
Pengenalan UML
Sebuah
bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan
/ aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. UML
adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat
menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak
menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah
satu proses implementasi pengembangan software. 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. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes.
Untuk
dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan
mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan
yang menyatakan bagaimana building
block diletakkan secara bersamaan, dan beberapa
mekanisme umum
a. Building blocks
3 (tiga)
macam yang terdapat dalam building block adalah katagori benda/Things,
hubungan, dan diagram. Benda/things adalah abstraksi yang pertama dalam sebuah
model, hubungan sebagai alat komunikasi dari bendabenda, dan diagram sebagai
kumpulan / group dari benda-benda/things.
• Benda/Things
Adalah
hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik
dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep
dan atau fisik. Bentuk dari beberapa benda/thing adalah sebagai berikut:
Pertama,
adalah sebuah kelas yang diuraikan sebagai sekelompok dari object yang
mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan
1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi
panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya,
seperti terlihat dalam gambar 1.
Kedua,
yang menggambarkan interface merupakan sebuah antar-muka yang menghubungkan dan melayani antar
kelas dan atau elemen. Interface mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya
digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah
antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau
komponen, seperti dalam gambar 2.
Ketiga,
adalah collaboration yang didefinisikan dengan interaksi dan sebuah kumpulan
/ kelompok dari kelas-kelas/elemen-elemen yang bekerja secara bersama-sama.
Collaborations mempunyai struktur dan dimensi. Pemberian sebuah
kelas memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan
dengan sebuah ‘elips’ dengan
garis terpotong-potong.
Keempat,
sebuah use case adalah
rangkaian/uraian sekelompok yang saling terkait
dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah
aktor. Use case digunakan untuk membentuk
tingkah-laku benda/things dalam
sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya use case digambarkan dengan sebuah ‘elips’ dengan garis yang solid,
biasanya mengandung
nama, seperti terlihat dalam gambar 4.
Kelima, sebuah node merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalah sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya, seperti terlihat dalam gambar 5.
• Hubungan / Relationship
Ada 4
macam hubungan didalam penggunaan UML, yaitu; dependency,
association, generalization, dan realization.
Pertama,
sebuah dependency adalah hubungan semantik antara dua benda/things yang mana sebuah
benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan
garis terputus-putus seperti terlihat dalam gambar 6.
Kedua,
sebuah association adalah hubungan antar benda struktural yang terhubung diantara obyek.
Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan
sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation
digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan
status hubungannya seperti terlihat dalam gambar 7.
Ketiga,
sebuah generalization adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini,
obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada
obyek induk. Digambarkan dengan garis panah seperti terlihat dalam gambar 8.
Keempat,
sebuah realization merupakan hubungan semantik antara pengelompokkan yang menjamin adanya
ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations. Model dari
sebuah hubungan realization seperti terlihat dalam gambar 9.
• Diagram
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. UML mempunyai 9 diagram, yaitu; use-case,
class, object, state, sequence, collaboration, activity, component, dan deployment diagram.
Diagram
pertama adalah use case menggambarkan sekelompok use
cases dan aktor yang disertai dengan hubungan
diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan/requirement yang diinginkan/dikehendaki user/pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada
sebuah sistem.
Referensi :
- http://ikc.depsos.go.id/umum/yanti/yanti-uml.zip (diakses 12 April 2012).
- http://wsilfi.staff.gunadarma.ac.id/Downloads/files/1034/Pengenalan+UML.pdf (diakses 12 April 2012).
0 comments:
Post a Comment