Berbagai 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:
- Model Hirarkis (Hierarchical Model)
- Model Jaringan (Network Model)
- Model Relasional (Relational Model)
- Model Relasi Entitas (Entity-Relationship Model)
- 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), atau sebagai “pimpinan’ dan “anak-buah”. Dalam
model ini seorang “bapak” bisa memiliki lebih dari satu “anak” tetapi
seorang “anak” hanya boleh memiliki satu “bapak”.
Sebagai contoh basis-data yang menggambarkan rencana studi mahasiswa dimana seorang mahasiswa boleh mengambil beberapa matakuliah.
Pada model diatas tidak direpresentasikan bahwa satu matakuliah
diambil oleh beberapa mahasiswa, karena berarti menyalahi aturan dimana
satu “anak” (kuliah) memiliki banyak “bapak” (mahasiswa). Model diatas
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.
Perhatikan dalam model hirarki diatas, data mahasiswa yang sama
terpaksa direkam berulang ketika mahasiswa tersebut memprogramkan lebih
dari satu matakuliah.
Model hirarkis ini pernah di-implementasikan oleh IBM pada sebuah
DBMS yang diberi nama IMS (Information Management System) namun kemudian
di-kalahkan oleh implementasi model yang lebih mutakhir seperti model
Data Relasional seperti Rbase, dsb.
Model Data Jaringan
Model data jaringan adalah pengembangan dari model data hirarkis,
melihat kekurangan dari model hirarkis tersebut. 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 inipun
ditinggalkan orang.
Model Data Relasional
Model data relasional adalah model data yang diciptakan berdasarkan teori-relasional seperti relational algebra, dan relational calculus.
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.
tabel mahasiswa
tabel mahasiswa
Nim
|
Nama_mhs
|
Alamat_mhs
|
Tgl_lahir
|
011234 | Ahmad | Jl. Melati 50 | 21-3-1980 |
011345 | Bobby | Jl. Mawar 103 | 13-5-1980 |
011456 | Charles | Jl. Mangga 145 | 17-8-1980 |
tabel kuliah
Kode_mkuliah |
Nama_Mkuliah
|
sks
|
Semester
|
315KP2 | Pemrograman Visual | 2 | 5 |
317KP2 | Pemrograman Web | 2 | 5 |
319MP2 | Analisis Numerik | 2 | 5 |
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.
Contoh relasi antara domain mahasiswa dan matakuliah secara logis
hanya bisa diterima pada jenis relasi banyak-banyak (M-to-M). Perwujudan
dari relasi banyak-banyak ini diwakili oleh tabel relasi yang minimal
memuat kunci utama masing-masing domain yang berelasi.
Nim
|
Kode_kuliah
|
Nilai
|
011234 | 315KP2 | A |
011234 | 319MP2 | B |
011345 | 315KP2 | C |
011345 | 317KP2 | A |
011345 | 319MP2 | C |
011456 | 317KP2 | D |
011456 | 319MP2 | B |
Model Relasi-Entitas
Model Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya
perwujudan dari model relasional dalam bentuk diagram, yaitu E-R Diagram. Domain data disebut juga sebagai himpunan entitas, diwakili oleh diagram kotak. Field-data atau atribut diwakili oleh diagram lingkaran atau ellips. Hubungan atau relasi antar domain diwakili oleh jajaran-genjang.
Contoh relasi antara domain mahasiswa dan domain matakuliah diwujudkan dalam diagram E-R sebagai berikut:
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 akses-nya (methods). Sebagai contoh, berikut ini disajikan data pegawai dalam format berbasis objek.
Tidak ada komentar:
Posting Komentar