contact
Test Drive Blog
twitter
rss feed
blog entries
log in

Rabu, 25 November 2015

BASIS DATA DAN SISTEM BASIS DATA
Basis Data 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.
Sedangkan Sistem Basis Data adalah Sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama, perancang dan pengelola basis data, serta system yang mendukungnya.
Komponen Utama Sistem Basis Data :
·         Perangkat Keras (Hardware)
·         Sistem Operasi (Operating Sistem)
·         Basis data (Database)
·         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).
·         Aplikasi atau Perangkat Lunak yang lainnya.
·         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.


INTEGRITAS DATA
Pengertian integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan.
Menjaga Integritas Data : Apa?
·   Memasukkan aturan bisnis di dalam database. Contoh: NIM tidak boleh kosong; UMUR harus antara 0 – 120, dst.
·         Menjaga agar data yang tidak valid tidak masuk ke database
·         Menjaga konsistensi data pada relasi keterkaitan antar table

Mengapa Harus Melakukan Ini?
·   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).

Secara garis besar integritas data dalam model relasional meliputi :
1.      Integritas Entitas
2.      Integritas Domain
3.      Integritas Referensial
4.      Integritas Enterprise



TRANSAKSI DAN CONCURRENCY
Transaksi pada basis data adalah satu atomic operasi berupa lojik pekerjaan maupun lojik recovery 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

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)
·         Rollback, memberi tanda bahwa transaksi gagal. Semua update harus di-undo

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
·      Uncommited dependency problem, ketika user yang satu meretrieve data dan user yang lain merollback data tersebut
·        Inconsistent analysis problem, ketika user yang satu meretrieve data dan user yang lain mengupdate data tersebut
Untuk menangani masalah tersebut, dilakukan proses locking, jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock. Ada dua jenis lock yaitu :
·         Exclusive Lock (Xlock) à write lock
·         Shared Lock (Slock) à read lock
Jadi 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


BACKEND PROGRAMMING
Backend Programming adalah code yang tidak terlihat oleh user dan bekerja dibelakang layar atau server.
       A.    PL/SQL (Procedural Language/Structured Query Language)
PL/SQL (Procedural Language/Structured Query Language) merupakan bahasa  pemrograman terstruktur di dalam SQL yang tersusun dalam blok-blok logical, yang dapat  menjalankan perintah-perintah untuk menyelesaikan masalah (di Oracle disebut PL/SQL).
Jenis-jenis PL/SQL :
·         Anonymous Block
·         Stored Procedure
1.      Anonymous Block
Merupakan blok PL/SQL tak bernama  dan tak disimpan pada database, tetapi  pada Oracle Pre-compiler. Anonymous block ini dijalankan dari dalam aplikasi, pada run-time aplikasi akan mengirimkan anonymous bock PL/SQL pada database oracle, di mana anonymous block tersebut di dicompile dan dieksekusi.
Komponen anonymous block secara umum :
DECLARE
--bagian deklarasi variabel dan tipe data
BEGIN
--bagian prosedural dan SQL, bagian ini wajib diisi
EXCEPTION
--penanganan eksepsi (tidak wajib)
END;
/
2.      Stored Procedure
Stored procedure merupakan salah satu jenis PL/SQL yang memiliki kemampuan  menerima parameter input, melakukan pengolahan terhadap parameter input tersebut dan menampilkannya. Stored procedure dapat  memeiliki parameter input atau tidak memiliki parameter. Parameternya dapat berupa input, output, dan gabungan input output.
Komponen stored procedure :
CREATE OR REPLACE PROCEDURE nama_prc AS
--bagian deklarasi variabel dan tipe data
BEGIN
--bagian prosedural dan SQL, bagian ini wajib diisi
EXCEPTION
--penanganan eksepsi (tidak wajib)
END nama_prc;
/
Untuk mengeksekusi prosedur yang telah dibuat: EXEC nama_prc;
Untuk mengatur agar output dapat terlihat: SET SERVEROUTPUT ON;
Untuk menghapus stored procedure dari database: DROP PROCEDURE nama_prc;

       B.    Function
Function atau lebih sering disebut Stored Function merupakan salah satu modul dari  PL / SQL yang dapat mempermudah melakukan pengolahan suatu nilai dan mengembalikan nilai tertentu.
Struktur badan Function secara umum:
CREATE OR REPLACE FUNCTION RETURN AS
/*Deklarasi variable, type, dan local subprogram*/
BEGIN
/*Bagian utama fungsi*/
EXCEPTION
/*Penangan error*/
RETURN();
END ;
/
Untuk mengeksekusi fungsi gunakan perintah :
EXECUTE ;
Sedangkan untuk menghapusnya menggunakan perintah :
DROP FUNCTION ;

       C.    Cursor
Cursor berfungsi untuk menangkap / mengambil banyak data yang banyaknya telah  ditentukan sesuai kebutuhan. Cursor digunakan dalam script PL/SQL untuk menampilkan data yang tersimpan di dalam database.
Berikut merupakan macam - macam cara penulisan cursor sesuai dengan  penggunaan:
deklarasi cursor
declare
·         Cursor_1 sys_refcursor;
·         Cursor cursor_2 is select nilai *from latihan;
·         Cursor cursor_3 (key integer) is select *from latihan where nilai=key;
Catatan:
·         Cursor_1 bertipe data refcursor dan dapat digunakan untuk semua query.
·         Cursor_2 adalah cursor yang memiliki query.
·         Cursor_3 adalah cursor yang memiliki query dan sekaligus parameter. Key akan  digantikan dengan nilai bertipe integer saat cursor di buka / dieksekusi.

       D.    Trigger
Trigger merupakan suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan teraktivasi  secara otomatis  ketika terjadi suatu kejadian/event  (INSERT, DELETE, UPDATE) terhadap table, view dan database. Biasanya Trigger digunakan untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga.
Struktur badan Trigger secara umum:
CREATE OR REPLACE TRIGGER
(BEFORE|AFTER) (INSERT|UPDATE [OF , …]|DELETE) ON
[FOR EACH ROW] [WHEN (kondisi)]
DECLARE
/*Deklarasi variable, tipe data*/
BEGIN
/*Bagian utama trigger*/
END;
/
Trigger ini memiliki status apakah dia aktif atau nonaktif. Untuk mengubah status Trigger berikut sintaksnya :
·  ALTER TRIGGER DISABLE | ENABLE; dimana DISABLE untuk menonaktifkan Trigger, dan ENABLE untuk mengaktifkan Trigger.
·         Sintaks untuk menghapus Trigger :
·         DROP TRIGGER ;


XML
XML (eXtended Markup Language) 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-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti.
Keuntungan XML :
·         Ekstensibilitas : dapat ditukar/digabung dengan dokumen XML lain
·         Memungkinkan pemrograman yang lebih baik: maka dibuat suatu software pengolah XML
·         Memisahkan data dan presentasi. Yang akan direpresentasikan dalam XML dan XSLT
·         Pencarian data cepat karena XML merupakan data dalam format yang terstruktur
·         Plain Text dan platform independent
·         Untuk pertukaran data
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 :


0
Selasa, 07 April 2015

Kali ini saya akan membahas materi - materi praktikum Basis Data pada pertemuan sebelumnya



1) ERD(ENTITY RELATIONSHIP DIAGRAM)
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
Adapun komponen ER-Diagram adalah sebagai berikut:
1. Entitas
Entitas didefinisikan sebagai individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain.
2. Atribut
Atribut merupakan karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
3. Relasi
Relasi didefinisikan sebagai hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
4. Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. Kardinalitas yang terjadi sebagai berikut :
a.One to one
b.One to many
c.Many to many



2) DDL (Data Definition Language)
DDL atau Data Definition Language adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain. Secara umum, DDL yang digunakan meliputi perintah sebagai berikut:
• CREATE; digunakan untuk membuat objek yang baru;
• ALTER; digunakan untuk mengubah objek yang sudah ada;
• DROP; digunakan untuk menghapus objek yang sudah ada.
Menggunakan perintah – perintah dalam DDL :
1. Membuat database
Create database nama_database
contoh :

2. Membuat table
Create Table nama_tabel(
field1 tipe_data(lenght),
field2 tipe_data(lenght),
...
fieldn tipe_data(lenght),
primary key (field_key)
);
Contoh :
3.Alter
ALTER TABLE merupakan perintah dasar mengubah tabel.
alter table nama_tabel pilihan_perubahan;
pilihan perubahan dalam alter :
• ADD definisi_field_baru
Option ini digunakan untuk menambahkan field baru dengan “definisi_field_baru” (nama_field, tipe dan option lain).
• MODIFY definis_field
Option untuk mengubah suatu field menjadi definisi_field
• DROP nama_field
Option untuk menghapus field nama_field
• RENAME TO nama_tabel_baru
Option untuk mengganti nama table
Contoh :
4.Drop
Untuk menghapus database atau table
Menghapus table :
Drop Table nama_tabel;
Menghapus database :
Drop Database nama_database;
Contoh :



3) DML (Data Manupulation Language)
Data Manupulation Language (DML), adalah perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table
Perintah DML :
1.Insert
untuk menambah record atau data ke dalam tabel (insert data)
Insert Into nama_table VALUES (‘nilai1’,’nilai2’,...);
atau :
Insert Into nama_tabel (field1,field2,...) VALUES (‘niali1’,’nilai2’,...);
atau :
Insert Into nama_tabel SET field1=’niali1’, field2=’nilai2’,...;
contoh :
2.Select
Perintah SELECT digunakan untuk menampilkan sesuatu.
a. Menampilkan seluruh table
SELECT *FROM nama_tabel;
b.Menampilkan dengan Where
SELECT * FROM nama_tabel WHERE kondisi;
c.Menentukan field tertentu
SELECT nama_field FROM nama_tabel;
d.Menampilkan data dari beberapa tabel
SELECT tabel1.field, tabel2.field,... FROM tabel1, tabel2,... WHERE kondisi
e.Penggunaan operator AND dan OR
SELECT * FROM nama_tabel WHERE kondisi1 AND kondisi2 OR kondisi3;
f.Penggunaan operator BETWEEN dan NOT BETWEEN
SELECT * FROM nama_tabel WHERE kondisi BETWEEN batas_bawah AND batas_atas;
g.Penggunaan operator LIKE dan NOT LIKE
SELECT * FROM nama_tabel WHERE field LIKE ‘%...’;
SELECT * FROM nama_tabel WHERE field LIKE ‘...%’;
SELECT * FROM nama_tabel WHERE field LIKE ‘%...%’;
contoh :







3.Update
Perintah untuk memperbarui data lama menjadi data terbaru
UPDATE nama_tabel SET field1=nilai_baru, field2=nilai_baru, …..
WHERE kondisi;
Contoh :

4.Delete
Perintah ini digunakan untuk menghapus atau menghilangkan baris data (record) dari table.
DELETE FROM nama_tabel WHERE kondisi;
Contoh :



4) Agregasi dan Grouping
1. Agregasi
Fungsi aggregasi adalah fungsi matematika sederhana dalam SQL. Biasanya fungsi aggregasi ini digunakan pada bagian SELECT untuk melakukan perhitungan dengan melibatkan sekumpulan data atau nilai.
a.AVG()
Untuk menghitung rata – rata
SELECT AVG(nama_field) From nama_tabel
Contoh :
b. COUNT()
Untuk menghitung jumlah data
SELECT COUNT(nama_field) From nama_tabel
Contoh :
c.MAX()
Untuk menghitung nilai tertinggi
SELECT COUNT(nama_field) From nama_tabel
Contoh :
d.MIN()
Untuk menghitung nilai terkecil
SELECT MIN(nama_field) From nama_tabel
Contoh :
e.SUM()
Untuk menghitung nilai total
SELECT SUM(nama_field) From nama_tabel
Contoh :
f.ROUND()
Untuk membulatkan bilangan sesuai dengan jumlah decimal
SELECT ROUND(nama_field,jumlah_decimal) From nama_tabel
Contoh :
g.STDDEV_POP()
Untuk menghasilkan nilai standar deviasi populasi
SELECT STDDEV_POP(nama_field) From nama_tabel
Contoh :
h.VAR_POP()
Untuk menghasilkan nilai standar varian populasi
SELECT VAR_POP(nama_field) From nama_tabel
Contoh :
2.Grouping
a.Order By
Order by adalah perintah yang digunakan untuk menampilkan data secara
terurut berdasarkan nilai tertentu. Dibagi menjadi 2 yaitu terbesar dan terkecil.
SELECT *FROM(nama_tabel) ORDER BY atribut ASC/DESC
Contoh :
b.Group by
Group by adalah perintah untuk mengelompokan beberapa data
SELECT *FROM(nama_tabel) GROUP BY atribut;
Contoh :
c.Having
Digunakan untuk menentukan kondisi tertentu pada group by dan kondisi tersebut berkaitan dengan fungsi agregasi
SELECT atribut FROM nama_tabel GROUP BY atribut HAVING fungsi_agregasi
Contoh :
d.View
Bias disebut sebagai table semu, data pada table ini dapat merupakan gabungan dari table lain. Hanya dapat digunakan untuk membatasi pengaksesan atas sebuah table tertentu
CREATE VIEW NAMA_VIEW AS
Contoh :

0

this blog useful to add insight and information, and can entertain the reader.

Translate Languange

Coldplay - In My Place

Barcelona FC

Barcelona FC

Followers