Rabu, 03 Juli 2019

Unified Modelling Languan

A. Pengertian UML

Unified Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponenkomponen yang diperlukan dalam sistem software. UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented. UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. 

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 (common).

Building blocks. Tiga macam yang terdapat dalam building block adalah:
1)      Benda/Things, adalah abstraksi yang pertama dalam sebuah model
2)      Hubungan/Relationships, sebagai alat komunikasi dari benda-benda,
3)      Bagan/Diagrams. Sebagai kumpulan / group dari benda-benda/things.

B. Diagram UML

1. Use Case Diagram 

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.  Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. 

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.  Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.  

Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.  Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Komponen use case sendiri hanya ada 3 macam, yaitu Sistem, aktor dan juga use case sendiri. Berikut ini adalah penjelasan mengenai Use case diagram:

a.       System
Sebagai batasan sistem yang ada pada relasi dengan actor actor yang biasa menggunakannya dari luar sistem, dan fitur-fitur yang harus disediakan dalam sistem. Perangkat ini akan digambarkan dengan pola segi empat yang akan membatasi semua use case yang ada dalam sistem terhadap pihak yang mana sistem tersebut akan berinteraksi. Sistem tersebut akan dibeli label, sesuai dengan nama label tersebut. Tapi umumnya sistem ini tidak diberi gambar karena tidak terlalu memberikan arti bagi diagram tersebut.

b.      Actor
Actor disini sebenarnya bukan bagian dari diagram, akan tetapi actor ini adalah salah satu alat untuk menciptakan use case diagram jadi lebih mudah. Actor ini akan digunakan untuk menjelaskan sesuatu atau juga seseorang yang sedang berinteraksi dengan sistem.

Dimana actor ini akan memberikan informasi pada sistem, hanya akan menerima informasi dari sistem, atau juga keduanya (yaitu memberikan informasi dari sistem, atau menerima informasi dari sistem). Disini Actor juga tidak akan memiliki kontrol terhadap use case itu sendiri, namun hanya diberikan gambaran umum atau juga spesifik, guna memudahkan Anda dalam menggunakan hubungan atau relationship yang ada.

Ada beberapa hal yang memungkinkan actor berhubungan dengan sistem lainnya, antara lain :

·         Ketika seseorang ataupun pihak lain akan mengelola sistem tersebut.
·         Adanya kepentingan terhadap sistem, dimana arus informasi baik untuk si penerima maupun inputan sistem saling berkepentingan.
·         Adanya external resource yang digunakan oleh sistem tersebut.
·         Adanya sistem lain yang tengah berinteraksi dengan sistem yang dibuat.

c.       Relasi dalam usecase
Use case diagram memiliki relasi sebagai berikut, yaitu:
Association: Menghubungkan link antar element.
Generalization: Sebuah elemen dapat merupakan spesialis dari elemen lainnya bisa disebut dengan pewarisan sifat (inheritance).
Dependency: Sebuah elemen bergantung dalam beberapa cara ke element lain.
Aggregation: Bentuk association dimana sebuah elemen berisi elemen lainnya.

Tipe-tipe /streo type yang mungkin trjadi pada usecase diagram:
·         <<Include>>, kelakuan yang harus terpenuhi agar sebuah event dapat terjadi.
·         <<Extends>>, kelakuan yang hanya berjalan pada kondisi tertentu.
·         <<Communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association.

2. Diagram Kelas

     Diagram kelas 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.


3. Diagram Objek

Diagram Objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. dalam diagram objek harus di pastikan bahwa semua kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena jika tidak pendefinisian kelas itu tidak dapat dipertanggung jawabkan. Sebuah diagram objek merupakan gambaran objek-objek pada sebuah sistem pada satu titik waktu. karena lebih menonjolkan printah-printah dari pada kelas daigram objek sering disebut juga sebagai diagram perintah. Elemen-elemen sebuah diagram objek adalah spesifikasi perintah.




4. Diagram Sekuen

Diagram sekuen menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).  

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah 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 objek, termasuk aktor, memiliki lifeline vertikal.  Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.  

Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.  

5. Diagram Kolaborasi/Komunikasi

Model Komunikasi Diagram interaksi antara benda atau bagian dalam hal mengurutkan. Diagram komunikasi merupakan kombinasi dari informasi yang diambil dari Kelas, urutan, dan Use case diagram menggambarkan baik struktur statis dan perilaku dinamis dari suatu sistem

Namun, diagram komunikasi menggunakan pengaturan bebas-berupa objek dan link seperti yang digunakan dalam diagram Object. Dalam rangka mempertahankan Urutan pesan dalam suatu diagram format bebas, pesan diberi label dengan nomor kronologis dan ditempatkan di dekat link pesan yang dikirim. Membaca diagram komunikasi yaitu mulai dari pesan 1.0, dan mengikuti pesan dari objek ke objek.

Diagram komunikasi menunjukkan banyak informasi yang sama seperti diagram urutan, tetapi karena cara informasi tersebut disajikan, beberapa di antaranya lebih mudah untuk mencari salah satu diagram daripada yang lain. Diagram komunikasi menunjukkan tiap elemen berinteraksi dengan baik, namun diagram urutan menunjukkan urutan di mana interaksi berlangsung lebih jelas.

Tujuan Communication Diagram:
1.      Model pesan melewati antara objek atau peran yang mengantarkan fungsionalitas kasus dan operasi penggunaan.
2.      Mekanisme model dalam desain arsitektur system.
3.      Tangkap interaksi yang menunjukkan pesan yang dilewatkan antara objek dan peran dalam skenario kolaborasi.
4.      Model skenario alternatif dalam kasus penggunaan atau operasi yang melibatkan kolaborasi dari berbagai objek dan interaksi.
5.      Dukung identifikasi objek (karenanya kelas), dan atributnya (parameter pesan) dan operasi (pesan) yang ikut serta dalam use case.

6. Diagram Status

Diagram status atau state diagram atau statechart diagram menunjukkan kondisi yang dapat dialami atau terjadi pada sebuah objek sehingga setiap objek memiliki sebuah diagram status. Diagram status diadopsi dari penggambaran kondisi mesin status (state machine) yang menggambarkan status apa saja yang dialami oleh mesin, misalnya mesin pembelian kopi dengan uang koin.

    Diagram Status mengambarkan seluruh state/status yang memungkinkan obyek-obyek dalam class dapat dimiliki dan kejadian-kejadian yang menyebabkan satus berubah. Perubahan dalam suatu state disebut juga transisi (transition). 

    Suatu transisi juga dapat memiliki sebuah aksi yang dihubungkan pada status, lebih spesifik apa yang harus dilakukan dalam hubungannya dengan transisi status. Pada diagram ini, perilaku sistem ditunjukkan. Sebuah status adalah kondisi selama hidup objek atau interaksi selama memenuhi suatu kondisi, melaksanakan suatu aksi, atau menunggu suatu kejadaian. Simbol-simbol yang ada pada diagram status adalah sebagai berikut:

7. Diagram Aktivitas


Diagram aktivitas diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.    Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). 

Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.  Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. 

8. Diagram Komponen

Diagram komponen adalah diagram UML yang menampilkan komponen dalam system dan hubungan antara mereka. Pada component View, akan difokuskan pada organisasi fisik system. Pertama, diputuskan bagaimana kelas-kelas akan diorganisasikan menjadi kode pustaka. Kemudia akan dilihat bagaimana perbedaan antara berkas eksekusi, berkas dynamic link library (DDL), dan berkas runtime lainnya dalam system.

Beberapa tipe komponen sebagai berikut :
a.       Komponen
Notasi-notasi komponen mempresentasikan module perangkat lunak dengan sebuah antar muka yang di Devinisikan dengan baik. Para spesifikasi komponen, kita dapat menspesifikasi tipe komponen dalam kolom stereotype (Active X, Applet, Aplikasi, DLL, Executable). Dalam UML, notasi keadaan digambarkan sebagai berikut.


b.       Subprogram specification and Body
Notasi ini mempresentasikan spesifikasi subprogram yang terlihat dan bagian implementasi. Subprogram secara tipikal adalah kumpulan beberapa subroutine. Subprogram tidak berisi devinisi kelas.


c.       Main program

Notasi ini mempresentasikan program utama. Program utama adalah berkas yang berisi root program. Contoh, pada power builder, ada berkas yang berisi obyek Aplikasi.


d.       Package Specification and Body
Sebuah paket atau package adalah implementasi kelas. Sebuah paket spesifikasi adalah berkas header, yang berisi informasi fungsi prototype untuk kelas. Di C++, spesifikasi paket adalah berkas .h. di Java, kita menggunakan notasi paket spesifikasi untuk mempresentasikan berkas .java. Sebuah package Body berisi kode untuk operasi-operasi dari kelas. Di C++, package body adalah berkas .cpp.



Ada notasi tambahan yang digunakan untuk komponen runtime termasuk berkas-berkas executable, berkas DLL, dan beberapa task lainnya.

e.       Task Specification and Body
Notasi-notasi ini mempresentasikan paket yang memiliki Thread kontrol yang berdiri sendiri. Berkas executable biasanya mempresentasikan spesifikasi task dengan ekstensi.


f.       Database
 Notasi ini mempresentasikan sebuah basis data, yang berisi satu atau beberapa skema. Pada komponen diagram, basis data ditunjukkan seperti ini :



9. Diagram Deployment

Deployment diagram adalah salah satu jenis alat atau bahasa (UML) yang digunakan untuk memvisualisasikan, menspesifikasikan, dan mendokumentasikan proses yang terjadi pada suatu sistem perangkat lunak berbasis Object Oriented yang akan dibangun. Tujuan atau fungsi dari deployment diagram yaitu untuk menggambarkan/memvisualisasikan secara umum proses yangterjadi pada suatu sistem/software. Dalam deployment diagram terdapat simbol-simbol serta relasi yang sering digunakan yaitu sbb :

1.  Node


Node digunakan untuk menggambarkan infrastruktur apa saja yang terdapat pada sistem. Biasanya node digambarkan sebagai server, pc, dan lain-lain.

2.  Component



Komponen digunakan untuk menggambarkan elemen-elemen apa saja yang terdapat pada suatu node. 

3.  Communicates / Link



Communicates digunakan untuk menghubungkan antar node yang saling berinteraksi.

4.  Dependency


    Dependency digunakan untuk menggambarkan hubungan ketergantungan antar node atau komponen yang saling ketergantungan.

Tidak ada komentar:

Posting Komentar

Koneksi Database Buku

1.       Aktifkan aplikasi xampp terlebih dahulu. 2.       Masuklah pada browser lalu ke localhost/phpmyadmin , kemudian buat lah sebua...