(Pert. 3)
Oleh :
Rahimi Fitri, S.Kom., M.Kom
1
Tujuan Perkuliahan
Mengetahui bentuk dan model data
Memahami model data relasional
Memahami parameter kualitas data
Memahami langkah-langkah perancangan basis data
2
Agenda
Model data
Konsep Model Relasional
Pemodelan Data : Conceptual Data Model(CDM)
dan Physical Data Model (PDM)
Mengukur Kualitas Model Data
Langkah-langkah dalam perancangan Basis Data
Tool pemodelan data
3
Model data
rencana, representasi, atau deskripsi
yang menjelaskan suatu objek, sistem,
atau konsep.
Tabel Pegawai
NIP Nama_pegawai Kode_UK
144300400 Damar wulan 1
144500200 Anton Purnawan 2
144255455 Erinawati 1
144409800 Michael Tomo 2
Nama_Perusahaan
Nama
JenisKel bekerja
untuk
Pegawai Departemen
NoKTP
mengepalai
(0,N)
JmlPegawai
TglMulai
(1,1)
mengatur
bekerja
memimpin
pada
(1,1)
menanggung
LamaJam Proyek
(1,1)
Nama Hubungan
JenisKel TglLahir
Derajat kardinalitas relasi (Cardinality
Ratio)
Kardinalitas relasi menunjukkan jumlah maksimum data
entitas yang dapat berelasi dengan entitas lain
Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal
satu data pada entitas B, begitu pula sebaliknya
Entitas A Entitas B
Contoh:
data 1 data 1
relasi “mengepalai” antara
entitas Pegawai dengan data 2 data 2
data 4 data 4
Satu ke Banyak (one to many)
Setiap data pada entitas A bisa berhubungan dengan banyak
data pada entitas B, tetapi data pada entitas B berhubungan
maksimal hanya dengan sebuah data di A
Entitas Entitas
A B
Contoh:
data 1 data 1
relasi “menanggung” antara
entitas pegawai terhadap data 2 data 2
data 4
Banyak ke Satu (many to one)
Merupakan kebalikan dari relasi satu-ke-banyak
Entitas A Entitas B
Contoh:
data 1 data 1
relasi “bekerja untuk” pada
entitas pegawai terhadap entitas data 2 data 2
departemen
data 3 data 3
data 4
Banyak ke banyak
(many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak
data pada entitas B, demikian pula sebaliknya
Entitas A Entitas B
Contoh:
data 1 data 1
data 4 data 4
Batasan Partisipasi
Batasan Partisipasi (Participation
Constraint)
Menentukan apakah keberadaan sebuah entitas
tergantung pada hubungannya ke entitas lain melalui
jenis relasinya
Ada 2 jenis:
1. Partisipasi Total partisipasi pegawai dalam relasi “bekerja
untuk”, memberikan arti bahwa setiap data pada pegawai, harus
direlasikan pada sebuah departemen. Atau tidak ada data pegawai
yang tidak berelasi dengan data departemen
Notasi :
Partisipasi total:
digambarkan dengan
garis ganda pada relasi
disisi pegawai
Partisipasi total :
digambarkan dengan satu
garis pada relasi disisi
pegawai digabungkan
dengan minimum 1
(minimum bekerja pada 1
(Min,max) departemen)
PPPGT VEDC MALANG
Partisipasi Parsial
Contoh:Beberapa pegawai mengepalai sebuah departemen (setiap pegawai
tidak harus mengepalai suatu departemen)
Notasi:
Partisipasi parsial:
digambarkan dengan satu
garis pada relasi disisi
pegawai
Partisipasi parsial :
ditandai dengan satu
garis pada relasi disisi
pegawai digabungkan
dengan minimum 0 (tidak
mengepalai departemen)
Contoh:
pada relasi “bekerja untuk” pada entitas pegawai terhadap
departemen Derajat relasi minimumnya adalah satu
Notasi lain untuk relasi
Macam relasi
relasi Biner (binary relation)
relasi tunggal (unary relation)
relasi Multi entitas (n-ary relation)
relasi ganda (redundant relation)
Relasi Biner (Binary Relation)
Merupakan relasi yang terbentuk antar 2 buah entitas
Contoh:
relasi “bekerja pada” pada entitas pegawai terhadap
entitas proyek
Contoh:
Pegawai
memimpin
Relasi Multi Entitas
(N-ary Relation)
Merupakan relasi dari 3 buah entitas atau lebih. Seharusnya
dihindari, karena akan mengaburkan derajat relasi yang ada
dalam relasi.
Contoh:
Instruktur Menawarkan Semester
Nama
IDSemester
Kursus Tahun
NoKursus
Relasi Ganda
(Redundant Relation)
Relasi yang jumlahnya lebih dari satu untuk dua buah
entitas
Contoh:
bekerja
untuk
Pegawai Departemen
mengepalai
Mapping ER Diagram ke Tabel
Konsep Foreign Key
Foreign key adalah kolom yang diambil dari primary key
entitas lain yang menggunakan hubungan antar 2 tabel tsb.
Fakta
Adi, Budi dan Cici bekerja pada
bagian Persinalia. Sedangkan
Rudi dan Santo bekerja pada
bagian Gudang
Tabel PEGAWAI
N am a NoKTP
Langkah 1
NmDepan
Alam at G aji Inisial
NmBlk
JenisKel
JenisK el
Alamat
Gaji
P egawai
N oK TP
Pegawai
NoKTP
Tabel
(0,N)
TANGGUNGAN
menanggung Langkah 2 Peg_NoKTP
(1, Nama
1)
JenisKel
Tanggungan TglLahir
Hubungan
Nama Hubungan
JenisKel TglLahir
Algoritma 3
Untuk setiap relasi 1:1 antara entitas EK1 dan EK2:
Jika sama-sama merupakan partisipasi total, pilih salah
satu. Tambahkan semua semua simple attribut dari entitas
yang lain
Jika sama-sama merupakan partisipasi parsial, pilih salah
satu. Tambahkan foreign key dari primary key entitas yang
lain
Jika salah satu merupakan partisipasi total, pilih yang
berpartisipasi total. Tambahkan foreign key dari primary key
entitas yang lain
Algoritma 3
Tabel
Langkah 1-3 DEPARTEMEN
…
…
Peg_NoKTPKepala
N oK TP nam a nom or
bekerja
P egawai (1,1) untuk (1,N) D epartem en
Tabel PEGAWAI
Langkah 4
…
…
Dep_NomorBekerja
Dep_NamaBekerja
P egawai bekerja
(1,N) (1,N ) P royek
pada
Lam aJam N om or N am a
Tabel
Langkah 5
BEKERJAPADA
Peg_NoKTP
Pro_Nomor
Pro_Nama
LamaJam
Algoritma 6
Untuk setiap multivalued attribute, buat tabel baru MV
Tambahkan seluruh simple attributnya
Tambahkan pula sebagai foreign key, primary key dari
entitas yang memiliki
Primary key merupakan gabungan dari dari seluruh
fieldnya
Algortima 6
Tabel
Langkah 6 DEP_LOKASI
Dep_Nomor
D epartem en
Dep_Nama
Lokasi
Jm lP egawai
NmDepan Inisial NmBlk
ERD Perusahaan
Nama
JenisKel bekerja
untuk
Pegawai Departemen
NoKTP
mengepalai
(0,N)
JmlPegawai
TglMulai
mengatur
bekerja
memimpin
pada
(1,1)
menanggung
LamaJam Proyek
(1,1)
Nama Hubungan
JenisKel TglLahir
Contoh
Berdasarkan ERD
Step 1:
Langkah pertama mendefinisikan entitas kuat
Tabel Pegawai
Entitas pegawai memiliki atribut NoKTP,JenisKel,Alamat,Gaji dan
atribut composit Nama (NmDepan,Inisial,NmBlk). Sehingga skema
tabel pegawai sbb:
NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji
Tabel Departemen
Entitas departemen memiliki atribut Nomor,Nama, JmlPegawai dan
atribut multi valued lokasi yang bisa menjadi tabel lain yang mengacu
ke tabel departemen. Skemanya adalah sbb:
Nomor Nama JmlPegawai
Contoh
Tabel proyek
Entitas proyek terdiri dari atribut Nomor, Nama,Lokasi. Skema dari
tabel proyek adalah
Nomor Nama Lokasi
Step 2:
Langkah kedua adalah mendefinisikan entitas lemah
Tabel Tanggungan
Entitas tanggungan bergantung pada entitas pegawai. Atibutnya
adalah Nama,JenisKel,TglLahir,Hubungan. Primary key dari entitas
pegawai masuk ke entitas tanggungan
NoKTP Nama JenisKel TglLahir Hubungan
Contoh
Step 3:
Tabel Departemen
Pada relasi mengepalai, suatu departemen dikepalai oleh 1 pegawai
sehingga primary key entitas pegawai masuk ke entitas departemen,
ditambahkan dengan atribut tglMulai
Nomor Nama JmlPegawai NoKTP TglMulai
Step 4:
Tabel Pegawai
Pada relasi memimpin dan bekerja, primary key dari departemen
masuk ke entitas pegawai dan setiap pegawai memiliki pimpinan
NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji
Step 5:
Tabel BekerjaPada
Pada relasi bekerja pada memiliki relasi many to many sehingga akan
muncul tabel baru yang primary keynya berasal dari entitas pegawai
dan proyek
noKTP proyek_nomor proyek_nama lamaJam
Contoh
Step 6:
Tabel Departemen_Lokasi
Dari atribut muti valued lokasi akan dibuat tabel baru yang skemanya
sebagai berikut
dep_nomor dep_nama Lokasi