Mata
kuliah : Prancangan Basis Data
Semester
: II
Jurusan :
Manajemen Informatika
Sks :
4sks
CAPAIAN
PEMBELAJARAN :
1.
Mahasiswa diharapkan dapat memahami konsep
dasar
database
Capaian
Pembelajaran
2. Mampu
merancang database dengan menggunakan
Entity Relationship
dan Normalisasi
3. Mampu
merancang database dengan aplikasi DB
designer
dan SQLYog
4. Mampu
memodifikasi data dengan bahasa query
DDL &
DML
Pertemuan
ke- Pokok Bahasan Keterangan
1 Konsep dasar Sistem
Database dan Perancangan Database
2 Perancangan Database
Lanjutan dan DBMS serta Arsitektur
Sistem Database
3 Data Model
4 Entity Relational Model
5 Tehnik Normalisasi
6 Tehnik Normalisasi
Lanjutan
7 Review/Quis
8 Ujian
Tengah Semester (UTS) Mata Kuliah Teori
9 Bahasa Query Formal
10 Bahasa Query Komersial
11 Fragmentasi Data
12 Perancangan dan
Implementasi Basis Data menggunakan DB
Designer 4
13 Lingkungan Database
(Concurency, Locking)
14 Lingkungan Database
Lanjutan
15 Review/Quis
16 Ujian
Akhir Semester (UAS) Mata Kuliah Teori
Sumber
Referensi :
1. Connolly, Thomas M
& E Begg, Carolyn, 2004, Database
Solutions
A step-by-step guide to building
databases,Pearson
Education, United Kingdom
2.
Fathansyah,2001,"Sistem Basis Data", Informatika
Bandung
3. Hariyanto,
Bambang,2004, “ Sistem Manajemen Basis
Data”, Informatika,
Bandung
4. Kadir, Abdul,
2000,"Konsep dan Tuntunan Praktis Sistem
Basis Data", Andi
Offset, Bandung
5. Kristanto, Harianto,
2000, "Konsep dan Perancangan
Database", Andi
Offset, Yogyakarta.
6. Waljiyanto,
2003,"Sistem Basis Data",Graha
Ilmu,Yogyakarta
KONTRAK
PERKULIAHAN
• Perancangan Basis Data
adalah matakuliah Unggulan pada semester II
untuk Jurusan MI
• Pertemuan 7 diadakan
QUIZ / review materi
• Pertemuan 8 diadakan UTS
dimana materi diambil dari pertemuan 1-6
• Pertemuan 15 diadakan
QUIZ / review materi
• Pertemuan 16 diadakan
UAS dimana materi diambil dari pertemuan 9-
14
• Tingkatkan penggunaan
LTM untuk Latihan Soal
• Sistem penilaian PBD
10 % Absensi
20% Tugas & Quiz
30% UTS
40% UAS
KONSEP
DASAR
Database adalah suatu susunan/kumpulan
data
operasional lengkap dari
suatu organisasi/perusahaan
yang diorganisir/dikelola
dan simpan secara terintegrasi
dengan menggunakan metode
tertentu dengan
menggunakan komputer
sehingga mampu menyediakan
informasi yang diperlukan
pemakainya.
SISTEM
DATABASE adalah suatu sistem penyusunan
dan pengelolaan
record-record dengan menggunakan
komputer, dengan tujuan
untuk menyimpan atau merekam
serta memelihara data
operasional lengkap sebuah
organisasi/perusahaan
sehingga mampu menyediakan
informasi yang diperlukan
pemakai untuk kepentingan
proses
pengambilan keputusan.
KOMPONEN
DASAR DARI SISTEM DATABASE
Terdapat 4 komponen pokok
dari system database:
A. DATA, dengan
ciri-ciri :
1. Data disimpan secara
terintegrasi (Integrated)
Terintegrated yaitu
Database merupakan kumpulan
dari berbagai macam file
dari aplikasi-aplikasi yang
berbeda yang disusun
dengan cara menghilangkan
bagian-bagian yang rangkap
(redundant)
2. Data dapat dipakai
secara bersama-sama(shared)
Shared yaitu Masing-masing
bagian dari database
dapat diakses oleh pemakai
dalam waktu yang
bersamaan, untuk aplikasi
yang berbeda.
B.
Perangkat Keras (HARDWARE)
Terdiri dari semua
peralatan perangkat keras komputer
yang digunakan untuk
pengelolaan sistem database
berupa :
1. Peralatan untuk
penyimpanan misalnya disk, drum,
tape
2. Peralatan input dan
output
3. Peralatan komunikasi
data, dll
C.
Perangkat Lunak (SOFTWARE)
Berfungsi sebagai
perantara (interface) antara pemakai
dengan data phisik pada
database, dapat berupa :
1. Database Management
System (DBMS)
2. Program-program
aplikasi & prosedur-prosedur
D.
Pemakai (USER)
Terbagi menjadi 3
klasifikasi :
1. Database Administrator
(DBA), orang/tim yang
bertugas mengelola system
database secara
keseluruhan
2. Programmer, orang/tim
membuat program aplikasi
yang mengakses database
dengan menggunakan
bahasa pemprograman
3. End user, orang yang
mengakases database melalui
terminal dengan
menggunakan query language atau
program aplikasi yang
dibuat oleh programmer
DATA PADA
DATABASE DAN HUBUNGANNYA
Ada 3 jenis data pada
sistem database, yaitu:
1. Data operasional dari
suatu organisasi, berupa data
yang disimpan didalam
database
2. Data masukan (input
data), data dari luar sistem
yang dimasukan melalui
peralatan input (keyboard)
yang dapat merubah data
operasional
3. Data keluaran (output
data), berupa laporan melalui
peralatan output sebagai
hasil dari dalam sistem
yang mengakses data
operasional
CONTOH
PENGGUNAAN DATABASE
• Pembelian barang di
supermarket, kasir akan melakukan
scan barcode yang ada di
barang, pada saat tersebut
program akan mengakses
data pada database
kemudian mengurangi stok
barang yang ada sesuai
dengan jumlah pembelian
konsumen
• Pembelian barang dengan
menggunakan kartu kredit,
card reader akan membaca
apakah kartu kredit tersebut
memiliki limit yang cukup,
dan memasukkan data
pembelian dalam database
kartu kredit, juga ada
pemeriksaan apakah kartu
tersebut tidak dalam daftar
kartu di curi/hilang
KEUNTUNGAN
PEMAKAIAN SISTEM DATABASE
1. Terkontrolnya
kerangkapan data dan inkonsistensi
2. Terpeliharanya
keselarasan data
3. Data dapat dipakai
secara bersama-sama
4. Memudahkan penerapan
standarisasi
5. Memudahkan penerapan
batasan-batasan
pengamanan.
6. Terpeliharanya
intergritas data
7. Terpeliharanya
keseimbangan atas perbedaan
kebutuhan data dari setiap
aplikasi
8. Program / data
independent
KERUGIAN
PEMAKAIAN SISTEM DATABASE
1. Mahal dalam
implementasinya
2. Rumit/komplek
3. Penanganan proses
recovery & backup sulit
4. Kerusakan pada sistem
basis data dapat
mempengaruhi departemen
yang terkait
ISTILAH-ISTILAH
YG DIPERGUNAKAN DALAM SISTEM
BASIS
DATA
a. Enterprise yaitu suatu
bentuk organisasi
Contoh :
Enterprise: Sekolah _ Database Nilai
Enterprise: Rumah sakit _ Database AdministrasiPasien
b. Entitas yaitu suatu
obyek yang dapat dibedakan dengan
objek lainnya
Contoh :
Database Nilai _ entitas: mahasiswa, Matapelajaran
Database
AdministrasiPasien _ entitas: pasien, dokter,
obat
c. Atribute/field yaitu
setiap entitas mempunyai atribut atau
suatu sebutan untuk
mewakili suatu entitas.
Contoh :
Entity siswa _ field = Nim, nama_siswa,alamat,dll
Entity nasabah _field=Kd_nasabah,nama_nasabah,dll
d. Data value yaitu data
aktual atau informasi yang
disimpan pada tiap data
elemen atau atribute.
Contoh :
Atribut nama_karyawan _sutrisno, budiman, dll
e. Record/tuple yaitu
kumpulan elemen-elemen yang saling
berkaitan menginformasikan
tentang suatu entity secara
lengkap.
Contoh : record mahasiswa _nim, nm_mhs, alamat.
f. File yaitu kumpulan
record-record sejenis yang
mempunyai panjang elemen
sama, atribute yang sama
namun berbeda-beda data
valuenya
g. Kunci elemen data yaitu
tanda pengenal yang secara
unik mengindentifikasikan
entitas dari suatu kumpulan
entitas
Mahasiswa
Nim Nama
Alamat
11110203 Nazarudin Jakarta
Field
Record
Entity/
Entitas
Elemen
Kunci
12110001 Angelina Bogor
13110212 Gayus Depok
Data
Value
TUJUAN
PERANCANGAN DATABASE:
1. Untuk memenuhi
informasi yang berisi
kebutuhan–kebutuhan user
secara khusus dan
aplikasinya.
2. Memudahkan pengertian
struktur informasi
3. Mendukung kebutuhan–kebutuhan
pemrosesan
dan beberapa objek
penampilan (respone time,
processing
time dan strorage space)
APLIKASI
DATABASE DALAM LIFE CYCLE
1. Pendefinisian Sistem (System
definition)
Pendefinisian ruang
lingkup dari sistem database,
pengguna dan aplikasinya.
2. Perancangan Database (Database
Design)
Perancangan database
secara logika dan fisik pada suatu
sistem database sesuai
dengan sistem manajemen
database yang diinginkan.
3. Implementation
Pendefinisian database
secara konseptual, eksternal dan
internal, pembuatan
file–file database yang kosong serta
implementasi aplikasi
software.
4.Pengambilan dan Konversi
Data (Loading atau
data
convertion)
Database ditempatkan
dengan baik, sehingga jika
ingin memanggil data
secara langsung ataupun
merubah file–file yang ada
dapat di tempatkan
kembali sesuai dengan
format sistem databasenya
5.Konversi Aplikasi (Aplication
conversion)
Pengkonversian aplikasi
agar dapat berjalan
dengan database baru.
6.Pengujian dan Validasi (Testing
dan Validation)
Pengujian dengan
menjalankan database dengan
memberikan data-data
“real” untuk menemukan
kesalahan yang mungkin
terjadi.
7. Monitoring dan
Maintenance
Montoring adalah proses
pemantau performa dari
database, jika performa
database menurun maka
dapat dilakukan proses tuning
dan reorganized
Maintenance adalah proses
manajemen database
selama database berjalan
dan jika ada perubahan
maka dapat dilakukan upgrade.
ADA 6
FASE PROSES PERANCANGAN DATABASE
1. Pengumpulan dan analisa
a. Menentukan kelompok
pemakai dan bidang-bidang
aplikasinya
b. Peninjauan dokumentasi
yang ada
c. Analisa lingkungan
operasi dan pemrosesan data
d. Daftar pertanyaan dan
wawancara
2. Perancangan database
secara konseptual
a. Perancangan skema
konseptual
b. Perancangan transaksi
yang akan terjadi dalam
database.
3. Pemilihan DBMS
a. Faktor teknis
Contoh faktor teknik :
Tipe model data ( hirarki,
jaringan atau relasional ), Struktur
penyimpanan dan jalur
pengaksesan yang didukung sistem
manajemen database, Tipe
interface dan programmer, Tipe
bahasa query
b. Faktor Ekonomi dan
Politik organisasi
Faktor-faktor ekonomi:
Biaya penyiadaan hardware dan
software, Biaya konversi
pembuatan database, Biaya
personalia, dll
Faktor Organisasi :
Analisa Kasus
• Perpustakaan Smart
adalah perpustakaan umum yang
anggotanya
pelajar,mahasiswa dan masyarakat yang
didirikan oleh Walikota
Jakarta Barat. Keberadaan
perpustakaan berlokasi di
Walikota yang aplikasi
pelayanan masih bersifat
tradisional.
• Prosesnya :
a. Setiap calon anggota
yang akan menjadi anggota
harus mengisi formulir
dengan biaya administrasi
Rp.10.000,-
b. Anggota dapat meminjam
buku maksimal 3 buku
c. Untuk masa peminjaman
selama 1 minggu (7 hari)
d. Keterlambatan
pengembalian dikenakan denda
sesuai dengan kondisi
denda, diantaranya :
Diantaranya :
1. Denda keterlambatan
pengembalian dikenakan biaya
administrasi Rp.500
perharinya (bukti surat denda
terlampir)
2. Denda Buku perpustakaan
rusak maka dikenakan biaya
revisi buku
perpustakaan(biaya ini dikenakan setelah buku
diperbaiki).(bukti surat
denda terlampir)
3. Denda Buku Hilang, maka
dikenakan biaya penggantian
seharga buku
tersebut.(bukti surat denda terlampir)
4. Perpustakaan smart
dapat menerima sumbangan dari
donatur statusnya (anggota
atau masyrakat luas)
Analisa Kasus Enterprise
(Pembahasan di Kelas)
• Buat Enterprise dari
“Perpustakaan Smart”
yang ditentukan dari :
Entitas,
Atribute/Field, value data, record
dan
bentuk tabel – tabel dari Enterprise
• Bentuk Gambar dari
Enterprise
Perpustakaan (yang
menghubungkan
relasi antara Entitas,
Atribute, value data,
record dan tabel-tabel)
PERTEMUAN 2
LANJUTAN PERANCANGAN DATABASE
DAN DBMS
4. Perancangan database secara logik
(data model
mapping)
a. Pemetaan (Transformasi data)
Transformasi yang tidak tergantung
pada sistem,
pada tahap ini transformasi tidak
mempertimbangkan
karakteristik yang spesifik atau hal–
hal khusus yang
akan diaplikasikan pada sistem
manajemen
database
b.Penyesuaian skema ke DBMS
Penyesuaian skema yang dihasilkan dari
tahap
Pemetaan untuk dikonfirmasikan pada
bentuk
implementasi yang spesifik dari suatu
model data
seperti yang digunakan oleh sistem
manajemen
database yang terpilih
5. Perancangan database secara fisik
a. Response Time
Waktu transaksi database selama
eksekusi untuk
menerima respon
b. Space Utility
Jumlah ruang penyimpanan yang
digunakan oleh
database file dan struktur jalur
pengaksesannya
c. Transaction
Throughput
Merupakan nilai rata–rata transaksi
yang dapat di
proses permenit oleh sistem database
dan
merupakan parameter kritis dari sistem
transaksi
6. Phase Implementasi Sistem Database
DBMS (Database
Management Systems)
DBMS adalah perangkat lunak yang
menangani semua
pengaksesan database yang mempunyai
fasilitas
membuat, mengakses, memanipulasi dan
memelihara
basis data
BAHASA dalam DBMS
A. Data Definision Language (DDL)
Hasil kompilasi dari perintah DDL
adalah satu set dari
table yang disimpan dalam file khusus
disebut data
dictionary/directory.
B. Data Manipulation Language (DML)
Bahasa yang memperbolehkan pemakai
untuk akses
atau memanipulasi data sebagai yang telah
diorganisasikan sebelumnya dalam model
data yang
tepat
Secara dasar ada dua tipe DML :
1. Prosedural, yang membutuhkan
pemakai untuk
menspesifikasikan data apa yang
dibutuhkan dan
bagaimana untuk mendapatkannya contoh
dbase
III, foxbase
2. Non prosedural, yang membutuhkan
pemakai untuk
menspesikasikan data apa yang
dibutuhkan tanpa
menspesifikasikan bagaimana untuk
mendapatkannya. Contoh SQL, QBE.
FUNGSI DBMS
1. Data Definition, DBMS harus dapat
mengolah
pendefinisian data
2. Data Manipulation, DBMS harus dapat
menangani
permintaan dari pemakai untuk
mengakses data
3. Data Security & Integrity, DBMS
harus dapat
memeriksa security dan integrity data
yang
didefinisikan oleh DBA
4. Data Recovery & Concurency,
DBMS harus dapat
menangani kegagalan – kegagalan
pengaksesan
database yang dapat disebabkan oleh
sesalahan sistem,
kerusakan disk, dsb
5. Data Dictionary, DBMS harus
menyediakan data
dictionary.
6. Performance, DBMS harus menangani
unjuk kerja dari
semua fungsi seefisien mungkin
KOMPONEN DBMS
1. Query Prosesor, komponen yang
mengubah
bentuk query kedalam instruksi kedalam
database manager
2. Database Manager, menerima query
&
menguji eksternal & konceptual
untuk
menentukan apakah record – record
tersebut
dibutuhkan untuk memenuhi permintaan
kemudian database manager memanggil
file
manager untuk menyelesaikan permintaan
3. File Manager, memanipulasi
penyimpanan
file dan mengatur alokasi ruang
penyimpanan
disk
4. DML Prosessor, modul yang mengubah
perintah DML
yang ditempelkan kedalam program
aplikasi dalam
bentuk fungsi-fungsi
5. DDL Compiler, merubah statement
DDL menjadi
kumpulan table atau file yang berisi
data dictionary /
meta data
6. Dictionary Manajer, mengatur akses dan
memelihara
data dictionary
PERBEDAAN TRADITIONAL
FILE MANAGEMENT
(FMS) DENGAN DATABASE
MANAGEMENTSISTEM
(DBMS)
TRADITIONAL FILE
MANAGEMENT
1. Bersifat program oriented
2. Bersifat kaku
3. Terjadi kerangkapan data dan tidak
terjaminnya
keselarasan data ( data inkonsistensi)
DATABASE FILE
MANAGEMENT (DBMS)
1. Bersifat data oriented
2. Bersifat luwes/fleksible
3. Kerangkapan data serta keselarasan
data dapat
terkontrol
Keterangan :
Program oriented “ Susunan data di
dalam file , distribusi
data pada peralatan strorage, dan
organisasi filenya
dipilih sedemikian rupa, sehingga
program aplikasi dapat
menggunakan secara optimal “
Data oriented “ Susunan data,
organisasi file pada database
dapat dirubah, begitu pula strategi
aksesnya tanpa
mengganggu program aplikasi yang sudah
ada “.
ARSITEKTUR SISTEM
DATABASE
Terbagi menjadi 3
tingkatan :
1. Internal level yaitu menerangkan
struktur penyimpanan
basisdata secara fisik dan organisasi
file yang
digunakan “
2. konseptual level yang menerangkan
secara
menyeluruh dari basisdata dengan
menyembunyikan
penyimpanan data secara fisik “
3. Ekternal level yang menerangkan
View basisdata dari
sekelompok pemakai
Pemakai A1 Pemakai A2 Pemakai B1
Pemakai B2
Bahasa
Pemrograman
Bahasa
Pemrograman
Bahasa
Pemrograman
Bahasa
Pemrograman
Pandangan Ekternal
si A
Pandangan Ekternal
si B
Pemetaan Konseptual
Ekternal dari A
Pemetaan Konseptual
Ekternal dari B
Arsitektur Sistem Database
Pandangan Konseptual
DBMS
Pemetaan Secara Internal
/Phisik
Penyimpanan database level pandangan
phisik/internal
DATA INDEPENDENCE
Merupakan salah satu kelebihan sistem
database
dimana DBA dapat merubah struktur
storage & stategi
akses dalam pengembangan sistem
database tanpa
mengganggu program-program aplikasi
yang sudah
ada.
2 TINGKAT DATA
INDEPENDENCE
1. Physical data independence yaitu
perubahan internal
schema dapat dilakukan tanpa menggangu
conceptual
schema
2. Logical data independence yaitu
conceptual schema
dapat dirubah tanpa mempengaruhi
ekternal schema
ALASAN PERLUNYA
PRINSIP DATA
INDEPENDENCE
DITERAPKAN PADA
PENGELOLAAN SISTEM
DATABASE
1. Database Administrator dapat
merubah isi, lokasi dan
organisasi database tanpa mengganggu
program
aplikasi yang ada
2. Vendor hardware & software
pengelolaan data bisa
memperkenalkan produk - produk baru
tanpa
mengganggu program - program aplikasi
yang telah ada
3. Untuk memudahkan perkembangan
program aplikasi
4. Memberikan fasilitas pengontrolan
terpusat oleh DBA
demi security dan integritas data,
dengan
memperhatikan perubahan - perubahan
kebutuhan user.
ABSTRAKSI HUBUNGAN
ANTARA USER PADA DBMS DENGAN
PHYSICAL DATABASE,
USER
DBMS
USER INTERFACE
STORE RECORD INTERFACE
EKTERNAL RECORD
OCCURENCE
STORE RECORD
OCCURENCE
ACESS METHOD
D A T A B A S E
PHYSICAL RECORD INTERFACE
PHYSICAL RECORD
OCCURRENCE (BLOCK
DATA
MODEL
Pertemuan 3
PENGERTIAN
MODEL DATA :
Sekumpulan konsep-konsep
untuk menerangkan data,
hubungan-hubungan antara
data dan batasan-batasan data
yang terintegrasi di dalam
suatu organisasi
JENIS-JENIS
MODEL DATA
A. Model data berbasis
objek
B. Model data berbasis
record
C. Model data fisik
D. Model data konseptual
A. OBJECT
BASED DATA MODEL
Model data berbasis objek
menggunakan konsep
entitas, atribut dan
hubungan antar entitas.
Terdiri dari :
1. Entity Relationship
model
2. Semantik data model
1. ENTITY
RELATIONSHIP MODEL
Model untuk menjelaskan
hubungan antar data dalam
basis data berdasarkan
suatu persepsi bahwa real
word terdiri dari
objek-object dasar yang mempunyai
hubungan atau relasi
antara objek-objek tersebut
E-R MODEL
berisi ketentuan /aturan khusus yang harus
dipenuhi oleh isi
database. Aturan terpenting adalah
MAPPING CARDINALITIES,
yang menentukan jumlah
entity yang dapat
dikaitkan dengan entity lainnya melalui
relationship-set.
Simbol
yang digunakan :
: Menunjukan object dasar
: Menunjukan relasi
: Menunjukan atribut dari
objek dasar
: Menunjukan adanya relasi
MHS1
Slide 4
MHS1 Mahasiswa, 7/31/2007
Customer Buku
Tabungan
Memiliki
Nama
No tabungan
Saldo
Contoh kasus ER-model
Alamat
Atribute lain No tabungan Atribute lain
2. BINARY
MODEL
Pemetaan data dengan
menggunakan 0 dan 1, atau true dan
false dengan kondisi tertentu
atau hanya dalam alternatif.
3. SEMANTIC MODEL
Hampir sama dengan Entity
Relationship model dimana
relasi antara objek dasar
tidak dinyatakan dengan simbol
tetapi menggunakan
kata-kata (Semantic). Sebagai
contoh, dengan masih
menggunakan relasi pada Bank X
sebagaimana contoh
sebelumnya, dalam semantic
model adalah seperti
terlihat pada gambar di atas.
Tanda-tanda yang
menggunakan dalam semantic model
adalah sebagai berikut :
: Menunjukkan adanya
relasi
: menunjukkan atribut
Tabungan Customer Amir
Mempunyai Adalah
Contoh kasus Semantic
model
No. Saldo Alamat
Tabungan
No.
Tabungan
B. RECORD
BASED DATA MODEL
Model ini berdasarkan pada
record untuk menjelaskan
kepada user tentang
hubungan logic antar data dalam
basis data
PERBEDAAN
DENGAN OBJECT BASED DATA MODEL
Pada record based data
model disamping digunakan
untuk menguraikan struktur
logika keseluruhan dari
suatu database, juga
digunakan untuk menguraikan
implementasi dari sistem
database (higher level
description of
implementation)
Terdapat 3 data model pada
record based data model :
1. Model
Relational,
Dimana data serta hubungan
antar data direpresentasikan
oleh sejumlah tabel dan
masing-masing tabel terdiri dari
beberapa kolom yang
namanya unique. Model ini
berdasarkan notasi teori
himpunan (set theory), yaitu
relation.
Contoh : data base penjual
barang terdiri dari 3 tabel :
– Supllier
– Suku_cadang
– Pengiriman
No_supl
Nama_pen Status KOTA
S01
s02
s03
s04
PT.
OGAH-RUGI
PT.
SANTAI-DULU
PT.
MALU-MALU
CV. ASAL
JADI
03
03
02
01
MEDAN
SURABAYA
BANDUNG
MEDAN
SUPPLIER
PENGIRIMAN
NO_SUPL NO_PART JUML
S01
S01
S01
P01
P02
P04
200
300
250
NO_PA
RT
NAMA_PART
BAHAN
BAKU
BERA
T
KOTA
P01
P02
P03
P04
P05
BAUT-3 cm
MUR - 3
cm
BAUT -10
cm
PACKING
RING-MM
BESI
BESI
ALUMUNIUM
KARET
ALUMUNIUM
10
8
45
6
2
JAKARTA
JAKARTA
SURABAYA
MEDAN
JAKARTA
SUKU CADANG
S02
S02
S03
S04
P01
P02
P03
P04
300
400
400
300
2. Model
Hirarki
Dimana data serta hubungan
antar data
direpresentasikan dengan
record dan link (pointer),
dimana record-record
tersebut disusun dalam bentuk
tree (pohon), dan
masing-masing node pada tree
tersebut merupakan
record/grup data elemen dan
memiliki hubungan
cardinalitas 1:1 dan 1:M
A
C D
G
B
E F H I
PARENT
CHILD
DOSEN
SISTEM DATABASE ANALISA DAN PERANCANGAN SISFO
NINA
BAYA
LENA HAFIDZ NOVI HAFIDZ NAYA RAFA
3. Model
Jaringan
Distandarisasi tahun 1971
oleh Database Task Group
(DBTG) atau disebut juga
model CODASYL
(Conference on Data System
Language), mirip dengan
hirarkical model dimana
data dan hubungan antar data
direpresentasikan dengan
record dan links.
Perbedaannya terletak pada
susunan record dan linknya
yaitu network model
menyusun record-record dalam
bentuk graph dan
menyatakan hubungan cardinalitas
1:1, 1:M dan N:M
R1
R3 R4
R5
R2
DOSEN
ANALISA DAN SISTEM DATABASE PERANCANGAN SISFO
BAYA
NINA LENA NOVI HAFIDZ NAYA RAFA
C.PHYSICAL
DATA MODEL
Digunakan untuk
menguraikan data pada internal level
Beberapa model yang umum
digunakan :
– Unifying model
Model ini menggabungkan
memori dan transaksi
database dalam satu
kesatuan model.
– Frame memory
Frame Memory adalah sebuah
virtual view dari tempat
penyimpanan sekunder yang
digunakan untuk
mendukung penyimpanan
record database
D. MODEL
DATA KONSEPTUAL
Model yang dibuat
berdasarkan anggapan bahwa dunia
nyata terdiri dari koleksi
obyek-obyek dasar yang dinamakan
entitas (entity) serta
hubungan (relationship) antara entitasentitas
itu. Biasanya
direpresentasikan dalam bentuk Entity
Relationship
Diagram.
Manfaat Penggunaan CDM
dalam perancangan database :
• Memberikan gambaran yang
lengkap dari struktur basis
data yaitu arti, hubungan,
dan batasan-batasan
• Alat komunikasi antar
pemakai basis data, designer, dan
analis.
Analisa Kasus
(Perpustakaan Smart
Lanjutan
Slide 1 & 2)
• Buat Model data berbasis
objek
(Semantik Model)
• Buat Model data berbasis
record
– Model Relational
– Model Jaringan
– Model hirarki
ENTITY
RELATIONSHIP
Pertemuan
4
MODEL
ENTITY
RELATIONSHIP
PENGERTIAN
Entity relationship Adalah
jaringan yang menggunakan
susunan data yang disimpan
dari sistem secara abstrak.
Entity-relationship dari model
terdiri dari unsur-unsur entity
dan relationship antara
entity-entitiy tersebut.
SIMBOL-SIMBOL
ER-DIAGRAM
• ENTITY
• WEAK ENTITY
• RELATIONSHIP
Notasi
Arti
• ATRIBUT
• ATRIBUT
PRIMARY
KEY
Notasi
Arti
• IDENTIFYING
RELATIONSHIP
• ATRIBUT
DERIVATIF
• ATRIBUT MULTI
VALUE
• ATRIBUT
COMPOSITE
KOMPONEN
ENTITY RELATIONSHIP
1. Entitas yaitu suatu
kumpulan object atau sesuatu yang
dapat dibedakan atau dapat
diidentifikasikan secara
unik. Dan kumpulan entitas
yang sejenis disebut
dengan entity set.
2. Relationship yaitu
hubungan yang terjadi antara satu
entitas atau lebih.
3. Atribut, kumpulan
elemen data yang membentuk suatu
entitas.
4. Indicator tipe terbagi
2 yaitu :
a. Indicator tipe
asosiatif object
b. Indicator tipe super
tipe
ENTITY
SET TERBAGI ATAS :
1. Strong entity set yaitu
entity set yang satu atau lebih
atributnya digunakan oleh
entity set lain sebagai key.
Digambarkan dengan empat
persegi panjang.
Misal :
E adalah sebuah entity set
dengan atribute-atribute a1,
a2,..,an, maka entity set
tersebut direpresentasikan dalam
bentuk tabel E yang
terdiri dari n kolom, dimana setiap
kolom berkaitan dengan
atribute-atributenya.
2. Weak Entity set, Entity
set yang bergantung terhadap
strong entity set.
Digambarkan dengan empat persegi
panjang bertumpuk.
Misal :
A adalah weak entity set
dari atribute-atribute a1, a2, .., ar
dan B adalah strong entity
set dengan atribute-atribute b1,
b2,..,bs, dimana b1 adalah
atribute primary key, maka
weak entity set
direpresentasikan berupa table A, dengan
atribute-atribute {b1} u
{a1,a2,.., ar}
NOPEG
PEGAWAI MILIK TANGGUNGAN
…….. NAMA ……..
Contoh Weak Entity
Contoh Strong Entity
NOPEG NAMA
200107340
200307569
200107341
200107486
BILLY
FUAD
NINING
FINTRI
Contoh
: Strong entity set
NOPEG TANGGUNGAN
TANGGAL
LAHIR
JENIS
KELAMIN
200107340
200307569
200107341
200107486
HAFIDZ
RENI
RAFFA
NAIA
22-03-2006
13-05-1999
21-06-2006
25-10-2006
LAKI-LAKI
PEREMPUAN
LAKI-LAKI
PEREMPUAN
Weak entity set
transaction
JENIS
–JENIS ATRIBUT
a. KEY _ atribut yang digunakan untuk menentukan suatu
entity secara unik
b. ATRIBUT SIMPLE _atribut yang bernilai tunggal
c. ATRIBUT MULTI VALUE _atribut yang memiliki
sekelompok nilai untuk
setiap instan entity
Pada gambar dibawah ini,
yang menjadi atribut key adalah NIP.
Tgl Lahir dan Nama adalah
atribut simple. Sedangkan Gelar
merupakan contoh atribut
multivalue.
TGL
LAHIR GELAR
NIP NAMA
PEGAWAI
NAMA
NAMA
NAMA
d. ATRIBUT COMPOSIT _Suatu atribut yang terdiri dari
beberapa atribut yang
lebih kecil yang mempunyai arti
tertentu contohnya adalah
atribut nama pegawai yang terdiri
dari nama depan, nama
tengah dan nama belakang.
DEPAN
TENGAH
BLKNG
NAMA
PEGAWAI
d. ATRIBUT DERIVATIF _Suatu atribut yg dihasilkan dari
atribut yang lain.
Sehingga umur yang merupakan hasil
kalkulasi antara Tgl Lahir
dan tanggal hari ini. Sehingga
keberadaan atribut umur
bergantung pada keberadaan
atribut Tgl Lahir.
TGL
UMUR
LAHIR PEGAWAI
DERAJAT
RELATIONSHIP
menjelaskan jumlah entity
yang berpartisipasi dalam suatu
relationship
1. UNARY DEGREE
2. BINARY DEGREE
PEGAWAI LAPOR
3. TERNARY DEGREE
PEGAWAI KERJA DEPARTEMEN
PEGAWAI KERJA PROYEK
KOTA
MAPPING
CARDINALITY
Banyaknya entity yang
bersesuaian dengan entity yang lain
melalui relationship
JENIS-JENIS
MAPPING :
1. One to one
2. Many to One atau One to
many
3. Many to many
REPRESENTASI
DARI ENTITY SET
Entity set
direpresentasikan dalam bentuk tabel dan
nama yang unique. Setiap
tabel terdiri dari sejumlah
kolom, dimana
masing-masing kolom diberi nama yang
unique pula
• CARDINALITY RATIO
CONSTRAINT, Menjelaskan
batasan jml keterhubungan
satu entity dgn entity lainnya
Jenis Cardinality Ratio =
1:1 1:N/ N:1 M : N
P1.
P2.
PEGAWAI
R1.
R2.
MILIK
K1.
K2.
KENDARAAN
1 : 1
P3.
R3.
K3.
PEGAWAI MILIK KENDARAAN
1 1
DEPARTEMEN
P1.
P2.
P3.
P4.
PEGAWAI
R1.
R2.
R3.
R4.
KERJA
D1.
D2.
D3.
1:N/
N:1
PEGAWAI KERJA DEPARTEMEN
1 N
PROYEK
KERJA
P1.
P2.
P3.
PEGAWAI
R1.
R2.
R3.
R4.
KERJA
P1.
P2.
P3.
M : N
PEGAWAI PROYEK
M N
Cardinality 1:1,1:M,M:N
ONE-TO-ONE:
Husband
Wife
ONE-TO-MANY:
Customer
Order
1
Order
2
Order
3
MANY-TO-MANY:
STUDENT
A
STUDENT
B
STUDENT
C
CLASS
1
CLASS
2
M
1
M
ORDER
CAN
PART
CAN
HAVE
ORDER: #,
DATE, PART #, QUANTITY
PART: #,
DESCRIPTION, UNIT PRICE, SUPPLIER #
SUPPLIER:
#, NAME, ADDRESS
1
HAVE
SUPPLIER
A
A
A
A
B
B
B
B
E a c h i n s t a n c e o
f A i s r e l a t e d t o a m i n im u m o f
z e r o a n d a m a x im u
m o f o n e i n s t a n c e o f B
E a c h i n s t a n c e o
f B i s r e l a t e d t o a m i n im u m o f
o n e a n d a m a x im u m
o f o n e i n s t a n c e o f A
E a c h i n s t a n c e o
f A i s r e l a t e d t o a m i n im u m o f
o n e a n d a m a x im u m
o f m a n y i n s t a n c e s o f B
E a c h i n s t a n c e o
f B i s r e l a t e d t o a m i n im u m o f
z e r o a n d a m a x im u
m o f m a n y i n s t a n c e s o f A
Logical
Record Structured (LRS)
LRS _ representasi dari struktur record-record pada tabel-tabel
yang terbentuk dari hasil
relasi antar himpunan entitas.
Menentukan
Kardinalitas, Jumlah Tabel dan Foreign Key
(FK)
One to
One (1-1)
Supir kemudi Taksi
Gambar di atas menunujukan
relasi dengan kardinalitas 1-1,
karena:
1 supir
hanya bisa mengemudikan 1taksi, dan
1 taksi
hanya bisa dikemudikan oleh 1 supir.
Relasi 1-1 akan membentuk
2 tabel:
Tabel Supir (nosupir,
nama, alamat)
Tabel Taksi (notaksi,
nopol, merk, tipe)
LRS yang terbentuk sbb:
nosupir
nama
alamat
notaksi
nopol
merk
tipe
nosupir(FK)
atau
notaksi
nopol
merk
tipe
nosupir
nama
alamat
Notaksi(FK)
One to
Many (1-M)
Dosen Kelas bimbing
Gambar di atas menunujukan
relasi dengan kardinalitas 1-M,
karena:
1 Dosen
bisa membimbing banyak Kelas, dan
1 Kelas
hanya dibimbing oleh 1 Dosen.
Relasi 1-M akan membentuk
2 tabel:
Tabel Dosen (nip, nama,
alamat)
Tabel Kelas (kelas,
jurusan, semester, jmlmhs)
LRS yang terbentuk sbb:
nip
nama
alamat
kelas
jurusan
semester
jmlmhs
nip (FK)
Many to
Many (M-M)
Mahasiswa Mtkuliah
ajar
Gambar di atas menunujukan
relasi dengan kardinalitas M-M,
karena:
1
Mahasiswa bisa belajar banyak Mata Kuliah, dan
1 Mata
Kuliah bisa dipelajari oleh banyak Mahasiswa.
Relasi M-M akan membentuk
3 tabel:
Tabel Mahasiswa (nim,
nama, alamat)
Tabel Mtkuliah (kdmk,
nmmk, sks)
Tabel Nilai (nim, kdmk,
nilai) _ menggunakan super
key/composite key
LRS yang terbentuk sbb:
nim
nama
alamat
kdmk
nmmk
sks
nim (FK)
Mahasiswa
Nilai
Mtkuliah
kdmk (FK)
nilai
Participation
Constraint
Menjelaskan apakah
keberadaan suatu entity tergantung
pada hubungannya dengan
entity lain.
Terdapat dua macam
participation constrain yaitu:
1. Total participation
constrain yaitu:
Keberadaan suatu entity
tergantung pada
hubungannya dengan entity
lain. Didalam diagram ER
digambarkan dengan dua
garis penghubung antar
entity dan relationship.
2. Partial participation,
yaitu
Keberadaan suatu entity
tidak tergantung pada
hubungan dengan entity
lain. Didalam diagram ER
digambarkan dengan satu
garis penghubung.
Contoh :
a. TOTAL PARTICIPATION
PEGAWAI PUNYA BAGIAN
N 1
b. PARTIAL PARTICIPATION
PEGAWAI
KERJA PROYEK
N 1
INDICATOR
TIPE
Indicator tipe asosiatif
object berfungsi sebagai suatu objek dan
suatu relationship.
SISWA MENDAFTAR KURSUS
Berubah menjadi
SISWA KURSUS
PENDAFTARAN
Indicator tipe super tipe,
terdiri dari suatu object dan satu
subkategori atau lebih
yang dihubungkan dengan satu
relationship yang tidak
bernama.
PEGAWAI
PEGAWAI
HONORER
PEGAWAI
TETAP
Analisa Kasus ERD
Perpustakaan Smart
(Lanjutan dari Slide 1,2
& 3)
1. Pembuatan gambar ERD dari
Perpustkaan Smart
Langkah
–langkah pembuatan ER diagram
Tentukan entity – entity
yang diperlukan
Tentukanrelationship antar
entity – entity.
Tentukan cardinality ratio
dan participation constraint
Tentukan attribute –
attribute yang diperlukan dari tiap entity
Tentukan key diantara
attribute – attribute.
Tentukan LRS dari
masing-masing relasi
Hindari penamaan entity, relationship dan
atribute yang sama.
TEHNIK NORMALISASI
Pertemuan 5
TEHNIK NORMALISASI
BEBERAPA PENGERTIAN
NORMALISASI :
Normalisasi merupakan proses
pengelompokan
elemen data menjadi tabel–tabel yang
menunjuk-kan
entity dan relasinya.
Normalisasi adalah proses
pengelompokan atributeatribute
dari suatu relasi sehingga membentuk
WELL
STRUCTURE RELATION.
Keuntungan dari
normalisasi, yaitu :
1. Meminimalkan ukuran penyimpanan
yang diperlukan untuk
menyimpan data.
2. Meminimalkan resiko inkonsistensi
data pada basis data
3. Meminimalkan kemungkinan anomali
pembaruan
4. Memaksimalkan stabilitas struktur
data
WELL STRUCTURE
RELATION
Adalah sebuah relasi yang jumlah
kerangkapan datanya
sedikit (minimum Amount Of
Redundancy), serta
memberikan kemungkinan bagi user untuk
melakukan
INSERT, DELETE, dan MODIFY terhadap
baris-baris
data pada relation tersebut, yang
tidak berakibat
terjadinya ERROR atau INKONSESTENSI
DATA, yang
disebabkan oleh operasi-operasi
tersebut
Contoh :
Terdapat sebuah relation Course,
dengan ketentuan sbb:
1. Setiap mahasiswa hanya boleh
mengambil satu matakuliah
saja.
2. Setiap matakuliah mempunyai uang
kuliah yang standar
(tidak tergantung pada mahasiswa yang
mengambil
matakuliah tsb).
STUDENT-ID KODE-MTK BIAYA
92130
92200
92250
92425
92500
CS-200
CS-300
CS-200
CS-400
CS-300
75
100
75
150
100
RELASI KURSUS
92575
CD-500
50
• Relasi di atas merupakan sebuah
relation yang sederhana dan terdiri dari
3 kolom/atribute
• Bila diteliti secara seksama, maka
akan ditemukan redundancy pada
datanya, dimana biaya kuliah selalu
berulang pada setiap mhs. Akibatnya
besar kemungkinan terjadi Error atau
inkonsistensi data, bila dilakukan
update terhadap relation tsb yang
disebut dengan Anomali
ANOMALY merupakan
penyimpangan-penyimpangan atau Error
atau inkonsistensi data yang terjadi
pada saat dilakukan proses
insert, delete maupun update.
Terdapat 3 jenis Anomali :
1. Insertion Anomali
Error yang terjadi sebagai akibat
operasi insert record/tuple
pada sebuah relation
contoh :
Ada matakuliah baru (CS-600) yang akan
diajarkan, maka
matakuliah tsb tidak bisa di insert ke
dalam relation tsb sampai
ada mhs yang mengambil matakuliah tsb.
2. Deletion Anomali
Error yang terjadi sebagai akibat
operasi delete record/tuple
pada sebuah relation
Contoh :
Mhs dengan student-id 92-425,
memutuskan untuk batal ikut
kuliah CS-400, karena dia merupakan
satu-satunya peserta
matakuliah tsb, maka bila record/tuple
tsb didelete akan
berakibat hilangnya informasi bahwa
mata-kuliah CS-400,
biayanya 150
3. Update Anomali
Error yang terjadi sebagai akibat
inkonsistensi data yang
terjadi sebagai akibat dari operasi
update record/tuple dari
sebuah relation
Contoh :
Bila biaya kuliah untuk matakuliah
CS-200 dinaikan dari 75
menjadi 100, maka harus dilakukan
beberapa kali modifikasi
terhadap record-record, tuple-tuple
mhs yang mengambil
matakuliah CS-200, agar data tetap
konsisten
Berdasarkan teori normalisasi,
relation course dipecah
menjadi 2 relation terpisah , sebagai
berikut :
STUDEN
T-ID
KODEMTK
KODEMTK
BIAYA
MTK
92130
92200
92250
92425
92500
92575
CS-200
CS-300
CS-200
CS-400
CS-300
CD-500
MTK
CS-200
CS-300
CS-400
CS-500
75
100
150
50
PROBLEM-PROBLEM PADA
RELATION YANG
SUDAH DINORMALISASI
_ Performance problem
Masalah terhadap performa database
_ Referential Integrity
Problem
Masalah yang timbul terhadap referensi
antar data-data
diantara dua tabel atau lebih
BEBERAPA KONSEP YANG
HARUS DIKETAHUI:
a. Field/ Atribut Kunci
b. Kebergantungan Fungsi
a. Key Field / atribute kunci dalam
database:
1. Super key
Yaitu himpunan dari satu atau lebih
entitas yang
digunakan untuk mengidentifikasikan
secara unik
sebuah entitas dalam entitas set.
2. Candidate key
Yaitu satu attribute atau satu set
minimal atribute
yang mengidentifikasikan secara unik
suatu kejadian
yang spesifik dari entity.
3. Primary key
Yaitu satu atribute atau satu set
minimal atribute yang
tidak hanya mengidentifikasikan secara
unik suatu
kejadian yang spesifik tapi juga dapat
mewakili setiap
kejadian dari suatu entity
4. Alternate key
Yaitu kunci kandidat yang tidak
dipakai sebagai primary
key
5. Foreign key
yaitu satu atribute (atau satu set
atribute) yang melengkapi
satu relationship (hubungan yang
menunjukkan ke
induknya.
S# SNAME KOD
E
S1
S2
ADI
RAFI
1002
1001
KODE P#
1002
1001
2648
2649
SALES PESANAN
S3
HANY
1003
1003
2641
_ Super key = S#,
SNAME, KODE
_ Candidat key = S#,
SNAME
_ Primary key = S#
_ Altenative key =
SNAME
_ Foreign key = KODE
b. Ketergantungan Kunci
1. Ketergantungan Fungsional
(Fungsional Dependent)
Keterkaitan antar hubungan antara 2
atribute pada
sebuah relasi. Dituliskan dengan cara
: A -> B, yang
berarti :
Atribute B fungsionality Dependent
terhadap atribute A
atau
Isi (value) atribute A
menentukan isi atribute B
Definisi dari functional dependent :
Diketahui sebuah relasi R, atribute Y
dari R adalah FD
pada atribute X dari R ditulis R.X
-> R.Y jika dan hanya
jika tiap harga X dalam R bersesuaian
dengan tepat
satu harga Y dalam R
2. Fully Functionaly Dependent (FFD)
Suatu rinci data dikatakan fully
functional dependent
pada suatu kombinasi rinci data jika
functional dependent
pada kombinasi rinci data dan tidak
functional dependent
pada bagian lain dari kombinasi rinci
data.
Definisi dari FDD:
Atribute Y pada relasi R adalah FFD
pada atribute X
pada relasi R jika Y FD pada X tida FD
pada himpunan
bagian dari X
Contoh:
PersonID, Project, Project_budget _
time_spent_byperson_onProject (bukan
FFD)
PersonID, Project _
time_spent_byperson_onProject
(FDD)
3. Ketergantungan Partial
Sebagian dari kunci dapat digunakan
sebagai kunci
utama
4. Ketergantungan Transitif
Menjadi atribute biasa pada suatu
relasi tetapi
menjadi kunci pada relasi lain
5. Determinan
Suatu atribute (field) atau gabungan atribute
dimana
beberapa atribute lain bergantung
sepenuhnya pada
atribute tersebut
TEHNIK NORMALISASI
Pertemuan 6
LANJUTAN
BENTUK TIDAK NORMAL
UNNORMALIZED
FIRST NORMAL FORM
(INF)
SECOND NORMAL FORM
(2NF)
MENGHILANGKAN
ELEMEN
DATA BERULANG
MENGHILANGKAN
KETERGANTUNGAN
PARTIAL
MENGHILANGKAN
KETERGANTUNGAN
TRANSITIF
LANGKAH - LANGKAH PEMBENTUKAN
NORMALISASI:
THIRD NORMAL FORM
(3NF)
FOURTH NORMAL FORM
(4NF)
BOYCE-CODD NORMAL FORM (BCNF)
FIFTH NORMAL FORM
(5NF)
Menghilangkan
kunci kandidat yg bkn
merupakan determinan
Menghilangkan
ketergantungan multi
value yg bkn
merup. Ketergantungan
fungsional
Menghilangkan
ketergantungan join
yg bkn merupakan
kunci kandidat
1. Bentuk tidak
normal (Unnormalized Form):
Bentuk ini merupakan kumpulan data
yang akan
direkam, tidak ada keharusan mengikuti
suatu format
tertentu. Dapat saja data tidak
lengkap atau
terduplikasi. Data dikumpulkan apa
adanya sesuai
dengan saat menginput.
no_siswa Nama PA kelas1 kelas2 kelas3
22890100
22890101
Rafi
Thoriq
Rachmat
Adi
1234
1234
1543
1775
1543
Contoh data :
Siswa yg punya nomor siswa, nama, dan
PA mengikuti 3 mata
pelajaran/kelas. Disini ada perulangan
kelas 3 kali ini bukan
bentuk 1 NF
Ket : PA = Penasehat Akademik
2. Bentuk Normal Ke
Satu (1 NF/First Normal Form)
Suatu relasi 1NF jika dan hanya jika
sifat dari setiap
relasi atributnya bersifat atomik.
Atom adalah zat terkecil yang masih
memiliki sifat
induknya, bila dipecah lagi maka ia
tidak memiliki sifat
induknya.
Ciri-ciri 1 NF :
• Setiap data dibentuk dalam flat
file, data dibentuk dalam
satu record demi satu record nilai
dari field berupa
“atomic value”
• Tidak ada set atribute yang berulang
atau bernilai
ganda
• Tiap field hanya satu pengertian
no_siswa Nama Pa kode_kelas
22890100
22890100
22890101
Rafi
Rafi
Thoriq
Rachmat
Rachmat
Adi
1234
1543
1234
22890101
22890101
Thoriq
Thoriq
Adi
Adi
1775
1543
3. Bentuk Normal Ke
Dua (2 NF /Second Normal Form)
Bentuk normal kedua mempunyai syarat
yaitu bentuk data
telah memenuhi kriteria bentuk normal
kesatu. Atribute
bukan kunci haruslah bergantung secara
fungsi pada kunci
utama/primary key. Sehingga untuk
membentuk normal
kedua haruslah sudah ditentukan
kunci-kunci field. Kunci
field haruslah unik dan dapat mewakili
atribute lain yg
menjadi anggotanya.
Misal :
Dari contoh relasi Siswa pada I NF
terlihat bahwa kunci
utama/primary key adalah nomor siswa.
Nama siswa dan PA
bergantung fungsi pada no_siswa,
tetapi kode_kelas
bukanlah fungsi dari siswa, maka file
siswa dipecah menjadi
2 relasi
No-siswa Nama Pa
22890100
22890101
Rafi
Thoriq
Rachmat
Adi
Relasi Siswa
dan
No-siswa Kode_kelas
22890100
22890100
22890101
22890101
22890101
1234
1543
1234
1775
1543
Relasi ambil_kelas
4. Bentuk Normal Ke
Tiga (3 NF / Third Normal Form)
Untuk menjadi bentuk normal ketiga
maka relasi haruslah
dalam bentuk normal kedua dan semua
atribute bukan
primer tidak punya hubungan yang
transitif. Dengan kata
lain, setiap atribute bukan kunci
haruslah bergantung
hanya pada primary key dan pada
primary key secara
menyeluruh.
Contoh pada bentuk normal kedua di atas
termasuk juga
bentuk normal ke tiga karena seluruh
atribute yang ada
disitu bergantung penuh pada kunci
primernya
5. Boyce-Codd Normal Form (
BCNF)
BCNF mempunyai paksaan yg lebih kuat
dari bentuk
normal ketiga. Untuk menjadi BCNF,
relasi harus dalam
bentuk normal kesatu dan setiap
atribute harus
bergantung fungsi pada atribute
superkey
Pada contoh di bawah ini terdapat
relasi seminar dengan
ketentuan sbb :
a. kunci primer adalah
no_siswa+seminar.
b. Siswa boleh mengambil satu atau dua
seminar.
c. Setiap siswa dibimbing oleh salah
satu diantara 2
instruktur seminar tsb.
d. Setiap instruktur boleh hanya
mengambil satu
seminar saja.
Pada contoh ini no_siswa dan seminar
menunjuk seorang
instruktur :
no_siswa Seminar Instruktur
22890100
22890101
22890102
2281
2281
2291
Si doel
Pak tile
Mandra
Relasi seminar
22890101
22890109
2291
2291
Basuki
Basuki
Bentuk relasi seminar adalah bentuk
normal ketiga, tetapi
tidak BCNF karena nomor seminar masih
bergantung fungsi
pada instruktur, jika setiap
instruktur dapat mengajar hanya
pada satu seminar. Seminar bergantung
fungsi pada satu
atribute bukan superkey seperti yg
disyaratkan oleh BCNF.
Maka relasi seminar haruslah dipecah
menjadi dua yaitu :
Instruktur Seminar
Si doel
Pak tile
Mandra
2281
2281
2291
no_siswa Instruktur
22890100
22890101
22890102
Si doel
Pak tile
Mandra
Relasi pengajar
Basuki
2291
22890101
22890109
Basuki
Basuki
6. Bentuk Normal Ke
Empat (4 NF)
Relasi R adalah bentuk 4 NF jika dan
hanya jika relasi
tersebut juga termasuk BCNF dan semua
ketergantungan multivalue adalah juga
ketergantungan
fungsional
7. Bentuk Normal Ke
Lima (5 NF)
Disebut juga PJNF (Projection Join
Normal Form) dari 4
NF dilakukan dengan menghilangkan
ketergantungan
join yang bukan merupakan kunci
kandidat.
KASUS PENERAPAN
NORMALISASI
PT. SANTA PURI FAKTUR PEMBELIAN BARANG
Jalan senopati 11
yogyakarta
Kode Suplier : G01 Tanggal :
05/09/2000
Nama Suplier : Gobel Nustra Nomor :
998
A01
A02
AC SPLIT ½ PK
AC SPLIT 1 PK
10.0
10.0
135,000
200,000
1,350,000
2,000,000
Kode Nama Barang Qty Harga Jumlah
Total Faktur 3,350,000
Jatuh tempo faktur : 09/09/2000
no
fac
kode
supp
nama
supp
kode
brg
nama barang tanggal
jatuh
tempo
qty harga jumlah
Total
779
998
S02
G01
Hitachi
Gobel N
R02
A01
A02
RICE COOKER
AC SPLIT ½ PK
AC SPLIT 1 PK
02/09/00
05/09/00
08/09/00
09/09/00
10
10
10
15000
135000
200000
150000
1350000
2000000
150000
3350000
1.Step 1 bentuk unnormalized
nofac kode
supp
nama
supp
Kode
brg
nama barang tanggal
jatuh
tempo
qty harga jumlah
Total
779
998
998
S02
G01
G01
Hitachi
Gobel N
Gobel N
R02
A01
A02
RICE COOKER
AC SPLIT ½ PK
AC SPLIT 1 PK
02/09/00
05/09/00
05/09/00
08/09/00
09/09/00
09/09/00
10
10
10
15000
135000
200000
150000
1350000
2000000
150000
3350000
3350000
2. Step 2 bentuk 1 NF
Kode Supplier *
Nama Supplier
No Nota *
Tanggal
Tempo
Kode barang *
Nama barang
3. Step 3 bentuk 2 NF
Qty
harga
Total
KodeSupplier **
KodeBarang **
Kode Supplier *
Nama Supplier
No Nota *
Tanggal
Kode barang *
Nama barang
Tabel Supplier
Tabel Nota
Tabel Barang
4. Step IV Bentuk 3 NF
Tempo
Total
kode Supplier **
Keterangan:
* Kunci primer dari tabel.
** Kunci tame/penghubung
dari tabel thp induknya
No Nota **
Kode Barang **
Qty
Harga
Tabel Transaksi Brg
Latihan
Buatlah bentuk
Normalisasi dari dokumen berikut ini :
Kartu pengobatan masyarakat
No Pasien : 1234/PO/IV/99 Tanggal
Pendaftaran : 1 Mei 1999
Data Pasien dari, NOPEN :
1000019999 Nama Pasien : Bachtiar Jose
Alamat Pasien, Jalan : Kebon
Jeruk No. 27 Kelurahan : Palmerah
Kecamatan : Kemanggisan Wilayah
: Jakarta Barat
Kode Pos :11530 Telepon :
5350999
NoRM Tgl
periksa
Kode
Dokter
Nama Dokter KodeSakit Diskripsi sakit
Kode
obat
Nama obat Dosis
RM001 1/5/99 D01 Dr Zurmaini S11
Tropicana B01
B02
Sulfa
Anymiem
3dd1
4dd1
RM002 4/7/99 D01 Dr Zurmaini S12 Ulcer
Triombis B01
B03
Sulfa
Supralin
3dd2
3dd1
RM003 4/4/99 D02 Dr Harjono S12 Ulcer
Triombis B04 Adrenalin 4dd2
RM004 7/8/99 D04 Dr Mahendra S12 Ulcer
Triombis B01
B02
B03
Sulfa
Anymiem
Supralin
3dd2
4dd2
3dd1
Penerima Pasien Buatlah bentuk
un normal form, 1NF dan 2NF
Ttd
( Udin )