Dasar Sistem Basis Data
A.
Terminologi Dan Konsep Basis Data
Basis data
terdiri dari 2 kata, yaitu basis & data. Basis dapat diartikan sebagai markas / gudang, tempat berkumpul.
Sedangkan data adalah fakta yang
mewakili suatu objek seperti manusia, barang, hewan peristiwa, keadaan dan
sebagainya, yang direkam dalam bentuk angka, huruf simbol, teks gambar, bunyi
atau kombinasinya.
Basis data
sendiri dapat di definisikan dalam sejumlah sudut pandang seperti :
1.himpunan
kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa
agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.
2.Kumpulan data
yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa
pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
3.Kumpulan file/
tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan
elektronis.
|
|
lemari Arsip
|
Basis data
|
Basis data dan
lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip
utamanya adalah pengaturan
data/arsip. Dan tujuan utamanya adalah kemudahan
dan kecepatan dalam pengambilan
kembali data/ arsip. Perbedaannya hanya terletak pada media penyimpanan yang
digunakan . jika lemari arsip menggunakan lemari sebagai media penyimpanannya,
maka basisdata mnenggunakan media penyimpanan elektronis seperti disk (disket,
harddisk).
Yang perlu
diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronis bisa
disebut basis data. Yang sangat ditonjolkan dalam basisdata adalah
pengaturan/pemilaha/pengelompokkan/pengorganisasian data yang akan kita simpan
sesuai fungsi/jenisnya. Pemilahan/ pengelompokan ini dapat berbentuk sejumlah
file/ tabel terpisah atau dalam bentuk pendefinisian kolom-kolom/field-field
data dalam setiap file/tabel.
Tujuan
dibangunnya basis data adalah sebagai berikut :
§
Kecepatan &
kemudahan (speed)
Dgn
memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau
melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data
tersebut secara lebih cepat & 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
o
perpustakaan digital. Video
interaktif
o
kebutuhan untuk memperluas
DBMS
-
DBMS mencakup bidang ilmu
lain
o
System operasi, bahasa
pemrograman, teori komputasi, AI, logika, multimedia.
Operasi dasar
pembuatan Basis data :
n
Pembuatan Basis Data (Create Database)
Yang identik
dengan pembuatan lemari arsip yang baru.
n
Penghapusan Basis Data (Drop Database)
Yang identik
dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada)
n
Pembuatan File/Table baru
ke suatu basis data (Create Table)
Yang identik
dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.
n
Penghapusan File/Table dari
suatu basis data (Drop Table)
Yang identik
dengan perusakan map arsip lama yang ada di sebuah lemari arsip.
n
Penambahan data baru ke
suatu file/table di sebuah basis data (insert)
Identik dengan
penambahan lembaran arsip baru kesebuah map arsip.
n
Pengambilan data dari
sebuah file/table (Retrieve/Search)
Identik dengan
pencarian lembaran arsip dari sebuah map arsip.
n
Pengubahan data dari sebuah
file/table (Update)
Identik dengan
perbaikan isi lembaran arsip yang ada di sebuah map arsip.
n
Penghapusan data dari
sebuah file/table (Delete)
Identik dengan
penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.
B.
Hirarki Data
Berdasarkan
tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah
hirarki, mulai dari yang paling sederhana hingga yang paling komplek.
1. basis data, merupakan sekumpulan dari
bermacam-macam tipe record yang memiliki hubungan antar record.
2. berkas/file, merupakan sekumpulan rekaman data
yang berkaitan denngan suatu objek.
3. record , merupakan
sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek
tertentu
-
fixed length record, semua field dalam record memiliki ukuran yang
tetap.
-
Variabel length record, field-field dalam record dapat memiliki
ukuran berbeda (metode penandaan yang digunakan adalah : end of record marker, indikator panjang, dan tabel posisi record)
4. field/atribut/data item, merupakan unit terkecil yang
disebut data,yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.
-
fixed length field, memiliki ukuran yang tetap.
-
variabel length field, field-field dalam record dapat memiliki
ukuran berbeda.
5. byte, adalah bagian
terkecil yang dialamatkan dalam memori.
byte mrupakan sekumpulan bit yang secara
konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah karakter
dalam memori (I byte= I karakter)
6. bit, adalah sistem binner yang terdiri atas dua
macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan
untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen
elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan
tidak ada tegangan yang masuk ke rangkaian tersebut.
C.
Konsep DBMS (database management
system)
Database
Management System (DBMS) merupakan paket program (Software) yang dibuat agar memudahkan dan mengefisienkan pemasukan,
pengeditan, penghapusan dan pengambilan informasi terhadap database.
Software yang
tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS. Access,
dan lain-lain
Komponen utama
DBMS :
- perangkat keras
berupa
komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk.
Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data.
- basisdata
sebuah DBMS
dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek
basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga
menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara
detail).
- perangkat lunak
perangkat
lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelola
basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data
diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme
pengamanan data, pemakaian data secara bersama, pemaksaan
keakuratan/konsistensi data, dsb.
Contoh
perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.
- pengguna/user
pengguna dapat
digolongkan menjadi 3 :
·
pengguna akhir / end user.
Dapat dibagi
menjadi 2 :
-
pengguna aplikasi : adalah orang
yang mengoperasikan program aplikasi yang dibuat oleh pemrogram
aplikasi.
-
pengguna interaktif : adalah orang yg dpt memberikan
perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT dsb.
·
pemrogram aplikasi
adalah orang
yang membuat program aplikasi yang menggunakan basisdata.
·
administrator database /
DBS (database administrator)
adalah
orang yang bertanggungjawab terhadap pengelolaan basisdata.
Tugas
DBA :
-
mendefinisikan basisdata
-
menetukan isi basisdata
-
menentukan sekuritas
basisdata
D.
Pemanfaaatan Ilmu Basis Data
Bidang
Fungsional :
§
Kepegawaian
§
Pergudangan (inventory)
§
Akuntansi
§
Reservasi
§
Layanan Pelanggan
Bentuk
Perusahan :
§
Perbankan
§
Rumah Sakit
§
Produsen Barang
§
Sekolah
§
Telekomunikasi
E.
Abstraksi Data
Salah satu
tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada user.untuk itu system
tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan
dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yang
tersimpan secara fisik.
Abstraksi data
merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya
data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang
sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali
menyembunyikan detail tentang bagaimana sebuah data disimpan dan dipelihara
(diolah) dalam sebuah sistem database, dengan tujuan untuk memudahkan pengguna
dalam menggunakan DBMS tersebut. Karena itu seringkali data yang terlihat oleh
pemakai sebelumnya berbeda dengan yang tersimpan secara fisik.
Terdapat 3
level abstraksi :
1. Level Fisik (Physical Level)
Lapis fisik
merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data sesungguhnya disimpan. Pada lapis inilah struktur data
dijabarkan secara rinci.
2. Level Logik / Konseptual (Conceptual Level)
Lapis
konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what)
saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan
hubungan-hubungan antardata secara keseluruhan. Seorang pengguna dalam level
ini dapat mengetahui bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel
krs, tabel transkrip dan lain sebagainya. Level ini biasa dipakai oleh DBA.
3. Level Penampakan/pandangan (View Level)
Lapis
pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini
pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada
kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa
berbeda-beda dan barangkali hanya mencakup sebagian dari basis data. Misalnya:
Bagian keuangan hanya membutuhkan data keuangan, jadi yang digambarkan hanya
pandangan terhadap data keuangan saja, begitu juga dengan bagian akuntansi,
hanya membutuhkan data akuntansi saja. Jadi tidak semua pengguna database
membutuhkan seluruh informasi yang terdapat dalam database tersebut.
Sebagai
gambaran , misalnya terdapat struktur data bertipe record seperti berikut :
Pegawai = RECORD
Nama : STRING;
Alamat : STRING;
Bagian : STRING;
Gaji : LongInt;
End:
Pada contoh
ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ).
Setiap field memiliki nama, dan setiap nama memiliki tipe data.
Pada level
fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi
berurutan (satuan byte). Pada lapis konseptual masing-masing record dijabarkan
dengan definisi tipe data . pada lapis view, user tertentu hana boleh mengakses
data tertentu, contohnya, seorang yang menangani penggajian berhak mengetahui
gaji seseorang bahkan mengubahnya, tetapi orang yang bekerja di bagian lain
tentu tidak boleh melihatnya.
F.
Model Basis Data
Model database
adalah suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships) antar data dan
batasan-batasan (constraint) data
dalam suatu sistem database. Model data yang paling umum, berdasarkan pada
bagaimana hubungan antar record dalam database (Record Based Data Models), terdapat tiga jenis,
yaitu :
a. Model Database Hirarki (Hierarchical Database
Model)
Model hirarkis biasa disebut model pohon, karena
menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan
orangtua-anak
b. Model Database Jaringan (Network Database Model)
c. Model Database Relasi (Relational Database Model)
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.
Model database
relasi merupakan model database yang paling banyak digunakan saat ini, karena
paling sederhana dan mudah digunakan serta yang paling penting adalah
kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan database.
Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang
terdiri dari baris (record) dan kolom (field),
pertemuan antara baris dengan kolom disebut item data (data value),
table-tabel yang ada di hubungkan (relationship) sedemikian rupa
menggunakan field-field kunci (Key field) sehingga dapat
meminimalkan duplikasi data.
Tingkatan Data Dalam Database Relasi
Dalam suatu
sistem database relasi, data yang tersimpan dalam DBMS mempunyai
tingkatan-tingkatan, 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)
Di lingkungan PC, produk-produk
berbasis relasional yang cukup terkenal antara lain adalah :
1. Keluarga R:Base (Microrim Corp)
antara lain berupa R:Base 5000
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International),
antara lain dbase III Plus, dBase IV, serta Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
MACAM-MACAM PERINTAH DATA
BASE
1. Bahasa Definisi Data (Data Definition Language/ DDL)
DDL adalah
perintah-perintah yang biasa digunakan oleh administrator basis data (DBA)
utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang
struktur medan, rekaman, dan hubungan data pada basis data
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang
memungkinkan pengambilan data dapat dilakukan dengan cepat.
DDL Digunakan untuk
mespesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain
basis data secara keseluruhan.
Hasil kompilasi
perintah DDL adalah kamus data (File yang berisi metadata (data yang
mendeskripsikan data sesungguhnya).
Struktur penyimpan
dan metode akses yang digunakan oleh sistem basis data disebut dengan data
storage and definition language.
2. Bahasa Manipulasi Data (Data Manipulation laguage/ 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 pada dasarnya
dibagi menjadi dua :
- Prosedural,
yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana
cara mendapatkannya.
- Nonprosedural,
yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak
perlu menyebutkan cara mendapatkannya.
3. DQL ( Data Query Language)
Query sesungguhnya
berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam
bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia
G. Model Entity-Relationship
(ER)
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:
a. Entitas (entity), Entitas
memodelkan objek-objek yang berada diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara
entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti dari
entitas dan relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain
ketentuan validitas.
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.
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.
Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang
seorang dokter akan ditempatkan dalam himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang
praktis) ini seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah
literature sebenarnya menunjuk pada himpunan entitas.
Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci
yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S,
adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai
nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi
kunci di S, dengan demikian kunci mempunyai property minimal.
Atribut (Atributes/Properties)
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.
Relasi (Relationship)
dan Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda.
Misalnya,
entitas seorang mahasiwa dengan
nim = ‘980001’
dan
nama_mhs =
‘Ali Akbar’ (yang ada di himpunan entitas Mahasiswa)
mempunyai relasi dengan entitas sebuah mata kuliah dengan
kode_kul=’IF-110’ dan
nama_kul=’Struktur
Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut
sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi
yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan
entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana
istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah
himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan
istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk
kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke
himpunan entitas yang lain dan begitu juga sebaliknya.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :
a. Satu ke satu (One to One),
setiap entitas
pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas
pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan
entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan
entitas A.
b. Satu ke Banyak (one to many),
setiap entitas
pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan
entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B
berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One),
setiap entitas
pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas
pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada
himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan
entitas B.
d. Banyak ke Banyak (Many to Many)
setiap entitas
pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan
entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat
berhubungan dengan banyak entitas pada himpunan entitas A.
Diagram Entity-Relationship (ER)
Penggambaran Model ER secara sistematis dilakukan melalui diagram ER.
Notasi-notasi simbolik di dalam Diagram ER yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan Entitas.
2. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi
sebagai key digaris bawahi).
3. Belah ketupat, menyatakan Himpunan Relasi.
4. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan
Entitas dan Himpunan Entitas dengan atributnya.
5. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis
cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N
untuk relasi one to many atau N dan N untuk relasi many to many).
Contoh diagram ER :
Tahap Pembuatan Diagram ER
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok
penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :
a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
-
Mengidentifikasi dan
menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
-
Menentukan
attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
Menentukan attribute dari suatu entitas sangat
menentukan baik atau tidaknya sistem database yang dirancang, karena attribute
ini sangat menentukan nantinya dalam proses relasi. Attribute merupakan ciri
khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat
berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua,
pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan attribute
yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang perlu saja.
Setelah menentukan attributenya selanjutnya adalah menentukan field kunci.
Field kunci adalah penanda attribute tersebut sehingga bisa digunakan untuk
relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity
mahasiswa, attribute nobp bisa dijadikan field kunci, karena bersifat unik dan
tidak ada mahasiswa yang mempunyai nobp sama.
-
Mengidentifkasi dan
menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada
beserta kunci tamu (foreign key)- nya.
Setelah menentukan entity dan attribute beserta field
kuncinya, maka selanjutnya adalah menentukan entity yang terbentuk akibat
adanya relasi antar entity. Misalnya antara entity mahasiswa dengan entity
dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar ini
merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute
yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah
field kunci utama pada tabel lain, dan field tersebut digunakan juga pada tabel
yang satu lagi. Misalnya nobp adalah
field kunci dari entity mahasiswa, pada entity
mengajar terdapat juga attribute NoBP, maka keberadaan attribute nobp pada entity mengajar disebut
sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat
menentukan kualitas system database yang dirancang.
-
Menentukan derajat relasi
untuk setiap himpunan relasi.
Setelah semua entity dan attribute yang dibutuhkan
terbentuk, maka selanjutnya adalah menentukan derajat relasi antar entity
tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau banyak ke
banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena nantinya
akan berhubungan dengan proses query terhadap data
-
Melengkapi himpunan entitas
dan himpunan relasi dengan atribut-atribut deskriptif (non key).
Jenis-Jenis Kunci (Key)
• Candidat Key
Sebuah attribute atau lebih yang secara unit
mengidentifikasi sebuat record, disebut candidate key. Attribute ini mempunyai
nilai yang unik pada hampir setiap recordnya. Fungsi dari candidate key ini
adalah sebagai calon primary key.
Contoh candidate-key :
ID_Cus
|
Name
|
NoOfPay
|
Amount
|
112233
|
Tim
|
890
|
9000
|
112231
|
Kate
|
891
|
8000
|
112241
|
Tyson
|
895
|
10000
|
• Primary Key
Salah satu atrribut dari candidat key dapat dipilih
menjadi primary key dengan 3 kriteria sbb :
§
Key tersebut lebih natural
untuk dijadikan acuan
§
Key tersebut lebih
sederhana
§
Key tersebut cukup uniqe
• Foreign Key
Jika sebuah primary key terhubungan ke table/entity
lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign
key. Misal : Primary Key KodeDosen dari entity Dosen digunakan juga pada field
entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut sebagai
foreign key.
• Alternate Key
Setiap atribut dari candidate key yang tidak terpilih
sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila
untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay
.
KODE
|
MK
|
SKS
|
KD-Dosen
|
TEL 100
|
Fisika
|
3
|
D-101
|
TEL 200
|
Isyarat
|
2
|
D-109
|
TEL 210
|
T.Kendali
|
2
|
D-101
|
KD-Dosen
|
Nama_Dosen
|
D-100
|
Badu,S.T
|
D-101
|
Ir.Thomas
|
D-109
|
Harry,S.T,M.T
|
b. Tahap optimasi Diagram ER (final
design).
H.
Normalisasi
Proses normalisasi adalah proses
untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk
normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu).
Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas
referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak
terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk.
Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat
berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah
ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank
Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama
hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan
yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi
redudansi yang ada dan menghilangkan anomali.
Perancangan melalui proses
normalisasi mempunyai keuntungan-keuntungan sebagai berikut :
a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
b. Meminimalkan resiko inkonsistensi data pada basis
data.
c. Meminimalkan kemungkinan anomaly pembaruan.
d. Memaksimalkan stabilitas struktur data.
Bentuk Normal
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal
lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :
a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)
Codd mendefinisikan bentuk normal
pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga
kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF
(Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977),
kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).
Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal
kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk
menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk
menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk
normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal
kelima untuk menghilangkan anomaly tersisa.
Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional.
Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang
disebabkan kebergantungan banyak nilai (multi-valued
dependencies).
Bentuk
Normal Pertama
Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi
adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana
(bukan komposit).
Syarat :
o Tidak ada set atribut yang berulang atau bernilai ganda.
o Telah ditentukannya primary key untuk tabel atau relasi.
o Tiap atribut hanya memiliki satu pengertian.
o Tiap atribut yang dapat memiiki banyak nilai sebenarnya
menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal Kedua
Syarat :
o Bentuk data telah memenuhi kriteria bentuk normal ke satu.
o Atribut bukan kunci(non-key
attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada
primary key
Relasi pada bentuk normal kedua harus
tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua
menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang
secara praktis tidak dapat diterima.
Bentuk Normal Ketiga
Syarat :
o Bentuk data telah memenuhi kriteria bentuk normal ke dua.
o Atribut bukan kunci(non-key
attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut
bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya
memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk
normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian
dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.
Bentuk Normal Boyce-Codd (BCNF)
BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional
penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi
adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah
kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan
mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci
relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah
relasi tidak memiliki informasi yang redundan.
Bentuk Normal Keempat
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak
berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak
nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing –
masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.
Bentuk Normal Kelima
Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa
adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga
disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang
muncul dan sulit untuk dideteksi secara praktis.
Contoh Normalisasi pada
beberapa tingkatan.
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai
bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam
bentuk normal ke Satu(1NF).
|
|
|
|
|
|
Belum memenuhi kriteria 3NF,
Karena atribut non-key Nilai dan
Bobot masih memiliki ketergantu-
ngan fungsional.
|
|
|
|
|
Bentuk Normal 3 NF3
Sumber buku :
A.
Terminologi Dan Konsep Basis Data
Basis data
terdiri dari 2 kata, yaitu basis & data. Basis dapat diartikan sebagai markas / gudang, tempat berkumpul.
Sedangkan data adalah fakta yang
mewakili suatu objek seperti manusia, barang, hewan peristiwa, keadaan dan
sebagainya, yang direkam dalam bentuk angka, huruf simbol, teks gambar, bunyi
atau kombinasinya.
Basis data
sendiri dapat di definisikan dalam sejumlah sudut pandang seperti :
1.himpunan
kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa
agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.
2.Kumpulan data
yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa
pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
3.Kumpulan file/
tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan
elektronis.
|
|
lemari Arsip
|
Basis data
|
Basis data dan
lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip
utamanya adalah pengaturan
data/arsip. Dan tujuan utamanya adalah kemudahan
dan kecepatan dalam pengambilan
kembali data/ arsip. Perbedaannya hanya terletak pada media penyimpanan yang
digunakan . jika lemari arsip menggunakan lemari sebagai media penyimpanannya,
maka basisdata mnenggunakan media penyimpanan elektronis seperti disk (disket,
harddisk).
Yang perlu
diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronis bisa
disebut basis data. Yang sangat ditonjolkan dalam basisdata adalah
pengaturan/pemilaha/pengelompokkan/pengorganisasian data yang akan kita simpan
sesuai fungsi/jenisnya. Pemilahan/ pengelompokan ini dapat berbentuk sejumlah
file/ tabel terpisah atau dalam bentuk pendefinisian kolom-kolom/field-field
data dalam setiap file/tabel.
Tujuan
dibangunnya basis data adalah sebagai berikut :
§
Kecepatan &
kemudahan (speed)
Dgn
memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau
melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data
tersebut secara lebih cepat & 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
o
perpustakaan digital. Video
interaktif
o
kebutuhan untuk memperluas
DBMS
-
DBMS mencakup bidang ilmu
lain
o
System operasi, bahasa
pemrograman, teori komputasi, AI, logika, multimedia.
Operasi dasar
pembuatan Basis data :
n
Pembuatan Basis Data (Create Database)
Yang identik
dengan pembuatan lemari arsip yang baru.
n
Penghapusan Basis Data (Drop Database)
Yang identik
dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada)
n
Pembuatan File/Table baru
ke suatu basis data (Create Table)
Yang identik
dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.
n
Penghapusan File/Table dari
suatu basis data (Drop Table)
Yang identik
dengan perusakan map arsip lama yang ada di sebuah lemari arsip.
n
Penambahan data baru ke
suatu file/table di sebuah basis data (insert)
Identik dengan
penambahan lembaran arsip baru kesebuah map arsip.
n
Pengambilan data dari
sebuah file/table (Retrieve/Search)
Identik dengan
pencarian lembaran arsip dari sebuah map arsip.
n
Pengubahan data dari sebuah
file/table (Update)
Identik dengan
perbaikan isi lembaran arsip yang ada di sebuah map arsip.
n
Penghapusan data dari
sebuah file/table (Delete)
Identik dengan
penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.
B.
Hirarki Data
Berdasarkan
tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah
hirarki, mulai dari yang paling sederhana hingga yang paling komplek.
1. basis data, merupakan sekumpulan dari
bermacam-macam tipe record yang memiliki hubungan antar record.
2. berkas/file, merupakan sekumpulan rekaman data
yang berkaitan denngan suatu objek.
3. record , merupakan
sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek
tertentu
-
fixed length record, semua field dalam record memiliki ukuran yang
tetap.
-
Variabel length record, field-field dalam record dapat memiliki
ukuran berbeda (metode penandaan yang digunakan adalah : end of record marker, indikator panjang, dan tabel posisi record)
4. field/atribut/data item, merupakan unit terkecil yang
disebut data,yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.
-
fixed length field, memiliki ukuran yang tetap.
-
variabel length field, field-field dalam record dapat memiliki
ukuran berbeda.
5. byte, adalah bagian
terkecil yang dialamatkan dalam memori.
byte mrupakan sekumpulan bit yang secara
konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah karakter
dalam memori (I byte= I karakter)
6. bit, adalah sistem binner yang terdiri atas dua
macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan
untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen
elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan
tidak ada tegangan yang masuk ke rangkaian tersebut.
C.
Konsep DBMS (database management
system)
Database
Management System (DBMS) merupakan paket program (Software) yang dibuat agar memudahkan dan mengefisienkan pemasukan,
pengeditan, penghapusan dan pengambilan informasi terhadap database.
Software yang
tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS. Access,
dan lain-lain
Komponen utama
DBMS :
- perangkat keras
berupa
komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk.
Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data.
- basisdata
sebuah DBMS
dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek
basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga
menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara
detail).
- perangkat lunak
perangkat
lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelola
basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data
diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme
pengamanan data, pemakaian data secara bersama, pemaksaan
keakuratan/konsistensi data, dsb.
Contoh
perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.
- pengguna/user
pengguna dapat
digolongkan menjadi 3 :
·
pengguna akhir / end user.
Dapat dibagi
menjadi 2 :
-
pengguna aplikasi : adalah orang
yang mengoperasikan program aplikasi yang dibuat oleh pemrogram
aplikasi.
-
pengguna interaktif : adalah orang yg dpt memberikan
perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT dsb.
·
pemrogram aplikasi
adalah orang
yang membuat program aplikasi yang menggunakan basisdata.
·
administrator database /
DBS (database administrator)
adalah
orang yang bertanggungjawab terhadap pengelolaan basisdata.
Tugas
DBA :
-
mendefinisikan basisdata
-
menetukan isi basisdata
-
menentukan sekuritas
basisdata
D.
Pemanfaaatan Ilmu Basis Data
Bidang
Fungsional :
§
Kepegawaian
§
Pergudangan (inventory)
§
Akuntansi
§
Reservasi
§
Layanan Pelanggan
Bentuk
Perusahan :
§
Perbankan
§
Rumah Sakit
§
Produsen Barang
§
Sekolah
§
Telekomunikasi
E.
Abstraksi Data
Salah satu
tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada user.untuk itu system
tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan
dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yang
tersimpan secara fisik.
Abstraksi data
merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya
data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang
sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali
menyembunyikan detail tentang bagaimana sebuah data disimpan dan dipelihara
(diolah) dalam sebuah sistem database, dengan tujuan untuk memudahkan pengguna
dalam menggunakan DBMS tersebut. Karena itu seringkali data yang terlihat oleh
pemakai sebelumnya berbeda dengan yang tersimpan secara fisik.
Terdapat 3
level abstraksi :
1. Level Fisik (Physical Level)
Lapis fisik
merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data sesungguhnya disimpan. Pada lapis inilah struktur data
dijabarkan secara rinci.
2. Level Logik / Konseptual (Conceptual Level)
Lapis
konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what)
saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan
hubungan-hubungan antardata secara keseluruhan. Seorang pengguna dalam level
ini dapat mengetahui bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel
krs, tabel transkrip dan lain sebagainya. Level ini biasa dipakai oleh DBA.
3. Level Penampakan/pandangan (View Level)
Lapis
pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini
pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada
kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa
berbeda-beda dan barangkali hanya mencakup sebagian dari basis data. Misalnya:
Bagian keuangan hanya membutuhkan data keuangan, jadi yang digambarkan hanya
pandangan terhadap data keuangan saja, begitu juga dengan bagian akuntansi,
hanya membutuhkan data akuntansi saja. Jadi tidak semua pengguna database
membutuhkan seluruh informasi yang terdapat dalam database tersebut.
Sebagai
gambaran , misalnya terdapat struktur data bertipe record seperti berikut :
Pegawai = RECORD
Nama : STRING;
Alamat : STRING;
Bagian : STRING;
Gaji : LongInt;
End:
Pada contoh
ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ).
Setiap field memiliki nama, dan setiap nama memiliki tipe data.
Pada level
fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi
berurutan (satuan byte). Pada lapis konseptual masing-masing record dijabarkan
dengan definisi tipe data . pada lapis view, user tertentu hana boleh mengakses
data tertentu, contohnya, seorang yang menangani penggajian berhak mengetahui
gaji seseorang bahkan mengubahnya, tetapi orang yang bekerja di bagian lain
tentu tidak boleh melihatnya.
F.
Model Basis Data
Model database
adalah suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships) antar data dan
batasan-batasan (constraint) data
dalam suatu sistem database. Model data yang paling umum, berdasarkan pada
bagaimana hubungan antar record dalam database (Record Based Data Models), terdapat tiga jenis,
yaitu :
a. Model Database Hirarki (Hierarchical Database
Model)
Model hirarkis biasa disebut model pohon, karena
menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan
orangtua-anak
b. Model Database Jaringan (Network Database Model)
c. Model Database Relasi (Relational Database Model)
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.
Model database
relasi merupakan model database yang paling banyak digunakan saat ini, karena
paling sederhana dan mudah digunakan serta yang paling penting adalah
kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan database.
Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang
terdiri dari baris (record) dan kolom (field),
pertemuan antara baris dengan kolom disebut item data (data value),
table-tabel yang ada di hubungkan (relationship) sedemikian rupa
menggunakan field-field kunci (Key field) sehingga dapat
meminimalkan duplikasi data.
Tingkatan Data Dalam Database Relasi
Dalam suatu
sistem database relasi, data yang tersimpan dalam DBMS mempunyai
tingkatan-tingkatan, 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)
Di lingkungan PC, produk-produk
berbasis relasional yang cukup terkenal antara lain adalah :
1. Keluarga R:Base (Microrim Corp)
antara lain berupa R:Base 5000
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International),
antara lain dbase III Plus, dBase IV, serta Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
MACAM-MACAM PERINTAH DATA
BASE
1. Bahasa Definisi Data (Data Definition Language/ DDL)
DDL adalah
perintah-perintah yang biasa digunakan oleh administrator basis data (DBA)
utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang
struktur medan, rekaman, dan hubungan data pada basis data
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang
memungkinkan pengambilan data dapat dilakukan dengan cepat.
DDL Digunakan untuk
mespesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain
basis data secara keseluruhan.
Hasil kompilasi
perintah DDL adalah kamus data (File yang berisi metadata (data yang
mendeskripsikan data sesungguhnya).
Struktur penyimpan
dan metode akses yang digunakan oleh sistem basis data disebut dengan data
storage and definition language.
2. Bahasa Manipulasi Data (Data Manipulation laguage/ 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 pada dasarnya
dibagi menjadi dua :
- Prosedural,
yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana
cara mendapatkannya.
- Nonprosedural,
yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak
perlu menyebutkan cara mendapatkannya.
3. DQL ( Data Query Language)
Query sesungguhnya
berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam
bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia
G. Model Entity-Relationship
(ER)
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:
a. Entitas (entity), Entitas
memodelkan objek-objek yang berada diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara
entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti dari
entitas dan relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain
ketentuan validitas.
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.
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.
Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang
seorang dokter akan ditempatkan dalam himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang
praktis) ini seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah
literature sebenarnya menunjuk pada himpunan entitas.
Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci
yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S,
adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai
nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi
kunci di S, dengan demikian kunci mempunyai property minimal.
Atribut (Atributes/Properties)
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.
Relasi (Relationship)
dan Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda.
Misalnya,
entitas seorang mahasiwa dengan
nim = ‘980001’
dan
nama_mhs =
‘Ali Akbar’ (yang ada di himpunan entitas Mahasiswa)
mempunyai relasi dengan entitas sebuah mata kuliah dengan
kode_kul=’IF-110’ dan
nama_kul=’Struktur
Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut
sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi
yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan
entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana
istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah
himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan
istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk
kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke
himpunan entitas yang lain dan begitu juga sebaliknya.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :
a. Satu ke satu (One to One),
setiap entitas
pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas
pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan
entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan
entitas A.
b. Satu ke Banyak (one to many),
setiap entitas
pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan
entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B
berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One),
setiap entitas
pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas
pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada
himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan
entitas B.
d. Banyak ke Banyak (Many to Many)
setiap entitas
pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan
entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat
berhubungan dengan banyak entitas pada himpunan entitas A.
Diagram Entity-Relationship (ER)
Penggambaran Model ER secara sistematis dilakukan melalui diagram ER.
Notasi-notasi simbolik di dalam Diagram ER yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan Entitas.
2. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi
sebagai key digaris bawahi).
3. Belah ketupat, menyatakan Himpunan Relasi.
4. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan
Entitas dan Himpunan Entitas dengan atributnya.
5. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis
cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N
untuk relasi one to many atau N dan N untuk relasi many to many).
Contoh diagram ER :
Tahap Pembuatan Diagram ER
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok
penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :
a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
-
Mengidentifikasi dan
menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
-
Menentukan
attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
Menentukan attribute dari suatu entitas sangat
menentukan baik atau tidaknya sistem database yang dirancang, karena attribute
ini sangat menentukan nantinya dalam proses relasi. Attribute merupakan ciri
khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat
berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua,
pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan attribute
yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang perlu saja.
Setelah menentukan attributenya selanjutnya adalah menentukan field kunci.
Field kunci adalah penanda attribute tersebut sehingga bisa digunakan untuk
relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity
mahasiswa, attribute nobp bisa dijadikan field kunci, karena bersifat unik dan
tidak ada mahasiswa yang mempunyai nobp sama.
-
Mengidentifkasi dan
menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada
beserta kunci tamu (foreign key)- nya.
Setelah menentukan entity dan attribute beserta field
kuncinya, maka selanjutnya adalah menentukan entity yang terbentuk akibat
adanya relasi antar entity. Misalnya antara entity mahasiswa dengan entity
dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar ini
merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute
yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah
field kunci utama pada tabel lain, dan field tersebut digunakan juga pada tabel
yang satu lagi. Misalnya nobp adalah
field kunci dari entity mahasiswa, pada entity
mengajar terdapat juga attribute NoBP, maka keberadaan attribute nobp pada entity mengajar disebut
sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat
menentukan kualitas system database yang dirancang.
-
Menentukan derajat relasi
untuk setiap himpunan relasi.
Setelah semua entity dan attribute yang dibutuhkan
terbentuk, maka selanjutnya adalah menentukan derajat relasi antar entity
tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau banyak ke
banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena nantinya
akan berhubungan dengan proses query terhadap data
-
Melengkapi himpunan entitas
dan himpunan relasi dengan atribut-atribut deskriptif (non key).
Jenis-Jenis Kunci (Key)
• Candidat Key
Sebuah attribute atau lebih yang secara unit
mengidentifikasi sebuat record, disebut candidate key. Attribute ini mempunyai
nilai yang unik pada hampir setiap recordnya. Fungsi dari candidate key ini
adalah sebagai calon primary key.
Contoh candidate-key :
ID_Cus
|
Name
|
NoOfPay
|
Amount
|
112233
|
Tim
|
890
|
9000
|
112231
|
Kate
|
891
|
8000
|
112241
|
Tyson
|
895
|
10000
|
• Primary Key
Salah satu atrribut dari candidat key dapat dipilih
menjadi primary key dengan 3 kriteria sbb :
§
Key tersebut lebih natural
untuk dijadikan acuan
§
Key tersebut lebih
sederhana
§
Key tersebut cukup uniqe
• Foreign Key
Jika sebuah primary key terhubungan ke table/entity
lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign
key. Misal : Primary Key KodeDosen dari entity Dosen digunakan juga pada field
entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut sebagai
foreign key.
• Alternate Key
Setiap atribut dari candidate key yang tidak terpilih
sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila
untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay
.
KODE
|
MK
|
SKS
|
KD-Dosen
|
TEL 100
|
Fisika
|
3
|
D-101
|
TEL 200
|
Isyarat
|
2
|
D-109
|
TEL 210
|
T.Kendali
|
2
|
D-101
|
KD-Dosen
|
Nama_Dosen
|
D-100
|
Badu,S.T
|
D-101
|
Ir.Thomas
|
D-109
|
Harry,S.T,M.T
|
b. Tahap optimasi Diagram ER (final
design).
H.
Normalisasi
Proses normalisasi adalah proses
untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk
normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu).
Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas
referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak
terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk.
Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat
berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah
ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank
Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama
hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan
yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi
redudansi yang ada dan menghilangkan anomali.
Perancangan melalui proses
normalisasi mempunyai keuntungan-keuntungan sebagai berikut :
a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
b. Meminimalkan resiko inkonsistensi data pada basis
data.
c. Meminimalkan kemungkinan anomaly pembaruan.
d. Memaksimalkan stabilitas struktur data.
Bentuk Normal
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal
lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :
a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)
Codd mendefinisikan bentuk normal
pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga
kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF
(Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977),
kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).
Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal
kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk
menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk
menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk
normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal
kelima untuk menghilangkan anomaly tersisa.
Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional.
Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang
disebabkan kebergantungan banyak nilai (multi-valued
dependencies).
Bentuk
Normal Pertama
Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi
adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana
(bukan komposit).
Syarat :
o Tidak ada set atribut yang berulang atau bernilai ganda.
o Telah ditentukannya primary key untuk tabel atau relasi.
o Tiap atribut hanya memiliki satu pengertian.
o Tiap atribut yang dapat memiiki banyak nilai sebenarnya
menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal Kedua
Syarat :
o Bentuk data telah memenuhi kriteria bentuk normal ke satu.
o Atribut bukan kunci(non-key
attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada
primary key
Relasi pada bentuk normal kedua harus
tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua
menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang
secara praktis tidak dapat diterima.
Bentuk Normal Ketiga
Syarat :
o Bentuk data telah memenuhi kriteria bentuk normal ke dua.
o Atribut bukan kunci(non-key
attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut
bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya
memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk
normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian
dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.
Bentuk Normal Boyce-Codd (BCNF)
BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional
penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi
adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah
kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan
mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci
relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah
relasi tidak memiliki informasi yang redundan.
Bentuk Normal Keempat
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak
berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak
nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing –
masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.
Bentuk Normal Kelima
Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa
adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga
disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang
muncul dan sulit untuk dideteksi secara praktis.
Contoh Normalisasi pada
beberapa tingkatan.
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai
bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam
bentuk normal ke Satu(1NF).
|
|
|
|
|
|
Belum memenuhi kriteria 3NF,
Karena atribut non-key Nilai dan
Bobot masih memiliki ketergantu-
ngan fungsional.
|
|
|
|
|
Bentuk Normal 3 NF3
sumber :
Fathansyah, 2012, Basis Dta, Informatika