A.
Basis
Data dan Sistem Basis Data
1.
Basis
Data
Basis
data terdiri dari 2 (dua) kata, yaitu Basis dan data. Basis bisa diartikan
sebagai markas atau ruang atau tempat berkumpul. Sedangkan data yaitu kumpulan
fakta dari dunia nyata yang mewakili atau merepresentasikan suatu objek,
seperti makhluk hidup, barang dan lain-lain yang direkam ke dalam bentuk angka,
huruf, simbol, teks, bunyi, gambar atau kombinasinya.
Jadi,
pengertian basis data adalah kumpulan dari data-data yang terorganisasi dan saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses (seperti mengubah, menghapus dll.) data dalam tabel-tabel tersebut.
pengertian basis data adalah kumpulan dari data-data yang terorganisasi dan saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses (seperti mengubah, menghapus dll.) data dalam tabel-tabel tersebut.
Tujuan basis data:
a.
Kecepatan serta
kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data
tersebut.
b.
Efisiensinya ruang
penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
c.
Keakuratan (Accuracy) data.
d.
Ketersediaan (Availability) data.
e.
Kelengkapan (Completeness) data, bisa melakukan
perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel)
atau dengan penambahan field-field baru pada tabel.
f.
Keamanan (Security) data, dapat menentukan pemakai
yang boleh menggunakan basis data beserta objek-objek yang ada di dalamnya
serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
g.
Kebersamaan Pemakai (Sharability), pemakai basis data bisa
lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti:
inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat
yang bersamaan) dan juga kondisi deadlock yang disebabkan karena adanya banyak
pemakai yang saling menunggu untuk menggunakan data tersebut.
2.
Sistem
Basis Data
Sistem basis data adalah sistem yang terdiri dari koleksi data atau
kumpulan data yang saling berhubungan dan program-program untuk mengakses data
tersebut. Komponen utama Sistem Basis Data:
a.
Perangkat
Keras (Hardware).
b.
Sistem
Operasi (Operating Sistem).
c.
Basis
data (Database).
d.
Sistem
Pengelola Basis Data (Database Management
Sistem atau disingkat DBMS).
Yaitu pengelola basis data
secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi
ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang
disebut DBMS (Database Management Sistem)
yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta
diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan
data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya.
e.
Pemakai
(User).
f.
Aplikasi
atau Perangkat Lunak yang lainnya.
Tujuan
Utama Sistem Basis Data sendiri adalah menunjukkan suatu lingkungan yang tepat
dan efisien di dalam melakukan pengambilan (retrieving)
dan penyimpanan (storing) informasi
basis data, serta menyediakan antarmuka yang lebih ramah kepada user dalam melihat data.
Kegunaan
atau Fungsi Sistem Basis Data, yaitu mengatasi masalah-masalah pemrosesan data
yang sering ditemui dengan menggunakan metode konvensional, permasalah yang
diatasi diantaranya:
a.
Redudansi
data dan juga inkonsistensi data.
b.
Kesuliatan
dalam pengaksesan data.
c.
Data Isolation.
d.
Konkurensi
pengaksesan.
e.
Masalah
keamanan.
f.
Masalah
Integritas.
Pemakai
sistem basis data diantaranya:
a.
Programmer Aplikasi yaitu orang atau pemakai
yang berinteraksi dengan basis data melalui Data
Manipulation Language (DML),
b.
Pemakai
Mahir (Casual User) yaitu pemakai
yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa
query yang telah disediakan oleh
suatu DBMS.
c.
Pemakai
Umum (End User/ Naïve User) yaitu pemakai yang berinteraksi dengan sistem basis
data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
d.
Pemakai
Khusus (Specialized User) yaitu pemakai yang menulis aplikasi basis data non
konvensional, tetapi untuk keperluan-keperluan khusus.
B.
Integritas
Data
Integritas data adalah
jaminan konsistensi data terhadap semua status konstrain yang diberlakukan
terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri.
Integritas data sangat erat kaitannya dengan keamanan keberadaan data, dimana
dapat terjadi secara institusional atau asidental.
Jenis-Jenis Integritas
Data dapat dikelompokkan sebagai berikut :
1.
Integritas Entitas.
2.
Integritas Domain.
3.
Integritas Referensial.
4.
User Defined Integrity.
1.
Integritas Entitas
Integritas Entitas
mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel.
Integritas entitas memaksa integritas dari column
atau primary key dari suatu tabel
(melalui index, unique, constraints, primary key). Primary key tidak boleh null.
Contoh:
create
table pembelian(
ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar(40),
primary key (IDPembelian)
);
2.
Integritas Domain
Integritas Domain merupakan
validasi dari masukan untuk sebuah kolom. Anda dapat memaksa integritas domain dengan
membatasi tipe (melalui data types),
format (melalui check constraints dan
rules), atau range nilai-nilai yang mungkin (melalui Foreign Key Constraints, Check
Constraints, Default Definitions
dan rules).
Contoh:
create table biografi(
idpenulis smallint
unsigned not null,
tahunLahir year not
null,
kotalahir varchar(40)
not null default ‘Kosong’
);
create domain nilai
numerik(3,2);
constraint value-test
check (value >=0.00);
3.
Integritas Referensial
Integritas Referensial memastikan
bahwa seluruh nilai dari foreign key cocok
dengan nilai primary key yang
dihubungkan.
Contoh:
create table account(
account-number char(10),
branch-name char(15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch
);
create table depositor(
costumer-name char(20),
account-number char(10),
primary key (costumer-name,
account-number),
foreign key (account-number) reference account,
foreign key (costumer-name) reference costumer on delete cascade on update cascade
);
4.
User Defined Integrity
User–defined integrity mengizinkan Anda untuk
menentukan spesific business rules sendiri
yang tidak sama pada kategori integrity
yang lain.
C.
Transaksi
dan Konkurensi
Konkurensi
(Concurrency) adalah banyaknya
transaksi yang dijalankan secara bersamaan dalam satu waktu. Hampir semua DBMS
adalah multiuser, sehingga berpeluang terjadinya inkonsistensi basis data. Maka
perlu adanya pengendalian persaingan eksekusi transaksi (concurrency control).
Transaksi
: “Sebuah transaksi adalah unit eksekusi program yang mengakses dan mungkin
mengubah beberapa item data”. Dalam Konsep transaksi di database harus di
penuhi empat sifat database agar integritas database tetap terjaga. Adapun
keempat sifat tersebut adalah:
Atomicity:
Setiap transaksi harus dijamin untuk dapat sukses dalam melakukan aksinya atau
jika gagal , maka tidak berpengaruh apapun terhadap database.
Consistency:
Setiap transaksi adalah sebuah aksi kombinasi secara logikal dari sebuah state
database yang konsisten ke state yang lain dengan tetap menjaga kekonsisten-an
database tersebut.
Isolation:
Meskipun ada beberapa transaksi yang berlangsung bersamaan, masing-masing
transaksi tidak boleh mengetahui transaksi lain yang sedang berlangsung. Hasil
transaksi sementara harus disembunyikan dari transaksi lain yang sedang
berlangsung . (level transparansi transaksi dapat di set).
Durability:
Setelah sebuah transaksi sukses dilakukan, perubahan-perubahan yang dibuatnya
terhadap database bersifat permanen, bahkan jika terjadi kegagalan sistem
sekalipun.
Data
Consistency : Berarti bahwa user melihat data yang terdapat di database
konsisten baik itu data yang telah di rubah olehnya sendiri maupun oleh user
yang lain. Pada umumnya, basis data menerapkan beberapa bentuk data locking
untuk menangani masalah yang berkaitan dengan concurrency, consistency dan
integrity. Locks merupakan mekanisme yang dapat menjaga interaksi destruktif di
antara beberapa transaksi yang mengakses resource yang sama. Berkaitan dengan
level isolasi yang ada ANSI / ISO standard SQL (SQL92) mendefinsikan 4 level
isolasi . Level isolasi didefinisikan sebagai derajat transparansi transaksi
antara satu user dengan user yang sama pada pengaksesan data yang sama. Ada
fenomena – fenomena tertentu yang harus di cegah selama eksekusi transaksi yang
konkuren . 3 Fenomena yang harus di cegah adalah :
1.
Dirty Reads : Sebuah transaksi membaca data yang telah di tulis oleh transaksi
yang lain tetapi belum di commit oleh transaksi lain tersebut.
2.
Non Repeatable Reads : Sebuah transaksi yang membaca kembali sebuah data dimana
data tersebut sudah di rubah / di hapus oleh transaksi lain dan telah di
commit.
3.
Phantom Reads : Sebuah transaksi menjalankan kembali sebuah query dimana akan
menemukan bahwa ada transaksi lain yang telah memasukkan record baru ke schema
yang sedang di akses oleh transaksi tersebut, sehingga akan terlihat antara
query yang pertama di lakukan dengan query yang kedua memberikan hasil eksekusi
jumlah row yang berbeda.
D.
Back End Programming
No comments:
Post a Comment