Pemodelan Data
Model Data
Model Data pada hakekatnya adalah kumpulan perangkat
konseptual untuk menggambarkan data,relasi data, makna (semantik) data, dan
batasan data. Ada sejumlah cara dalam merepresentasikan Model Data untuk
keperluan perancangan basis data, yaitu dikelompokkan sebagai berikut:
o Model Hirarkis (Hierarchical Model)
o Model Jaringan (Network Model)
o Model Relasional (Relational Model)
o Model Relasi Entitas (Entity-Relationship Model)
o Model Berbasis Objek (Object Oriented Model)
- Model Data
Hirarkis
Model data hirarkis adalah model data paling tua yang
pernah diterapkan dalam suatu DBMS. Model ini mengikuti pola hirarki pada suatu
organisasi atau pada suatu keluarga, dimana terdapat rekaman data yang berfungsi
sebagai “bapak” (parent-record) ada yang berfungsi sebagai “anak”
(child-record). Dalam model ini seorang “bapak” bisa memiliki lebih dari
satu “anak” tetapi seorang “anak” hanya boleh memiliki
satu “bapak”.
Model ini akan menyebabkan timbulnya “redudansi” data,
karena banyak kemungkinan bahwa matakuliah yang sama diambil oleh beberapa
mahasiswa, sehingga record-matakuliah tersebut direkam berkali-kali dibawah
record-mahasiswa yang mengambilnya. Disamping itu apabila ada matakuliah yang
tidak diprogram-kan oleh mahasiswa maka ada kemungkinan record-nya tidak ada
dalam database karena tidak memiliki parent.
Contoh model hirarkis yang menunjukkan hubungan
Dosen-MataKuliah-Mahasiswa dapat pula
digambarkan dalam bentuk diagram sebagai berikut.
- Model Data
Jaringan
Model data jaringan adalah pengembangan dari model data
hirarkis. Pada model jaringan diperkenankan bahwa sebuah child-record bisa
memiliki lebih dari satu parent-record. Pada implementasi-nya berarti antara
parent-record dan child-record diperlukan penghubung (link atau pointer) yang
bisa satu arah atau dua-arah.
Dengan model
jaringan ini maka informasi dimana seorang mahasiswa dapat mengambil beberapa
matakuliah (pointer dari record mahasiswa tsb ke beberapa record-kuliah) dan
juga informasi bahwa satu matakuliah dapat di-program-kan oleh banyak mahasiswa
(pointer dari record-kuliah ke beberapa record-mahasiswa) keduanya dapat
di-representasikan.
Model Jaringan dari Dosen-Matakuliah-Mahasiswa dapat
digambarkan sebagai berikut.
Persoalan yang timbul adalah “terjadinya hutan pointer”
akibat relasi antar record yang rumit
sehingga penelusuran data menjadi sangat sulit. Ketika
model relasional menjadi lebih populer maka model ini pun ditinggalkan orang.
- Model Data
Relasional
Salah seorang pencetus awal dari basis data relasional
adalah E.F.Codd yang juga telah menciptakan serangkaian operasi matematika
relasional terhadap model data relasional.
Pada prinsipnya model data relasional dapat
di-representasikan dalam bentuk table (tabel) data,dimana:
satu tabel mewakili satu “domain” data atau entity,
bila direkam merupakan satu file yang hanya
memiliki satu tipe record saja, setiap record adalah
baris
setiap record terdiri atas beberapa field (atribut)
atau tuple, atau kolom
jumlah tuple / field pada setiap record sama
setiap record memiliki atribut kunci utama (primary
key) yang unik dan dapat dipakai untuk
mengenali satu record
record dapat diurutkan menurut kunci utama,
Contoh: domain mahasiswa dapat diwakili oleh satu tabel
mahasiswa dengan kunci utama adalah NIM (Nomor Induk Mahasiswa), dan domain
matakuliah dapat diwakili oleh satu tabel kuliah dengan kunci utama
kode-mkuliah.
Hubungan antara kedua domain ini dinyatakan dalam bentuk
relasi, ada tiga kemungkinan relasi antar
dua domain yaitu:
relasi satu-satu (one-to-one relation) : bahwa satu
mahasiswa hanya boleh mengambil satu
matakuliah, dan satu matakuliah hanya boleh diambil oleh satu mahasiswa, relasi disingkat dengan simbol 1-to-1. Dalam implementasi dua
file yang memiliki relasi 1-to-1 dapat digabung menjadi satu file.
relasi satu-banyak (one-to-many relation) : bahwa satu
mahasiswa boleh ambil banyak matakuliah
tetapi satu matakuliah hanya boleh diambil oleh satu mahasiswa, relasi disingkat dengan simbol 1-to-M atau M-to-1. Pada relasi
1-to-M atau M-to-1, kunci record dari
file pada sisi-1 harus ditambahkan sebagai kunci-tamu pada file sisi-M
relasi banyak-banyak (many-to-many relation) : bahwa
satu mahasiswa boleh ambil banyak
matakuliah, dan satu matakuliah boleh diambil oleh banyak mahasiswa, relasi disingkat dengan simbol M-to-M. Pada relasi M-to-M harus
diciptakan sebuah file ‘relasi’ yang
berisi minimal dua field kunci record dari masing-masing file yang berelasi.
- Model
Relasi-Entitas
Model Relasi-Entitas atau (Entity Relationship Model)
pada hakekatnya perwujudan dari model
relasional dalam bentuk diagram, yaitu E-R Diagram.
ERD (Entity Relationship Diagram) merupakan notasi grafis
dalam pemodelan data konseptual yang mendeskripsikan hubungan antara
penyimpanan dan akan membantu mengorganisasikan data dalam suatu proyek ke
dalam entitas-entitas. Dengan ERD dapat menjawab data apa yang diperlukan?,
bagaimana data yang satu berhubungan dengan data yang lain?
Komponen ERD :
1.
Entitas
(Entity)
Definisi :
sebuah barang atau obyek yang dapat dibedakan dari obyek lain (obyek yang bisa
diidentifikasi). Setiap entitas memiliki atribut.
Entitas dapat
berupa :
·
Obyek
secara fisik : orang, kendaraan, rumah, pegawai,dll
·
Obyek
dengan keberadaan konseptual : pekerjaan, mata kuliah, dll
Tipe entitas lemah (weak entity) :
merupakan entitas yang tidak memiliki key, keberadaannya bergantung pada
entitas lain dan harus terelasi dengan entitas yang memilikinya.
2.
Atribut
(Attribute)
Definisi :
karakteristik atau property tertentu yang menggambarkan suatu entitas.
Contohnya :
Mahasiswa mempunyai NIM, nama, tanggal lahir, jenis kelamin, alamat, telepon,
dll.
Jenis-Jenis
atribut :
Ø
Key
atribut : merupakan atribut yang bernilai unik.
Misalnya Mahasiswa memiliki NIM yang tidak akan sama
dengan mahasiswa yang lainnya.
Penulisan key dalam ERD akan diberi garis bawah
Ø
Atribut
sederhana/Atomic : atribut yang tidak dapat dipecah-pecah.
Contohya : Jenis kelamin
Ø
Atribut
komposit : atribut yang dapat dipecah-pecah
Contohnya : Namaà nama depan, nama tengah, nama belakang
Alamat à jalan, kota,kodepos
Ø
Atribut
bernilai banyak (multivalued) : atribut yang bisa memiliki nilai banyak
Contoh : Pengalaman, Hobby
Ø
Atribut
turunan (derived) : atribut yang nilainya bisa diturunkan dari atribut lainnya.
Contoh : Umur bisa diturunkan dari tanggal lahir
Ø
Null
values : atribut yang bisa bernilai kosong. Karena atribut tersebut memang
tidak ada atau tidak diketahui keberadaannya. Ketidaktahuan ada dua jenis yaitu
ada tapi tidak diketahui (tinggi badan), atau tidak diketahui ada atau tidak
(no telepon).
3.
Relasi
(Relationship)
Definisi :
hubungan dua atau lebih entitas yang terkait
Contoh :
entitas departemen dan entitas pegawai dihubungkan oleh sebuah relasi memiliki (misalnya departemen HRD memiliki
pegawai David Adriana)
Derajat relasi
: jumlah entitas yang terlibat didalam suatu relasi. Terdiri dari satu entitas
disebut Unary, terdiri dari dua disebut Binary, terdiri dari tiga disebut
Ternary.
Relasi dapat
pula memiliki atribut, misalnya pada relasi mengambil yang menghubungkan antara
mahasiswa dan matakuliah terdapat nilai (nilai dihasilkan sebagai akibat
mahasiswa mengambil suatu mata kuliah).
4.
Kardinalitas
(Ratio Constraint)
Definisi :
angka yang menunjukkan banyaknya kemunculan suatu obyek terkait dengan
kemunculan obyek lain pada suatu relasi.
Kombinasi yang
mungkin :
One to one
(1:1) : pegawai mengepalai departemen
One to many
(1:N) : dosen membimbing mahasiswa
Many to many
(M:N) : mahasiswa mengambil matakuliah
5.
Modalitas
Definisi :
partisipasi sebuah entitas pada suatu relasi
0 jika
partisipasi bersifat optional/parsial
1 jika
partisipasi bersifat wajib/total
Contoh :
Partisipasi total = setiap anak memiliki ibu
Partisipasi parsial = tidak setiap perempuan memiliki anak
Simbol – simbol ERD
- Model Data
Berbasis Objek
Model data berbasis objek dikembangkan searah dengan
perkembangan pemrograman berbasis objek. Salah satu karakteristik dari sistem
berbasis objek adalah encapsulation yaitu suatu objek terpisah dari objek lain
sehingga setiap objek seakan-akan berada dalam kapsulnya masing-masing. Pada
setiap kapsul terdapat komponen data (attribute) dikemas bersama dengan
komponen aksesnya (methods).
Sebagai contoh, berikut ini disajikan data pegawai dalam
format berbasis objek.
0 komentar:
Posting Komentar