Monday, November 30, 2015

Back End Program

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. Salah satu contoh back end program yang sering dipakai adalah Stored Procedure.

Apa itu stored procedure? stored procedure adalah procedure atau function di dalam database.             

Mengapa menggunakan SP?
-Dijalankan di database server => performance lebih baik, network trafik lebih rendah
-Merupakan tools DBA
-Dapat digunakan oleh banyak aplikasi
-Dapat memanfaatkan tipe dan fungsi yang disediakan DBMS


Contoh eksekusi procedure :

















Reference : Yudi Wibisono. 2015. Stored Procedure dan Trigger.ppt

XML

Apa itu XML? XML adalah singkatan dari EXtensible Markup Language, adalah markup language untuk dokumen yang mengandung informasi terstruktur yang ditujukan untuk pertukaran dokumen via web. XML berbentuk file teks, ini memungkinkan XML untuk independen terhadap software yang satu dengan yang lain (Cross platform).
Contoh XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<daftar_pengarang>
                <pengarang>
                                <nama>budi martami</nama>
                                <alamat>sarijadi </alamat>
                </pengarang>
                <pengarang>
                                <nama>elfan noviari</nama>
                                <alamat>gerlong</alamat>
                </pengarang>
</daftar_pengarang>

Lalu apa keuntungan XML?
-Self Documenting => dengan melihat tag, dapat diketahui isi dokumen tersebut
-Dapat dibaca dengan software dan manusia
-Fleksibel
-Dapat dikembangkan tanpa melanggar format lama
-Hirarkis => dapat mepresentasikan data hyang kompleks
-Independen terhadap bahasa pemograman

Kerugian XML?
-Pengulangan tag pada XML menjadikan dokumen tidak efisien dan ukuran dokumennya pun membengkak

Aturan XML:
-Setiap tag harus ada penutupnya.
-Penamaan Tag
*case sensitive. <nama> tidak sama dengan <Nama>.
*Tidak diawali dengan angka
*Tidak mengandung spasi
*Hindari ‘-’ dan ‘.’
-Urutan hirarki harus benar.
-Setiap XML harus mengandung root (akar)
                <root>
                                <child>
                                                <subchild>.....</subchild>
                                </child>
                </root>
-Setiap atribut harus dalam tanda petik. Contoh:
                <surat  tanggal = “12/12/2007”>
                <catatan oleh = “ Jum’at ” > 
                <catatan oleh = ‘  Budi “si cepat” Martami ‘>
-Komentar dalam XML: 

                <!-- ini komentar lho --!>



Reference : Yudi Wibisono. 2015. XML.ppt

Transaksi dan Concurrency

Transaksi
Apa itu transaksi? Transaksi dalam sistem basis data diartikan sebagai unit logic pekerjaan atau unit logic recovery yang terdiri dari 1 atau lebih set instruksi. Intruksi harus dijamin dikerjakan semua untuk menjamin konsistensi. Untuk menjamin transaksi, ada dua operasi penting didalam  transaksi, yaitu commit (memberi tanda bahwa transaksi telah selesai. Update dibuat permanen) dan rollback (memberi tanda bahwa transaksi gagal. Semua update harus di undo).

Ada empat elemen dalam transaksi,yaitu :
-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.


Concurrency
Concurrency adalah banyaknya transaksi yang dijalankan secara bersamaan dalam satu waktu. DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama, untuk itu dibutuhkan Concurrency Control Mechanism (CCM) agar transaksi tidak saling mengganggu.

Ada tiga masalah yang muncul pada concurrency:
-Lost Update Problem,masalah ini muncul ketika dia user mengupdate dua buah data yang sama




-Uncommited dependency problem,masalah ini muncul ketika user yang satu meretrieve data dan user yang lainnya merollback data tersebut.




-Inconsistent analysis problem, masalah ini muncul ketika satu user meretrieve data dan user uang lainnya mengupdate data tersebut.


Bagaimana cara mengatasi 3 maslah diatas? Untuk mencegah masalah seperti diatas dilakukanlah Locking. Terdapat 2 jenis lock, yaitu Exclusive Lock (Xlock) dimana transaksi lain bisa melakukan pembacaan dan perubahan data, dan Shared Lock (Slock) dimana transaksi lain hanya bisa melakukan pembacaan data saja.



Reference : Yudi Wibisono. 2015. Transaksi.ppt

Integritas Data

Apa itu integritas data? Integritas data dapat di artikan sebagai akurasi dan kebenaran data. Integritas data dalam sebuah sistem basis data harus dijaga untuk menjaga kebenaran data yang disimpan.

Bagaimana caranya?
Ada beberapa cara untuk menjaga integritas data diantaranya:
-Memasukan aturan bisnis di dalam database
Contoh: NIM tidak boleh kosong, Umur harus diantata 0 sampai 100, dll.
-Menjaga agar data yang tidak valid tidak masuk kedalam database
-Menjaga konsistensi data pada relasi keterkaitan antar table

Mengapa kita harus menjaga integritas data?
-Lebih murah dan mudah menjaga data integrity di level database dibandingkan ditangani di aplikasi.
-Bugs akibat isi database yang tidak valid sulit untuk ditemukan (dapat muncul di kemudian hari).
-Kita sebagai engineer harus mampu berpikir jauh kedepan, untuk mencegah hal hal yang fatal di masa yang akan datang, maka kita harus menjaga ke integritsan suatu data.

Jenis-jenis integritas data diantaranya :
-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.
Contoh :
create table Pembelian(
ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian)
);

-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).
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
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)


-Refrential Integritas
Refrential Integritas 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
 );

-User Defined Integritas
User–defined integritas mengizinkan Anda untuk menentukan spesific business rules sendiri yang tidak sama pada kategori integrity yang lain.





Reference : Yudi Wibisono. 2015. Integritas Data.ppt

Basis Data dan Sistem Basis Data

Basis Data
Basis data adalah Kumpulan terpadu dari berkas data (integrated collection of data) yang memiliki kaitan satu dengan lainnya, dan dibuat untuk memenuhi kepentingan banyak pemakai pada suatu organisasi. 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.

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.


Jadi, dapat kita simpulkan bahwa sistem basis data adalah kumpulan dari basis data yang saling berhubungan.