phone: +420 776 223 443
e-mail: support@londoncreative.co.uk

Selasa, 02 April 2013

BASIS DATA MYSQL



BASIS DATA MYSQL



A.           Pengantar MYSQL
Basis data adalah sekumpalan informasi yang diatur agar mudah dicari. Dalam arti umum basis data adalah sekumpulan data yang diproses dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi.

Sebagaimana diketahui manajemen modern mengikutsertakan informasi sebagai sumber daya penting yang setara dengan sumber daya manusia, uang, mesin dan material. Informasi adalah suatu bentuk penyajian data yang melalui mekanisme pemrosesan, berguna bagi pihak tertentu misalnya manajer. Bagi pihak manajemen, informasi merupakan bahan bagi pengambilan keputusan.
MYSQL termasuk jenis RDBMS (Relasional Database Management System). Sedangkan RDBMS sendiri akan lebih banyak mengenal istilah seperti tabel, baris dan kolom digunakan dalam perintah-perintah di MYSQL. MYSQL merupakan sabuah basis data yang mengandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom. Didalam PHP telah menyediakan fungsi untuk koneksi ke basis data dengan sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi dengan server database MySQL sebagai sarana untuk mengumpulkan informasi.


A.1.1. Pengertian
Database MYSQL merupakan sistem manajemen basis data SQL yang sangat terkenal dan bersifat Open Source. MySQL dibangun, didistribusikan dan didukung oleh MYSQL AB. MYSQL AB merupakan perusahaan komersial yang dibiayai oleh pengembang MYSQL.
Sebenarnya software MYSQL mempunyai dua macam lisensi. Lisensi pertama bersifat open source dengan menggunakan GNU General Public Lisensi dan lisensi kedua berupa lisensi komersial standar (standard commercial license) yang dapat dibeli dari MYSQL AB.
MYSQL dapat didefinisikan sebagai sistem manajemen database. Database sendiri merupakan struktur penyimpanan data. Untuk menambah, mengakses dan memproses data yang disimpan dalam sebuah database komputer, diperlukan sistem manajemen database seperti MYSQL Server. Selain itu MYSQL dapat dikatakan sebagai basis data terhubung (RDBMS). Database terhubung menyimpan data pada tabel-tabel terpisah. Hal tersebut akan menambah kecepatan dan fleksibilitasnya.
Server database MYSQL mempunyai kecepatan akses tinggi, mudah digunakan dan andal. MYSQL dikembangkan untuk menangani database yang besar secara cepat dan telah sukses digunakan selama bertahun-tahun sehiingga membuat server MYSQL cocok untuk mengakses database diinternet. Dan MYSQL juga merupakan sistem client-server yang terdiri atas multithread SQL Server yang mendukung software client dan library yang berbeda.
Fitur utama MYSQL adalah ditulis dalam bahasa C dan C++, bekerja dalam berbagai platform, menyediakan mesin penyimpan transaksi dan nontransaksi, mempunyai library yang dapat ditempelkan pada aplikasi yang berdiri sendiri sehingga aplikasi tersebut dapat digunakan pada komputer yang tidak mempunyai jaringan dan mempunyai sistem password yang fleksibel dan aman, dapat menangani basis data dalam skala besar.




A.1.2. Tipe Data
Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. MYSQL mengenal beberapa tipe data field yaitu :

§  Tipe data numerik
Tipe data numerik dibedakan dalam dua macam kelompok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal. Tipe data numerik selengkapnya dapat dilihat pada tabel 8.1 berikut ini:

Tabel 8.1 Tipe Data Numerik
Tipe Data
Kisaran Nilai
TINYINT
(-128)-127 atau (0-255)
SMALLINT
(-32768)-32767 atau (0-65535)
MEDIUMINT
(-3888608)-8388607 atau 0-16777215
INT, INTEGER
(-2147683648)-(21447683647) atau 0-4294967295
FLOAT
(-3.4 E+38)-(-1.17E-38), 0 dan 1.175E-38-3.4e+38
DOUBLE
(-1.79E+308)-(-2.225E-308), 0 dan 2.225E-308 – 1.79E+308


§  Tipe data string
String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat pada tabel 8.2  berikut:

Tabel 8.2 Tipe Data String
Tipe Data
Kisaran Nilai
CHAR
1-255 karakter
VARCHAR
1-255 karakter
TINYTEXT
1-255 karakter
TEXT
1-65535 karakter
MEDIUMTEXT
1-16777215 karakter
LONGTEXT
1-424967295 karakter

§  Tipe data char() dan varchar()
Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe data varchar() besarnya memori penyimpanan tergantung pada jumlah karakter ditambah 1 byte, dapat dilihat pada tabel 8.3 berikut ini:









Tabel 8.3 Letak Perbedaan Jumlah Memori

Nilai
Char(4)
Memori Penyimpanan
Varchar (4)
Memori Penyimpanan
’’
’’
4 bytes
’’
1 byte
’ab’
’ab’
4 bytes
’ab’
3 bytes
’abcd’
’abcd’
4 bytes
’abcd’
5 bytes
’abcdefgh’
’abcd’
4 bytes
’abcd’
5 bytes


§  Tipe data tanggal
Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE, TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran nilai tertentu. MYSQL akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah. Kisaran nilai dan besar memori penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 8.4 berikut ini:

Tabel 8.4 Tipe Data Tanggal

Tipe Data
Kisaran Nilai
Memori Penyimpanan
DATETIME
1000-01-01 00:00 sampai 9999-12-31 23:59:59
3 byte
DATE
1000-01-01 sampai 9999-12-31
8 byte
TIMESTAMP
1970-01-01 00:00:00 sampai 2037
4 byte
TIME
-839:59:59 sampai 838:59:59
3 byte
YEAR
1901 sampai 2155
1        byte


A.1.3. Operator MYSQL
MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya:
§  Operator Aritmetika
Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal (DATE) menggunakan ekspresi aritmatika. Dapat dilihat pada tabel 8.5 berikut ini:

Tabel 8.5 Operator aritmatika MYSQL

Operator
Keterangan
+
Tambah
-
Kurang
*
Kali
/
Bagi
Mod ()
Modulus
Contoh:

§  Operator Pembandingan
Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax sebagai berikut: WHERE expr operator value. Tabel 8.6 menunjukan operator pembanding pada MYSQL berikut ini:

Tabel 8.6 Operator Pembanding MYSQL

Operator
Keterangan
=
Sama Dengan
> 
Lebih Besar
< 
Lebih Kecil
>=
Lebih Besar atau Sama Dengan
<=
Lebih Kecil atau Sama Dengan
<> 
Tidak Sama Dengan
Contoh:

§  Operator Logika
Operator ini digunakan untuk membandingkan dua nilai variabel yang bertipe boolean. Tabel 8.7 berikut menunjukkan operator logika pada MYSQL:
Tabel 8.7 Operator Logika MYSQL
Operator
Keterangan
AND
Dan
OR
Atau
NOT
Tidak
Contoh:

§  Operator Karakter
Operator untuk membentuk pencarian string yang sesuai dengan nilai yang mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter , ada 3 symbol khusus berikut ini dapat dilihat pada tabel 8.8 berikut ini:
Tabel 8.8 Tabel Operator Karakter
Operator
Keterangan
%
Sembarang karakter berapapun jumlahnya
_
Sembarang satu karakter
[]
Sembarang karakter yang terletak dalam kurung siku

Contoh:






§  Operator Lain-lain
Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list (tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan (range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel 8.9 berikut ini:

Tabel 8.9 Operator lain-lain

Operator
Keterangan
IN
Dalam
BETWEEN
Diantara

Contoh:

§  Fungsi Agregat
Fungsi agregat (kadangkala disebut fungsi grup atau fungsi ringkasan) adalah fungsi yang disedikan oleh SQL untuk menghasilkan sebuah nilai berdasarkan sejumlah data. Fungsi sendiri adalah seuatu kumpulan instruksi yang menghasilkan sebuah nilai jika dipanggil. Fungsi ini juga digunakan pada data numeric untuk menghitung nilai baik rata-rata dan jumlah dari sekumpulan data maupun pencarian jumlah baris dalam tabel. Untuk lebih jelasnyadapat dilihat dalam tabel 8.10 berikut ini:

Tabel 8.10 Fungsi Agregat

Operator
Keterangan
COUNT
Menghitung jumlah baris suatu field
SUM
Menjumlahkan data-data numerik pada suatu tabel
AVG
Menghitung rata-rata suatu field
MAX
Menghitung nilai maksimum suatu field
MIN
Menghitung nilai minimum suatu field

Contoh:


B.             Perintah-Perintah Pada MYSQL
Query sebenarnya berarti permintaan atau perintah. Dengan menggunakan query, maka dapat melihat, mengubah dan menganalisis data dengan berbagai titik pandang yang dikehendaki. Selain itu, query juga dapat dipakai sebagai data bagi formulir, laporan dan bahkan halaman web.
Yang dimaksud dengan query pada MYSQL adalah query yang diciptakan dengan pernyataan-pernyataan SQL. SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengakses basis data relasional. SQL diciptakan oleh perusahaan IBM sekitar tahun 1970, pada waktu yang bersamaan dengan diperkenalkannya konsep relasional database. Setelah mengalami banyak perkembangan, pada masa kini SQL sudah merupakan bahasa yang lazim digunakan dalam dunia database.
Bahasa SQL dapat digolongkan bahasa generasi ke-4 yang tidak berupa bahasa yang berstruktur dan beraturan seperti C dan Pascal (golongan bahasa generasi ke-3). Oleh karena itu bahasa SQL mudah dipelajari. Pernyataan (statement) SQL dapat digolongan atas tiga golongan yaitu:

§  Data Definition Language (DDL) yang mendefinisikan struktur suatu data. Perintah-perintah SQL yang termasuk DDL antara lain adalah:
-          CREATE – untuk membuat
-          ALTER – untuk mengubah
-          DROP – untuk menghapus

§  Data Manipulation Language (DML) yang dapat mencari (query) dan mengubah (modify) suatu tabel. Perintah-perintah SQL yang tergolong DML diantaranya:
-          SELECT – untuk membaca
-          INSERT – untuk memasukkan
-          UPDATE – untuk mengubah
-          DELETE – untuk menghapus

§  Data Control Language (DCL) yang mengatur hak-hak (privilege) untuk seorang pemakai database.Perintah-perintah SQL yang trgolong DCL diantaranya:
-          GRANT
-          REVOKE

Semua bahasa pemrograman mempunyai aturan gramatika. Beberapa aturan perlu diperhatikan pada saat menuliskan perintah-perintah bahasa SQL pada MYSQL adalah:
1.      Semua pernyataan SQL ditutup dengan tanda koma (,).
2.      Perintah SQL dapat ditulis dalam satu baris atau dipisah-pisah dalam beberapa baris agar mudah dibaca.
3.      SQL tidak membedakan huruf besar atau kecil (not case sensitive), tergantung bagaimana isi tabel dimasukkan.
Isi dari tabel peka terhadap huruf besar atau kecil tergantung bagaimana isi tabel dimasukkan.
4.      Pernyataan SQL harus ditulis menurut sintaks tertentu.
5.       Pernyataan SQL dapat diberikan baris komentar untuk dokumentasi serta menjelaskan maksud pemrograman.
                                                                                                      
B.1.1. Create Database
Untuk membuat database dapat dilakukan dengan perintah sebagai berikut:
CREATE DATABASE <nama_database>;
Jika ada komentar ”Query OK” berarti database telah terbuat. Contoh:
CREATE DATABASE unijoyo;








B.1.2. Create Tabel
Dengan menggunakan SQL, maka bisa membuat tabel. Pernyataan yang digunakan berupa CREATE TABLE. Syntaxnya:
CREATE TABLE nama_tabel (
        nama kolom 1 tipe data ([ukuran]),
        nama kolom 2 tipe data ([ukuran]),
       ......
       nama kolom n tipe data ([ukuran]));

Contoh:

B.1.3.  Perintah Select, Insert, Delete, Update, Alter dan Drop
Sebuah pernyataan pada SQL berupa perintah yang meminta sesuatu tindakan DBMS. Sebuah pernyataan diakhiri dengan tanda titik koma (;). Seperti:

-                PERINTAH SELECT:
SELECT adalah pernyataan yang berguna untuk memperoleh data dari sebuah atau beberapa table. Dengan dukungan berbagai klausa seperti WHERE dan GROUP BY, SELECT dapat digunakan untuk memperoleh data dalam bentuk yang sederhana hingga bentuk yang kompleks seperti untuk memperoleh ringkasan data.
Contoh:

-                PERINTAH INSERT:
Pernyataan INSERT digunakan untuk menambah data. Perintah INSERT dalam SQL adalah:
INSERT INTO nama table [(nama kolom 1, nama kolom 2, ….., nama kolom n)] VALUE ( Ekspresi [.Ekspresi]….) | Query);
Contoh :

-                PERINTAH DELETE:
Perintah DELETE digunakan untuk menghapus data pada table. Bentuk umum pernyataan DELETE :
DELETE FROM nama table [WHERE kondisi];
Contoh:

-                PERINTAH UPDATE:
Pernyataan UPDATE berguna untuk mengubah data. Bentuk umum perintah UPDATE :
UPDATE nama table SET kolom 1 = nilai baru 1, kolom 2 = nilai baru 2, …., kolom n = nilai baru n [WHERE kondisi];
Contoh :
-                PERINTAH ALTER:
Perintah ini digunakan untuk mengubah (modify) table yang telah dibuat, seperti: menambah kolom baru, mengubah ukuran kolom, dan mengubah aturan-aturan yang berlaku untuk suatu kolom. Syntaxnya yang dapat dipakai sebagai berikut:
ALTER TABLE nama table [ADD (nama kolom) MODIFY (nama kolom) DROP nama constraint ];
Contoh:

-                PERINTAH DROP:
Apabila bermaksud untuk menghapus suatu table karena table tersebut tidak diperlukan maka bisa melakukannya dengan memakai pernyataan DROP TABLE. Dengan syntaxnya:
DROP TABLE nama table [CASCADE CONSTRAINTS];
Contoh:

C.             Predikat MYSQL
Predikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string, karakter atau range tertentu.

1.      LIKE dan NOT LIKE
-          LIKE digunakan untuk mendapatkan record yang memenuhi sebagian kriteria pencarian yaitu mencari data yang menyerupai atau seperti. Perintah LIKE sering dikombinasikan dengan tanda “persen” (%) dan “underscore” (_). “%” digunakan di awal atau akhir teks kriteria sedangkan “_” dimanapun diinginkan. Syntax dasar dari SELECT yang melibatkan LIKE adalah:
-           

select kolom1, kolom2, […] FROM NAMA_TABEL
WHERE kolom_tabel LIKE %string%;

-          NOT LIKE merupakan lawan dari LIKE. Semua data yang masuk kriteria LIKE secara otomatis tidak masuk kriteria NOT LIKE.




2.      BETWEEN
Digunakan untuk menyeleksi nilai-nilai yang berada dalam kisaran (range), misalnya menampilkan “student” yang mempunyai IPK antara 3,00 sampai 3,50. Sintaks perintah SELECT dengan BETWEEN adalah
select kolom1, kolom2, […] FROM NAMA_TABEL
WHERE nama_kolom BETWEEN nilai1 and nilai2;

3.      LIMIT
Memungkinkan pembatasan jumlah record yang diambil dari database. Sintaks:
select kolom1, kolom2, […] FROM NAMA_TABEL LIMIT jumlah_limit;

4.      INNER JOIN
JOIN digunakan bersama SELECT untuk mengkombinasikan kolom dari satu tabel dengan kolom pada tabel lain. Proses utama yang dilakukan oleh JOIN adalah mencocokkan nilai pada field kunci pada kedua table. INNER JOIN mengembalikan semua baris sebagai hasil yang memenuhi suatu kondisi

5.      LEFT JOIN
Suatu LEFT JOIN mengembalikan semua baris sisi kiri kondisional bahkan jika tidak ada sisi kanan yang memenuhi sekalipun

6.      RIGHT JOIN
Suatu RIGHT JOIN akan menampilkan baris-baris sisi kanan kondisional yang memenuhi atau tidak memenuhi kondisi.

7.      UNION
Untuk menggabung dua tabel, menempatkan dua query terpisah secara bersama membentuk satu table. UNION akan memberikan hasil terbaik saat menggunakan dua tabel dengan kolom serupa karena setiap kolom harus mempunyai tipe data sama. Sintaks dasar:
select kolom1, kolom2  FROM NAMA_TABEL
UNION
select kolom1, kolom2  FROM NAMA_TABEL;

8.      UNION ALL
Memilih semua baris dari setiap tabel dan mengkombinasikannya ke dalam satu tabel. Perbedaan antara UNION dan UNION ALL yaitu UNION ALL tidak akan menghapus (mengeliminir) baris-baris yang sama (duplicate rows) – hanya mengambil semua baris dari semua tabel sesuai query yang dikirim ke server database.

9.      Sub-Query
Merupakan query SELECT yang ditempatkan di dalam suatu pernyataan SQL lain. Dapat diletakkan sebagai bagian dari query utama : SELECT, INSERT, UPDATE, DELETE, SET, DO. Sintaks:
select kolom1, kolom2, kolom3 […] FROM NAMA_TABEL
WHERE kolom_tabel = (select kolom1, kolom2, kolom3 […] FROM NAME_TABEL_LAIN);
D.            Fungsi Pada MYSQL
PHP menyediakan fungsi untuk koneksi ke database dengan sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi dengan server database MySQL. Fungsi koneksi ke server database mengunakan pola yang sama yaitu server, port, user, password. Fungsi-fungsi tersebut adalah:

1.            mysql_connect(host,user,password)
Fungsi ini digunakan untuk membuka koneksi dengan server MySQL. Parameter yang digunakan sebagai berikut:
Host: nama server dengan server local  dapat dengan menggunakan localhost.
User: user yang terdaftar dalam MySQL yang digunakan untuk login ke server.
Password: password dari user yang melakukan koneksi.
Contoh:


2.            mysql_select_db(nama_database,nama_koneksi)
Fungsi ini digunakn untuk memilih database yang akan digunakan. Contoh:


3.            mysql_query(perintah_query,nama_koneksi)
Perintah ini digunakan untuk mengirimkan query ke server database melalui link nama koneksi. Fungsi ini mengembalikan nilai FALSE baik CREATE, UPDATE, DELETE, DROP, dll. Contoh:


4.            mysql_fetch_array(hasil_query)
Fungsi ini digunakan untuk melakukan pembacaan record hasil query yang dilakukan. Pembacaan ini dilakukan mulai dari record pertama sampai nilai terakhir. Tiap record dibaca, dibentuk menjadi array dengan index numeric dari 0 sampai dengan n-1 dan index assosiatif dengan index adalah nama field dari table.

5.            mysql_fetch_row(hasil_query)
Fungsi ini mempunyai hampir sama dengan mysql_fetch_array tetapi array hasil pembacaan data hanya menggunakan index numeris saja yang dimulai dari 0 untuk kolom pertama samapai n-1 untuk kolom terakhir hasil query.

6.            mysql_result(hasil_query, no_record,nama_field),
Fungsi ini berguna untuk mengambil langsung nilai hasil query pada suatu baris dan kolom tertentu (satu sel) dengan menyebutkan parameter variabel hasil proses query, no_record, untuk nomor baris (dimulai dari 0) dan nama field.



7.            mysql_num_field(hasil_query)
Fungsi berguna untuk mendapatkan jumlah field dari hasil query.
Contoh:


8.            mysql_num_rows(hasil_query)
Fungsi ini berguna untuk mendapatkan jumlah baris dari hasil query. Menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil. Mengambil data secara baris per baris. Data yang diambil dalam bentuk array (elemen dari array adalah field-field dari tabel data). Contoh:
E.               Kesimpulan
·         MYSQL termasuk jenis RDBMS (Relasional Database Management System). Database MYSQL merupakan sistem manajemen basis data SQL yang sangat terkenal dan bersifat Open Source. MYSQL mengenal beberapa tipe data field yaitu : Tipe data numerik, Tipe data string, Tipe data char() dan varchar() serta Tipe data tanggal. MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya: Operator Aritmetika, Operator Pembandingan, Operator Logika, Operator Karakter, Operator Lain-lain seperti: IN, BETWEEN dan Fungsi Agregat.
·         Dengan menggunakan query, maka dapat melihat, mengubah dan menganalisis data dengan berbagai titik pandang yang dikehendaki. Yang dimaksud dengan query pada MYSQL adalah query yang diciptakan dengan pernyataan-pernyataan SQL. SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengakses basis data relasional. Pernyataan (statement) SQL dapat digolongan atas tiga golongan yaitu: Data Definition Language (DDL), Data Manipulation Language (DML) dan Data Control Language (DCL). Predikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string, karakter atau range tertentu. Seperti : LIKE dan Not Like, Between, Limit, Inner Join, Left Join, Right Join, Union dan lain sebagainya. PHP juga menyediakan fungsi untuk koneksi ke database dengan sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi dengan server database MySQL.
·         Fungsi koneksi ke server database mengunakan pola yang sama yaitu server, port, user, password. Fungsi-fungsi tersebut adalah: mysql_connect (host, user, password), mysql_select_db (nama_database, nama_koneksi), mysql _query(perintah_query, nama_kondisi), mysql_fetch_array (hasil_query), mysql mysql_fetch_row(hasil_query) dan lain sebagainya.

Tidak ada komentar:

Posting Komentar