Rabu, 25 November 2015

Rangkuman Sistem Basis Data

1.   
Basis Data dan Sistem Basis Data

Basis Data adalah suatu kumpulan data terhubung yang disimpan secara bersama-sama pada suatu media, yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu.
Sistem Basis Data merupakan sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama, personil yang merancang dan mengelola basis data, teknik-teknik untuk merancang dan mengelola basis data, serta sistem komputer yang mendukungnya.
Description: https://octoberplan.files.wordpress.com/2012/11/db6.jpg

2.    Integritas Data

Integritas data harus dijaga di level database karena akan sulit dan mahal jika menjaga integritas data di level aplikasi. Selain itu, menemukan bugs data yang tidak valid pada database sulit dillakukan. Berikut adalah cara-cara menjaga integritas data.
Jenis-jenis integritas data (via SQL):
·        CREATE DOMAIN yaitu untuk membuat tipe data baru. Misal: tipe Nilai sebagi integer dengan value antara 0 -100
·        NOT NULL yaitu field data harus diisi. Misal: NIM, Nama
·        UNIQUE yaiitu field data harus unik. Misal: No HP
·        PRIMARY KEY yaitu field data sebagai identitas record. Misal: NIM
·        CHECK yaitu batasan-batasan isi field data. Misal: 0<= umur <= 120
REFERENTIAL INTEGRITY
Integritas pada entitiy setiap table.
Syntax contoh untuk NOTNULL, UNIQUE, PRIMARY KEY, dan CHECK.
create table dosen ( nip char(9) not null, kode_dosen char(5) not null, nama varchar(20) not null, jum_anak small int, nama_pasangan varchar(20), tgl_masuk date, tgl_pensiun date,
Constraint
Constraint merupakan suatu aturan yang membatasi jenis data yang diizinkan untuk dimasukkan kedalam tabel.
Contoh constraint:
constraint pk1 primary key (nip), constraint un1 unique (kode_dosen), constraint c1 check (jum_anak between 0 and 15), constraint c2 check (tgl_masuk < tgl_pensiun));
• CHECK (gaji > 0 OR komisi >= 0)
• CHECK (gaji + komisi <= 5000)
• CHECK (lokasi IN (‘JAKARTA', ‘BANDUNG'));

3.    Transaksi

Transaksi dalam dunia IT berarti suatu aksi/perbuatan yang dilakukan oleh program bertujuan untuk mengakses atau mengubah data yang terdapat di database. Transaksi yang berlangsung tersebut, hanya mengenal dua hasil, yaitu berhasil secara keseluruhan, atau gagal sama sekali. Transaksi tersebut berarti tidak boleh berhasil setengah-setengah, harus berhasil secara keseluruhan.
Tujuan dari transaksi tersebut adalah untuk mencegah database dari kehilangan atau kerusakan data.
4 elemen penting pada transaksi, yaitu :
·        Atomicity : Ini berarti bahwa transaksi haruslah berhasil secara keseluruhan, atau gagal sama sekali.
·        Consistency : Menjaga konsistensi data di database
·        Isolation : Transaksi yang dilakukan secara bersamaan haruslah bisa dimulai dan bisa berakhir.
·        Durability : Setelah transaksi berakhir, data yang berubah tidak boleh kembali ke data awal walaupun sistem mati.
Dua Operasi Penting Transaksi
COMMIT
Memberi tanda bahwa transaksi telah selesai.Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system).
ROLLBACK
Memberi tanda bahwa transaksi GAGAL.Semua update harus di-undo

4.    Concurrency

Proses-Proses yang disebut konkurensi apabila proses-proses (lebih dari satu proses) berada pada saat yang sama. Karena proses tersebut bisa saja tidak saling bergantung tetapi saling berinteraksi.
Masalah Concurrency
1. Lost update/kehilangan modifikasi.
Masalah operasi update yg sukses dari seorang pengguna kemudian ditimpali oleh operasi update dari pengguna lain
2. Uncommited dependency/ketergantungan pada saat belum commit
Permasalahan timbul pada saat transaksi dibiarkan melihat hasil dari transasksi lain yang belum commit.
3. Inconsistent analysis/analisis yang tidak konsisten
Permasalahan timbul apabila suatu transaksi membaca beberapa nilai tetapi transasksi berikutnya memodifikasi salah satu nilai.
Pengontrollan Concurrency
Lebih dari satu pengguna (pada DBMS terpusat) dapat melakukan operasi pada basis data secara simultan. Jika tidak dikontrol, hal ini dapat menyebab kan interferensi satu sama lain sehingga basis data menjadi tidak konsisten. Untuk mencegahnya, DBMS mengimple-mentasikan pengontrolan konkurensi. Implementasi pengamanan sangat penting untuk menjamin sistem tidak diinterupsi dan diganggu. Proteksi dan pengamanan terdapat perangkat keras dan sistem operasi yang sama pentingnya

5.    Back-end Programming

Backend Programming adalah code yang tidak terlihat oleh user dan bekerja dibelakang layar atau server.
Stored Procedure
Stored Procedure adalah sekumpulan perintah SQL yang disusun dalam sebuah prosedur yang memiliki nama dan fungsi tertentu.
Struktur badan procedur secara umum :
CREATE OR REPLACE PROCEDURE <nama procedure> AS            /*Deklarasi variable, type, dan local subprogram*/BEGIN            /*Bagian utama prosedur*/EXCEPTION            /*Penangan error*/END <nama procedur>;
Function
Selain Stored Procedure, terdapat juga Function. Sedikit berbeda dengan Stored Procedure, disini ada nilai yang dikembalikan.
Struktur badan Function secara umum:
CREATE OR REPLACE FUNCTION <nama fungsi> RETURN <tipe data>AS            /*Deklarasi variable, type, dan local subprogram*/BEGIN            /*Bagian utama fungsi*/EXCEPTION            /*Penangan error*/RETURN(<Nilai yang dikembalikan>);END <nama fungsi>;/
Untuk mengeksekusi stored procedure dan fungsi gunakan perintah :
EXECUTE <nama procedure/fungsi>;Sedangkan untuk menghapusnya menggunakan perintahDROP PROCEDURE/FUNCTIOM <nama procedure/function>;
Trigger
Secara keseluruhan trigger hampir sama dengan Procedure dan Function, hanya saja untuk Trigger dioperasikan secara otomatis ketika terdapat aktivitas statement-statement SQL seperti Insert, Update dan Delete. Trigger ini bisa diaktivasi sebelum atau pun sesudah terjadinya satatement-statement tersebut.
Struktur badan Trigger secara umum:
Trigger ini memiliki status apakah dia aktif atau nonaktif. Untuk mengubah status Trigger berikut sintaksnya :
ALTER TRIGGER <nama_trigger> DISABLE | ENABLE;
dimana DISABLE untuk menonaktifkan Trigger, dan ENABLE untuk mengaktifkan Trigger.
Sintaks untuk menghapus Trigger :
DROP TRIGGER <nama_trigger>;                                                                                          

6.    XML

XML (extendend Markup Languange) adalah bahasa markup yang digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung dengan tools tertentu (seperti editor,dbms,compiler,dsb). Jika demikian, lalu digunakan untuk apa dokumen XML ini?
XML adalah merupakan suatu bahasa markup. Markup yaitu bahasa yang berisikan kode-kode berupa tanda-ntanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti.
Perbedaan antara XML dan HTML
Perlu di ingat bahwa:

XML bukan merupakan pengganti HTML.
XML dan HTML yang dirancang dengan tujuan yang berbeda:
XML dirancang untuk transportasi dan menyimpan data, dengan fokus pada apa data.
HTML dirancang untuk menampilkan data, dengan fokus pada bagaimana data terlihat.

HTML adalah tentang menampilkan informasi, sedangkan XML adalah membawa informasi tentang.

Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti:
- Sebagai penyimpan data (database) yang mudah dibaca oleh user karena disimpan dalam bentuk teks.
- Standard transfer data, dapat digunakan untuk pengiriman data transaksi antar perusahaan, atau mentransfer data dari DBMS yang berbeda (mis: Oracle ke SQL Server).
- Sebagai acuan membuat bahasa baru, seperti WML (Wireless Markup Language) yang digunakan pada mobile device dengan protokol WAP, atau VoiceXML yang digunakan sebagai bahasa markup untuk pengenalan suara, dialog, aplikasi interaksi respon suara maupun DTMF (seperti aplikasi pengisian pulsa atau call center), dan sebagainya.
- Sebagai file konfigurasi, di Java dokumen-dokumen XML sering kita jumpai seperti file server.xml dan web.xml yang digunakan Tomcat, atau perintah-perintah query yang disimpan dalam file XML yang dipakai pada framework iBatis atau Hibernate.

Sejauh mana perkembangannya?XML menjadi dasar dari beberapa bahasa markup yang telah sedang berkembang sampai saat ini, seperti: XHTML (perbaikan dari HTML), VoiceXML (bahasa untuk aplikasi suara, telepon), XForms (form pada web yang dapat digunakan pada berbagai macam jenis browser, seperti: desktop, PDA , handphone, kertas), XPath, XPointer, XSL dan XSLT (transformasi dan presentasi XML).

Referensi :
[2] Powerpoint Yudi Wibisono, Integritas data,Transaksi,Concurency

[3] Perkuliahan sistem basis data oleh Budi Laksono Putro