Anda di halaman 1dari 20

REDUNDANSI & DUPLIKASIRedundansi : Salah satu dari perancangan lojik basis data adalah

meniadakan redundansi. Redundansi terjadi jika fakta yang sama disimpan lebih dari
sekali.Duplikasi : Duplikasi berbeda dengan redundansi. Kadang-kadang duplikasi diperlukan
dalam basis data sementara redundansi harus dihindari.MENGHILANGKAN REDUNDANSISalah
satu cara untuk menghilangkan redundansi adalah dengan dekomposisi. Sebuahrelasi yang
menyimpan sebuah fakta lebih dari sekali dapat didekomposisi ke dalam relasi-relasi yang
hanya menyimpan sebuh fakta sekali.

TEORI DASAR BASIS DATA


Februari 6, 2010toromorphosistTinggalkan komentarGo to comments
 
 
 
 
 
 
11 Votes

A. Database
Data base adalah suatu koleksi data computer yang terintegrasi, diorganisasikan dan disimpan dengan
cara yang memudahkan pengambilan kembali. DASD (medium file master yang baik) harus
digunakan. Tujuan utama dari konsep database adalah meminimumkan pengulangan data dan
mencapai independensi. Pengulangan data (data redundancy ) adalah duplikasi data artinya data yang
sama disimpan dalan beberapa file. Independensi data adalah kemampuan untuk membuat perubahan
dalan struktur data tanpa membuat perubahan pada program yang memproses data. Independensi
data dicapai dengan menempatkan spesifikasi data dalam label dan kamus yang terpidah secara fisik
dari program. Program mengacu pada tabel untuk mengakses data. Perubahan pada struktur data
hanya dilakukan sekali, yaitu dalam tabel.
Ketika perusahaan mengadopsi konsep database, hirarki data menjadi:
• Database
• File
• Catatan
• elamen data
File-file tersendiri dapat tetap ada, mewakili komponen -komponen utama dari database namun
organisasi fisik dari data tidak menghambat pemakai. Tersedia berbagai cara untuk mengintegrasikan
isi dari file-file yang memiliki hubungan logis.

1) Bentuk Data Base


• Hierarchical DataBase
Biasa digunakan untuk jaringan komunikasi data yang berupa hierarchi/tree. Dasar hierarchi Data
base berusaha untuk menggambar realita dalam sebuah organisasi kebentuk data komputer.
• Network DataBase
Network DB dibuat karena jaringan komunikasi memiliki topology Mesh, shg membutuhkan bentuk ini.
Network Data Base memiliki struktur file yang sama, sehingga file yang satu dapat mengetahui /
mendapatkan informasi file yang lain dengan benar.
• Relational DataBase
Bentuk DB yang paking Fleksibel dan terbuka. Biasanya digunakan pada local saja.
2) Struktur Data Base
Integrasi logis file dapat dicapai secara eksplisit atau secara implicit.
• Hubungan eksplisit
inverted index dan link field menetapkan hubungan eksplisit antara data yang terintefrasi secara logis
dalam file yang sama. Suatu pendekatan untuk menetapkan hubungan eksplisit antara catatan dari
beberapa file adalah dengan menyusun catatan-catatan tersebut dalam suatu hirarki. Ini disebut
struktur hirarkis. Dalam struktur seperti ini, setiap catatan pada satu tingkat dapat dihubungkan ke
berbagai catatan yang setingkat lebih rendah. Catatan yang memiliki anak disebut parent dan anak
catatan itu sisebut children.
• Hubungan implicit
Pada awal 1970-an Edgar f. Codd dan C.J. Date, keduanya dari IBM tetapi bekerja secara terpisah,
mengembangkan statu pendekatan untuk menetapkan hubungan antar catatan yang tidak harus
dinyatakan secara eksplisit. Link field khusus tidakperlu disertakan dalam catatan. Pendekatan Codd
dan Date dinamai struktur relasional, dan menggunakan hubungan implicit, yaitu hubungan yang
dapat dinyatakan secara tidak langsung dari catatan data yang telah ada. Keuntungan utama dari
struktur relasional bagi CBIS adalah fleksibelitas yang ditawarkanya dalam rancangan dan
penggunaan database. Pemakai dan spesialis informasi dibebeskan dari keharusan mengidentifigasi
semua informasi yang diperlukan
sebelum menciptakan database.
Tipe-tipe Data Base :
a. Operational DataBase
DB menyimpan data detail yang dibutuhkan untuk mendukung operasi dari entire organization.
b. Analytical DataBase
Menyimpan data dan information extrated dari operational yang diseleksi dan external DB. Meliputi
data dan informasi yang banyak dibutuhkan oleh manajer organisasi dan end user.
c. Data WareHouse
Merupakan pusat data sentral yang ditampilkan dan diintegrasikan sehingga dapat digunakan oleh
manajer dan user professional untuk macam-macam analisis bisnis, penelitian pasar dan decision
support.
d. Distributed DataBase
e. End User DataBase
Data Base terdiri dari variasi data yang dikembangkan oleh end user pada workstation.
f. HyperMedia DataBase
g. External DataBase
3) Komponen Data Base :
1. File data base : memiliki elemen-elemen data yang disimpan dalam salah satu format organisasi file
data base.
2. DBMS : suatu kelompok program software yang mengelola DB, mengontrol akses terhadap DB,
menjaga pengamanan DB dan melakukan tugas-tugas lain.
3. Sistem Antar-Muka Bahasa Induk (A Host Language Interfice system)
Bagian dari DBMS yang berkomunikasi dengan program aplikasi, menafsirkan intruksi dan bahasa
tingkat tinggi aplikasi.
4. Program Aplikasi
5. Sebuah sistem Antar muka Bahasa Alami ( A Natural Language Interface system)
Suatu bahasa pertanyaan (query language) yang memungkinkan pemakai untuk mendapatkan
keterangan tentang apa saja yang tersedua pada system komputer.
6. Kamus Data (data dictionary)
Pusat penyimpanan infomasi data-data dari DB yang memuat skema DB, yang mana nama dari setiap
item dalam DB serta deskripsi dan definisi atribut-atributnya yang merujuk pada data standar.
7. Terminal Pengaksesan dan pemutakhiran yang online
Letaknya dapat berdekatan / berjauhan.
8. Sistem keluaran / pembuat Reportase ( The output system or report Generator)
Terdiri dari laporan biasa ,dokumen dan laporan khusus.
4) Kriteria DataBase
1. Struktur filenya memudahkan untuk mengcutkan suatu record dengan record lainnya.
2. Penggabungan file secara menyilang dimungkinkan, sehingga record yang sebelumnya bebas
karena biasa digabung dan diproses bersama secara otomatis.
3. File program/datanya bersifat bebas, sehingga memudahkan untuk pemutakhiran dan perawatan
DB.
4. Memilih rumusan bersama (common definition) dalam kaitannya dengan definisi data, format
record dan berbagai jenis deskripsi lainnya.
5. Memiliki DBMS untuk mengelola data.
6. Kamus Data
7. Memiliki memori akses langsung yang besar untuk memuat data DBMS.
8. Memiliki program dan piranti komunikasi yang canggih, yang memungkinkan pengguna untuk
mengakses data secara serempak.
9. Memiliki teknik-teknik penyalinan (back up), penghidupan kembali (restart) dan perolehan kembali
(recovery) yang canggih yang dapat merekrontuksi kembali file-file DB jika ada data yang
rusak/hilang.
10. Adanya Query Language.
5) Manajerial DataBase Meliputi :
1. System Intelegent
Untuk perencanaan strategis, baik dalam substansi jumlahnya maupun sifatnya bagi kegiatan
manajemen puncak.
2. Masalah-masalah management khusus
3. Model Manajemen
4. Tugas Kunci system informasi
6) Perangkat lunak data base
Perangkat lunak yang menetapkan dan memelihara integrasi logis antar file, baik eksplisit maupun
implicit disebut system manajemen database( datavase management system ) DBMS. IDS dari
General Electric adalaj contoh pertamanya dan kemudian diikuti oleh sejumlah usaha serupa dari
pemasok perangkat keras dan perangkat lunak lain. Contoh DBMS yang menggunakan struktur
hirarkis adalah IMS (Infirmation Management System) dari IBM dan System 2000 dari Intel.
7) Menciptakan database
Proses menciptakan database mencakup tiga langkah utama, yaitu :
• Menentukan kebutuhan data, meliputi pendekatan berorientasi proses, pendekatan model
perusahaan.
• Menjelaskan data, dengan cara system kamus data, data description language.
• Memasukan data
8) Pengelola database
Seorang spesialis informasi yang bertanggung jawab atas database disebut pengelola database atau
DBA. Tugas DBA terbagi dalam empat bidang utama :
• Perencanaan database, mencakup sama dengan para manajer untuk mendefinisikan skema
perusahaan dengan para pemakai untuk mendefinisikan subskema mereka. Selain itu juga perperan
penting dalam memilih DBMS.
• Penerapan database, terdiri dari menciptakan data base yang sesuai dengan DBMS yang dipilih,
serta menetapkan dan menegakkan kebijakan dan prosedur penggunaaan database.
• Operasi database, mencakup menawarkan program pendidikan kepada pemakai datavase dan
menyediakan bantuan saat diperlukan.
• Keamanan database, meliputi pemantauan kegiatan database dengan menggunakan statistic yang
disediakan DBMS. Selain itu juga memastikan bahwa data base tetap aman.
B. DBMS (Data Base Management System)
DBMS adalah Suatu cara dalam bentuk system yang berguna dalam menyimpan data penggunaan
cara yang tepat dapat mempercepat penyimpanan data ,pemrosesan data dan pengambilan data.
1) Empat hal penting dalam DBMS
a. Query language
b. Security consideration
c. Biaya tidak langsung pemrosesan
d. Kecocokan dengan tipa aplikasi
2) Elemen-elemen utama dari DBMS
• Data description language processor
• Performance statistics processor
• Modul backup/recovery
• Manajer database
3) Keuntungan DBMS
• Mengurangi pengulangan data
• Mencapai independesi data
• Mengintegrasikan data beberapa file
• Mengambil data dan informasi secara cepat
• Meningkatkan keamanan
• Meningkatkan presentasi kesiapan data (data availability) yang berarti tersedia pada waktu
dibutuhkan.
• Mempercepat penyimpanan dan pengambilan data.
• Mempercepat dan mempermudah pemrosesan data
• Mengurangi penyimpanan data yang rangkap
• Mempermudah pemrograman karena lebih fleksibel.
4) Kerugian DBMS
• Kurangnya ahli Data Base
• Biaya pemrosesan data sangat tinggi
• Kebutuhan software dan Hardware yang bertambah
• Penggabungan dan pengamanan data
• Mangikat pemakai untuk
• Memperoleh perangkat lunak yang mahal
• Memperoleh konfigurasi perangkat keras yang besar
• Mempekerjakan dan mempertahankan staf DBA
C. Model Database yang Umum
a. Flat Files
Flat files adalah file sistem operasi yang record dalam filenya tidak berisi informasi tentang struktur
file atau hubungan antar record yang dikomunikasikan ke aplikasi yang menggunakannya.
b. Hierarchical Model
Model ini menyusun record-record dalam suatu hirarki seperti struktur organisasi. Setiap file dari flat
file menjadi tipe record atau node dalam hirarki, dan untuk memudahkan disebut record. Record-
record terhubung melalui pointer yang berisi alamat record yang terkait. Pointer memberi tahu
sistemkomputer dimana record tersebut tersimpan secara fisik, seperti alamat yang mengacu ke suatu
gedung tertentu di dunia nyata. Setiap pointer membuat hubungan parent-child, yang juga disebut
oneto- many relationship. Satu parent bisa punya banyak child, tapi setiap child memiliki 1 parent.
Misal 1 manager memimpin banyak karyawan, tapi 1 karyawan memiliki 1 manager.
c. Relational Model
Model ini berusaha mengatasi masalah pada model sebelumnya yang tidak fleksibel. Model relational
database mampu menghubungkan record-record yang dibutuhkan. Model ini dibangun sedemikian
rupa sehingga permintaan atau query dapat bekerja dengan sekumpulan data, tidak dengan satu
record seperti pada model hierarchical.
d. Object-Oriented Model
Model ini berusaha menjawab kesulitan RDBMS (Relational Database Management Systems) untuk
mengatasi tipe data yang kompleks seperti file citra, file gambar dan file audio-video. Ini semua
karena adanya Internet dan WWW yang memungkinkan pengiriman data yang kompleks itu.
D. Kekangan Dalam Database
a. Data Redundancy
Pada file manual sering terjadi penyimpanan data yang sama pada lokasi yang terpisah (cross
location) tidak dapat dihubungkan, kalaupun dapat hanya dihubungkan dengan petunjuk silang (cross
reference). Data yang terpisah selain memakan banyak tempat, juga sukar diremajakan (up-date)
sekaligus secara bersamaan. Permasalahan yang timbul dapat dilihat pada kasus berikut.
Kapuas Pontianak Bank, Pontianak, Kalimantan Barat, mempunyai kegiatan pelayanan nasabah dalam
hal rekening tabungan, rekening cek, dan pinjaman. Yang pertama menggunakan otomatisasi sistem
transaksi adalah rekening tabungan. Waktu itu bank membeli paket perangkat lunak komersial yang
khusus didesain untuk institusi tabungan. Mereka tidak memakai sistem DBMS tetapi sistem file
tradisonal. Sesudah dua tahun kegiatan tabungan otomatisasi, bank mulai mengotomatisasikan juga
kegiatan deposito dan kegiatan peminjaman dengan membeli perangkat lunak dari perusahaan
penjual yang sama. Masing-masing sistem berdiri sendiri-sendiri. Tidak lebih dari satu file yang dapat
digunakan pada waktu bersamaan, dan juga tidak mungkin membuat hubungan antara data tersebut.
Karena sistem berdiri sendiri-sendiri, maka masing-masing file berisikan data yang berlebihan
(redundancy) satu sama lain. Nama nasabah, alamat, nomor telepon, dan nomor kartu penduduk
terdapat tiga file bersangkutan. Karena itu, bila nasabah menggunakan layanan ketiga sistem
tersebut, maka dua data dari beberapa file tersebut adalah redundancy.
Duplikasi data, data yang sama disimpan dalam beberapa file. Karena file-file dan program aplikasi
disusun oleh programmer yang berbeda, sejumlah informasi mungkin memiliki duplikasi dalam
beberapa file. Sebagai contoh nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file
memiliki record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record mata
kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan biaya
akases yang bertambah. Disamping itu dapat terjadi inkonsistensi data. Misalnya, apabila terjadi
perubahan jumlah sks mata kuliah, sedangkan perubahan hanya diperbaiki pada file mata kuliah dan
tidak diperbaiki pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai
mahasiswa.
b. Data Inconsistency
Duplikasi data akan mengakibatkan data menjadi tidak konsisten. Inkonsistensi data (data tidak
konsisten) terjadi dikarenakan bila terjadi perubahan terhadap data maka data harus dirubah
dibeberapa tempat, hal ini tentunya tidak efisien.
c. Data Terisolir (Isolation Data)
Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format format yang berbeda,
akan sulit menuliskan program aplikasi baru untuk mengambil data yang sesuai.
d. Data Integrity
Basis data berisi file yang saling berhubungan, masalah utama adalah bagaimana kaitan antar file
tersebut terjadi meski diketahui bahwa file A terkait dengan file B, namun secara teknis ada field yang
mengaitkan kedua file tersebut oleh karena itu field kunci tidak dapat diabaikan dalam merancang
suatu basis data.
Aturan keintegritasan data :
• Entity integrity
Nilai atribut primary key tidak boleh null (tidak dikenal)
Contoh:
PEGAWAI(NIP,Nama,Alm,Gaji,KdDiv)
NIP sebagai primary key tidak boleh bernilai null atau kosong atau tidak dikenal.
• Referential integrity
Nilai atribut foreign key harus sssuai dengan nilai atribut rujukan (primary key) pada relasi lain.
Contoh:
PEGAWAI(NIP,Nama,Alm,Gaji,KdDiv)
DIVISI(KdDiv,Ket,Lokasi)
Atribut KdDiv sebagai foreign key pada relasi PEGAWAI Harus mempunyai nilai yang sesuai dengan
rujukannya atribut KdDiv pada DIVISI.
• Entity participation
Keharusan/ketidakharusan adanya keanggotaan dari suatu relationship, pada saat perancangan
database.
• Domain constraint
Domain merupakan sekumpulan nilai yang diizinkan untuk satu atau lebih dari satu atribut.
• Enterprise constraint
Aturan yang dispesifikasikan oleh DBA atau pemakai.
e. Data Security
Yang dimasud dengan data security adalah suatu cara pengaman data bari berbagai gangguan, seperti
pencurian data, perubahan data, pengerusakan data, dll.
Berikut ini adalah beberapa cara pengaman data dari sekian banyak cara pengaman data yang bisa
dilakukan. Pada contoh dibawah ini akan diberikan contoh pengaman data pada Oracle, yaitu :
Grant security (system privilege dan object privilege)
Oracle grant security terdiri dari system privilege dan object privilege. System privilege memberikan
hak akses kepada user untuk mengatur dan mengelola sistem database Oracle. Terdapat sekitar 80
system privilege yang ada di Oracle.
contoh :
sql> grant create any cluster to customer_role;
sql> grant select any table to fred;
sql> grant create any table to public;
sql> grant create tablespace to dba_role;
Object privilege merupakan hak akses yang diberikan kepada user untuk melakukan beberapa operasi
pada beberapa objek database seperti; tabel, view, sequence, atau procedure.
contoh :
sql> grant select, insert on customer to fred, mary, joe;
sql> grant insert on order_table to update_role;
sql> grant all on customer to fred;
sql> grant select on customer_view to mary;
Role-based grant security
Role-based grant security pada dasarnya adalah kumpulan dari beberapa privilege yang dikumpulkan
menjadi satu. Ini merupakan salah satu cara untuk memudahkan dalam pemberian hak akses kepada
user.
contoh :
sql> create role system_admin;
sql> grant select, update on customer to system_admin;
sql> grant select on item_table to system_admin;
sql> grant system_admin to user 1, user 2, user 3;
Grant execute security
Oracle menyediakan kemampuan untuk membuat hak akses dengan menciptakan suatu program
tertentu melalui store procedure dan bahasa PL/SQL.
Secara spesifik sdministrator dapat berkreasi dalam membuat hak akses user. Secara keseluruhan
grant execute security memiliki cukup perbedaan dengan traditional grant security yang telah dibahas
sebelumnya.

Normalisasi Database Beserta Pengertian dan


Contohnya
Diposkan pada: November 26, 2013 Oleh: Chy Rohmanah Pada Kategori: Tekno

Advertisement

Normalisasi database merupakan suatu pendekatan sistematis untuk meminimalkan redundansi data pada suatu
database agar database tersebut dapat bekerja dengan optimal. Jika anda seorang database administrator ketika
terjadi sesuatu pada database seperti penurunan kinerja, mungkin anda akan ditanya apakah database tersebut
telah di normalisasi?
Tujuan Normalisasi Database
Tujuan normalisasi database adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua
adalah memastikan dependensi data (Data berada pada tabel yang tepat).

Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan
sistem secara keseluruhan.

1. INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di
database.
2. DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya
tidak terhapus mungkin ikut terhapus.
3. UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data
yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
Normalisasi Database
Normalisasi database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang
ada yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Namun dalam prakteknya dalam dunia industri
bentuk normalisasi ini yang paling sering digunakan ada sekitar 5 bentuk.
Normal Form
Data yang direkam dan dimasukkan secara mentah dalam suatu tabel pada bentuk ini sangat mungkin terjadi
inkonsistensi dan anomali data
Contoh Normal Form

Contoh normal form

Pada bentuk ini ada beberapa ciri ciri yang penting, yang pertama adalah akan terjadi anomali dalam insert, update,
dan delete. Hal ini menyebabkan beberapa fungsi DML dalam SQL tidak dapat berjalan dengan baik. Sebagai contoh
jika ingin menghapus penerbit maka data judul buku akan ikut terhapus begitu juga jika ingin menghapus peminjam,
maka data penerbit dan buku yang harusnya tidak terhapus akan ikut hilang.
First Normal Form (1NF)
Bentuk normal yang pertama atau 1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah
fungsi dari bentuk normal pertama ini.

 Menghilangkan duplikasi kolom dari tabel yang sama.


 Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom
yang unik (primary key).
Contoh Normalisasi Database 1NF

Normalisasi Database 1NF

Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar
dapat dipisahkan sehingga anomali data dapat di atasi. Contoh adalah ketika kita ingin menghapus, mengupdate,
atau menambahkan data peminjam, maka kita tidak bersinggungan dengan data buku atau data penerbit. Sehingga
inkonsistensi data dapat mulai di jaga.

Second normal form (2NF)


Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah
beberapa fungsi normalisasi 2NF.

 Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah.
 Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key.
 Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut.
Contoh normalisasi database bentuk 2NF
Contoh Normalisasi Database 2NF

Contoh di atas kita menggunakan tabel bantuan yaitu tabel transaksi, pada intinya bentu kedua ini adalah tidak boleh
ada field yang berhubungan dengan field lainnya secara fungsional. Contoh Judul Buku tergantung dengan id_Buku
sehingga dalam bentuk 2NF judul buku dapat di hilangkan karena telah memiliki tabel master tersendiri.

Third Normal Form (3NF)


Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak
berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key.
Syarat dari bentuk normal ketiga atau 3NF adalah :

 Memenuhi semua persyaratan dari bentuk normal kedua.


 Menghapus kolom yang tidak tergantung pada primary key.
Contoh Normalisasi Database Bentuk 3NF

Tidak semua kasus atau tabel dapat kita sesuaikan dengan berbagai bentuk normalisasi ini, untuk contoh 3NF kita
akan mengambil contoh dari tabel order.

Normalisasi Database Bentuk 3NF

Pada tabel pertama di atas, apakah semua kolom sepenuhnya tergantung pada primary key? tentu tidak, hanya saja
ada satu field yaitu total yang bergantung pada harga dan jumlah, total dapat dihasilkan dengan mengalikan harga
dan jumlah. Bentuk 3NF dalam tabel di atas dapat dilakukan dengan membuang field Total.

Bentuk SQL

SELECT ORDERID, HARGA, JUMLAH, TOTAL


FROM ORDER

Menjadi
SELECT ORDERID, HARGA*JUMLAH AS TOTAL
FROM ORDER

BCNF Boyce–Codd normal form


Merupakan sebuah teknik normalisasi database yang sering disebut 3.5NF, memiliki hubungan yang sangat erat
dengan bentuk 3NF. Pada dasarnya adalah untuk menghandle anomali dan overlooping yang tidak dapat di handle
dalam bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang disediakan, tidak semua tabel wajib
di normalisasi dalam bentuk BCNF.

Fungsi Normalisasi Database

Pada ilmu database atau basis data, normalisasi digunakan untuk menghindari terjadinya berbagai anomali data dan
tidak konsistensinya data. Ini merupakan fungsi database secara umum. Dalam beberapa kasus normalisasi ini
sangat penting untuk menunjang kinerja database dan memastikan bahwa data dalam database tersebut aman dan
tidak terjadi kesalahan jika mendapat perintah SQL terutama DML yaitu update, insert, dan delete.
Perlu diketahui dalam beberapa kasus Normalisasi database terkadang harus diubah menjadi bentuk denormalisasi,
terutama untuk data yang telah besar dan membengkak. Denormalisasi ini ditujukan untuk meningkatkan
performance dengan meletakkan beberapa field menjadi satu tabel sehingga mudah di tarik. Denormalisasi ini sering
digunakan untuk menarik data yang besar dari database.

NORMALISASI

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan
cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible

Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan
apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi
pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

*Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga tahap
normalisasi antara lain :

1. BENTUK TIDAK NORMAL (UNNORMALIZED FORM)

Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan

mengikukti format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan
apa adanya sesuai dengan saat menginput.
Untuk mentransformasikan tabel yang belum ternomalisasi di atas menjadi tabel yang memenuhi
kriteria 1NF adalah kita harus merubah seluruh atribut yang multivalue menjadi atribut single
value, dengan cara menghilangkan repeating group pada tabel di atas.

Repeating Group (elemen data berulang) adalah (No_Property, Alamat_Property,Tgl_Pinjam,


Tgl_Selesai, Biaya, No_Pemilik, Nama_Pemilik)

2. BENTUK NORMAL KE SATU (FIRST NORMAL FORM / 1 NF)

Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu
harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus
mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih
memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat induknya.

Syarat normal ke satu (1-NF) antara lain:

1. setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai
dari field berupa “atomic value”.

2. tidak ada set atribute yang berulang atau bernilai ganda.

3. telah ditentukannya primary key untuk tabel / relasi tersebut.

4. tiapatribut hanya memiliki satu pengertian.

Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada Tabel 9.3) tersebut adalah
menghilangkan elemen data yang berulang dengan data-data Pelanggan yang sesuai pada setiap
baris. Hasil dari tabel yang telah memenuhi bentuk normal pertama dapat dilihat pada Tabel 9.4.
kita dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang masih memiliki
composite key (No_Pelanggan, No_Property). Pada kasus ini kita akan memperoleh primary key
yang bersifat composite key. Relasi Pelanggan_Biaya dapat didefinisikan sebagai berikut.
Pelanggan_Biaya =(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai,
Biaya,No_Pemilik, Nama_Pemilik)

3. BENTUK NORMAL KE DUA (SECOND NORMAL FORM / 2 NF)

Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan fungsional
sepenuhnya) yang dapat didefinisikan sebagai berikut. Jika A adalah atribut-atribut dari suatu
relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A,
tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari
A.

Syarat normal kedua (2-NF) sebagai berikut.

1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.

2. Atribute bukan kunci (non-key) haruslah memiliki ketergantungan fungsional sepenuhnya (fully


functional dependency) pada kunci utama / primary key.

Tabel  Tabel Pelanggan Biaya dalam bentuk normal kedua (2-NF)


4. BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)

Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi
tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap
relasi tersebut. Misalkan kita akan melakukan update terhadap nama dari seorang Pemilik
(pemilik), seperti Durki (No_Pemilik: CO93), kita harus melakukan update terhadap dua baris
dalam relasi Property_Pemilik (lihat Tabel 9.5, (c) relasi Property_Pemilik). Jika kita hanya
mengupdate satu baris saja, sementara baris yang lainnya tidak, maka data didalam database
tersebut akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu
ketergantungan transitif (transitive dependency). Kita harus menghilangkan ketergantungan
tersebut dengan melakukan normalisasi ketiga (3-NF).

Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.

1. Bentuk data telah memenuhi kriteria bentuk normal kedua.

2. Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lain
suatu atribut bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional (functional
dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi
hanya memiliki ketergantungan fungsional terhadap priamry key di relasi itu saja.

Seluruh atribut non-primary key pada relasi Pelanggan dan Biaya di atas terlihat memiliki
ketergantungan fungsional (functional dependency) terhadap primary key dari masing-masing
tabel / relasi. Relasi / tabel Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif
(transitive dependency), sehingga tabel tersebut telah memenuhi

kriteria normal ketiga (3-NF). Seluruh atribut non-primary key pada relasi Property_Pemilik di atas
terlihat memiliki ketergantungan fungsional (functional dependency) terhadap primary
key, kecuali Nama_Pemilik yang masih memiliki ketergantungan fungsional
(functional dependency) terhadap No_Pemilik. Inilah contoh ketergantungan dari transitif
(transitive dependency), yang terjadi ketika atribut non-primary key (Nama_Pemilik)
bergantung secara fungsi terhadap satu atau lebih atribut non-primary key lainnya (No_Pemilik).
Kita harus menghilangkan ketergantungan transitif (transitive dependency) tersebut
dengan menjadikan relasi Property_Pemilik menjadi 2 relasi / tabel dengan format /
bentuk sebagai berikut.

· Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari atribut-atribut:

Alamat_Property, Biaya, No_PemilikNo_property

{No_property sebagai primary key}

· Dan relasi Pemilik yang terdiri dari atribut-atribut:

Nama_PemilikNo_Pemilik

{No_Pemilik sebagai primary key}

Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk normal ketiga adalah

sebagai berikut X� fn`&��%.0pt; font-family:”Calibri”,”sans-serif”; mso-ascii-font-


family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:”Times New Roman”;
mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-
font:minor-latin;}

4. BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)

Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF,

namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly

peremajaan (update) terhadap relasi tersebut.

Misalkan kita akan melakukan update terhadap nama dari seorang Pemilik (pemilik), seperti Durki
(No_Pemilik: CO93), kita harus melakukan update terhadap dua baris dalam relasi
Property_Pemilik (lihat Tabel 9.5, (c) relasi Property_Pemilik). Jika kita hanya mengupdate satu
baris saja, sementara baris yang lainnya tidak, maka data didalam database tersebut akan
inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan transitif
(transitive dependency). Kita harus menghilangkan ketergantungan tersebut dengan melakukan
normalisasi ketiga (3-NF).

Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.

1. Bentuk data telah memenuhi kriteria bentuk normal kedua.

2. Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lain
suatu atribut bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional (functional
dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi
hanya memiliki ketergantungan fungsional terhadap priamry key di relasi itu saja. Seluruh atribut
non-primary key pada relasi Pelanggan dan Biaya di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key dari masing-masing tabel / relasi.
Relasi / tabel Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif (transitive
dependency), sehingga tabel tersebut telah memenuhi kriteria normal ketiga (3-NF).

Seluruh atribut non-primary key pada relasi Property_Pemilik di atas terlihat memiliki


ketergantungan fungsional (functional dependency) terhadap primary key, kecuali Nama_Pemilik
yang masih memiliki ketergantungan fungsional (functional dependency) terhadap No_Pemilik.
Inilah contoh ketergantungan dari transitif (transitive dependency), yang terjadi ketika atribut
non-primary key (Nama_Pemilik) bergantung secara fungsi terhadap satu atau lebih atribut non-
primary key lainnya (No_Pemilik). Kita harus menghilangkan ketergantungan transitif (transitive
dependency) tersebut dengan menjadikan relasi Property_Pemilik menjadi 2 relasi / tabel dengan
format / bentuk sebagai berikut.

· Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari atribut-atribut:

Alamat_Property, Biaya, No_PemilikNo_property

{No_property sebagai primary key}

· Dan relasi Pemilik yang terdiri dari atribut-atribut:

Nama_PemilikNo_Pemilik

{No_Pemilik sebagai primary key}

Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk normal ketiga adalah

sebagai berikut:
Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap
primary key di relasi itu saja.

Deskripsi normalisasi
Normalisasi adalah proses pengorganisasian data dalam database. Ini termasuk menciptakan Daftar Tabel
dan menjalin hubungan antara Daftar Tabel tersebut sesuai aturan yang dirancang baik untuk melindungi
data dan membuat database yang lebih fleksibel dengan menghilangkan redundansi dan ketergantungan
yang tidak konsisten. 

Data redundansi limbah ruang disk dan menciptakan masalah pemeliharaan. Jika data yang ada di lebih
dari satu tempat harus diganti, data harus diubah dalam cara yang sama di semua lokasi. Perubahan
alamat penyuratan pelanggan jauh lebih mudah untuk menerapkan jika data yang disimpan di Daftar
Tabel pelanggan dan tempat lain dalam database. 

Apa itu "tidak konsisten ketergantungan"? Sementara itu intuitif bagi pengguna untuk melihat dalam
Daftar Tabel pelanggan untuk alamat penyuratan pelanggan tertentu, itu mungkin tidak masuk akal untuk
melihat di sana untuk gaji karyawan yang panggilan pada pelanggan. Gaji karyawan terkait, atau
tergantung pada, karyawan dan dengan demikian harus pindah ke Daftar Tabel karyawan. Dependensi
tidak konsisten dapat membuat data sulit untuk akses karena jalan untuk menemukan data mungkin
hilang atau rusak. 

Ada beberapa aturan untuk database normalisasi. Setiap aturan yang disebut "bentuk normal." Jika aturan
pertama diamati, database dikatakan dalam "pertama bentuk normal." Jika aturan pertama tiga diamati,
database dianggap berada di "ketiga bentuk normal." Meskipun tingkat lain dari normalisasi mungkin,
bentuk normal ketiga dianggap tingkat tertinggi yang diperlukan untuk sebagian besar aplikasi. 

Seperti dengan banyak peraturan formal dan spesifikasi, skenario dunia nyata tidak selalu memungkinkan
untuk kepatuhan sempurna. Secara umum, normalisasi memerlukan Daftar Tabel tambahan dan beberapa
pelanggan menemukan ini rumit. Jika Anda memutuskan untuk melanggar salah satu aturan pertama tiga
normalisasi, pastikan bahwa aplikasi Anda mengantisipasi setiap masalah yang bisa terjadi, seperti data
yang berlebihan dan tidak konsisten dependensi. 

Deskripsi berikut termasuk contoh. 

Bentuk Normal pertama


 Menghilangkan kelompok-kelompok yang berulang dalam Daftar Tabel individu.
 Membuat Daftar Tabel terpisah untuk masing-masing set data terkait.
 Mengidentifikasi setiap rangkaian data terkait dengan bukti kunci primer.
Jangan gunakan beberapa bidang dalam sebuah Daftar Tabel tunggal untuk menyimpan data yang sama.
Misalnya, untuk melacak item persediaan yang mungkin datang dari dua sumber yang mungkin, catatan
persediaan yang mungkin berisi bidang untuk Vendor kode 1 dan 2 kode Vendor. 

Apa yang terjadi ketika Anda menambahkan vendor ketiga? Menambahkan sebuah field bukanlah
jawabannya; itu memerlukan modifikasi program dan tabel atak dan tidak lancar mengakomodasi jumlah
vendor yang dinamis. Sebaliknya, tempat semua informasi vendor didalam table yang terpisah yang
disebut vendor, kemudian link persediaan untuk vendor dengan item nomor bukti kunci, atau vendor
untuk persediaan dengan vendor kode bukti kunci.

Kedua bentuk Normal


 Buat Daftar Tabel terpisah untuk set nilai-nilai yang berlaku tomultiple records.
 Berhubungan Daftar Tabel ini dengan foreign key.
Catatan tidak boleh bergantung pada apa pun selain bukti kunci primer table (senyawa bukti kunci, jika
perlu). Sebagai contoh, mempertimbangkan alamat penyuratan pelanggan dalam sistem akuntansi.
alamat penyuratan diperlukan oleh Daftar Tabel pelanggan, tetapi juga oleh pesanan, pengiriman, faktur,
Piutang, dan koleksi Daftar Tabel. Daripada menyimpan alamat penyuratan nasabah sebagai entri terpisah
dalam masing-masing Daftar Tabel, menyimpannya di satu tempat, atau tabel atak pelanggan alamat
penyuratan table yang terpisah.

Bentuk Normal ketiga


 Menghilangkan bidang yang tidak bergantung pada bukti kunci.
Nilai-nilai dalam catatan yang bukan merupakan bagian dari bukti kunci catatan yang tidak termasuk
dalam Daftar Tabel. Secara umum, setiap saat isi sekelompok bidang mungkin berlaku untuk lebih dari
satu catatan data dalam Daftar Tabel, mempertimbangkan menempatkan bidang tersebut didalam table
yang terpisah. 

Sebagai contoh, dalam Daftar Tabel rekruitmen karyawan, calon Universitas nama dan alamat penyuratan
dapat disertakan. Tetapi Anda perlu daftar lengkap dari Universitas untuk kelompok surat. Jika informasi
Universitas disimpan dalam Daftar Tabel kandidat, ada cara untuk Daftar Universitas dengan kandidat saat
ini tidak ada. Buat Daftar Tabel perguruan tinggi dengan terpisah dan menghubungkannya ke tabel atak
calon dengan Universitas kode bukti kunci. 

PENGECUALIAN: Mengikuti bentuk ketiga normal, sementara secara teoritis diinginkan, tidak selalu
praktis. Jika Anda memiliki Daftar Tabel pelanggan dan Anda ingin menghilangkan semua dependensi
interfield mungkin, Anda harus membuat Daftar Tabel terpisah untuk kota-kota, kode ZIP, perwakilan
penjualan, pelanggan kelas, dan faktor lainnya yang dapat digandakan dalam beberapa catatan. Dalam
teori, normalisasi bernilai mengerucutkan. Namun, banyak Daftar Tabel kecil dapat menurunkan kinerja
atau melebihi buka file dan kapasitas kehabisan memori. 

Mungkin lebih layak untuk menerapkan bentuk normal ketiga hanya untuk data yang sering berubah. Jika
tetap tergantung beberapa bidang, desain aplikasi Anda untuk meminta user untuk memverifikasi semua
bidang terkait ketika salah satu berubah.

Bentuk-bentuk normalisasi
Keempat bentuk normal, juga disebut Boyce Codd Normal formulir (BCNF), dan bentuk normal kelima
ada, tapi jarang dianggap dalam desain praktis. Mengabaikan aturan-aturan ini mungkin mengakibatkan
desain database kurang sempurna, tetapi seharusnya tidak mempengaruhi fungsi.

Normalisasi contoh Daftar Tabel


Langkah-langkah ini menunjukkan proses normalisasi tabel atak siswa fiktif.

1. Unnormalized tabel: 

Siswa # Penasihat ADV-kamar Kelas 1 Class2 Class3

1022 Jones 412 101-07 143-01 159-02

4123 Smith 216 201-01 211-02 214-01

2. Bentuk Normal pertama: Tidak mengulangi kelompok

Tablesshould memiliki hanya dua-dimensi. Karena salah satu siswa memiliki beberapa kelas,
theseclasses harus tercantum didalam table yang terpisah. Bidang kelas 1, Class2 dan Class3in di
atas catatan yang indikasi desain kesulitan.

Spreadsheetsoften menggunakan dimensi ketiga, tetapi tidak boleh Daftar Tabel. Cara lain untuk
melihat atthis masalah dengan hubungan satu-ke-banyak, tidak menaruh satu sisi dan sisi banyak
di tabel atak yang sama. Sebaliknya, membuat tabel atak lain pertama normalform dengan
menghilangkan grup berulang (kelas #), seperti yang ditunjukkan di bawah ini:

Siswa # Penasihat ADV-kamar Kelas #

1022 Jones 412 101-07


1022 Jones 412 143-01

1022 Jones 412 159-02

4123 Smith 216 201-01

4123 Smith 216 211-02

4123 Smith 216 214-01

3. Kedua bentuk Normal: Menghilangkan Data redundansi

Catatan beberapa kelas # nilai untuk setiap siswa # nilai di atas tabel atak. Kelas #is fungsional
tergantung pada siswa # (primary key), jadi ini relationshipis tidak dalam bentuk normal yang
kedua.

Dua Daftar Tabel demonstratesecond normal formulir berikut: 

Siswa:

Siswa # Penasihat ADV-kamar

1022 Jones 412

4123 Smith 216

4.

Pendaftaran:

Siswa # Kelas #

1022 101-07

1022 143-01

1022 159-02

4123 201-01
4123 211-02

4123 214-01

5. Bentuk Normal ketiga: Menghilangkan Data tidak tergantung OnKey

Pada contoh terakhir, tergantung pada atribut penasihat Adv kamar (nomor kantor penasihat)
isfunctionally. Solusinya adalah untuk memindahkan thatattribute dari Daftar Tabel siswa ke Daftar
Tabel fakultas, sebagai shownbelow:

Siswa:

Siswa # Penasihat

1022 Jones

4123 Smith

6.

Fakultas:

Nama Kamar Dept

Jones 412 42

Smith 216 42

support.microsoft

Anda mungkin juga menyukai