Tampilkan postingan dengan label Analisa dan Perancangan Sistem Informasi. Tampilkan semua postingan
Tampilkan postingan dengan label Analisa dan Perancangan Sistem Informasi. Tampilkan semua postingan

Jumat, 15 Juni 2012

Apa perbedaan Class Diagram dan Entity Relationship Diagram? apakah sama saja?


Class Diagram adalah suatu model berorientasi objek yang menggambarkan kelas-kelas dalam sebuah sistem dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi.
Class Diagram juga dapat digunakan untuk pemodelan data. Bedanya dengan ERD adalah Class Diagram dapat direpresentasikan 1 atau lebih entiti yang saling berhubungan, sedangkan ERD merepresentasikan per setiap entiti.
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.

Apa perbedaan Abstract class dan Concrete Class?


# Abstract Class :
- Mendefinisikan class yang bersifat abstrak
- Tidak dapat digunakan untuk membentuk objek
- Dapat memiliki method abstrak
- Digunakan sebagai base class untuk membentuk class konkrit (concrete class)
- Dibentuk dengan menggunakan kata kunci abstract pada saat definisi class
- Abstract class yaitu sebuah class setengah jadi (abstrak) yang memuat/memiliki method dan atrribut.
- Abstract class sebenarnya adalah sebuah class, sehingga memiliki semua sifat dari class biasa (punya konstruktor).
- Abstract class akan selalu menjadi superclass / hirarki tertinggi dari subclass-subclass-nya.
- Abstract class mempunyai setidaknya satu abstract method.
- Bila subclass method abstract tidak mengimplementasikan isi semua method maka subclass tersebut harus dideklarasikan abstract.

* Kegunaan abstract class :
- Class Abstract berisi beberapa method dan beberapa method abstract. Class Abstract berisi sebagian implementasi, dan subclass yang melengkapi implementasinya. Dengan kata lain Class Abstract memiliki beberapa kesamaan (Bagian yang diimplementasikan oleh subclass) dan memiliki perbedaan (method yang dimiliki oleh abstract class).
- Deklarasikan method abstract, jika ada satu atau lebih subclass yang diharapkan mempunyai fungsionalitas yang sama tetapi implementasi berbeda.
- Gunakan class abstract untuk mendefinisikan behavior secara umum sebagai superclass, sedangkan subclass menyediakan implementasi detail
- Jika class abstract semua method merupakan method abstract, sebaiknya class abstract tersebut diganti menjadi Interface

# Concrete Class
- Mendefinisikan class yang nyata
- Dapat membentuk atau instansiasi object
- Object hanya bisa dibuat dari non-abstract class (concrete class)
- Dapat menurunkan implementasi dari super class
- Dapat sebagai base class pada hierarchical relationship dan membutuhkan class lain untuk mewarisinya

Sesuatu yang seperti apa yang harus kita buat menjadi sebuah class?

Untuk membuat sebuah class harus dimulai dari identifikasi objek-objek yang berinteraksi dan berhubungan dengan sistem. Identifikasi objek tersebut adalah dengan mencari kata benda ketika membahas tentang sistem yang akan dibangun. Setelah objek-objek tersebut dikumpulkan sebagai kandidat, kemudian diidentifikasi atribut dan method apakah sama atau tidak sehingga bisa diciptakan sebuah kelas