Interaksi Objek
Dalam dunia nyata suatu objek tidak mungkin berdiri sendiri. Untuk menggambarkan interaksi antar objek, UML memiliki diagram yang dinamakan Interaction Diagram yang terdiri dari Sequence Diagram dan Collaboration Diagram. Kedua diagram menggambarkan fakta yang sama, namun penekanannya berbeda.
Sedikit Tentang Objek Objek-objek ada di sekitar kita. Buku yang anda baca, kacamata yang anda pakai, komputer yang anda gunakan, semuanya adalah objek. Objek-objek semuanya membungkus informasi serta perilaku dalam dirinya. Misalnya objek Budi (seseorang mahasiswi di Palembang) membungkus informasi-informasi (a.l) : NIM, Namanya, Alamatnya, dan sebagainya. Serta prilakunya (a.l) : membaca, kuliah, makan, minum dan sebagainya, dalam dirinya. Dalam pemrograman berorientasi objek, informasi-informasi yang dimiliki suatu objek dinamakan atribut, sedangkan perilaku-perilakunya dirujuk sebagai operasi.
Class Diagram Diagram yang paling umum dijumpai pada pemodelan berbasis UML ● Apa yang ada pada class diagram ● Class dan interface beserta atribut dan operasinya ● Relasi yang terjadi antar objek ● Constraint terhadap objek-objek yang saling berhubungan ● Inheritance untuk organisasi class yang lebih baik Static view dari elemen pembangun sistem
● Mampu membantu proses pembuatan sistem dengan memanfaatkan konsep forward/reverse engineering ● Memiliki 2 komponen penting Structural – Ciri pembeda antar object Behavioral – Tingkah laku atau kegiatan yang mampu dilakukan object
Contoh Kasus: Pintu Struktural ● Lebar ● Tinggi ● Warna Behavioral ● Buka ● Tutup
Class Merepresentasikan blueprint dari object ● Properti: ciri khas dan pembeda antar objek ● Metode: aksi yang dapat dilakukan oleh objek tersebut Contoh class Manusia ● Attribut: nama, usia, tanggal lahir ● Method: berjalan, makan, minum Notasi kotak dengan 3 bagian: ● Nama kelas ● Atribut ● Metode/operation
Kelas mendefinisikan informasi apa yang dimiliki oleh suatu objek serta mendefinisikan perilaku yang dimilikinya. Kita kembali ke contoh Budi, mahasiswa tadi. Jika ada mahasiswa-mahasiswa lain, misalnya Dodi, Aril, Nino yang merupakan rekan-rekan sekelas Budi, maka kelima mahasiswa tersebut dapat dikelompokkan menjadi suatu kelas yang kita namakan Mahasiswa, yang merupakan cetak biru pembentukan 4 mahasiswa tadi.
Mahasiswa Atribut : NIM Nama Alamat Operasi : Membaca Kuliah Makan Minum
Multiplicity ● Indikasi berapa banyak objek yang bisa mengisi properti ● 1 (pasti 1) ● 0..1 (0 atau 1) ● * (Tidak ada batasan, bisa 0, 1, ..., n) ● Biasanya didefinisikan batas bawah dan atas, kecuali untuk yang pasti bernilai 1 ● Mirip dengan konsep one-to-one dan one-tomany pada relational database
Generalization ● Inheritance pada UML ● Sub class mewarisi feature dari super classnya ● Sub class mampu overriding metode super classnya ● Dinotasikan dengan anak panah mengacu ke super class
Associations ● Menggambarkan hubungan antar class ● Ditandai dengan garis lurus ● Seringkali ditambahkan label dan multiplicity untuk memperjelas hubungan
Aggregation ● 'has a' relationship ● Klub memiliki banyak anggota ● Orang bisa memiliki makna tersendiri tanpa kehadiran sebuah klub ● Dinotasikan dengan diamond “kosong” ● Jika dipisah, tidak merubah makna
Aggregation ● Tanpa kehadiran ruang, meja dan kursi bisa tetap ada ● Sebuah ruangan memiliki meja dan kursi ● Tanpa kehadiran ruang, meja dan kursi bisa tetap ada
Composition ● 'has a' or 'contains a' relationship (whole-part) ● Kampus memiliki fakultas CS atau kampus terdiri dari fakultas CS (salah satunya) ● Tanpa ada kampus, maka tidak ada fakultas CS
Menemukan Objek Untuk menggambarkan interaction diagram, pertama kali kita akan melihat aliran event-event yang ada dan menentukan aliran yang diperlukan. Kita dapat menciptakan diagram untuk aliran utama maupun untuk aliran-aliran alternatif dan aliran kesalahan (error) atau perkecualian (exception). Semakin banyak diagram kita ciptakan, semakin jauh dan dalam kita akan memahami sistem/perangkat lunak yang kita kembangkan dan semakin mudah kita menyelesaikan sisa langkah-langkah yang harus dilakukan.
Langkah-langkah yang diperlukan untuk mengembangkan interaction diagram : Menemukan objek-objek. 2. Menemukan aktor-aktor. 3. Menambah pesan-pesan (message) pada interaction diagram.
Menemukan Objek Salah satu caranya adalah memeriksa apakah ada kata benda dalam aliran event-event pada rincian use case. Jika diperhatikan lebih jauh, beberapa kata benda yang muncul pada aliran event-event akan menjadi aktor bagi sistem/perangkat lunak kita, kemudian sebagin lagi akan menjadi atribut-atribut. Jika kita bingung untuk menentukan apakah kata benda tertentu merupakan objek atau atribut, pertanyakanlah perilakunya. Jika ia hanya sekedar informasi dan tidak memiliki perilaku apa-apa, maka kemungkinan besar ia adalah sebuah atribut. Jika ia juga memiliki perilaku tertentu, ia kemungkinan besar adalah suatu objek. Tidak semua objek akan ada di aliran event-event.
Identifikasi suatu Objek Objek entitas Objek-objek jenis ini memelihara informasi di dalamnya. Mereka kelak seringkali dipetakan sebagai field-field di basis data. Objek Pembatas Objek-objek jenis ini berada pada pembatas antara sistem dengan dunia luar. Objek Kendali mereka adalah objek-objek optional mengendalikan aliran-aliran dalam suatu use case.
Menemukan Aktor Aktor pada interaction diagram adalah perangsang (stimulus) eksternal yang memulai aliran kerja untuk aliran event-event. Kita dapat mengidentifikasi aktor dengan mencari pada aliran event dan menentukan siapa atau apa yang memulai proses. Mungkin saja akan ada lebih dari satu aktor dalam interaction diagram. Masing-masing aktor menerima pesan dari atau mengirim pesan pada diagram untuk skenario yang bersangkutan.
CONTOH CLASS DIAGRAM PERPUSTAKAAN