PERANCANGAN KONSEP BASIS DATA PERTEMUAN KE-3

Download Report

Transcript PERANCANGAN KONSEP BASIS DATA PERTEMUAN KE-3

PERTEMUAN KE-3
PERANCANGAN KONSEP BASIS
DATA
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY RELATIONSHIP MODEL

Entity-relationship (e-r) data model adalah didasarkan pada
suatu persepsi atas keadaan nyata didunia yang terdiri dari
sekumpulan object yang disebut entity dan relasi antara
mereka

Entity adalah suatu object yang dijelaskan oleh serangkaian
attribut

Ekspresi jumlah dari entity dengan entity yang lain dapat diassosiasikan melalui himpunan relatsi dinamakan mapping
cardinality
HAL : 2
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY RELATIONSHIP MODEL

Entity-relationship dikembangkan dalam rangka untuk
memberikan fasilitas dalam perancangan database dengan
memberikan kesempatan untuk membuat spesifikasi dari
suatu skema yang merepresentasikan keseluruhan struktur
logika dari database

Model dituangkan dalam bentuk entity relationship diagram
Komponen dalam model E-R
• Entity
• Relationship
• Attribute
• Mapping Cardinality
HAL : 3
MATAKULIAH (KODE MTK)
GASAL 2006/2007
SIMBOL DALAM ERD
Simbol
Entitas
Entitas yang
juga
merupakan
Relasi
Simbol
Relasi
Simbol
Atribut
HAL : 4
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS






Entitas adalah suatu object yang ada dan dapat dibedakan
dengan object-object yang lain
Suatu entitas dapat nyata, misalnya seseorang, buku, dll
Suatu entitas dapat berupa abstrak, misalnya suatu kosep,
hari libur, dll
Suatu huimpunan entitas (entity set) adalah suatu himpunan
yang memiliki tipe yang sama
Suatu entitas direpresentasikan oleh suatu himpunan attribut
Secara formal, suatu attribut adalah suatu fungsi yang
memetakan dari suatu himpunan entitas kedalam suatu
domain
HAL : 5
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS
Syarat sebuah Entitas
 Merupakan objek yang memiliki lebih dari satu
entity instances (contoh) dalam database


Entity Instance untuk Entitas Mahasiswa adalah Rika,
Andi, Della, dll
Merupakan objek yang memiliki beberapa atribut.
 Bukan seorang user dari sistem.
 Bukan sebuah output dari sistem (contoh: laporan)
 Berinama dengan kata Benda

HAL : 6
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS

Strong entities
 Keberadaanya
berdiri sendiri.
 Mempunyai Primary Key (unique identifier)
 Digambarkan dengan Persegi Empat dengan
Garis Tunggal.
karyawan
NIP
Nama
Alamat
Jenkel
Telepon
Primary Key
HAL : 7
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS

Weak entity
 Tergantung pada strong entity…Tidak Dapat berdiri
sendiri.
 Tidak Mempunyai Primary Key (unique identifier)
 Digambar dengan dengan Persegi Empat dengan Garis
double.
karyawan
NIP
nama
alamat
jenkel
telepon
isi
absensi
NIP
Tglabsen
jamdatang
jampulang
HAL : 8
ENTITY/ENTITAS




Associative Entity
Merupakan entity  yang mempunyai attributes
Dan merupakan relationship  merupakan pengubung entities bersama.
Kapan sebaiknya relationship dengan attributes menjadi sebuah
associative entity?




Semua Relationships pada associative entity harus many
The associative entity bisa mempunya arti tidak terikat
pada Entity lain
The associative entity Lebih disukai mempunyai unique
identifier, dan juga harus mempunyai attributes lain.
Ternary relationships harus dikonversi ke associative
entities
HAL : 9
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS

Associative Entity
m
CUSTOMER
Nocustomer
nmcustomer
alamat
telepon
ISI
PESANAN
Nopesanan
tanggal
n
ISI
Nobarang
nopesanan
qty
hargapesan
BARANG
Nobarang
nmbarang
satuan
harga
Associative
Entity
HAL : 10
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS

Generalisasi/Spesialisasi
 Pembedaan atas kekhususan satu atau beberapa
entitas yang berjenis sama
 Membentuk entitas supertype dan subtype
 Adanya pewarisan (inheritance)
karyawan
Nip
nama
jenkel
bagian
ISA
Gajipokok
tunjangan
tetap
kontrak
honorharian
HAL : 11
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ENTITY/ENTITAS

Agregasi
•
Meng-entitaskan sebuah relasi
•
Terdapat data yang akan direlasikan dengan sebuah relasi.
Noproyek
NIP
karyawan
Nip
nama
jenkel
bagian
kerja
proyek
Noproyek
lokasi
pakai
Nobarang
NIP
Noproyek
BARANG
Nobarang
nmbarang
satuan
harga
HAL : 12
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ATTRIBUTE




Sekumpulan attribut-attribut akan dapat menjelaskan
suatu entitas
Pertimbangkan himpunan entitas employee dengan attribut
employee-name dan phone-number, sementara itu suatu
telephone adalah suatu entitas yang memiliki attribut
phone-number dan location
Setiap attribut terdapat suatu himpunan nilai yang dapat
diberikan pada attribut tersebut yang dikatakan sebagai
domain dari suatu attribut
Pembedaan pada seuah entitas digunakan suatu identitas
dalam bentuk attribut kunci
HAL : 13
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ATTRIBUTE

Klasifikasi Atribut




Simple Attribute
adalah atribut yang tidak dapat di breakdown menjadi
beberapa komponen.
Composite Attribute
Adalah atribut yang dapat di breakdown menjadi beberapa
komponen.
Multivalued Attribute
Adalah atribut yang memiliki lebih dari satu entity instance.
Derived Attribute
Adalah atribut yang merupakan nilai hasil perhitungan dari
nilai atribut yang lain.
HAL : 14
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ATTRIBUTE

Beberapa jenis Atribut (lanjutan)

Candidate Key adalah atribut yang dapat dijadikan
sebagai identifikasi dari Entitas.

Primary Key adalah atribut yang mempunyai sifat unik.

Simple
Primary Key yang terdiri dari saru atribut

Composite
Primary Key yang terdiri dari dua atau lebih atribut.

Foreign Key adalah suatu atribut yang dimiliki oleh suatu
entitas, tetapi atribut tersebut merupakan Primary Key dari
entitas lain.

Descriptor adalah atribut biasa.
HAL : 15
MATAKULIAH (KODE MTK)
GASAL 2006/2007
ATTRIBUTE

Memilih Nama Attribute

Nama harus unik di dalam sistem

Semua atribut yang menguraikan Entity atau
Relationship tertentu harus diberi nama.

Masing-Masing Relationship harus meliputi atribut yang
menguraikan Entity tersebut dalam membentuk
Ralationship.

Nama penuh arti harus diterpilih sehingga E-R diagram
adalah self-explanatory (menjelaskan isi dari dirinya)
HAL : 16
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP



Suatu relasi adalah suatu assosiasi diantara beberapa entitas.
Suatu himpunan relasi adalah suatu himpunan relasi yang
memiliki tipe yang sama
Jika e1, e2, ..... en adalah himpunan entitas, maka suatu
himpunan relasi r adalah suatu subset dari
{(E1, e2, ... ,en) | e1  e1, e2  e2, . . . ., en  en}
Dimana (e1, e2, ... ,en) adalah suatu relasi
HAL : 17
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Degree of Relationships
 Jenis-Jenis
dari Degree of Relationship
 Unary
Relationship
 Binary Relationship
 Ternary Relationship
HAL : 18
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Jenis-Jenis dari Degree of Relationship
HAL : 19
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Unary Relationship
HAL : 20
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Binary Relationship
HAL : 21
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Ternary Relationship
HAL : 22
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Penamaan Relasi
 Berinama dengan “Kata Kerja”
 Tapi boleh juga menggunakan kata “Penghubung”
 Contoh:
 Kata kerja  isi, tulis, kirim, dst
 Kata penghubung ada, untuk, dalam, dst
HAL : 23
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RELATIONSHIP

Penamaan Relasi
 Berinama dengan “Kata Kerja”
 Tapi boleh juga menggunakan kata “Penghubung”
 Contoh:
 Kata kerja  isi, tulis, kirim, dst
 Kata penghubung ada, untuk, dalam, dst
HAL : 24
MATAKULIAH (KODE MTK)
GASAL 2006/2007
MAPPING CARDINALITY



One – to – One
 Each entity in the relationship will have exactly one related
entity
One – to – Many
 An entity on one side of the relationship can have many
related entities, but an entity on the other side will have a
maximum of one related entity
Many – to – Many
 Entities on both sides of the relationship can have many
related entities on the other side
HAL : 25
MATAKULIAH (KODE MTK)
GASAL 2006/2007
MAPPING CARDINALITY


Cardinality Constraints – Jummlah dari instances pada satu Entity dapat
atau harus dihubungkan dengan masing-masing instance pada entity lain.
Minimum Cardinality



Jika Kosong, merupakan optional
Jika Satu atau Lebih, merupakan mandatory
Maximum Cardinality

Jumlah maximum
HAL : 26
MATAKULIAH (KODE MTK)
GASAL 2006/2007
MAPPING CARDINALITY
b1
a1
b1
a2
b2
a3
b3
a4
b4
a1
b2
a2
b3
a3
b4
b5
ONE TO ONE
ONE TO MANY
a1
a2
b1
a1
b1
a3
b2
a2
b2
a4
b3
a3
b3
a4
b4
a5
MANY TO ONE
MANY TO MANY
HAL : 27
MATAKULIAH (KODE MTK)
GASAL 2006/2007
CONTOH ENTITY RELATIONSHIP DIAGRAM
1
ANGGOTA
no_anggota#
nm_anggota
al_rumah
al_kantor
no_telepon
no_hp
m
AJUKAN
no_fpk#
no_anggota#
1
FPK
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
1
BPK
SETUJUI
no_fpk#
no_bpk#
1
ANGSUR
no_bpk#
tg_bpk
jm_kredit
lm_angsuran
jm_angsuran
bunga
no_fpk#
no_angsuran#
m
ANGSURAN
no_angsuran#
tg_angsuran
jm_angsuran
angsuran_ke
HAL : 28
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI
Setiap entity akan diubah kebentuk sebuah kotak dengan
nama entity berada diluar kotak dan attibute berada di
dalam kotak.
ALAMAT
PEGAWAI
TG-LAHIR
PEGAWAI
STATUS
ALAMAT
TG-LAHIR
STATUS
HAL : 29
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

PERHATIKAN !
 CARDINALITY (TINGKAT HUBUNGAN)
 1:1
ONE-TO-ONE
 1:M
ONE-TO-MANY
 M :N
MANY-TO-MANY
 SANGAT BERPENGARUH PADA TRANSFORMASI
HAL : 30
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

TRANSFORMASI 1:1
ONE-TO-ONE
1
1

PILIH SALAH SATU
1

1
PEDOMAN PENGGABUNGAN



KEARAH WEAK ENTITY
KE ENTITY YANG MEMBUTUHKAN REFERENSI
ATAU
KE ENTITY DENGAN JUMLAH ATRIBUT YANG LEBIH SEDIKIT
HAL : 31
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

TRANSFORMASI 1:1
ONE-TO-ONE
1
1
FPK
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
Ditransformasikan ke
entity yang
membutuhkan referensi.
SETUJUI
no_fpk#
no_bpk#
BPK
no_bpk#
tg_bpk
jm_kredit
lm_angsuran
jm_angsuran
bunga
FPK
BPK
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
no_anggota
no_bpk#
tg_bpk
jm_kredit
lm_angsuran
jm_angsuran
bunga
no_fpk
HAL : 32
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI


TRANSFORMASI 1:M
ONE-TO-MANY
Pilih ke arah many
1

1
M
M
PEDOMAN PENGGABUNGAN


TIDAK PERLU MELIHAT JUMLAH ATRIBUT YANG LEBIH SEDIKIT
SELALU DIGABUNG KE ARAH MANY
HAL : 33
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

TRANSFORMASI 1:M
1
ANGGOTA
no_anggota#
nm_anggota
al_rumah
al_kantor
no_telepon
no_hp
ONE-TO-MANY
m
FPK
AJUKAN
no_fpk#
no_anggota#
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
ANGGOTA
FPK
no_anggota#
nm_anggota
al_rumah
al_kantor
no_telepon
no_hp
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
no_anggota
HAL : 34
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI


TRANSFORMASI M :N MANY-TO-MANY
RELATIONSHIP BERDIRI SENDIRI
M

N
PEDOMAN TRANSFORMASI


TIAP ENTITY MENJADI SEBUAH LOGICAL RECORD STRUCTURE
RELATIONSHIP JUGA MENJADI SEBUAH LOGICAL RECORD STRUCTURE
HAL : 35
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

TRANSFORMASI M :N MANY-TO-MANY
NIM
TGL-LAHIR
NAMA
ALAMAT
JEN-KEL
NIM
KD-MATKUL
NILAI
MHSISWA M
MHSISWA
NIM
TGL-LAHIR
NAMA
ALAMAT
JEN-KEL
IKUT
N MAT-KUL
KD-MATKUL
DESKRIPSI
SKS
MAT-KUL
IKUT
NIM
NIM
KD-MATKUL
NILAI
KD-MATKUL
KD-MATKUL
DESKRIPSI
SKS
HAL : 36
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

Contoh ERD:
1
ANGGOTA
no_anggota#
nm_anggota
al_rumah
al_kantor
no_telepon
no_hp
m
AJUKAN
no_fpk#
no_anggota#
1
FPK
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
1
BPK
SETUJUI
no_fpk#
no_bpk#
1
ANGSUR
no_bpk#
tg_bpk
jm_kredit
lm_angsuran
jm_angsuran
bunga
no_fpk#
no_angsuran#
m
ANGSURAN
no_angsuran#
tg_angsuran
jm_angsuran
angsuran_ke
HAL : 37
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

Contoh Transfprmasi ERD ke RELASI:
1
ANGGOTA
no_anggota#
nm_anggota
al_rumah
al_kantor
no_telepon
no_hp
m
AJUKAN
no_fpk#
no_anggota#
1
FPK
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
1
BPK
SETUJUI
no_fpk#
no_bpk#
1
ANGSUR
no_bpk#
tg_bpk
jm_kredit
lm_angsuran
jm_angsuran
bunga
no_fpk#
no_angsuran#
m
ANGSURAN
no_angsuran#
tg_angsuran
jm_angsuran
angsuran_ke
HAL : 38
MATAKULIAH (KODE MTK)
GASAL 2006/2007
TRANSFORMASI ER-D KE RELASI

Contoh Relasi:
ANGGOTA
FPK
BPK
ANGSURAN
no_anggota#
nm_anggota
al_rumah
al_kantor
no_telepon
no_hp
no_fpk#
tg_fpk
jm_kredit
lm_angsuran
no_anggota
no_bpk#
tg_bpk
jm_kredit
lm_angsuran
jm_angsuran
bunga
no_fpk
no_angsuran#
tg_angsuran
jm_angsuran
angsuran_ke
no_bpk
HAL : 39
MATAKULIAH (KODE MTK)

GASAL 2006/2007
TIAP SATU LRS AKAN MENJADI SATU TABEL
MAHASISWA
NIM
NAMA
ALAMAT
TEMPAT-LAHIR
TGL-LAHIR
J-KELAMIN
MAHASISWA

NAMA LRS MENJADI NAMA TABEL

TIAP 1 (SATU) ATRIBUT AKAN MENJADI 1 (SATU) KOLOM

NAMA ATRIBUT AKAN MENJADI NAMA KOLOM
HAL : 40
MATAKULIAH (KODE MTK)
GASAL 2006/2007
CONTOH
PEGAWAI
NO-PEG
NAMA
ALAMAT
KD-PROY
KD-JAB
ALAMAT
PROYEK
KD-PROY LOKASI
JENIS
KD-PROY KD-JAB
PROYEK
KD-PROY
KD-PROY
LOKASI
JENIS
KD-PROY
KD-JAB
KD-JAB
URAIAN
TUNJANGAN
PEGAWAI
NO-PEG NAMA
PAKAI
KD-PROY
KD-BRNG
JUMLAH
PAKAI
KD-PROY KD-BRNG JUMLAH
BARANG
KD-BRNG NAMA-BR HARSAT
JABATAN
KD-BRNG
KD-BRNG
NAMA-BR
HAR-SAT
JABATAN
KD-JAB
URAIAN
TUNJANGAN
BARANG
HAL : 41
MATAKULIAH (KODE MTK)
PEGAWAI
NO-PEG NAMA
PROYEK
KD-PROY LOKASI
ALAMAT
GASAL 2006/2007
KD-PROY KD-JAB
JENIS
PEGAWAI
NO-PEG NAMA
ALAMAT
KD-PROY KD-JAB
PK
PAKAI
KD-PROY KD-BRNG JUMLAH
PROYEK
KD-PROY LOKASI
JENIS
PK
BARANG
KD-BRNG NAMA-BR HARSAT
PAKAI
KD-PROY KD-BRNG JUMLAH
PK
JABATAN
KD-JAB
URAIAN
TUNJANGAN
CARA LAIN
MENUNJUKKAN
PRIMARY KEY
BARANG
KD-BRNG NAMA-BR HARSAT
PK
JABATAN
KD-JAB
URAIAN
TUNJANGAN
PK
HAL : 42
MATAKULIAH (KODE MTK)
PEGAWAI
NO-PEG NAMA
ALAMAT
GASAL 2006/2007
KD-PROY KD-JAB
PK
FK
ADA YANG
MERASA PERLU
MEMPERLIHATKAN
FOREIGN KEY
PROYEK
KD-PROY LOKASI
FK
JENIS
PK
PAKAI
KD-PROY KD-BRNG JUMLAH
PK
FK
FK
BARANG
KD-BRNG NAMA-BR HARSAT
PK
JABATAN
KD-JAB
URAIAN
TUNJANGAN
PK
HAL : 43
MATAKULIAH (KODE MTK)
MAHASISWA
NIM
NAMA
ALAMAT
TG-LAHIR
NAMA FILE
MEDIA
ISI
ORGANISASI
PRIMARY KEY
PANJANG RECORD
JUMLAH RECORD
STRUKTUR
NO
NAMA-FIELD
GASAL 2006/2007
JK
:
:
:
:
:
:
:
:
JENIS
LEBAR
DESIMAL
KETERANGAN
HAL : 44
MATAKULIAH (KODE MTK)
GASAL 2006/2007
RANCANGAN BASIS DATA
NAMA FILE
MEDIA
ISI
ORGANISASI
PRIMARY KEY
PANJANG RECORD
JUMLAH RECORD
STRUKTUR
NO
: NAMA RELASI
: HARD-DISK / DISKET / TAPE / OPTICAL DISK
(PILIH SATU)
: KETERANGAN TENTANG ISI FILE
: SEQUENTIAL / RANDOM / INDEX / INDEX SEQUENTIAL (PILIH SATU)
: NAMA FIELD (BISA SATU ATAU LEBIH DARI SATU)
: TOTAL LEBAR FIELD (DALAM SATUAN BYTE)
: PERKIRAAN JUMLAH MAKSIMUM RECORD YANG DISIMPAN
:
NAMA-FIELD
JENIS
CHARACTER
NUMERIC
DATE
LOGICAL
DLL
LEBAR
DIISI
NAMA ATRIBUT
PILIH
SALAH SATU
DIISI DENGAN
JUMLAH MAKSIMUM
DESIMAL
KETERANGAN
DIISI JUMLAH DIGIT
DESIMAL YANG
DIINGINKAN, & HANYA
DIISI BILA JENIS FIELD
ADALAHNUMERIC
DIISI PENJELASAN
TENTANG ISI FIELD
HAL : 45
MATAKULIAH (KODE MTK)
GASAL 2006/2007
Jml record u/ file transaksi = ((6000 mhs x 2 smt) + (300 mtk x 2 smt)) x 5 th
CONTOH
NAMA FILE
MEDIA
ISI
ORGANISASI
PRIMARY KEY
PANJANG RECORD
JUMLAH RECORD
STRUKTUR
NO
1
2
3
4
5
NAMA-FIELD
NIM
NAMA
JK
TGL-LAHIR
ALAMAT
: MAHASISWA
: HARDDISK
: DATA PRIBADI MAHASISWA
: INDEX SEQUENTIAL
: NIM
Jml record u/ file master =jml skrg +
: 69 BYTE
(prakiraan pertambahan x umur sistem)
= 20000 mhs + (2000 mhs x 5 thn)
: 30.000 RECORD
:
JENIS
NUMERIC
ALPHABET
CHARACTER
DATE
CHARACTER
LEBAR
10
20
1
8
30
DESIMAL KETERANGAN
0
Nomor Induk
Nama Mahasiswa
Jenis Kelamin
Tanggal Lahir
Tempat Tinggal
HAL : 46