Desain Database Dengan Teknik NORMALISASI
Pengetahuan Awal Data vs Informasi Attribut (Field) Baris/Tupel (Record) Relasi/Tabel Basis Data (Database) Attribute Key Primary Key, Foreign Key
Kumpulan Table Pada “Koperasi ABC” Karyawan NIK Nama_Karyawan Bagian K1001 Agus Haryanto Personalia K1002 Amri Setiadi Kasir K1003 Mahdiyansyah Sales K1004 Yuri Irawan K1005 Rachmat Nasir S Barang Kode_Barang Nama_Barang satuan Harga B001 Indomie Kari Ayam Kardus 40000 B002 Saus ABC 50 ml Botol 3000 B003 Kecap ABC 2000 B004 Susu Bendera 400 gr Kotak 15000 B005 Rinso 1 Kg Plastik 12000 Detail_Pjl No_Fak Kode_Barang Nama_Barang Satuan Harga Jumlah F0001 B001 Indomie Kari Ayam Kardus 40000 1 B002 Saus ABC 50 ml Botol 3000 2 F0002 5 B003 Kecap ABC 2000 3 F0003 H_Pjl No_Fak Tgl_Fak NIK F0001 01/10/2004 K1001 F0002 02/10/2004 K1002 F0003 03/10/2004 K1003
Normalisasi Teknik Normalisasi merupakan teknik pengelompokan data elemen menjadi tabel-tabel yang menunjukkan Relasi/Tabel dan Hubungan antar Tabel. Definisi Syarat Normalisasi yang Optimal adalah telah teruji dengan baik dalam beberapa kondisi. Apakah sudah tidak ada kesulitan pada saat; menambah, menghapus, membaca dan mengubah isi database dengan beberapa relasi/tabel yang ada
Normalisasi Tujuan 1. Mengidentifikasi hubungan antar Atribut/Field 2. Mengkombinasikan Atribut untuk membentuk Relasi/Tabel 3. Mengkombinasikan Relasi/Tabel untuk membentuk Database 4. Menghindari terjadiya anomali (kejadian menyimpang) dan inkonsistensi data karena terjadinya: * Penambahan Record * Modifikasi isi Atribut/Field * Pengahupusan Record Tujuan
Struktur Relasi (Tabel) Normalisasi Kolom / Atribut / Field Baris / Record / Tupel adalah kumpulan atribut-atribut yang berelasi secara logika Candidate Key merupakan atribut-atribut dalam suatu table yang mungkin dapat mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Jika satu kunci kandidat berisi lebih dari satu atribut, maka kunci tersebut disebut Composite Key. Struktur Relasi (Tabel) Primary Key merupakan suatu atribut yang tidak hanya mengidentifikasikan secara unik kejadian spesifik, namun juga dapat mewakili setiap kejadian dari suatu entity Foreign Key merupakan atribut atau satu set atribut yang digunakan untuk melengkapi suatu relationship (hubungan antar table) yang menunjuk ke table induknya. Foreign Key berada pada entity (table) anak, yang sama dengan Primary Key entity (table) induk relasinya
Functional Dependency Normalisasi Functional Dependency Jika terdapat sebuah relasi R(A, B), dimana atribut B adalah bergantung fungsi pada atribut A, jika dan hanya jika setiap nilai A mempunyai hubungan dengan tepat satu nilai B dalam setiap satu waktu (bila setiap nilai yang berlaku pada B dapat ditentukan oleh A). Dimana dalam notasi ditulis sebagai berikut: A B atau B = f(A). Contoh: Nama Pegawai bergantung secara fungsi pada NIP, dan NIP dapat menunjukkan secara fungsi dari sebuah Nama Pegawai dalam keseluruhan isi tabel Pegawai, maka dalam notasinya dapat ditulis sebagai berikut: NIP Nama Pegawai atau Nama Pegawai = f(NIP).
Fully Functional Dependency Normalisasi Fully Functional Dependency Sebuah Relasi R( A, B, X ), dimana X tergantung fungsional pada AB. X dinyatakan tergantung fungsional penuh (fully functional dependency) bila tidak terjadi: A X atau B X, melainkan hanya AB X.
Bentuk-Bentuk Normalisasi Unnormalized Form Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu (format bebas), bisa saja tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. 1st Normal Form/1NF Sebuah relasi berada dalam 1NF, jika relasi tersebut tidak berisi atribut yang berulang-ulang (repeating groups). Bentuk-Bentuk Normalisasi 2nd Normal Form/2NF Sebuah Relasi adalah dalam 2NF, jika Relasi tersebut dalam 1NF dan untuk setiap atribut bukan kunci (non-key) adalah tergantung fungsional kepada Primary Key (PK). 3rd Normal Form/3NF Sebuah Relasi adalah dalam 3NF, jika Relasi tersebut dalam 1NF dan 2NF dan untuk setiap atribut NK (non-key) tidak punya hubungan yang transitif, atau setiap atribut NK haruslah hanya bergantung pada PK, atau tidak bergantung fungsional kepada NK attribute yang lainnya.
Petunjuk pengembangan Relasi hingga 3NF: Normalisasi Petunjuk pengembangan Relasi hingga 3NF: Tentukan atribut-atribut dalam relasi Kelompokkan atribut yang secara logis mempunyai hubungan dalam relasi Pilih CK (Candidate Key) Bila ada RG (Rrepeating Group), normalisasikan terlebih dahulu Pilih PK Identifikasikan ketergantungan fungsional Dekomposisi relasi selagi ada atribut NK yang belum tergantung sepenuhnya terhadap PK Kombinasikan relasi dengan PK yang identik Temukan ketergantungan transitif (atribut yang tergantung pada lebih dari 1 kunci) Dekomposisi relasi sampai tidak ada ketergantungan transitif
Riwayat Pendidikan Formal Pegawai Normalisasi Kasus 1: Riwayat Pendidikan Formal Pegawai NIP : ……………………………… Nama : ……………………………… Alamat : ……………………………… ………..……………………. Telp. : …………….……… S3 . SMP SD Nilai Rata-Rata Tahun Nama Sekolah Level
Order Barang ke Vendor dari Banyak Departemen Normalisasi Kasus 2: Order Barang ke Vendor dari Banyak Departemen No. Order : ………… Tanggal : ………………. Kd. Vendor : ………… Nama : …………………………………..…………………… Alamat : ………………………………….… ………………………………….… Telp. : ………………. Nama Deprtement Dept. Qty Deskripsi Kode
Penjualan Barang Tiap Sales Ke Banyak Pelanggan Normalisasi Kasus 3: Penjualan Barang Tiap Sales Ke Banyak Pelanggan No. Jual : ………… Tanggal : ………..………. Kd. Pelanggan : ………… Nama : …………………………………..……………….… Alamat : ………………………………….………………..… Telp. : ……..…………. Kd. Sales : ………… Nama Sales : …………………………………….………………. Total Bersih Discount Total Kotor Total Harga Qty Deskripsi Kode
TERIMA KASIH