BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL

dokumen-dokumen yang mirip
INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

E-R Model (Model Keterhubungan Entitas)

BAB IV Normalisasi Data

Perancangan Basis Data

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

Tujuan Umum Tujuan Khusus Pokok Bahasan/Materi

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

SISTEM BASIS DATA II S A N T I W I D I A N T I

INTEGRITAS DAN KEAMANAN BASIS DATA. Alif Finandhita, S.Kom, M.T

Contoh SQL Constraint

MODUL 7 STRUCTURED QUERY LANGUAGE

Model Relasional. Basis Data. Pengertian

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

BAB 2 LANDASAN TEORI

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

Model Relasional Basis Data

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

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

Modul 8 : Relational Key dan Functional Dependency

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MEMAHAMI KONSEP DATABASE. Oleh : Yuhefizar, S.Kom

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Sistem Basis Data BAB 8 MODEL DATA DAN ENTITY RELATIONSHIP MODEL. Komponen model data dapat dikategorikan menjadi 3 (tiga) bagian yang meliputi:

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

MODEL DATA RELASIONAL

Contoh SQL Constraint

PENERAPAN CONSTRINE TABLE PADA DATABASE

Basis Data Terapan. Yoannita, S.Kom

Administrasi Basis Data. Integritas Data. Yoannita

BAB 4 NORMALISASI DATA

BAB 3 BAHASA BASIS DATA (DATABASE LANGUAGE)

Basis Data Relational

Modul Praktikum Basis Data 4 Relasi Table

NORMALISASI UNTUK BASIS DATA RELASIONAL

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

OVERVIEW BASIS DATA RELASIONAL. Oleh: Ir. M. Ramadhan, MT

BASISDATA. Basis Data Secara Umum

Desain Data Base. Proses Desain Data Base

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

Abstraksi Data (Arsitektur DBMS)

SISTEM BASIS DATA 3 SKS

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

TABEL. Tabel Halaman 25

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

PERTEMUAN 1. Sistem Basis Data. Presented by : Sity Aisyah Nasution, M.Kom Blog : yeshasalsabila.blogspot.

PRAKTIKUM SISTEM BASISDATA

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

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

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

PENGANTAR DATA BASE. DATA adalah fakta mengenai objek yang dinyatakan

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

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

Perancangan Database Bagian I

Normalisasi Data. Author : Minarni, S.Kom.,MM

BAB II PEMBUATAN DAN MANAJEMEN TABLE

IMPLEMENTASI BASIS DATA. By : I Ngh Putu Mardika, S.Pd

Pendahuluan. Tujuan MODUL

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Tampilan pada Enterprise Manager

LAPORAN PRAKTIKUM BASIS DATA

BAB 3 MODEL RELASIONAL

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

DESAIN DATABASE. Pertemuan 06 3 SKS

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

Teknik Informatika. Bab III: Perancangan BasisData

Relational Database & Pemodelan Data [Review]

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

KETERAMPILAN KOMPUTER 2B** (IT :S1-SA) Pertemuan 7. Database Dbase IV AHMAD HIDAYAT

STRUCTURE QUERY LANGUAGE DDL & DML

Konsep Basis Data (Lanjut)

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

INTERNET PROGRAMMING DATABASE

BASIS DATA SKEMA BASIS DATA

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

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

PEMROSESAN QUERY. Alif Finandhita, S.Kom

LATAR BELAKANG IBM San Jose Research Laboratory.

TUGAS PRAKTIKUM SISTEM BASIS DATA

NORMALISASI. Dr.Budi Setiyono, MT

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Konsep Normalisasi dan Anomali Tabel

MODUL II NORMALISASI DATA


Perancangan Database Bagian I. Ahmad Hanafi

Pertemuan 12 Pengenalan Structured Query Language

MAKALAH PERANCANGAN BASIS DATA MODEL DATA. Disusun oleh: Ainun Aisyiyah Iman Safuad Ismi Fadhilah

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

MODEL DATA RELASIONAL

PERANCANGAN BASIS DATA. Alif Finandhita, S.Kom

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

MODUL IV DATA DEFINITION LANGUAGE (DDL)

NORMALISASI DATA POKOK BAHASAN. Pendahuluan

Basis Data I. Pertemuan Ke-4 & ke-5 (Model Relasional Part 1) Noor Ifada.

Pengenalan Structured Query Language

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Basis Data Spasial Modul 2

Prosedur Penggunaan Program Gambar 4.7 Halaman Home

Transkripsi:

1 BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL 5.1. Anomali Anomali adalah proses pada basisdata yang memberikan efek samping yang tidak diharapkan (misal menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus). Anomali pada basis data dapat dibedakan menjadi 3 (tiga ), yaitu beikut ini: 1. Anomali Peremajaan (Update) 2. Anomalsi Penghapusan (Delete), dan 3. Anomali Penyisipan (Insert). Berikut ini adalah contoh relasi KRS (Kartu Rencana Studi) mahasiswa pada suatu perguruan tinggi. Dalam relasi ini terdapat 8 (delapan) atribut, yaitu nim,nama_m,kdmk,nama_mk,sks,smt,tahun dan status_ambil, dengan data data yang ada sebagai berikut: Gambar 5.1. Relasi KRS a. Anomali Peremajaan (Update). Anomali peremajaan terjadi apabila ada perubahan pada sejumlah data yang mubazir pada suatu table tetapi tidak seluruhnya diubah. Pada contoh relasi KRS tersebut, terjadi anomali peremajaan, seandainya nama matakuliah Pengantar Teknologi Informasi berubah menjadi Sistem Teknologi Informasi, dan perubahan hanya dilakukan pada record 1pertama, dan record kedua dan empat tidak dilakukan perubahan, maka hal ini menyebabkan adanya ketidakkonsistenan. b. Anomali Penyisipan (Insert).

2 Anomali peremajaan terjadi apabila pada saat penambahan hendak dilakukan, ternyata ada elemen data yang masih kosong, dan elemen data tersebut justru menjadi kunci. Pada contoh relasi KRS tersebut terjadi anomali peremajaan, seorang mahasiswa mengambil beberapa matakuliah untuk semester dan tahun akademik tertentu. Masalahnya, bagaimanakah menyimpan fakta bahwa ada suatu matakuliah baru yang tidak diambil oelh mahasiswa?. Penyisipan tidak bisa dilakukan karena tidak ada informasi mahasiswa yang mengambil matakuliah tersebut. c. Anomali Penghapusan (Delete). Anomali peremajaan terjadi apabila suatu baris (record) yang tidak terpakai dihapus, dan sebagai akibatya ada data lainnya yang hilang. Pada contoh relasi HRS tersebut terjadi anomali penghapusan, apabila data pada record pertama dihapus, maka seluruh data yang ada pada record tersebut akan terhapus juga, padahal data tersebut masih diperlukan. 5.2. Ketergantungan Fungsional Diberikan suatu tabel, misal T dengan 2 atribut A dan B, kita dapat menyatakan notasi sebagai baerikut : A B Pengertian dari notasi tersebut adalah : A secara fungsional menentukan B, atau B secara fungsional tergantung pada A. Contoh KF : Row 1 Row 2 Row 3 Row 4 Row 5 Row 6 Row 7 Diberikan 2 row r1 dan r2 dalam tabel T dimana A B. Jika r1(a)=r2(a}, maka r1(b)=r2(b}. Nama_kul Nim Nama_mhs Indeks_nilai Algorithma 980001 Ali akbar A Alghorithma 980004 Indah S B Basis data 980001 Ali akbar Basis data 980002 Budi H Basis data 980004 Indah S Pengembangan Diri 980001 Ali Akbar B Bahasa Inggris I 980002 Budi H C

3 Gambar 5.2. Ketergantungan fungsional Dari data diatas, Ketergantungan Fungsional yang dapat diajukan adalah : 1. Nim nama_mhs, Artinya adalah atribut Nama_mhs hanya tergantung pada atribut Nim. Faktanya adalah setiap nilai nim yang sama, maka pasti nama_mhs nya juga sama. 2. Nama_kul, Nim Indeks_nilai, Artinya adalah atribut Indeks_nilai tergantung pada atribut Nama_kul dan Nim secara bersama sama. KF mempunyai pengertian bahwa setiap indeks nilai diperuntukkan pada mahasiswa tertentu untuk matakuliah tertentu yang diambilnya. Contoh Non KF : 1. Nama_kul Nim, artinya adalah atribut Nim tidak tergantung pada Nama_kul. Buktinya bahwa pada Row 1 dan row 2, dengan nilai Mata_kul sama tetapi nilai Nim nya tidak sama. 2. Nim Indeks_nilai, artinya adalah bahwa atribut Indeks_nilai tidak hanya tergantung pada atribut Nim. Buktinya terlihat pada row 1 dan 6, dengan nilai Nim sama, tapi nilai Indeks_nilai nya berbeda. 5.3. Domain Atribut Domain Atribut adalah merupakan suatu gugus nilai yang mungkin dimiliki oleh suatu atribut pada suatu table / relasi dalam database. Berikut ini adalah contoh relasi rekening pada suatu database perbankan. No_Rekening Status Saldo 1 012.145.002 Checking 8.000.000,00 2 012.146.013 Saving 3.000.000,00 3 012.146.890 Saving 4.000.000,00 4 210.234.956 Checking 5.000.000,00 5 345.120.034 Checking 4.500.000,00 6 123.000.021 Saving 4.800.000,00 Gambar 5.3. Domain atribut

4 Pada relasi rekening diatas mempunyai pengertian sebagai berikut yang berhubungan dengan domain : Domain dari atribut Status adalah { Saving, Checking }, yang mempunyai arti adalah nilai yang mungkin diberikan pada atribut status adalah hanya Saving dan Checking Domain dari atribut Saldo, adalah semua bilangan nyata yang positif, domain atribut ini merupakan gugus tak hingga. Domain atribut No_Rekening adalah semua kode rekening yang meungkin dikeluarkan oleh Bank tersebut. 5.4. Integritas Data Informasi yang disimpan pada basisdata hanya bagus jika DBMS membantu mencegah pemasukan informasi yang tidak benar. Konstrain integritas adalah syarat yang dispesifikasikan pada skema basisdata dan mebatasi data yang dapat disimpan dalam basisdata. Jika basisdata memenuhi semua konstrain integritas yang dispesifikasikan pada skema basisdata maka basis data adalah legal. DBMS memaksakan konstrain integritas sehingga hanya mengijinkan basisdata legal yang akan disimpan oleh DBMS. Konstrain integritas menjamin bahwa perubahan perubahan yang dilakukan orang yang diotorisasi tidak menghasilkan pelanggarakan konsistensi data. Integritas data mengacu ke konsistensi dan akurasi data yang disimpan dalam basisdata. Konstrain integritas dispesifikasikan dan dipaksakan pada waktu yang berbeda, yaitu: 1. Ketika DBA mendefinisikan skema basisdata (lewat DDL), DBA menspesifikasikan konstrain integritas yang harus selalu dipenuhi basisdata. 2. Ketika aplikasi basisdata dijalankan, DBMS melakukan Pemeriksaan untuk mencegah terjadinya pelanggaran dan mencegah perubahan perubahan yang melanggar konstrain integritas. Pada beberapa situasi, DBMS tidak melarang suatu aksi yang dapat menimbulkan pelanggaran namun kemudian DBMS membuast tindakan tindakan otomatis untuk memenuhi konstrain integritas. Dengan demikian dijamin perubahan perubahan pada basisdata tidak menghasilkan baisdata yang melanggar konstrain integritas. 5.4.1. Jenis konstrain integritas Integritas dapat dikelompokkan menjadi 2 (dua), yaitu integritas didalam relasi yaitu aturan integritas entitas dan aturan integritas domain dan integritas dengan luar relasi yaitu aturan integritas referensial.

5 Selain itu terdapat aturan integritas untuk memenuhi aturan aturan yang berlaku di perusahaan yang disebut aturan integritas perusahaan atau aturan bisnis yang harus dipenuhi oleh basisdata. Dengan demikian, dapat diringkaskan integritas data di model relasional, meliputi: 1. Aturan integritas domain. 2. Aturan integritas entitas. 3. Aturan integritas referensial. 4. Aturan integritas perusahaan (didefiniskan pemakai). Hubungan antara domain, entitas dan referensial integritas dapat dilihat pada gambar berikut ini: Domain Integrity (column) Entity Integrity (rows) Referensial Integrity (between tables Gambar 5.4. Hubungan antar konstrain integritas a. Integritas domain Domain adalah nilai nilai yang dimungkinkin diasosiasikan dengan setiap atribut. Kemungkinan beberapa atribut mempuyai domain yang sama, misalnya atribut nama_pelanggan, nama_pekerja dapat mempunyaim domain yang sama. Namun tidak jelas apakah nama_pekerja dan nama_kota seharusnya mempunyai doamin yang sama. Pada level implementasi, baik nama_pekerja dan nama_kota adalah string karakter. Namun kita tidak bisa membuat query tampilkan nama pekerja yang namanya sama dengan nama kota sebagai query yang mempunyai arti. Dengan demikian, jika kita memandang basisdata pada level konseptual buka level fisik, maka nama_pekerja dan nama_kota adalah mempunyai domain yang berbeda. Konstrain domain tidak hanya memungkinkan kita menguji nilainilai yang dimasukkan ke basisdata tapi juga memungkinkan kita melakukan pemeriksaan query untuk menjamin perbandingan yang dibuat mempunyai arti.

6 b. Integritas entitas Null merepresentasikan suatu nilai untuk atribut dimana pada saat itu nilainya belum diketahui atau tidak diterapkan untuk tupel itu. Null adalah cara menanggapi ketidaklengkapan atau kondisi kekecualian yang terjadi pada data. Null tidak sama dengan nilai numerik nol (0) atai string teks spasi. Null dapat menyebabkan masalah pada implementasi, kesulitan akan muncul karena pada model relasional berdasarkan kalkulus predikat order pertama yaitu logika bernilai dua atau logika booleyaitu nilai yang diperbolehkan hanyalah true atau false. Kita dapat menciptakan kalimat Create Table yang mencegah kolom yang bernilai Null dengan menggunakan konstrain Not Null, konstrain ini berlaku untuk kolom. Jika kita menempatkan Not Null segera setelah tipe data dari kolom maka peletakan nilai Null di kolom akanj ditolak. Bila tidak dinyatakan, SQL mengasumsikan Null diijinkan kecuali bila dispesifikasikan sebagai bagian dari kunci utama dengan Primary Key. ) Create Table Dosen ( nid char(10) Primary Key, nama_d varchar(50) Not Null, tempat_lhr varchar(25), tgl_lahir datetime, jkelamin varchar(10), alamat varchar(90), kota varchar(30), kodepos char(5), gajipokok numeric(9) nama_d tidak boleh diisi dengan Null, sedangkan tempat_lhr, tgl_lahir, jkelamin, alamat, kota, kodepos, gajipokok boleh diisi dengan nilai Null pada kalimat insert ataupun update. Sementara nid dengan sendirinya adalah not null karena sebagai bagia dari kode primer yang didefinisikan dengan primary key.

7 c. Integritas referensial Integritas pengacuan adalah jika foreign key terdapat di relasi maka nilai foreign key harus cocok pada nilai candidate key suatu tupel di relasi asal (home relation) atau nilai foreign key seluruhnya Null. Kita sering berkehendak menjamin nilai yang muncul di satu relasi untuk suatu himpunan atribut tertentu juga muncul sebagai himpunan atribut tertentu pada relasi lain. Cretae Table Mangajar ( nid char(10) not null, thn_akademik char(4) not null, smt int not null, hari varchar(10) not null, jam_ke char(1) not null, kdmk char(9), waktu char(10), kelas char(5), kode_jur char(2), Constraint PkAjar Primary Key(nid,thn_akademik,smt,hari,jam_ke), Constraint Fkmatakuliah Foreign Key(kdmk) References Matakuliah(kdmk), Constraint Fkdosen Foreign Key(nid) References Dosen(nid), Constraint Fkjurusan Foreign Key(kode_jur) References Jurusan(kode_jur) ) d. Integritas enterprise Integritas keperusahaan adalah aturan aturan tambahan yang dispesifikan pemakai atau administrator basisdata. Pemakai menspesifikasikan konstrain tambahan yang harus dipenuhi data. Konstrain tipe, domain, kunci dan referensial bersifat struktural, membatasi struktur ata. Aturan perusahaan tidak berkaitan erat dengan struktur. Konstrain perusahaan ini disebut konstrain semantiks karena diturunkan dari domain aplikasi tertentu yang dimodelkan basidata. Contoh : jika telah dibatasi jumlah staf di satu kantor cabang berjumlah 20 orang, maka administrator harus dapat menspesifikasikan ketentuan itu dan DBMS mampu memaksakan konstrain

8 ketentuan ini. Anggota staf baru tidak dapat dimasukkan ke relasi staf jika jumlah staf saat itu telah mencapai 20. Pertanyaan Soal 1. Jelaskan pengertian daripada anomali dan sebutkan 3 (tiga) anomali dalam suatu database (basis data)?. 2. Jelaskan dan berikan contoh terjadinya anomali peremajaan (update), penyisipan (insert) dan penghapusan (delete)?. 3. Berikan contoh terjadinya ketergantungan fungsional pada suatu database?. 4. Berikan penjelasan entitas integritas, domain integritas dan referensial integritas serta berikan contohnya?.