1. PENGENALAN BASIS
DATA
Basis dapat diartikan
sebagai kumpulan sistem yang memiliki input - proses – output. Data adalah
respresantasi nilai fakta dunia nyata. data dapat merepresentasikan nilai fakta
dunia nyata dengan berbagai cara, bisa dengan, gambar, suara, video, dan
lain-lain. Fakta dunia nyata dapat berupa barang, kejadian, aktivitas, perasaan
dan semua tentang dunia nya.
1.1
Data dan Informasi
Definisi data dan informasi dari beragam sumber maka
dapat disimpulkan definisi dari data dan informasi sebagai berikut:
• Data, adalah
respresantasi untuk mewakili nilai fakta dunia nyata. Representasi data dapat berupa nilai numerik,
alphanumerik, gambar, suara, video, dan lain-lain. Fakta dunia nyata dapat berupa barang,
kejadian, aktivitas, perasaan dan semua tentang dunia nya.
• Informasi, adalah
data yang telah dikelola dalam bentuk tertentu untuk memberikan makna atau arti
bagi penerimanya.
Kualitas data dan informasi dipengaruhi oleh
hal-hal sebagai berikut:
• Benar merepresentasikan
dunia nyata,
• Tepat waktu, dan
• Tepat penggunaan.
Pentingnya data dan informasi dapat dijelaskan
dalam beberapa hal sebagai berikut:
• Data dan Informasi sebagai sebuah sumber daya penting, sama seperti
Sumber Daya Manusia, Keuangan, dll.
• Data dan Informasi diperlakukan sebagai asset penting
perusahaan/organisasi.
• Data dan Informasi nilainya akan bertambah bila dikelola dengan “baik
dan semestinya”.
• Kegagalan dalam pengelolaan data akan berakibat ketimpangan dalam
pengelolaan sumberdaya lainnya dalam organisasi dan berakibat negatif bagi
jalannya organisasi atau bisnis
Siklus informasi adalah gambaran secara umum
mengenai proses terhadap data sehingga menjadi informasi yang bermanfaat bagi
pengguna.
1.2 Tujuan dibangunnya basis data
Tujuan dibangunnya basis data adalah sebagai
berikut :
• Kecepatan & kemudahan (speed) Dengan memanfaatkan basis data,
memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/
manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih
cepat dan mudah.
• Efisiensi ruang penyimpanan (space) Karena keterkaitan yang erat antara
kelompok data dalam sebuah basisdata,maka redundansi (pengulangan) pasti akan
selalu ada, sehingga akan memperbesar ruang penyimpanan. Dengan basisdata, efisiensi
ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau
dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
• Keakuratan (accuracy) Pengkodean atau pembentukan relasi antar data
bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan
data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat
berguna untuk menekan ketidak akuratan penyimpanan data.
• Ketersediaan (availability) Dengan pemanfaatan jaringan komputer, maka
data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available)
bagi lokasi/cabang lain.
• Kelengkapan (completeness) Kelengkapan data yang disimpan dalam sebuah
database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi
belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan
data, seperti
• Keamanan (security) Aspek
keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan
pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa
saja yang boleh dilakukannya.
• Kebersamaan pemakaian (sharability) Basis data yang dikelola dengan
aplikasi multi user dapat memenuhi kebutuhan ini.
Alasan mengapa mempelajari basisdata :
• Perpindahan dari komputasi ke informasi • Himpunan elemen data semakin
banyak dan beragam, sebagai contoh perpustakaan digital. Video interaktif kebutuhan untuk
memperluas DBMS • DBMS mencakup bidang ilmu lain, sebagai contoh: System
operasi, bahasa pemrograman, teori komputasi, AI, logika, multimedia.
1.3 Perkembangan Basis Data
Perkembangan
Basis Data dapat dipetakan dalam diagram pada gambar 1-3 dibawah ini
1.4 Sistem Basis Data (DBMS)
Perangkat lunak yang
digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem
manajemen basis data (Database Management System, DBMS).
DBMS memiliki karakteristik sebagai berikut:
• Software program
• Supplements operating sistem
• Manages data
• Queries data and generates reports
• Data security
Sistem basis data adalah
sistem yang terdiri atas kumpulan file-file yang saling berhubungan dan
dikelola oleh program (DBMS) yang memungkinkan beberapa pemakai dan atau
program lain yang memiliki otoritas untuk mengakses dan memanipulasi data
tersebut.
Kelebihan pemakaian DBMS adalah:
• Data berdiri sendiri (Data Independence)
• Pengaksesan data efisien (Efficient data
access)
• Integritas data dan keamanan terjamin (Data
integrity and security)
• Administrasi data (Data administration)
• Dapat diakses bersamaan (Concurrent access )
• Recovery saat terjadi kegagalan (Crash
recovery)
Komponen-komponen pada sebuah sistem basis data
gambar1-4 terdiri antara lain:
• Perangkat keras
• Sistem operasi
• Basis data
• DBMS (Database Management System)
• Pemakai
• Aplikasi lain
Tujuan utama dari sistem basis data adalah untuk
menyediakan fasilitas untuk view data secara abstrak bagi penggunanya. Namun
bagaimana sistem menyimpan dan mengelola data tersebut, hanya diketahui oleh
sistem itu sendiri. Abstraksi data merupakan level dalam bagaimana melihat data
dalam sebuah sistem basis data.
Berikut ini tiga level abstraksi data:
1. Level fisik Merupakan level terendah pada
abstraksi data yang menunjukkan bagaimana sesungguhnya data disimpan. Pada
level ini pemakai melihat data sebagai gabungan dari struktur dan datanya
sendiri.
2. Level lojik Merupakan level berikutnya pada
abstraksi data, menggambarkan data apa yang disimpan pada basis data dan
hubungan apa saja yang ada di antara data tersebut.
3. Level view Merupakan level tertinggi dari
abstraksi data yang hanya menunjukkan sebagian dari basis data. Banyak user
dalam sistem basis data tidak akan terlibat dengan semua data atau informasi
yang ada atau yang disimpan. Para user umumnya hanya membutuhkan sebagian data
atau informasi dalam basis data yang kemunculannya di mata user diatur oleh
aplikasi end user.
1.5 Model Basis Data
Basis Data memiliki banyak model:
a. Relational Model ini direpresentasikan dalam
tabel dua dimensi, tabel-tabel tersebut memiliki hubungan yang disebut dengan
relasi. Model ini memiliki fleksibilitas dan kecepatan yang tinggi.
b. Hierarchical Memiliki struktur pohon dimana
field hanya memiliki satu buah induk (parent), masing-masing parent memiliki
banyak child (anak). Model ini memiliki kecepatan yang baik.
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.
Model database hirarki dan
jaringan merupakan model database yang tidak banyak lagi dipakai saat ini,
karena adanya berbagai kelemahan dan hanya cocok untuk struktur hirarki dan
jaringan saja. Artinya tidak mengakomodir untuk berbagai macam jenis persoalan
dalam suatu sistem database.
Tingkatan
Data Dalam Database Relasi Dalam suatu sistem database relasi, data yang
tersimpan dalam DBMS mempunyai tingkatan-tingkatan gambar1-6, sebagai berikut :
• Karakter (Characters) Merupakan bagian terkecil
dalam database, dapat berupa karakter numerik (angka 0 s.d 9), huruf ( A - Z, a
- z) ataupun karakter-karakter khusus, seperti *, &. %, # dan lain-lain.
• Field atau Attribute Merupakan bagian dari
record yang menunjukkan suatu item data yang sejenis, Misalnya : field nama,
file NIM dan lain sebagainya. Setiap field harus mempunyai nama dan tipe data
tertentu. Isi dari field di sebut Data Value. Dalam table database, field ini
disebut juga kolom.
• Record atau Tupple Tuple/Record adalah kumpulan
data value dari attributee yang berkaitan sehingga dapat menjelaskan sebuah
entity secara lengkap. Misal : Record
entity mahasiswa adalah kumpulan data value dari
field nobp, nama, jurusan dan alamat per-barisnya. Dalam tabel database, Record
disebut juga baris.
• Table/Entity Entity merupakan sesuatu yang
dapat diidentifikasi dari suatu sistem database, bisa berupa objek, orang,
tempat, kejadian atau konsep yang informasinya akan disimpan di database.
Misal. Pada sistem database akademik, yang menjadi entity adalah, mahasiswa,
dosen, matakuliah dan lain-lain. Dalam aplikasi nantinya, penggunaan istilah
Entity sering di samakan dengan istilah Tabel. (Entity = table). Disebut tabel,
karena dalam merepresentasikan datanya di atur dalam bentuk baris dan kolom.
Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database
tradisional, entity/table ini disebut juga dengan file.
• Database Kumpulan dari tabel-tabel yang saling
berelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai
guna dalam proses pengambilan keputusan.
Ada beberapa sifat yang melekat pada suatu tabel
:
Tidak boleh ada record yang sama (kembar)
Urutan record tidak terlalu penting, karena
data dalam record dapat diurut sesuai dengan kebutuhan.
Setiap field harus mepunyai nama yang unik
(tidak boleh ada yang sama).
Setiap field mesti mempunyai tipe data dan
karakteristik tertentu
Contoh produk DBMS terkenal yang menggunakan
model relasional antara lain adalah :
1. DB2 (IBM)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
7. Dan masih banyak lagi
1.7 Bahasa Basis Data
Macam-macam perintah pada bahasa basis data dapat
dikelmpokkan menjadi:
1. Data Definition Language (DDL) DDL adalah
perintah-perintah yang biasa digunakan oleh pengguna basis data untuk
mendefinisikan skema ke DBMS.
2. Interactive Data Manipulation Language (DML)
DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan
mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan
mengambil data menjadi bagian dari DML. DML merupakan bahasa yang memungkinkan
user untuk mengakses atau memanipulasi data sebagaimana telah direpresentasikan
oleh model data. Terdapat dua macam DML, yaitu:
• Prosedural, mengharuskan user untuk menentukan data apa yang dibutuhkan
dan bagaimana untuk mendapatkan data tersebut.
• Nonprosedural, mengharuskan pemakai untuk menentukan data apa yang
dibutuhkan tanpa menyebuntukan bagaimana mendapatkan data tersebut.
3. Transaction control Transaction control adalah
bahasa basis data yang mengatur transaksi yang dilakukan oleh Data Manipulation
Language (DML). Transaction control ini memiliki peran yang sangat besar untuk
menentukan dilakukan atau tidaknya perubahan-perubahan data yang ada pada basis
data. Contoh dari transaction control ini adalah perintah commit dan rollback.
4. Embedded and Dinamic SQL, contoh C,C++,Java,
Cobol, Pascal, etc. Tidak semua DBMS memiliki fasilitas ini, salah satu contoh
DBMS yang memiliki fasilitas ini adalah oracle dimana oracle dapat me-load
class yang ditulis menggunakan bahasa pemrograman java kedalam database.
5. Authorization, untuk mendefinisikan hak akses
spesifik terhadap objek- objek basis data.
1. ENTITY RELATIONSHIP
MODEL
Model Entity-Relationship
adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model
data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis
data, transaksi pengambilan dan pembaruan basis data. Model ER adalah data konseptual tak
tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak
itu, telah memperoleh banyak perhatian dan perluasan. Model ER adalah persepsi terhadap dunia
nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan
(relationship) antar entitas- entitas itu.
Konsep paling dasar di model ER adalah entitas, relationship dan
atribut.
Komponen-komponen utama model ER adalah:
1. Entitas (entity), Entitas memodelkan
objek-objek yang berada diperusahaan/lingkungan.
2. Relationship. Relationship memodelkan
koneksi/hubungan di antara entitas-entitas.
3. Atribut-atribut (properi-properti), memodelkan
properti-properti dari entitas dan relationship.
4. Konstrain-konstrain (batasan-batasan)
integritas, konstrain- konstrain ketentuan validitas.
1.1 Entitas (entity) dan Himpunan Entitas (Entitas Sets)
Entitas merupakan individu
yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari
sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi
pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita
adalah entitas.
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
1.2 Komponen -
komponen utama Entity Relationship Diagram
1. Entitas (entity)
Entitas melambangkan objek yang terdapat dalam basis data. Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.
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
2. Relationship (relasi)
Relationship memodelkan koneksi/hubungan di antara entitas-entitas. Entity Relationship Diagram memperlihatkan bahwa setiap entitas - entitasnya di hubungkang dengan relasi.Relasi menggambarkan hubungan antara entitas satu dengan entitas yang lain sesuai dengan proses bisnisnya. Notasi relasi didalam diagram ER digambarkan dengan notasi belah ketupat.
1. Entitas (entity)
Entitas melambangkan objek yang terdapat dalam basis data. Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.
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
2. Relationship (relasi)
Relationship memodelkan koneksi/hubungan di antara entitas-entitas. Entity Relationship Diagram memperlihatkan bahwa setiap entitas - entitasnya di hubungkang dengan relasi.Relasi menggambarkan hubungan antara entitas satu dengan entitas yang lain sesuai dengan proses bisnisnya. Notasi relasi didalam diagram ER digambarkan dengan notasi belah ketupat.
2.2 Atribut
Setiap entitas pasti
memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas
tersebut.
Penentuan / pemilihan atribut-atribut yang
relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan
model ER.
Contoh: nim, nama, alamat, kode.
Setiap atribut mempunyai domain value set yaitu
batasan batasan yg dibolehkan bagi suatu atribut.
Tipe–tipe atribut dapat dibedakan.
• Simple dan Composite Atribut Simple yaitu suatu
atribut yang tidak bisa dibagi menjadi bagian yg lebih kecil lagi. Contoh
atribut simple adalah Jenis Kelamin. Atribut Composite yaitu suatu atribut yang
dapat di bagi menjadi beberapa bagian. Contoh atribut composite Nama dapat di
bagi menjadi nama depan dan nama belakang.
• Single value dan multivalued Atribut Single
value yaitu suatu atribut yang bisa di isi paling banyak 1 nilai untuk setiap
baris data. Contoh atribut single value adalah Jenis Kelamin. Atribut
Multivalued yaitu suatu atribut yang bisa lebih dari 1 nilai yang sejenis untuk
setiap baris data. Contoh atribut mutlivalued value adalah Alamat, No telp dan
hobi. Ketiga atribut tersebut bisa berisi lebih dari 1. Contoh untuk 1 entitas
orang bisa mempunyai lebih dari 1 nilai untuk atribut hobi yang isinya musik,
olahraga begitu juga untuk telp dan alamat (* karena bisa mempunyai > 1 no
telp dan > 1 alamat)
• Derived attribute Derived Attribute yaitu suatu
atribut yang nilainya didapatkan dari hasil pengolahan atribut lain. Contoh
atribut derived adalah umur yaitu didapatkan dari perhitungan tanggal lahir dan
tanggal sekarang. IPK yang didapatkan
dari penjumlahan nilai di bagi dengan jumlah sks yang diambil.
Notasi
atribut digambarkan dengan gambar elips. Atribut kunci biasa di beri tanda #
atau garis bawah. Contoh himpunan entitas mahasiswa mempunyai atribut nim
sebagai key, prodi, nama, dsb
2.3 Relasi
ER
menggambarkan entitas-entitas dengan atributnya yang saling berelasi. Relasi
menggambarkan hubungan antara entitas satu dengan entitas yang lain sesuai dengan
proses bisnisnya. Notasi relasi didalam diagram ER digambarkan dengan notasi
belah ketupat.
2.4 Derajat Himpunan Relasi
Jika dilihat dari jumlah
entitas yang dihubungkan oleh sebuah relasi, maka kita bisa membagi menjadi 3
macam:
- Unary (Hanya me-relasi-kan 1 entitas)
- Binary (Me-relasi-kan 2 entitas)
- Ternary (Me-relasi-kan 3 entitas)
2.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
- Banyak ke Banyak
2.6 Key
Penggunaan key merupakan
cara untuk membedakan suatu entitas didalam himpunan entitas dengan entitas
lain. Key dipilih karena unik, untuk setiap entitas sehingga bisa di bedakan
dari entitas yang lain. Kita bisa mendefinisikan key sebagai satu atau gabungan
dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik.
Macam key ada 3 yaitu :
1. Superkey Superkey yaitu satu atau lebih atribut
(kumpulan atribut) yang dapat membedakan satiap baris data dalam sebuah relasi
secara unik.
Contoh super key yaitu:
• Nim, nama, alamat, kota
• Nim, nama, alamat
• Nim, nama
• Nim
2. Candidate key Kumpulan atribut minimal yang
dapat membedakan setiap baris data dalam sebuah relasi secara unik.
3. Primary key Primary key merupakan salah satu
dari candidate key yang terpilih. Alasan pemilihan primary key :
• Lebih sering di jadikan acuan
• Lebih ringkas
• Jaminan keunikan key lebih baik
Merupakan
diagram model konseptual untuk menggambarkan struktur logis dari basisdata
berbasis grafis.
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
2.9 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.
3. KONVERSI ER KE BASIS DATA RELATIONAL
ER adalah sebuah model yang konseptual dari basis data
relational. Desain ER bisa di konversikan atau di ubah mejadi bentuk tabel
yang akan di simpan di dalam basis data. bab ini juga akan membahas weak
entity, spesialisasi, agregasi dan penurunan Diagram ER ke bentuk tabel. yang
utama dari pembahasan kali ini adalah kapan dan bagaimana kita
menggunakan weak entity, spesilisasi dan agregasi dan bagaimana menurunkan konseptual
ER kedalam tabel.
3.1 Himpunan Entitas Lemah
Himpunan Entitas Lemah pada umumnya selalu bergantung pada entitas lain dan tidak memiliki primary key. Notasi entitas lemah dilambangkan dengan double persegi panjang, sedangkan relasi untuk himpunan entitas lemah dilambangkan dengan double diamond. Diskriminator / key parsial adalah atribut – atribut yg dpt membedakan entitas – entitas yang terdapat di himpunan entitas lemah. Diskriminator tidak sama dengan primary key. Konsep diskriminator hanya di pakai pada himpunan entitas lemah. Primary key pada Himpunan Entitas lemah ada 2 yaitu primary key dari entitas kuat yg berelasi dan diskriminator / key parsialnya.
3.1 Himpunan Entitas Lemah
Himpunan Entitas Lemah pada umumnya selalu bergantung pada entitas lain dan tidak memiliki primary key. Notasi entitas lemah dilambangkan dengan double persegi panjang, sedangkan relasi untuk himpunan entitas lemah dilambangkan dengan double diamond. Diskriminator / key parsial adalah atribut – atribut yg dpt membedakan entitas – entitas yang terdapat di himpunan entitas lemah. Diskriminator tidak sama dengan primary key. Konsep diskriminator hanya di pakai pada himpunan entitas lemah. Primary key pada Himpunan Entitas lemah ada 2 yaitu primary key dari entitas kuat yg berelasi dan diskriminator / key parsialnya.
3.2 Spesialisasi dan Generalisasi
Spesialisasi adalah suatu proses desain top-down dengan mendesain subgrouping didalam didalam himpunan entitas yang berbeda dari himpunan entitas. Tujuan dari spesialisasi adalah memberikan gambaran konseptual tentang perbedaan karakteristik dari himpunan entitas yang hampir serupa dengan konsep sub grouping / pengelompokan.
Subgrouping di atas menjadi himpunan entias yang levelnya lebih rendah dan memiliki atribut tersendiri yang tidak dimiliki pada level di atasnya.Generalisasi merupakan proses desain bottom-up dengan mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama sama. Spesialisasi dan generalisasi sama sama digambarkan dengan notasi ISA, yang membedakan adalah sudut pandangnya saja. Jika Spesialisasi kita mendefinisikan entitas secara umum kemudian mencari subgroup dari entitas tersebut, tetapi generalisasi memandang sebaliknya, dari adanya subgroup subgroup yang berbeda kemudian di cari entitas umum yang mewakili 2 himpunan entitas tersebut.
3.3 Agregasi
Agregasi merupakan hubungan antara satu object dengan object lainnya dimana object satu dengan object lainnya sebenarnya terpisah namun disatukan. sehingga tidak terjadi kebergantungan (Object lain bisa ada walau object penampungnya tidak ada ). contoh dalam dunia nyatanya adalah object pemain bola dan klub bola dimana pemain bola bisa tetap ada walau tidak ada klub bola.
3.4 Skema ER ke Tabel
Penurunan skema itu dibutuhkan karena penurunan skema dimaksudkan untuk mengubah sebuah konsep hubungan entitas dan relasi kedalam bentuk fisik tabel tabel yang berelasi. Inti dari Entity Relationship adalah menggambarkan hubungan di dunia nyata kedalam bentuk entitas entitas yang saling ber-relasi, dari diagram ini bisa di buat kedalam bentuk tabel yang langsung di implementasikan kedalam basis data.
Secara umum penurunan diagram ER ke tabel memiliki aturan sebagai berikut :
• Setiap himpunan entitas menjadi Tabel (* baik himpunan entitas kuat atau lemah)
• Setiap atribut menjadi kolom di tabel
• Kardinalitas relasi akan menentukan jumlah tabel yang terbentuk (* akan di bahas di bawah lebih detail)
3.5 Representasi Atribut menjadi Kolom
Atribut bertipe simple , single dan derived direpresentasikan sama persis seperti diagram ER. Tetapi untuk atribut komposit dan multivalued mempunyai aturan representasi tersendiri.
Atribut komposit akan dipecah dengan membuat atribut terpisah untuk masing masing komponennya. Contoh atribut nama pada tabel mahasiwa, di pecah menjadi 2 kolom yaitu nama depan dan nama belakang.
Atribut multivalued mengharuskan untuk di pecah menjadi 2 Tabel. Atribut multivalued M dari entitas E direpesentasikan oleh tabel terpisah EM.
4. NORMALISASI
Segala sesuatu akan baik jika berada di dalam bentuk normalnya. Di dalam
database pun telah dikenal yang namanya bentuk normal atau sering disebut NF ( Normal
Form ). di dalam pembahasan kali ini akan dibahas tentang konsep
normalisasi database beserta konsep-konsep lain yang mendasarinya.
untuk dapat mengerti tentang normalisasi basis data, diperlukan untuk memahami definisi dan tujuan normalisasi, mengidentifikasi super key, candidate key dan primary key dari sebuah table, mengidentifikasi functional dependency yang ada pada sebuah tabel, termasuk partial dan transitive FD, mengenal bentuk normal pertama, ke dua, ke tiga dan BCNF serta mampu melakukan normalisasi dengan menerapkan bentuk-bentuk normal tersebut, dan mengenal sekilas tentang bentuk-bentuk normal lain dan memahami konsep denormalisasi.
4.1 Pengertian Normalisasi
untuk dapat mengerti tentang normalisasi basis data, diperlukan untuk memahami definisi dan tujuan normalisasi, mengidentifikasi super key, candidate key dan primary key dari sebuah table, mengidentifikasi functional dependency yang ada pada sebuah tabel, termasuk partial dan transitive FD, mengenal bentuk normal pertama, ke dua, ke tiga dan BCNF serta mampu melakukan normalisasi dengan menerapkan bentuk-bentuk normal tersebut, dan mengenal sekilas tentang bentuk-bentuk normal lain dan memahami konsep denormalisasi.
4.1 Pengertian Normalisasi
Apa itu normalisasi? Menurut (E.F. Codd, 1970) normalisasi adalah langkah-langkah sistematis untuk menjamin bahwa struktur database memungkinkan untuk general purpose query dan bebas dari insertion, update dan deletion anomalies yang dapat menyebabkan hilangnya integritas data.
4.2 Tujuan Normalisasi
tujuan dari dinormalisasikannya suatu model database yaitu untuk memperbaiki desain tabel yang kurang baik sehingga penyimpanan data menjadi lebih efisien dan bebas anomali data. Untuk memperjelas pemahaman tentang proses normalisasi. selain itu, normalisasi juga berperan untuk mengurangi redudansi data.
tujuan normalisasi secara rinci adalah sebagai berikut
:
-Untuk menghilang kerangkapan data
-Untuk mengurangi kompleksitas
-Untuk menghilang kerangkapan data
-Untuk mengurangi kompleksitas
-Untuk mempermudah pemodifikasian data
4.3 Tahapan Normalisasi
Tahapan dari nomralisasi:
1.Bentuk Normal Tahap
Pertama (1st Normal Form / 1NF)
2.Bentuk Normal Tahap Kedua
(2nd Normal Form / 2NF)
3.Bentuk Normal Tahap (3rd
Normal Form / 3NF)
4.Boyce-Code Normal Form
(BCNF)
5.Bentuk Normal Tahap (4th
Normal Form / 4NF)
6.Bentuk Normal Tahap (5th Normal
Form / 5NF)
4.4 Bentuk Normal Pertama (1NF)
Bentuk normal pertama merupakan bentuk normal dengan lever terendah, dan diperlukan tahapan normalisasi berikutnya untuk mencapai kelebih normalan dan keakuratan data.
berikut adalah persyaratan untuk mencapai First Normal Form :
1. Tidak
adanya atribut multi-value, atribut komposit atau kombinasinya.
( atribut multi-value
adalah atribut yang bernilai ganda dan dapat dibagi lagi )
2. Mendefinisikan
atribut kunci.
3. Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
4.5 Normalisasi Kedua
Untuk mencapai bentuk normal kedua, dibutuhkan beberapa persyaratan sebagai berikut :
1. Sudah memenuhi dalam
bentuk normal kesatu (1NF)
2. Semua atribut bukan kunci hanya boleh tergantung (functional
dependency) pada atribut kunci
3. Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang
lain
4. Perlu ada tabel penghubung ataupun kehadiran foreign
key bagi atribut-atribut yang telah dipisah tadi
didalam tabel ditunjukan , mhs_nama dan mhs _alamat bergantung pada mhs_nrp. mk_nama dan mk_sks bergantung pada mk_kode. dapat ditarik kesimpulan bahwa didalam tabel tersebut terdapat dua attribut yang menjadi primary key . dalam aturan nomor 2 dan 3 dijelaskan bahwa Semua atribut bukankunci hanya boleh tergantung (functional dependency) pada atribut kuncidan Jika adaketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain.
4.6 Normalisasi Ketiga
Jika tabel telah berada dalam bentuk normal ke tiga ( Third Normal Form ) , maka tabel tersebut bisa dianggap cukup normal. Third Normal Form merupakan syarat minimum bagi sebuah desan tabel walaupun akan lebih baik jika juga memenuhi BCNF.
Berikut adalah persyaratan untuk mencapai bentuk normal ketiga ( 3NF ) :
1. Sudah berada dalam bentuk
normal kedua (2NF)
2. Tidak ada
ketergantungan transitif (dimana atribut bukan kunci tergantung
pada atribut bukan kunci
lainnya).
4.7 Normalisasi BCNF
Bentuk Normal Boyce-codd Normal Form lebih akurat dari
3NF karena memiliki level ke akuratan yang lebih tinggi.
Persyaratan untuk memenuhi BCNF adalah
sebagai berikut :
• Telah memenuhi bentuk normal ketiga (
3NF )
jika tidak memnuhi 3NF maka tidak akan memenuhi BCNF
jika tidak memnuhi 3NF maka tidak akan memenuhi 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.
pada umumnya tabel yang memenuhi 3NF juga memenuhi BCNF, jarang ada tabel yang
memenuhi 3NF tetapi tidak memenuhi BCNF. Umumnya sebuah tabel dikategorikan
sudah ‘cukup normal’ jika sudah memenuhi kriteria BCNF. Jika tidak memungkinkan
untuk memenuhi kriteria BCNF, maka 3rd NF juga sudah dianggap cukup
memadai.
4.8 Bentuk-Bentuk Normal Lainnya
Selain daripada apa yang di bahas sebelumnya, ada bentuk-bentuk normal Form lainnya sebagai berikut :
1. Bentuk Normal ke-4 (4th NF)
diperkenalkan oleh Ronald Fagin pada tahun 1977
2. Bentuk Normal ke-5 (5th NF)
diperkenalkan oleh Ronald Fagin pada tahun 1979
3. Domain/Key Normal Form (DKNF)
diperkenalkan oleh Ronald Fagin pada tahun 1981
4. Bentuk Normal ke-6 (6th NF)
diperkenalkan oleh Date, Darwen dan Lorentzos pada tahun 2002
4.9 Denormalisasi
Denormalisasi merupakan suatu proses untuk menggandakan data secara sengaja (sehingga menyebabkan redundansi atau perulangan data) untuk meningkatkan performa basis data, untuk meningkatkan kecepatan akses data atau memperkecil query cost.
Denormalisasi berbeda dengan normalisasi. Denormalisasi dilakukan setelah tabel dalam kondisi ‘cukup normal’ (mencapai level bentuk normal yang dikehendaki). sedangkan normalisasi dimulai sejak tabel dalam keadaan tidak normal atau belum cukup normal.
Tujuan Denormalisasi :
1. Mempercepat proses query dengan cara meminimalkan cost yang disebabkan oleh operasi join antar tabel
2. Untuk keperluan Online Analytical Process (OLAP)
3. Dan lain-lain
Konsekuensi Denormalisasi :
1. Perlu ruang ekstra untuk penyimpanan data
2. Memperlambat pada saat proses insert, update dan delete sebab proses-proses tersebut harus dilakukan terhadap data yang redundant (ganda)
dari uraian diatas dapat disimpulkan bahwa denormalisasi harus dilakukan dengan bijak sebab walaupun memiliki beberapa keuntungan namun juga memiliki konsekuensi yang patut diperhitungkan.
Main Source From Diktat IK 330 - Basis Data
Lectured by : Budi Laksono Putro : budi.staf.upi.edu
Computer Science at Indonesia University of Education:cs.upi.edu







