kondes database,pemodelan_database dan er-diagram

18

Click here to load reader

Upload: rizal-dzalu

Post on 14-Jun-2015

919 views

Category:

Documents


6 download

DESCRIPTION

Konsep Database dan ER diagram

TRANSCRIPT

Page 1: Kondes Database,Pemodelan_database Dan ER-Diagram

Konsep Database ,Pemodelan Database dan

ER – Diagram

Nama : Amrizal TanjungNPM : 09402045Jurusan : MIF / X – 42Mata Kuliah : Sistem Manajemen Basis DataPoliteknik Ganesha

Page 2: Kondes Database,Pemodelan_database Dan ER-Diagram

2

Kata Pengantar

Puji syukur kehadirat Illahi Robi yang telah menurunkan Islam sebagai Diinul

Haq fil Ardi dan sholawat serta salam mari junjungkan kepada Baginda Nabi besar Nabi

Muhammad SAW beserta keluarga dan shohabat.

Sebagai salah satu persyaratan untuk nilai UTS , maka kami membuat tugas

makalah mata kuliah Sistem Manajemen Basis Data dengan judul Konsep Database ,

Pemodelan Database dan ER Diagram . Kami mengambil berbagai sumber dari

internet mengingat hanya melalui internet dapat sumber tugas secara cepat dan praktis.

Kami mengambil dari berbagai sumber baik dari dalam maupun luar negeri.

Jika ada salah penulisan kata dan kalimat yang kurang begitu dipahami ataupun

istilah yang tidak tepat , kami mohon bimbingan dan saran dari pihak dosen untuk

mengkoreksinya demi kemajuan kami dan pengetahuan kami.

Terima kasih

Bandung , November 2009 Hormat Kami

( Amrizal Tanjung )

Page 3: Kondes Database,Pemodelan_database Dan ER-Diagram

3

Sistem Manajemen Basis Data

Pengertian SimbadaSistem Manajemen Basis Data (Data Base Management System / DBMS) adalah

perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara,

mengontrol, dan mengakses basis data dengan cara praktis dan efisien. DBMS dapat

digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan

akses yang berbeda - beda. DBMS pada umumnya menyediakan fasilitas atau fitur - fitur

yang memungkinkan data dapat diakses dengan mudah , aman , dan cepat. Beberapa fitur

yang secara umum tersedia adalah:

• Keamanan : DBMS menyediakan sistem pengamanan data sehingga tidak mudah

diakses oleh orang yang tidak memiliki hak akses.

• Independensi : DBMS menjamin independensi antara data dan program , data tidak

bergantung pada program yang mengaksesnya, karena struktur datanya dirancang

berdasarkan kebutuhan informasi , bukan berdasarkan struktur program. Sebaliknya

program juga tidak bergantung pada data , sehingga walaupun struktur data diubah ,

program tidak perlu berubah.

• Konkruensi / data sharing : data dapat diakses secara bersamaan oleh beberapa

pengguna karena manajemen data dilaksanakan oleh DBMS.

• Integritas : DBMS mengelola file - file data serta relasinya dengan tujuan agar data

selalu dalam keadaan valid dan konsisten

• Pemulihan : DBMS menyediakan fasilitas untuk memulihkan kembali file - file data

ke keadaan semula sebelum terjadinya kesalahan (error) atau gangguan baik

kesalahan perangkat keras maupun kegagalan perangkat lunak.

• Kamus / katalog sistem : DBMS menyediakan fasilitas kamus data atau katalog

sistem yang menjelaskan deskripsi dari field - field data yang terkandung dalam basis

data.

• Perangkat Produktivitas : DBMS menyediakan sejumlah perangkat produktivitas

sehingga memudahkan para pengguna untuk menarik manfaat dari database ,

Page 4: Kondes Database,Pemodelan_database Dan ER-Diagram

4

misalnya report generator (pembangkit laporan) dan query generator (pembangkit

query / pencarian informasi).

Sistem Manajemen Basis Data (DBMS) memiliki berbagai keunggulan

dibandingkan dengan pengelolaan data tanpa DBMS , walaupun tidak terlepas dari

beberapa kelemahan.

Keunggulan DBMS antara lain sebagai berikut :

• Mengurangi duplikasi data atau data redundancy

• Menjaga konsistensi dan integritas data

• Meningkatkan keamanan data

• Meningkatkan effisiensi dan effektivitas penggunaan data

• Meningkatkan produktivitas para pengguna data

• Memudahkan pengguna dalam menggali informasi dari kumpulan data

• Meningkatkan pemeliharaan data melalui independensi data

• Meningkatkan pemakaian bersama dari data

• Meningkatkan layanan backup dan recovery data

• Mengurangi konflik antar pengguna data

Kelemahan DBMS antara lain sbb:

• Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen

database agar dapat diperoleh struktur dan relasi data yang optimal

• Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory)

agar DBMS dapat bekerja cepat dan efisien.

• Harga DBMS yang handal biasanya sangat mahal

• Kebutuhan akan sumber daya (resources) biasanya cukup tinggi

• Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal , disamping

biaya pengadaan perangkat keras dan perangkat lunak , diperlukan pula biaya

pelatihan.

• Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih

tinggi karena banyak pengguna yang bergantung pada sistem ini.

Berikut ini disajikan tabel beberapa DBMS yang terkenal.

Page 5: Kondes Database,Pemodelan_database Dan ER-Diagram

5

DBMS Perusahaan

Access Microsoft Corporation

DB2 IBM

Informix IBM

Ingress Computer Associate

mySQL The MySQL Company

Oracle Oracle Corporation

Postgres SQL Postgres

Sybase Sybase Inc.

Visual dBase Borland

Visual FoxPro FoxPro Corporation

DBMS untuk model data berbasis objek biasanya dinamakan sebagai Object

Oriented Data Base Management System (OODBMS). Beberapa OODBMS yang

terkenal adalah sebagai berikut:

OODBMS Perusahaan

Gemstone Gemstone System

Matisse ADB Inc.

Versant Versant

Jeevan W3 Apps.

Vision Insyte

Objectivity Objectivity Inc.

ObjectStone Object Design Inc.

Page 6: Kondes Database,Pemodelan_database Dan ER-Diagram

6

Poet Poet Software.

Perlu ditambahkan disini bahwa beberapa DBMS berbasis objek sebenarnya tetap

menggunakan file data relasional biasa , dengan kata lain , programnya berbasis objek

tetapi datanya masih model relasional biasa. Software seperti ini biasanya disebut sebagai

Object Oriented Relational DataBase Management System (OORDBMS) , misalnya

Visual dBase.

Arsitektur DBMSSalah satu tujuan dari DBMS adalah untuk menyediakan sarana antar muka

(interface) dalam mengakses data secara efisien tanpa harus melihat kerumitan atau detail

tentang cara data direkam dan dipelihara. DBMS memiliki arsitektur untuk melakukan

abstraksi dari data sehingga dapat diperoleh independensi data program.

Pada tahun 1975, badan standarisasi nasional Amerika ANSI-SPARC (American

National Standards Institute Standards Planning and Requirements Committee)

menetapkan tiga level abstraksi dalam database, yaitu:

1. Level Eksternal (external level) atau Level Pandangan (view level)

Level Eksternal adalah level yang berhubungan langsung dengan pengguna database.

Pada level ini pengguna (user) hanya bisa melihat struktur data sesuai dengan

keperluannya sehingga setiap user bisa memiliki pandangan (view) yang berbeda dari

user lainnya. Pada level ini pula dimungkinkan pandangan user berbeda dengan

representasi fisik dari data, misalkan untuk data hari secara fisik data direkam dalam

bentuk kode (1 , 2 , 3 , dst) sedang user melihat data dalam bentuk teks nama hari

(Minggu , Senin , Selasa , ). Data yang dilihat oleh user seakan - akan berasal dari

satu file , secara fisik mungkin diambil dari beberapa file yang berelasi

2. Level Konseptual (conceptual level)

Level Konseptual adalah level dari para administrator database , pada level ini

didefinisikan hubungan antar data secara logik , sehingga diperlukan struktur data

secara lengkap. Para administrator database memahami bagaimana satu view

dijabarkan dari beberapa file data , demikian pula pada saat perancangan database

Page 7: Kondes Database,Pemodelan_database Dan ER-Diagram

7

mereka dapat saja membagi data menjadi beberapa file agar dapat diakses dan

disimpan secara efisien.

3. Level Internal (internal level) atau Level Fisik (physical level)

Level Internal adalah level dimana data disimpan secara fisik dalam bentuk kode, teks

, angka , bit. Pada level ini didefinisikan allokasi ruang penyimpanan data , deskripsi

data dalam penyimpanan , kompressi data (agar lebih hemat) , dan enkripsi data (agar

lebih aman).

Agar independensi data dapat dicapai maka disediakan pemetaan antar lapisan

(level), yatiu pemetaan eksternal-konseptual dan pemetaan konseptual internal. Pada

pemetaan eksternal konseptual , DBMS dapat memetakan field - field data dari user view

ke dalam struktur data yang sesungguhnya. Pada pemetaan konseptual internal , DBMS

dapat menemukan rekaman fisik dari data yang didefinisikan pada struktur logik.

Bahasa DBMSImplementasi bahasa DBMS bervariasi sesuai dengan variasi perusahaan yang

merancangnya , namun pada prinsipnya bahasa ini bisa dikategorikan ke dalam tiga

komponen bahasa , yaitu:

1. Data Definition/Decription Language (DDL)

DDL adalah komponen bahasa DBMS yang digunakan untuk mendefinisikan struktur

data antara lain perintah untuk membuat tabel baru (CREATE) dimana terdefinisi

komponen/field data dengan tipe dan panjangnya , mengubah index (INDEX ,

REINDEX) agar setiap record dalam satu file data dapat diakses melalui indeksnya ,

mengubah struktur (MODIFY STRUCT) dari file data , dan sebagainya. Komponen

bahasa ini banyak digunakan oleh para administrator basis data pada saat

merencanakan atau membangun file - file basis data.

2. Data Manipulation Language (DML)

DML adalah komponen bahasa DBMS yang digunakan untuk memanipulasi data ,

komponen ini diperlukan oleh para pengguna untuk memanipulasi data , antara lain

perintah - perintah untuk melakukan hal - hal berikut ini:

• mengambil data dari basis data (LIST, DISPLAY)

• menambah data kedalam basis data (INSERT, APPEND)

Page 8: Kondes Database,Pemodelan_database Dan ER-Diagram

8

• meremajakan data yang ada dalam basis data (UPDATE)

• menghapus data yang tidak diperlukan (DELETE)

• mengurutkan data (SORT)

• menghitung frekuensi data (COUNT)

• mencari data (SEEK, FIND)

DML dapat dibedakan atas dua macam, yaitu DML Prosedural dan DML Non-

Prosedural. Pada DML Prosedural ketika data akan dimanipulasi maka perintah harus

disertai dengan perintah-perintah bagaimana data diakses dari file database. Perintah

DML Prosedural biasanya termuat dalam bahasa pemrograman tingkat tinggi (high

level programming language) seperti COBOL , C , C++ dan sebagainya. Pada DML

non-Prosedural data dapat dimanipulasi langsung tanpa harus memerintahkan

bagaimana data dibaca dari file. Perintah DML non Prosedural biasanya digunakan

dalam bahasa-bahasa DBMS seperti pada dBase , Access , Paradox , FoxPro , SQL ,

dan sebagainya.

3. Device Control Media Language (DCML)

DCML adalah komponen bahasa DBMS yang digunakan untuk mengatur

perekaman atau penyimpanan data secara fisik. Komponen bahasa DCML digunakan

oleh operator-operator sistem basisdata didalam mengatur file - file data secara fisik.

Perintah - perintah yang termuat dalam komponen ini, antara lain perintah perintah:

merekam (Write Record , Create Table) , menghapus (Drop , Delete Table).

Pemodelan DatabaseModel 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 :

1. Model Hirarkis (Hierarchical Model)

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 -

Page 9: Kondes Database,Pemodelan_database Dan ER-Diagram

9

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 mata kuliah.

Gambar : contoh model data hirarkis

Pada model diatas tidak direpresentasikan bahwa satu mata kuliah 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 mata kuliah yang sama diambil

oleh beberapa mahasiswa , sehingga record mata kuliah tersebut direkam berkali - kali

dibawah record mahasiswa yang mengambilnya. Disamping itu apabila ada mata kuliah

yang tidak diprogramkan oleh mahasiswa maka ada kemungkinan recordnya 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.

Page 10: Kondes Database,Pemodelan_database Dan ER-Diagram

10

Gambar : contoh Diagram Hirarkis Dosen-Matakuliah-Mahasiswa

Perhatikan dalam model hirarki diatas , data mahasiswa yang sama terpaksa

direkam berulang ketika mahasiswa tersebut memprogramkan lebih dari satu mata kuliah.

Model hirarkis ini pernah diimplementasikan oleh IBM pada sebuah DBMS yang diberi

nama IMS (Information Management System) namun kemudian dikalahkan oleh

implementasi model yang lebih mutakhir seperti model Data Relasional seperti Rbase ,

dan sebagainya.

2. Model Jaringan (Network Model)

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 implementasinya

berarti antara parent-record dan child-record diperlukan penghubung (link atau pointer)

yang bisa satu arah atau dua arah.

Gambar : Model Data Jaringan

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 mata kuliah dapat diprogramkan oleh banyak

mahasiswa (pointer dari record-kuliah ke beberapa record-mahasiswa) keduanya dapat

direpresentasikan.

Model Jaringan dari Dosen-Matakuliah-Mahasiswa dapat digambarkan sebagai berikut :

Page 11: Kondes Database,Pemodelan_database Dan ER-Diagram

11

Gambar :Diagram Model Data Jaringan Dosen-Mata Kuliah-Mahasiswa

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.

3. Model Relasional (Relational Model)

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.

Dalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai

tingkatan-tingkatan, sebagai berikut :

• Karakter (Characters)

Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka 0

s.d 9), huruf ( A - Z, a - z) ataupunkarakter-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 tabel database ,

field ini disebut juga kolom.

Page 12: Kondes Database,Pemodelan_database Dan ER-Diagram

12

• Record atau Tupple

Tuple/Record adalah kumpulan data value dari attribute yang berkaitan sehingga

dapat menjelaskan sebuah entity secara lengkap. Misal : Record entity mahasiswa

adalah kumpulan data value dari field NPM , nama, jurusan dan alamat perbarisnya.

Dalam tabel database , Record disebut juga baris.

• 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.

Pada prinsipnya model data relasional dapat direpresentasikan 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 samasetiap 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 mata kuliah dapat

diwakili oleh satu tabel kuliah dengan kunci utama kode-mkuliah.

Page 13: Kondes Database,Pemodelan_database Dan ER-Diagram

13

tabel mahasiswa

Nim Nama_mhs Alamat_mhs Tgl_lahir

011234 Ihsan Jl. Melati 50 21-3-1990

011345 Ari Jl. Mawar 103 13-5-1997

011456 Ira Jl. Mangga 145 17-8-1989

tabel kuliah

Kode_mkuliah Nama_Mkuliah sks Semester

315KP2 Pemrograman Delphi 2 2

317KP2 Simbada 2 2

319MP2 Pengantar Hardware 2 2

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 mata kuliah, 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 mata kuliah tetapi satu mata kuliah 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 mata kuliah, dan satu mata kuliah 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.

• Relasi Banyak ke Satu (Many to One) : Ini adalah kebalikan dari relasi satu ke

banyak , dimana setiap record pada entity A hanya dapat berelasi paling banyak 1

Page 14: Kondes Database,Pemodelan_database Dan ER-Diagram

14

record pada entity B , tapi tidak sebaliknya , satu record pada entity B dapat berelasi

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) mahasiswa

Contoh relasi antara domain mahasiswa dan mata kuliah 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

11456 319MP2 B

4. Model Relasi Entitas (Entity-Relationship Model)

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. Ada dua komponen utama pembentuk model data ini,

yaitu Entity beserta attributenya dan relasi dan jenis hubungannya.

Page 15: Kondes Database,Pemodelan_database Dan ER-Diagram

15

Gambar : Simbol Relasi Entitas

Contoh relasi antara domain mahasiswa dan domain matakuliah diwujudkan

dalam diagram E-R sebagai berikut:

Gambar : Diagram E-R Mahasiswa-Matakuliah

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 tamunya. (foreign key).

• Menentukan derajat relasi untuk setiap himpunan relasi.

• Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem

database yang dirancang, karena attribute ini sangat menentukan nantinya dalam

proses relasi.

Page 16: Kondes Database,Pemodelan_database Dan ER-Diagram

16

Attribute merupakan ciri khas yang melekat pada suatu entity, misalnya attribute

pada mahasiswa dapat berupa NPM , 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 NPM bisa dijadikan field kunci , karena bersifat unik dan tidak ada

mahasiswa yang mempunyai NPM 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 NPM adalah field kunci dari entity mahasiswa , pada entity mengajar

terdapat juga attribute NPM , maka keberadaan attribute NPM pada entity mengajar

disebut sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat

menentukan kualitas sistem database yang dirancang.

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. Kita harus jeli dalam menentukan

derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data.

Jenis-Jenis Kunci (Key)

1. Candidat 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.

Page 17: Kondes Database,Pemodelan_database Dan ER-Diagram

17

2. 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.

3. 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.

4. 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.

5. Model Berbasis Objek (Object Oriented Model)

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.

Page 18: Kondes Database,Pemodelan_database Dan ER-Diagram

18

Gambar : Model Objek Data Pegawai Dosen

Sumber :

www.teknik-informatika.com

www.dijexi.com

www.oneindoskripsi.com

www.kaskus.us

www.pdfdatabase.com

www.id.wikipedia.org

www.diskusiweb.com