Kamis, 18 Desember 2014

Dasar UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkangrafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasiandari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML tidak hanyamerupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsungdihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkandihubungkan secara langsung ke dalam sebuah object-oriented database.

Unified Modeling Language (UML) digunakan untuk melakukan pemodelan sistem/perangkat lunak dengan menggunakan tools yang ada. Dengan pemodelan menggunakan UML, rekayasa dan pengembangan perangkat dapat dilakukan dengan fokus pengembangan dan desain perangkat lunak terhadap:
1.    Tinjauan umum bagaimana arsitektur sistem secara keseluruhan
2.    Penelaah bagaimana objek-objek dalam sistem saling mengirimkan pesan (message) dan saling bekerjasama satu sama lai
3.    Menguji apakah sistem/perangkat lunak sudah berfungsi seperti yang seharusnya
4.    Dokumentasi sistem/perangkat lunak untuk keperluan-keperluan tertentu di masa yang akan datang
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 dan software agar bisa menyelesaikan tugas-tugas seperti [Joml07] :
    • Spesifikasi
    • Visualisasi
    • Desain arsitektur
    • Konstruksi
    • Simulasi dan testing
    • Dokumentas
5.    Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.
6.    Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak.
7.    Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan.
8.    Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
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)”.
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 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, seperti Java, 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.
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 case diagram 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 sequence dan/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 package atau domian dipecah 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. Juga, definisikan test integrasi untuk setiap komponen meyakinkan ia bereaksi dengan baik.
  10. Perhalus deployment diagram yang sudah dibuat. Detilkan 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.
Konsep Pemodelan Menggunakan UML
Menurut Nugroho (2010:10), Sesungguhnya tidak ada batasan yag tegas diantara berbagai konsep dan konstruksi dalam UML, tetapi untuk menyederhanakannya, kita membagi sejumlah besar konsep dan dalam UML menjadi beberapa view. Suatu view sendiri pada dasarnya merupakan sejumlah konstruksi pemodelan UML yang merepresentasikan suatu aspek tertentu dari sistem atau perangkat lunak yang sedang kita kembangkan. Pada peringkat paling atas, view-view sesungguhnya dapat dibagi menjadi tiga area utama, yaitu: klasifikasi struktural (structural classification), perilaku dinamis (dinamic behaviour), serta pengolahan atau manajemen model (model management).
 4.    Bangunan dasar Metodologi Unified Modeling Language (UML)         
Menurut Nugroho (2010:117). Bangunan dasar metodologi UML menggunakan tiga bangunan dasar untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan, yaitu:
1. Sesuatu (things)
Ada 4 (empat) things dalam UML, yaitu:
2. 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.
3. 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.
4. 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.
5. 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).
6. Relasi (Relationship)
Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu:
1. Ketergantungan
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.

0 komentar:

Posting Komentar