BASISDATA. Basis Data Secara Umum

dokumen-dokumen yang mirip
INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

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

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

SISTEM BASIS DATA By Novareza Klifartha

LATAR BELAKANG IBM San Jose Research Laboratory.

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

INTERNET PROGRAMMING DATABASE

PERANCANGAN DATA BASE BY LILIS PUSPITAWATI, SE.,M.SI

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

BAB 3 BAHASA BASIS DATA (DATABASE LANGUAGE)

Basis Data Relational

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

BAB 2 LANDASAN TEORI

Pengenalan Basis Data

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017

DATA BASE. 2. DBMS yang berorientasi untuk banyak pemakai. Contoh: IBM-DB2, Borland-Interbase, Informix, Oracle, MS-SQL Server, MySQL

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai

Perangkat Lunak Pengembangan Web

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

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

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

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

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

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

Contoh SQL Constraint

Pemrograman Basis Data dan SQL

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

BAB II SISTEM BASIS DATA

Database Management System Gambaran Database Dan Penerapannya Pengelolaan Data Manual VS Database Komponen Utama Database

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

BAB 2 TINJAUAN TEORI. seorang pegawai pada sebuah badan, organisasi atau instansi. Kepegawaian sangat

Contoh SQL Constraint

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

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

DESAIN DATABASE. Pertemuan 06 3 SKS

Konsep Sistem Informasi B. BAB 2 - SQL Overview

ANALISA RANCANGAN DATABASE

6 PENGANTAR MANAJEMEN DATA

MEMAHAMI KONSEP DATABASE. Oleh : Yuhefizar, S.Kom

KURSUS ONLINE JASA WEBMASTERS

Praktikum Basis Data 2. BAB 1 : Pendahuluan

Normalisasi Lanjut. I. Review Normalisasi

PENGANTAR BASIS DATA

MUHAMMAD ZEN S. HADI, ST. MSC.

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

Definisi Basis Data (1)

DUKUNGAN DATABASE DALAM PEMBANGUNAN SISTEM INFORMASI

LAPORAN TUGAS BASIS DATA I

Tujuan Umum Tujuan Khusus Pokok Bahasan/Materi

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

DASAR-DASAR SQL SERVER 2005

JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022

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

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

Basis Data. DDL & Aturan Referential

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

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

STRUCTURE QUERY LANGUAGE (SQL)

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

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

Perancangan Basis Data

Basis Data Modul Teori

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Administrasi Basis Data. Integritas Data. Yoannita

TEKNIK INFORMATIKA UNIVERSITAS JENDERAL SOEDIRMAN. Bab II: Mengenal DBMS

Bagian 4 Normalisasi. Kuliah Basis Data Pra S2 Ilmu Komputer - FMIPA Drs. Agfianto Eko Putra, M.Si.

Basis Data Adalah.. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis

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

BAB II LANDASAN TEORI

MODUL 7 STRUCTURED QUERY LANGUAGE

Database System 4 Normalization

RENCANA PEMBELAJARAN

Database dan DBMS DBMS adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan mengakses basis data dengan

Basis Data. Roni Andarsyah, ST., M.Kom Lecture Series

Materi 3 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

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

Basis Data 1 - TIS3333

Konsep Normalisasi dan Anomali Tabel

Modul Praktikum Basis Data 4 Relasi Table

BAB 2 LANDASAN TEORI

ARSITEKTUR SISTEM BASIS DATA

BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL

Satuan Acara Perkuliahan

PERANCANGAN BASIS DATA

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub

02. Berfungsi sebagai perantara antara pemakai dengan database adalah a. Data d. Perangkat lunak b. Pemakai e. File c.

SOAL KUIS. 3. Data aktual yang disimpan pada tiap elemen atau atribute: a. Atribute d. Enterprise b. Data Value e. Tuple c. File

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

Modul 4 Microsoft Access 2007

KONSEP PENGELOLAAN BASIS DATA

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

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

Pertemuan 7-8 NORMALISASI

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

BAB II LANDASAN TEORI. Sistem merupakan salah satu faktor yang sangat penting dalam suatu

BAB III LANDASAN TEORI. Jasa akan selalu melekat pada sumbernya atau pada penjualnya. Dengan

Transkripsi:

BASISDATA Basis Data Secara Umum Basis data merupakan kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Definisi ini merujuk pada perkembangan dunia hardware yang pesat dimana data dapat disimpan dalam format digital. 3 model basis data yang umum digunakan yaitu: 1. Model basis data hirarkis Merupakan model basis data yang terdiri atas sekumpulan record yang antara satu dengan yang lain dihubungkan melalui suatu link yang membentuk struktur hirarkis. Model ini biasa disebut model pohon karena strukturnya yang menyerupai pohon terbalik. Ciri khas dari model ini adalah hubungan transendental dimana simpul orangtua (pendahulu) hanya mempunyai satu hubungan dengan simpul dibawahnya(simpul anak). 2. Model basis data jaringan Serupa dengan model hirarkis, perbedaannya terletak pada banyaknya simpul anak yang dapat dimiliki oleh simpul orangtuanya. Pada model ini satu simpul anak dapat memiliki beberapa simpul orangtua. TBA, S.T,M.T Ir. MNA Komp. Numeris Tek. Basis Data Pemr. Berorientasi Obyek Aditya BSS Yuda WP Pupus AW Herison M Beni J Contoh Model Basis Data Hirarkis

TBA, S.T,M.T Ir. MNA Komp. Numeris Tek. Basis Data Pemr. Berorientasi Obyek Aditya BSS Yuda WP Pupus AW Herison M Beni J Contoh Model Basis Data Jaringan 3. Model basis data relasional Model basis data ini paling sering digunakan dan merupakan model yang paling populer pada saat ini. Mata_kuliah TBA, S.T,M.T Komp. Numeris Aditya BSS TBA, S.T,M.T Komp. Numeris Yuda WP TBA, S.T,M.T Tek. Basis Data Pupus AW TBA, S.T,M.T Tek. Basis Data Herison M Ir. MNA Pemr. Berorientasi Obyek Herison M Ir. MNA Pemr. Berorientasi Obyek Beni J Model Basis Data Relasional Basis Data Relasional Model basis data relasional merupakan model basis data dimana data disebar ke dalam tabel dua dimensi yang berupa dimensi baris / row (merupakan dimensi vertikal dari tabel) serta dimensi kolom (merupakan dimensi horizontal tabel). Umumnya akan terdapat sekumpulan tabel dalam suatu basis data, yang tersusun atas tupel dan atribut. Tupel merupakan satu baris record data yang ada dalam suatu tabel. Istilah atribut lebih sering digunakan dalam perancangan suatu basis data. Atribut berfungsi sebagai pembentuk karakteristik/sifat yang melekat pada sebuah tabel. Atribut juga dapat diidentikkan dengan kolom data suatu tabel. Sesuai dengan namanya yaitu basis data relasional, relasi mempunyai peranan yang cukup penting dalam basis data model ini. Sekumpulan data yang ditaruh dalam satu tabel tunggal tentu akan menyulitkan dan menjadi tidak teratur. Data akan menjadi lebih efisien apabila dikelompokkan ke dalam kategori tertentu atau dibuat menjadi beberapa tabel atau yang lebih dikenal dengan istilah dekomposisi. Pembagian kelompok data ini ke dalam beberapa tabel membuat terciptanya relasi antar tabel tersebut. Tentu saja kita tidak dapat begitu saja melakukan pemilahan dan pembagian data ke dalam tabel. Untuk melakukan pemilahan dan pembagian basis data menjadi tabel yang lebih efisien digunakan proses yang dinamakan normalisasi.

Mata_kuliah Kode_MK Mata_kuliah NIP TEL 208 Komputasi Numeris 132 133 729 TEL 557 Teknologi Basis Data 132 133 729 TEL 252 Pemrograman Berorientasi Obyek 132 133 731 NIP Nama_dosen 132 133 729 TBA, S.T,M.T 132 133 731 Ir. MNA NIM Nama_mahasiswa 22729 Aditya BSS 21365 Yuda WP 22604 Pupus AW 22987 Herison M 22679 Beni J Mata_kuliah_mahasiswa Kode_MK NIM TEL 208 22729 TEL 208 21365 TEL 557 22987 TEL 557 22604 TEL 252 22987 TEL 252 22679 Relasi pada Model Basis Data Relasional Software yang digunakan untuk melakukan pengorganisasian basis data relasional sering disebut sebagai Database Management System (DBMS). Ada berbagai macam DBMS yang ada, setiap DBMS memiliki kelebihan dan kekurangannya masing-masing. Normalisasi Normalisasi mengharuskan relasi pada suatu basis data dalam bentuk normal. Bentuk normal sendiri merupakan seperangkat aturan yang dikenakan dan harus dipenuhi oleh relasi basis data pada setiap level normalisasi. Beberapa level yang sering digunakan pada normalisasi adalah sebagai berikut: 1. Bentuk normal pertama (1NF) 2. Bentuk normal kedua (2NF) 3. Bentuk normal ketiga (3NF) 4. Bentuk normal Boyce-Codd (BCNF) 5. Bentuk normal keempat (4NF) 6. Bentuk normal kelima (5NF) Bentuk Normal Pertama

Bentuk normal pertama dikenakan pada tabel yang belum ternormaliasasi, tabel-tabel ini pada umumnya memiliki atribut yang berulang. Definisi bentuk normal pertama adalah bahwa suatu relasi dikatakan berada dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris (bersifat atomic). Bentuk Normal Kedua Bentuk normal kedua terpenuhi apabila pada suatu tabel, semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional (functional dependency) pada primary key secara utuh. Tabel dikatakan tidak memenuhi fungsi normal kedua jika ketergantungannya hanya bersifat parsial yaitu hanya tergantung pada sebagaian kunci primer. Umumnya terjadi ketika suatu tabel memiliki 2 atribut yang digolongkan sebagai kunci primer. Ketergantungan fungsional merupakan ketergantungan/dependensi pada suatu tabel dimana pada atribut-atributnya terjadi ketergantungan yang dapat dinotasikan sebagai berikut: R(A,B) A B yang berarti bahwa pada relasi A dengan B secara fungsional A menentukan B dan B secara fungsional tergantung pada A. Bentuk Normal Ketiga Suatu relasi dikatakan berada dalam bentuk normal ketiga apabila setiap atribut yang bukan merupakan kunci primer tidak mempunyai dependensi transitif terhadap kunci primer. Dependensi transitif merupakan keadaan dimana dalam suatu tabel kunci yang bukan primer dapat menentukan kunci bukan primer yang lain, atau dapat dinotasikan sebagai berikut: R(A,B,C) B C A kunci primer Tabel yang memiliki bentuk seperti pada relasi diatas tidak memenuhi bentuk normal ketiga. Untuk itu relasi tabel tersebut dapat digantikan dengan memproye93ksikan R1 dan R2 dalam bentuk sebagai berikut: R1 (B,C) B kunci primer R2 (A,B) A kunci primer B kunci tamu referensi R1 Bentuk Normal Boyce-Codd (BCNF) Boyce-Codd Normal Form merupakan bentuk normal yang merupakan perbaikan terhadap bentuk normal ketiga. Suatu relasi dikatakan memenuhi bentuk normal ketiga apabila semua penentu (determinan) merupakan kunci kandidat (atribut yang bersifat unik). Sehingga untuk relasi dengan notasi X Y, maka X harus mer.6upakan kunci yang unik. Bentuk Normal Keempat Diperkenalkan oleh R Fagin pada tahun 1977. Bentuk normal keempat berkaitan dengan sifat ketergantungan banyak nilai (multivalued dependency) yang merupakan pengembangan dari ketergantungan fungsional. Bentuk Normal Kelima Nama lain dari bentuk normal kelima adalah PJ/NF (Projection-Join Normal Form) yang berkenaan dengan ketergantungan relasi antar tabel (Join Dependency).

SQL (Structured Query Language) Pada awalnya SQL dikembangkan oleh IBM sebagai bagian dari Proyek Sistem R di awal tahun 1970. Pada tahun 1986, American National Standards Institute (ANSI) dan Internazional Organization for Standardization (ISO) mempublikasikan standar SQL yang dikenal dengan nama SQL-86. Versi terbaru yang dikeluarkan adalah SQL 1999. Walaupun merupakan singkatan dari Structured Query Language, tetapi kemampuan SQL sendiri tidak hanya terbatas pada melakukan query / pertanyaan pada basis data, tetapi juga dapat mendefinisikan struktur data, memodifikasi data pada basis data, dan melakukan pengorganisasian keamanan dan integritas data. Bahasa SQL sendiri terdiri atas beberapa bagian: 1. Data Definition Language (DDL) DDL menyediakan perintah untuk mendefinisikan relasi skema, menghapus skema dan melakukan modifikasi relasi skema. Beberapa perintah yang biasa digunakan adalah alter, drop, dan create. 2. Data Manipulation Language Merupakan bahasa untuk memanipulasi isi data dalam suatu tabel. Manipulasi menggunakan perintah seperti insert, update, delete. 3. Definisi View Ada bagian bahasa DDL SQL yang digunakan untuk mendefinisikan view. View sendiri merupakan fasilitas yang digunakan untuk menggabungkan beberapa tabel atau menentukan field tertentu pada sebuah tabel menjadi suatu object yang selanjutnya object tersebut dapat dianggap sebagai tabel baru. 4. Kontrol Transaksi SQL juga menyertakan perintah untuk melakukan spesifikasi awal atau akhir transaksi. Beberapa perintah yang digunakan adalah commit, rollback, savepoint. 5. Embedded dan Dynamic SQL Keduanya mendefinsikan bagaimana pernyataan SQL dapat dimasukkan ke dalam bahasa pemrograman seperti C++, Pascal, Java, Fortran, Cobol, dan PL/I. 6. Integritas DDL SQL juga menyertakan perintah untuk menspesifikasikan constraint agar integritas basis data selalu terpenuhi. 7. Autorisasi Beberapa perintah juga digunakan untuk menentukan hak akses pada relasi dan view. Integritas Data pada Basis Data Relasional Definisi Integritas Secara etimologis, integritas berarti kesatuan. Dalam konteks basis data, obyek integritas tersebut adalah data. Sehingga dapat disimpulkan bahwa integritas data merupakan keutuhan dan kesatuan data dalam basis data sehingga data tersebut dapat menjadi sumber informasi yang dapat digunakan. Munculnya istilah integritas terutama disebabkan oleh adanya konsep basis data relasional dan adanya normalisasi. Pemilahan data ke dalam tabel-tabel yang

mempunyai relasi membuat integritas keseluruhan data menjadi sangat penting. Relasi antara satu tabel dengan tabel yang lain harus benar-benar terjadi sehingga keutuhan data dapat terjaga. Pada basis data relasional dikenal istilah integrity constraint (batasan integritas). Batasan (constraint) integritas memastikan bahwa perubahan-perubahan yang dilakukan oleh pengguna yang berhak tidak akan menghasilkan inkonsistensi data. Batasan integritas menjaga terhadap kerusakan baik yang disengaja maupun tidak disengaja pada basis data. Berikut ini adalah ilustrasi dari integritas data pada suatu basis data relasional. Pada gambar 2.5, terlihat bahwa tabel mata kuliah dan tabel dosen memiliki satu kolom yang sama yaitu kolom NIP. Relasi kedua kolom ini dapat dilihat pada Error! Reference source not found.. Terlihat bahwa satu dosen dapat mengajar lebih dari satu mata kuliah. Dalam derajat relasi, hubungan kedua entitas ini dapat dinyatakan dengan hubungan banyak ke satu (many to one). Yang berarti bahwa setiap entitas pada himpunan Mata_kuliah : NIP berhubungan dengan paling banyak 1 entitas pada himpunan : NIP. Mata_kuliah Kode_MK Mata_kuliah NIP TEL 208 Komputasi Numeris 132133729 NIP 132133729 Nama_dosen TBA, S.T.,M.T. TEL 557 Tek. Basis Data 132133729 132133731 Ir. MNA TEL 252 PBO 132133731 Foreign key Prmary key Relasi antar tabel Adanya pemilahan tabel (yang disebabkan oleh normalisasi) menyebabkan dikenalnya kunci tamu (foreign key) dalam relasi antar tabel. Kunci tamu merupakan kolom yang mereferensikan pada kunci primer tabel lain, untuk menjaga relasi antar tabel. Dalam contoh di atas, yang diklasifikasikan sebagai kunci tamu (foreign key) adalah kolom NIP pada tabel Mata_kuliah. Sedangkan kolom NIP pada tabel dosen merupakan kunci primer (primary key) dari tabel. Pentingnya Integritas data dalam basis data Awalnya aplikasi basis data dibuat dengan menggunakan sistem file dalam penyimpanan basis datanya. Aplikasi basis data juga belum mempunyai DBMS (Database Management System) sendiri. Penggunaan sistem file dalam penyimpanan data memiliki beberapa kelemahan, diantaranya adalah sebagai berikut: 1. Pengulangan dan inkonsistensi data. Biasanya data disimpan dalam format file yang berbeda-beda, sehingga dimungkinkan adanya duplikasi pada file yang berbeda. 2. Kesulitan dalam pengaksesan data. 3. Sulit dalam mengisolasi karena banyaknya file serta formatnya.

4. Masalah integritas Constraint (batasan) integritas menjadi bagian dari kode program. Sehingga akan cukup sulit ketika akan melakukan perubahan atau penambahan batasan tersebut. 5. Masalah keamanan 6. Akses data yang bersamaan oleh banyak pengguna Kemudian diperkenalkan konsep DBMS, dimana data diatur dan ditangani secara terpisah. Pada sistem informasi yang biasa digunakan pada saat ini, sangat umum terlihat adanya DBMS diantara program aplikasi dan data yang diolah. Walaupun ada juga DBMS yang menyatu dengan aplikasi program, seperti Dbase, FoxBase, MS-Access, dll. Beberapa DBMS yang terpisah dan berdiri sendiri diantaranya adalah MySQL, PostgreSQL, Oracle, IBM DB2, dll. Suatu sistem informasi dengan DBMS terpisah dari aplikasi dapat dilihat pada Error! Reference source not found.. Sophisticated user merupakan pengguna yang dapat melakukan akses ke basis data dengan menggunakan DML (Database Manipulation Language). Dalam sistem informasi seperti ini, pemrogram aplikasi hanya melakukan pemrograman khususnya lebih kepada aplikasi yang akan digunakan oleh end user. Sedangkan mengenai pengorganisasian data, perancangan basis data, pembuatan query program lebih banyak dilaksanakan oleh database administrator dan sophisticated user. Integritas yang baik dari suatu basis data dapat memudahkan pemrogram dalam melakukan pembuatan program. Karena dalam hal ini pemrogram tidak perlu mengkhawatirkan integritas data, dan tidak perlu terlalu memikirkan masalah basis data secara mendetil. Sebagai ilustrasi dapat kita lihat dari tabel pada Error! Reference source not found.. Peremajaan yang dilakukan secara kurang tepat dapat mengakibatkan data yang tidak terjaga integritasnya. Apabila suatu ketika user yang berwenang melakukan peremajaan data, entah itu sophisticated user ataupun naïve user, dan ternyata melakukan kesalahan sehingga pada tabel tidak terdapat data NIP 132133729 seperti pada Error! Reference source not found., tentu akan terjadi kejanggalan. Data akan menjadi rancu karena seharusnya mata kuliah komputasi numeris dan teknologi basis data diajar oleh dosen dengan NIP 132133729 yaitu TBA,S.T.,M.T. Akibatnya apabila dilakukan query pada tuple tersebut, maka DBMS akan memberikan informasi yang keliru dan tidak akurat. Mata_kuliah Kode_MK Mata_kuliah NIP NIP Nama_dosen TEL 208 Komputasi Numeris 132133729 132133731 Ir. MNA TEL 557 TEL 252 Tek. Basis Data 132133729 PBO 132133731 Ambiguitas data ketika integritas data tidak terjaga

End User Application Interface Sophisticated User Application Program Application Programmer query DBMS Database Sistem informasi dengan DBMS terpisah Konsep Integritas Basis Data Integrity Constraints (Batasan Integritas) Constraint (batasan) merupakan aturan yang diberikan pada suatu tabel agar data yang dimasukkan terjamin validitasnya. Batasan integritas akan menjaga basis data dari kerusakan yang terjadi secara tidak sengaja dengan memastikan bahwa perubahan yang diperbolehkan tidak mengakibatkan terjadinya inkonsistensi data. Constraint dapat diklasifikasikan sesuai dengan elemen dari basis data yang bersangkutan menjadi sebagai berikut. 1. Constraint tersebut intra-relasional apabila batasan (constraint) terpenuhi dalam satu tabel. Constraint ini sendiri dapat dibedakan menjadi 2 yaitu: tuple constraint dan domain constraint. Tuple constraint merupakan constraint yang bisa dievaluasi secara independen pada setiap tuple-nya. Domain constraint atau sering disebut sebagai value constraint merupakan suatu constraint dengan referensi kepada nilai (value) tertentu. Implementasi dari penggunaan domain constraint pada SQL adalah penggunaan klausa check 2. Suatu constraint dikatakan inter-relasional apabila melibatkan lebih dari satu relasi. Bentuk dari constraint ini adalah referential integrity. Ada beberapa bentuk dari integrity constraint yaitu domain constraint, referential integrity, assertion, trigger. Domain Constraint Domain constraint merupakan bentuk integrity constraint yang paling sederhana. Setiap ada pemasukan data baru, maka akan langsung diperiksa oleh

sistem. Domain constraint diterapkan pada atribut basis data sehingga sangat dimungkinkan beberapa atribut memiliki domain yang sama. Untuk menciptakan domain baru dapat digunakan perintah create domain. Sebagai contoh adalah pada perintah: create domain Dollar numeric (12,2) create domain Pound numeric (12,2) Perintah ini akan mendefinisikan domain Dollar dan Pound dengan yang merupakan angka desimal sebanyak 12 digit dengan 2 digit berada di belakang koma. Pada bahasa SQL juga terdapat klausa check yang bisa digunakan untuk memeriksa suatu kondisi nilai tertentu yang diinginkan. Berikut adalah contoh penggunaan klausa check pada perintah create domain. Create domain HourlyWage numeric(5,2) constraint wage-value-test check (value>=4.00) Perintah tersebut akan mengecek nilai dari domain HourlyWage harus 4.00 Referential Integrity (Integritas Referensial) Integritas referensial adalah seperangkat aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel-tabel yang berada dalam suatu basis data relasional untuk menjaga konsistensi data. Tujuan integritas referensial sendiri adalah untuk menjamin dan memastikan agar entitas dalam suatu tabel yang menunjuk ke suatu pengenal unik pada suatu baris di tabel lain benar-benar menunjuk pada nilai yang memang ada. Sehingga kejadian seperti pada ilustrasi Error! Reference source not found. tidak akan terjadi. Berdasarkan operasi yang dilakukan, integritas referensial dapat dibedakan sebagai berikut: 1. penambahan (insert) 2. penghapusan (delete) 3. peremajaan (update) Integritas referensial membuat ketiga operasi di atas dapat dilaksanakan pada tabel yang memiliki relasi. Sehingga proses penghapusan ataupun peremajaan suatu kolom juga akan terjadi pada kolom tabel lain yang mempunyai referensi dengannya. Dalam bahasa Data Definition Language SQL, kunci primer, kunci kandidat, dan kunci tamu, dapat dispesifikasikan sebagai bagian dari pernyataan SQL create table. Kunci kandidat merupakan kunci yang secara unik dapat digunakan untuk mengidentifikasi suatu baris dalam tabel. Berikut adalah salah satu contoh DDL dari pembuatan tabel mata_kuliah. create table mata_kuliah (kode_mk char(6) not null, mata_kuliah varcar(25), nip char(9), primary key (kode_mk), foreign key (nip) references dosen on delete cascade) Assertion Penggunaan constraint berupa kunci primer dan kunci tamu pada deklarasi awal tabel merupakan salah satu cara untuk memelihara integritas data. Domain constraint dan Referential integrity constraint merupakan salah satu bentuk dari assertion. Pada beberapa basis data penggunaan kunci primer dan kunci tamu sudah cukup untuk menjaga integritas data. Tetapi pada beberapa kasus basis data diperlukan suatu constraint ataupun aturan yang lebih baik.

Metode lain yang sering digunakan dalam pemeliharaan integritas adalah assertion dan trigger. Assertion digunakan untuk mengekspresikan suatu kondisi basis data sesuai dengan yang kita inginkan. Seperti halnya prosedur, assertion diberikan nama tertentu sehingga bisa dibatalkan apabila ada kondisi tertentu yang menuntut perubahan struktur basis data. Syntax dari definisi assertion adalah sebagai berikut. create assertion AssertionName check (predicate) Ketika assertion dibuat, maka sistem akan melakukan pengecekan validitas dari assertion yang dibuat. Jika assertion yang dibuat valid maka perubahan terhadap basis data hanya akan berlaku ketika tidak menyalahi assertion yang telah dibuat. Pengecekan validitas tersebut akan memakan biaya yang besar terutama apabila assertion yang dibuat cukup rumit, sehingga penggunaan dan pembuatan assertion harus dilakukan dengan hati-hati. Karena itu tidak banyak developer sistem dan DBMS yang menyediakan fasilitas ini. Trigger Trigger merupakan pernyataan yang dieksekusi secara otomatis oleh sistem basis data sebagai akibat dari perubahan basis data. Ada beberapa persyaratan yang harus dipenuhi untuk merancang mekanisme trigger, yaitu: 1. Menspesifikasikan kapan trigger harus dieksekusi. 2. Menspesifikasikan perintah yang akan dilaksanakan ketika trigger dijalankan. Sistem basis data yang berbasis SQL pada umumnya menggunakan trigger, walaupun sebelum versi SQL:1999 belum dimasukkan ke dalam standar SQL. Hanya saja setiap sistem basis data menerapkan trigger melalui syntax yang berbeda-beda. Syntax SQL:1999 mirip dengan syntax trigger pada IBM DB2 dan Oracle. Trigger sebenarnya tidak lain adalah suatu pemrograman PL/SQL yang mirip dengan procedure. Perbedaan mendasar dengan procedure adalah aktivasinya, dimana procedure dapat dipanggil secara langsung sementara trigger dipanggil melalui pemicu yang berupa bahasa DML (Data Manipulation Language). Bahasa DML yang digunakan sebagai pemicu adalah insert, update dan delete.