Anda di halaman 1dari 13

NORMALISASI DAN DDL

Dosen Pengampu : Yuyun Yusnida Lase S.Kom., M.Kom

Disusun oleh :

Nama : Hanafi Mufty Lubis

Nim : 2005102063

Kelas : MI-3B

POLITEKNIK NEGERI MEDAN


JURUSAN TEKNIK KOMPUTER DAN INFORMATIKA
PRODI D3 MANAJEMEN INFORMATIKA
2020
KATA PENGANTAR

Puji syukur kita panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan dan
rahmat-Nya saya dapat menyelesaikan materi yang berjudul “NORMALISASI DAN DDL”.
Adapun materi ini saya buat untuk menyelesaikan tugas yang diberikan oleh dosen yang
mengajar mata kuliah Sistem Basis Data.

Dalam pembuatan materi ini, saya menyadari bahwa materi ini begitu jauh dari kata
sempurna. Oleh karena itu, kiranya pembaca dapat memberikan saran, kritik ataupun
masukkan sehingga saya dapat menyadari dan memperbaiki hasil tulisan saya. Akhir kata,
semoga berguna dan bermanfaat bagi kita semua.

Medan, 24 September 2021

Hanafi Mufty Lubis


A. Normalisasi

1. Pengertian Normalisasi

Dasarnya definisi normalisasi berarti tindakan menjadikan kembali ke keadaan normal


atau biasa (sesuai dan tidak menyimpang dari suatu norma maupun kaidah). Normalisasi
adalah cara pendekatan dalam membangun desain logika basis data relasional yang tidak
secara langsung berkaitan dengan model data tetapi dengan menerapkan sejumlah aturan dan
kriteria standar untuk menghasilkan struktur tabel yang normal. Secara garis besar
normalisasi yaitu suatu proses memperbaiki/membangun data dengan model data relasional
dansecara umum lebih tepat di koneksikan dengan data model logical dan proses
pembentukan relasi atau tabel basis data ke bentuk normal ini memungkinkan ambigu bisa
diminimalisir maupun dihilangkan. Pada Tahun 1970 Edgar.F. Codd awalnya
memperkenalkan basis data relasional pada Penelitiannya yang berjudul "A Relational Model
of Data for Large Shared Data Banks" di IBM dengan mendefinisikan normalisasi basis data
bentuk pertama yang dikenal dengan 1st Normal Form (1NF) atau bentuk normal tahap
pertama. Pada tahun 1971, Codd mendefinisikan bentuk normal tahap kedua dan ketiga yang
dikenal dengan 2nd Normal Form (2NF) dan 3rd Normal Form (3NF). Pada tahun 1974 saat
kongres di Stockholm, Swedia. Edgar F. Codd bersama Raymond F. Boyce mendefinisikan
tahapan bentuk normal selanjutnya yang dikenal dengan Boyce-Codd Normal Form disingkat
dengan BCNF.
2. Bentuk-Bentuk Normalisasi
Menurut Codd, dalam merancang basis data dengan pendekatan teknik normalisasi basis
data dengan struktur tabel yang telah diketahui, harus dilalui dengan empat tahapan. Empat
tahapan normalisasi data pada sistem basis data tersebut ialah 1NF,2NF,3NF, DAN BCNF.

 1st Normal Form (1NF) adalah tahapan awal dan paling ringan menormalkan star
table/universal, namun tahapn ini menjadi pondasi awal dan akhir kesuksesan
normalisasi basis data yang baik dan benar. dimana pada tahap pertama ini, tabel ini
Didekomposisi menjadi beberapa tabel saling berelasi. Bentuk normal 1NF ini
terpenuhi jika sebuah tabel yang diuraikan tersebut tidak lagi memiliki atribut bernilai
banyak (bernilai ganda) atau yang sering disebut dengan Multivalued Attribute, tidak
memiliki atribut composite atau atribut yang masih bisa memiliki sub-sub atribut,
setiap atribut bernilai atomik (end-atribut), dan memiliki atribut kunci (Primary Key).
Contoh dari 1NF :
 2nd Normal Form (2NF) adalah Tahapan menormalisasikan tabel kedua. Untuk masuk
ke tahapan normalisasi basis data 2NF ini tabel harus sudah memenuhi bentuk normal
pertama (1NF). 2NF ini akan terpenuhi jika ada atribut yang memiliki ketergantungan
atau Functional Dependency hanya tergantung pada sebagian dari primary key, jika
tidak memiliki atribut yang berelasi atau ketergantungan terhadap primary key, maka
harus dipisahkan pada tabel baru (menciptakan primary key baru) ataupun dihilangkan.
Contoh dari 2NF :

 3rd Normal Form (3NF) adalah Normalisasi Basis Data tahapan normalisasi bentuk
ketiga. Tahapan ini dapat dilanjutkan jika tahap 2NF telah terpenuhi. Tahapan
normalisasi data 3NF akan terpenuhi jika tidak ada atribut non primary key yang
memiliki ketergantungan terhadap atribut non primary key lainnya.
Contoh dari 3NF :
 Boyce-Codd Normal Form (BCNF) Normalisasi Basis Data yang merupakan aturan
dimana semua attribut tidak boleh memiliki ketergantungan transitif atau memerlukan
objek data lainya. Dinyatakan Sebuah tabel BCNF jika, setiap kunci kandidat adalah
sebuah determinan.

Banyak pendapat terhadap normalisasi basis data tahapan bentuk normal ketiga (3NF) dan
normalisasi basis data BCNF. Setiap tabel dalam BCNF merupakan 3NF namun tidak
sebaliknya dan BCNF lebih baik dibanding 3NF. Pendapat ini disebabkan oleh karena ketika
melakukan uji BCNF kita hanya mengidentifikasi seluruh determinan pada relasi, lalu
memastikan determinan-determinan tersebut merupakan candidate key. Menurut Wikipedia,
sebuah relasi basis data relasional kerap digambarkan sebagai bentuk normal bila memenuhi
normalisasi basis data bentuk normal ketiga (3NF). Sebagian besar relasi 3NF adalah
keleluasaan akan anomali penambahan (Insert), penghapusan (Delete), dan pengubahan
(Update). Selain empat tahapan normalisasi basis data diatas masih ada bentuk 4th Normal
Form (4NF) dan 5th Normal Form (5NF). Walaupun pada praktiknya teknik normalisasi
1NF, 2NF, 3NF dan BCNF dikatakan sudah memadai untuk kategori basis data efisien,
tahapan 4Nf dan 5NF tetap dilakukan dan dimanfaatkan untuk memperoleh tabel pada basis
data yang lebih baik lagi.

 4th Normal Form (4NF) adalah Normalisasi Basis Data Bentuk Normal tahap
Keempat yang berkaitan dengan sifat ketergantungan banyak nilai (Multivalued
Dependency) pada tabel dan merupakan pengenbangan dari Ketergantungan
Fungsional, sedangkan

 5th Normal Form (5NF) adalah Normalisasi Basis Data Bentuk Normal tahap Kelima
dan merupakan nama lain dari Project-jion Normal Form (PJNF). 5NF berkaitan
dengan Ketergantungan Relasi (Join Dependency) antar tabel. Fathansyah
3. Tujuan Dilakukan Normalisasi

Adapun tujuan dilakukan normalisasi yaitu :

 database akan mudah untuk diakses dan dikelola,


 akan menghemat space/ruang dalam komputer karena update data yang disimpan
dalam database dilakukan dengan operasi yang minimum dan menghindari
reduncancy data, dan ini juga berarti menghemat ‘cost’,
 menghindari problem-problem update anomalies terhadap data yang disimpan dalam
database sehingga terhindar dari inkonsistensi data.
 menghilangkan kerangkapan pada data/ redudansi.
 mengurangi kompleksitas
 mempermudah pemodifikasian data
 menghilangkan anomali data

4. Fungsi Normalisasi

Ada dua fungsi normalisasi, yaitu :

 Dapat digunakan sebagai metodologi dalam menciptakan desain database.


 Dapat digunakan sebagai verifikasi terhadap hasil desain database yangtelahdibuat,
baik menggunakan E-R Model atau menggunakan model relasi,seperti yang anda buat
diatas atau dari model yang lain.

5. Jenis-Jenis Anomali

Walaupun tidak hanya memandang dengan teknik perancangan basis data pendekatan
normalisasi basis data, tabel yang tidak efisien dan atau belum normal paling kecil dan dasar
mempunyai beberapa kelemahan anomali atau penyimpangan dari keseragaman sifat.
kelemahan tersebut antara lain:

 Anomali Pemasukan (Insertion Anomaly) adalah keadaan dimana tidak


memungkinkan memasukkan (input) beberapa data secara langsung di database,
keadaan ini membuat pengguna sistem basis data harus memasukan data yang sama
berulang-ulang kali (repeating group).
 Anomali Penghapusan (Deletion Anomaly) adalah permasalahan kurangnya efisiensi
dalam penghapusan data seperti yang diharapkan, data yang seharusnya tidak dihapus
akan ikut terhapus
 Anomali Pembaharuan (Update Anomaly) adalah permasalahan terjadinya
pengulangan pengubahan data yang diubah, dimana jika tidak mengubah semua data
maka akan terjadi dua atau lebih row dengan atribut yang sama namun mempunyai
nilai-nilai yang berbeda yang menyebabkan informasi yang membingungkan.
Kelemahan ini disebut dengan Inkonsistensi Data.

6. Dependency (Ketergantungan)

 Functional dependency

Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional


Dependency (FD) atau Ketergantungan Fungsional, khususnya dalam melakukan
dekomposisi rancangan database. 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

Contoh:

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, 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.

 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.

Contoh:

Pada relasi di atas terdapat ketergantungan transitif antara:

no_faktur => kode_pelanggan

kode_pelanggan => nama

Sehingga dapat dinotasikan: no_faktur => kode_pelanggan => nama

 Trivival Dependency

Ketergantungan trivial (trivial dependency) terjadi apabila suatu relasi terdapat banyak set
fungsional dependency, maka dapat dilakukan penghapusan trivial dependency.

Misalnya relasi sebagai berikut:

Suatu trivial fungsional dependency jika dan hanya jika bagian sebelah kiri, maka himpunan
tersebut ditulis sebagai berikut:

{no_faktur, kode_barang} => no_faktur.

Sebaliknya, non trivial fungsional dependency adalah fungsional dependency bukan trivial,
dan yang sebetulnya adalah bentuk integrity rules / constrains (aturan-aturan integritas).

B. Data Definition Language (DDL)


1. Pengertian DDL

Data Definition Language (DDL), yaitu sebuah bahasa pemrograman komputer yang
digunakan untuk membuat dan memodifikasi struktur sebuah objek di database terutama
dalam bentuk skema. Konsep awal dari DDL pertama kali diperkenalkan sehubungan dengan
model database Codasyl, dimana skema database ditulis dalam bahasa sintaksis yang
menggambarkan catatan, bidang, dan set model data pengguna. DDL tidak bisa lepas dari
Structure Query Language (SQL) untuk menampilkan tabel, kolom, data, dan batasan. SQL
juga memperkenalkan bahasa manipulasi skema dan tabel informasi skema ke skema
permintaan. Tabel informasi ini ditetapkan sebagai SQL/Schemata dalam SQL. Istilah DDL
juga digunakan dalam arti umum untuk merujuk ke bahasa formal apa saja untuk
menggambarkan struktur data atau informasi. DDL merupakan bagian dari SQL. SQL
seringkali menggunakan kata kerja imperatif dengan bahasa Inggris normal seperti kalimat
untuk mengimplementasikan modifikasi database. Oleh karena itu, DDL tidak muncul
sebagai bahasa yang berbeda dalam database SQL, tetapi mendefinisikan perubahan skema
database. Pengertian lebih lengkap dari DDL adalah salah satu bentuk SQL yang bisa
digunakan untuk menciptakan atau membuat database, tabel, struktur tabel, merubah struktur
database, menghapus tabel, menghapus database serta membuat relasi antar tabel. Oleh sebab
itu, DDL ini mempunyai sejumlah perintah dasar yang terdiri atas Create, Alter serta Drop.

2. Perintah Pada DDL

 CREATE

Sesuai dengan namanya, perintah ini digunakan untuk membuat dan juga mengkonstruksi.
Yang dibuat dengan perintah create ini adalah membuat database baru, membuat tabel baru,
dan juga termasuk di dalamnya membuat kolom – kolom baru di dalam sebuah database.

No Perintah Fungsi

1 Create Database Membuat database baru

2 Create Function Membuat fungsi pada database

3 Create Index Membuat index pada database

4 Create Table Membuat tabel pada database

5 Create Procedur Membuat prosedur pada database


6 Create Trigger Membuat trigger pada database

Contoh Penggunaan :

CREATE DATABASE db_kampus;
CREATE TABLE table_mahasiswa  (
     column1 datatype,
     column2 datatype,
     column3 datatype,
   ....
);
CREATE INDEX index_name
ON table_name (column1, column2, ...);

 ALTER

Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya
mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom,
maupun memberikan atribut pada kolom.

No Perintah Fungsi

1 Alter Table Mengubah struktur tabel

Contoh Penggunaan :

ALTER TABLE siswa ADD tgl_lahir DATE;

Perintah tersebut digunakan untuk menambahkan kolom tanggal lahir pada tabel
siswa.

 RENAME
Adalah salah satu perintah yang juga dikenal, bukan hanya pada SQL, namun hampir
semua bahasa pemrograman Rename merupakan perintah pada DDL yang berfungsi untuk
merubah dan juga mengedit nama dari suatu objek yang ada pada database.

No Perintah Fungsi

1 Rename Table Digunakan untuk mengganti nama tabel

Contoh Penggunaan :

RENAME TABLE siswa to peserta_didik;

 DROP

Memiliki fungsi yang penting. Perintah drop dalam Data definition language ini memiliki
fungsi untuk menghapus database dan juga menghapus tabel dari dalam direktori.

No Perintah Fungsi

1 Drop Database Menghapus database

2 Drop Function Menghapus fungsi pada database

3 Drop Index Menghapus index pada database

4 Drop Procedure Menghapus prosedur pada database

5 Drop Table Menghapus tabel  pada database


Contoh Penggunaan :

DROP DATABASE kampus;
DROP TABLE data_mahasiswa;

 TRUNCATE

Perintah menghilangkan semua baris dari tabel, membiarkan tabel kosong dan struktur
tabel tetap utuh sedangkan.

Reference :
https://www.bakhel.com/2020/11/definisi-pengertian-tahapan-normalisasi-basis-data.html
http://myblogsitihardiati17.blogspot.com/2016/04/makalah-normalisasi-pada-
database_7.html
https://www.academia.edu/37850656/MAKALAH_NORMALISASI_BASIS_DATA
https://www.nesabamedia.com/pengertianddl/#:~:text=Pengertian%20DDL%20adalah
%20Data%20Definition,database%20terutama%20dalam%20bentuk%20skema.&text=DDL
%20tidak%20bisa%20lepas%20dari,kolom%2C%20data%2C%20dan%20batasan.
https://www.it-jurnal.com/perintah-ddl-data-definition-language-pada-mysql/
https://rudiawan16.wordpress.com/normalisasi-database-beserta-pengertian-dan-contohnya/
https://mfikri.com/artikel/konsep-ketergantungan-dalam-normalisasi-data.html

https://badoystudio.com/ddl-dan-dml/

Anda mungkin juga menyukai