desain basis data bab ii

58

Upload: youdha-winata

Post on 04-Jul-2015

1.053 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Desain Basis Data Bab II
Page 2: 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.

Page 3: Desain Basis Data Bab II

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

Page 4: Desain Basis Data Bab II

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

Kardinalitas Hubungan

Gambar: Sejumlah notasi pada Model E-R

Entitas

Atribut

Hubungan

Page 5: Desain Basis Data Bab II

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.

Page 6: Desain Basis Data Bab II

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

Page 7: Desain Basis Data Bab II

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.

Page 8: Desain Basis Data Bab II

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.

Page 9: Desain Basis Data Bab II

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

Gambar: Penggambaran atribut dalam model E-R

Nama Tanggal_Lahir

Page 10: Desain Basis Data Bab II

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.

Page 11: Desain Basis Data Bab II

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

Page 12: Desain Basis Data Bab II

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

Page 13: Desain Basis Data Bab II

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

Page 14: Desain Basis Data Bab II

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

Page 15: Desain Basis Data Bab II

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.

Page 16: Desain Basis Data Bab II

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.

Page 17: Desain Basis Data Bab II

Atribut pengenal biasa ditandai dengan garis bawah.

MAHASISWA (No_Mahasiswa, Nama, Tanggal_Lahir, Jenis_Kelamin)

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Page 18: Desain Basis Data Bab II

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

Page 19: Desain Basis Data Bab II

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.

Page 20: Desain Basis Data Bab II

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Nama_Depan

Nama_Tengah

Nama_Belakang

Page 21: Desain Basis Data Bab II

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

Page 22: Desain Basis Data Bab II

MAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Nama_Depan

Nama_Tengah

Nama_Belakang

Page 23: Desain Basis Data Bab II

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.

Page 24: Desain Basis Data Bab II

Simbol: Oval dengan garis terputus.

TeleponMAHASISWA

No_Mahasiswa

Nama Tanggal_Lahir

Jenis_Kelamin

Nama_Depan

Nama_Tengah

Nama_Belakang

Usia

Page 25: Desain Basis Data Bab II

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.

Page 26: Desain Basis Data Bab II

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

Page 27: Desain Basis Data Bab II

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

Page 28: Desain Basis Data Bab II

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.

Page 29: Desain Basis Data Bab II

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.

Page 30: Desain Basis Data Bab II

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

Page 31: Desain Basis Data Bab II

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

Page 32: Desain Basis Data Bab II

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

Page 33: Desain Basis Data Bab II

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

Page 34: Desain Basis Data Bab II

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

Page 35: Desain Basis Data Bab II

1..1 0..*

Gambar:Contoh bentuk lain dalam menggambarkan notasi jangkauan

Nomor_Dosen Nomor_Mahasiswa

DOSEN MAHASISWAMEMBIMBING

Nama Nama

Page 36: Desain Basis Data Bab II

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.

Page 37: Desain Basis Data Bab II

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.

Page 38: Desain Basis Data Bab II

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.

Page 39: Desain Basis Data Bab II

b. Setiap mahasiswa maksimal mempunyai satu dosen pembimbing akademis.

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

Page 40: Desain Basis Data Bab II

1 dosen bisa membimbing banyak mahasiswa

1 mahasiswa mempunyai pembimbing maksimal 1dosen

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

Page 41: Desain Basis Data Bab II

1 dosen bisa tidak membimbing mahasiswa sama sekali

1 mahasiswa mempunyai pembimbing maksimal 1 dosen

DOSEN MAHASISWAMembimbing

DOSEN MAHASISWAMembimbing

Page 42: Desain Basis Data Bab II

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.

Page 43: Desain Basis Data Bab II

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

Page 44: Desain Basis Data Bab II

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

atasan

Bawahan Nama peran juga dapat diberikan pada hubungan

binary.

PEGAWAI Membawahi

Page 45: Desain Basis Data Bab II

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.

Page 46: Desain Basis Data Bab II

Manager Kantor Cabang

Staff Kantor Cabang

PEGAWAI CABANG

Mengepalai

Ditugaskan

Page 47: Desain Basis Data Bab II

Hubungan Tertiary: Hubungan yang melibatkan tiga buah tipe entitas.

Page 48: Desain Basis Data Bab II

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.

Page 49: Desain Basis Data Bab II

KLIEN PEWANCARA

STAFF

Mengatur

Tanggal_Wawancara

Jam_Wawancara

Tempat

Page 50: Desain Basis Data Bab II

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

Page 51: Desain Basis Data Bab II

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

Page 52: Desain Basis Data Bab II

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

Page 53: Desain Basis Data Bab II

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

Page 54: Desain Basis Data Bab II

Tanggal_Wawancara

Jam_Wawancara

Tempat

STAFF

PEWANCARAKLIEN Mengatur

Page 55: Desain Basis Data Bab II

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.

Page 56: Desain Basis Data Bab II

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

Page 57: Desain Basis Data Bab II

Ada kalanya atribut bia dinyatakan sebagai hubungan.

Page 58: Desain Basis Data Bab II

Ada kalanya perlu untuk mencatat waktu dalam sebuah entitas.