Modul 8 : Relational Key dan Functional Dependency

dokumen-dokumen yang mirip
BAB 4 NORMALISASI DATA

Contents. Normalisasi. Bentuk Normalisasi. Dependency. Status Kunci (Key) Dekomposisi

Modul 9 : Normalisasi 1st NF sampai dengan BCNF

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

NORMALISASI. Dr.Budi Setiyono, MT

ENTITY RELATIONSHIP DIAGRAM SISTEM BASIS DATA

BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL

BASIS DATA. Desain Database dan Normalisasi. Fakultas Ilmu Komputer UDINUS

BAB IV Normalisasi Data

SBD 3 SKS Semester 2 S1 Sistem Informasi UNIKOM 2017

Perancangan Basis Data

PERANCANGAN SISTEM TERINCI DATABASE

Perancangan Basis Data

SISTEM BASIS DATA AUB SURAKARTA

PERANCANGAN DATABASE 04/07/ :53

PERANCANGAN SISTEM TERINCI DATABASE

Desain Data Base. Proses Desain Data Base

Tabel dan Key dalam Database Tipe data dan Karakter pada Database. Author : Minarni, S.Kom.,MM

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

BAB V. dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru

Copyright 2005 PENS-ITS C H A P T E R

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

Normalisasi. Didi Supriyadi, S.T., M.Kom Pertemuan ke-6

BASIS DATA (BS203) NORMALISASI. fb: NDoro Edi. Page 1

Pertemuan VI Functional Dependency Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

Model Data: Model data merupakan kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan batasan data Jenis

PERTEMUAN 4 ENTITY-RELATIONSHIP DIAGRAM (ERD) JUM AT,

Pertemuan 4. Entity-Relationship Diagram (ERD)

Basis Data 1 - TIS3333

ER-DIAGRAM (ENTITY RELATIONSHIP DIAGRAM)

DESAIN DATABASE DAN NORMALISASI

Model Relasional. Basis Data. Pengertian

Normalisasi. Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

NORMALISASI UNTUK BASIS DATA RELASIONAL

NORMALISASI. Definisi. Tujuan dari Normalisasi. Proses Normalisasi

PEMROSESAN QUERY. Alif Finandhita, S.Kom, M.T

Pemodelan Data (1) Week 2

NORMAL FORM. Normalisasi Table sendiri terbagi atas bentuk normal ke 1 sampai bentuk normal ke 5. lebih jelasnya

MODUL 6 RELASI DATA 1. Konsep Dasar entity sets relationshipsets attributes a. Entity Sets b. Relationship Sets c. Kunci Relasi ( Relation Keys

ENTITY RELATIONSHIP MODEL

Model Data. Universitas Darwan Ali Kalimantan Tengah. Author : Minarni, S.Kom.,MM

Demi Masa.. Sesungguhnya Manusia Berada Dalam Kerugian Bila Tidak Memanfaatkan Waktu Dengan Sebaiknya.. (sebuah renungan untuk diri )

Tujuan Umum Tujuan Khusus Pokok Bahasan/Materi

NORMALISASI DATA. Basis Data

Pertemuan 7-8 NORMALISASI

SISTEM BASIS DATA. Pertemuan 4. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

C H A P T E R. Copyright 2005 PENS-ITS

Pertemuan 5 TEHNIK NORMALISASI

Pertemuan 5 TEHNIK NORMALISASI

KRS. MHS NIM (PK) Nama Alamat TmpLahir TglLahir KdJurusan ThnMasuk Status. NoKrs (PK1) (FK) NIM (PK2) (FK) ThAkad Semester StatusStudi

Pendekatan Normalisasi

Pertemuan 9. By. Rita Wiryasaputra, ST., M. Cs.

PERANCANGAN SISTEM DATABASE

C H A P T E R 5-8. Normalisasi Database. Arif Basofi, S.Kom, MT.

Teknik dan Penerapan Normalisasi

ENTITY RELATIONSHIP DIAGRAM (ERD)

NORMALISASI PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Pertemuan 11. Donny Yulianto, S.Kom

Normalisasi adalah salah satu pendekatan logical design dari suatu database relational, dan tampaknya sedikit memiliki kemiripan dengan model ER.

NORMALISASI DAN TUGAS PRAKTEK

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

NORMALISASI DAN TUGAS PRAKTEK

PEMROSESAN QUERY. Alif Finandhita, S.Kom

Pemodelan Database. Pengolahan Basis Data

NORMALISASI. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

PART 2: 1. Langkah Langkah Normalisasi 2. Bentuk Bentuk Normal 1 st NF, 2 nd NF, 3 rd NF, BCNF Dan bentuk-bentuk normal lainnya 3.

SISTEM BASIS DATA (Lanjutan) :

Review Basis Data 1. by: Ahmad Syauqi Ahsan

MODEL ENTITY-RELATIONSHIP

NORMALISASI (1) E.F Codd,1970. Normalisasi dilakukan terhadap desain tabel yang sudah ada untuk: 1/28/2012 1/28/2012

Teknik Perancangan Basis Data

MODEL ENTITY-RELATIONSHIP

Pemodelan Database. Model Data Relational. Adri Priadana ilkomadri.com

KONSEP SISTEM BASIS DATA

ENTITY RELATIONSHIP MODEL

MODEL RELASI DAN NORMALISASI DATABASE

ANALISA RANCANGAN DATABASE

ER (Entity-Relationship) Model dan Mapping ke Model Relasional. Politeknik Elektronika Negeri Surabaya

ENTITY RELATIONAL MODEL. Dr.Budi Setiyono, MT

Pertemuan 2-3 ER-MODEL

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

Model Relasional Basis Data

ENTITY RELATIONSHIP DIAGRAM. SiBaDa Sesi 4

Pertemuan 4 ENTITY RELATIONSHIP ENTITY RELATIONSHIP

PERANCANGAN BASIS DATA

Copyright 2005 PENS-ITS C H A P T E R. Normalisasi Database

Entity Relationship Diagram.

MODEL RELASIONAL. Alif Finandhita, S.Kom

ENTITY RELATIONSHIP DIAGRAM (ERD) Basis data

NORMALISASI BASISDATA 2

NORMALISASI. 2 nf. 3 nf BCNF. 4 nf. 5 nf. Hal. 1 dari 11

PERANCANGAN BASIS DATA PERTEMUAN KE -3. Rauf Fauzan, S.Kom.,M.Kom

MODEL ENTITY RELATIONSHIP DIAGRAM. Basis data

Model Data Dalam SBD

Copyright 2005 PENS-ITS C H A P T E R

Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan (misalnya ketidakkonsistenan data karena adanya redudansi).

Basis Data. Pemodelan Database dengan ER Diagram (Entity Relationship Diagram) Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Teknik Normalisasi. Normalisasi adalah proses pengelompokan atribute-atribute dari suatu relasi sehingga membentuk WELL STRUCTURE RELATION.

Transkripsi:

Modul 8 : Relational Key dan Functional Dependency Tujuan Praktikum i. Mahasiswa dapat menguasai konsep relational key. ii. Mahasiswa mampu mengidentifikasi dengan benar super key, candidate key, dan primary key dari suatu tabel tertentu. iii. Mahasiswa dapat menguasai konsep functional dependency. iv. Mahasiswa mampu mengidentifikasi full functional dependency, partial functional dependency dan transitive functional dependency dengan benar dari suatu tabel tertentu. Materi Praktikum 1. Relational Key Key, adalah satu atau gabungan beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Artinya adalah apabila suatu field / atribut dijadikan key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk field / atribut tersebut. Sehubungan dengan pernyataan tersebut, maka kita dapat membedakan 3 (tiga) macam key yang dapat diterapkan pada suatu tabel: a. Superkey b. Candidate-Key c. Key Primer (Primary-Key) d. Kunci tamu (Foreign Key) a. Superkey merupakan satu atau lebih field/atribut (kumpulan atribut) yang dapat membedakan setiap baris data dalam sebuah table secara unik. Bisa terjadi, ada lebih dari 1 kumpulan atribut yang bersifat seperti itu pada sebuah table. Sebagai contoh : a) Table Dosen, memiliki 9 buah field / atribut, yaitu : nid, nama_d, tempat_lhr, tgl_lahir, jkelamin, alamat, kota, kodepos, dan gajipokok. b) Table Matakuliah, memiliki 4 buah atribut, yaitu : kdmk, nama_mk, sks dan 1 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

semester. c) Table Jurusan, memiliki 4 buah atribut, yaitu : kode_jur, nama_jur, jenjang, dan nama_kajur. d) Table Mengajar, memiliki 9 buah atribut, yaitu : nid, thn_akademik, smt, hari, jam_ke, kdmk, waktu, kelas, dan kode_jur. Pada tabel Dosen yang memiliki 4 buah field / atribut tersebut, yang dapat menjadi superkey adalah: a) (nid, nama_d, tempat_lhr, tgl_lahir, jkelamin, alamat, kota, kodepos, gajipokok) b) (nid, nama_d, tempat_lhr, tgl_lahir, jkelamin, alamat, kota, kodepos) c) (nid, nama_d, tempat_lhr, tgl_lahir, jkelamin, alamat, kota,) d) (nid, nama_d, tempat_lhr, tgl_lahir, jkelamin, alamat,) e) (nid, nama_d, tempat_lhr, tgl_lahir, jkelamin,) f) (nid, nama_d, tempat_lhr, tgl_lahir) g) (nid, nama_d, tempat_lhr) h) (nid, nama_d,) i) (nid) j) (nama_d) b. Candidate Key Candidate_key adalah merupakan kumpulan field / atribut minimal yang dapat membedakan setiap baris data dalam sebuah table secara unik. Sebuah Candidate-key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi superkey yang lain. Jadi sebuah Candidate-key pasti superkey, tapi belum tentu sebaliknya. Pada table Dosen tersebut diatas, yang dapat menjadi Candidate-key adalah : a) (nid). b) (nama_d), jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini. 2 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

Pada sebuah table dimungkinkan ada lebih dari satu Candidate-key, seperti contoh diatas. Salah satu dari Candidate key ini (jika memang lebih dari satu) dapat dijadikan sebagai Key Primer (Primary key). c. Primary Key Primary_key adalah candidate-key yang dipilih untuk mengidentifikasi tupel secara unik pada suatu relasi. Kunci utama dapat terbentuk dari satu atribut atau lebih. Pemilihan Key Primer dari sejumlah Candidate-key pada suatu table didasari pada ketiga hal berikut ini: 1. Key tersebut lebih sering (natural) untuk dijadikan acuan. 2. Key tersebut lebih ringkas. 3. Jaminan keunikan Key tersebut lebih baik. Dengan pertimbangan tersebut, kedua Candidate-key pada table dosen, yaitu nid dan nama_d, yang lebih cocok sebagai Key Primer adalah (nid). Hal ini dikarenakan bahwa jaminan keunikan daripada nid (nomor induk dosen) akan terjamin karena karena setiap nid pada suatu perguruan tinggi pastinya tidak akan sama nilainya, sedangkan kenapa tidak memilih nama_d, karena nama_d kemungkinan ada yang sama nilainya. d. Foreign Key Kunci tamu adalah satu atribut (satu set atribut) yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya. Kunci tamu ditempatkan pada relasi anak dan sama dengan kunci primer induk direlasikan. Hubungan antara relasi induk dengan anak adalah satu lawan banyak (one to many relationship). 3 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

Gambar 1. Relasi one to many Kunci tamu dari table/relasi mengajar adalah : nid, kdmk dan kode_jur karena dalam table ini membutuhkan data data yang ada dalam table dosen, matakuliah dan jurusan Kunci primer untuk table/relasi mengajar adalah nid, thn_akademik, smt, hari, jam_kei, karena unik dan mewakili entity. Dalam hal hubungan 2 buah relasi yang mempunyai relation banyak ke banyak (many to many), maka terdapat 2 buah kunci tamu pada relasi konektornya. Dalam hal hubungan 2 buah relasi yang mempunyai relation banyak ke banyak (many to many), maka terdapat 2 buah kunci tamu pada relasi konektornya. Contoh: Relasi Proyek No_proyek Tgl_mulai Tgl_selesai Anggaran RelasiPegawai NIK Nama Alamat Gambar 2. Relasi many to many 4 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

Hubungan relasi proyek dengan pegawai adalah many to many, dengan pengertian bahwa satu pegawai mengerjakan lebih dari 1 proyek dan 1 proyek dikerjakan oleh beberapa pegawai. Untuk menunjukkan hubungan tersebut, maka dipakai relasi konektor yang berisi kunci tamu dari kedua relasi (proyek dan pegawai). Sehingga relasi konektor proyek_pegawai berisi atribut: Relasi Proyek_pegawai NIK (FK) / (PK) No_proyek (FK) / (PK) Jam Kerja Pada relasi proyek_pegawai tersebut atribut nik dan no_proyek merupakan kunci tamu (FK) dan keudnya juga menjadi primay key, dan keduanya merupakan kunci primer (primary key) pada relasi induknya. Sehingga hasilnya menjadi sebagai berikut: Relasi Proyek Relasi Pegawai Alamat Relasi Gambar 3. Dekomposisi many to many Keterangan : FK = Foreign Key (kunci tamu), PK = Primary Key (kunci utama) 5 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

2. Functional Dependency Menjelaskan relasi anntar atribut-atribut dalam relasi. Contoh, jika A dan B adalah atribut dari suatu relasi R, B dikatakan Functionally Dependent pada A (dinotasikan A --> B), jika setiap nilai A dihubungkan dengan tepat satu nilai B. (A dan B masing-masing dapat terdiri atas satu atau lebih atribut). Gambar 4. Representasi Ketergantungan Fungsional Representasi dari ketergantungan fungsional dapat dilihat pada Gambar 4 dibaca B bergantung pada A. Determinant dari ketergantungan fungsional mengacu kepada atribut di sebelah kiri anak panah. No_pekerja jabatan No_pekerja SL21 Manager Gambar 5. Diagram ketergantungan fungsional yang benar jabatan No_pekerja manager No_pekerja SL21 Gambar 6. Diagram ketergantungan fungsional yang salah No_pekerja SL22 6 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

Dari gambar 5, dapat disimpulkan bahwa karakteristik utama dari ketergantungan fungsional ialah hanya memiliki relasi 1:1 antar atribut disebelah kiri dan kanan dependency. Pada Functional Dependency ini terdapat sebuah hokum, yang disebut Hukum Armstrong (Armstrong s Axioms) yang menetapkan bagaimana functional dependency yang baru dapat disimpulkan dari functional dependency yang sudah ada. Berikut Hukum Armstrong: a) Reflextifity Rule Jika B merupakan subset dari himpunan atribut A, maka A -> B, dibaca: B bergantung pada A. b) Augmentation Rule Jika berlaku A -> B dan C adalah himpunan atribut, maka berlaku CA -> CB, dibaca: jika B bergantung pada A maka himpunan atribut C dan B akan bergantung pada C dan A. c) Transtivity Rule Jika berlaku A -> B dan B-> C, maka A -> C, dibaca: Jika B bergantung pada A dan C bergantung pada B, maka C tergantung pada A. a. Full Functional Dependency Ketergantungan fungsional penuh berarti bahwa jika ada atribut B yang tergantung secara fungsinal terhadap A dan tidak kepada sebagian atau turunan dari atribut A. Dinotasikan sebagai A -> B artinya bahwa atribut B bergantung penuh pada atribut A, dimana A adalah sebagai determinannya. Jika A adalah primary key atribut yang komposit (lebih dari 1), maka atribut yang dinyatakan sebagai tergantung penuh, harus tergantung kepada atribut primary key komposit tersebut (lebih dari 1). Contoh: No_pesanan No_pem No_bar Jml P00101122013 AM234 K934 25 P00201122013 AM124 K934 10 P00301122013 AJ546 K931 120 7 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

Dari tabel diatas dapat diketahui bahwa Primary key nya adalah No-pesanan dan Nopem. Primary key ini adalah composite primary key yang berarti perimary key lebih dari 1. Berarti semua atribut yang non primary key harus bergantung penuh kepada keduanya. No_pesanan, no_pem -> No_bar No_pesanan, no_pem -> Jml Dari penjelasan diatas dapat dikatehui bahwa nomor pemesanan dan no pemesan, keduanya menentukan nomor barang yang dipesan dan keduanya juga menentukan berapa jumlah pesanan. Sehingga atribut yang bukan primary key semuanya bergantung pada primary key-nya. b. Partial Functional Dependency Ketergantungan fungsional parsial artinya bahwa dalam sebuah tabel ada atribut atau sebagian atribut yang tidak bergantung sepenuhnya kepada primary key di tabel tersebut. Hal ini biasa terjadi jika pada sebuah tabel terdiri dari lebih 1 primary key (composite primary key). Misalkan jika terdapat A, B -> C, D. Dan A -> E. Sehingga terdapat atribut E yang hanya bergantung kepada sebagian atribut primary key yaitu atribut A saja. Contoh: No_pesanan No_pem Na_pem No_bar Na_bar Jml P00101122013 AM234 Cahaya K934 Mouse Optik 25 P00201122013 AM124 Amilea K934 Keyboard 10 P00301122013 AJ546 Camila K931 Monitor LCD 120 Jika tabel seperti diatas, maka dapat dirtentukan sebagai primary key bahwa nomor pesanan dan nomor pemesan menentukan semua atribut yang ada pada tabel tersebut. Tetapi kenyataannya bahwa ada atribut Na_pem yang hanya tergantung pada No_pem dan tidak tergantung pada No_pesanan. Sehingga terjadi ketergantungan parsial antara Na_pem kepada No_pem. 8 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

c. Transitive Functional Dependency Ketergantungan fungsional transitif artinya jika pada sebuah tabel terdapat atribut yang tidak hanya tergantung kepada primary keynya, tetapi kepada atribut lain yang bukann kunci. Sehingga keadaan tersebut dapat diidentifikasikan dengan notasi: A -> B, B -> C Perhatikan tabel contoh dibawah. Terdapat atribut nama barang yang tergantung pada kedua atribut kunci primer. Tetapi pada kenyataannya atribut nama barang ini bergantung kepada no_barang, sehingga terdapat ketergantungan transitif terhadap no_barang yang juga tergantung kepada atribut kunci primer yaitu No_pemesanan dan No_pemesan. No_pesanan No_pem Na_pem No_bar Na_bar Jml P00101122013 AM234 Cahaya K934 Mouse Optik 25 P00201122013 AM124 Amilea K934 Keyboard 10 P00301122013 AJ546 Camila K931 Monitor LCD 120 Jika tabel seperti diatas, maka dapat dirtentukan sebagai primary key bahwa nomor pesanan dan nomor pemesan menentukan semua atribut yang ada pada tabel tersebut. Tetapi kenyataannya bahwa ada atribut Na_pem yang hanya tergantung pada No_pem dan tidak tergantung pada No_pesanan. Sehingga terjadi ketergantungan parsial antara Na_pem kepada No_pem. No_pesanan, No_pem -> No_bar No_bar -> Na_bar Sehingga ada ketergantungan transitif dari No_pesanan, No_pem -> No_bar -> Na_bar 9 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n

Intruksi NoFaktur TglFaktur KdSupplier NmSupplier KdBarang NmBarang Harga F-013 14-Maret-18 S-001 Cahaya Ps-001 Pensil Warna Rp500 Sp-005 Spidol Rp3000 F-014 15-Maret-18 S-002 Amilea Ps-001 Pensil Warna Rp500 Ps-002 Pensil Hitam Rp1000 Ps-003 Pensil HB Rp1500 F-015 15-Maret-18 S-003 Camila Sp-005 Spidol Rp3000 1) Analisislah Superkey, Candidate key, dan primary key 2) Tentukan Full Functional Dependency, Partial Functional Dependency, dan Transitive Dependency-nya Tugas 10 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n