Lectured by : Budi Laksono Putro (budi.staf.upi.edu)
PENGENALAN BASIS DATA, ENTITY RELATIONSHIP MODEL
KONVERSI ER KE BASIS DATA REALATIONAL, NORMALISASI
PENGENALAN BASIS DATA
PENGENALAN BASIS DATA, ENTITY RELATIONSHIP MODEL
KONVERSI ER KE BASIS DATA REALATIONAL, NORMALISASI
PENGENALAN BASIS DATA
Dalam kehidupan sehari-hari kita dikampus atau di
masyarakat sering sekali kita membahas data dan informasi. Informasi merupakan
kumpulan data yang tersetruktur pada sebuah sistem yang dikenal sebagai basis
data (database).
1.1
Data dan Informasi
·
Data, adalah representasi
fakta dunia nyata. Respresentasinya bisa dalam bentuk Suara, video, dan
lain-lain. Fakta dunia nyata dapat berupa kejadian, aktivitas, perasaan dan
semua yang berhubungan tentan dunia nya
·
Informasi, adalah data yang sudah dikelola dalam bentuk
tertentu untuk memberi makna bagi yang menerimanya.
Kualitas data dan informas dapat dipengaruhi oleh hal-hal sebagai
berikut:
· Benar mempresentasikan dunia nyata
· Tepat waktu
· Tepat penggunaan
Kualitas data dan informas dapat dipengaruhi oleh hal-hal sebagai
berikut:
· Benar mempresentasikan dunia nyata
· Tepat waktu
· Tepat penggunaan
1.2
Terminologi dan Konsep Basis Data
Basis,
adalah tempat berkumpul. Data,
adalah fakta yang mewakili objek, dalam bentuk
angka, huruf, simbol, teks gambar, bunyi, atau kombinasinya. Objeknya seperti
manusia, barang, keadaan, dan lain-lain.
Dan dapat disimpulkan Basis Data adalah kumpulan
data yang saling berhubungan yang tersimpan secara bersama tanpa ada
penumpukan, bertujuan untuk memenuhi berbagai tujuan.
Tujuan dibangunnya basis data adalah sebagai berikut:
·
Kecepatan
& kemudahan
·
Menghemat
ruang penyimpanan
·
Keakuratan
·
Ketersediaan
·
Kelengkapan
·
Keamanan
·
Pemakaian bersama
1.3
Perkembangan Basis Data
Diagram dibawah ini merupakan perkembangan basis
data
1.4
Sistem Basis Data
Sitem
Basis Data, adalah sistem
yang terdiri dari file-file yang saling berhubungan dan dikelola oleh sistem
manajemen basis data.
Sistem
Manajemen Basis Data (Database Management
System, DBMS) , adalah
perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data, yang memiliki
karakteristik sebaai berikut :
· Software program
· Supplemets operating sistem
· Manages data
· Queries data and generates reports
· Data security
· Software program
· Supplemets operating sistem
· Manages data
· Queries data and generates reports
· Data security
Tujuan dari sistem basis data adalah untuk menyediakan fasilitas untuk view data secara abstrak bagi penggunanya. Sistem yang menyimpan dan mengelola data tersebut hanya diketahui oles sitem itu sendiri.
1.5
Model Basis Data
a. Relational
Relational dipresentasikan dalam tabel dua dimensi,
tabel-tabel tersebut memiliki hubungan yan disebut relasi. Model ini memiliki
fleksibilitas dan kecepatan yang tinggi
b. Hierarchical
Memiliki struktuk seperti pohon, field memiliki satu
buah induk, masing-masing induk memiliki banyak anak. Model ini memiliki
kecepatan yang tinggi
c. Network
Relationship
dibuat
menggunakan linked list (pointer). Berbeda dengan model hierarchical satu
anak dapat memiliki beberapa induk. Model ini memiliki fleksibilitas yang
tinggi.
d. Object oriented
Object
Oriented Database adalah sebuah sistem database yang
menggabungkan semua konsep object oriented seperti pewarisan, abstraksi,
enkapsulasi, dll. Model ini dapat berinteraksi dengan baik dengan bahasa
pemrograman berorientasi objek seperti java dan C++.
1.6
Basis Data Relasional
Model Relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna. Model ini menggunakan sekumpulan tabel berdimensi dua ( yang disebut relasi atau tabel ), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. DBMS yang bermodelkan relasional biasa disebut RDBMS (Relational Data Base Management System). Model database ini dikemukakan pertamakali oleh EF codd, seorang pakar basisdata. Model ini sering disebut juga dengan database relasi.
Tingkatan Data dalam Database Relasi
ENTETY RELATIONSHIP MODEL
Etenty Relationship, adalah model data konseptual yang tinkat tinggi
untuk perancangan basis data. Model data konseptual adalah kumpulan konsep yang
mendeskripsikan struktur basis data, trnsaksi pengambilan dan pembarusn basis
data.
Komponen-komponen utama model Etenty Relationship (ER) adalah :
Komponen-komponen utama model Etenty Relationship (ER) adalah :
1. Entitas
(entity), entitas memodelkan objek-objek yang berada di perusahaan atau lingkungan
2. Relationship.
Relationship memonelkan
koneksi atau hubungan di antara entitas-entitas
3. Atribut-antribut
( properti-properti). Memodelkan properti-properti dari entitas dan
relationship
4. Konstrain-konstrain
(batasan-batasan) integritas konstrain-konstrain ketentuan validitas
1.1
Entitas (entity) dan Himpuna
Entitas (entitas sets)
Entitas, merupakan individu yang mewakili sesuatu yang
nyata(eksitensinya) dan dapat dibedakan dari sesuatu yang lain.
nyata(eksitensinya) dan dapat dibedakan dari sesuatu yang lain.
Entitas
adalah objek yang dirasa penting di sistem tersebut, yg bisa berupa :
•
Objek Konkrit
Contoh : Orang, Mobil, Buku
•
Objek Abstrak
Contoh : Penjualan, Jadwal, Pinjaman,
Tabungan
·
Simple dan composite
Simple, adalah suatu
atribut yang tidak bisa dibagi menjdi bagian antribut yang lebih kecil lagi. Contohnya
: jenis kelamin.
Composite,adalah
antribut yang dapat dibagi menjadi beberapa bagian. Contohnya nama dapat dibagi
menjadi nama depan dan nama belakang,
·
Single
value dan multivalued
Single value, adalah atribut yang hanya bisa diisi oleh 1 nilai
untuk setiap baris data. Contohnya jenis kelamin
Multivalued,adalah atribut yang bisa beberapa nilai tetapi
sejenis untuk setiap baris data. Contohnya alamat, nomer telp dan hobi.
·
Derived
attribute
Derived attribute, adalah nilai yang didapatkan hasil dari pengelolahan
atribut yang lain, contohnya IPK yang didapatkan seorang mahasiswa penjumlahan
dari nilai dan dibagi dengan jumlah sks yang diambil mahasiswa tersebut.
1.3
Relasi
Relasi
menggambarkan hubungan antara entitas satu dengan
entitas yang lainnta sesuai dengan proses bisnisnya.
1.4
Derajat Himpunan Relasi
·
Unary (hanya merelasikan satu
entitas)
Relasi di
atas menggambarkan entitas employee yang berrelasasi dengan entitas employee. Relasi yang terjadi
yaitu relasi employee supervison untuk employee (entitas manajer adalah salah
satu karyawan juga).
·
Binary (merelasikan 2 entitas)
Relasi di
atas merupakan entitas pelangan yang berrelasi dengan entitas pinjaman. Satu pelanggan
bisa mempunyai banyak nomer pinjaman, dan satu nomer pinjaman hanya untuk satu
pelanggan
·
Ternary (merelasikan 3 entitas)
Relasi
di atas menggambarkan entitas employee yang ber-relasi dengan entitas brunch
dan entitas job melalui relasi work_on. 1 employee bekerja di
sebuah title tertentu dan juga bekerja di sebuah brunch_name tertentu. Ada 3
entitas yang terlibat dari relasi di atas
1.5
kardinalitas relasi
Kardinalias
relasi menggambarkan banyaknya jumlah maksimum entitas dapat ber-relasi dengan
entitas pada himpunann entitas yang lain. Pada himpunan relasi biner, pemetaan
kardinalitas relasi dapat berupa salah satu dari pilihan berikut :
·
satu ke satu
·
satu ke banyak
·
banyak ke satu
1.6
Key
key digunakan untuk membedakan satu entitas didalam
entitas yang lainnya. Key sebagai satu atau gabungan dari beberapa antribut
yang dapat membedakan semua row dalam relasi secara unik. ada 3 macam key,
yaitu :
·
Superkey
Superkey,
adalah kumpulan antribut yang dapat membedakan
setiap baris data dalam sebuah relasi yang unik, contohnya :
o Nim, nama, alamat, kota
o Nim, nama, alamat
o Nim, nama
o Nim
·
Candidate key
Candidate key, adalah antribut minimal yang dapat membedakan baris data
di sebuah relasi secara unik, contohnya :
o Nim
·
Primary key
Primary key, adalah merupakan salah satu dari
candidate key yang terpilih, karena pemilihan primary key :
o Lebih sering dijadikan acuan
o Lebih ringkas
o Jaminan keunikan key lebih baik
Contohnya adalah Nim
1.7
Diagram ER
Notasi
yang digunakan di Diagram ER adalah :
Garis : Link yang menghubungkan atara Entitas dengan atribut,
dan entitas dengan relasi atau entitas
Elips dobel : Menunjukkan atribut yang multivalued
Elips dengan garis terputus : Menunjukkan atribut turunan
Garis : Link yang menghubungkan atara Entitas dengan atribut,
dan entitas dengan relasi atau entitas
Elips dobel : Menunjukkan atribut yang multivalued
Elips dengan garis terputus : Menunjukkan atribut turunan
1.8
Tahapan
pembuatan ER diagram
Dapat
disimpulkan untuk membuat ER Diagram, dapat mengikuti urutan tahapan berikut:
1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
2. Menentukan atribut-atribut dari setiap entity.
3. Menentukan atribut primary key dari setiap entity.
4. Menentukan relationship antar entity.
5. Menentukan atribut-atribut dari setiap relationship (jika ada).
6. Menentukan Cardinality Rasio.
7. Menentukan Participation Constraint.
NORMALISASI
1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
2. Menentukan atribut-atribut dari setiap entity.
3. Menentukan atribut primary key dari setiap entity.
4. Menentukan relationship antar entity.
5. Menentukan atribut-atribut dari setiap relationship (jika ada).
6. Menentukan Cardinality Rasio.
7. Menentukan Participation Constraint.
KONVERSI ER KE BASIS DATA
REALTIONAL
Di
bab ini membahas tentang bagaimana dan kapan kita menggunakan week entity, spesialisai dan agresi dan bagaimana
menurunkan konseptual ER kedalam tabel.
3.1 Himpunan
Entitas Lemah
Pada Himpunan Entitas Lemah ada 2 yaitu primary key dari entitas kuat yang
berelasi dan diskriminator atau key parsialnya.
3.2 Spesialisasi
dan Generalisasi
Spesialisasi
dan Genelsisasi merupakan proses
desain top-down dengan
mendesain subgrouping didalam
himpunan entitas yang berbeda dari himpunan entitas, dan bertujuan memberikan
gambaran konseptual tentang perbedaan karakteristik dari himpunan entitas yang hampir
serupa dengan konsep sub grouping (pengelompokan).
Subgrouping menjadi himpunan entitas yang levelnya lebih rendah
dan memiliki atribut tersendiri yang tidak dimiliki pada level di atsnya.
3.3 Agregasi
Agregasi, adalah enkapsulasi dari entitas yang berelasi (n-n).
Terbentuk dari kardinalitas relasi banyak ke banyak. Dan terdapat istilah
enkapsulasi dari kedua entitas. Enkapsulasi diperlukan karena kedua himpunan
entitas yang ber-relasi merupakan satu kesatuan yang tidak bisa dipisahkan.
3.4 Ringkasan
Notasi Simbol di ER
3.5 Skema ER ke Tabel
Penurunan skema, untuk mengubah sebuah konsep
hubungan entitas dan relasi kedalam bentuk fisik tabel-tabek yang berelasi.
Secara umum penurunan diagram
ER ke tabel memiliki aturan sebagai berikut :
·
Setiap Himpunan
entitas menjadi tabel (baik himpunan kuat atau lemah)
·
Setiap atribut
menjadi kolom ditabel
·
Kardinalitas
relasi akan menentukan jumlah tabel yang terbentuk
3.6 Representasi Atribut
menjadi Kolom
Pada atribut bertipe simple, single dan derived, direpresentasikan sama persis dengan
diangram ER. Tetapi untuk atribut komposit dan multivalued mempunyai
aturan. Atribut komposit memecah untuk membuat atribut masing-masinnya,
contohnya atribut nama dipecah menjadi dua kolom yaitu nama depan dan nama belakang. Atribut multivalued M dari entitas E
direpresentasikan oleh tabel terpisah EM. Gambar berikut menujukan penurunan
sebuah atribut multivalued.
3.7 Representasi Himpunan
Entitas sebagai Tabel
Himpunan
Entitas Kuat, direpresentasikan
kedalam tabel dengan kolom sama dengan antribut yang didefinisak di diagram ER.
NIM
|
Nama
|
Program_Studi
|
1206
|
Merry
|
Ilmu Komputer
|
0403
|
Ellis
|
Ilmu Komputer
|
3006
|
Abidzar
|
Ilmu Kompute
|
Himpunan
entitas lemah akan menjadi tabel
tersendiri yang didalamnya ada kolom primary
key yang merupakan identitas dari himpunan entitas kuat.
Tabel
Mahasiswa
NIM
|
Nama
|
Program_Studi
|
1206
|
Merry
|
Programmer
|
0403
|
Ellis
|
Analist
|
3006
|
Abidzar
|
Dokumentor
|
Tabel
Mengikuti
NIM
|
Nama
|
Program_Studi
|
1206
|
T01
|
1.000.000
|
0403
|
T02
|
1.500.000
|
3006
|
T03
|
1.500.000
|
3.7.1 Representasi
Relasi (Pada kardinalitas N to N)
Relasi dari himpunan banyak ke banyak
direpresentasikan kedalam tabel tersendiri dengan primary key dari dua entitas menjadi antribut di tabel relasi. Berikut
relasi banyak ke banyak dan contoh penurunan dari tabel :
Tabel Mahasiswa
NIM
|
Nama
|
Program_Studi
|
1206
|
Merry
|
Programmer
|
0403
|
Ellis
|
Analist
|
3006
|
Abidzar
|
Dokumentor
|
Tabel Mengikuti
NIM
|
Kode
|
Program_Studi
|
1206
|
IK 330
|
Basis Data
|
0403
|
IK 330
|
Basis Data
|
3006
|
IK 331
|
Sistem Basis Data
|
Tabel Mata
Kode
|
Program_Studi
|
SKS
|
IK 330
|
Basis Data
|
2
|
IK 331
|
Sistem Basis Data
|
3
|
3.7.2 Representasi Spesialisasi
(IS A)
Ada 2 pendekatan dalam menurunkan spesialisasi ke
dalam tabel.
Pendekatan 1
·
Bentuklah tabel
untuk level entitas yg lebih tinggi
·
Bentuklah tabel
untuk level entitas yg lebih rendah
(*dengan
memasukkan primary key pada level yg lebih tinggi ke tabel dengan level
yang lebih rendah)
Pendekatan 2
·
Bentuklah
tabel untuk tiap himpunan entitas dengan semua atribut lokal dan turunan.
·
Bisa
jadi tabel pada level tinggi tidak perlu di simpan jika spesialisasi adalah
total. Jika diperlukan bisa dibuat view yang menggabungkan tabel-tabel
spesialisasi.
NORMALISASI
Normalisasi, adalah langkah-langkah
sestematis untuk menjamin bahwa struktur database
memungkinkan untuk general purpose
query dan bebas dari insertion,
update dan deletion anomalies yang
dapat menyebabkan hilangnya integritas data (E.F. Codd, 1970)
Tujuan
Normalisasi
Tujan
normalisasi untuk memperbaiki desain tabel yang kurang baik sehingga
penyimpanan data menjadi lebih efisiensi dan bebas anomali data.
Update
Anomaly
Anomaly
terjadi bila pengubahan pada sejumlah tabel lebih, tetapi tidak semua data
diubah, contohnya : Terdapat relasi Mahasiswa yang mengandung data Nama, Alamat,
Mt_Kuliah yang menyatakan identitas Mahasiswa dan mata kuliah yang diampu.
Mahasiswa(Nama,
Alamat, Mt_Kuliah)
Nama
|
Alamat
|
Mt_Kuliah
|
Anis
|
Jl.
Melati
|
Matematika
|
Caca
|
Jl.
Durian
|
Basis
Data
|
Robby
|
Jl.
Rambutan
|
Alpro
1
|
Ramdani
|
Jl.
Jambu
|
Logif
|
Seandainya Mahasiswa
Anis berpindah alamat ke Jl. Kamboja dan pengubahan hanya dilakukan pada data
pertama maka relasi akan menjadi :
Nama
|
Alamat
|
Mt_Kuliah
|
Anis
|
Jl.
Kamboja
|
Matematika
|
Caca
|
Jl.
Durian
|
Basis
Data
|
Robby
|
Jl.
Rambutan
|
Alpro
1
|
Ramdani
|
Jl.
Jambu
|
Logif
|
Deletion
Anomaly
Anomali ini terjadi
sekiranya suatu baris/tupel dihapus dan sebagai akibatnya terdapat data lain
yang hilang. Dengan contoh kursus tersebut apa yang terjadi jika Nama_Siswa
Sigit dihapus, data yang menyatakan bahwa biaya kursus Bhs Perancis 75.000 akan
hilang.
Insert
Anomaly
Anomali ini terjadi
pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih
kosong dan ternyata elemen tersebut menjadi kunci. Contohnya, Sebuah relasi
kursus berisi tiga atribut yaitu Nama_Siswa, Nama_Kursus dan Biaya Kursus(Nama_Siswa,
Nama_Kursus dan Biaya)
Nama_Siswa
|
Nama_Kursus
|
Biaya
|
Ellis
|
Rangkain
Elektronika
|
50000
|
Merry
|
Logif
|
60000
|
Ryan
|
Basis
Data
|
70000
|
Robby
|
Alpro
|
80000
|
Relasi diatas
menyatakan kursus-kursus yang diikuti oleh siswa dan jumlah biayanya. Masalah
akan timbul dibuka kursus baru tetapi belum ada siswanya. Misalnya Bhs Inggris
dengan biaya 90.000. akibatnya data kursus baru tersebut tidak bisa dicatat.
Konsep
Keys
Konsep tentang key
adalah konsep yang penting untuk memahami keterkaitan antar atribut data
dalam tabel dan akan sangat berguna dalam proses normalisasi. Dalam setiap
tabel, terdapat 3 macam key:
a) Super
key
Super
key adalah
satu atribut atau gabungan atribut (kolom) pada tabel yang dapat membedakan
semua baris secara unik.
b) Candidate
key
Candidate
key disebut
juga dengan minimal super key, yaitu super key yang tidak
mengandung super key yang lain. Setiap candidate key pasti
merupakan super key, namun tidak semua super key akan menjadi candidate
key.
c) Primary
key
Primary
key adalah
salah satu candidate key yang dipilih (dengan berbagai pertimbangan)
untuk digunakan dalam DBMS. Tiap tabel hanya memiliki 1 primary key,
namun primary key tersebut bisa saja dibentuk dari beberapa atribut
(kolom).
Funcitional Dependencies
Functional
dependency (FD) atau kebergantungan fungsional
adalah constraint atau batasan/ ketentuan antara 2 buah himpunan atribut
pada sebuah tabel. JIka A dan B adalah
himpunan atribut dari tabel T, kebergantungan fungsional antara A dan B
biasanya dinyatakan dalam notasi notasi A à B. Notasi A à
B berarti:
• A menentukan B
• B secara fungsional
bergantung kepada A.
A à
B jika memenuhi syarat berikut ini : Pada sebuah tabel T, jika ada dua baris
data atau lebih dengan nilai atribut A yang sama maka baris-baris data tersebut
pasti akan memiliki nilai atribut B yang sama Namun hal ini tidak berlaku
sebaliknya.
Bentuk Normal dan
Langkah-Langkah Normalisasi
Bentuk Normal adalah sekumpulan kriteria
yang harus dipenuhi oleh sebuah desain tabel untuk mencapai tingkat/level
bentuk normal tertentu. Parameter yang biasanya digunakan dalam menentukan
kriteria bentuk normal adalah Functional dependency & The Three Keys.
Bentuk Normal Pertama (1st Normal
Form)
Bentuk normal pertama atau First
Normal Form (1st NF) adalah bentuk normal yang memiliki level terendah.
Kriteria 1st NF:
• Tidak ada atribut
(kolom) pada tabel yang bersifat multi-value Sebuah atribut disebut
bersifat multivalue jika dalam sebuah baris data pada kolom tersbut
terdapat lebih dari satu nilai. Misalnya kolom telepon yang berisi ‘0813xx,
022xxx’ dan seterusnya.
• Tidak memiliki
lebih dari satu atribut dengn domain yang sama Sebuah tabel dikatakan
memiliki lebih dari satu atribut dengan domain yang sama jika pada tabel
tersebut terdapat lebih dari satu kolom yang digunakan untuk menyimpan data
yang jenisnya sama. Misalnya kolom telepon1, telepon2, telepon3 dan
seterusnya.
Bentuk Normal Ke Dua (2nd
Normal Form)
Kriteria 2nd NF:
• Memenuhi 1st NF
Desain tabel yang tidak
memenuhi syarat 1st NF sudah pasti tidak akan memenuhi syarat 2nd
NF
• Tidak ada Partial Functional
dependency
Partial Functional
dependency terjadi bila (B,C) adalah candidate
key dan Bà
A
Bentuk Normal Ke Tiga (3rd
Normal Form) Umumnya jika sebuah
tabel telah memenuhi syarat bentuk normal ke tiga (3rd NF) maka tabel tersebut
sudah dianggap ‘cukup normal’. Bentuk normal ke 3 adalah bentuk normal yang
biasanya menjadi syarat minimum bagi sebuah desan tabel walaupun akan
lebih baik jika juga memenuhi BCNF.
Kriteria 3rd NF:
• Memenuhi 2nd NF
Desain tabel yang tidak
memenuhi syarat 2nd NF sudah pasti tidak akan memenuhi syarat 3rd NF
• Tidak ada Transitive Functional
dependency
Transitive functional
dependency terjadi bila AàB
dan BàC
Bentuk Normal Boyce Codd (BC
Normal Form)
Boyce Codd Normal Form atau bentuk normal Boyce-Codd adalah bentuk normal
yang levelnya di atas 3rd NF. Kriteria BCNF:
• Memenuhi 3rd NF
Desain tabel yang tidak
memenuhi syarat 3rd NF sudah pasti tidak akan memenuhi syarat BCNF
• Untuk semua FD yang
terdapat di tabel, ruas kiri dari FD tersebut adalah super key
Jika ada satu saja FD
pada tabel dimana ruas kirinya bukan super key maka desain tabel
tersebut belum memenuhi syarat BCNF. Solusinya adalah dengan melakukan
dekomposisi tabel dan tetap mempertahankan konsistensi data seperti beberapa
contoh pada sub bab sebelumnya
Denormalisasi
Denormalisasi
adalah proses menggandakan data secara sengaja (sehingga menyebabkan redundansi
data) untuk meningkatkan performa database, untuk meningkatkan kecepatan
akses data atau memperkecil query cost.
Yang perlu diingat
tentang denormalisasi adalah bahwa denormalisasi tidak sama dengan tidak
melakukan normalisasi. Denormalisasi dilakukan setelah tabel dalam kondisi
‘cukup normal’ (mencapai level bentuk normal yang dikehendaki).





















0 komentar:
Posting Komentar