Anda di halaman 1dari 56

Pemodelan Data

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

Model Data sekumpulan fakta berupa angka, teks,


dokumen, gambar, bagan, dan suara
yang mewakili deskripsi verbal tertentu.

sekumpulan konsep yang digunakan untuk


menjelaskan struktur dari basis data (
database structure) dan memberikan gambaran
tingkat-tingkat abstraksi data (data abstraction)
model abstrak yang mendeskripsikan bagaimana
data direpresentasikan dan diakses
secara formal mendefinisikan elemen data dan
hubungan antar elemen data untuk suatu domain
tertentu
Macam-macam Bentuk Model Database
Flat model Relational model
Hierachical model Object-relational model
Network model Star Schema
Contoh Relational Data Model
Tabel pegawai dihubungkan dengan tabel unit kerja melalui kode_unit kerja

Tabel Pegawai
NIP Nama_pegawai Kode_UK
144300400 Damar wulan 1
144500200 Anton Purnawan 2
144255455 Erinawati 1
144409800 Michael Tomo 2

Tabel Unit Kerja


KodeUK Nama_UK
1 Departemen
Keuangan
2 Departemen SDM
Pemodelan Data (2)
Entity Relationship Diagram
Sub Topik
Menentukan entity
Kardinalitas
Batasan Partisipasi
Mapping dari ER Diagram ke dlm Tabel
Menentukan Entity
Cara Menemukan Entitas
Buat ilustrasi/gambaran cerita tentang sistem yang
akan dicari entitasnya
Tandai setiap objek yang diwakili oleh kata benda
yang ada di dalam ilustrasi tersebut
Untuk setiap objek tersebut yakinkan bahwa ia
memiliki karakteristik yang nanti disebut sebagai
atribut
Tentukan objek yang merupakan entitas (Jika
memang ia memiliki karakteristik jadikan ia
sebagai entitas)
Contoh Cara Menemukan Entitas(1)
 Contoh : Sistem Kepegawaian di perusahaan A
 Langkah 1: Buat ilustrasi/gambaran cerita tentang sistem kepegawaian di
perusahaan A
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin
pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak
semua pegawai memimpin pegawai yang lain. sehingga satu
pengawas dapat memimpin beberapa pegawai. Setiap pegawai
bekerja untuk suatu departemen dan dalam suatu departemen
dapat terdiri dari beberapa pegawai. Setiap departemen
dikepalai oleh seorang pegawai yang bekerja mulai tanggal
tertentu. Sebuah departemen dapat berada di beberapa lokasi.
Selain bekerja di suatu departemen pegawai dapat bekerja pada
beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu
departemen, namun suatu departemen tidak harus
mengendalikan/mengatur proyek. Satu departemen dapat
mengendalikan beberapa proyek dan satu proyek hanya
dikendalikan oleh satu departemen Satu proyek dapat terdiri
dari beberapa pegawai. Untuk keperluan penggajian perusahaan
memerlukan data tanggungan pegawai. Seorang pegawai dapat
menanggung beberapa tanggungan. Jika seorang pegawai
pindah maka datanya akan dipindahkan/dihapus berikut data
tanggungan/keluarganya.
Contoh Cara Menemukan Entitas(2)
 Langkah 2: Tandai setiap objek yang diwakili oleh kata benda yang ada di
dalam ilustrasi tersebut
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin
pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua
pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat
memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu
departemen dan dalam suatu departemen dapat terdiri dari beberapa
pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja
mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi.
Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa
proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun
suatu departemen tidak harus mengendalikan/mengatur proyek. Satu
departemen dapat mengendalikan beberapa proyek dan satu proyek hanya
dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa
pegawai. Untuk keperluan penggajian perusahaan memerlukan data
tanggungan pegawai. Seorang pegawai dapat menanggung beberapa
tanggungan. Jika seorang pegawai pindah maka datanya akan
dipindahkan/dihapus berikut data tanggungan/keluarganya.
Contoh Cara Menemukan Entitas(2)
 Langkah 3: Untuk setiap objek tersebut yakinkan bahwa ia
memiliki karakteristik yang nanti disebut sebagai atribut
 Perusahaan: NoPerusahaan, nama, alamat
 Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji
 Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji
 Departemen: Nomor, Nama, lokasi, jumlah pegawai
 Lokasi : lokasi
 Proyek: Nomor, nama, lokasi
 Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan
pegawai
Contoh Cara Menemukan Entitas(3)
 Langkah 4: Tentukan objek yang merupakan entitas (Jika memang ia
memiliki karakteristik jadikan ia sebagai entitas)
 Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris
data)  bukan entitas
 Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji  entitas kuat
 Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji  sama
dengan entitas Pegawai
 Departemen: Nomor, Nama, lokasi, jumlah pegawai  entitas kuat
 Lokasi : lokasi (karakteristiknya departemen, tidak memiliki
karakteristik lain (unik))  bukan entitas
 Proyek: Nomor, nama, lokasi  entitas kuat
 Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan
pegawai  entitas lemah (tergantung pada pegawai)
Kardinalitas
Notasi ER Diagram
 Entity sets digambarkan dengan
 Relationship sets digambarkan dengan
 Hubungan antara Entity sets – Relationship sets serta atribut
– entity sets digambarkan dengan garis
 Atribut digambarkan dengan
Atribut Multivalue
Atribut Key

Nama_Perusahaan
Nama

NIP Alamat ID Alamat_Perush

Pegawai Bekerja Perusahaan


Diagram E-R dengan atribut Composite,
Multivalued dan derived
Himpunan Relasi dengan Atribut
NmDepan Inisial NmBlk

Nama ERD Perusahaan


Alamat Gaji nama nomor lokasi
8

JenisKel bekerja
untuk
Pegawai Departemen
NoKTP
mengepalai

(0,N)
JmlPegawai
TglMulai
(1,1)

mengatur
bekerja
memimpin
pada

(1,1)
menanggung
LamaJam Proyek
(1,1)

Nomor Nama Lokasi


Tanggungan

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

entitas Departemen data 3 data 3

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

entitas tanggungan data 3 data 3

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

relasi “bekerja pada” pada entitas


data 2 data 2
Pegawai terhadap entitas proyek
data 3 data 3

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

2. Partisipasi sebagian partisipasi pegawai dalam relasi


“mengepalai” terhadap departemen, tidak setiap data pada
pegawai dihubungkan dengan departemen dengan relasi ini. Atau
tidak semua pegawai mengepalai departemen
Partisipasi Total
Contoh:
Semua pegawai harus bekerja di bawah suatu departemen (relasi
disisi pegawai adalah relasi total)

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)

PPPGT VEDC MALANG


Derajat Relasi Minimum
 Menunjukkan hubungan (korespondensi) minimum
yang boleh terjadi dalam sebuah relasi antar entitas.
 Notasi (x,y) pada relasi menunjukkan derajat minimum
(x) dan derajat maksimum (y) pada sebuah relasi
 Partisipasi total bisa dinotasikan dengan memberikan
derajat relasi minimum (x) = 1

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

Pegawai Bekerja Pada Proyek


(1,N) (1,N)
Relasi Tunggal (Unary Relation)
Merupakan relasi yang terjadi dari sebuah entitas ke entitas
yang sama

Contoh:

relasi memimpin pada entitas pegawai

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

Dari fakta diatas dan panah relasi


sebelah kiri, bagaimana cara
menuliskan data yang
menunjukkan hubungan/relasi
antar tabel pegawai dan
departemen?
Algoritma 1
Untuk setiap entitas kuat EK, buat tabel baru EK
yang memasukkan semua attribut sederhana
(simple attribut)
Untuk atribut komposit, hanya atribut
sederhananya yang disertakan
Pilih salah satu key attribute dari EK sebagai
primary key. Jika key yang terpilih merupakan
atribut komposit, seluruh atribut sederhananya
merupakan primary key
Algoritma 1

N m D epan Inisial N m Blk

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

Atribut komposit nama tidak menjadi field/kolom pada tabel


PEGAWAI, tetapi yg dimasukkan adalah bagian simple
attributnya.
Algoritma 2
Untuk setiap entitas lemah EL yang dimiliki oleh
entitas kuat EK, buat tabel baru EL yang memasukkan
semua atribut sederhana EL
Tambahkan pada EL foreign key yang diambil dari
primary key EK
Primary key yang dibentuk merupakan gabungan
primary key EK dan partial key dari EL (jika ada)
Algoritma 2

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

Pegawai (0,1) Departemen


NoKTP (1,1)
mengepalai

Tabel
Langkah 1-3 DEPARTEMEN

Peg_NoKTPKepala

Kolom-kolom yang telah dibentuk


pada langkah-langkah sebelumnya
Algoritma 4
Untuk setiap relasi 1:N antara entitas EK1 dan EK2,
pilih entitas yang memiliki derajat maksimum relasi=1
Tambahkan sebuah foreign key dari primary key
entitas lain yang memiliki derajat maksimum relasi =
N
Algoritma 4

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

Kolom-kolom yang telah dibentuk


pada langkah-langkah sebelumnya
Algoritma 5
Untuk setiap relasi M:N antara entitas EK1 dan EK2,
buat tabel baru MN
Tambahkan seluruh simple attribut dari relasi tersebut
Tambahkan pula foreign key yang diambil dari
primary key masing-masing entitas yang direlasikan
 Primary key merupakan gabungan dari seluruh
foreign key tersebut
Algoritma 5
N oK TP

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

nam a nom or lokasi


8

Tabel
Langkah 6 DEP_LOKASI
Dep_Nomor
D epartem en
Dep_Nama
Lokasi
Jm lP egawai
NmDepan Inisial NmBlk
ERD Perusahaan
Nama

Alamat Gaji nama nomor lokasi


8

JenisKel bekerja
untuk
Pegawai Departemen
NoKTP
mengepalai

(0,N)
JmlPegawai
TglMulai
mengatur
bekerja
memimpin
pada

(1,1)
menanggung
LamaJam Proyek
(1,1)

Nomor Nama Lokasi


Tanggungan

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

… NoKTP_Pimpinan dep_nomor Dep_nama


Contoh
Tabel Proyek
Berdasarkan relasi mengatur, maka primary key dari entitas
departemen masuk ke entitas proyek

Nomor Nama Lokasi dep_nomor dep_nama

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

Anda mungkin juga menyukai