Model 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:
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.
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.
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.
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 kuliah
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.
Contoh relasi antara domain mahasiswa dan domain matakuliah diwujudkan dalam diagram
E-R sebagai berikut: