Sabtu, 13 Oktober 2012

6 Alat Bantu Perancangan Basis DATA (ERD dan Normalisasi


ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.

Konsep Dasar ERD


  1. Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999: 30). Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.
  1. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
  1. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut elasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu (Abdul Kadir, 2002: 48) :
1). Satu ke satu (One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
2). Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
3). Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.


Transformasi ERD ke Basis Data Relasional.


Untuk membantu teman-teman maupun rekan-rekan baik umum maupun berstatus mahasiswa yang ingin mempelajari dan mengenal lebih lanjut mengenai transformasi dari ERD menjadi basis data relasional, saya coba untuk berbagi melalui tulisan di sini. Akan tetapi untuk mempermudah anda memahami materi di bawah, anda harus telah memahami terlebih dahulu mengenai basis data relasional, normalisasi dan ERD. Semoga Allah membantu anda dengan memberi kemudahan untuk memahaminya.

Ada 12 Aturan yang digunakan untuk melakukan transformasi. 12 Aturan ini di dasarkan dari pemilihan jenis entity, tipe atribute, relationship degree, ratio constrain dan participation constrain yang tergambar di ERD. Untuk membantu anda untuk mengingatnya, saya kelompokan 12 aturan tersebut sebagai berikut:
  • Aturan 1 & 2 berbicara mengenai entity dan atribut.
  • Aturan 3 & 4 berbicara mengenai unary relationship.
  • Aturan 5 s/d 10 berbicara mengenai binary relationship.
  • Aturan 11 berbicara mengenai ternary relationship.
  • Aturan 12 berbicara mengenai weak entity.
Yang anda harus ingat dan pahami dalam menggunakan 12 aturan transformasi ini, yaitu:
  • Kerjakan proses transformasi secara bertahap dan berurut dari aturan 1 sampai dengan 12.
  • Tidak semuanya aturan harus dilakukan. Akan banyak sekali aturan-aturan yang terlewati karena tidak memiliki ciri-ciri yang disebutkan oleh setiap aturan.
  • Telitilah dalam melihat setiap relationship, terutama jika anda ingin mentransformasi dari suatu ERD yang cukup besar.
  • Aturan 1 adalah aturan yang mutlak dilakukan.
  • Menurut pengalaman saya, aturan yang paling sering digunakan adalah aturan 8 dan 10 karena memang ciri-ciri inilah yang paling sering muncul pada sebuah ERD. (Anda akan lihat sendiri nanti)

5 RDBMS

 

5.1 Overview RDBMS : DB2 dan ORACLE

 

Relational Database Management System (RDBMS)


RDBMS adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan RDBMS, namun tidak boleh dijadikan produk turunan yang bersifat komersial. GDBMS sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.

DB2


DB2 adalah produk Sistem Manajemen Hubungan Database dari IBM atau sekarang yang populer disebut Data Server yang dimana merupakan Perangkat Lunak Manajemen Informasi. Kebanyakan DB2 disebut juga sebagai DB2 Enterprise Server Edition atau top of the line DB2 DAta Warehouse Edition (DB2 DWE) yang berjalan pada Unix, Windows dan Linux Server.
Sering disebut sebagai DB2 Universal Database. DB2 dari IBM juga telah komitmen untuk mendukung Linux dan telah mengembangkan beberapa tools demi kemudahan penggunanya. DB2 tersedia dalam berbagai platform dan tergolong VLDB (Very Large Database). Dukungannya terhadap Java secara penuh (Control Center - adminitration tool - tersedia dalam versi Java) membuatnya makin diterima oleh berbagai kalangan serta telah meraih sejumlah besar penghargaan (seperti yang telah dikeluarkan VARBusiness dan ComputerWorld). Meski cukup ``raksasa'', DB2 belum open-source dan sering dibandingkan dengan database komersial lainnya. 

Oracle


Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform). Oracle adalah perusahaan piranti lunak pertama yang mengembangkan dan 100 persen menggunakan piranti lunak enterprise diatas Internet diseluruh lini produknya. Sejak diluncurkannya database relational pertama di dunia pada tahun 1977, Oracle telah menjadi bagian penting dalam revolusi teknologi yang secara nyata mengubah bisnis modern.

Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.

 5.2 Pengenalan DB2


RDBMS yang memungkinkan user menggunakan perintah-
perintah SQL terhadap basis data relasional

 Pengertian DB2

kumpulan informasi yang disimpan didalam komputer secara sistematis sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut.

Perkembangan DB2

Akhir th. 70-an
Riset penyusunan teknologi relasional
Th. 80-an
Produk DB2 untuk VM, VSE, MVS, AS/400, OS/2
Th. 90-an
Produk DB2 untuk AIX, HP-UX, SOLARIS, NT, SINIX

 

 Kelebihan DB2

1 Dapat dijalankan pada bermacam-macam platform

2 Menunjang client/server platform, aplikasi multimedia,
object oriented

3 Dirancang untuk memperoleh informasi dalam bisnis
berskala kecil maupun besar

4 Memiliki alat yang mengizinkan user membuat macam-
macam aplikasi untuk mengakses dan bekerja dengan data.

DB2 utility 

digunakanuntukmenjalankanfungsi-fungsisistemadministrasi

DB2 product 

Terdiridarisekumpulantabelyang berisikaninformasimengenaiseluruhobyekDB2 yang telahdidefinisikan, informasiotorisasi,recovery.HanyadapatdilihatolehDBA danpemakaiyang diberiizinolehDBA

DB2 Object

Berfungsimengaturkembalitable space atauindex, memperolehkembaliruangyang hilangpadafragmentasitabelatautabelyangtelahdihapus, memperbaikistatistikyang disimpanpadaDB2Catalog.Terdiridari2 fungsiyaitu: Reorganize danUpdate Statistics.

5.3 Pengenalan ORACLE 

Pengertian Oracle

Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merkperangkat keras komputer (platform).
Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oateslewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.

 Computering Model

Cloud computing atau komputasi  adalah suatu model atau generasi penyediaan layanan komputing baru yang diberikan penyedia layanan IT kepada pelanggannya. Dimana dengan layanan cloud akan mampu menyediakan layanan IT dimana yang lebih cepat, fleksibel dan ekonomis.

Overview PerintahSQL

Banyak perintah dan fungsi SQL yang dapat digunakan untuk mendefenisikan maupun memanipulasi database. Suatu rangkaian aktivitas yang berhubungan dengan pemulihan dan pengoptimalan perintah query di dalam database pada SQL dapat dituliskan fasilitas yang memiliki antarmuka grafis yaitu Query Analyzer. Beberapa aktivitas yang dimaksud, antara lai 
  • Melakukan query pada databese SQL dengan menggunakan perintah-perintah SQL untuk melihat teks atau grid.
  • Melihat representasi grafik dari langkah-langkah untuk mengakses query
  • Melakukan analisa kinerja indeks
  • Menjalankan skrip Transact SQL dari prosedur tersimpan
Interaksi SQL 
 Mari kita perhatikan stored procedure di bawah ini, yang mencari database dari perpustakaan utama untuk buku, majalah, dan tape. Tabel master menyimpan judul dan kode kategori (dimana 1=buku, 2=majalah, 3=tape) untuk setiap item. Tiga tabel detail menyimpan informasi spesifik dari setiap kategori. Ketika tipanggil, procedure tesrebut mencari tabel master berdasarkan judul, menggunakan kode kategori terkait untuk membuka perintah OPEN-FOR, lalu membuka cursor variable untuk query dari tabel detail yang tepat.

 Perintah SQL VS SQL*Plus

SQL adalah bahasa yang digunakan untuk berkomunikasi dengandatabase Oracle server dari sebuah tool atau aplikasi. Oracle SQL
terdiri dari beberapa bagian, ketika kita menjalankan perintah SQL,sql akan disimpan dalam suatu memory yang disebut SQL Buffer danakan tetap berada dalam memory sampai ada statemen baru.SQL *Plus adalah tool oracle yang mengenali dan menjalankanperintah SQL ke Oracle Server.



PL/SQL ( Lingkungan PL/SQL Keuntungan PL/SQL Contoh SQL pada PL/SQL)

adalah kependekan dari Procedural Language/Structured Query Language. Sederhananya adalah suatu bahasa pemrograman untuk database Oracle.

Struktur dasar dari PL/SQL adalah DECLARE, BEGIN, dan END. Untuk menandakan suatu komentar (tidak diproses oleh compiler), gunakan “- -” pada tiap baris komentar.

 

Misalkan ingin melakukan suatu proses matematis, dalam kasus ini perkalian, kemudian hasilnya ditampilkan :
01DECLARE
02 NO1 NUMBER;
03 NO2 NUMBER;
04 NO3 NUMBER;
05--dideklarasikan variable NO1, NO2, dan NO3 dengan tipe NUMBER.
06BEGIN
07 NO1 := 12;
08 NO2 := 109;
09 NO3 := NO1 * NO2;
10-- variable NO3 merupakan hasil dari perkalian variable NO1 dan NO2.
11 DBMS_OUTPUT.PUT_LINE('Isi dari penjumlahan = '||NO3);
12END;
 

SQL

4 SQL 

 

4.1 Pengenalan SQL


SQL (Structured Query Language), merupakan script yang digunakan untuk melakukan komunikasi dengan Database. SQL juga merupakan bahasa standar yang digunakan untuk RDBMS (Relational DataBase Management Systems). SQL sendiri juga bisa digunakan untuk melakukan proses insert, update atau delete ke dalam suatu database. Sintaks-sintaks ini yang disebut dengan Data Manipulation Language (DML) yang merupakan bagian dari SQL. Berikut ini adalah penjelasan singkat dari sintaks-sintaks tersebut.
- SELECT, bertugas untuk mengakses data dari suatu tabel dalam database
- UPDATE, bertugas untuk mengupdate (merubah) data dalam suatu tabel pada database.
- DELETE, bertugas untuk menghapus data dari suatu tabel dalam database
- INSERT, bertugas untuk menambahkan data ke dalam suatu tabel dalam database.

4.2 Pengelompokan Perintah SQL (DDL,DML dan DCL) 

DDL yang merupakan singkatan dari Data Definition Language yang juga bagian dari SQL. DDL ini berfungsi lebih ke dalam memanipulasi struktur dari database. Contohnya DDL ini bisa digunakan untuk membuat tabel atau menghapus tabel. Kita juga bisa membuat key atau index dengan menggunakan DDL ini, membuat relasi antar tabel juga bisa dilakukan dengan DDL ini.
Beberapa statemen atau sintaks yang sering dijumpai dalam DDL adalah sebagai berikut:
- CREATE TABLE, bertugas untuk membuat table
- ALTER TABLE, bertugas untuk merubah struktur suatu table
- DROP TABLE, bertugas untuk menghapus suatu table
- CREATE INDEX, bertugas untuk membuat suatu index dalam table
- DROP INDEX, bertugas untuk menghapus suatu index dalam tabel.

Data Manipulation Language (DML)

Data Manipulation Language (DML) adalah bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data. Modifikasi data terdiri dari: penambahan (insert), pembaruan (update), penghapusan (delete), seleksi data (selection) dan membuat tabel maya (view).

Data Control Language (DCL)

Data Control Language atau disingkat DCL adalah sebuah perintah atau sintak yang digunakan atau dipergunakan untuk mengontrol hak akses (privillage) atas sebuah database, dimana Administrator dapat memberikan akses kepada user - user dan membatasinya, atau bahkan mencabut hak - hak tersebut. Ada dua perintah utama dalam penanganan hak akses, yaitu : Grant dan Revoke


4.3 contoh kasus

A. CREATE
1. Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa
nama organisasi atau perusahaan.
Sintaks : CREATE DATABASE nama_database
Contoh : Buat database dengan nama PT.ABC
CREATE DATABASE PT.ABC

  B. DROP (MENGHAPUS)
1. Menghapus Database
Sintaks : DROP DATABASE nama_db ;.

C. ALTER TABLE (MERUBAH STRUKTUR TABEL)
Sintaks : ALTER TABLE nama_tabel
ADD nama_kolom jenis_kolom
[FIRST | AFTER nama_kolom]
CHANGE [COLUMN] oldnama newnama
MODIFY nama_kolom jenis kolom, …
DROP nama_kolom
RENAME newnama_tabel

Model Data Relasional

3 model data relasional

3.1 Pengertian Model Relasional


Sistem manajemen database relasional atau dikenal sebagai relational database management system (RDBMS) yaitu sebuah aplikasi yang didisain untuk mengatur sebuah database sebagai kumpulan data yang disimpan secara terorganiisr, dan melakukan pengoperasian atas data permintaan penggunanya. DBMS diperlukan dalam berbagai bidang kerja, misalnya statistika, manajemen sumber daya manusia, dll.. Meskipun pada awalnya DBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar yang memiliki perangkat computer canggih yang sesuai dengan spesifikasi standar yang dibutuhkan untuk mendukung jumlah data yang besar, saat ini pelaksanaannya sudah sangat banyak dan disesuaikan dengan kebutuhan data yang rasional sehinggal dapat dimiliki dan dijalankankan oleh berbagai jenis perusahaan

3.2 Keuntungan Model Data Relasional


1. Sederhana
2. Mampu melakukan berbagai pengoperasi data

3.3  Istilah dalam Model Data Relasional :



Relasi:
Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.

Atribut:
Kolom pada sebuah relasi (field).

Tupel
Baris pada sebuah relasi (record).

Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut

Derajat (degree)
Jumlah atribut dalam sebuah relasi (jumlah field)

Cardinality
Jumlah tupel dalam sebuah relasi (jumlah record)
 

3.4    Relational Key


Super key


Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya).


Candidate key


Atribut di dalam relasi yang biasanya mempunyai nilai unik  (super key dengan jumlah field yang paling sedikit)

Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja)


Primary key


Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi

Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).


Alternate key


Candidate key yang tidak dipilih sebagai primary key

Maka, candidate key-nya NAMA dan ALAMAT


Foreign key


Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa

3.5 Relational Integrity Rules

  1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut.
  1. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
  1. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.
 
3.6 Bahasa Model Relasioonal

1. Bahasa Query Formal



Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.

Terbagi 2, yaitu:

a. Prosedural, yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.
Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi.



b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.



Contoh:

Kalkulus Relasional, dimana query menjelaskan set tuple yang diinginkan dengan cara menjelaskan predikat tuple yang diharapkan.



Terbagi 2 :

1.    Kalkulus Relasional Tupel

2.    Kalkulus Relasional Domain


2. Bahasa Query Komersial



Bahasa Query yang dirancang sendiri oleh programmer   menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).



Contoh :



         QUEL

Berbasis pada bahasa kalkulus relasional

           

·         QBE

Berbasis pada bahasa kalkulus relasional



·         SQL

Berbasis pada bahasa kalkulus relasional dan    aljabar relasional