Anda di halaman 1dari 10

Anomali adalah proses pada basis data yang memberikan efek samping yang tidak

diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data


menjadi hilang ketika data dihapus)
Macam Anomali terdiri dari

 Anomali peremajaan,
 Anomali Penghapusan, dan
 Anomali penyisipan

Anomali peremajaan

Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak
seluruhnya diubah. Contoh : Tabel Pesanan
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bandung Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Seandainya Citra dengan kota Bandung pindah ke Bogor maka pengubahan data hanya
dilakukan pada data pertama menjadi : Tabel Pesanan
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bogor Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Di sini terlihat bahwa data tentang pemasok Citra tidak sama yang menyebabkan
ketidakkonsistenan data.

Anomali Penyisipan

Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen
tsb justru menjadi key. Contoh : Tabel Kursus
NoSiswa Kursus Biaya
10 Bhs.Inggris 60000
10 Bhs.Peranci 80000
s
10 Bhs.Jepang 70000
15 Bhs.Inggris 60000
20 Bhs.Jepang 70000
Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum
ada seorangpun yang ikut kursus ini, shg data menjadi : Tabel Kursus
NoSiswa Kursus Biaya
10 Bhs.Inggris 60000
10 Bhs.Peranci 80000
s
10 Bhs.Jepang 70000
15 Bhs.Inggris 60000
20 Bhs.Jepang 70000
Bhs.Jerman 75000

Anomali penghapusan

Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga
akibatnya terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan
dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhs jepang dan
biaya 70000 akan ikut terhapus.

Dependensi (Ketergantungan)

Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih
khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.
Macam-macam dependensi, yaitu :

Dependensi fungsional

Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan
hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
Notasi    :   X –> Y      (X secara fungsional menentukan Y)
Contoh   : Tabel Pesanan
Pembeli Kota Barang Jumlah
P1 Yogya B1 10
P1 Yogya B2 5
P2 Jakarta B1 4
P2 Jakarta B2 7
P3 Solo B3 6
P3 Solo B4 6
Pembeli secara fungsional menentukan kota, sebab setiap pembeli yang sama  mempunyai
kota yang sama, dengan demikian :   Pembeli –> Kota
contoh lain                      :  {Pembeli, Barang}   –> Jumlah
Keterangan:

 Bagian yang terletak disebelah kiri tanda panah biasa disebut DETERMINAN /
PENENTU dan bagian yang terletak di sebelah kanan panah disebut DEPENDENSI /
YANG TERGANTUNG.
 Tanda {} biasanya digunakan untuk menentukan lebih dari satu atribut sebagai
penentu atau sebagai yang tergantung.

Dependensi fungsional sepenuhnya

Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika

 Y mempunyai dependensi fungsional terhadap X dan/atau


 Y tidak memiliki dependensi terhadap bagian dari X

Contoh :   Pembeli –> Kota


{Pembeli, Barang} –>  Jumlah
Intinya :   Kota mempunyai dependensi fungsional terhadap Pembeli atau {Pembeli, Barang}
tapi kota mempunyai dependensi fungsional sepenuhnya terhadap pembeli bukan barang.

Dependensi Total

Definisi : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika

 Y memiliki dependensi fungsional terhadap X dan


 X memiliki dependensi fungsional terhadap Y

Notasi  :   X<–> Y
Contoh : Tabel Pemasok
KodePemaso Pada kasus ini  KodePemasok <–
NamaPemasok Kota >NamaPemasok, karena setiap kode tidak
k
K1 Kartika Jakarta mempunyai nama yang sama.
C1 Citra Bandung
Dependensi Transitif
C2 Candra Jakarta
Definisi : Atribut Z mempunyai dependensi
transitif terhadap X bila :

 Y memiliki dependensi fungsional terhadap X


 Z memiliki dependensi fungsional terhadap Y

Contoh :
Kuliah Ruang Tempat Waktu Relasi :
Jarkom Merbabu Gedung Utara Senin
Basis Data Arjuna Gedung Selasa  Kuliah  –> {Ruang, Waktu}
Selatan  Ruang  –> Tempat
Matematika Merapi Gedung Barat Rabu
Fisika Merbabu Gedung Timur Kamis Terlihat bahwa :    Kuliah –> Ruang –
> Tempat
Dengan demikian Tempat
mempunyai dependensi transitif terhadap kuliah

Diagram Dependensi Fungsional (Diagram DF)

Diagram Dependensi Fungsional (Diagram DF) Adalah diagram yang digunakan untuk
menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut
yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda
panah. Seperti contoh diatas dapat digambarkan diagram DF sebagai berikut :

Dekomposisi
Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih
relasi. Proses pemecahaan ini disebut dengan dekomposisi. Syarat : Tidak ada informasi yang
hilang ketika suatu relasi dipecah menjadi relasi-relasi lain. Contoh : Terdapat suatu relasi
awal sebagai berikut :
Nim Nama Program Studi
95001 Andi Ekonomi
95002 Vira Teknik
95003 Andi Fisika
Akan dibentuk kedalam dekomposisi tak hilang menjadi :
Nim Nama Nim Program Studi
95001 Andi 95001 Ekonomi
95002 Vira 95002 Teknik
95003 Andi 95003 Fisika
Pada relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program
studi Ekonomi. Setelah proses dekomposisi tak hilang hasilnya adalah sama 95001 adalah
ANDI dan 95001 program studi Ekonomi. Contoh dekomposisi hilang adalah
Nim Nama Nama Program Studi
95001 Andi Andi Ekonomi
95002 Vira Vira Teknik
95003 Andi Andi Fisika
95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?

Bentuk Normalisasi

Bentuk normalisasi pertama (1NF)

Dikenakan pada tabel yang sama sekali belum ternomalisasi. Tabel yang belum ternomalisasi
adalah tabel yang mempunyai atribut berulang. Contoh : terdapat suatu data sebagai berikut :
NIP Nama Jabatan Keahlian Lama Kerja
107 Ilham Analis Senior Cobol 6
Oracle 1
109 Ryan Analis Junior Cobol 2
C++ 2
120 Fika Programmer Dbase 3
Sybase 1
Cobol 1
Pada contoh di atas, keahlian mempunyai atribut yang berulang. Untuk itu akan dibentuk ke
normal 1NF. Syarat Normal 1NF adalah suatu relasi dikatakan dalam bentuk normal pertama
jika dan hanya jika setiap atribut bernilai tunggal dalam satu baris.
NIP Nama Jabatan Keahlian Lama Kerja
107 Ilham Analis Senior Cobol 6
107 Ilham Analis Senior Oracle 1
109 Ryan Analis Junior Cobol 2
109 Ryan Analis Junior C++ 2
120 Fika Programmer Dbase 3
120 Fika Programmer Sybase 1
120 Fika Programmer Cobol 1
Tabel di atas sudah memenuhi bentuk normal 1NF

Bentuk Normal 2NF

Bentuk ini didefinisikan berdasarkan dependensi fungsional dengan syarat adalah :

 Berada pada bentuk normal pertama


 Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer

Contoh :

 Nama  dan jabatan mempunyai dependensi fungsional terhadap NIP


 Lama mempunyai dependensi fungsional terhadap NIP dan keahlian
 Bentuk tabelnya adalah : NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama
Kerja)

NIP Nama Jabatan


107 Ilham Analis Senior
109 Ryan Analis Junior
120 Fika Programmer
NIP Keahlian Lama Kerja
107 Cobol 6
107 Oracle 1
109 Cobol 2
109 C++ 2
120 Dbase 3
120 Sybase 1
120 Cobol 1

Bentuk Normal 3NF

 Berada dalam bentuk normal 2 NF


 Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer

Contoh di atas sudah memenuhi normal 3NF karena : Tidak memiliki dependensi transitif,
yaitu
NIP –> {Nama, Jabatan}
{NIP, Keahlian} –> Lama Kerja

Bentuk Normal boyce-codd (BCNF)

Bentuk ini dilakukan jika dan hanya jika semua penentu (determinan) adalah kunci kandidat
(atribut yang bersifat unik). BCNF merupakan perbaikan dari 3NF. Relasi yang memenuhi
BCNF pasti memenuhi 3NF tetapi tidak sebaliknya. Contoh : Tabel SKT
Siswa Kursus Tutor
Anwar Bhs. Perancis Pierre
Anwar Bhs. Inggris Richard
Budi Bhs. Perancis Pierre
Cecep Bhs. Inggris Suzanne
Tabel di atas adalah suatu relasi yang memenuhi 3NF tetapi tidak memenuhi BCNF. Relasi
diatas didasarkan oleh fakta :

 Seorang siswa dapat mengambil sejumlah kursus


 Setiap tutor hanya mengajar satu kursus bahasa
 Setiap siswa dalam satu kursus diajar oleh satu tutor
 Suatu kursus bisa dipegang oleh beberapa tutor

Pada keadaan tersebut di atas dapat digambarkan sebagai berikut : Siswa & Kursus  dan
Siswa & Tutor.
Memenuhi bentuk 3NF karena tidak ada dependensi transitif pada relasi tersebut. Tetapi tidak
memenuhi BCNF karena adanya determinan Tutor yang berdiri sebagai kunci kandidat.
Realsi SKT menyebabkan anomali karena baris Cecep dihapus maka Suzane sebagai tutor jug
akan terhapus. Cara konversi dari 3NF ke BCNF adalah :

 Carilah semua penentu


 Bila terdapat penentu yang bukan kunci kandidat, maka :
o Pisahkan relasi tersebu
o Buat penentu sebagai kunci primer

 Dekomposisi berupa : ST (Siswa, Tutor) dan TK (Tutor, Kursus)

Siswa Tutor
Anwar Pierre
Anwar Richard
Budi Pierre

Pengertian Key
       
         Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis
data (row) dalam tabel secara unik.
Key di dalam database berfungsi sebagai suatu cara untuk mengidentifikasi dan
menghubungkan satu tabel data dengan tabel yang lain.

Jenis-Jenis Key
 Primary Key (Kunci Primer)
Kunci primer adalah suatu atribut atau satu set minimal atribut yang tidak hanya
mendefinisikan secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian
dari suatu kejadian.
Nilai field yang menjadi primary key harus:
- Unik atau tidak boleh ganda
- Tidak boleh Null (kosong, tidak diketahui, tidak dapat ditentukan)
- Key tersebut lebih natural untuk dijadikan acuan
database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate
key.
Key boleh terdiri lebih dari satu field Key yang terdiri lebih dari satu kolom seperti ini
disebut Composite Key

Contoh Primary Key


Contoh:
File pegawai berisi attribute
Ø  no induk
Ø  No ktp
Ø  Nama
Ø  Tempat lahir
Ø  Tanggal lahir
Ø  Alamat
Ø  Kota
No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary
key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary
key, maka primary key nya adalah no induk.

Nomor_pesanan sebagai primary key di tabel pesanan


Nomor_pesanan sebagai foreign key di tabel barang_pesanan.

 Foreign Key (Kunci Tamu)


Foreign Keyadalah satu set atribut atau set atribut sebagai key penghubung kedua
tabel dan melengkapi satu relationship (hubungan) terhadap primary key yang menunjukan
keinduknya.
Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada
entity tersebut di sebut sebagai foreign key.

Contoh Foreign Key :

Pada gambar diatas, nim pada table mhs adalah primary key. Sedangkan primary key pada
table matkul adalah id_matkul. Lalu id_matkul menempel pada table mhs yang kita sebut
sebagai foreign key.
Biasanya disebut table yang berisi foreign key sebagai table anak karena table tersebut
mengait pada table lain. Sedangkan table yang terkait saya sebut sebagai table induk. Pada
contoh table di atas, mhs sebagai table anak sedangkan matkul sebagai table induk.

 Candidat key (Kunci kandidat/kunci calon)

adalah suatu atribut atau satu set minimal atribut yang hanya mengidentifikasikan
secara unik untuk suatu kejadian spesifik dari entitas.
Candidate key ini harus memenuhi syarat sbb:
Unique Identifier, untuk setiap row/tuple candidate key harus secara unik dapat menjadi
identifier. Artinya, setiap non candidate key atribut secara fungsional bergantung pada
candidate tersebut.
Non Redudancy, tidak ada duplikasi candidate key untuk menjadi unique identifier, dimana
tidak dapat dilakukan penghapusan pada candidate key dimana tidak merusak sifat unique
identifier.

Contoh dari candidate key adalah:


Untuk entiti 'supplier' candidate key yang dapat kita pilih adalah atribut SNo, karena secara
fungsional atribut SName, Status, dan City bergantung ke atribut SNo.
 
Contoh Candidate Key
File pegawai berisi attribute
Ø  no induk
Ø  No ktp
Ø  Nama
Ø  Tempat lahir
Ø  Tanggal lahir
Ø  Alamat
Ø  Kota

Kunci kandidat disini adalah:


Ø  No induk
Ø  No ktp 

 Composite Key

Dalam desain database, composite key adalah kunci yang terdiri dari 2 atau lebih atribut yang
secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci
senyawa adalah kunci sederhana dalam haknya sendiri.
composite setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci
sederhana.

Contoh Composite Key: 

suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini
memiliki nim dan kode_matakuliah sebagai kunci utama. Setiap atribut yang membentuk
kunci utama adalah kunci sederhana karena masing-masing merupakan referensi unik ketika
mengidentifikasi siswa dalam satu kasus dan modul yang lain.

Sebaliknya, dengan menggunakan contoh yang sama, bayangkan kita mengidentifikasi


seorang mahasiswa oleh NamaBelakang + NamaDepan mereka. Di tabel siswa tersebut pada
modul kunci utama yaitu NamaDepan + NamaBelakang + kode_matakuliah. Karena
NamaBelakang + NamaDepan merupakan referensi unik untuk mahasiswa, itu bukanlah
sebuah kunci sederhana, itu adalah kombinasi dari atribut yang digunakan untuk secara unik
mengidentifikasi seorang mahasiswa. Oleh karena itu kunci utama untuk entitas ini adalah
kunci komposit.

Tidak ada pembatasan diterapkan pada atribut tentang (awal) kepemilikan mereka dalam
model data. Ini berarti bahwa setiap satu, tidak ada, atau semua, dari beberapa atribut dalam
kunci senyawa dapat menjadi kunci asing. Dimana kunci asing mungkin sendiri dapat
menjadi kunci majemuk.

 Alternative Key adalah candidate key yang tidak dipilih sebagai primary key.
 Sekunder key adalah sebuah atribut atau kombinasi yang digunakan hanya untuk
tujuan pengambilan data.

Anda mungkin juga menyukai