Desain Basis Data Bab II

Post on 04-Jul-2015

1.054 views 2 download

Transcript of Desain Basis Data Bab II

Model ER: Suatu model yang digunakan untuk menggambarkan data dalam bentuk entitas, atribut dengan hubungan antar entitas.

Huruf E: Entitas. Huruf R: Hubungan (relationship). Model ini dalam bentuk diagram (Diagram E-

R). Bersifat konseptual, bukan fisik. Tidak bergantung pada DBMS yang akan

digunakan.

Gambar: Contoh Model E-RKet:1.Mahasiswa dan Matakuliah yang diambil2.Dosen dan Mahasiswa yang dibimbing3.Dosen dan Matakuliah yang diajar

Mahasiswa, Matakuliah, Dosen: EntitasMengambil, Membimbing, Mengajar: Hubungan

Kardinalitas Hubungan

Gambar: Sejumlah notasi pada Model E-R

Entitas

Atribut

Hubungan

Entitas: “Sesuatu dalam dunia nyata yang keberadaannya tidak bergantung pada yang lain” (Elmasri dan Navathe, 1994).

Contoh: Pegawai dalam sebuah organisasi. Entitas dapat berupa sesuatu yang nyata

ataupun abstrak (berupa suatu konsep). Hoffer, dkk (2005) menjelaskan bahwa

entitas dapat berupa seseorang, sebuah tempat, sebuah objek, sebuah kejadian/konsep.

Sebuah entitas dinyatakan dengan kata benda dan ditulis dengan huruf kapital.

Contoh: Orang: PEGAWAI, MAHASISWA, PASIENTempat: TOKO, GUDANG, PROPINSIObjek: MESIN, GEDUNG, MOBILKejadian: PENJUALAN, REGISTRASIKonsep: REKENING, KURSUS

Setiap entitas dinyatakan oleh sejumlah atribut.

Atribut: properti/karakteristik yang terdapat pada setiap entitas.

Contoh: MOBIL: Nomor_Polisi, Tipe, Warna, Nomor_Rangka, dan Nomor_Mesin.MAHASISWA: Nomor_Mahasiswa, Nama, Tanggal_Lahir, dan Jenis_Kelamin.

Setiap atribut dinyatakan dengan kata benda. Supaya konsisten Hoffer, dkk (2005)

menggunakan huruf kapital untuk setiap awal kata dan huruf kecil untuk yang lain.

Jika atribut menggunakan lebih dari satu kata, antarkata dipisahkan oleh karakter garis bawah (_).

Contoh: Harga, Harga_Barang, Kode_Pos_Rumah.

Dalam model E-R, secara umum atribut disimbolkan dengan bentuk oval.

Gambar: Penggambaran atribut dalam model E-R

Nama Tanggal_Lahir

Tipe Entitas (Entity Type): Kumpulan entitas yang berbagi atribut (Hoffer, dkk; 2005). Atau istilah lain, himpunan entitas (entity set, Silberschatz, dkk; 2002).

Instans Entitas (Entity Instance): Satu kejadian dalam sebuah tipe entitas. Sering disebut entitas saja, karena sama-sama menyatakan sebuah kemungkinan.

Gambar: Tipe Entitas MAHASISWA dengan dua buah instans entitas.

Setiap entitas dalam model E-R diberi sebuah nama berupa kata benda tunggal (Misal: GEDUNG, bukan GEDUNG-GEDUNG). Dengan simbol Kotak.

Atribut Tipe Data Atribut Contoh Instans 1 Contoh Instans 2

Nomor Mahasiswa

CHAR(5) 08001 08002

Nama CHAR(35) Emi Wardiyanti Sutanto

Tanggal_Lahir Date 20/08/1990 04/05/1991

Jenis_Kelamin CHAR(6) Wanita Pria

Gambar: Penggambaran tipe entitas dalam model E-R

Dalam menggambar yang lengkap, atribut-atribut yang dimiliki oleh suatu tipe entitas ikut digambarkan.

Contoh:

MAHASISWA DOSEN

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Terkadang, tipe entitas seperti MAHASISWA sering ditulis dengan notasi sebagai berikut: MAHASISWA (No_Mahasiswa, Nama, Tanggal_Lahir, Jenis_Kelamin).

Setiap entitas (instans entitas) memiliki nilai untuk setiap atributnya.

Atribut Pengenal (Identifier Atribute): Setiap entitas memiliki atribut (atau gabungan beberapa atribut) yang nilainya bersifat unik (tidak kembar) sehingga dapat digunakan untuk membedakan antara satu entitas dengan entitas lain. Atau bisa disebut Kunci Primer (Primary Key).

Ada kemungkinan bahwa dalam sebuah tipe entitas terdapat lebih dari satu atribut yang menjadi atribut pengenal.

Contoh: DEPARTEMEN (Kode_Departemen, Nama_Departemen).

Kunci Kandidat (Candidate Key): Sebuah/gabungan atribut yang bisa dijadikan atribut pengenal dalam sebuah entitas.

Untuk bisa menentukan mana yang bisa dijadikan atribut pengenal, Bruce (Hoffer, dkk; 2005) memberi saran sebagai berikut:

Pilih atribut pengenal yang nilainya tidak berubah sepanjang waktu.

Pilih atribut pengenal yang nilainya untuk setiap instans selalu valid dan tidak bernilai null.

Hindari atribut pengenal yang terstrukturnya mengandung klasifikasi, lokasi, dll (biasa disebut kunci cerdas).

Pertimbangan untuk menggunakan atribut pewakil.

Atribut pengenal biasa ditandai dengan garis bawah.

MAHASISWA (No_Mahasiswa, Nama, Tanggal_Lahir, Jenis_Kelamin)

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Atribut yang digunakan dalam model E-R dapat dikategorikan seperti berikut:

Atribut sederhana VS atribut kompositAtribut bernilai tunggal VS atribut bernilai

banyakAtribut tersimpan VS atribut turunan

Atribut komposit: Suatu atribut yang dapat dipecah-pecah menjadi bagian-bagian yang lebih kecil dan tetap bermakna.

Contoh: Nama_Depan, Nama_Tengah, Nama_Belakang.

Atribut sederhana: Atribut yang tidak dapat dipecah menjadi bagian-bagian yang lebih kecil yang masih memiliki makna.

Contoh: Jenis_Kelamin.

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Nama_Depan

Nama_Tengah

Nama_Belakang

Atribut bernilai tunggal (singel-valued attribute): Atribut yang nilai atributnya hanya satu untuk setiap instans entitas.

Atribut bernilai banyak (multi-valued attribute): atribut yang nilai atributnya bisa lebih dari satu untuk setiap instans entitas.

Simbolnya: Nama_Atribut

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Nama_Depan

Nama_Tengah

Nama_Belakang

Atribut tersimpan: Atribut yang nilainya tidak bisa didapatkan dari atribut-atribut lain dan benar-benar tersimpan pada database.

Contoh: Tanggal_lahir, Tanggal_masuk_Kerja.

Atribut turunan: Nilai atribut dalam suatu tipe entitas bisa saja dihitung atau diturunkan dari nilai suatu atribut atau sejumlah atribut yang tersimpan dalam database atau dari nilai lain.

Contoh: Usia, Lama_Bekerja.

Simbol: Oval dengan garis terputus.

TeleponMAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Nama_Depan

Nama_Tengah

Nama_Belakang

Usia

Atribut harus bernilai (required attribute): Atribut yang nilainya harus diisi untuk setiap instans entitas.

Atribut opsional (optional attribute): atribut yang pada instans entitas tertentu boleh saja tidak diisi.

Hubungan (relationship): menyatakan keterkaitan antara beberapa tipe entitas.

Keterangan: Seorang mahasiswa mempunyai hanya seorang

dosen pembimbing akademis.

Nomor_Mahasiswa

DOSEN MAHASISWAMembimbing

Nomor_Dosen

Nama Nama

Seorang dosen bisa menjadi pembimbing satu atau banyak mahasiswa atau tidak sama sekali.

Jenis hubungan: one-to-one, one-to-many, many-to-one, many-to-many.

Hubungan one-to-one (1:1): Menyatakan bahwa setiap entitas pada tipe entitas A paling banyak berpasangan dengan satu entitas pada tipe entitas B. begitu juga sebaliknya.

Hubungan one-to-many (1:M): Menyatakan bahwa setiap entitas pada tipe entitas A bisa banyak berpasangan dengan banyak entitas pada tipe entitas B. sedangkan setiap entitas B hanya bisa berpasangan dengan satu entitas pada tipe entitas B.

Hubungan many-to-one (M:1): Menyatakan bahwa setiap entitas pada tipe entitas A paling banyak berpasangan dengan satu entitas pada tipe entitas B dan setiap entitas pada tipe entitas B bisa berpasangan dengan banyak entitas pada tipe entitas A.

Hubungan many-to-many (M:N): menyatakan bahwa setiap entitas pada suatu tipe entitas A bisa berpasangan dengan banyak entitas pada tipe B dan begitu juga sebaliknya.

a1

a2

a3

a4

b1

b2

b3

b4

b1

b2

b3

b4

a1

a2

a3

a1

a2

a3

a4

b1

b2

b3

a1

a2

a3

a4

b1

b2

b3

b4

DOSEN PRODIAmir Hamzah

BadiyantoCitra Lestari

Johannes SuryaKarmen

Ridwan GhaniRiswanda

Salman El FarisySiti Fatimah

Tri SetyawatiZaenal

Zulkarnaen

Teknik ArsitekturTeknik ElektroTeknik Geologi

Teknik Informatika

Teknik MesinTeknik Sipil

DOSEN MAHASISWAAmir Hamzah

BadiyantoCitra Lestari

Johannes SuryaKarmen

Ridwan GhaniRiswanda

Salman El FarisySiti Fatimah

Tri SetyawatiZaenal

Zulkarnaen

Asti DamayantiBaskoro

Cecep ArdiyantoFerdie Damhuri

Kartika SariNovita Fitriana

RiyaniShinta Nuraini

SarjiyaTati Suwandi

Tian RondowunuVirnie Rumania

Zulkifli

MAHASISWA MATAKULIAH

Afri ArmiantoAsti Kusumawati

BadrudinCecilia FikayantiFiska Febrianti

Karunia NugrahaMarshanda

Paulina Jayanti……

Pengantar Basis DataMatematika I

Fisika IAkuntansi Dasar

Algoritma PemrogramanStatistika

Jaringan KomputerKecerdasan Buatan

Pemrograman DatabaseLogika Kabur

1 M

Gambar:Contoh lain penggambaran hubungan antar tabel (Diadaptasi dari model E-R yang dibahas oleh

Elmasri, 1994)

Nomor_Dosen Nomor_Mahasiswa

DOSEN MAHASISWAMEMBIMBING

Nama Nama

1..1 0..*

Gambar:Contoh bentuk lain dalam menggambarkan notasi jangkauan

Nomor_Dosen Nomor_Mahasiswa

DOSEN MAHASISWAMEMBIMBING

Nama Nama

Kekangan kardinalitas (cardinality constraint) (Hoffer, dkk; 2005) menyatakan jumlah istans entitas suatu tipe entitas yang dikaitkan dengan setiap instans pada tipe entitas lain.

Menurut Silberschatz, dkk (2002), hal seperti itu disebut dengan istilah rasio kardinalitas atau pemetaan kardinalitas.

Terdapat jenis kekangan kardinalitas yang dapat diterapkan, yaitu: kardinalitas minimum dan kardinalitas maksimum.

Kardinalitas minimum: jumlah tersedikit suatu instans dari suatu tipe entitas yang dapat dikaitkan dengan setiap instans pada tipe entitas lain. Jumlah minimun bisa 0 ataupun 1.

Kardinalitas maksimum: jumlah terbanyak dari instans suatu tipe entitas yang dapat dikaitkan dengan setiap instans dari tipe entitas lain. Jumlah nilainya bisa berupa 1 atau banyak.

Contoh:Hubungan antara DOSEN dan MAHASISWA, maka:1. Untuk kekangan kardinalitas minimum:a. Setiap dosen minimal menjadi pembimbing

akademis nol mahasiswa.b. Setiap mahasiswa minimum mempunyai satu

dosen pembimbing akademis.2. Untuk kekangan kardinalitas maksimum:a. Setiap dosen maksimal menjadi pembimbing

akademis banyak mahasiswa.

b. Setiap mahasiswa maksimal mempunyai satu dosen pembimbing akademis.

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

1 dosen bisa membimbing banyak mahasiswa

1 mahasiswa mempunyai pembimbing maksimal 1dosen

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

1 dosen bisa tidak membimbing mahasiswa sama sekali

1 mahasiswa mempunyai pembimbing maksimal 1 dosen

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

Derajat hubungan (relationship degree): Jumlah tipe entitas yang dilibatkan oleh sebuah hubungan.

Tipe entitas yang dilibatkan dalam suatu hubungan biasa disebut dengan partisipan.

Ada tiga jenis derajat hubungan: hubungan unary, binary dan tertiary.

Hubungan yang melibatkan lebih dari tiga buah tabel dibicarakan oleh Connoly, dkk (1999), namun hubungan ini jarang terjadi atau situasional.

Hubungan Unary: Hubungan yang melibatkan hanya satu tipe entitas.

Contoh: hubungan antara atasan dan bawahan.

1 pegawai bisa membawahi sejumlah pegawai dan seorang pegawai bisa memiliki satu atasan.

Hubungan yang melibatkan entitas yang sama: hubungan rekursif.

PEGAWAI Membawahi

Connoly, dkk (1999) menambahkan perlunya nama peran dalam hubungan yang bersifat rekursif.

atasan

Bawahan Nama peran juga dapat diberikan pada hubungan

binary.

PEGAWAI Membawahi

Hubungan Binary: Hubungan yang melibatkan dua buah tipe entitas.

1. Seorang pegawai yang berkedudukan sebagai manajer mengepalai sebuah kantor cabang dan sebuah kantor cabang dikepalai oleh seorang pegawai yang berkedudukan sebagai manajer.

2. Setiap Staff ditempatkan di sebuah kantor cabang dan setiap kantor cabang paling tidak memiliki satu staff.

Manager Kantor Cabang

Staff Kantor Cabang

PEGAWAI CABANG

Mengepalai

Ditugaskan

Hubungan Tertiary: Hubungan yang melibatkan tiga buah tipe entitas.

Contoh: Dalam suatu ajang sebuah perusahaan jasa mempertemukan pihak perusahaan yang mencari pekerja dan klien yang ingin mencari kerja.

1. Seorang staff menangani satu atau banyak klien dan seorang klien ditangani oleh satu staff.

2. Seorang staff menangani satu atau banyak pewancara dan satu pewancara berhubungan dengan hanya satu staff.

3. Seorang klien diwawancarai oleh satu atau banyak pewancara dan seorang pewancara bisa mewancarai satu atau banyak klien.

KLIEN PEWANCARA

STAFF

Mengatur

Tanggal_Wawancara

Jam_Wawancara

Tempat

Atribut tidak hanya terdapat pada entitas, tetapi juga bisa terdapat pada hubungan.

Mengapa atribut Tanggal_Melihat dan Catatan dilekatkan pada hubungan?

KLIEN RUMAH DIJUAL

Id_Rumah

Alamat Kota

Melihat

Id_Klien

Nama Catatan

Tanggal_Melihat

KLIEN Tanggal_Melihat RUMAH DIJUAL

K11-Amir

K22-Erna

K23-Fima

R1 – Jl. Durna

R2 – Jl. Sawo

R3 – Jl. Karya

R4 – Jl. Cakra

23/5/2008

22/5/2008

26/5/2008

26/5/2008

Entitas Asosiatif: Tipe entitas yang mengaitkan instans-instans dari satu atau beberapa tipe entitas dan berisi atribut-atribut yang khas bagi hubungan antara kedua instans entitas.

KLIEN

Id_Klien

Nama

Tanggal_Melihat

Catatan

KUNJUNGAN

Id_Rumah

Alamat Kota

RUMAH DIJUAL

Id_Kunjungan

Apakah semua hubungan yang memiliki atribut dapat diubah menjadi entitas asosiatif?

Hubungan dapat dijadikan entitas asosiatif jika:1. Hubungan kedua tipe entitas bersifat M:N, dan2. Tipe entitas asosiatif yang dihasilkan bermakna

bagi pemakai akhir dan dapat diidentifikasi dengan menggunakan atribut pengenal.

Entitas aosiatif sering dianjurkan sebagai alternatif bagi hubungan tertiary (Hoffer, dkk; 2005).

Tanggal_Wawancara

Jam_Wawancara

Tempat

STAFF

PEWANCARAKLIEN Mengatur

Suatu tipe entitas diklasifikasikan menjadi dua: tipe entitas kuat dan tipe entitas lemah.

Tipe Entitas kuat: tipe entitas yang keberadaannya tidak bergantung pada tipe entitas yang lain. Memiliki atribut pengenal.

Tipe Entitas lemah: tipe entitas yang keberadaannya bergantung pada tipe entitas lain. Tidak memiliki atribut pengenal.

Identifying owner, tipe entitas orangtua, atau tipe entitas dominan: Tipe entitas kuat yang menjadi bagian bergantungnya tipe entitas lemah.

Simbol entitas kuat berbentuk persegi dengan garis tunggal.

Simbol entitas lemah berbentuk persegi dengan garis ganda.

Hubungan dinyatakan belah ketupat bergaris ganda: Hubungan pengidentifikasian (Identifying relationship).

Ada kalanya atribut bia dinyatakan sebagai hubungan.

Ada kalanya perlu untuk mencatat waktu dalam sebuah entitas.