Database
Management System(DBMS)
Merupakan paket program
(Software) yang dibuatagar memudahkan dan mengefisienkanpemasukan, pengeditan,
penghapusan danpengambilan informasi terhadap database.Software yang tergolong
kedalam DBMS antaralain, Microsoft SQL, MySQL, Oracle, MS. Access, dan
lain-lain
Abstraksi
Data
Abstraksi data
merupakan tingkatan-tingkatan penggunadalam memandang bagaimana sebenarnya data
diolahdalam sebuah sistem database sehingga menyerupaikondisi yang sebenarnya
dihadapi oleh pengguna seharihari..Sebuah DBMS seringkali menyembunyikan detail
tentang bagaimana sebuah data disimpan dan dipelihara(diolah) dalam sebuah
sistem database, dengan tujuanuntuk memudahkan pengguna dalam menggunakan DBMS tersebut.
Karena itu seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan
yang tersimpan secara fisik.
Ada 3 (tiga) tingkatan
atau level dalam abstraksi data ini :
a.
Level Fisik (Physical Level)
b.
Level Konseptual (Conceptual Level)
c.
Level Pandangan (View Level)
d.
Level Fisik (Physical Level)
Level abstraksi data
yang paling rendah, yang menggambarkan bagaimana (how) data disimpan dalam kondisi
sebenarnya. Level ini sangat kompleks karena struktur data dijelaskan secara
rinci.
Level Konseptual
(Conceptual Level)
Level ini menggambarkan
data apa (what) yang disimpan dalam database dan menjelaskan bagaimana hubungan
antar datanya secara keseluruhan. Seorang pengguna dalam level ini dapat
mengetahui bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel krs, tabel
transkrip dan lain sebagainya. Level ini biasa di pakai oleh seorang Database
Administrator (DBA).
Level Pandangan (View
Level)
Ini merupakan level
yang tertinggi, hanya menggambarkan sebagian saja dari keseluruhan
database sesuai dengan
kebutuhan pengguna. Misalnya : Bagian keuangan hanya membutuhkan data keuangan,
jadi yang digambarkan hanya pandangan terhadap data keuangan saja, begitu juga
dengan bagian akuntansi, hanya membutuhkan data akuntansi saja. Jadi tidak semua
pengguna database membutuhkan seluruh informasi yang terdapat dalam database
tersebut.
Model
Database
Model database adalah
suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships)
antar data dan batasan-batasan (constraint) data dalam suatu sistem database. Model
data yang paling umum, berdasarkan pada bagaimana hubungan antar record dalam
database (Record Based Data Models), terdapat tiga jenis, yaitu :
a. Model Database
Hirarki (Hierarchical Database Model)
b. Model Database
Jaringan (Network Database Model)
c. Model Database
Relasi (Relational Database Model)
Model database hirarki
dan jaringan merupakan model database yang tidak banyak lagi dipakai saat ini,
karena adanya berbagai kelemahan dan hanya cocok untuk struktur hirarki dan
jaringan saja. Artinya tidak mengakomodir untuk berbagai macam jenis persoalan dalam
suatu sistem database. Yang paling banyak dipakai saat ini adalah model
database relasi, karena mampu mengakomodir berbagai permasalahan dalam system database.
Berikut keterangan tentang model database ini.
Model
Database Relasi (Relational Database Model)
Model database relasi
merupakan model database yang paling banyak digunakan saat ini, karena paling sederhana
dan mudah digunakan serta yang paling penting adalah kemampuannya dalam mengakomodasi
berbagai kebutuhan pengelolaan database. Sebuah database dalam model ini
disusun dalam bentuk tabel dua dimensi yang terdiri dari baris (record) dan
kolom (field), pertemuan antara baris dengan kolom disebut item data (data
value), tabeltabel yang ada di hubungkan (relationship) sedemikian rupa
menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi
data.
Model database relasi
ini dikemukakan
pertama kali oleh E.F.
Codd, salah seorang pakar dalam bidang database. Sering juga model ini disebut
Database relasi.
Tingkatan Data Dalam
Database Relasi
Dalam suatu sistem
database relasi, data yang tersimpan dalam DBMS mempunyai tingkatan-tingkatan,
sebagai berikut :
a. Karakter (Characters)
Merupakan bagian
terkecil dalam database, dapat berupa karakter numerik (angka 0 s.d 9), huruf (
A - Z, a - z) ataupun karakter-karakter khusus, seperti *, &. %, # dan
lain-lain.
Field atau Attribute
Merupakan bagian dari
record yang menunjukkan suatu item data yang sejenis, Misalnya : field nama,
file NIM dan lain sebagainya. Setiap field harus mempunyai nama dan tipe data tertentu.
Isi dari field di sebut Data Value. Dalam table database, field ini disebut
juga kolom.
b. Record atau Tupple
Tuple/Record adalah
kumpulan data value dari attributee yang berkaitan sehingga dapat menjelaskan
sebuah entity secara lengkap. Misal : Record entity mahasiswa adalah kumpulan
data value dari field nobp, nama, jurusan dan alamat per-barisnya. Dalam tabel
database, Record disebut juga baris.
c. Table/Entity
Entity merupakan
sesuatu yang dapat diidentifikasi dari suatu sistem database, bisa berupa
objek, orang, tempat, kejadian atau konsep yang informasinya akan disimpan di
database. Misal. Pada sistem database akademik, yang menjadi entity adalah, mahasiswa,
dosen, matakuliah dan lain-lain. Dalam aplikasi nantinya, penggunaan istilah
Entity sering di samakan dengan istilah Tabel. (Entity = table). Disebut tabel,
karena dalam merepresentasikan datanya di atur dalam bentuk baris dan kolom.
Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database
tradisional, entity/table ini disebut juga dengan file.
Database Kumpulan dari tabel-tabel yang saling
berelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai
guna dalam proses pengambilan keputusan.Ada beberapa sifat yang melekat pada
suatu tabel :
Tidak
boleh ada record yang sama (kembar)
Urutan
record tidak terlalu penting, karena data dalam record dapat diurut sesuai
dengan kebutuhan.
Setiap
field harus mepunyai nama yang unik (tidak boleh ada yang sama).
Setiap
field mesti mempunyai tipe data dan karakteristik tertentuJenis Hubungan Antar
Tabel
Jenis hubungan antar
tabel dalam model database relasi, juga di definisikan dengan hubungan :
– Satu ke satu (One to
One)
– Satu ke Banyak (One
to Many)
– Banyak ke satu (Many
to One)
– Banyak ke Banyak
(Many to Many)
Untuk lebih jelasnya
penggunaan hubungan ini, sering digunakan Diagram Entity Relationship (Diagram
E-R) yang merupakan bagian dari Model Data Entity RelationshipModel Data Entity
Relationship Model data entity relationship sering dijadikan acuan dalam merancang
suatu sistem database. Pada Model Data Entity Relationship ini, data yang ada ditransformasikan
dengan memanfaatkan sejumlah perangkat konseptual menjadi diagram data, yang
sering disebut Diagram Entity Relationship (Diagram E-R). Ada dua komponen
utama pembentuk model data ini, yaitu :
– Entity beserta
attributenya.
– Relasi dan jenis
hubungannya
Contoh :
Dalam dunia akademis
terdiri dari entity mahasiswa, dosen, dan matakuliah. Setiap entity mempunyai
atribut atau field. Attribute adalah ciri khan yang melekat pada suatu entity.
Misalnya entity mahasiswa, ciri khas dari mahasiswa adalah mempunyai nama,
tempat tanggal lahir, alamat dan lain sebagainya, begitu juga dengan dosen, mempunyai
nama, alamat, dan lain sebagainya. Lalu keterkaitan antara entity mahasiswa dengan
entity dosen, mahasiswa dengan matakuliah atau dosen dengan matakuliah,
digambarkan dengan simbol-simbol sehingga lebih mudah dipahami. Penggambaran
hubungan inilah yang disebut dengan diagram E-R.Diagram Entity Relationship
(Diagram
E-R)
Diagram E-R digunakan
untuk menggambarkan secara sistematis hubungan antar entity-entity yang ada
dalam suatu sistem database menggunakan simbol-simbol sehingga lebih mudah
dipahami. Simbol-simbol yang boleh digunakan adalah :
Persegi
Panjang, berfungsi untuk menyatakan suatu entity.
Elips,
berfungsi untuk menyatakan attribute, jika diberi garis bawah menandakan bahwa
attribute tersebut merupakan attribute/field kunci.
Belah
Ketupat, menyatakan jenis relasi.
Garis,
penghubungan antara relasi dengan entity dan antara entity dengan attribute.
Dalam hubungan antar entity, juga harus ditentukan derajat relasi antar entity.
Derajat relasi menunjukkan jumlah maksimum record suatu entity ber-relasi
dengan record pada entity yang lainnya. Misalnya pada contoh sebelumnya, entity
mahasiswa dapat berelasi dengan lebih dari satu record yang ada pada entitas
matakuliah sebaliknya satu record pada entity matakuliah hanya boleh ber-relasi
dengan satu mahasiswa yang sama pada entity mahasiswa, begitu juga satu record pada
entity matakuliah berhubungan paling banyak satu record juga pada entity dosen,
dan seterusnya.Relasi Satu ke Satu (One to One)
Artinya satu record
pada entity A ber-relasi paling banyak satu record juga pada entity B, begitu
juga sebaliknya, satu record pada entity B, ber-relasi paling banyak satu
record juga dengan entity A. Dalam diagram E-R, relasi ini disimbolkan dengan angka
1.
·
Contoh : Dalam proses belajar mengajar
secara privat misalnya, seorang (satu) tutor hanya mengajar satu siswa, begitu
juga sebaliknya, satu siswa hanya diajar oleh satu tutor.Relasi Satu ke Banyak
(One to Many)
Artinya satu record
pada entity A ber-relasi dengan beberapa record pada entity B, tapi tidak
sebaliknya, setiap record pada entity B ber-relasi paling banyak satu record
dengan entity A. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1 untuk
menyatakan satu dan huruf M atau N untuk menyatakan banyak.
·
Contoh : Dalam proses belajar mengajar
di sekolah dasar misalnya, satu orang guru mengajar beberapa (banyak) murid,
tetapi satu kelas (beberapa murid) hanya di ajar oleh satu guru.Relasi Banyak
ke Satu (Many to One)
Ini adalah kebalikan
dari relasi satu ke banyak, dimana setiap record pada entity A hanya dapat
ber-relasi paling banyak 1 record pada entity B, tapi tidak sebaliknya, satu record
pada entity B dapat ber-relasi dengan beberapa record pada entity A.. Dalam
diagram E-R, relasi ini disimbolkan dengan angka 1 untuk menyatakan satu dan huruf
M atau N untuk menyatakan banyak..
·
Contoh : Dalam dunia akademik misalnya,
beberapa (banyak) mahasiswa hanya mempunyai satu pilihan jurusan, sebaliknya
satu jurusan dapat dipilih oleh beberapa (banyak) mahasiswaRelasi Banyak ke
Banyak (Many to Many)
Artinya beberapa record
pada entity A dapat ber-relasi dengan beberapa record juga pada entity B,
begitu juga sebaliknya, beberapa record pada entity B dapat ber-relasi dengan
beberapa record juga pada entity A.. Dalam diagram E-R, relasi ini disimbolkan
dengan huruf M atau N untuk menyatakan banyak..
·
Contoh : Dalam hubungan antara mahasiswa
dengan dosen pada perguruan tinggi, yaitu seorang seorang dosen mengajar banyak
mahasiswa, sebaliknya seorang mahasiswa dapat diajar oleh beberapa dosen,
sehingga terjadi hubungan banyak ke banyak.Tahapan Membuat Diagram E-R.
-
Mengidentifikasi dan menetapkan seluruh
entity yang terlibat dalam sistem database tersebut.
-
Menentukan attribute-attribute atau
field dari masing-masing entity beserta kunci (key)-nya.
-
Mengidentifkasi dan menetapkan seluruh
himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu
(foreign key)- nya.
-
Menentukan derajat relasi untuk setiap
himpunan relasi.Menentukan attribute-attribute atau field dari masing-masing
entity beserta kunci (key)-nya.
-
Menentukan attribute dari suatu entitas
sangat menentukan baik atau tidaknya sistem database yang dirancang, karena
attribute ini sangat menentukan nantinya dalam proses relasi. Attribute
merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada
mahasiswa dapat berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama
orang tua, pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan
attribute yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang
perlu saja. Setelah menentukan attributenya selanjutnya adalah menentukan field
kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan
untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada
entity mahasiswa, attribute nobp bisa dijadikan field kunci, karena bersifat
unik dan tidak ada mahasiswa yang mempunyai nobp sama.Mengidentifkasi dan
menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada
beserta kunci tamu (foreign key)-nya.
Setelah menentukan
entity dan attribute beserta field kuncinya, maka selanjutnya adalah menentukan
entity yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity
mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka
proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita
tentukan juga attribute yang melekat padanya beserta kunci tamu (foreign key).
Kunci tamu adalah field kunci utama pada tabel lain, dan field tersebut digunakan
juga pada tabel yang satu lagi. Misalnya nobp adalah field kunci dari entity
mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka keberadaan
attributee nobp pada entity mengajar disebut sebagai kunci tamu. Proses
menentukan hubungan antar entity juga sangat menentukan kualitas system database
yang dirancang.Menentukan derajat relasi untuk setiap himpunan relasi
Setelah semua entity
dan attribute yang dibutuhkan terbentuk, maka selanjutnya adalah menentukan
derajat relasi antar entity tersebut, apakah satu kesatu, satu ke banyak atau
sebaliknya, atau banyak ke banyak. Berhatihatilah dalam menentukan derajat
relasi ini, karena nantinya akan berhubungan dengan proses query terhadap
data.Jenis-Jenis Kunci (Key)
-
Candidat Key
-
Primary Key
-
Foreign Key
-
Alternate KeyCandidate Key (Kunci Calon)
Sebuah attribute atau
lebih yang secara unit mengidentifikasi sebuat record, disebut candidate key.
Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya. Fungsi
dari candidate key ini adalah sebagai calon primary key.
Primary
Key (Kunci Utama)
Merupakan candidate key
yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary
key harus merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL.
Misal : Perhatikan kembali entity dosen di atas, yaitu mempunyai dua Candidate
Key, maka kita dapat mengambil field KodeDosen sebagai Primary Key, Karena
lebih sederhana dalam jumlah digit dan unik. Boleh juga menggunakan NIP sebagai
Primary Key-nya, hal ini tergantung kepada si perancang database itu sendiri.
Alternate
Key (Kunci Alternatif)
Adalah candidate key
yang tidak terpilih. Misal : dalam suatu entity terdapat dua field yang bisa
dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka
anda harus memilih salah satu. Field yang anda pilih, disebut primary key,
sedangkan field yang tidak dipilih disebut dengan alternate key.
Misal : Kembali ke
kasus entity dosen diatas, jika kita pilih field KodeDosen sebagai Primary Key,
maka otomatis field NIP menjadi Alternate Key-nya, begitu juga sebaliknya.
Foreign
Key (kunci Tamu)
Jika sebuah primary key
terhubungan ke table/entity lain, maka keberadaan primary key pada entity
tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari
entity Dosen digunakan juga pada field entity KRS, maka keberadaan field
KodeDosen pada entity KRS disebut sebagai foreign key.
Ilustrasi komponen table
Filed ( kolom)
Record ( baris)