Anda di halaman 1dari 16

2020

RINGKASAN
METODE PERANCANGAN DBMS MENGGUNAKAN ERD &
NORMALISASI
NUR ARIFIN AKBAR
1. Pengertian Database
Sebelum masuk kepada database, terlebih dahulu kita harus mengetahui pengertian Basis
Data atau Database, yaitu :
a. Himpunan kelompok data yang saling terhubung dan diorganisir sedemikian rupa
supaya kelak dapat dimanfaatkan kembali secara cepat dan mudah.
b. Kumpulan data dalam bentuk file/tabel/arsip yang saling berhubungan dan
tersimpan dalam media penyimpanan elektronis, untuk kemudahan dalam
pengaturan, pemilahan, pengelompokan dan pengorganisasian data sesuai tujuan.

2. Tabel & Constraint


Database itu sendiri terdiri atas Tabel. Dimana tabel adalah Sekumpulan data terstruktur
terdiri dari baris dan kolom yang disimpan pada suatu media penyimpanan dimana data
tersebut dapat dimanipulasi (tambah, ubah, hapus) dan dapat dilihat dengan
menggunakan teknik tertentu untuk menghasilkan informasi yang lebih bermakna. Untuk
menjaga integritas data dalam tabel, diperlukan constraint, dimana constraint adalah
batasan atau aturan yang diaplikasikan terhadap kolom/field pada suatu table, yang
bertujuan menjaga integritas data. Dengan adanya Constraint, akan meminimalisir
kesalahan data akibat kesalahan memasukkan data oleh pengguna.

3. Kriteria DB
Database yang baik memiliki beberapa karakteristik atau kriteria sebagai berikut :

a. Bisa menyimpan segala macam data yang ada. database harus cukup kuat untuk
menyimpan semua jenis data yang ada disekitar kita.
b. Bisa menghubungkan entitas / tabel dalam database dengan cara relasi. yaitu.; dua tabel
harus terkait.
c. Data dan aplikasi harus diisolasi. Karena database adalah sistem yang memberi platform
untuk menyimpan data, dan datanya adalah database yang memungkinkan untuk bekerja.
Makanya harus ada perbedaan yang jelas antara keduanya.
d. Tidak ada duplikasi data dalam database. Data harus disimpan sedemikian rupa sehingga
tidak boleh diulang dalam banyak tabel. Jika diulang, maka akan sia-sia pemborosan
ruang DB dan data tersebut menjadi kacau.
e. Dapat membantu pengguna untuk mengambil dan memanipulasi data. Jika pengguna
ingin melihat data tertentu, dia bisa menerapkan sebanyak mungkin kondisi penyaringan
yang diinginkan dan menarik data yang dibutuhkan.
f. Dapat diakses secara bersamaan, tanpa mempengaruhi pengguna lain.
g. Harus menyediakan keamanan, yaitu; Ketika ada beberapa pengguna mengakses
database, setiap pengguna akan memiliki tingkat hak mereka sendiri untuk melihat
database. Beberapa dari mereka akan diizinkan untuk melihat keseluruhan database, dan
beberapa hanya akan memiliki hak parsial.

4. Key
Dalam database ada baiknya memberikan key agar pengorganisiran data dapat diakses
secara lebih terstruktur , dimana sejumlah atribut yang mengidentifikasi record/baris
dalam sebuah relation secara unique. Adapun jenis key terdiri dari :
a. Super Key –>> satu atribut atau kumpulan atribut yang secara unik mengidentifikasi
sebuah record di dalam relasi atau himpunan dari satu atau lebih entitas yang dapat
digunakan untuk mengidentifikasi secara unik sebuah entitas dalam entitas set.
b. Candidate Key –>> atribut-atribut yang menjadi determinan yang dapat dijadikan
identitas record pada sebuah relation bisa terdapat satu atau lebih candidate key.
c. Primary key –>> candidate key yang menjadi identitas record karena dapat
mengidentifikasi record secara unik
d. Alternate key –>> candidate key yang tidak dijadikan primary key
e. Composite key –>> key yang terdiri dari 2 atribut atau lebih. Atribut-atribut tersebut bila
berdiri sendiri tidak menjadi identitas record, tetapi bila dirangkaikan menjadi satu
kesatuan akan dapat mengidentifikasi secara unik
f. Foreign key –>> non key atribut pada sebuah relation yang juga menjadi key (primary)
atribut di relation lainnya. Foreign key biasanya digunakan sebagai penghubung antara
record-record dan kedua relation tersebut.

5. Abstraksi Data
Disisi lain Database sendiri juga terdapat abstraksi data, dimana 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, dalam hal ini abstraksi data dibagi atas 3, yaitu :
a. Physical Level
Merupakan level terendah dalam abstraksi data, yang menunjukkan bagaimana sesungguhnya
suatu data disimpan. Melalui level ini, pemakai dapat melihat gambaran struktur datanya
secara terperinci.Pada level ini, pemakai melihat data sebagai gabungan dari struktur dan
datanya sendiri.
b. Conceptual Level
Merupakan level berikutnya yang menggambarkan data yang disimpan dalam basis data serta
hubungan antara data. Pada level ini pemakai dapat mengetahui misalnya data pegawai yang
disimpan atau direpresentasikan dalam beberapa file/tabel, seperti file pribadi, file
pendidikan, file pekerjaan.
c. User View
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan sebagian dari basis
data. Para user umumnya hanya membutuhkan sebagian data/informasi dalam basis data
yang kemunculannya di mata user (pemakai) diatur oleh aplikasi end.

6. Pengertian ERD
Perancangan database pada umumnya memerlukan ERD yang merupakan merupakan suatu
model untuk menjelaskan hubungan antar data dalam database berdasarkan objek-objek dasar
data yang mempunyai hubungan antar relasi, dimana ERD dibuat untuk menggambarkan atau
membuat model suatu database dengan diagram yang sederhana sehingga memudahkan
dalam membuat sebuah database yang kompleks maupun yang sederhana. Dengan ERD ini
juga akan memudahkan pengguna dalam hal ini orang yang merancang database tersebut
dalam membuat perubahan di dalam database jika sewaktu-waktu terjadi.

7. Kardinalitas
Di dalam ERD sendiri biasanya terdapat relasi antar entitas yang sering disebut dengan
Kardinalitas Relasi yang menunjukkan jumlah maksimum entitas yang dapat berelasi dengan
entitas pada himpunan entitas yang lain.Ada empat jenis Kardinalitas/Derajat Relasi, yaitu :
a. Satu ke satu (One to One)
Suatu entitas di dalam himpunan entitas A dihubungkan dengan paling banyak satu
entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B
dihubungkan dengan paling banyak satu entitas dalam himpunan entitas A.
b. Satu ke banyak (One to Many)
Suatu entitas di dalam himpunan entitas A dihubungkan dengan lebih dari satu entitas di
dalam himpunan entitas B, dan entitas di dalam himpunan entitas B hanya dapat
dihubungkan dengan paling banyak satu entitas dalam himpunan entitas A.
c. Banyak ke satu (Many to One)
d. Suatu entitas di dalam himpunan entitas A dihubungkan dengan paling banyak satu
entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B dapat
dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A.
e. Banyak ke banyak (Many to Many)
f. Suatu entitas di dalam himpunan entitas A dapat dihubungkan dengan lebih dari satu
entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B dapat
dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A.

8. Tahap Perancangan ERD


Dalam penerapan ERD, ada 2 garis besar tahapan dilakukan dalam pembuatan ERD, yaitu:
a. Tahap pembuatan ERD awal (preliminary design) sebagai implementasi→ rancangan
basis data minimal,
b. Tahap optimasi ERD (final design)→ koreksi terhadap tahap pertama (dekomposisi,
kardinalitas, penambahan relasi).
Adapun langkah rinci yang biasa dilakukan adalah sebagaimana berikut :

Gambar 8.1 Langkah Pembuatan ERD


9. Lossy vs Lossless Join Decomposition
Sebelum membahas mengenai Normalisasi, untuk kenormalan sebuah tabel diperlukan
proses bernama dekomposisi. Dekomposisi adalah teknik memecah sebuah relasi menjadi
beberapa relasi. Kemudian setelah relasi tersebut dipecah bila digabungkan kembali harus
mendapat hasil yang sama, tidak boleh record yang diulang maupun record tambahan. Bila
kondisi ini terpenuhi maka ini yang disebut Lossless-join decomposition, namun sebaliknya,
apabila hasil tidak sama maka dinamakan Lossy-Join decomposition.
10. Normalisasi

Normalisasi (normalize) merupakan salah satu cara pendekatan atau teknik

yang digunakan dalam membangun desain logic database relation dengan

menerapakan sejumlah aturan dan kriteria standard.

Tujuan dari normalisasi adalah untuk menghasilakn struktur tabel yang normal

atau baik.

Teknik normalisasi adalah upaya agar desain logik tabel-tabel berada dalam

bentuk normal (normal form) yang dapat didefinisikan dengan menggunakan

ketergantungan fungsi (functional dependency).

10.1 Bentuk Normalisasi

Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk

normal adalah suatu aturan yang dikenakan pada relasi-relasi atau tabel-tabel

dalam database dan harus dipenuhi oleh relasi atau tabel tersebut pada level-

level normalisasi.

Suatu relasi dikatakan dalam bentuk normal tertentu jika memenuhi kondisi

tertentu juga. Beberapa bentuk normalisasi diantaranya adalah bentuk tidak

normal (unnormalize), bentuk normal pertama (1NF), bentuk normal kedua

(2NF), normal ketiga (3NF), dan seterusnya.


1) Bentuk Tidak Normal (unnormalize )

Bentuk tidak normal (unnormalized ) merupakan kumpulan data yang direkam

tidak ada keharusan dengan mengikuti suatu format tertentu. Pada bentuk tidak

normalisasi terdapat repeating group , sehingga pada kondisi ini data menjadi

permasalahan dalam melakukan manipulasi data (insert, update, dan delete ) atau

biasa disebut anomali.

Tabel 10.1 Bentuk Tidak Normal (Unnormalized)

2) Normal Pertama (1 NF)

Dalam relational database tidak diperkenankan adanya repeating group karena

dapat berdampak terjadinya anomali.

Oleh karena itu tahap unnormal akan menghasilkan bentuk normal tahap

pertama (1 NF) yang dapat di definisikan sebagai berikut:

Normal pertama (1 NF), suatu relasi atau tabel memenuhi normal pertama jika

dan hanya jika setiap setiap atribut dari relasi tersebut hanya memiliki nilai

tunggal dalam satu baris (record).


Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang

mempunyai arti ganda dan tidak ada set atribut yang berulang-ulang atau

atribut bernilai ganda.

Pada data tabel sebelumnya data belum normal sehingga harus diubah

kedalam bentuk normal pertama dengan cara membuat baris berisi kolom

jumlah yang sama dan setiap kolom hanya mengandung satu nilai.

Tabel 10.2 Bentuk Normal Pertama (1 NF )

Bentuk normalisasi pertama (1 NF) ini mempunyai ciri yaitu setiap data

dibentuk file daftar atau rata (flat file), data dibentuk dalam satu record demi

satu record dan nilai-nilai dari field-field berupa nilai yang tidak dapat dibagi-

bagi lagi.

3) Normal Kedua (2 NF)

Dalam perancangan database relational tidak diperkenankan adalah partial

functional dependency kepada primary key, karena dapat berdampak

terjadinya anomali.
Oleh karena itu tahap normalisasi pertama akan menghasilkan bentuk normal

kedua (1 NF) yang dapat didefinisikan sebagai berikut:

Normalisasi kedua (2 NF), suatu relasi memenuhi relasi kedua jika dan hanya jika

relasi tersebut memenuhi normal pertama dan setiap atribut yang bukan kunci

(non key ) bergantung secara fungsional terhadap

kunci utama (Primary key).

Tabel 10.3 Bentuk Normal Kedua (2 NF )

Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang telah

memenuhi kriteria bentuk normal pertama.

Atribut bukan kunci haruslah bergantung secara fungsional pada kunci utama

(primary key), sehingga untuk membentuk normal kedua haruslah sudah

ditentukan kunci-kunci field.


4) Normal Ketiga (3 NF)

Dalam perancangan database relational tidak diperkenankan adanya transitive

dependency karena dapat berdampak terjadinya anomali.

Oleh karena itu harus dilakukan normalisasi tahap ketiga (1 NF) yang dapat

didefinisikan sebagai berikut:

Normalisasi ketiga (1 NF), suatu relasi memenuhi normal ketiga jika dan hanya

jika relasi tersebut memenuhi normal kedua dan setiap atribut bukan kunci (non

key) tidak mempunyai transitive functional

dependency kepada kunci utama (primary key).

Tabel 10.4 Bentuk Normal Ketiga (3 NF )


Bentuk normal ketiga (3 NF) ini relasi haruslah dalam bentuk normal kedua

dan semua atribut bukan kunci utama tidak punya hubungan transitif.

Artinya setiap atribut bukan kunci harus bergantung hanya pada primary key

secara keseluruhan, dan bentuk normalisasi ketiga sudah didapat tabel yang

optimal.

10.2 Konsep ketergantungan (dependency )


Ketergantungan (dependency) merupakan konsep yang mendasari normalisasi.

Dependency menjalankan hubungan antara atribut atau secara lebih khusus

menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya.

Dependency akan mencari acuan untuk pendekomposisian data ke dalam

bentuk paling efisien.

1) Functional Dependency

Ketergantungan fungsional (functional dependency) adalah suatu kondisi

dimana satu atribut atau beberapa atribut dari suatu relasi yang keberadaannya

bergantung pada atribut lain.


ketergantungan fungsional didefinisikan sebagai berikut: suatu atribut Y

mempunyai ketergantungan fungsional terhadap atribut X jika dan hanya jika

setiap nilai X berhubungan dengan sebuah nilai Y.

Definisi diatas biasanya dituangkan dalam bentuk notasi: X → Y

Artinya : X secara fungsional tergantung Y

Y secara fungsional menentukan X

Tabel 10.5 Functional Dependency

Sebagai keterangan mengenai notasi diatas bahwa sebelah kiri notasi disebut

determinant, sedangkan bagian sebelah kanan disebut dependent. Relasi ini

mengandung atribut kode_barang, nama_barang, harga, dan qty.

Artinya kode_barang secara fungsional menentukan nama_barang, telah

terlihat bahwa untuk kode_barang yang sama dan nama_barang juga sama,

sehingga kode_barang → nama_barang.


2) Dependency Transitive

Ketergantungan transitive (dependency transitive) adalah ketergantungan

secara fungsional suatu atribut kepada atribut lainnya melalui atribut yang lain

pula.

Misalnya R adalah relasi yang memiliki 3 atribut A, B, dan C yang memiliki

ketergantungan fungsional:

A→B

B→C

Artinya fungsional dependency → C disebut dependency transitive.

Tabel 10.6 Dependency transitive

Pada relasi di atas terdapat ketergantungan transitif antara no_faktur

→ kode_pelanggan dan kode_pelanggan → nama, sehingga dapat dinotasikan

no_faktur → kode_pelanggan → nama.


11.3 Boyce-Codd Method
Boyce-Codde Method merupakan bentuk normal yang digunakan dalam normalisasi database.
Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). Suatu relasi yang
memenuhi BCNF selalu memenuhi 3 NF, tetapi tidak untuk sebaliknya. Suatu relasi yang
memenuhi 3 NF belum tentu memenuhi BCNF. Karena bentuk 3NF masih memungkinkan
terjadi anomali.
Adapun bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency
terhadap setiap atribut atau gabungan atribut dalam bentuk: X→Y, maka X adalah super key.
Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X
menjadi super key dari tabel-tabel hasil dekomposisi.
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF .
Perbedaannya, untuk functional dependency X → A, BCNF tidak membolehkan A sebagai
bagian dari primary key.
Daftar Pustaka

1. https://www.tutorialspoint.com/Lossless-and-Lossy-Decomposition-in-DBMS
2. https://www.geeksforgeeks.org/introduction-of-database-normalization/
3. https://www.geeksforgeeks.org/lossless-join-and-dependency-preserving-decomposition/
4. https://www.geeksforgeeks.org/acid-properties-in-dbms
5. http://brahmaputra7.blogspot.com/2014/05/basis-data-pengenalan-entity.html

Anda mungkin juga menyukai