BASIS DATA DAN SISTEM BASIS DATA
Pengertian basis data dan sistem
basis data
Basis data adalah, basis data terdiri dari 2 (dua) kata, yaitu kata
Basis dan Data. Basis bisa di artikan sebagai markas ataupun gudang, tempat
berkumpul. Sedangkan data yaitu kumpulan fakta dunia nyata yang mewakili suatu
objek, seperti manusia, barang, dan lain-lain yang direkam ke dalam bentuk
angka, bentuk huruf, simbol, teks, bunyi, gambar atau juga kombinasinya. Jadi pengertian basis data
adalah kumpulan terorganisasi dari data – data yang 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 sendiri adalah sebagai berikut ini:
· Kecepatan serta kemudahan dalam menyimpan, memanipulasi
atau juga menampilkan kembali data tersebut.
·
Efisiensinya ruang penyimpanan, karena dengan basis data,
redudansi data akan bisa dihindari.
·
Keakuratan (Accuracy) data.
·
Ketersediaan (Availability) data.
· Kelengkapan (Completeness) data, Bisa melakukan perubahan
struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan
penambahan field-field baru pada table.
· Keamanan (Security) data, dapat menentukan pemakai yang
boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta
menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
·
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 (karena ada banyak pemakai
yang saling menunggu untuk menggunakan data tersebut.
Beberapa Istilah yang Digunakan Pada Basis Data
1. Enterprise :
Suatu bentuk organisasi seperti : bank, universitas, rumah sakit, pabrik, dsb.
Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise.
Contoh data operasional :
– data keuangan
– data mahasiswa
– data pasien
1. Enterprise :
Suatu bentuk organisasi seperti : bank, universitas, rumah sakit, pabrik, dsb.
Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise.
Contoh data operasional :
– data keuangan
– data mahasiswa
– data pasien
2. Entitas :
Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data.
Contoh :
Entitas dalam lingkungan Bank terdiri dari :
– Nasabah
– Simpanan
– Hipotik
Contoh :
Entitas dalam lingkungan Pabrik terdiri dari :
– Supplier
– Part
– Shipment
Kumpulan dari entitas disebut Himpunan Entitas.
Contoh :
semua nasabah, semua supplier
Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data.
Contoh :
Entitas dalam lingkungan Bank terdiri dari :
– Nasabah
– Simpanan
– Hipotik
Contoh :
Entitas dalam lingkungan Pabrik terdiri dari :
– Supplier
– Part
– Shipment
Kumpulan dari entitas disebut Himpunan Entitas.
Contoh :
semua nasabah, semua supplier
3. Atribut (Elemen Data) :
Karakteristik dari entitas tsb.
Contoh :
Entitas Nasabah, atributnya terdiri dari : Kode Nasabah, Nama Nasabah, Alamat Nasabah.
Karakteristik dari entitas tsb.
Contoh :
Entitas Nasabah, atributnya terdiri dari : Kode Nasabah, Nama Nasabah, Alamat Nasabah.
4. Nilai Data (Data Value) :
Isi data / informasi yang tercakup dalam setiap elemen data.
Contoh :
Atribut Nama Nasabah dapat berisi Nilai Data : Nina, Rika, Gema, dsb.
Isi data / informasi yang tercakup dalam setiap elemen data.
Contoh :
Atribut Nama Nasabah dapat berisi Nilai Data : Nina, Rika, Gema, dsb.
5. Kunci Elemen Data (Key Data Elemen) :
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.
Contoh:
Entitas Nasabah yang mempunyai atribut-atribut Kode Nasabah, Nama Nasabah, Alamat Nasabah, dsb menggunakan Kunci Elemen Data Kode Nasabah.
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.
Contoh:
Entitas Nasabah yang mempunyai atribut-atribut Kode Nasabah, Nama Nasabah, Alamat Nasabah, dsb menggunakan Kunci Elemen Data Kode Nasabah.
6. Record Data :
Kumpulan isi elemen data (atribut) yang saling berhubungan.
Contoh:
kumpulan Atribut Kode Nasabah, Nama Nasabah, Alamat Nasabah berisikan “931109”, “Nina”, “Jl. Keamanan 63A”.
Kumpulan isi elemen data (atribut) yang saling berhubungan.
Contoh:
kumpulan Atribut Kode Nasabah, Nama Nasabah, Alamat Nasabah berisikan “931109”, “Nina”, “Jl. Keamanan 63A”.
Contoh Informasi Dari Suatu Enterprise
ENTITAS ATRIBUT NILAI DATA
Pelanggan Kode Pelanggan 123H
Nama Pelanggan PT. Maju Terus
Alamat Jl. Salemba Raya 53
Rekening Kode Rekening 63H250
Jenis Rekening Cek
Jumlah Rekening 1.000.000
Penyalur Kode Penyalur 3H20
Nama Penyalur PT. Jaya Elektronik
Alamat Jl. Margonda Raya 100
Pelanggan Kode Pelanggan 123H
Nama Pelanggan PT. Maju Terus
Alamat Jl. Salemba Raya 53
Rekening Kode Rekening 63H250
Jenis Rekening Cek
Jumlah Rekening 1.000.000
Penyalur Kode Penyalur 3H20
Nama Penyalur PT. Jaya Elektronik
Alamat Jl. Margonda Raya 100
Sedangkan pengertian 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
:
·
Perangkat Keras (Hardware)
Biasanya berupa perangkat komputer standar, media penyimpan
sekunder dan media komunikasi untuk sistem jaringan..
·
Sistem Operasi (Operating Sistem)
Yakni merupakan perangkat lunak yang memfungsikan,
mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem
komputer. Harus sesuai dengan DBMS yang digunakan.
·
Basis data (Database)
Yakni basis data yang mewakili sistem tertentu untuk
dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis
data.
·
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.
·
Pemakai (User).
Orang-orang yang berinteraksi dengan sistem basis data, mulai
dari yang merancang sampai yang menggunakan di tingkat akhir.
·
Aplikasi atau Perangkat Lunak yang lainnya.
Perangkat lunak pelengkap yang mendukung. Bersifat opsional.
Tujuan Utama Sistem Basis Data sendiri adalah :
Menunjukkan suatu lingkungan yang
tepat dan efisien didalam 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, mengatasi masalah-masalah
pemrosesan data yang sering ditemui dengan menggunakan metode konvensional,
permasalah yang diatasi diantaranya:
·
Redudansi data dan juga inkonsistensi data.
·
Kesuliatan dalam pengaksesan data.
·
Data Isolation.
·
Konkurensi pengaksesan.
·
Masalah keamanan.
·
Masalah Integritas.
Pemakai sistem basis data diantaranya:
·
Programmer Aplikasi yaitu orang atau pemakai yang
berinteraksi dengan basis data melalui Data Manipulation Language (DML),
·
User 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.
·
User 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.
·
User Khusus (Specialized User) yaitu Pemakai yang menulis
aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.
Keuntungan dari
Sistem Basis Data
1. Data dapat dipakai secara bersama.
2. Data dapat distandarisasi.
3. Mengurangi redudancy (kerangkapan data).
4. Kemandirian data.
Dapat digunakan oleh bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada.
5. Keamanan data terjamin.
Data dapat dilindungi dari pemakai yang tidak berwenang.
6. Keterpaduan data terjaga.
Memelihara keterpaduan data berarti data harus akurat, hal ini sangat erat hubungannya dengan pengontrolan kerangkapan data dan pemeliharaan keselarasan data.
1. Data dapat dipakai secara bersama.
2. Data dapat distandarisasi.
3. Mengurangi redudancy (kerangkapan data).
4. Kemandirian data.
Dapat digunakan oleh bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada.
5. Keamanan data terjamin.
Data dapat dilindungi dari pemakai yang tidak berwenang.
6. Keterpaduan data terjaga.
Memelihara keterpaduan data berarti data harus akurat, hal ini sangat erat hubungannya dengan pengontrolan kerangkapan data dan pemeliharaan keselarasan data.
Kerugian dari
Sistem Basis Data
1. Storage yang digunakan menjadi besar.
2. Dibutuhkan tenaga yang terampil dalam mengelola data.
3. Perangkat lunaknya mahal.
4. Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait.
1. Storage yang digunakan menjadi besar.
2. Dibutuhkan tenaga yang terampil dalam mengelola data.
3. Perangkat lunaknya mahal.
4. Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait.
INTEGRITAS DALAM BASIS 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.Entity Integritas
2.Domain Integritas
3.Refrential Integritas
4.User Defined Integritas
1. Entity
Integritas
Entity Integritas mendefinisikan
sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Entity
integritas memaksa integritas dari column atau primary key dari suatu tabel
(melalui index, unique, constraints, primary key). Primary key tidak boleh
null.
2. Domain Integritas
Domain Integritas merupakan
validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas
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).
3. Refrential Integritas
Refrential Integritas memastikan
bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang
dihubungkan.
4. User Defined Integritas
User–defined integritas
mengizinkan Anda untuk menentukan spesific business rules sendiri yang tidak
sama pada kategori integrity yang lain.
Tipe Integritas Data
Bagian ini menggambarkan atauran
yang dapaat diterapkan pada kolom tabel ayang menekankan perbedaan tipe data
pada integritas data.
1. Null Rule
Aturan null adalah definisi aturan pada single column
yang membolehkan atau tidak membolehkan inserts atau updates untuk pengisian
rows kosong (the absence of a value) pada kolom ini.
2. Unique Column Values
Aturan nilai unique didefinisan
pada sebuah column (or set of columns) yang membolehkan insert or update hanya
pada row jika itu berisi sebuah nilai
unique dalam sebuah kolom (or set of columns).
3. Primary Key Values
Aturan nilai primary key
didefinisikan pada sebuah key (a column or set of columns) tertentu bahwasetiap
each row dalam table dapat mengidentifikasi keunikan dengan nilai kunci
tersebut
4. Referential Integrity Rules
Aturan referential integrity
adalah definsi aturan pada sebuah kunci key (a column or set of columns) dalam
sebuah table yang menjamin bahwa data dalam kunci cocok dengan nilai dalam
sebuah relasi table (the referenced value).
Aturan-Aturan
Referential Integrity
Referential integrity mengacu pada
kaitan antar row/record dari 2 tabel yang berhubungan melalui Foreign Key yang
bersangkutan.
Pada insert, record harus
dimasukkan di tabel utama dahulu, kemudian baru di tabel kedua.
Pada delete, record harus dihapus
di tabel kedua dahulu, kemudian baru di tabel utama.
Field yang dihubungkan dari tabel
utama haruslah berupa Primary Key.
Kedua field yang saling
behubungkan harus memiliki Tipe data dan lebar data yang sama.
Tidak dibenarkan penghapusan
record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan.
Macam action dalam Referential Integrity:
NO ACTION atau RESTRICT : update
atau delete tidak dilakukan. Ini merupakan pilihan default.
CASCADE : nilai kolom di tabel
kedua disesuaikan dengan nilai kolom di tabel utama
SET NULL : nilai kolom di tabel
kedua dijadikan NULL
SET DEFAULT : nilai kolom di tabel
kedua dijadikan nilai DEFAULT (nilai DEFAULT harus ditentukan pada waktu
pembuatan tabel).
Membuat Constraint
Constraint merupakan suatu aturan
yang membatasi jenis data yang diijinkan
untuk dimasukkan ke dalam tabel. Constraint dapat dibuat baik pada saat
pembuatan tabel atau setelah tabel dibuat. Ketika constraint dibuat setelah
pembuatan tabel, maka constraint
tersebut hanya mengecek data yang ada (yang telah dimasukkan dalam tabel). Jika ada beberapa pelanggaran maka constraint
akan ditolak.
Tipe-Tipe
Constraint
Microsoft SQL Sever menyediakan beberapa tipe
Constraint, yaitu :
·
PRIMARY KEY Constraint, untuk menspesifikasikan kolom
dalam tabel. Tidak boleh kosong, dan harus unik, untuk menghubungkan satu tabel
dengan tabel lain.
·
FOREIGN KEY Constraint, digunakan untuk menspesifikasikan
kolom foreing key pada suatu tabel. Foreing key digunakan untuk menghubungkan
dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam
suatu tabel yang selalu merujuk pada
kolom primary keypada suatu tabel. SQL Server 2000 / MySQL – Navicat 2005 @
2010 : www.didiksetiyadi.com 2 , dds@didiksetiyadi.com
·
UNIQUE Constraint, digunakan untuk menjamin bahwa data
pada suatu kolom atauy beberapa kolom tidak diijinkan sama. CHECK Constraint,
digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentuyang
diijinkan masuk.
·
DEFAULT Constraint, merupakan atribut opsionalyang
digunakan untuk memberikan suatu nilai tertentupada suatu kolom jika kolom
tersebut tidak dimasukkan suatu data.
·
Not Null, digunakan untuk menjamin tidak ada nilai null (
kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak mengisikan
nilai pada kolom tersebut maka akan muncul error.
Transaksi dan Concurrency
Transaksi pada basis data adalah satu atomic operasi
berupa lojik pekerjaan maupun lojik recovery (pemulihan) yang bisa terdiri dari
beberapa intruksi. Tujuan dari transaksi adalah menjaga database dari
kehilangan data dan kerusakan, seperti system crash dan pengaksesan data yang
sama secara bersamaan oleh dua aplikasi yang berbeda yang menimbulkan gangguan.
Ada empat elemen dalam transaksi yang biasa
disingkat ACID, yaitu :
§ Atomicity, semua berhasil atau semua gagal
§ Consistency, transaksi
mempertahankan konsistensi database
§ Isolation, transaksi
terisolasi satu dengan yang lain
§ Durability, setelah
commit update harus survive di database
Dan ada dua jenis transaksi yang paling
penting dalam sistem basis data adalah :
§ Commit, memberi tanda bahwa transaksi telah selesai. Update dibuat
permanen (bahkan jika setelah commit terjadi kegagalan system). Pada
implementasinya, contohnya di konsol SQL command, setelah proses transaksi
selesai untuk commit tinggal ketikkan -> commit;
§
Rollback, memberi tanda bahwa transaksi gagal. Semua update harus di-undo.
Pada implementasinya, contohnya di konsol SQL command, setelah proses transaksi
selesai untuk membatalkan transaksi tadi tinggal ketikkan -> rollback;
Untuk lojik recovery atau system recovery
database dilakukan ketika terjadi kegagalan media, kegagalan system atau
kesalahan pada transaksi. Sistem recovery menggunakan fungsi rollback dan
checkpoint. Checkpoint adalah interval tertentu pada perjalanan transaksi basis
data yang menyimpan keadaan basis data saat itu. Checkpoint dapat dilakukan
untuk me-recovery database secara backward (undo) maupun forward (redo).
Sedangkan concurrency adalah sebuah mekanisme
pada system basis data yang mengijinkan banyak transaksi pada saat bersamaan
untuk mengakses data yang sama tanpa adanya gangguan. Pada umumnya terdapat 3
masalah utama pada concurrency :
§ Lost update problem, ketika dua user mengupdate dua buah data yang sama
Contoh :
Satuan Waktu
|
Transaksi A
|
Transaksi B
|
1
|
Retrieve r
|
–
|
2
|
–
|
Retrieve r
|
3
|
Update r
|
–
|
4
|
–
|
Update r
|
Dari contoh diatas,
maka transaksi A tidak akan dianggap dan data update pada transaksi A akan di
overwrite oleh transaksi B Ini akan menimbulkan lost update problem pada
transaksi A.
§ Uncommited dependency problem, ketika user yang satu me-retrieve data dan user yang lain
me-rollback data tersebut
Contoh :
Satuan Waktu
|
Transaksi A
|
Transaksi B
|
1
|
–
|
Update r
|
2
|
Update r
|
–
|
3
|
–
|
Rollback
|
Dari contoh diatas,
maka transaksi A akan menerima data yang salah karena pada transaksi B saat di
update terjadi kesalahan kemudian di rollback.
§ Inconsistent analysis problem, ketika user yang satu meretrieve data dan user yang lain
mengupdate data tersebut
Contoh :
Satuan Waktu
|
Transaksi A
|
Transaksi B
|
1
|
Retrieve r1
|
–
|
2
|
Retrieve r2
|
–
|
3
|
–
|
Update r1
|
4
|
–
|
Commit
|
Dari contoh diatas,
maka transaksi A akan menghasilkan data yang salah dan tidak sesuai database
karena saat analisis di transaksi A terjadi update data pada salah satu
datanya.
Untuk menangani masalah-masalah tersebut, dilakukan
proses locking, jika sebuah transaksi ingin record/resource tidak berubah dalam
waktu tertentu maka dia bisa meminta lock. Ada d
ua jenis lock yaitu :
§ Exclusive Lock (Xlock) -> write lock
§ Shared Lock (Slock) -> read lock
Bagaimana cara kerjanya?
§ Jika transaksi A memegang Xlock pada sebuah record, maka
permintaan lock (X,S) pada record yang sama harus diabaikan.
§ Jika transaksi A memegang Slock pada record R maka :
§ Permintaan Xlock transaksi lain pada R ditolak
§ Permintaan Slock transaksi lain pada R diterima
Tapi, ada satu masalah yang dapat terjadi
ketika melakukan proses locking ini, yaitu deadlock. Yaitu, situasi dimana dua
atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock
dilepaskan sebelum dapat memulai. Cara penanganannya adalah :
§ Deteksi dan pecahkan deadlock
§ Deteksi deadlock -> wait-for-graph
§ Pecahkan deadlock -> salah satu dirollback paksa
§ Ostrich Algorithm -> diabaikan
BACK-END PROGRAMMING
Back-End programming adalah program yang berjalan pada
database secara otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle ada
beberapa metode untuk melakukan back-end programming, yaitu dengan trigger dan
stored procedure.
Trigger
Trigger adalah blok PL/SQL yang
disimpan dalam database dan akan diaktivasi ketika kita melakukan
statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel.
Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut
sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data.
Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk
mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai
dari tabel tersebut akan terjaga. Adanya trigger dalam database akan
meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita
buat, kita tidak perlu lagi untuk melakukan validasi data.
Berikut adalah daftar yang mungkin untuk aktivasi trigger
:
Event
|
Keterangan
|
Before Insert
|
Diaktifkan sekali sebelum statement
insert
|
After Insert
|
Diaktifkan sekali setelah statement
insert
|
Before Update
|
Diaktifkan sekali sebelum statement
update
|
After Update
|
Diaktifkan sekali setelah statement
update
|
Before Delete
|
Diaktifkan sekali sebelum statement
delete
|
After Delete
|
Diaktifkan sekali setelah statement
delete
|
Model-model yang digunakan untuk
menspesifikasi aturan basis data aktif adalah model ECA
(Event-Condition-Action). Aturan dalam model ECA memiliki tiga komponen yaitu:
·
Event, yang memicu suatu rule tersebut biasanya
berupa operasi perubahan basis data yang secara eksplisit ditambahkan ke basis
data. Namun pada umumnya, bisa berupa event temporal atau jenis event eksternal
yang lain.
·
Condition, menentukan apakah suatu rule
dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition
(bersifat optional) akan dievaluasi jika didefinisikan oleh yang membuat
trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule
dijalankan.
·
Action, biasanya berupa statement sql.
Manfaat trigger antara lain adalah :
·
Membuat integrity constraint yang kompleks.
·
Mencatat aktivitas suatu tabel (logging).
·
Sinkronisasi
Contoh Kasus :
Pada database
supermarket, jika ada pembelian baru maka otomatis stok barang pada tabel
barang akan berkurang sesuai dengan jumlah barang yang dibeli. Maka sintaks
lengkapnya dalam pl / sql adalah sebagai berikut :
create table barang(
kode_barang varchar2(10) primary key,
nama
varchar2(50),
stok_barang number
);
create table pembelian(
id_pembelian number primary key,
kode_barang varchar2(10),
constraint fk_kd_brg foreign_key
(kode_barang) references barang(kode_barang)
jumlah_beli number,
harga
number
);
create or replace trigger trg_stok_brg after
insert on jumlah_beli for each row
begin
update
barang set stok_barang =stok_barang – :new.jumlah_beli where id_pembelian =
:new.id_pembelian;
end;
/
|
Stored Procedure
Subprogram adalah PL/SQL
Blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis
subprogram yaitu: procedure dan function. Dimana secara umum procedure
digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu
nilai.
Stored procedure adalah
subprogram yang disimpan di dalam database berupa SQL + Bahasa prosedural. Ada
beberapa kelebihan yang dapat diperoleh dengan menggunakan stored procedure,
meliputi :
§ Dijalankan di database
server -> performance lebih baik, network trafik lebih rendah.
§ Tools DBA -> praktis,
selalu tersedia di database server.
§ Dapat digunakan oleh
banyak aplikasi
o Standarisasi business
logic.
o SP dapat dipanggil oleh
aplikasi luar
§ Dapat memanfaatkan tipe,
fungsi yang disediakan DBMS
§ Powerfull, tools sangat
penting bagi DB designer, DB programmer dan DBA
§ Hampir semua RDBMS
mensupport.
§ Walaupun syntax berbeda,
umumnya menggunakan prinsip yang sama
XML
(Extensible Markup Language)
Pernahkah Anda membutuhkan format
dokumen yang dapat Anda gunakan untuk bertukar data baik di internet atau di
intranet? Yah, bahasa extensible markup xml mungkin hanya penyelesaian. Pada
kenyataannya, industri yang berbeda telah menemukan keajaiban xml dan
menggunakannya secara ekstensif untuk membantu mengatur dan mengklasifikasikan
data mereka.
XML adalah bahasa markup –
menggunakan tag label, mengkategorikan dan mengatur informasi dalam spesifikasi
cara. Markup menjelaskan dokumen atau data struktur dan organisasi. Konten,
seperti teks, Gambar, dan data, adalah bagian dari kode yang berisi markup Tag.
Hal ini juga yang paling menarik untuk kebanyakan manusia sehari-hari yang
membaca atau berinteraksi dengan data dan kebutuhan dokumen. fleksibilitas XML
telah berkembang yang menyebabkan digunakan untuk bertukar data dalam berbagai
bentuk.
Pengertian XML
Definisi xml adalah bahasa markup untuk keperluan umum yang disarankan
oleh W3C untuk membuat dokumen markup keperluan pertukaran data antar sistem
yang beraneka ragam.
XML didesain untuk mempu menyimpan
data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data (jamak
dari datum) yang jika diolah bisa memberikan informasi.
XML menyediakan suatu cara
terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen.
Dengan sendirinya, XML dapat digunakan untuk menggambarkan sembarang view
database, tetapi dengan suatu cara yang standar.
Tipe XML
·
XML, merupakan standar format dari struktur
berkas (file).
·
XSL, merupakan standar untuk memodifikasi data
yang diimpor atau diekspor.
·
XSD, merupakan standar yang mendefinisikan
struktur database dalam XML.
Keunggulan XML
·
Pintar (Intelligence). XML dapat menangani
berbagai tingkat (level) kompleksitas.
·
Dapat beradaptasi. Dapat mengadaptasi untuk
membuat bahasa sendiri. Seperti Microsoft membuat bahasa MSXML atau Macromedia
mengembangkan MXML.
·
Mudah pemeliharaannya.
·
Sederhana. XML lebih sederhana.
·
Mudah dipindah-pindahkan (Portability). XML
mempunyai kemudahan perpindahan (portabilitas) yang lebih bagus.
Penggunaan XML
XML untuk saat ini bukan
merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda.
Kalau HTML digunakan untuk menampilkan informasi dan berfokus pada bagaimana
informasi terlihat, XML mendeskripsikan susunan informasi dan berfokus pada
informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan
informasi dengan format yang tidak mengandung format standard layaknya heading,
paragraph, table dan lain sebagainya.
Contoh XML
Penulisan tag pada XML
adalah bebas, tidak seperti HTML yang sudah ada.
Belajar XML
Penulisan secara formal
XML adalah sbb.
Mari kita bahas XML di atas.
Baris pertama adalah
heading standard pada XML. Versi yang digunakan adalah versi 1.0. encoding
iso-8859-1 adalah nama resmi dari character encoding yang biasa disebut ANSI.
iso-8859-1 banyak digunakan di Eropa dan Amerika. Bila anda menggunakan text
editor yang mendukung penggunaan character encoding yang lainnya, anda bisa
menggunakannya juga.
syntax diatas adalah
heading standard untuk XLST. Atribut xmlns:xsl maksudnya adalah mendeklarasikan
namespace XML bahwa awalan xsl akan digunakan untuk elemen yang didefinisikan
pada W3C XSLT Specification.
Bagian Dokumen XML
Sebuah dokumen XML terdiri dari bagian bagian
yang disebut dengan node. Node-node itu adalah:
·
Root node yaitu node yang melingkupi keseluruhan
dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang
lainnya berada di dalam root node.
·
Element node yaitu bagian dari dokumen XML yang
ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal
elemen kosong seperti <anggota nama=”budi”/> . Root node biasa juga
disebut root element.
·
Attribute note termasuk nama dan nilai atribut
ditulis pada tag awal sebuah elemen atau pada tag tunggal.
·
Text node adalah text yang merupakan isi dari
sebuah elemen, ditulis diantara tag pembuka dan tag penutup.
·
Comment node adalah baris yang tidak dieksekusi
oleh parser.
·
Processing Instruction node adalah perintah
pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan
diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml
version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node.
Header standard bukanlah bagian dari hirarki pohon dokumen XML.
Pengertian dan Fungsi XML – Porsot
Membuat XML
Heading Standar XML
Biasakanlah setiap membuat dokumen XML diawali
dengan heading standard XML. Formatnya adalah sebagai berikut:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS3u-dz3lYArnO1Q9s0hyg4Be0D8nyeagqg4A_yigdCpG2HSgUiyfhiIodBU4lSuA9W6VRIbA7Jkt0UkOpDwmmSwR-samiqrE_gFrwGCpWwXKvEuxoB7jp6_TmG862-Yr82loFu-q-i-I/s320/heading+standar.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS3u-dz3lYArnO1Q9s0hyg4Be0D8nyeagqg4A_yigdCpG2HSgUiyfhiIodBU4lSuA9W6VRIbA7Jkt0UkOpDwmmSwR-samiqrE_gFrwGCpWwXKvEuxoB7jp6_TmG862-Yr82loFu-q-i-I/s320/heading+standar.png)
Dokumen XML harus memiliki Root tag.
Sebuah dokumen XML yang baik harus memiliki
root tag. Yaitu tag yang melingkupi keseluruhan dari dokumen. Tag-tag yang
lain, disebut child tag, berada didalam root membentuk hirarki.
Tag XML harus
berpasangan, Tag tunggal hanya diperbolehkan untuk elemen kosong.
Tag HTML Case Sensitive
Artinya penulisan tag A dengan a berbeda.
Struktur penulisan tag
XML adalah LIFO
Artinya struktur penulisannya Last In First
Out.
XML mempertahankan spasi
Spasi yang terdapat antara 2 kata elemen,
tidak akan dihilangkan secara otomatis oleh XML.
Isi atribut tag
diletakkan diantara kutip 2 “
Jika tag memiliki atribut,
dan atribut tsb memiliki value/nilai maka wajib diletakkan antara ” ” (kutip
2). Contoh pada value atribut judul.
Penamaan tag
Nama tag bisa terdiri dari huruf, ang ka dan underscore(“_”).
Karakter awal nama tag harus berupa huruf atau underscore (“_”), tidak diawali
dengan kata xml atau XML, (misal:<xmlstring>), dan tidak mengandung
spasi. Aturan penamaan atribut sama dengan aturan penamaan tag.
Menyisipkan Komentar
Pada bahasa pemrograman atau scripting kita
mengenal adanya komentar (comment). Komentar adalah kalimat/baris yang tidak
dieksekusi oleh compiler, browser atau parser. Untuk menyisipkan komentar pada
dokumen XML caranya adalah sebagai berikut:
Karakter Ilegal pada XML
Sama seperti pada HTML, anda tidak bisa
menggunakan karakter seperti kurung siku (< atau >), petik tunggal (‘),
dan petik ganda (“) . Contoh dibawah ini akan menghasilkan error kalau di
eksekusi oleh browser.
Maka < harus diganti
dengan entity reference &alt.
Referensi
: