Artifact UML Pemograman Berorientasi Objek

diterima. Pada umumnya Statechart Diagram menggambarkan class tertentu satu class dapat memiliki lebih dari satu Statechart Diagram. Dalam UML, state digambarkan berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai dengan kondisinya saat itu. Transisi antar state umumnya 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. Titik awal dan titik akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. d. Activity Diagram Activity Diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana aktivitas itu berakhir. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di triger 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 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 dengan state, standar UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses pararel fork on 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. e. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang digambarkan teradap waktu. Sequence diagram terdiri atas dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon 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 operasimetoda dari class. Actiation bar menunjukan 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. f. Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram , tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki nomor satu. Message dari level yang sama memiliki prefiks yang sama. g. Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan dependency diantaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class atau package tapi juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. h. Deployment Diagram Deploymentphisycal diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, dimana komponen akan terletak pada mesin, server atau piranti keras apa, bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server, workstation atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node misalnya TCPIP dan requirement dapat juga didefinisikan dalam diagram ini.

2.8.3 Semantik Dalam UML

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax atau semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya yaitu Grady Booch OOD Object-Oriented Design , Jim Rumbaugh OMT Object Modeling Technique , dan Ivar Jacobson OOSE Object-Oriented Software Engineering . OMG telah menetapkan semantik makna istilah semua notasi UML dalam Model Struktural dan Model Behavioral. 1. Model Struktural atau model statis, menekankan pada struktur objek dalam sebuah sistem, menyangkut kelas-kelas, interface, atribute dan hubungan antar komponen. 2. Model Behavioral atau model dinamis, menekankan pada perilaku objek dalam sebuah sistem, menyangkut metode, interaksi, kolaborasi dan state history.

2.8.4 Faktor Yang Mendorong Dibuatnya UML

Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama. Pemodelan modeling adalah proses merancang piranti lunak sebelum melakukan pengkodean coding. Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor- faktor seperti scalability, robustness, security, dan sebagainya. Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebutan segitiga sukses the triangle for success. Ketiga unsur tersebut adalah metode pemodelan notation, proses process dan tool yang digunakan.

2.8.5 Tujuan UML

Pada dunia software engineering, UML merupakan singkatan dari Unified Modelling Language , yaitu suatu metode modeling generasi ketiga dan bahasa spesifikasi yang sifatnya non-proprietary. Sebenarnya penggunaan dari UML itu sendiri tidak terbatas hanya pada dunia software modeling, tetapi bisa pula digunakan untuk modeling hardware engineering systems dan sering digunakan sebagai modeling untuk proses bisnis dan juga modeling untuk struktur organisasi. UML adalah suatu metode terbuka yang digunakan untuk menspesifikasi, memvisualisasi, membangun dan mendokumentasikan artifak-artifak dari suatu pengembangan sistem software yang berbasis pada objek. UML merupakan hasil kompilasi best engineering practice yang sudah terbukti sukses dalam pemodelan sistem yang besar, sistem yang kompleks, khususnya pada level arsitektural. UML mengintegrasikan konsep dari Booch, OMT, OOSE dan juga Class- Relation dengan menggabungkan mereka menjadi suatu kesatuan bahasa modeling yang bisa berguna bagi siapa saja. UML bertujuan untuk menjadi standar bahasa modeling yang mampu untuk memodelkan sistem yang konkuren dan juga terdistribusi. Tujuan yang ingin dicapai dari penggunaan UML adalah: 1. Memberikan model yang siap pakai, bahasa permodelan visual yang ekspresif untuk mengembangkan dan saling menukar model yang mudah dan dimengerti secara umum. 2. Memberikan bahasa permodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. 3. Menyatukan praktek-praktek terbaik yang terdapat dalam permodelan. Dan bahasa pemodelan Unified Modeling Language UML ini juga biasa digunakan untuk : 1. Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor. 2. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat dengan interaction diagrams. 3. Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams. 4. Membuat model behavior yang menggambarkan kebiasaan atau sifat sebuah sistem dengan state transition diagrams. 5. Menyatakan arsitektur implementasi fisik menggunakan component and development diagrams. 6. Menyampaikan atau memperluas fungsionalitas dengan stereotypes.

2.8.6 Cakupan UML

Model UML dapat mencakup banyak perbendaharaan. Diantaranya adalah sebagai berikut : 1. Things :