Ketergantungan Fungsional (KF)/ Functional Dependency (FD) Functional Dependency (FD) adalah ketergantungan yang terjadi antara atributatribut dalam suatu entiti. Basis data yang baik, dalam satu entiti/tabel hanya ada 1 ketergantungan fungsional (KF) atau disebut dengan Basis data normal Notasi KF : A B Artinya : atribut B tergantung pada A Contoh : KodeMk NamaMk (artinya atribut NamaMk tergantung pada atribut KodeMk) NIM Nama,Alamat,Telp (artinya atribut Nama,Alamat, Telp tergantung pada atribut NIM) Dalam format lain Notasi KF dapt dituliskan juga dalam bagan berikut : Nama NIM NIM Alamat Mutu Kodemk Telp 7/20/2017 Fathur'2011 Dalam hal menyusun supaya basis data menjadi normal maka diperlukan suatu proses normalisasi. Hal-hal yang menjadi acuan dasar dalam proses normalisasi adalah tujuan pembentukan basis data, diantaranya harus menghilangkan hal-hal berikut : 1. pengulangan informasi (redudancy) 2. potensi inkonsistensi data pada operasi update 3. hindari atribut yang tidak perlu disimpan (derive attribut) 4. tersembunyinya informasi tertentu Normalisasi Memperlihatkan langkah-langkah normalisasi yang dilakukan. Diuraikan dalam bentuk notasi dan diagram Ketergantungan Fungsional mapupun nilai majemuk bagi entiti-entiti yang teridentifikasi belum normal serta tahapan normalisasi yang dilakukan 7/20/2017 Fathur'2011 a. Bentuk Normal Pertama Digunakan untuk mengidentifikasi atribut-atribut bernilai ganda atau lebih dikenal dengan multivalued attribut. Entiti harus bernilai atomik. Jika terdapat entiti yanng belum atomik, maka digambarkan penyelesaiannya sehingga menjadi nomal pertama. Berikut diberikan contoh entiti yang belum atomik, karena atribut hobi bisa saja berisi lebih dari satu, sebagai contoh : NIM Nama Hobi 7/20/2017 NIM Nama Fathur'2011 NIM Hobi b. Bentuk Normal Kedua Digunakan untuk mengidentifikasi atribut-atribut non key yang partially functional dependent. Mahaiswa M ambil NIM (PK) Nama Alamat NIM Nama KdMk NamaMk Nilai NIM (FK) Nama KdMk (FK) NamaMk Nilai N Mata kuliah KdMk (PK) NamaMk sks Nama NIM Nama NIM NamaMk Kodemk NamaMk Kodemk Nilai Nilai NIM NIM Nama KF-1 7/20/2017 KodeMk NamaMk KF-2 Fathur'2011 Nilai Kodemk KF-3 c. Bentuk Normal Ketiga Digunakan untuk mengidentifikasi atribut-atribut non key yang termasuk atribut hasi proses atribut lain (derived attribut) dan atribut non key yang terkait non key lainnya. Anggota 1 NoAng (PK) Nama Alamat NoPinjam (PK) Tanggal NoAnggota (Fk) Nama Jumlah Frekuensi Bunga 7/20/2017 Pinjam Noang (FK) NoPinjam(FK) NoPinjam Tanggal NoAnggota Nama Jumlah Frekuensi Bunga Fathur'2011 M Pinjaman NoPinjam (PK) Tanggal NoAnggota (FK) Nama Jumlah Frekuensi Bunga Tanggal NoAnggota NoPinjam Nama Jumlah Frekuensi Bunga Logical Data Model (LDM) Menggambarkan ERD yang sudah mengalami normalisasi. MHS NIM (PK) Nama Alamat TmpLahir TglLahir KdJurusan ThnMasuk Status 7/20/2017 KRS NoKrs (PK1) (FK) NIM (PK2) (FK) ThAkad Semester StatusStudi Fathur'2011 PilihMK NoKRS (PK1)(FK) KodeMK (PK2)(FK) StatusUlang HMutu Database Schema Menggambarkan LDM yang sudah normal dalam relasi antar entiti (Relational Database) dengan mencantumkan tipe data dari tiap atribut serta status atribut yang PK/FK. Contoh : MHS NIM (PK) Char(10) (PK) Nama Varchar(40) Alamat Varchar(60) TmpLahir VarChar(15) TglLahir DateTime KdJurusan Char(4) ThnMasuk Char(4) Status INT 7/20/2017 KRS NoKrs (PK) Char(10) (PK) NIM Char(10) (FK) ThAkad Char(9) Semester Char(1) StatusStudi Char(1) PilihMK NoKRS (PK1)(FK) KodeMK (PK2)(FK) StatusUlang HMutu Fathur'2011 Char(10) Char(6) Char(1) Char(1) Spesifikasi Basis Data Berisikan uraian rinci semua tabel yang berada dalam Database Schema. Format spesifikasi basis data : Nama File Media Isi Primary Key Panjang Record : Nama Entiti/Tabel : Media yang digunakan : Uraian semua atribut yang ada : Atribut yang menjadi PK : Panjang sebuah record yg dihitung dari lebar masing-masing atribut Jumlah Record : rata-rata jumlah record per satuan waktu Struktur : No 7/20/2017 Nama Field Tipe Data Lebar Fathur'2011 Desimal Keterangan Jenis-jenis Key : Key merupakan elemen record yang dipakai untuk menemukan record pada waktu akses. 1. Primary Key (PK) : kunci utama yang bersifat unik, untuk identifikasi sebuah record 2. Secondary Key : atribut yang bisa dijadikan pengganti PK, tidak unik (NIM, Nama, Alamat) 3. Candidate Key : field-field / atribut-atribut yang bisa dipilih menjadi Primary Key (NIM, Nama, NoKwit, jumlah) 4. Alternate Key : candidate key yang tidak terpilih menjadi Primary Key. (NIM, Nama, Nokwit) 5. Composite Key : Primary key yang dibentuk dari beberapa atribut 6. Foregin Key : Atribut yang bukan key, tapi menjadi key pada file lain (KdMk, NamaMK, KdDosen) 7/20/2017 Fathur'2011 Studi Kasus : Sistem Penjualan Kue Sebuah toko kue bergerak dalam penyaluran kue/makanan. Toko tersebut mempunyai beberapa rekanan yang dijadikan sebagai pemasok (tempat membeli stock kuenya). Data kue disimpan dalam tabel kue. Setiap saat toko tersebut dapat membeli kue ke rekanannya. Dalam setiap pembelian dapat membeli beberapa jenis kue (dicatat no. beli, tgl beli beserta kue-kue yg dibeli dan jumlahnya). Jika ada kue rusak/kadaluarsa maka dapat dikembalikan /retur (dicatat no retur, tgl beserta kue-kue dan jumlahnya). Kue yang ada di toko tsb dapat dijual ke konsumen. Setiap penjualan dapat terdiri dari beberapa kue (dicatat no.jual, tgl jual beserta kuekue yang dijual dan jumlahnya). 7/20/2017 Fathur'2011