Conceptual
database design adalah proses membangun suatu model
berdasarkan informasi yang digunakan oleh perusahaan atau organisasi, tanpa
pertimbangan perencanaan fisik (Connolly,2002,p419).
Langkah
pertama : Membuat local conceptual data model untuk setiap pandangan
yang spesifik. Local conceptual data model terdiri dari :
a.
Entitiy
types
Menurut Connoly (2002,p331), entity types adalah
kumpulan objek yang mempunyai karakteristik yang sama, dimana telah
diidentifikasi oleh perusahaan.Menurut Silberschatz (2002,p27), entity types
adalah kumpulan dari entity yang memiliki tipe dan karakteristik yang
sama.
Entity dapat
dibedakan menjadi dua yaitu :
·
Strong
Entity : entity yang keberadaannya
tidak tergantung kepada entity lain (Fathansyah,1999,p94).
·
Weak
entity : entity yang keberadaannya
tergantung dari entity lain (Fathansyah,1999,p94).
Contohnya adalah entity mahasiswa dan orang tua.
Dimana mahasiswa merupakan strong entity dan orang tua merupakan weak
entity karena keberadaan entity orang tua tergantung dari entity
mahasiswa.
b.
Relationship
types
Menurut Connolly (2002,p334) definisi dari relationship
types adalah kumpulan antar entity yang saling berhubungan dan mempunyai
arti.
c.
Attribute dan attribute domains
Attribute
adalah karakteristik dari suatu entity atau relasi (Connolly,2002,p338).
Setiap attribute diperbolehkan
untuk memiliki nilai yang disebut dengan domain. Attribute domains
adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
1.
Simple
attribute dan Composite attribute
Simple attribute
adalah attribute yang terdiri
dari komponen tunggal dimana attribute tersebut tidak dapat dipisahkan
lagi, sedangkan composite attribute adalah attribute yang masih dapat dipisahkan
menjadi beberapa bagian. Contoh dari simple attribute adalah nama_barang
sedangkan untuk composite attribute adalah alamat pada entity
mahasiswa, karena dalam alamat bisa dibagi menjadi bagian entiti jalan, entiti
kode_pos dan entiti kota (Silberchatz,2002,p29).
2.
Single-valued
attribute dan Multi-valued attribute
Single-valued attribute
adalah attribute yang memiliki
satu nilai pada setiap entity,
sedangkan multi-valued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity (Connolly,2002,p340). Contoh
dari single-valued attribute adalah Nim, nama_Mhs, tanggal_lahir, dan
lain-lain. Sedangkan untuk multi-valued attribute contohnya adalah
jam_pelajaran, hobi, dan lain-lain.
3.
Derived
attribute
Derived attribute
merupakan attribute yang
nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute
lain yang berhubungan (Silberschatz,2002,p30). Contohnya adalah attribute umur pada entity mahasiswa dimana attribute tersebut diturunkan dari attribute
tanggal_lahir dan tanggal_hari_ini.
d.
Primary
key dan alternate keys
Primary key
adalah key yang telah menjadi candidate key yang dipilih secara
unik untuk mengidentifikasi suatu entity
types. Candidate key adalah kumpulan attribute minimal yang unik untuk mengidentifikasikan suatu entity types (Connolly,2002,p340).
Alternate key adalah
key yang digunakan sebagai
alternatif dari key yang telah didefinisikan (Fathansyah,1999,p104).
e.
Integrity
constraints
Integrity constraints
adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk
menghindari terjadinya inconsistent. (Connolly,2002,p457).
Pada
tahap conceptual model, langkah-langkah yang dilakukan adalah sebagai
berikut :
a.
Mengidentifikasi entity types
Bertujuan untuk menentukan entity types utama yang dibutuhkan. Menentukan entity dapat dilakukan dengan
memeriksa user’s requirement specification. Setelah terdefinisi, entity diberikan nama yang tepat dan
jelas seperti mahasiswa, dosen, mata_kuliah.
b.
Mengidentifikasikan relationship
types
Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada
antar entity yang telah
diidentifikasi. Nama dari suatu relationship
menggunakan kata kerja seperti mempelajari, memiliki mempunyai dan lain-lain.
c.
Mengidentifikasi dan menghubungkan attribute
dengan entity atau relationship types
Bertujuan untuk menghubungkan attribute dengan entity
atau relationship yang tepat. Attribute yang dimiliki setiap entity atau relationship memiliki identitas atau karakteristik yang sesuai
dengan memperhatikan attribute
berikut : simple/composite attribute, single/multi-valued attribute dan
derived attribute.
d.
Menentukan attribute domain
Bertujuan untuk menentukan attribute domain pada conceptual
data model. Contohnya yaitu menentukan nilai attribute jenis_kelamin pada entity mahasiswa dangan ‘M’ atau ‘F’ atau nilai attribute sks pada entity mata_kuliah dengan ‘1’, ’2’,
‘3’ dan ‘4’.
e.
Menentukan candidate key dan primary
key attributes
Bertujuan untuk mengidentifikasi candidate key pada setiap entity
dan memilih primary key jika
ada lebih dari satu candidate key.
Pemilihan primary key didasari
pada panjang dari attribute dan
keunikan key di masa datang.
f.
Mempertimbangkan penggunaan enhance
modeling concepts (pilihan)
Pada langkah ini bertujuan untuk menentukan specialization,
generalization, aggregation, composition. Dimana
masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada.
Specialization
dan generalization adalah proses dalam mengelompokan beberapa entity
dan menghasilkan entity yang baru. Beda dari keduanya adalah cara
prosesnya, dimana spesialisasi menggunakan proses top-down dan
generalisasi menggunakan proses bottom-up.
Aggregation
menggambarkan sebuah entity types dengan sebuah relationship types
dimana suatu relasi hanya akan ada jika telah ada relationship lainnya.
g.
Mengecek redundansi
Bertujuan untuk memeriksa conceptual model untuk
menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah
ini adalah :
·
Memeriksa kembali one-to-one
relationship.
Setelah entity
diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu
objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan
jika primary key-nya berbeda maka harus dipilih salah satu dan lainnya
dijadikan alternate key.
·
Menghilangkan relasi yang
redundansi.
Untuk menekan jumlah model data,
maka relationship data yang redundan harus dihilangkan.
h.
Memvalidasi conceptual model
dengan transaksi.
Bertujuan untuk menjamin bahwa conceptual data model
mendukung kebutuhan transaksi. Dengan menggunakan model yang telah divalidasi
tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua
pendekatan yang mungkin untuk mejamin bahwa local conceptual data model
mendukung kebutuhan transaksi yaitu :
·
Mendeskripsikan transaksi
Memeriksa seluruh informasi (entities,
relationship, dan attribute) yang diperlukan pada setiap
transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari
tiap kebutuhan transaksi.
·
Mengunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi
data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways
diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram
menggambarkan komponen-komponen dari entity dan relasi yang
masing-masing dilengkapi dengan attribute-attribute yang
merepresentasikan seluruh fakta dari real-world yang kita tinjau
(Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram
dapat menyatakan keseluruhan struktur logical dari basis data dengan
menggunakan bagan.
i.
Melihat kembali conceptual data
model dengan pengguna.
Bertujuan untuk melihat kembali conceptual model dan
memastikan bahwa data model tersebut sudah benar.