Kamis, 02 Oktober 2014

Database


DATA

Data merupakan fakta-fakta yang dapat disimpan dan mempunyai arti tertentu. Fakta tersebut dapat mengenai objek, orang atau yang lainnya yang menyangkut dengan kebiasaan atau aktivitasnya yang dapat dinyatakan dengan nilai yang berupa angka, deretan karakter, atau simbol.

Data terdiri dari :

1. Elemen data : Satuan data terkecil yang tidak dapat dipecah lagi menjadi unit yang bermakna.
2.
Rekaman ( Record ) : Gabungan sejumlah elemen data yang saling berhubungan.
3. Berkas ( file ) : Kumpulan dari record-record yang bertipe sama.

contoh : Data mahasiswa, dosen, dll.
BASIS DATA

Basis data merupakan himpunan kelompok data yang saling berhubungan yang diorganisasikan sehingga kelak dapat dimanfaatkan dengan cepat dan mudah. Dengan kata lain basis data tersebut saling berhubungan dan disimpan bersama sedemikian rupa tanpa pengulangan yang tidak perlu untuk memenuhi kebutuhan.
SISTEM MANAJEMEN BASIS DATA (DBMS)

DBMS atau Sistem Manajemen Basis Data merupakan perangkat lunak yang digunakan untuk mengelola dan memanggil query basis data atau sistem yang secara khusus dibuat untuk memudahkan pemakaian dalam mengelola basis data, selain itu juga dapat melakukan penyimpanan dan pengaturan basis data. DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secar bersama, pemaksaan keakuratan data, dll.

Basis data bisa dibayangkan sebagai lemari arsip dengan berbagai cara pengurutannya (misalnya pengurutan dan pengelompokkan). Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama; prinsipnya yaitu pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
SEJARAH DBMS

* 1960, Produk database pertama muncul, teknologi yang digunakan model jaringan dan hirarki.
* 1970, Relational database, muncul oracle, informix, sybase, dll. Mulai menggunakan Entity Relationalship model.
* 1980, Distributed database, SQL Standar (ANSI, ISO), Object Oriented Database.
* 1990, Client/Server Application, First Object DB Product, SQL-92, SQL-99, Decision Support System, Datawarehouse, dan Data Mining.
* 200, Three-Tier Application, Object Relation Model, Mobile DB.


KOMPONEN SISTEM BASIS DATA

1. Hardware : Biasanya berupa perangkat komputer standar, media penyimpanan sekunder dan media komunikasi untuk sistem jaringan.
2. Operating System : Perangkat lunak yang memfungsikan dan mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem komputer dimana OS tersebut harus sesuai dengan DBMS yang digunakan atau yang support.
3. Database : Basis data yang mewakili sistem tertentu untuk dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis data.
4. DBMS : Perangkat lunak yang digunakan untuk mengelola basis data. Contoh kelas sederhana : dBase, Foxbase, Rbase, MS-Access, MS-Foxpro, Borland Paradox. Contoh kelas kompleks : Borland Interbase, MySQL, MS-SQL Server, Oracle, Informix, Sybase.
5. User : Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang sampai yang menggunakan di tingkat akhir.
6. Optional Software : Perangkat lunak pelengkap yang mendukung jalannya operasi sistem basis data. Bersifat Opsional.

TUJUAN DBMS

1. Kecepatan dan Kemudahan

Basis data memiliki kemampuan untuk mengelompokkan, mengurutkan, bahkan perhitungan matematis, sehingga pengguna dapat melakukan penyimpanan, perubahan/manipulasi, danmenampilkan data secara cepat dan mudah / meningkatkan performance.

2. Efisiensi Ruang Penyimpanan

Dengan basis data kita dapat meminimalisasi redudansi atau menghilangkan redudansi data yang tidak penting, baik dengan menerapkan pengkodean atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.

3. Kebersamaan Pemakaian ( Sharability )

Suatu basis data dapat digunakan oleh banyak user dan banyak aplikasi. Contoh : data mahasiswa pada suatu perguruan tinggi dibutuhkan oleh banyak bagian, diantaranya bagian akademik, keuangan, kemahasiswaan dan perpustakaan, maka tidak harus semua bagianmemiliki catatan data mahasiswa, data cukup disediakan oleh sebuah basis data dan semua bagian bisa mengakses data tersebut sesuai dengan keperluan.

4. Menangani Data dalam Jumlah yang Besar

Suatu basis data dapat menampung data dalam jumlah yang sangat besar sehingga tidak lagi dibutuhkan ruang yang sangat luas untuk menampung itu semua. Cukup dengan basis data, semua itu dapat tertampung.

5. Meniadakan Duplikasi dan Inkunsistensi Data

Dengan adanya sharability, maka akan meniadakan duplikasi dan menjaga konsistensi data.

6. Keamanan

DBMS dolengkapi dengan fasilitas manajemen user. User dapat diberikan password dan hak akses yang berbeda sesuai dengan keperluan dan posisinya.

7. Mengurangi Waktu Pengembangan Aplikasi

Pembuatan aplikasi dapat memanfaatkan kemampuan dari DBMS, sehingga pembuat aplikasi tidak perku menangani masalah penyimpanan data, tetapi cukup mengatur antarmuka (interface) untuk user.

MySQL

MySQL adalah sebuah perangkat lunak system manajemen basis data SQL (DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola system dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris.
MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL(General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial.
Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia, semua itu tak lain karena bahasa dasar yang digunakan untuk mengakses database yaitu SQL. SQL (Structured Query Language) pertama kali diterapkan pada sebuah proyek riset pada laboratorium riset San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan oleh Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses pengaksesan database lebih user-friendly dibandingan dengan yang lain, misalnya dBase atau Clipper karena mereka masih menggunakan perintah-perintah pemrograman murni.
SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa pemograman seperti C, dan Delphi.
1. Elemen SQL
Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data, ekspresi, konstanta dan fungsi bawaan.
  • Pernyataan
Perintah dari SQL yang digunakan untuk meminta sebuah tindakan kepada DBMS.
Pernyataan dasar SQL antara lain :
  1. ALTER      : Merubah struktur tabel
  2. COMMIT  : Mengakhiri eksekusi transaksi
  3. CREATE   : Membuat tabel, indeks
  4. DELETE   : Menghapus baris pada sebuah tabel
  5. DROP        : Menghapus tabel, indeks
  6. GRANT     : Menugaskan hak terhadap basis data kepada user
  7. INSERT    : Menambah baris pada tabel
  8. REVOKE  : Membatalkan hak kepada basis data
  9. ROLLBACK  : Mengembalikan pada keadaan semula apabila transaksi gagal dilaksanakan
  10. SELECT    : Memilih baris dan kolom pada sebuah tabel
  11. UPDATE   : Mengubah value pada baris sebuah tabel
  • Nama
Nama digunakan sebagai identitas, yaitu identitas bagi objek pada DBMS. Misal : tabel, kolom dan pengguna.
  • Tipe data
Tipe data yang ada dalam MYSQL :
1. Tipe data numerik antara lain :
  1. TINYINT         : Nilai integer yang sangat kecil
  2. SMALLINT     : Nilai integer yang kecil
  3. MEDIUMINT  : Nilai integer yang sedang
  4. INT                   : Nilai integer dengan nilai standar
  5. BEGINT           : Nilai integer dengan nilai besar
  6. FLOAT             :Bilangan decimal dengan single-precission
  7. DOUBLE         :Bilangan decimal dengan double-precission
  8. DECIMAL(M,D)   : Bilangan float yang dinyatakan sebagai string. M : jumlah digit yang disimpan, D : jumlah angka dibelakang koma
2. Tipe data String antara lain :
  1. CHAR               : Karakter yang memiliki panjang tetap yaitu sebanyak n
  2. VARCHAR      : Karakter yang memiliki panjang tidak tetap yaitu maksimum n
  3. TINYBLOB     : BLOB dengan ukuran sangat kecil
  4. BLOB               : BLOB yang memiliki ukuran kecil
  5. MEDIUMBLOB    : BLOB yang memiliki ukuran sedang
  6. LONGBLOB    : BLOB yang memiliki ukuran besar
  7. TINYTEXT      : teks dengan ukuran sangat kecil
  8. TEXT                : teks yang memiliki ukuran kecil
  9. MEDIUMTEXT     : teks yang memiliki ukuran sedang
  10. LONGTEXT     : teks yang memiliki ukuran besar
  11. ENUM              : kolom diisi dengan satu member enumerasi
  12. SET                   : Kolom dapat diisi dengan beberapa nilai anggota himpunan
3. Tipe data tunggal dan jam :
  1. DATE        : date memiliki format tahun-bulan-tanggal
  2. TIME         : time memiliki format jam-menit-detik
  3. DATETIME           : gabungan dari format date dan time
  • Ekspresi
Ekspresi digunakan untuk menghasilkan/menghitung nilai.
Misalnya : jumlah=harga-diskon
Ekspresi aritmatika antara lain :
  1. +  : tambah
  2. –  : kurang
  3. /  : bagi
  4. *  : kali
  • Konstanta
Nilai yang tetap
  • Fungsi bawaan
Fungsi adalah subprogram yang dapat menghasilkan suatu nilai apabila fungsi tersebut dipanggil. Fungsi Agregat adalah fungsi yang digunakan untuk melakukan summary, statistik yang dilakukan pada suatu tabel/query.
  1. AVG(ekspresi)  : digunakan untuk mencari nilai rata-rata dalam kolom dari tabel.
  2. COUNT(x)       : digunakan untuk menghitung jumlah baris dari sebuah kolom dari tabel
  3. MAX(ekspresi) : digunakan untuk mencari nilai yang paling besar dari suatu kolom dari tabel
  4. MIN(ekspresi)   : digunakan untuk mencari nilai yang paling kecil dari suatu kolom dari tabel
  5. SUM(ekspresi)  : digunakan untuk mengitung jumlah keseluruhan dari suatu kolom dari tabel
2. Kelompok Penyataan SQL
Pernyataan SQL dapat dikelompokan menjadi 3 kelompok, yaitu : DDL, DML dan DCL.
1.Pernyataan SQL kelompok DDL (Data Defination Language)
DDL berfungsi untuk mendefinisikan atribut basis data, table, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Perintah yang digunakan biasanya : CREATE, ALTER, dan DROP
  1. Membuat Database
  2. Syntax yang digunakan : CREATE DATABASE namadatabase;
  3. Menghapus Database
  4. Syntax yang digunakan : DROP DATABASE namadatabase;
  5. Membuat Tabel
  6. Syntax yang digunakan : CREATE TABLE namatabel;
  7. Menghapus Database
  8. Syntax yang digunakan : DROP DATABASE namadatabase;
  9. Menghapus Tabel
  10. Syntax yang digunakan : DROP TABEL namatabel;
  11. Mendefinisikan null/not null
  12. Syntax yang digunakan : CREATE TABLE namatabel
    ( Field1 TipeData1 NOT NULL,
    Field2 TipeData2
    );
  13. Mendefinisikan Nilai Default
  14. Syntax yang digunakan : CREATE TABLE namatabel
    ( Field1 TipeData1,
    Field2 TipeData2 DEFAULT nilai
    );
  15. Mendefinisikan Primary Key pada Tabel
  16. Dapat dilakukan dengan 3 Syntax :
    1)      CREATE TABLE namatabel
    ( Field1 TipeData1 NOT NULL PRIMARY KEY,
    Field2 TipeData2
    );
    2)      CREATE TABLE namatabel
    ( Field1 TipeData1,
    Field2 TipeData2,
    PRIMARY KEY(Field1)
    );
    3)      ALTER TABEL namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (NAMAKOLOM)
  17. Menghapus Primary Key pada Tabel
  18. Syntax yang digunakan ada 2 :
    1)      ALTER TABLE namatabel DROP CONSTRAINT NAMACONSTRAINT;
    2)      ALTER TABLE NAMATABEL DROP PRIMARY KEY;
  19. Menambah Kolom Baru pada Tabel
  20. Syntax yang digunakan : ALTER TABEL NAMATABEL ADD newfield tipe;
  21. Mengubah Tipe Data atau Lebar Kolom pada Tabel
  22. Syntax yang digunakan : ALTER TABEL namatabel MODIFY COLUMN field tipe;
  23. Mengubah Nama Kolom
  24. Syntax yang digunakan : ALTER TABEL namatabel CHANGE COLUMN namakolomlama namakolombaru tipe;
  25. Menghapus Kolom pada Tabel
  26. Syntax yang digunakan : ALTER TABEL namatabel DROP COLUMN namakolom;
  27. Mendefinisikan Foreign Key pada Tabel
  28. Dapat dilakukan dengan 2 Syntax :
    1)      CREATE TABLE namatabel
    ( Field1 TipeData1,
    Field2 TipeData2,
    FOREIGN KEY (Field2) REFERENCES namatabelinduk
    (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION)
    2)      ALTER TABEL namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;
  29. Menghapus Foreign Key
  30. Syntak yang digunakan : ALTER TABEL namatabel DROP FOREIGN KEY namaconstraint;
2. DML (Data Manipulation Language)
DML berfungsi untuk memanipuladi data yang ada di dalam basis data, contohnya untuk pengambilan data, penyisipan data, pengubahan data dan penghapusan data.
Perintah yang digunakan biasanya adalah : INSERT, DELETE, UPDATE, dan SELECT.
  1. INSERT
  2. menambah baris pada tabel. Syntax yang paling sering digunakan : INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);
  3. DELETE
  4. Menghapus baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi];
  5. UPDATE
  6. Mengubah isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET kolom1=nilai1, kolom2=nilai2 [where kondisi];
  7. SELECT
  8. Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel yang lainnya;
Keunggulan MySQL
  • Program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki mulit-CPU
  • Didukung bahasa pemrograman umum seperti C, C++, Java, Perl, PHP, Python, TCL, APls dls.
  • Bekerja pada berbagai platform
  • Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
  • Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
  • Memiliki system sekuriti yang cukup baik dengan verifikasi host
  • Mendukung ODBC untuk OS Microsoft Windows
  • Mendukung record yang memiliki kolom dengan panjang tetap
  • Software yang free
  • Saling terintegrasi dengan PHP

Sejarah Database Management System (DBMS)

Sejarah Database Management System (DBMS)-Generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric pada awal tahun 1960, disebut sebagai Penyimpanan Data Terintegrasi (Integrated Data Store). Dibentuk dasar untuk model data jaringan yang kemudian distandardisasi oleh Conference on Data System Languages (CODASYL).
Bachman kemudian menerima ACM Turing Award (Penghargaan semacam Nobel pada ilmu komputer) di tahun 1973. Dan pada akhir 1960, IBM mengembangkansistem manajemen informasi (Information Management System) DBMS. IMS dibentuk dari representasi data pada kerangka kerja yang disebut dengan model data hirarki. Dalam waktu yang sama, dikembangkan sistem SABRE sebagai hasil kerjasama antara IBM dengan perusahaan penerbangan Amerika. Sistem ini memungkinkan user untuk mengakses data yang sama pada jaringan komputer.
Kemudian pada tahun 1970, Edgar Codd, di Laboratorium Penelitian di San Jose, mengusulkan model data relasional. Di tahun 1980, model relasional menjadi paradigma DBMS yang paling dominan. Bahasa query SQL dikembangkan untuk basis data relasional sebagai bagian dari proyek Sistem R dari IBM. SQL distandardisasi di akhir tahun 1980, dan SQL-92 diadopsi oleh American National Standards Institute (ANSI) dan International Standards Organization (ISO). Program yang digunakan untuk eksekusi bersamaan dalam basis data disebut transaksi. User menulis programnya, dan bertanggung jawab untuk menjalankan program tersebut secara bersamaan terhadap DBMS. Pada tahun 1999, James Gray memenangkan Turing Award untuk kontribusinya pada manajemen transaksi dalam DBMS. Pada akhir tahun 1980 dan permulaan 1990, banyak bidang sistem basis data yang dikembangkan. Penelitian pada bidang basis data meliputi bahasa query yang powerful, model data yang lengkap, dan penekanan pada dukungan analisis data yang kompleks dari semua bagian organisasi. Beberapa vendor memperluas sistemnya dengan kemampuan penyimpanan tipe data baru semisal image dan text, dan kemampuan query yang kompleks. Sistem khusus/spesial dikembangkan oleh banyak vendor untuk membuat data warehouse, mengkonsolidasi data dari beberapa basis data. Penomena yang paling menarik adalah adanya enterprise resource planning (ERP) dan management resource planning (MRP), yang menambahkan substansial layer dari fitur berorientasi pada aplikasi. Paket yang termasuk didalamnya meliputi Baan, Oracle, PeopleSoft, SAP, dan Siebel. Paket-paket ini mengidentifikasi himpunan tugas secara umum (misal manajemen inventori, perencanaan sumber daya manus ia, analisis finansial) dan menyediakan aplikasi layer secara umum untuk menangani keperluan tersebut. Data disimpan dalam DBMS relasional, dan aplikasi layer dapat disesuaikan untuk perusahaan yang berbeda. Lebih jauh lagi, DBMS memasuki dunia internet. Pada saat generasi pertama dari Web site menyimpan datanya secara eksklusif dalam file system operasi, maka saat ini DBMS dapat digunakan untuk menyimpan data yang dapat diakses melalui Web browser. Query dapat digenerate melalui form Web, dan format jawabannya menggunakan markup language semisal HTML untuk mempermudah tampilan pada browser. Semua vendor basis data menambahkan fitur ini untuk DMS mereka. Manajemen basis data mempertimbangkan pentingnya suatu data bersifat on-line, dan dapat diakses melalui jaringan komputer. Saat sekarang bidang seperti ini diwujudkan dalam basis data multimedia, video interaktif, perpustakaan digital,proyek ilmuwan seperti proyek pemetaan, proyek sistem observasi bumi milik NASA, dll.
Keuntungan DBMS
Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihandibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya :=> Performanceyang idapat dengan penyimpanan dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori=> Integritasdata lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering terjadi dalam DBMS. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan.=> IndependensiPerubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS.=> SentralisasiData yang terpusat akan mempermudah pengelolaan database. kemudahan di dalam melakukan bagi pakai dengan DBMS dan juga kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar.=> SekuritasDBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna.
Dan Keuntungan Penggunaan DBMS lainnya adalah sebagai berikut :=> Pengaksesan yang efisien terhadap dataDBMS menyediakan berbagai teknik yang canggih sehingga penyimpanan dan pengambilan data dilakukan secara efisien.=> Keamanan dan integritas dataKarena data dikendalikan oleh DBMS, DBMS dapat melakukan kendala integritas terhadap data. Segala sesuatu yang tidak sesuai dengan definisi suatu field dan kekangan yang melekat pada field akan ditolak. Sebagai contoh, jika field Jenis_Kelamin dinyatakan berupa P atau W, maka penyimpanan L ke field tersebut dengan sendirinya akan ditolak oleh DBMS.=> Administrasi dataJika sejumlah pemakai berbagi data, pemusatan administrasi dapat meningkatkan perbaikan yang sangat berarti. Dengan cara seperti ini, duplikasi atau redudansi data dapat diminimalkan.=> Akses bersamaan dan pemulihan terhadap kegagalanDBMS menyediakan mekanisme sehingga data yang sama dapat diakses oleh sejumlah orang dalam waktu yang sama. Selain itu, DBMS melindungi pemakai dari efek kegagalan sistem. Jika terjadi kegagalan sistem, DBMS dapat mengembalikan data sebagaimana kondisi saat sebelum terjadi kegagalan.=> Waktu pengembangan aplikasi terpendekDBMS menawarkan banyak fasilitas yang memudahkan dalam menyusun aplikasi sehingga waktu pengembangan aplikasi dapat diperpendek.
Level Abstraksi Dalam DBMS
Data dalam DBMS dapat digambarkan dalam tiga level abstraksi, yaitu konseptual, fisik, dan eksternal. Data definition language (DDL) digunakan untuk mendefinisikan skema eksternal dan konseptual. Semua vendor DBMS menyertakan perintah SQL untuk menggambarkan aspek dari skema fisik. Informasi tentang skema konseptual, eksternal dan fisik disimpan dalam katalog sistem Memiliki beberapa tinjauan (views), skema konseptual tunggal (logical) dan skemafisik.+ Menggambarkan bagaimana cara user melihat data+ Skema konseptual mendefinisikan struktur logika+ Skema fisikal menggambarkan file dan indeks yang digunakan