desain basis data bab ii
TRANSCRIPT
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.