Lebih Lanjut Tentang UML Yang akan dipelajari Class Meta Data Candidate Keys Batasan Visibility Properti Stereotype Interface, Type dan Peran UML Lanjutan Secara umum, konsep OO dan UML yang sudah dibahas sudah mencukupi untuk mewakili fakta-fakta yang ada di dunia nyata. Meski demikian, kadang dalam dunia nyata dijumpai hal-hal yang memerlukan penggambaran lebih mendalam. Class Abstrak dan Class Konkret - Klas abstrak adalah kelas yang tidak punya objek - - hasil instansiasi langsung Klas konkret adalah kelas yang dari padanya dapat diperoleh suatu objek tertentu melalui proses instansiasi Contoh : Kelas Orang adalah kelas Abstrak karena dia tidak memiliki objek instansiasi secara langsung tetapi kelas Manager serta Kontributor Individual adalah Kelas Konkret sebab dari padanya dapat dihasilkan objek instansiasi langsung Meta Data Merupakan data yang mendeskripsikan data yang lain. - Dalam dunia nyata kita bisa menjumpai banyak meta data - Contoh : Katalog serta kamus adalah contoh meta data, dalam basis data kita mengenal kamus data (pertemuan 6) yang mendeskripsikan semua data yang ada pada basis data secara fisik. - Candidate Keys - - - - Himpunan objek minimal yang dapat digunakan untuk mengidentifikasikan suatu ‘objek-dengan asosiasi’ tertentu. Jumlah kunci kandidat bergantung pada tingkat multiplisitasnya. Umumnya dituliskan dengan tanda kurung kurawal ( {} ) dan ditambahkan pada diagram objek UML Contoh : multiplisitas banyak-ke-banyak diidentifikasi dengan kunci kandidat {mahasiswa, matakuliah} Batasan (Constraint) - - - Batasa-batasan asosiasi fungsional antarentitas dalam model objek Kata entitas termasuk didalamnya adalah objek-objek, kelas-kelas, link, serta asosiasi-asosiasi. Contoh : pemimpin dari suatu universitas haruslah merupakan anggota dari universitas tersebut Data, Atribut, serta Objek Turunan - - - - Data turunan adalah data yang dapat ditentukan dari data yang lain. Kelas, atribut, serta asosiasi semuanya dapat diturunkan Data turunan di UML digambarkan dengan didahului dengan garis miring ke kiri (‘ \ ‘) Contoh : data Lama Kuliah dapat diturunkan dari tahun sekarang dikurangi dengan tahun masuk mahasiswa yang bersangkutan. Visibility (Tingkat berbagi pakai atribut serta fungsi Antarkelas) - - Satu hal yang penting dalam pemodelan objek adalah bagaimana suatu atribut serta operasi dalam suatu kelas berhubungan dengan atribut serta operasi pada kelas yang lain. Ada 3 jenis visibility : a. Public b. Private c. Protected Property pada atribut Ketika ingin mengimplementasikan kelas atau objek yang dibuat, diperlukan informasi-informasi tambahan - Sintaksnya : [Visibility] nama_atribut [multiplisitas] [type] [nilai awal] [property] - Ada 3 property yang terdefinisi di UML : a. Changeable : tidak ada batasan untuk memodifikasi nilai atribut. b. AddOnly : Hanya dapat menambah nilai atribut, tidak bisa merubah serta menghapus nilai atribut tsb. c. Frozen : Nilai suatu atribut tidak bisa diubah setelah di inisialisasi. - Property pada Operasi (1) - - - - Ketika ingin mengimplementasikan kelas atau objek yang dibuat, diperlukan informasi-informasi tambahan Sintaksnya : [Visibility] nama_operasi [daftar_parameter] [return_type] [property] Selain itu, dapat dilakukan deklarasi : [direction] nama_operasi : type [=nilai default] Direction dapat memiliki nilai : a. In : Parameter masukan yang tidak dapat dimodifikasi b. Out : Parameter keluaran yang dapat dimodifikasi c. InOut : Parameter masukan; dapat dimodifikasi Property pada Operasi(2) Property dalam Operasi : a. IsQuery : Eksekusi operasi tidak meninggalkan keadaan tetap pada sistem. b. Sequential : Pemanggil harus mengkoordinasikan sedemikian sehingga hanya ada satu aliran kendali pada suatu waktu tertentu. Pada keadaan dimana banyak aliran kendali, integritas objek tidak dapat dijamin. c. Guarded : Integritas suatu objek yang memiliki lebih dari satu kendali terjamin dengan cara menyerahkan kendali pada objek. Akibatnya hanya ada satu operasi yang terjadi pada waktu tertentu. d. Concurrent : Integritas suatu objek terjamin pada aliran kendali lebih dari satu dengan menjaga operasi tetap berdiri sendiri. Stereotype pada Kelas serta Objek - - Merupakan pengembangan UML dimana dimungkinkan menciptakan suatu bentuk model baru yang diturunkan dari modelmodel lain yang sudah ada Beberapa contoh Stereotype pada Kelas : Metaclass, Powertype, Stereotype, Utility, Interface,Type, ImplementationClass, Actor, Exception, Signal, Process, Thread Antarmuka (Interface), Type, serta Peran (Roles) - - - Antarmuka mendefinisikan batasan antara spesifikasi tentang apa itu abstraksi dan bagaimana implementasi dari abstraksi itu. Antarmuka digunakan untuk memvisualisasikan, mengkontruksi, serta mendokumentasi setiap lapisan dari sistem. Tipe dan peran menyediakan mekanisme untuk memodelkan bagian statis dan dinamis dari suatu abstraksi kedalam antarmuka pada konteks yang spesifik. Paket - Merupakan kumpulan elemen-elemen (kelas, asosiasi, generalisasi, serta paketpaket yang lebih kecil) yang memiliki tema umum Homomorfisme - - Berfungsi memetakan hubungan antar dua asosiasi atau lebih. Contoh : Katalog untuk suku cadang mobil dapat memuat katalog yang lain. Setiap item pada katalog dispesifikasi oleh nomor model berhubungan dengan banyak sekali item yang masing-masing memiliki nomor serinya masing-masing. Setiap item individual bisa disusun oleh banyak sekali subitem Stereotype pada Kelas serta Objek - - Merupakan pengembangan UML dimana dimungkinkan menciptakan suatu bentuk model baru yang diturunkan dari modelmodel lain yang sudah ada Beberapa contoh Stereotype pada suatu operasi : Bind, Derive, Friend, InstanceOf, Instantiate, Powertype, Refine, Use, Access, Import, Extend, Include, Become, Call, Copy, Send, Trace Realisasi - - Merupakan operasi yang benar-benar dilakukan oleh suatu objek. Digambarkan dengan tanda panah bergaris putus-putus dengan kepala panah kosong. Component Diagram (1) - - - Merupakan diagram UML yang memberikan gambaran bagaimana suatu aplikasi lengkap dikembangkan berdasarkan komponenkomponen yang telah ada sebelumnya. Digunakan untuk memodelkan komponen yang dapat dieksekusi, pustaka kelas yang dipergunakan oleh aplikasi, tabel-tabel, berkasberkas, serta dokumen-dokumen Menggambarkan konsep penggunaan kembali (reusable component). Component Diagram (2) - Biasa digunakan untuk memodelkan : 1. Pemodelan Berkas tereksekusi serta pustaka 2. Pemodelan tabel, Berkas serta dokumen 3. Pemodelan API (Application Program Interface) 4. Pemodelan Source Code Deployment Diagram - - Simpul (node) adalah elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumberdaya komputasi, secara umum menggunakan kapasitas memori dan kemampuan pemrosesan. Diagram dengan node umum pada pemodelan client/server dimana komponen-komponen suatu aplikasi besar disebarkan (deployment) pada tiap-tiap server dengan tujuan mencapai kinerja yang optimum