Ads 468x60px

Sabtu, 22 Juni 2013

Unified Modelling Language (UML)


1.   Definisi UML (Unified Modeling Language)
Menurut Nugroho (2010:6), “UML (Unified Modeling Language) adalah ‘bahasa’ pemodelan untuk sistem atau perangkat lunak yang berparadigma ‘berorientasi objek”. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami”.
Menurut Nugroho (2009:4), “UML (Unified Modeling Language) adalah Metodologi kolaborasi antara metoda-metoda Booch, OMT (Object Modeling Technique), serta OOSE (object Oriented Software Enggineering) dan beberapa metoda lainnya, merupakan metodologi yang paling sering digunakan saat ini untuk analisa dan perancangan sistem dengan metodologi berorientasi objek mengadaptasi maraknya penggunaan bahasa “pemrograman berorientasi objek” (OOP)”.
Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa “Unified Modelling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (Object Oriented programming)”.

2.   Langkah-langkah penggunaan Unified Modeling Language (UML)
Menurut Henderi (2008:6), langkah-langkah penggunaan Unified Modeling Language(UML) 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 casediagram dan lengkapi dengan requirement, 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 sequencedan/atau collaboration untuk tiap alur pekerjaan, jika sebuah use case memiliki kemungkinan alur normal dan error, buat lagi satu diagram untuk masing-masing alur.
  7. Buatlah rancangan user interface model yang menyediakan antar muka bagi pengguna untuk menjalankan skenario use case.
  8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap packageatau domian dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk mengujifungsionalitas class dan interaksi dengan class lain.
  9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkanclass menjadi komponen-komponen karena itu buatlah component diagram pada tahap ini. Juga, definisikan test integrasi untuk setiap komponen meyakinkan ia bereaksi dengan baik.
  10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan danrequirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan komponen ke dalam node.
  11. Mulailah membangun sistem. Ada dua pendekatan yang tepat digunakan:
1)      Pendekatan use case dengan mengassign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit kode yang lengkap dengan test.
2)      Pendekatan komponen yaitu mengassign setiap komponen kepada tim  pengembang tertentu.

3.   Model UML (Unified Modeling Language)
Menurut Widodo (2011:10), “Beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misanya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi”. Namun demikian model-model itu dapat dikelompokkan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain:
  1. Diagram kelas.
Bersifat statis, Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif.
  • Diagram paket (Package Diagram).

Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen.
  • Diagram use-case.

Bersifat statis. Diagram ini memperlihatkan himpunan use-case dan aktor-aktor  (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna.
  • Diagram interaksi dan sequence (urutan).

Bersifat dinamis. Diagram urutan adalah iterasiksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu.
  • Diagram komunikasi (communication diagram).

Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML 1.4 yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan.
  • Diagram statechart (statechart diagram).

Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian serta aktivitas.
  • Diagram aktivitas (activity diagram).

Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek.
  • Diagram komponen (component diagram).

Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya.
  1. Diagram deployment (deployment diagram).
Bersifat statis. Diagram inimemperlihatkan konfigurasi saat aplikasi dijalankan (run-time).Memuat simpul-simpul beserta komponen-komponen yang di dalamnya.
Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai kebutuhan. Pada UML dimungkinkan kita menggunakan diagram-diagram lainnya misalnya data flow diagram, entity relationship diagram, dan sebagainya.

4.   Bangunan dasar Metodologi Unified Modeling Language (UML)
Menurut Nugroho (2009:117). Bangunan dasar metodologi Unified Modeling Language(UML) menggunakan tiga bangunan dasar 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 model 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 elemen yang tidak mandiri (dependent).
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 ke bawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah ke atas dinamakan generalisasi.
4)      Realisasi
Merupakan operasi yang benar-benar dilakukan oleh suatu objek.

5.   Fokus Unified Modlling Language (UML)
Menurut Nugroho (2009:26), Dalam kerangka spesifikasi, Unified Modeling Language(UML) menyediakan model-model yang tepat, tidak mendua arti (ambigu) serta lengkap. Secara khusus, Unified Modeling Language (UML) menspesifikasikan langkah-langkah penting dalam pengambilan 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 keUnified Modeling Language (UML) hingga didapat sistem/peranti lunak yang sesuai dengan harapan pengguna dan pengembang.

6.   Definisi Diagram UML (Unified Modeling Language)
Menurut Heriawati (2011:10), “bahwa beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misanya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi”.
 Namun demikian model-model itu dapat dikelompokkan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain:
  1. Menurut Jurnal CCIT Raharja Padeli dkk (2008:71), Diagram kelas (Class Diagram). Bersifat statis, Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif.
Ada pendapat lain yang menjelaskan dari pengertian Spesifikasi yang jika diintansikan akan menghasilkan sebuah objek. Class menggambarkan keadaan (atribut/property) suatu sistem, sekaligus menawarkan pelayanan untuk memanipulasi keadaan tersebut (metode/fungsi). Diagram paket (Package Diagram). Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen.
  1. Diagram use case. Bersifat statis. Diagram ini memperlihatkan himpunan use casedan aktor-aktor  (jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna.
Ada pendapat lain yang menjelaskan dari pengertian Use Case yaitu suatu deksripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem (aktor) dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai
  1. Diagram interaksi dan sequence (urutan). Bersifat dinamis. Diagram urutan adalah iterasi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu.
  2. Diagram komunikasi (communication diagram). Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML 1.4 yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan.
  3. Diagram statechart (statechart diagram). Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian serta aktivitas.
  4. Diagram aktivitas (activity diagram). Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek.
  5. Diagram komponen (component diagram). Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya.
  6. Diagram deployment (deployment diagram). Bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (run-time). Memuat simpul-simpul beserta komponen-komponen yang ada di dalamnya.
Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai kebutuhan. Pada UML dimungkinkan kita menggunakan diagram-diagram lainnya (misalnya data flow diagram, entity relationship diagram, dan sebagainya).
  1. 8.      Jenis-jenis diagram UML (Unified Modeling Language)
Menurut Padeli (2008:5), Berikut ini adalah definisi mengenai 5 diagram UML:
  1. Use Case Diagram
Menurut Maimunah (2010:30), “Use case adalah adalah deksripsi fungsi dari sebuah sistem dari perspektif pengguna”. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem (aktor) dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai.
Use case diagram secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Dengan kata lain use case diagram secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem itu. Use case secara naratif digunakan untuk secara tekstual menggambarkan sekuensi langkah-langkah dari setiap interaksi.
  1. Class Diagram
Menurut Murad (2010:30), Class diagram adalah “Class yang menggambarkan keadaan (atribut/property) suatu sistem, sekaligus menawarkan pelayanan untuk memanipulasi keadaan tersebut (metode/fungsi)”.
Menggambarkan struktur object sistem. Diagram ini menunjukkan class object yang menyusun sistem dan juga hubungan antara class object tersebut.
  1. Sequence Diagram
Secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada sekuensi sebuah use case atau operasi.
  1. State Chart Diagram
Digunakan untuk memodelkan behaviour objek khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup objek berbagai keadaan yang dapat diasumsikan oleh objek dan event-event (kejadian) yang menyebabkan objek beralih dari satu state kestate yang lain.
  1. Activity Diagram
Secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis maupun use caseActivity diagram dapat juga digunakan untuk memodelkanaction yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dariaction tersebut.

0 Komentar: