Pertemuan 6
Data Design
Model Basis Data
•
Model Data: kumpulan perangkat konseptual untuk
menggambarkan data, hubungan data, semantik (makna) data, dan batasan data.
Contoh: Model Keterhubungan Entitas (Entity-Relationship Data Model)
•
Pada Model Entity-Relationship, semesta data yang ada di
‘Dunia Nyata’ ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data, yang umum disebut Diagram Entity-Relationship.
•
Ada 2 komponen utama pembentuk Model E-R: Entitas
(Entity) dan Relasi (Relation).
Entitas dan Himpunan Entitas
•
Entitas (entity) ialah individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Contoh: sebuah kursi yang kita duduki, sebuah mobil yang melintas di depan kita, dll.
•
Himpunan Entitas (Entity Set) ialah sekelompok entitas yang sejenis dan berada dalam lingkup yang sama. Sering disebut sebagai Entitas saja.
disebut sebagai Entitas saja.
•
Pada dasarnya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (famili) dari individu tersebut.
•
Himpunan entitas dilambangkan sebagai persegi panjang:
ATRIBUT (Attributes/Properties)
•
Atribut mendeskripsikan karakteristik (properti) dari suatu Entitas. Contoh: NRP adalah atribut dari entitas MAHASISWA. Jumlah SKS, Kode mata kuliah adalah atribut dari entitas MATAKULIAH.
•
Domain adalah himpunan nilai yang berlaku bagi suatu atribut.
suatu atribut.
•
Atribut dapat dikatakan sebagai fungsi yang
menghubungkan suatu entitas ke suatu domain (seperti, NRP: entitas Integer, Nama: entitas String).
•
Atribut dilambangkan sebagai lingkaran/elips:
Tipe Atribut: Komposit vs. Sederhana
• Atribut Sederhana (Simple Attribute) adalah atribut atomik yang tidak dapat dipilah lagi.
• Atribut Komposit (Composite Attribute) merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-
masing memiliki makna.
• Jika tidak ada aktivitas pengolahan data yang melibatkan sub-sub atribut tersebut secara khusus, maka lebih baik memakai Atribut Komposit demi kesederhanaan struktur tabel.
• Contoh:
Tipe Atribut:
Bernilai Banyak vs. Bernilai Tunggal
•
Atribut Bernilai Tunggal (Single-Valued
Attribute) ditujukan pada atribut-atribut yang
memiliki paling banyak satu nilai untuk setiap baris data.
•
Atribut Bernilai Banyak (Multivalued Attribute) ditujukan pada atribut-atribut yang dapat kita isi
Atribut Bernilai Banyak (Multivalued Attribute) ditujukan pada atribut-atribut yang dapat kita isi
dengan lebih dari 1 nilai, tetapi jenisnya sama.
Contoh: nomor-telepon, gelar, hobbi, dll.
•
Atribut Bernilai Banyak dilambangkan sebagai elips
ganda:
Tipe Atribut: Turunan vs. Simpanan
•
Atribut Turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan.
•
Atribut Turunan sebenarnya dapat ditiadakan dari sebuah tabel karena nilai-nilainya bergantung pada nilai yang ada di atribut lainnya.
•
Contoh: atribut umur yang dapat dikalkulasi dari
atribut TanggalLahir atau atribut JumlahPegawai yang dapat dihitung dari banyaknya baris pada tabel.
•
Atribut Turunan dilambangkan sebagai elips titik-titik:
Tipe Atribut:
Harus Bernilai vs. Nilai Null
•
Atribut Harus Bernilai (Mandatory Attribute) adalah atribut yang harus berisi nilai. Contoh: pada tabel
MAHASISWA, NRP dan NamaMahasiswa harus diketahui.
•
Atribut Tidak Harus Bernilai (Non Mandatory Attribute) adalah atribut yang nilainya boleh dikosongkan.
•
Nilai NULL dapat berarti:
•
Nilai NULL dapat berarti:
–
Nilai tidak ada karena atribut tidak dipakai
•
Contoh: NomorApartemen, Gelar, dll.
–
Nilai ada tetapi hilang
•
Contoh: nilai null untuk berat badan seseorang
–
Nilai tidak diketahui apakah ada atau tidak
•
Contoh: nilai null untuk NomorTelepon
E-R Diagram Dengan Atribut Komposit, Atribut Bernilai Banyak, dan Atribut
Turunan
E-R Diagram Dengan Atribut Bernilai Banyak dan Atribut Turunan
Turunan dari Date_Employed dan tanggal hari ini
Atribut Bernilai Banyak:
pegawai dapat mempunyai beberapaan keahlian
E-R Diagram Dengan Atribut Bernilai
Banyak dan Atribut Komposit
Relasi dan Himpunan Relasi
•
Relasi (relationship) menunjukkan adanya
hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
•
Himpunan Relasi (relationship set) dibentuk dari kumpulan semua relasi di antara entitas-entitas
yang terdapat pada himpunan entitas-himpunan
entitas tersebut. Sering disebut sebagai Relasi saja.
•
Contoh: antara Dosen_Wali dan Mahasiswa terdapat hubungan “membimbing”, antara
Mahasiswa dan Mata Kuliah terdapat hubungan
“mengambil.”
•
Himpunan relasi dilambangkan sebagai belah
ketupat:
Relasi Rekursif
• Entitas yang dihubungkan oleh suatu
relasi (relationship) tidak harus berbeda.
Entitas yang sama dapat ikut serta lebih dari satu kali di dalam relasi dengan
dari satu kali di dalam relasi dengan
peran (role) yang berbeda.
Peran (Role)
Peran ialah fungsi yang diperankan oleh suatu entitas di dalam suatu relasi.
Label “manager” dan “worker” dinamakan peran; fungsi ini menjelaskan sebagai apa entitas ‘Employee’ berinteraksi lewat relasi ‘works-for.’
Label peran adalah pilihan (optional) dan digunakan untuk menunjukkan arti dari relasi. Biasanya implisit.
Kardinalitas/Derajat Relasi
• Kardinalitas Relasi menunjukkan jumlah
maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain.
• Kardinalitas Relasi yang terjadi di antara dua himpunan entitas dapat berupa:
himpunan entitas dapat berupa:
Satu ke Satu (One to One)
Satu ke Banyak (One to Many)
Banyak ke Satu (Many to One)
Banyak ke Banyak (Many to Many)
Satu ke Satu (One to One)
• Berarti setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya.
entitas B, dan begitu juga sebaliknya.
• Contoh: Pria menikahi Wanita (asumsi
tidak ada poligami!), Dosen mengepalai
Jurusan.
Satu ke Banyak (One to Many)
•
Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas B mana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
•
Contoh: Ibu mempunyai Anak, Dosen mengajar
Kuliah.
Banyak ke Satu (Many to One)
•
Berarti setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas A di mana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.
•
Contoh: Anak mempunyai Ibu, Kuliah diajar
Dosen
Banyak ke Banyak (Many to Many)
•
Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan demikian juga
sebaliknya, di mana setiap entitas pada sebaliknya, di mana setiap entitas pada
himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
•
Contoh: Mahasiswa mengambil mata kuliah
Kardinalitas
One to One One to Many
Catatan: Beberapa elemen di A dan B mungkin tidak dipetakan ke elemen apapun di set yang lain.
Kardinalitas
Many to One Many to Many
Catatan: Beberapa elemen di A dan B mungkin tidak dipetakan ke elemen apapun di set yang lain.
Atribut Deskriptif
(Descriptive Attributes)
• Himpunan relasi dapat pula mempunyai atribut.
• Contoh: himpunan relasi depositor antara entitas customer dan account dapat mempunyai atribut access-date
Kardinalitas dan Desain ER
Kardinalitas mempengaruhi desain ER. Jika setiap
nasabah hanya mempunyai satu rekening, access-date
dapat dijadikan atribut dari rekening.
Atribut Deskriptif
• Atribut dari himpunan relasi dapat
dipindahkan ke entitas yang berpartisipasi untuk relasi Satu ke Satu, Satu ke
Banyak, dan Banyak ke Satu. Ke entitas yang mana? Banyak atau Satu?
yang mana? Banyak atau Satu?
• Tetapi tidak untuk relasi Banyak ke
Banyak.
KUNCI
• Kunci (key) adalah satu atau gabungan dari beberapa atribut yang dapat membedakan
semua baris data (row) dalam tabel secara unik.
• Ada 3 macam key yang dapat diterapkan
• Ada 3 macam key yang dapat diterapkan pada suatu tabel, yaitu:
– Superkey
– Kunci Kandidat (Candidate-Key)
– Kunci Primer (Primary-Key)
SUPERKEY
•
Superkey merupakan satu atau lebih atribut
(kumpulan atribut) yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
•
Mungkin ada lebih dari 1 Superkey pada sebuah tabel.
TABEL MAHASISWA
09/09/84 Jl. Macan 1
Erica 0472003
12/01/85 Jl. Sapi 3
Riny 0472002
11/09/85 Jl. Badak 2
Ria 0472001
Tgl_Lahir Alamat
Nama NRP
03/03/83 Jl. Riau 3
Mary 0472008
01/03/85 Jl. Riau 30
Philip 0472007
01/03/85 Jl. Badak 5
Paul 0472006
04/03/85 Jl. Duku 4
Lucas 0472005
01/03/85 Jl. Riau 3
John 0472004
09/09/84 Jl. Macan 1
Erica
0472003
SUPERKEY
•
Contoh Superkey pada tabel Mahasiswa dengan atribut NRP, nama, alamat, tgl_lahir:
–
(NRP, nama, alamat, tgl_lahir)
–
(NRP, nama, alamat)
–
(NRP, nama)
–
(nama), jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini
–
(NRP)
CANDIDATE KEY
•
Candidate-Key merupakan kumpulan atribut
minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
•
Sebuah Candidate-Key pastilah Superkey, tapi belum tentu sebaliknya.
•
Pada sebuah tabel dimungkinkan adanya lebih dari
•
Pada sebuah tabel dimungkinkan adanya lebih dari satu Candidate-Key.
•
Contoh Candidate-Key pada tabel Mahasiswa:
– (nama), jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini
– (NRP)
KUNCI PRIMER
•
Key Primer adalah kunci kandidat yang dipilih sebagai kunci utama untuk mendefinisikan baris pada tabel.
•
Pemilihan Key Primer didasari oleh:
–
Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan.
Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan.
–
Key tersebut lebih ringkas.
–
Jaminan keunikan Key tersebut lebih baik.
•
Dati tabel Mahasiswa, yang lebih cocok untuk
dijadikan Key Primer adalah (NRP).
Kunci Pada Himpunan Relasi
•
Setiap relasi individual harus dapat diidentifikasi dan dibedakan dengan relasi individual yang lain dalam sebuah himpunan relasi. Karena itulah, himpunan relasi juga harus memiliki key.
•
Pada umumnya, key pada himpunan relasi dibentuk dari key dari masing-masing himpunan entitas yang dari key dari masing-masing himpunan entitas yang dihubungkannya. Jadi jika key pada himpunan
entitas pertama adalah {x} dan key pada himpunan
entitas kedua adalah {y}, maka key pada himpunan
relasi dari keduanya adalah {xy}.
Partisipasi Entitas Dalam Himpunan Relasi
Partisipasi Total(Total Participation) (dilambangkan dengan garis ganda): setiap aggota dari himpunan entitas berpartisipasi dalam paling sedikit satu relasi dalam himpunan relasi.
dalam himpunan relasi.
Partisipasi Sebagian (Partial Participation):
beberapa aggota dari himpunan entitas mungkin
tidak berpartisipasi di relasi manapun juga dalam
himpunan relasi
PARTISIPASI TOTAL/SEBAGIAN
Contoh:
Mahasiswa – orang tua
Buku perpustakaan – mahasiswa
Mahasiswa – mata kuliah
Mahasiswa – mata kuliah
Ibu – anak
Suami – istri
Laki-laki – perempuan (menikahi)
Mata kuliah – ruang kelas
Varian Relasi
•
Menunjukkan banyaknya himpunan entitas yang berpartisipasi di himpunan relasi.
–
Relasi Tunggal (Unary Relation): relasi yang terjadi dari sebuah himpunan entitas ke himpunan entitas yang sama.
–
Relasi Biner (Binary Relation): relasi yang terjadi di antara dua himpunan entitas yang berbeda.
–
Relasi Mutli Entitas (N-ary Relation): relasi dari 3 himpunan entitas atau lebih.
•
Bentuk relasi multi entitas sedapat mungkin dihindari karena akan mengaburkan derajat relasi yang ada dalam relasi
tersebut.
Derajat Himpunan Relasi
Relasi adalah dari satu entitas ke entias yang sama.
Relasi antara dua entitas berbeda.
Relasi antara tiga atau lebih entitas.
E-R Diagram Dengan Relasi Mutli Entitas
1. Pegawai bank dapat bekerja di beberapa cabang dengan jabatan yang berbeda di setiap cabangnya. Entitas: Pegawai,
Jabatan, dan Cabang dengan relasi Jabatan, dan Cabang dengan relasi Bekerja.
2. Dosen mengajar kuliah di ruangan.
Entitas: Kuliah, Dosen, dan Ruang dengan
relasi Pengajaran.
Pertanyaan…
Bagaimana kalau kita mengubah relasi multi entitas ke
relasi biner? Apa yang akan berubah?
Relasi Biner Vs. Non-Biner
•
Beberapa relasi non-biner kadang lebih baik direpresentasikan dengan relasi biner.
–
Contoh: Anak-Ibu-Ayah dalam relasi OrangTua
•
Tetapi ada juga beberapa relasi yang secara natural non-biner dan tidak dapat dijadikan relasi biner.
non-biner dan tidak dapat dijadikan relasi biner.
–
Contoh: Pegawai-Cabang-Pekerjaan dalam
relasi Bekerja, Supplier-Department-Parts dalam
relasi Contracts.
• Pada umumnya, semua relasi non-biner dapat direpresentasikan dengan relasi biner dengan membuat ‘artificial’ entitas.
– Ganti R antara himpunan entitas A, B dan C dengan himpunan entitas E, dan tiga himpunan relasi:
1. RA, menghubungkan E dan A 2. RB, menghubungkan E dan B 3. RC, menghubungkan E dan C – Tambahkan spesial atribut ke E
Mengubah Relasi Non-Biner ke Relasi Biner
– Tambahkan spesial atribut ke E – Tambahkan semua atribut R ke E
– Untuk setiap relasi (ai , bi , ci) di R, buat
1. Entitas baru ei di himpunan entitas E 2. Tambah (ei , ai) ke RA
3. Tambah (ei , bi ) ke RB 4. Tambah (ei , ci) ke RC
Mengubah Relasi Non-Biner ke Relasi Biner
Himpunan Entitas Lemah (Weak Entity Sets)
•
Himpunan Entitas Lemah berisi entitas-entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain (Strong Entity).
•
Himpunan Entitas Lemah tidak memiliki atribut yang
•
Himpunan Entitas Lemah tidak memiliki atribut yang dapat berfungsi sebagai key, yang benar-benar dapat menjamin keunikan entitas di dalamnya.
•
Himpunan Entitas Lemah harus berelasi dengan
Himpunan Entitas Kuat melalui partisipasi total, Satu ke
Banyak dari Himpunan Entitas Kuat ke Lemah.
Himpunan Entitas Lemah (Weak Entity Sets)
• Himpunan Relasi yang menghubungkan himpuanan entitas Lemah dan kuat dilambangkan dengan belah ketupat ganda.
• Diskriminator (partial key) dari himpunan entitas lemah ialah atribut yang membedakan entitas satu dari entias lainnya
dalam himpunan entitas lemah tersebut.
dalam himpunan entitas lemah tersebut.
• Kunci primer dari himpunan entitas lemah dibentuk dari kunci primer dari himpunan entitas kuat + diskriminator dari
himpunan entitas lemah.
• Contoh: Mahasiswa ‘memiliki’ Orang-Tua, Mahasiswa
‘menyenangi’ Hobbi.
Himpunan Entitas Lemah
• Kita melambangkan himpunan entitas lemah dengan persegi panjang ganda.
• Kita menggarisbawahin diskriminator dari himpunan entitas lemah denga garis putus-putus.
• Kunci primer dari payment : (loan-number, payment-number)
Contoh Lain dari
Himpunan Entitas Lemah
•
Penawaran mata kuliah di universitas. Mata kuliah yang sama mungkin ditawarkan di semester yang berbeda dan dalam satu semester, mungin ada
beberapa kelas (kelas A, B, atau C).
Untuk ini, kita dapat membuat himpunan entitas
•
Untuk ini, kita dapat membuat himpunan entitas lemah mata_kuliah_tawaran, keberadaannya
tergantung pada himpunan entitas mata_kuliah.
•
Diskriminator dari mata_kuliah_tawaran adalah
semester (termasuk year) dan kelas.
Spesialisasi
• Spesialisasi adalah proses mendekomposisikan himpunan entitas berdasarkan pengelompokkan tertentu (proses top-down).
• Hasil dari dekomposisi tersebut adalah Sub Entitas yang merupakan himpunan entitas yang beranggotakan entitas-entitas yang merupakan bagian dari himpunan entitas yang lebih superior/utama.
• Spesialisasi ini dilakukan bila ada perbedaan atribut yang menyebabkan sub entitas tidak dapat disatukan dalam sebuah himpunan entitas saja.
Atribut pada sub entitas tidak berlaku pada himpunan entitas yang lebih
• Atribut pada sub entitas tidak berlaku pada himpunan entitas yang lebih superior, tetapi atribut dan relasi pada superior entitas berlaku pada
sub entitas.
• Contoh: Dosen Dosen Tetap (nik, pangkat, tgl_masuk) vs. Dosen Tidak Tetap(nama_kantor, alamat_kantor)
Contoh Spesialisasi
Kapan Menggunakan Spesialisasi?
1. Jika kita ingin mendefinisikan sekumpulan sub entitas dari suatu himpunan entitas.
2. Jika sub entitas memiliki spesifik atribut.
2. Jika sub entitas memiliki spesifik atribut.
3. Jika sub entitas memiliki suatu himpunan
relasi spesifik dengan himpunan entitas
lainnya.
Generalisasi
• Generalisasi adalah proses penyatuan
kelompok-kelompok entitas dalam sebuah
himpunan entitas dengan atribut-atribut yang sama (proses bottom-up).
• Contoh: mahasiswa D3 dan mahasiswa S1 -
• Contoh: mahasiswa D3 dan mahasiswa S1 -
> mahasiswa karena tidak tegasnya
perbedaan atribut dari kedua kelompok
tersebut maka disatukan dalam sebuah
himpunan entitas.
Contoh Generalisasi
Specialisasi dan Generalisasi
• Dapat mempunyai beberapa spesialisasi dalam sebuah himpunan entitas yang didasarkan pada jenis pengelompokan yang berbeda.
• Contoh: pegawai-tetap vs. calon-pegawai dan staff vs. teler vs.
sekretaris.
• Setiap pegawai akan menjadi
– Aggota dari pegawai-tetap atau calon-pegawai,
– Dan juga aggota staff atau teler atau sekretaris
– Dan juga aggota staff atau teler atau sekretaris
• Relasi ‘ISA’ adalah relasi superclass - subclass.
• Catatan: entitas tidak dapat menjadi anggota dari sub entitas tanpa menjadi anggota dari entitas superior. Tetapi, anggota dari entitas superior tidak selalu harus menjadi anggota dari sub
entitas.
Pewarisan Atribut
•
Atribut dan relasi dari himpunan entitas superior diturunkan ke semua sub-entitasnya.
Contoh: kalau Dosen berpartisipasi dalam relasi
Mengajar, Dosen Tetap dan Dosen Tidak Tetap juga turut berpartisipasi dalam relasi Menagjar.
turut berpartisipasi dalam relasi Menagjar.
•
Sub Entitas dengan spesifik atribut berlaku hanya
pada sub entitas tersebut (tidak pada sub entitas lain
atau entitas superior).
Multiple Inheritance
(Pewarisan Lebih Dari Satu)
Batasan Desain Dalam Spesialisasi/Generalisasi
•
Salah satu batasan adalah menentukan entitas mana yang dapat menjadi anggota dari sub entitas.
–
Predicate-defined (or condition-defined):
menentukan keanggotaan dengan meneliti nilai dari spesifik atribut (disebut, defining attribute).
spesifik atribut (disebut, defining attribute).
• Langganan berumur 65 ke atas adalah anggota dari
himpunan entitas senior-citizen; senior-citizen ISA person.
Disini keanggotaan dievaluasi berdasarkan atribut umur dari himpunan entitas person.
–
User-defined: pengguna menentukan keanggotaan
untuk setiap sub entitas.
Batasan Desain Dalam Spesialisasi/Generalisasi
• Batasan yang menentukan apakah entitas dapat menjadi anggota dari lebih dari satu sub entitas dalam suatu generalisasi.
– Disjoint (terpisah)
• Entitas hanya dapat menjadi anggota dari satu sub entitas.
Dilambangkan dengan ‘d’ di segitiga ‘ISA.’
Dilambangkan dengan ‘d’ di segitiga ‘ISA.’
• Contoh: person hanya dapat menjadi anggota dari senior- citizen atau junior-citizen, tetapi tidak keduanya.
– Overlapping (tumpang tindih)
• Entitas dapat menjadi anggota dari lebih dari satu sub entitas. Dilambangkan dengan ‘o’ di segitiga ‘ISA.’
• Contoh: pegawai dapat juga menjadi pelanggan/pembeli.
Batasan Desain Dalam Spesialisasi/Generalisasi
•
Completeness constraint – menentukan apakah setiap entitas di himpunan entitas superior harus menjadi
anggota dari paling sedikit satu sub entitas.
–
total : setiap entitas harus menjadi anggota dari
–
total : setiap entitas harus menjadi anggota dari salah satu sub entitas. Dilambangkan dengan garis ganda.
–
partial: sebuah entitas tidak harus menjadi
anggota dari salah satu sub entitas (default).
Completeness Vs. Disjointness
• Batasan ‘completeness’ dan ‘disjointness’
tidak bergantung satu sama lain.
• Jenis:
– Total, disjoint
– Total, disjoint
– Partial, disjoint
– Total, overlapping
– Partial, overlapping
Spesialisasi Total + Overlap
• Contoh 1: Orang (nama, nomor_ktp, alamat)
pegawai (nik), alumni, dan mahasiswa (nrp)
• Contoh 2: Dosen (nama_dos, alamat_dos) TET (nik, pangkat, tgl_masuk) dan LB
(nama_kantor, alamat_kantor) (nama_kantor, alamat_kantor)
• Memasukkan data ke super-class berarti
memasukkan data ke paling sedikit satu sub
entitas karena spesialisasinya total.
Spesialisasi Partial + Overlap
•
Contoh: Graduate Student Research Assitant atau Teaching Assitant
•
Memasukkan data ke super-class tidak berarti memasukkan data ke sub entitas karena
spesialisasinya partial.
spesialisasinya partial.
Spesialisasi Partial + Disjoint
•
Contoh: Kendaraan mobil, truk, motor.
•
Memasukkan data ke super-class tidak berarti memasukkan data ke sub entitas karena
spesialisasinya partial.
•
Sub entitas mewariskan kunci primer dari super-
class.
Spesialisasi Total + Disjoint
• Contoh 1: Pasien inap dan jalan
• Contoh 2: Mahasiswa IT D3 dan S1
• Memasukkan data ke super-class berarti
memasukkan data ke salah satu sub entitas karena spesialisasinya total.
karena spesialisasinya total.
• Sub entitas mewariskan kunci primer dari
super-class.
Contoh
Agregasi
• Agregasi mengakomodasikan fenomena dimana relasi yang secara kronologis
mensyaratkan telah adanya relasi lain.
Dengan kata lain, sebuah relasi
terbentuk tidak hanya dari entitas tapi Dengan kata lain, sebuah relasi
terbentuk tidak hanya dari entitas tapi
juga mengandung unsur dari relasi lain.
Contoh Agregasi
m e m p e la ja r i
M a h a s is w a K u lia h
N N
m e n g ik u ti
k o d e _ k u l n im
N
P r a k tik u m
k o d e _ p r a N n ila i
k o d e _ p r a n a m a _ p r a ju m la h _ ja m
Contoh Agregasi
• Himpunan relasi ‘Mengikuti’ dalam Diagram E-R menunjukkan entitas mahasiswa yang mengikuti kegiatan praktikum tertentu karena telah mempelajari suatu mata kuliah (yang memang membutuhkan
kegiatan praktikum).
• Perlu ditegaskan, nim dan kode_kul di relasi ‘Mengikuti’ tidak berasal dari himpunan entitas Mahasiswa dan Kuliah, tetapi dari relasi
‘Mempelajari’ yang secara implisit mempunyai nim+kode_kul. Karena dari himpunan entitas Mahasiswa dan Kuliah, tetapi dari relasi
‘Mempelajari’ yang secara implisit mempunyai nim+kode_kul. Karena itulah, ada faktor kronologis yang ingin ditunjukkan dengan adanya Agregasi tersebut, di mana sebuah relasi (Mengikuti Praktikum) hanya akan ada jika telah ada relasi lainnya (Mempelajari Kuliah).
Alternatif Diagram E-R
m e m p e la ja r i
M a h a s is w a K u lia h
N N
m e n g ik u ti
P r a k tik u m