data design

70
Pertemuan6 Data Design

Upload: jeson-orlando-isakh

Post on 18-Feb-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Rekayasa Perangkat Lunaktentang Data Design Maranatha

TRANSCRIPT

Pertemuan 6Data Design

Model Basis Data• Model Data: kumpulan perangkat konseptual untukmenggambarkan data, hubungan data, semantik (makna) data, dan batasan data. Contoh: Model Keterhubungan Entitas (Entity-Relationship Data Model)

2

• Pada Model Entity-Relationship, semesta data yang ada di‘Dunia Nyata’ ditransformasikan dengan memanfaatkansejumlah 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 mobilyang melintas di depan kita, dll.

• Himpunan Entitas (Entity Set) ialah sekelompok entitasyang sejenis dan berada dalam lingkup yang sama. Seringdisebut sebagai Entitas saja.

3

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 darientitas MAHASISWA. Jumlah SKS, Kode mata kuliahadalah atribut dari entitas MATAKULIAH.

•Domain adalah himpunan nilai yang berlaku bagisuatu atribut.

4

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 AtributKomposit demi kesederhanaan struktur tabel.

• Contoh:

5

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

•Atribut Bernilai Banyak (Multivalued Attribute)ditujukan pada atribut-atribut yang dapat kita isi

6

Atribut Bernilai Banyak (Multivalued Attribute)ditujukan pada atribut-atribut yang dapat kita isidengan lebih dari 1 nilai, tetapi jenisnya sama. Contoh: nomor-telepon, gelar, hobbi, dll.

• Atribut Bernilai Banyak dilambangkan sebagai elipsganda:

Tipe Atribut: Turunan vs. Simpanan•Atribut Turunan adalah atribut yang nilai-nilainyadiperoleh dari pengolahan atau dapat diturunkan dariatribut atau tabel lain yang berhubungan.

• Atribut Turunan sebenarnya dapat ditiadakan darisebuah tabel karena nilai-nilainya bergantung padanilai yang ada di atribut lainnya.

7

• Contoh: atribut umur yang dapat dikalkulasi dariatribut 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) adalahatribut yang harus berisi nilai. Contoh: pada tabelMAHASISWA, NRP dan NamaMahasiswa harus diketahui.

• Atribut Tidak Harus Bernilai (Non Mandatory Attribute)adalah atribut yang nilainya boleh dikosongkan.

• Nilai NULL dapat berarti:

8

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

9

E-R Diagram Dengan Atribut Bernilai Banyakdan Atribut Turunan

10

Turunan dari Date_Employeddan tanggal hari ini

Atribut Bernilai Banyak: pegawai dapat mempunyaibeberapaan keahlian

E-R Diagram Dengan Atribut BernilaiBanyak dan Atribut Komposit

11

Relasi dan Himpunan Relasi

•Relasi (relationship) menunjukkan adanyahubungan di antara sejumlah entitas yang berasaldari himpunan entitas yang berbeda.

•Himpunan Relasi (relationship set) dibentuk darikumpulan semua relasi di antara entitas-entitasyang terdapat pada himpunan entitas-himpunanentitas tersebut. Sering disebut sebagai Relasi saja.

12

• Contoh: antara Dosen_Wali dan Mahasiswaterdapat hubungan “membimbing”, antaraMahasiswa dan Mata Kuliah terdapat hubungan“mengambil.”

• Himpunan relasi dilambangkan sebagai belahketupat:

Relasi Rekursif

•Entitas yang dihubungkan oleh suaturelasi (relationship) tidak harus berbeda. Entitas yang sama dapat ikut serta lebihdari satu kali di dalam relasi dengan

13

dari satu kali di dalam relasi denganperan (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 menjelaskansebagai apa entitas ‘Employee’ berinteraksi lewat relasi ‘works-for.’

� Label peran adalah pilihan (optional) dan digunakan untuk menunjukkan artidari relasi. Biasanya implisit.

14

Kardinalitas/Derajat Relasi

•Kardinalitas Relasi menunjukkan jumlahmaksimum entitas yang dapat berelasi denganentitas pada himpunan entitas yang lain.

•Kardinalitas Relasi yang terjadi di antara duahimpunan entitas dapat berupa:

15

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 himpunanentitas A berhubungan paling banyakdengan satu entitas pada himpunanentitas B, dan begitu juga sebaliknya.

16

entitas B, dan begitu juga sebaliknya.

•Contoh: Pria menikahi Wanita (asumsitidak ada poligami!), Dosen mengepalaiJurusan.

Satu ke Banyak(One to Many) • Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas padahimpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B

17

mana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satuentitas pada himpunan entitas A.

•Contoh: Ibu mempunyai Anak, Dosen mengajarKuliah.

Banyak ke Satu(Many to One) • Berarti setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitaspada himpunan entitas B, tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas A

18

di mana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitaspada himpunan entitas B.

•Contoh: Anak mempunyai Ibu, Kuliah diajarDosen

Banyak ke Banyak(Many to Many) • Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas padahimpunan entitas B, dan demikian jugasebaliknya, di mana setiap entitas pada

19

sebaliknya, di mana setiap entitas padahimpunan entitas B dapat berhubungan denganbanyak entitas pada himpunan entitas A.

•Contoh: Mahasiswa mengambil mata kuliah

Kardinalitas

20

One to One One to Many

Catatan: Beberapa elemen di A dan B mungkin tidakdipetakan ke elemen apapun di set yang lain.

Kardinalitas

21

Many to One Many to Many

Catatan: Beberapa elemen di A dan B mungkin tidakdipetakan 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 dapatmempunyai atribut access-date

22

Kardinalitas dan Desain ER

� Kardinalitas mempengaruhi desain ER. Jika setiapnasabah hanya mempunyai satu rekening, access-date dapat dijadikan atribut dari rekening.

23

Atribut Deskriptif

•Atribut dari himpunan relasi dapatdipindahkan ke entitas yang berpartisipasiuntuk relasi Satu ke Satu, Satu keBanyak, dan Banyak ke Satu. Ke entitasyang mana? Banyak atau Satu?

24

yang mana? Banyak atau Satu?

•Tetapi tidak untuk relasi Banyak keBanyak.

KUNCI

•Kunci (key) adalah satu atau gabungan daribeberapa atribut yang dapat membedakansemua baris data (row) dalam tabel secaraunik.

•Ada 3 macam key yang dapat diterapkan

25

•Ada 3 macam key yang dapat diterapkanpada suatu tabel, yaitu:

–Superkey

–Kunci Kandidat (Candidate-Key)

–Kunci Primer (Primary-Key)

SUPERKEY•Superkey merupakan satu atau lebih atribut(kumpulan atribut) yang dapat membedakan setiapbaris data dalam sebuah tabel secara unik.

•Mungkin ada lebih dari 1 Superkey pada sebuah tabel.

26

TABEL MAHASISWA

09/09/84Jl. Macan 1Erica047200312/01/85Jl. Sapi 3Riny047200211/09/85Jl. Badak 2Ria0472001Tgl_LahirAlamatNamaNRP

27

03/03/83Jl. Riau 3Mary047200801/03/85Jl. Riau 30Philip047200701/03/85Jl. Badak 5Paul047200604/03/85Jl. Duku 4Lucas047200501/03/85Jl. Riau 3John047200409/09/84Jl. Macan 1Erica0472003

SUPERKEY•Contoh Superkey pada tabel Mahasiswa dengan atributNRP, nama, alamat, tgl_lahir:

–(NRP, nama, alamat, tgl_lahir)

–(NRP, nama, alamat)

–(NRP, nama)

28

–(nama), jika kita bisa menjamin tidak ada nilaiyang sama untuk atribut ini

–(NRP)

CANDIDATE KEY

• Candidate-Key merupakan kumpulan atributminimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.

• Sebuah Candidate-Key pastilah Superkey, tapibelum tentu sebaliknya.

• Pada sebuah tabel dimungkinkan adanya lebih dari

29

• Pada sebuah tabel dimungkinkan adanya lebih darisatu Candidate-Key.

• Contoh Candidate-Key pada tabel Mahasiswa:– (nama), jika kita bisa menjamin tidak ada nilai yang samauntuk atribut ini

– (NRP)

KUNCI PRIMER•Key Primer adalah kunci kandidat yang dipilihsebagai kunci utama untuk mendefinisikan barispada tabel.

• Pemilihan Key Primer didasari oleh:

–Key tersebut lebih sering (lebih natural) untukdijadikan sebagai acuan.

30

Key tersebut lebih sering (lebih natural) untukdijadikan sebagai acuan.

–Key tersebut lebih ringkas.

–Jaminan keunikan Key tersebut lebih baik.

•Dati tabel Mahasiswa, yang lebih cocok untukdijadikan Key Primer adalah (NRP).

Kunci Pada Himpunan Relasi• Setiap relasi individual harus dapat diidentifikasi dandibedakan dengan relasi individual yang lain dalamsebuah himpunan relasi. Karena itulah, himpunanrelasi juga harus memiliki key.

• Pada umumnya, key pada himpunan relasi dibentukdari key dari masing-masing himpunan entitas yang

31

dari key dari masing-masing himpunan entitas yang dihubungkannya. Jadi jika key pada himpunanentitas pertama adalah {x} dan key pada himpunanentitas kedua adalah {y}, maka key pada himpunanrelasi dari keduanya adalah {xy}.

Partisipasi Entitas Dalam HimpunanRelasi

� Partisipasi Total(Total Participation) (dilambangkandengan garis ganda): setiap aggota dari himpunanentitas berpartisipasi dalam paling sedikit satu relasidalam himpunan relasi.

32

dalam himpunan relasi.

� Partisipasi Sebagian (Partial Participation): beberapa aggota dari himpunan entitas mungkintidak berpartisipasi di relasi manapun juga dalamhimpunan relasi

PARTISIPASI TOTAL/SEBAGIAN

� Contoh:

�Mahasiswa – orang tua

�Buku perpustakaan – mahasiswa

�Mahasiswa – mata kuliah

33

�Mahasiswa – mata kuliah

�Ibu – anak

�Suami – istri

�Laki-laki – perempuan (menikahi)

�Mata kuliah – ruang kelas

Varian Relasi• Menunjukkan banyaknya himpunan entitas yang berpartisipasidi himpunan relasi.

– Relasi Tunggal (Unary Relation): relasi yang terjadi darisebuah himpunan entitas ke himpunan entitas yang sama.

– Relasi Biner (Binary Relation): relasi yang terjadi diantara dua himpunan entitas yang berbeda.

34

– Relasi Mutli Entitas (N-ary Relation): relasi dari 3 himpunan entitas atau lebih.

• Bentuk relasi multi entitas sedapat mungkin dihindari karenaakan mengaburkan derajat relasi yang ada dalam relasitersebut.

Derajat Himpunan Relasi

35

Relasi adalah darisatu entitas ke entiasyang sama.

Relasi antara dua

entitas berbeda.

Relasi antara tigaatau lebih entitas.

E-R Diagram Dengan Relasi MutliEntitas

1. Pegawai bank dapat bekerja di beberapacabang dengan jabatan yang berbeda disetiap cabangnya. Entitas: Pegawai, Jabatan, dan Cabang dengan relasi

36

Jabatan, dan Cabang dengan relasiBekerja.

2. Dosen mengajar kuliah di ruangan. Entitas: Kuliah, Dosen, dan Ruang denganrelasi Pengajaran.

Pertanyaan…Bagaimana kalau kita mengubah relasi multi entitas kerelasi biner? Apa yang akan berubah?

37

Relasi Biner Vs. Non-Biner• Beberapa relasi non-biner kadang lebih baikdirepresentasikan 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.

38

non-biner dan tidak dapat dijadikan relasi biner.

–Contoh: Pegawai-Cabang-Pekerjaan dalamrelasi Bekerja, Supplier-Department-Parts dalamrelasi Contracts.

• Pada umumnya, semua relasi non-biner dapat direpresentasikan denganrelasi biner dengan membuat ‘artificial’ entitas.

– Ganti R antara himpunan entitas A, B dan C dengan himpunan entitasE, 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

39

– 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 RB4. Tambah (ei , ci ) ke RC

Mengubah Relasi Non-Biner ke Relasi Biner

40

Himpunan Entitas Lemah(Weak Entity Sets)

• Himpunan Entitas Lemah berisi entitas-entitas yang kemunculannya tergantung pada eksistensinya dalamsebuah relasi terhadap entitas lain (Strong Entity).

• Himpunan Entitas Lemah tidak memiliki atribut yang

41

• Himpunan Entitas Lemah tidak memiliki atribut yang dapat berfungsi sebagai key, yang benar-benar dapatmenjamin keunikan entitas di dalamnya.

• Himpunan Entitas Lemah harus berelasi denganHimpunan Entitas Kuat melalui partisipasi total, Satu keBanyak dari Himpunan Entitas Kuat ke Lemah.

Himpunan Entitas Lemah(Weak Entity Sets)

• Himpunan Relasi yang menghubungkan himpuanan entitasLemah dan kuat dilambangkan dengan belah ketupat ganda.

• Diskriminator (partial key) dari himpunan entitas lemah ialahatribut yang membedakan entitas satu dari entias lainnyadalam himpunan entitas lemah tersebut.

42

dalam himpunan entitas lemah tersebut.

• Kunci primer dari himpunan entitas lemah dibentuk dari kunciprimer dari himpunan entitas kuat + diskriminator darihimpunan entitas lemah.

• Contoh: Mahasiswa ‘memiliki’ Orang-Tua, Mahasiswa‘menyenangi’ Hobbi.

Himpunan Entitas Lemah• Kita melambangkan himpunan entitas lemah dengan persegipanjang ganda.

• Kita menggarisbawahin diskriminator dari himpunan entitas lemahdenga garis putus-putus.

• Kunci primer dari payment : (loan-number, payment-number)

43

Contoh Lain dariHimpunan Entitas Lemah

• Penawaran mata kuliah di universitas. Mata kuliahyang sama mungkin ditawarkan di semester yang berbeda dan dalam satu semester, mungin adabeberapa kelas (kelas A, B, atau C).

Untuk ini, kita dapat membuat himpunan entitas

44

• Untuk ini, kita dapat membuat himpunan entitaslemah mata_kuliah_tawaran, keberadaannyatergantung pada himpunan entitas mata_kuliah.

•Diskriminator dari mata_kuliah_tawaran adalahsemester (termasuk year) dan kelas.

Spesialisasi• Spesialisasi adalah proses mendekomposisikan himpunan entitasberdasarkan pengelompokkan tertentu (proses top-down).

• Hasil dari dekomposisi tersebut adalah Sub Entitas yang merupakanhimpunan entitas yang beranggotakan entitas-entitas yang merupakanbagian dari himpunan entitas yang lebih superior/utama.

• Spesialisasi ini dilakukan bila ada perbedaan atribut yang menyebabkansub entitas tidak dapat disatukan dalam sebuah himpunan entitas saja.

Atribut pada sub entitas tidak berlaku pada himpunan entitas yang lebih

45

• Atribut pada sub entitas tidak berlaku pada himpunan entitas yang lebihsuperior, tetapi atribut dan relasi pada superior entitas berlaku padasub entitas.

• Contoh: Dosen � Dosen Tetap (nik, pangkat, tgl_masuk) vs. DosenTidak Tetap(nama_kantor, alamat_kantor)

Contoh Spesialisasi

46

Kapan Menggunakan Spesialisasi?

1. Jika kita ingin mendefinisikan sekumpulansub entitas dari suatu himpunan entitas.

2. Jika sub entitas memiliki spesifik atribut.

47

2. Jika sub entitas memiliki spesifik atribut.

3. Jika sub entitas memiliki suatu himpunanrelasi spesifik dengan himpunan entitaslainnya.

Generalisasi

•Generalisasi adalah proses penyatuankelompok-kelompok entitas dalam sebuahhimpunan entitas dengan atribut-atribut yang sama (proses bottom-up).

•Contoh: mahasiswa D3 dan mahasiswa S1 -

48

•Contoh: mahasiswa D3 dan mahasiswa S1 -> mahasiswa karena tidak tegasnyaperbedaan atribut dari kedua kelompoktersebut maka disatukan dalam sebuahhimpunan entitas.

Contoh Generalisasi

49

Specialisasi dan Generalisasi

• Dapat mempunyai beberapa spesialisasi dalam sebuah himpunanentitas 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

50

– Dan juga aggota staff atau teler atau sekretaris

• Relasi ‘ISA’ adalah relasi superclass - subclass.

• Catatan: entitas tidak dapat menjadi anggota dari sub entitastanpa menjadi anggota dari entitas superior. Tetapi, anggota darientitas 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 relasiMengajar, Dosen Tetap dan Dosen Tidak Tetap jugaturut berpartisipasi dalam relasi Menagjar.

51

turut berpartisipasi dalam relasi Menagjar.

• Sub Entitas dengan spesifik atribut berlaku hanyapada sub entitas tersebut (tidak pada sub entitas lain atau entitas superior).

Multiple Inheritance(Pewarisan Lebih Dari Satu)

52

Batasan Desain DalamSpesialisasi/Generalisasi• Salah satu batasan adalah menentukan entitas manayang dapat menjadi anggota dari sub entitas.

–Predicate-defined (or condition-defined): menentukan keanggotaan dengan meneliti nilai darispesifik atribut (disebut, defining attribute).

53

spesifik atribut (disebut, defining attribute).• Langganan berumur 65 ke atas adalah anggota darihimpunan entitas senior-citizen; senior-citizen ISA person. Disini keanggotaan dievaluasi berdasarkan atribut umur darihimpunan entitas person.

–User-defined: pengguna menentukan keanggotaanuntuk setiap sub entitas.

Batasan Desain DalamSpesialisasi/Generalisasi

• Batasan yang menentukan apakah entitas dapat menjadi anggotadari 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.’

54

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 DalamSpesialisasi/Generalisasi

• Completeness constraint – menentukan apakah setiapentitas di himpunan entitas superior harus menjadianggota dari paling sedikit satu sub entitas.

– total : setiap entitas harus menjadi anggota dari

55

– total : setiap entitas harus menjadi anggota darisalah satu sub entitas. Dilambangkan dengan garisganda.

–partial: sebuah entitas tidak harus menjadianggota dari salah satu sub entitas (default).

Completeness Vs. Disjointness•Batasan ‘completeness’ dan ‘disjointness’ tidak bergantung satu sama lain.

•Jenis:

–Total, disjoint

56

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

57

(nama_kantor, alamat_kantor)

•Memasukkan data ke super-class berartimemasukkan data ke paling sedikit satu sub entitas karena spesialisasinya total.

Spesialisasi Partial + Overlap•Contoh: Graduate Student � Research Assitantatau Teaching Assitant

•Memasukkan data ke super-class tidak berartimemasukkan data ke sub entitas karenaspesialisasinya partial.

58

spesialisasinya partial.

Spesialisasi Partial + Disjoint•Contoh: Kendaraan � mobil, truk, motor.

•Memasukkan data ke super-class tidak berartimemasukkan data ke sub entitas karenaspesialisasinya partial.

59

• 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 berartimemasukkan data ke salah satu sub entitaskarena spesialisasinya total.

60

karena spesialisasinya total.

•Sub entitas mewariskan kunci primer darisuper-class.

Contoh

61

Agregasi

•Agregasi mengakomodasikan fenomenadimana relasi yang secara kronologismensyaratkan telah adanya relasi lain. Dengan kata lain, sebuah relasiterbentuk tidak hanya dari entitas tapi

62

Dengan kata lain, sebuah relasiterbentuk tidak hanya dari entitas tapijuga mengandung unsur dari relasi lain.

Contoh Agregasi

m em p e la ja r iM ah as is w a K u liahN N

m en g ik u ti

k od e_ k u ln imN

63

P rak tik u m

Nk od e_ p ra n ila i

k od e_ p ra n am a_ p ra ju m lah _ jam

Contoh Agregasi

• Himpunan relasi ‘Mengikuti’ dalam Diagram E-R menunjukkan entitasmahasiswa yang mengikuti kegiatan praktikum tertentu karena telahmempelajari suatu mata kuliah (yang memang membutuhkankegiatan praktikum).

• Perlu ditegaskan, nim dan kode_kul di relasi ‘Mengikuti’ tidak berasaldari himpunan entitas Mahasiswa dan Kuliah, tetapi dari relasi‘Mempelajari’ yang secara implisit mempunyai nim+kode_kul. Karena

64

dari himpunan entitas Mahasiswa dan Kuliah, tetapi dari relasi‘Mempelajari’ yang secara implisit mempunyai nim+kode_kul. Karenaitulah, ada faktor kronologis yang ingin ditunjukkan dengan adanyaAgregasi tersebut, di mana sebuah relasi (Mengikuti Praktikum) hanya akan ada jika telah ada relasi lainnya (Mempelajari Kuliah).

Alternatif Diagram E-R

m em p e la ja r iM ah as is w a K u liahN N

65

m en g ik u ti

P rak tik u m

Alternatif Diagram E-R

Diagram alternatif tersebut mengaburkanfaktor kronologis sebagaimana yang diungkapkan sebelumnya. Pada diagram tersebut, kedua himpunan relasi

66

tersebut, kedua himpunan relasimerupakan himpunan relasi yang salingbebas, tidak memiliki ketergantungan satusama lain, yang sebenarnya tidak demikian.

E-R Diagram Untuk Bank

67

Rangkuman Simbol Yang DigunakanDalam E-R Notation

68

Rangkuman Simbol Yang DigunakanDalam E-R Notation

69