Kenalan yu sama Basis Data

on Sabtu, 31 Mei 2014
Hello para pengunjung setia blog ini, saya kali ini bakal bahas tentang salah satu mata kuliah wajib nih di jurusan Ilmu Komputer yaitu Basis Data. Di keseharian mungkin kita sering nih ngomongin apa itu data dan informasi kan .Kali ini bakal dibahas nih apa sih itu basis data beserta isi-isi di dalamnya, oke tanpa panjang lebar ayo kita mulai saja guys :D.

Pengenalan Basis Data

Tak kenal maka kenalan, ayo kenalan dulu nih sama Basis Data. Basis data berasal dari 2 kata yaitu basis dan data. Data adalah representasi untuk mewakili fakta dunia nyata, representasi ini dapat berupa nilai numerik, alpanumerik, gambar, suara, video dan lain-lain. Sedangkan Basis adalah markas/ gudang/ tempat berkumpul atau bisa dikatakan juga basisitu suatu sistem mekanisme suatu proses untuk mengeluarkan sesuatu keadaan dimana sudah menjadi kesatuan dan saling membutuhkan. Jadi Basis Data adalah Himpunan kelompok data/ arsip yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan mudah dan cepat.

Basis data dengan lemari arsip sebenarnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamannya adalah pengaturan data/ arsip sedangkan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/ arsip.Perbedaan keduanya hanya terletak pada media penyimpannya, lemari arsip menggunakan lemari sedangkan basis data menggunakan media penyimpanan elektronis seperti hardisk.


Tujuan dibangunnya basis data itu ada 7 yaitu sebagai berikut,
A. Kecepatan & kemudahan (speed)
B. Efisiensi ruang penyimpanan (space)
C. Keakuratan (accuracy)
D. Ketersediaan (availability)
E. Kelengkapan (completeness)
F. Keamanan (security)
G. Kebersamaan pemakaian (sharability)

Setelah mengenal basis data mari kita bahas sistem dari basis datanya itu sendiri. Dalam mengelola basis data menjadi sistem basis data tentu saja ada beberapa unsur yang sering kita sebut DBMS (Data Bases Management System) yang memiliki karakteristik 
- Software Program
- Suuplement Operating System
- Management Data
- Queries Data and Generates Reports
- Data Security

DBMS hanyanya salah satu komponen pembangun sistem basis data, masih ada 5 lagi buat membangun basis data yaitu,
1. Perankat keras.
2. Sistem operasi
3. Basis data
4. Pemakai 
5. Aplikasi lain dan tentunya DBMS

Tujuan utama dari sistem basis data adalah untuk menyediakan fasilitas untuk view secara abstrak bagi penggunannya. Ada 3 level dalam melihat suatu sistem basis data seperti berikut,

1. Level fisik
Level terendah pada abstraksi data yang bisa menunjukan bagaimana data itu disimpan sehingga dapat melihat data sebagai gabungan dari struktur dan datanya sendiri.

2. Level lojik
Menggambarkan data yang disimpan pada basis data dan hubungannya antara data satu dengan yang 
lain.

3. Level view
Level tertinggi dari abstraksi data yang hanya menampilkan sebagian dari basis data tersebut. Dengan kata lain data yang ditampilkan hanya yang dibutuhkan user dan sudah diatur oleh aplikasi untuk menampilkan data tersebut.

Nah setelah mengetahui apa itu basis data dan sekilas tentang sistemnya maka saya akan bahas tentang salah satu model pengambaran basis data yaitu Basis Data Relasional. Model pengambaran ini merupakan yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna. Terdiri dari tabel dua dimensi yang disebut relasi/ tabel dengan masing-masing relasi tersusun dari tupel atau baris dan atribut. 
Tingkatan data dalam Basis data Relasional

Characters adalah bagian terkecil dalam databases yang berisi berupa karekter numerik ataupun huruf.
Field adalah bagian dari  record yang menunjukan suatu item data yang sejenis.
Record adalah kumpulan data value dari atribut yang berkaitan sehingga bisa menjelaskan sebuah entitas dengan lengkap.
Table/ Etity adalah sesuatu yang dapat diidentifikasi dari suatu sistem basis data. Disebut tabel karena dalam mepresentasikan datanya diatur dalam bentuk baris dan kolom. Dalam sistem basis data table/ entity disebut sebagai file.
Database adalah kumpulan tabel-tabel yang saling berelasi, disusun secara logis sehingga menghasilkan informasi yang bernilai guna.

Dalam dunia Ilmu Komputer pasti gak akan jauh nih sama kata coding, yah sama di Basis data pun ada bahasa codingannya yang sering digunakan tuh ada dua yaitu,
Pertama yaitu DDL(Data Definition Language) adalah perintah-perintah yang biasa digunakan oleh pengguna untuk mendefinisikan skema ke DBMS.
Kedua yaitu DML(Data Manipulation Language) adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Dalam DML ada dua macam nih yaitu Prosedural, dimana user untuk menentukan data apa yang dibutuhkan dan bagaimana untuk mendapatkan  data tersebut dan Nonprosedural, mengharuskan user untuk menentukan data apa yang dibutuhkan tanpa menentukan bagaimana data tersebut.

Penerapan basis data belakang ini sudah hampir sampai keseluruh sektor seperti kepegawaian, pergudangan,  akutansi, reservasi, layanan pelanggan. Ada pula organisasi dan perusahan yang sudah memanfaatkan basis data seperti perbankan, asuransi, rumah sakit, produsen barang, industri manufaktur, pendidikan, telekomunikasi dan masih banyak lagi. Nah gimana udah kenalan kan sama apa itu basis data dan segala jenis seluk beluknya? Kalau udah ayo kita makin dalam mengenalnya karena masih ada ERD nih, apa itu ERD ? Pasti penasaran kan, so tetep scroll kebawah buat tau infonya yu ah let's go !!!

ERD(Entity Relationship Diagram)

ERD adalah model data konseptual tingkat tinggi untuk perancangan basis data. Untuk membuat basis data yang baik mula-mula kita harus membuat ERD nya terlebih dahulu. Untuk mempermudah jalur data dan apa-apa saja yang terkait dalam data tersebut. Dalam ERD ada beberapa komponen penting yaitu,
1. Entitas adalah individu yang mewakili suatu yang nyata(eksistensinya) dapat dibedakan dari sesuatu yang lain.
2. Atribut adalah properti yang mendeskripsikan karakteristik dari setiap entitas yang ada pada ERD.
3. Relasi adalah sesuatu yang menunjukan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. 
Nah ada 3 komponen utama pembentuk ERD dibawah ini akan dijelaskan sejelas-jelasnya tentang ketiga. Dimulai dari entitas.

A. Entitas 
Seperti dijelakan diatas entitas adalah suatu yang mewakili sebuah objek dan dapat dibedakan dengan yang lain. Serta bila sekelompok entitas yang sejenis lalu berada dalam satu lingkup yang sama akan membentuk himpunan entitas. Bisa dikatakan juga bawah entitas itu mewakili suatu objek individul sedangkan himpunan entitas itu mewakili rumpun(famili) dari individu tersebut.
Contoh-contoh himpunan entitas:
  • Semua pelanggan atau pelanggan saja dengan entitas budiman, suherman, aminah, dan lain-lain.
  • Semua mobil atau mobil saja dengan entitas mobil suzuki, mobil toyota, mobil honda dan lain-lain.
  • Unary adalah relasi yang merelasikan 1 entitas. 
  • Binary adalah relasi yang merelasikan 2 entitas seperti contoh antara tabel mahasiswa dan mata kuliah diatas.
  • Ternary adalah relasi yang merelasikan antara 3 entitas.
Sebuah entitas dapat digambarkan dengan sebuah persegi panjang. Berikut ini adalah contohnya

B. Atribut
Setiap entitas mempunyai atribut yang melekat pada entitas tersebut seperti dibawah ini,

Penentuan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembuatan ERD. Contoh nim, nama, alamat, kode. Setiap atribut memiliki domain value set yaitu batasan yang dibolehkan bagi suatu atribut.

Tipe-tipe atribut dapat dibedakan seperti dibawah ini,
1. Atribut sederhana (Simple Attributte) dan Atribut komposit (Composite Attribute)
Atribut sederhana adalah atribut atomik yang tidak dapat dipilah lagi sementara Atribut komposit merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna.Contoh atribut komposit adalah nama yang dapat dibagi lagi menjadi nama depan dan nama belakang.

2. Atribut bernilai tunggal (Single-Valued Attribute) dan Atribut bernilai banyak (Multivalued Attribute)
Atribut bernilai tunggal ditunjukan pada atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data. Contohnya adalah Jenis Kelamin. Sedangkan Atribut bernilai banyak ditunjukan pada atribut yang dapat kita isi dengan lebih dari satu nilai tetapi jenisnya sama. Contohnya adalah atribute hobi. Bisa saja satu orang memiliki lebih dari satu hobi.

3. Atribut harus bernilai (Mandotary Attribute) dan Nilai Null
Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harus berisi data. Sehingga nilainya tidak boleh kosong, atribut seperti ini disebut Mandotary Attribute. Contoh pada tabel mahasiswa atribut NIM dan Nama harus terisi untuk dapat disimpan di tabel. Sebaliknya ada pula ada pula atribut pada tabel yang nilainya boleh dikosongkan. Null digunakan untuk menyatakan atribut-atribut demikian yang nilainya memang belum siap atau tidak ada.

4. Atribut Turunan (Derived Attribute)
Atribut turunan adalah atribut yang nilai-nilainnya diperoleh dari pengolahan atau dapat diturunkan dari atribut tabel lain yang berhubungan. Contohnya atribut IPK yang didapat dari penjumlahan nilai dibagi dengan jumlah sks yang diambil.

Notasi atribut dapat digambarkan dengan gambar elips. Atribut kunci dapat diberi tanda # atau garis bawah. 


C. Relasi
ERD menggambarkan entitas-entitas dengan atributnya yang saling berelasi. Relasi merupakan hubungan antara entitas satu dengan yang lainnya sesuai dengan prosesnya. Notasi relasi didalam ERD digambarkan dengan notasi belah ketupat.

Relasi diantara entitas diatas adalah mahasiswa sedang mengambil suatu mata kuliah. Dalam relasi pun ada derajat himpunan relasi seperti dibawah ini,
Selanjutnya kita akan membahas tentang kardinalitas. Kardinalitas adalah jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dapat berupa :
1. Satu ke Satu (One to One)

yang artinya setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu himpunan entitas B.

2. Satu ke Banyak (One to Many)
yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya.

3. Banyak ke Satu (Many to One)
yang berarti setiap entitas pada himpunan A berhubungan dengan paling banyak satu entitas pada himpunan entitas B, tetapi tidak sebaliknya. Himpunan entitas B bisa berhubungan lebih dari satu entitas pada himpunan entitas A.
4. Banyak ke Banyak (Many to Many)
yang artinya setiap entitas pada himpunan entitas A bisa berhubungan dengan banyak entitas pada himpunan B dan sebaliknya.


Dalam menggambarkan kardinalitas pada ERD, digunakan 1 yang menunjukan Satu dan n menunjukan Banyak.



Nah setelah mengetahui apa saja komponen penting yang harus ada pada ERD dan penjelasnya-penjelasannya. Maka kita pun harus tau bagaimana tahapan pembuatan ERD yang baik dan benar. Berikut ini adalah urutannya :
1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
2. Menentukan atribut-atribut dari setiap entity.
3. Menentukan atribut primary key dari setiap entity.
4. Menentukan relationship antar entity.
5. Menentukan atribut-atribut dari setiap relationship (jika ada).
6. Menentukan Cardinality Rasio.
7. Menentukan Participation Constraint

Setelah kita mengetahui apa itu ERD dan konsep-konsep yang ada didalamnya maka kita tinggal merubah ERD itu ke Basis data relasional alias diubah ke codingan agar bisa digunakan dengan semestinya karena ERD hanyalah gambaran umum skematisnya saja. 

Berikut ini adalah contoh ERD yang saya buat dari



Mengubah ERD ke Basis Data Realtional

Pemodelan ERD adalah pemodelan konseptual sebuah basis data relasional. Desain ERD bisa dikonversikan kedalam bentuk tabel fisik yang akan disimpan di dalam basis data. Untuk menerjemahkan ke bahasa basis data seperti DDL dan DML kita harus terlebih dahulu mengetahui konsep weak entity, spesialisasi dan agregasi. Mari kita mulai dari weak entity.

Himpunan Lemah (Weak Entity)
Himpunan entitas lemah adalah himpunan entitas yang tidak memiliki primary key dan selalu bergantung pada entitas lain. Notasi dari entitas lemah digambarkan dengan double persegi panjang sedangkan relasi untuk himpunan entitas lemah digambarkan dengan double diamond. Diskriminator adalah atribut yang dapat membedakan entitas yang terdapat pada himpunan entitas parsial. Konsep diskriminator hanya dipakai pada himpunan entitas lemah, primary key pada himpunan ini ada 2 yaitu primary key dari entitas kuat dan diskriminator/ key parsial.


 Spesialisasi dan Generealisasi
Spesialisasi merupakan proses desain top-down dengan mendesain subgrouping didalam himpunan entitas yang berbeda dari himpunan entitas yang berbeda dari himpuan entitas.Tujuannya agar memberikan perbedaan karekteristik dari himpunan entitas yang hampir sama agar tidak ada ambiguitas. Subgrouping diatas menjadi himpunan entitas yang levelnya lebih rendah dan memiliki atribut tersendiri yang tidak dimiliki level atasnya.



Generalisasi merupakan proses desain bottom-up dengan mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama-sama. Spesialisasi dan generalisasi sama-sama digambarkan dengan notasi ISA, yang membedakannya adalah sudut pandangnya. Jika spesialisasi mendefinisikan entitas dari umum ke subgroup,  tetapi generalisasi memandang sebaliknya dari subgroup yang berbeda kemudian dicari entitas umumnya yang mewakili 2 himpunan entitas tersebut.



Agregasi
Agregasi adalah enkapsulasi dari entitas yang berelasi n-n. Pada umumnya terbentuk dari kardinalitas relasi banyak ke banyak. Enkapsulasi diperlukan karena kedua himpunan entitas yang berelasi sudah menjadi satu kesatuan yang tak dapat dipisah. Notasinya digambarkan dengan gambar persegi panjang yang membungkus himpunan entitas yang saling berelasi.



Setelah mengenal ketiga konsep tersebut baru kita dapat merubah skema ERD ke Tabel. Penurunan tersebut dimaksudkan untuk mengubah sebuah konsep hubungan entitas dan relasi kedalam bentuk fisik tabel-tabel yang berelasi. Inti dari ERD adalah mengambarkan hubungan nyata kedalam bentuk entitas yang saling berelasi dari diagram ini bisa dibuat kedalam bentuk tabel yang langsung diimplementasikan ke dalam basis data.

Aturan dalam penurunan ERD ke tabel adalah sebagai berikut :
·      Setiap himpunan entitas menjadi tabel (baik entitas kuat ataupun lemah).
·      Setiap atribut menjadi kolom tabel.
·      Kardinalitas relasi menentukan jumlah tabel yang terbentuk.

Representasi himpunan entitas sebagai tabel, himpunan entitas kuat di representasikan kedalam tabel dengan kolom sama persis dengan yang sudah ada di ERD sedangkan untuk himpunan entitas lemah menjadi tabel tersendiri yang didalamnya ada kolom primary key yang merupakan identifikasi dari himpunan entitas kuat.


Untuk representasi atribut yang dirubah ke kolom, pada atribut simple dan derived direpresentasikan sama persis seperti ERD tetapi untuk atribut komposit dan multivalue mempunyai aturannya masing-masing. Atribut komposit harus dipecah dengan membuat atribut terpisah untuk menjadi masing-masing komponen. Contoh tabel nama dipecah menjadi nama depan dan nama belakang. Untuk atribut multivalue haruslah untuk dipecah menjadi dua tabel.
Sedangkan untuk representasi relasi menentukan banyaknya tabel yang dibuat. Bila 1 ke 1 maka kita harus memilih primary key di 1 himpunan entitas untuk menjadi foreign key bagi himpunan entitas lain. Sedangkan untuk 1 ke banyak/ banyak ke 1 primary key pada tabel berkardinalitas sedikit menjadi foreign key pada tabel berkardinalitas banyak. Bila relasinya adalah banyak ke banyak maka akan relasi tersebut otomatis menjadi entitas baru yang memiliki foreign key dengan entitas satu dengan entitas satunya lagi.
Untuk representasi spesialisasi ada 2 cara yang bisa digunakan untuk mengubah kedalam tabel.
Cara pertama :
1.     Bentuklah tabel untuk tabel level entitas yang lebih tinggi.
2.     Bentuklah tabel untuk level entitas yang lebih rendah (dengan memasukan primary key pada level yang lebih tinggi ke tabel dengan level yang lebih rendah).


Cara kedua
1.     Bentuklah tabel untuk tiap himpunan entitas dengan semua atribut lokal dan turunan.
2.     Bisa jadi tabel pada level tinggi tidak perlu disimpan jika spesialisasi adalah total. Jika diperlukan bisa dibuat view yang menggunakan tabel-tabel spesialisasi.


Representasi untuk agregasi harus membuat tabel yang terdiri dari :
·        Foreign key dari himpunan entitas yang berhubungan.
·        Setiap atribut deskriptif.
·        Atribut baru untuk primary key di tabel relasi.

Setelah kita bisa memrepresentasikan ERD ke dalam tabel tentu saja belum selesai dalam membuat basis data yang sempurna karena tabel yang kita buat masih besar tingkat ambiguitasnya dan rawan sekali terjadi kesalahan data ketika ingin kita panggil kembali maka dari itu kita harus menormalkan terlebih dahulu tabel-tabel tersebut melalui tahap Normalisasi.
Normalisasi merupaka sebuah teknik dalam logical desain sebuah basis data yang mengelompokan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik(tanpa redudansi). Dalam normalisasi ada proses untuk menghilangkan besar ambiguitas dalam suatu basis data. Data diuraikan dulu ke bentuk tabel baru dianalisis berdasarkan persyaratan terntentu di beberapa tingkat, bila ada tabel yang diuji belum memenuhi syarat maka tabel tersebut perlu dipecah menjadi beberapa tabel sederhana.
Tahapan normalisasi ada yang paling ringan (1NF) sampai paling ketat (5NF) tetapi biasanya hanya sampai tingkat (3NF) karena sudah membuat tabel yang berkualitas baik. Bila kita hanya (1NF) pengaksesan cepat tetapi akan sering terjadi kesalahan tetapi bila kita juga sampai tahap (5NF) pengaksesan kita akan lama tetapi tingkat kesalahnya akan semakin sedikit.
Urutannya adalah 1NF, 2NF, 3NF, BCNF, 4NF, 5NF.

Mari kita coba bahas satu-persatu urutan dari tahap normalisasi diatas.

Normal pertama (1st Normal Form)
Dalam 1NF  terdapat beberapa aturan seperti dibawah ini 
1. Tidak adanya atribut multivalue, atribut komposit atau kombinasi.
2. Mendefinisikan atribut kunci.
3. Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi lagi).


  • Dimana nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.
  • Jika asumsi hari dan jam memegang peranan penting dalam sistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam sbb:





Normalisasi kedua (2nd Normal Form)
Dalam normalisasi kedua ini ada aturannya yaitu,
1. Sudah memenuhi dalam bentuk normal kesatu (1NF)
2. Semua atribut kunci bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci.
3. Jika ada ketergantungan parsial maka atribut teresbut harus dipisahkan pada tabel yang lain.
4. Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisahkan tadi.

Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan:
{Mhs_nrp, mk_kode} (tidak termasuk)    mhs_nama
{Mhs_nrp, mk_kode}    (tidak termasuk) mhs_alamat
{Mhs_nrp, mk_kode}   (tidak termasuk)  mk_nama
{Mhs_nrp, mk_kode}   (tidak termasuk) mk_sks
{Mhs_nrp, mk_kode} (termasuk) nihuruf

Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF 

{Mhs_nrp, mk_kode}  -->  nihuruf                               (fd1)
Mhs_nrp            -->  {mhs_nama, mhs_alamat}      (fd2)
Mk_kode           -->    {mk_nama, mk_sks}       (fd3)

fd1 (mhs_nrp, mk_kode, nihuruf)  --> Tabel Nilai
fd2 (Mhs_nrp, mhs_nama, mhs_alamat)  --> Tabel Mahasiswa
fd3 (mk_kode, mk_nama, mk_sks)  --> Tabel MataKuliah

Normalisasi ketiga (3rd Normal Form)
Aturannya adalah sebagai beriku :
1. Sudah berada dalam bentuk normal kedua (2NF).
2. Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya).
  • Karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni alm_kodepos):
                                          alm_kodepos -->{alm_Provinsi, alm_kota}
Sehingga menjadi :
Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
Kodepos (alm_kodepos, alm_provinsi, alm_kota)

Biasanya normalisasi hanya digunakan sampai normalisasi ketiga tetapi agar lebih memahami maka akan dibahas juga normalisasi sampai 5NF.

Boyce-Codd Normal Form (BCNF)
Aturan-aturan BCNF adalah sebagai berikut :
1. Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X ke Y maka X adalah super key 
2. Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi 
3. Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X ke A, BCNF tidak membolehkan A sebagai bagian dari primary key.

Bentuk Normal Tahap Keempat (4th Normal Form)
1. Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute 
2. Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies 

Setiap employee dapat bekerja di lebih dari project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus di-dekomposisi menjadi:
(Employee, Project)
(Employee, Skill)

Bentuk Normal Tahap Kelima (5th Normal Form)
1. Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
2. Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula 


Nah sekian aja pembahasan kali ini tentang Basis Data, kita udah kenalan dari apa sih basis data, ERD, cara mengubah ERD dan juga tentunya Normalisasi. Semoga ilmu yang sedikit saya bagikan ini bisa bermanfaat buat para pengunjung sekalian. 
Oia postingan ini dijamin ko kebenarnya gak asal-asalnya soalnya liat aja deh Refrensinya.
Makasih sekali lagi tunggu postingan saya selanjutnya :D .


Refrensi :
Dari Diktat Basis Data yang dibuat oleh Bapak Budi Laksono Putro, S.Si, MT  info lebih lanjut kunjungin web http://cs.upi.edu/ 
Buku Basis Data karangan Fathansyah. 
Dari koleksi pribadi ERD buatan saya dan selama kelompok Basis Data.