Rabu, 13 Januari 2016

Unified Modeling Language (UML)


Unified modeling language adalah bahasa standar untuk penulisan blue screen perangkat lunak. UML dapat digunakan untuk memvisuliasikan, menentukan, mengkontruksi, dan mendokumentasikan artifak-artifak suatu sistem software-intensive. (Pressman, 2012). Pengertian lain dari  UML sendiri adalah bahasa untuk menspesifikasi, memvisualisasi, serta mengkontruksi bangunan dasar sistem perangkat lunak, termasuk melihatkan pemodelan aturan-aturan bisnis. (Nugroho, 2011). UML dapat merepresentasikan model untuk semua jenis aplikasi piranti software, dimana aplikasi tersebut dapat berjalan pada hardware, operating system, dan network apapun, serta ditulis dalam bahasa pemprograman apapun. Tetapi karena UML menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan software dalam bahasa-bahasa berorientasi objek seperti C++, JAVA, C#, VB.NET.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram software. Setiap bentuk memiliki makna tertentu, dan syntax UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML diturunkan dari tiga notasi yang telah ada sebelumnya, yaitu Grady Booch OOD (object-oriented design), Jim Rumbaugh OMT (object modeling techniqe), dan Ivar Jacobson OOSE (object-oriented software engineering). UML merupakan metodologi untuk mengembangkan sistem OOP (Object Oriented Programming). UML hanya berfungsi untuk melakukan pemodelan, penggunaan UML tidak terbatas pada metodologi tertentu. Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, konsepsi dasar UML dapat dirangkum pada tabel 2.1 (Dharwiyanti, 2006), sebagai berikut:
NO
Major area
View
Diagrams
Main concepts
1
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.
Deployment view
Deployment diagram
Node, component, dependency, location.
2
Dynamic
State machine view
State chart diagram
State, event, transition, action.
Activity view
Activity diagram
State, activity, completion transition, fork, join
Interaction view
Sequence diagram
Interaction, object, message, activation
Collaboration diagram
Collaboration, interaction, collaboration role, message
3
Model management
Model management view
Class diagram
Package, subsystem, message
4
Extensibility
All
All
Constraint, stereotype, tagged values
                                                           
  • Use Case Diagram

Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang dibuat. Use case mendiskripsikan sebuah interaksi antara satu atau lebih aktor dengan informasi yang akan dibuat. (Solahuddin dan rossa, 2011). Use case diagram menggambarkan fungsionalis yang diharapkan dari sebuah sistem. Dengan menekankan “what the system do” bukan “how the system do”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah task work system, misalnya login, create, update, delete, sebuah entitas manusia atau mesin yang berinteraksi dengn sistem untuk melakukan pekerjaan-pekerjaan tertentu. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam diagrams use case tersebut. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case dapat pula meng-extend use case lain dengan behavior-nya sendiri. Sementara hubungan generalization antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. (Dharwiyanti, 2006).
  • Class Diagram

Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki atribut dan metode atau operasi. Atribut merupakan variable-variable yang dimiliki oleh suatu kelas, sedangkan operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. (Shalahuddin dan Rosa, 2011). Class diagram menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, association, pewarisan. Class diagram memiliki tiga area pokok, (Dharwiyanti, 2006) yaitu nama (stereotype), atribut dan metode. Sedangkan atribut dan metode 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.
Class diagram dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metode. Interface tidak dapat langsung diproyeksikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metode pada saat run-time. Class diagram sendiri memiliki hubungan dengan class yang lain yaitu, asosiasi, agregasi, pewarisan, dan hubungan dinamis. (Dharwiyanti, 2006). Penjelasanya sebagai berikut:
  • Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Navigability row menunjukan arah query antar class.
  • Agregasi, yaitu hubungan antar class yang menyatakan bagian.
  • Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi atribut atau metode class asalnya, dan menambahkan fungsionalitas baru, sehingga disebut child dari class yang diwarisinya.
  • Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram
  • Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirm dam diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansi oleh objek tersebut. Banyaknya diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalanya pean sudah cukup pada diagram sequence yang harus dibuat juga semakin banyak. (Shalahuddin dan Rosa, 2011). Sequence diagram menggambarkan interaksi antar objek sistem (user, display, I/O, process, dan lain-lain) berupa message yang menggambarkan terhadap waktu. Sequence diagram terdiri antar dimensi vertikal (time) dan dimensi horizontal (object). Diagram ini biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing object, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu object ke object lainya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi atau metode dari class. Activation bar menunjukan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk object-object yang memiliki sifat khusus, UML mendefinisikan icon khusus untuk boundary object, controller, dan persistent entity. (Dharwiyanti, 2006). 
  • State Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (satu state ke state lainya) suatu objek pada siste 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. Transisi antar state umunya 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. Untuk titik awal dan akhir (begin/end) digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. (Dharwiyanti, 2006).
  • Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktifitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan adalah bahwa diagram aktifitas menggambarkan aktifitas sistem bukan apa yang dilakukan oleh aktor, jadi aktifitas yang dapat dilakukan oleh sistem. (Shalahuddin dan Rosa, 2011). Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana alir tersebut berakhir. Activity diagram dapat juga menggambarkan proses parelel yang terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh terminal dari state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behavior internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Activity diagram memiliki standar UML yang sama seperti state diagram, standar UML menggunakan segiempat dengan sudt membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behavior pada kondisi tertentu. Untuk mengilustrasikan proses-proses peralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. 

0 komentar:

Posting Komentar