Senin, 11 Oktober 2010

BASIS DATA_MYSQL


a.    PENDAHULUAN

Definisi Basis Data/ Database
Basis data merupakan salah satu komponen penting dalam system informasi, karena merupakan dasar dalam menyediakan informasi. Kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. database pun memiliki perangkat lunak seperti perangkat lunak seperti MySQL, oracle, postgreSQL, microsoft SQL,dan sebagainya. Database ini sangat diperlukan karena basis data menentukan kualitas informasi, dapat mengurangi duplikasi data (data redudancy), dapat mengurangi pemborosan tempat simpanan luar dan dengan mengaplikasikan basis data hubungan data dapat ditingkatkan.
Basis data terdiri atas dua bahasa yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL merupakan  kumpulan perintah yang dapat digunakan untuk mendefinisikan objek–objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder. Sedangkan DML ialah kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali. Perangkat lunak database relasi seperti halnya oracle,postgreSQL,microsoft SQL,dan sebagainya
Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut:
a. Kecepatan dan kemudahan (Speed)
b. Efisiensi ruang penyimpanan (Space)
c. Keakuratan (Accuracy)
d. Ketersediaan (Avaibility)
e. Kelengkapan (Completeness)
f. Keamanan (Security)
g. Kebersamaan pemakaian (Sharability)
Kelemahan Sistem Basis Data
ü      Memerlukan tenaga spesialis
ü      Kompleks
ü      Memerlukan tempat yang besar
ü      Mahal
b.    PEMBAHASAN
Definisi MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
Awalnya MY SQL dijalankan pada sistem operasi Unix dan Linux. Tapi kini di Windows pun sudah tersedia MYSQL versi windows. Mereka yang menggunakan Linux biasanya MYSQL sudah terinstall secara default. Bila belum dapat menginstalnya menggunakan RPM (Redhat Package Manager, merupakan prosedure instalasi software yang menjadi standar de-facto untuk Linuk itu sendiri, walaupun kita tidak menggunakan linux redhat).Selanjutnya kalau kita menggunakan OS Windows pun juga menyediakan paket software yang merangkum MYSQL, Apache webserver dan php yang sangat mudah untuk dinstall.



Sistem manajemen basis data relasional
MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL berbeda dengan karena SQL sendiri didefinisikan sebagai suatu sintak perintah-perintah tertentu yang digunakan untuk mengelola suatu database. MySQL merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya.
MySQL merupakan server database yang memiliki kemampuan multiuser, kecepatan akses yang tinggi, kenyamanan dalam penggunaan dan kestabilan yang baik dalam mengelola data dalam jaringan. MySQL mempunyai ukuran yang relative kecil tetapi kemampuannya dalam mengelola database sangat baik. Selain itu MySQL juga merupakan proyek open source. Dengan konsep open source siapa saja dapat mengembangkan program database ini karena kode sumber disertakan dalam distribusinya. Dengan demikian bila terdapat bug atau kesalahan dalam pengembangan program akan dapat dengan cepat diperbaiki melalui komunitas open source.

Keistimewaan MySQL

MySQL memiliki beberapa keistimewaan, antara lain :
  1. Portabilitas, MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
  2. Perangkat lunak sumber terbuka, MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
  3. Multi-user,  MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
  4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
  5. Ragam tipe data, MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  6. Perintah dan Fungsi, MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
  7. Keamanan, MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
  8. Skalabilitas dan Pembatasan, MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
  9. Konektivitas, MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
  10. Lokalisasi, MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya.
  11. Antar Muka,  MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  12. Klien dan Peralatan, MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
  13. Struktur tabel, MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

Bahasa pemrograman

Terdapat beberapa API (Application Programming Interface) tersedia yang memungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat mengakses basis data MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.

Penggunaan

MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo. Text dicoret{{}}

Administrasi

Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQ Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin. Untuk perangkat lunak untuk administrasi basis data MySQL yang dijual secara komersial antara lain: MySQL front, Navicat dan EMS SQL Manager for MySQL.
Perintah dasar MySQL
Bahasa SQL memiliki struktur yang mudah dipahami karena perintah – perintahnya pada dasarnya dibuat dari bahasa Inggris. Sehingga kita dapat melakukan perintah – perintah SQL ke dalam database MySQL, yaitu
a. Memasukkan atau menambah record baru ke dalam database.
b. Mengeksekusi query database
c. Mengambil data dari database
d. Mengubah record pada database
e. Menghapus record pada database
Perintah SQL dapat diketik dengan huruf besar atau kecil (non case sensitive). Setelah selesai mengetik perintah di MySQL harus diakhiri dengan tanda titik koma sebagai penanda akhir dari perintah MySQL. Perintah SQL dapat diketik dengan huruf besar atau kecil (non case sensitive). Setelah selesai mengetik perintah di MySQL harus diakhiri dengan tanda titik koma sebagai penanda akhir dari perintah MySQL.

Dasar MySQL
         Mengaktifkan direktory MySQL
c:\>MYSQL
         Mengatur password root
mysql>MYSQLADMIN –UROOT PASSWORD nama password;
         Membuat, mengaktifkan dan melihat database
mysql>CREATE DATABASE nama_database;
mysql>USE nama_database;
mysql>SHOW DATABASES;

         Membuat, mengetahui struktur dan melihat tabel
mysql>CREATE TABLE nama_table (nama_field type_field(panjang_field), ) ;
mysql>DESCRIBE nama_table;
mysql>SHOW TABLES;

         Mengisikan data ke dalam tabel
mysql>INSERT INTO nama_tabel VALUE(data1a,data1b,…..);
         Menampilkan data untuk semua kolom
mysql>SELECT * FROM nama_table;
         Menampilkan data untuk kolom tertentu
mysql>SELECT field1,field2 FROM nama_table;
         Menampilkan data dengan menghindari pengulang-an data pada kolom yang diinginkan
mysql>SELECT DISTINCT field1 FROM nama_table;
         Menampilkan data dengan mengurutkannya secara Ascending atau Descending
mysql>SELECT field1,field2 FROM nama_table ORDER BY field3;
         Menampilkan data dengan penyaringan
mysql>SELECT FROM nama_table WHERE field1 = Item_data;
mysql>SELECT FROM nama_table WHERE field1 < item_data;
mysql>SELECT FROM nama_table WHERE field1 BETWEEN item_data1 AND item_data2;
mysql>SELECT FROM nama_table WHERE field1 LIKE %keyword’;

         Mengetahui jumlah nilai pada suatu kolom (SUM)
mysql> SELECT SUM(field1) FROM nama_tabel ;
         Mengetahui jumlah nilai rata-rata pada suatu kolom (AVG)
mysql> SELECT AVG(field1) FROM nama_tabel ;
         Mengetahui nilai maksimal/minimal pada suatu kolom (MAX/MIN)
mysql> SELECT MAX(field1) FROM nama_tabel ;
mysql> SELECT MIN(field1) FROM nama_tabel ;
         Mengetahui jumlah record yang tidak bernilai kosong pada suatu tabel (COUNT)
mysql> SELECT COUNT(*) FROM nama_tabel ;
         Melihat gabungan dua tabel
mysql> SELECT nama_tabel1.field1a, nama_tabel1.field1b, nama_tabel2.field2a, nama_tabel2.field2b FROM nama_tabel1,nama_tabel2 WHERE nama_tabel1.field3a, nama_tabel2.field3b ;


Fungsi-fungsi MySQL yang dapat diakses PHP
         Mysql_connect : untuk membuat hubungan ke database MySQL yang terdapat pada suatu host
mysql_connect(host,nama_pemakai,password);
Contoh : $id_mysql= mysql_connect(“localhost”,”php”,”pinguin”);
         Mysql_close : untuk menutup hubungan ke database MySQL
mysql_close(pengenal_hubungan);
Contoh : mysql_close($id_mysql”);
         Mysql_select_db : untuk memilih database MySQL (seperti USE)
mysql_select_db(database, pengenal_hubungan);
Contoh : mysql_select_db(“bukualmt”,$id_mysql);
         Mysql_query : untuk mengeksekusi permintaan tehradap tabel
mysql_query(permintaan, pengenal_hubungan);
Contoh : mysql_query(SELECT * FROM kota”,,$id_mysql);
         Mysql_db_query : untuk menjalankan suatgu permintaan terhdap suatu database
mysql_db_query(database, permintaan,pengenal_hubungan);
Contoh : mysql_db_query(“bukualmt”,”SELECT * FROM kota”,$id_mysql);



Objek Basis Data
Di MySQL, basis data direpresentasikan sebagai suatu direktori; di mana di dalamnya terdapat himpunan file-file tabel yang terdefinisi. Pembuatan basis data dilakukan menggunakan pernyataan CREATE DATABASE dan diikuti dengan nama basis data yang akan dibuat. Bentuk sintaks pembuatan basis data:
CREATE DATABASE [IF NOT EXISTS] nama_database;
Oleh karena basis data merupakan suatu schema, maka penghapusannya dilakukan menggunakan perintah DDL DROP DATABASE. Bentuk formal penghapusan basis data:
DROP DATABASE [IF EXISTS] nama_database.
Objek Tabel
MySQL mendukung penuh standar ANSI/ISO SQL. Dengan demikian, perintah pembuatan tabel di MySQL juga sama seperti DBMS lainnya. Bentuk sintaks pembuatan tabel diperlihatkan sebagai berikut:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] nama_tabel
[(create_definisi,...)]
[table_options] [select_statement]

Untuk menghapus tabel yang terdefinisi, kita dapat memanfaatkan perintah DROP.
DROP TABLE [IF EXISTS] nama_tabel.

Adapun untuk operasi-operasi modifikasi baik modifikasi tabel maupun field dapat dilakukan dengan memanfaatkan perintah ALTER.

Akses dan Manipulasi Data

Operasi-operasi akses dan manipulasi data mencakup pengambilan atau seleksi, penambahan, pengubahan, dan penghapusan di MySQL juga didasarkan pada standar SQL. Dengan demikian, adanya standardisasi ini memungkinkan keseragaman operasi di lintas DBMS.


c.     KESIMPULAN
Basis data adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Banyak terdapat software di dalam database diantaranya adalah MySQL.
Basis data menyediakan fasilitas atau memudahkan dalam memproduksi informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan teknologi basis data pada saat sekarang (dunia bisnis).

MySQL termasuk ke dalam Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). MySQL merupakan turunan dari konsep database SQL (Structured Query Languange) untuk pemilihan /seleksi dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Contoh penggunaan aplikasi database dalam dunia bisnis :
         Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
         Bandara: Pengelolaan data reservasi, penjadualan
         Universitas:  Pengelolaan pendaftaran, alumni
         Penjualan: Pengelolaan data customer, produk, penjualan
         Pabrik:  Pengelolaan data produksi, persediaan barang, pemesanan, agen
         Kepegawaian:  Pengelolaan data karyawan, gaji, pajak
         Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa














REFERENSI:
       achsan.staff.gunadarma.ac.id/.../1a.+PENGANTAR+BASIS+DATA.doc
       karmila.staff.gunadarma.ac.id/.../Konsep+Basis+Data.ppt