mengimpor dan mengekspor data

34
BAB 14 MENGEKSPOR DAN MENGIMPOR DATA 14.1 Mengekspor Data Ekspor data adalah mengubah data dalam tabel database ke dalam suatu format yang dapat digunakan oleh program eksternal. Data yang berada pada database dapat diambil dan disimpan dalam bentuk file. Ada dua cara yang dapat ditempuh. Pertama dengan menggunakan utilitas bernama mysqldump dan yang kedua melalui pernyataan insert into outfile. 14.1.1 Ekspor Data menggunakan Utilitas mysqldump Utilitas mysqldump bermanfaat untuk mengambil struktur di dalam suatu database beserta isinya. Dengan demikian, utilitas ini data dimanfaatkan untuk kepentingan backup atau untuk keentingan memindahkan database ke server yang lain. Kaidah penggunaan mysqldump adalah sebagai berikut : Mysqldump [OPSI] database [table] Yang berada dalam tanda [] berarti bersifat opsional (bisa ada, bisa tidak ada). Apabila mysqldump dipanggil tanpa disertai argument sama sekali, utilitas ini akan menampilkan kaidah pemakaiannya. Contoh ditunjukkan pada gambar berikut. C : \wamp\bin\mysql\mysql5, O.45\bin>mysqldump Usage: mysqldump [OPTIONS] datsabase [tables] OR mysqldump [OPTIONS] --database [OPTIONS] DB1

Upload: abdillah-m-mustafa

Post on 01-Dec-2015

207 views

Category:

Documents


3 download

DESCRIPTION

Materi Basis Data

TRANSCRIPT

BAB 14

MENGEKSPOR DAN MENGIMPOR DATA

14.1 Mengekspor DataEkspor data adalah mengubah data dalam tabel database ke dalam

suatu format yang dapat digunakan oleh program eksternal. Data yang berada pada database dapat diambil dan disimpan dalam bentuk file. Ada dua cara yang dapat ditempuh. Pertama dengan menggunakan utilitas bernama mysqldump dan yang kedua melalui pernyataan insert into outfile.

14.1.1 Ekspor Data menggunakan Utilitas mysqldumpUtilitas mysqldump bermanfaat untuk mengambil struktur di

dalam suatu database beserta isinya. Dengan demikian, utilitas ini data dimanfaatkan untuk kepentingan backup atau untuk keentingan memindahkan database ke server yang lain.

Kaidah penggunaan mysqldump adalah sebagai berikut :

Mysqldump [OPSI] database [table]Yang berada dalam tanda [] berarti bersifat opsional (bisa ada, bisa tidak ada). Apabila mysqldump dipanggil tanpa disertai argument sama sekali, utilitas ini akan menampilkan kaidah pemakaiannya. Contoh ditunjukkan pada gambar berikut.

C : \wamp\bin\mysql\mysql5, O.45\bin>mysqldumpUsage: mysqldump [OPTIONS] datsabase [tables]OR mysqldump [OPTIONS] --database [OPTIONS] DB1 [DB2 DB3…]OR mysqldump [OPTIONS] --all- database [OPTIONS]For more options, use mysqldump –-help

C: \wamp\bin\mysq]\mysql5. 0. 45\bin>

Gambar 14.1 Pemanggilan Mysql tanpa argument

Menghilangkan Pernyataan CREATE TABLEUtilitas mysqldump menyertakan opsi berupa –t atau -–no-create-

info yang berguna untuk menghilangkan bagian pernyataan ALTER TABLE. Contoh:

msqldump -–no-create-info -u root -p pegawai infoprib Menghilangkan Pernyataan INSERT

Utilitas mysqldump menyertakan opsi berupa –d atau --no-data yang berguna untuk menghilangkan bagian pernyataan INSERT. Contoh:

msqldump -–no- data -u root -p pegawai infoprib

Mengekspor Sebuah DatabaseUntuk mengekspor isi sebuah database, yang disebutkan cukup

database-nya saja. Contoh:mysqldurnp -u root -p pegawai

Dengan cara seperti itu, isi seluruh tabel akan diproses. Hasilnya kelak dapat dipakai untuk dimasukkan kembali ke server MySQL, melalui perintah mysqlimrport.

Menyimpan Hasil ke FileSemua contoh yang diberikan membuat hasil mysqldunrp dikirimkan

ke layar. Agar bisa disirnpan ke dalam file. gunakan fifur redirection yang tersedia dalarn sistem operasi. Pada Windows ataupun Linux, redirection diperoleh dengan cara menambahkan

nama_filedi akhir baris perintah. Contoh:

mysqldump -u root -p pegawai > /tmp/pegawai.sqlSebelum membedkan perintah di atas. pastikan bahwa terdapat direktori bemama tmp. Perintah itu sendiri mengirimkan hasilnya ke flle bemama pegawai . sql yang berada pada direklori tmp.

14.1.2 Ekspor Data menggunakan OUTFILEDengan menggunakan perintah ekspor data, maka kita dapat mengekspor

data yang telah kita buat kedalam bentuk file lain, seperti file.txt. berikut ini merupakan perintah-perintah yang digunakan untuk ekspor data:

KODE KETERANGAN

SELECT[data/field] Untuk menyeleksi fields mana saja yang ingin di ekspor

INTO OUTFILE ’nama_file’ Untuk menentukan nama file tempat kita akan menyimpan data yang kita ekspor. Hasil keluarannya akan otomatis tersimpan paa folder mysql/mysql5.0.45/data.

FIELDS Untuk memisahkan penyimpanan data berdaarkan setiap field.

TERMINATED BY ‘isi’

Merupakan subclause dari syntax FIELDS, berguna untuk memberi embatas untuk setia fieldnya. Jika tidak diatur maka default pemisah antar setiap field adalah TAB.

ENCLOSED BY ‘isi’ Merupakan subclause dari syntax FIELDS, berguna untuk menutu setiap fields dengan karakter yang ditentukan. Efaultnya adalah kosong.

ESCAPED BY ‘isi’ Merupakan subclause dari syntax FIELDS, berguna untuk menandai setiap karakter istimewa yang terdapat di dalam field yang akan di copy, misalnya karakter kutip satu(‘).

LINES Untuk memisahkan penyipanan data berdasarkan setiap barisnya.

STARTING BY ‘isi’ Merupakan subclause dari syntax LINES, berguna untuk memberikan string pada awal setiap baris.

TERMINATED BY ‘isi’

Merupakan subclause dari syntax LINES, berguna untuk memberi pembatas setiap baris datanya.

FROM nama_tabel Menentukan nama tabel yang fieldsnya akan di ekspor.

Karakter yang bisa digunakan untuk perintah TERMINATED BY, ENCLOSED BY:

KARAKTER ARTI

\’ Kutip Satu

\\ Backlash

\n Enter / Pindah Baris

\r Carriage Return

\s Spasi

\t Tab

Sebagai contoh, bila diberikan perintahSELECT *FROM bagian ORDER BY kode_bag;

Maka hasilnya ditampilkan ke layar. untuk mengirinrkan hasil query ke file. Cukup dengan rnenambahkan INTO FILE yang diikuti dengan nanta .filc.

Contoh:SELECT * FROM bagian ORDER BY kode_bagINTO OUTFILE ' / tmp/bagian.txt’;

Sebelum mencoba perintah di atas. pastikan bahwa ada direktori bernama tmp. Dengan cara seperti itu, file bagian.txt yang berada dalam direktori tmp berisi hasil dari SELECT *FROM bagian. Isi file ini diperlihatkan pada gambar berikut.

C : \wamp\bin\mysql\mysql5, O.45\bin>type\bagian.txt1 Pemasukan2 Produksi3 Akuntansi4 SDM5 PDE

C: \wamp\bin\mysq]\mysql5. 0. 45\bin>

Gambar 14.2 isi file bagian

Tampak bahwa data antar kolom dipisahkan oleh tab dan setiap baris data diakhiri dengan akhir baris.

SELECT INTO OUTFILE memungkinkan pengaturan pemisah antardata. pemberian tanda kutip pada data. dan bahkan penentuan pemisah antarbaris. Contoh berikut memberikan gambaran tentang hal ini.

SELECT nip, nama, kota FROM infopribINTO OUTFILE ‘/tmp/pegawai.txt’FIELDS TERMINATED BY ‘,’ENCLOSED BY ‘ “ ‘LINES TERMINATED BY ' C n ‘

Pada pernyataan diatas.

FIELDS TERMINATED BY ’,’ menyatakan bahwa setiap data kolom diakhiri dengan koma.

ENCLOSED BY ‘’’’ menyatakan bahwa data setiap kolom diberi tanda kutip berupa petik ganda (“).

LINES TERMINATED BY ' \ n ‘ menyatakan bahwa setiap baris diakhiri dengan tanda ' \ n ‘ yang berarti tanda akhir baris.Hasil pada file pegawai.txt diperlihatkan pada gambar berikut,

“12345”,”Dian Permana”,”Yogya”“12346”,”Tamara Febrianti”,”Klaten”“12347”,”Daara Permatasari”, \N“12348”Dita Nurafni”,”Klaten”“12349”Dhani Akbar”,”Yogya”“12350”Aan Setiawan”,”Yogya”“123451”Raul Sitompul”,”Bantul”“123452”,”Rahmanda”,”Magelang”“123453”,”Niken Pratiwi”,”Magelang”“123454”.”Inneke Safitri”,”Bantul”

Gambar 14.3 Isi file filepegawai.txt

14.2 Mengimpor Data

Ada empat cara yang bisa dipakai untuk mengambil data yang terdapat pada suatu file dan meletakkannya ke database. Pertama melalui program klien MySQL. Kedua dengan menggunakan pernyataan LOAD DATA INFILE. Ketiga, melalui utilitas mysqlimport dan memasukkan data dari Query.

14.2.1 Mengimpor Data MenggunakanMySQL

Program klien MySQLdapatdigunakan untuk mengimpor data. Pengimporan dilakukan melalui baris perintah dengan kaidah sebagai berikut:Mysql [OPSI] database < nama_filepada model seperti diatas, pernyataan-pernyataan SQL dalam nama_file akan diproses untuk ditunjukan ke database yang disebut dalam baris perintah. Pernyataan-pernyataan SQL tersebut umumnya berasal dari hasil utilitas mysqldump, namun bisa saja berupa file yang dibuat dengan menggunakan tool apa saja sepanjang di dalam file tersebut berisi perintah SQL.

Untuk mempraktikkan pengimporan data, mulamula eksporlah tabel infoprib melalui perintah:

Mysqldump –u root –p pegawai infoprib > /tmp/infoprib..sqlDengan cara seperti itu struktur da nisi tabel infoprib dikirim ke file infoprib.sql yang berada pada direktori tmp. Jika tidak ada, buatlah terlebih dahulu. Kemudian, lihatlah sejenak isi file tersebut dan pastikan bahwa memang terdapat perintah CREATE TABLE dan INSERT.

Selanjutnya, cobalah untuk menggunakan program klien mysql dan hapuslah isi tabel infoprib dengan memberikan perintah

DELETE FROM infoprib;Dengan cara seperti itu isi tabel infoprib menjadi kosong. Lalu keluarlah dari program mysql.

Berikutnya pada prompt system operasi, berikan perintah Mysqldump –u root –p pegawai > /tmp/infoprib..sqlUntuk menguji bahwa data telah diimpor, cek isi tabel infoprib

dengan memberikan pernyataanSELECT *FROM infoprib

14.2.2 Mengimpor Data Menggunakan LOAD DATA INFILEJika kita mengimpor data dengan menggunakan perintah LOAD

DATA INFILE, kita harus memberikan spesifikasi penyimanan data yang akan kita import. Misalnya jika data yang akan kita impor si dimpan dengan metode TERMINATED BY, ENCLOSED BY, FIELDS, LINE, dan lainnya, maka kita harus mmenyebutkan metode tersebut di dalam sintax import data.

Pernyataan LOAD DATA INFILE berguna untuk membaca data dari suatu file dan meletakkan ke dalam sebuah tabel. Kaidah penggunaan;

LOAD DATA INFILE nama_file INTO TABLE nama_tabelPernyataan ini menyaratkan urutan data dalam nama_file sama dengan urutan kolom nama tabel. Dalam hal ini, emisah antardata berupa tab. File yang dibentuk melalui SELECT INTO OUTFILE dapat dibaca oleh LOAD DATA INFILE.

Sebagai contoh, di depan Anda telah membentuk file bernama bagian.txt yang dieroleh melalui

SELECT *FROM bagian ORDER BY kode_bagINTO OUTFILE ‘/tmp/bagian.txt’;

File tersebut dapat dimasukkan ke tabel melalui LOAD DATA INFILE.Untuk mempraktekkannya, pastikan bahwa Anda telah memiliki file

bagian.txt. selanjutnya, hapuslah isi tabel bagian dengan menggunakan DELETE FROM bagian. Lalu, isikan satu data berupa kode_bagian R dan nama_bagian berupa R&D. isi untuk sementara tabel ini seperti berikut.

Mysql> SELECT *FROMM bagian;

+--------------------------+-------------------------+

| kode_bag | nama_bag |

+--------------------------+-------------------------+

| R | R&D |

+--------------------------+-------------------------+

I row in set (0.00 sec)

Gambar 14.4 Tabel bagian hanya mengandung 2 baris

Gambar berikut menunjukkan pemanggilan LOAD DATA INFILE da nisi tabel bagian setelah pernyataan tersebut dijalanka

mysql > LOAD DATA INFILE

‘/tmp/bagian.txt’

INTO TABLE bagian;

Query OK, 5 rows affected (0.00 sec)

Records ; 5 Deleted : 0 Skipped : 0

Warning : 0

Mysql > SELECT *FROM bagian;

+---------+----------+

| kode_bag | nama_bag |

+---------+----------+

|3 |Akuntansi|

|5 |PDE |

|1 |Pemasaran|

|2 |Produksi |

|R |R & D |

|4 |SDM |

+---------+----------+

6 rows in set (0.00 sec)

mysql >

Gambar 14.5 tabel bagian telah diisi dengan data dari file bagian.txt

Perintah LOAD di atas memuat isi file bagian.txt ke tabel bagian. Tampak bahwa ada 5 baris yang disisipkan, sehingga jumlah baris totalnya menjadi 6 buah.

Apabila antardata pada file yang akan dimasukkan ketabel tidak menggunakan pemisah berupa tab, perlu ditambahkan FIELDS TERMINATED BY. Apabila antarbaris menggunakan kode bukan newline atau indah baris (/n), erlu enambahan LINES TERMINATED BY. Jika setiap data ditulis dengan diapit tanda tertentu, perlu penambahan ENCLOSED BY.

Untuk mempraktikkan keadaan seperti itu, mula-mula buatlah file bernama bagbaru.txt pada direktori tmp. File bisa dibuat dengan menggunakan editor teks apa saja. Isinya sebuah baris seperti berikut;

“D, “Distribusi”-“,”S”-“Service”-“H”,”Humas”

Perhatikan, setiap data ditulis dalam tanda etik ganda. Antara data kode bagian dan nama bagian dipisahkan dengan koma. Antarbaris dipisahkan dengan tanda minus (-).

Selanjutnya, berikan perintah:

LOAD DATA INFILE ‘/tmp/bagbaru.txt’

INTO TABLE bagian

FIELDS TERMINATED BY “,”

ENCLOSED BY ‘ “ ‘

LINES TERMINATED BY ‘_’ ;

Pada pernyataan di atas,

FIELDS TERMINATED BY “,” menyatakan bahwa pemisah antardata berupa koma.

Enclosed by ‘ “ ‘ menyatakan bahwa data ditulis dalam tanda petik ganda, dan

LINES TERMINATED BY ‘_’; menyatakan bahwa pemisah antarbaris berupa minus (-).

Gambar menunjukkan isi tabel bagian setelah LOAD DATA tersebut dijalankan.

mysql > SELECT *FROM bagian;

+---------+----------+

| kode_bag | nama_bag |

+---------+----------+

|3 |Akuntansi|

|D |Distribusi |

|H |Humas |

|5 |PDE |

|1 |Pemasaran|

|2 |Produksi |

|R |R & D |

|4 |SDM |

|S |Service |

+---------+----------+

9 rows in set (0.00 sec)

Gambar 14.6 isi bagian setelah ada penambaha bagian-bagian baru

Apabilah urutan data pada file berbeda dengan urutan data dalam tabel. Anda bisa menyebutkan urutan data pada file tersebut pada bagian akhir perintah. Sebagai gambaran, ubalah isi file bagbaru.txt menjadi seperti berikut :

“Gudang”,”G”-“Pelatihan”,”P”Perhatikan bahwa susunan data di atas dimulai dari nama bagian dan diikuti dengan kode bagian.

Perintah untuk meyisikan data tersebut kedalam tabel bagian adalah seperti berikut:

LOAD DATA INFILE ‘/tmp/bagbaru.txt’INTO TABLE bagianFIELDS TERMINATED BY “,”ENCLOSED BY ‘ “ ‘LINES TERMINATED BY ‘_’(nama_bag, kode_bag);

Tambahan di belakang LINES TERMINATED BY ‘_’ berupa (nama_bag, kode_bag) menyatakan bahwa urutan data dalam file adalah nama_bag baru diikuti dengan kode_bag. Dengan cara seperti ini data bisa dimasukkan dengan benar.

14.2.3 Mengimpor Data menggunakan mysqlimportAlternative ketiga untuk mengimpor data yakni dengan menggunakan

utilitas mysqlimport. Kaidah penggunaan utilita ini sebagai berikut:Dalam hal ini,

Database menyatakan nama database untuk meletakkan data Nama_file adalah file teks yang berisi data yang akan disisipkan ke

tabel.Beberapa opsi dapat dilihat pada Tabel 19.1. Opsi yang lain dapat dilihat dengan memberikan perintah:

Mysqlimport –help

Tabel Beberapa opsi pada mysqlimportOPSI KETERANGAN-u nama_pemakai Nama pemakai untuk koneksi ke database-p Menyatakan ada password untuk pemakai--delete atau -d Tabel taret akan dikosongkan terlebih dahulu--igrone atau -i Kalau ada kunci yang kembar, baris bersangkutan

tidak diproses, tetapi baris berikutnya tetap diproses(tidak dihentikan)

-local atau -L Mysqlimport dilakukan di mesin local (bukan di server)

-replace atau -r Kalau ada kunci kembar, data akan diganti dngan data dari file

--fields-terminated-by=karakter

Menentukan pemisah antardata

--force atau -f Memaksa untuk terus melakukan proses impor walau ada kesalahan

--lines-terminated-by=karakter

Menentukan pemisah baris

--fields-enclosed-by=karakter

Menentukan karakter yang mengapit data

Di depan anda telah membentuk file bagian.txt yang dibentuk oleh pernyataan:

SELECT *FROM bagian ORDER BY kode_bagINTO OUTFILE ‘/tmp/bagian.txt;

Isi pada file bagian.txt dapat digunakan untuk mengganti semua baris yang terdapat pada tabel bagian. Sebagaimana diketahui, telah banyak tambahan baris yang mysqlimport. Caranya, berikan perintah pada prompt system operasi:

Mysqlimport –root –p –d pegawai bagian.txtPada perintah di atas, pegawai menyatakan database yang akan diproses. File bagian.txt merupakan file yang isinya akan digunakan untuk mengisikan tabel bagian. Sebagaimana telah dijelaskan di depan, nama depan file yang berisi data yang akan diimpor menyatakan anama tabel yang diperoses. Adapun, opsi –d menyatakan bahwa tabel bagian akan dikosongkan terlebih dahulu. Tentu saja, berhati-hatilah dalam menggunakan opsi –d.

Setelah perintah di atas dieksekusi, isi tabel bagian akan sesuai dengan data yang terdapat pada file bagian.txt. Gambar menunjukkan isin.

Mysql > SELECT *FROM bagian;

+---------+----------+

| kode_bag | nama_bag |

+---------+----------+

|3 |Akuntansi|

|5 |PDE |

|1 |Pemasaran|

|2 |Produksi |

|4 |SDM |

+---------+----------+

5 rows in set (0.08 sec)

Gambar 14.7 Isi baru tabel bagian

14.2.4 Memasukkan Data dari Hasil QueryMySQL mendukung suatu bentuk INSERT yang mengabungkan

dengan SELECT. Dalam hal ini, hasil SELECT akan disisipkan melalui INSERT.

Sebelum mepraktikkan hal ini, mula-mula buatlah tabel prib melalui pernyataan:

CREATE TABLE prib (nip CHAR (5) RIMARY KEY NOT NULL,nama CHAR (25),kota CHAR (15);

setelah tabel terbentuk, berikan perintah seperti berikut:INSERT INTO pribSELECT nip, nama, kotaFRO infopribWHERE sex = ‘w’;

Pada perintah di atas, data yang disisipkan ke tabel prib adalah data yang berasal dari SELECT. Dalam hal ini, SELECT hanya menghasilkan nip, nama, kota khusus untuk yang nilai sex-nya sama dengan ‘w’ .

Isi tabel prib setelah perintah di atas dijalankan dapat dilihat pada gambar berikut,

Mysql> SELECT *FROM prib

+-------------+-----------------------------------------+---------------------------+

| nip | nama | kota |

+-------------+-----------------------------------------+---------------------------+

|12346 | Tamara Febrianti | Klaten |

| 12347 |Dara Permatasari | NULL |

|12348 | Dita Nurafni | Klaten |

|12352 | Rahmanda | Magelang |

|12353 | Niken Pratiwi | Magelang |

|123554 | Inneke Safitri | Bantul |

+-------------+-----------------------------------------+---------------------------+

6 row in set (o.00 sec)

Gambar 14.8 Isi tabel prib

BAB 15

KONEKSI MySQL DAN PHP

15.1Pengertian MySQLSQL (Structured Query Language) adalah bahasa standar yang

digunakan untuk mengakses server basis data . Sejak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses basis data menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah– perintah pemrograman murni.

Selain MySQL, ada beberapa jenis pemograman yang berorientasi basis data yang dapat digunakan untuk aplikasi di web seperti Oracle. Oracle merupakan sebuah perusahaan besar di dunia yang cakupan bisnis salah satunya adalah penjualan perangkat lunak dan pembuatan perangkat lunak basis data yang diperuntukkan bagi perusahaan-perusahaan besar di dunia. Karena softwarenya tidak bebas dipasaran atau tidak free perangkat lunak maka sebagian besar perusahaan kecil atau menengah atau programmer web masih menggunakan basis data MySQL sebagai perangkat lunak basis data perusahaan atau webnya.

MySQL adalah sebuah server basis data SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa basis data yang paling populer di dunia. Implementasi program server basis data ini adalah program daemon mysqld dan beberapa program lain serta beberapa pustaka.MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah basis data berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kira-kira 100 gigabyte data). Basis data ini dibuat untuk keperluan sistem basis data yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows. Sebagaimana basis data sistem

yang lain, dalam SQL juga dikenal hierarki server dengan basis data-basis data. Tiap-tiap basis data memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel–tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya. SQL tidak memiliki fasilitas pemrograman yang lengkap, tidak ada looping ataupun percabangan ,misalnya. Sehingga untuk menutupi kelemahan ini perlu digabung dengan bahasa pemrograman seperti C.

               

MySQL menawarkan berbagai keunggulan dibandingkan database server lain. Berikut ini adalah beberapa keunggulan MySQL :

Mampu menangani jutaan user dalam waktu yang bersamaan. Mampu menampung lebih dari 50.000.000 record. Sangat cepat mengeksekusi perintah. Memiliki user privilege system yang mudah dan efisien.

15.1.1 Tipe Data MySQLa. Char(M)Tipe data ini digunakan untuk menyimpan data string dengan jumlah karakter tertentu. Panjang maksimum karakter tipe data Char harus dinyatakan secara eksplisit seperti contoh berikut:Judul CHAR(50);

b. Varchar(M)Tipe data ini cocok digunakan untuk menyimpan data string dengan panjang yang bervariasi. Sama seperti tipe data Char, panjang maksimum karakter yang akan ditampung dalam field harus dinyatakan

15.1.2 Keistimewaan MySQLMySQL memiliki beberapa keistimewaan, antara lain :A. Portabilitas.

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

B. Open Source.MySQL didistribusikan secara open source, dibawah lisensi GPL

sehingga dapat digunakan secara cuma-cuma. C. Multiuser.

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

D. Performance tuning.MySQL memiliki kecepatan yang menakjubkan dalam menangani

query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

E. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed

/ unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.F. Perintah dan Fungsi.

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

G. Keamanan.MySQL memiliki beberapa lapisan sekuritas seperti level

subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

H. 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.

I. Konektivitas.MySQL dapat melakukan koneksi dengan klien menggunakan

protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).J. Lokalisasi.

MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.

K. Antar Muka.MySQL memiliki interface (antar muka) terhadap berbagai

aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

L. 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.

M. Struktur TableMySQL memiliki struktur tabel yang lebih fleksibel dalam

menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

15.1.3 Microsoft SQL ServerMicrosoft SQL Server adalah sebuah sistem manajemen basis data

relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO

yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.

15.2 Pengenalan PHPPHP (akronim dari PHP Hypertext Preprocessor) yang merupakan

bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.

Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah). Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut :

Membaca permintaan dari client/browser Mencari halaman/page di server Melakukan instruksi yang diberikan oleh PHP untuk melakukan

modifikasi pada halaman/page. Mengirim kembali halaman tersebut kepada client melalui internet atau

intranet.

15.2.1 Syntax PHPKode PHP dapat ditulis hampir di semua editor text seperti windows

notepad, windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser.

Pada file HTML, HTTP server hanya melewatkan content dari file menuju ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu adalah tugas sebuah browser. Pada file dengan ekstensi .php akan diangani secara berbeda. Yang memiliki kode PHP akan diperiksa. Web

server akan memulai bekerja apabila berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati semua content yang berisi kode HTML, CSS, JavaScript, simple text di browser tanpa diinterpretasikan di server.Blok scripting PHP selalu diawali dengan ”<?php” (tanpa kutip) dan diakhiri dengan “?>” (tanpa kutip). Blok scripting PHP dapat ditempatkan dimana saja di dalam dokumen. Pada beberapa server yang mendukung, blok scripting PHP dapat diawali dengan “<?”(tanpa kutip) dan diakhiri dengan “?>” (tanpa kutip). Namun, untuk kompatibilitas maksimum, sebaiknya menggunakan bentuk yang standar (<?php ?>). Setiap baris kode PHP harus diakhiri dengan semikolon (;). Semikolon ini merupakan separator yang digunakan untuk membedakan satu instruksi dengan instruksi lainnya. PHP menggunakan // untuk membuat komentar baris tunggal atau /* dan */ untuk membuat suatu blok komentar.

15.2.2 Variabel PHPVariabel digunakan untuk menyimpan suatu nilai, seperti text, angka

atau array. Ketika sebuah variabel dibuat, variabel tersebut dapat dipakai berulang-ulang. Pada PHP semua variabel harus dimulai dengan karakter '$'. Variabel PHP tidak perlu dideklarasikan dan ditetapkan jenis datanya sebelum kita menggunakan variabel tersebut. Hal itu berarti pula bahwa tipe data dari variabel dapat berubah sesuai dengan perubahan konteks yang dilakukan oleh user. Secara tipikal, variabel PHP cukup diinisialisasikan dengan memberikan nilai kepada variabel tersebut. Contoh berikut akan mencetak "PHP" : $text = "PHP"; print "$text"; Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text merupakan variabel yang berbeda. Built-in function dan structure tidak case-sensitive, sehingga echo dengan ECHO akan mengerjakan perintah yang sama. Identifier dapat berupa sejumlah huruf, digit/angka, underscore, atau tanda dollar tetapi identifier tidak dapat dimulai dengan digit/angka.Aturan Penamaan Variabel

Nama variabel harus diawali dengan sebuah huruf atau garis bawah (underscore) “_”

Nama variabel hanya boleh mengandung karakter alpha-numeric dan underscore (a-Z, 0-9, dan _ )

Nama variabel tidak boleh mengandung spasi.

15.2.3 String PHPVariabel string digunakan untuk nilai yang mengandung karakter

string. Pada contoh berikut, skript PHP memberikan string "Hello World" pada variabel string bernama $txt : <?php

$txt="Hello World"; echo $txt; ?> Output dari kode tersebut adalah : Hello World Hanya ada satu operator string di PHP. Concatenation operator (.). digunakan untuk menggabungkan dua string. Contoh : <?php $txt1="Hello World"; $txt2="1234"; echo $txt1 . " " . $txt2; ?>        

15.2.4 Operator di PHPOperator digunakan untuk menentukan sebuah nilai dengan melakukan

suatu prosedur, atau dengan suatu operasi dari beberapa nilai. Nilai yang digunakan dalam sebuah operasi disebut operand. Penjumlahan adalah sebuah contoh sederhana dari suatu operasi. Sebagai contoh : 2 + 4 2 dan 4 adalah sebuah operand. Ekspresi ini akan menghasilkan 6.

A.    Ari thmetic Operator (Operator Aritmatika) PHP menggunakan operator arithmetic dasar :

Operator Aksi Contoh Penjelasan+ Penjumlahan 5 + 9 Menghasilkan nilai : 14- Pengurangan 9 - 4 Menghasilkan nilai : 5* Perkalian 5 * 6 Menghasilkan nilai : 30/ Pembagian 20 / 4 Menghasilkan nilai : 5

% modulus 9 % 4 Menghasilkan nilai : 1

PHP mengabaikan karakter spasi dalam sebuah operasi. Ekspresi $x = 5 + 9 dengan dengan $x=5+9 akan menghasilkan nilai yang sama. Penggunaan spasi disesuaikan dengan keinginan dari para user.

B.     Unary Operatoranda minus ( - ) digunakan dengan sebuah nilai numerik tunggal

untuk menegatifkan sebuah bilangan (untuk membuat negatif bilangan postif atau membuat postif bilangan negatif).

A. Variable Assignment Operator

Tanda sama dengan ( = ) digunakan untuk mengatur atau menetapkan nilai suatu variabel. Oleh karena itu tanda tersebut dikenal sebagai operator penugasan.

B. Comparison Operator (Operator Perbandingan)Operator perbandingan digunakan untuk menguji suatu kondisi.

Ekspresi yang menggunakan operator perbandingan akan selalu menghasilkan nilai boolean, yaitu antara true (benar) atau false (salah).

Beberapa operator perbandingan yang lain adalah sebagai berikut :Operator Arti Contoh Dianggap benar (true) ketika :

= = Sama dengan $i = = $j $i dan $j mempunyai nilai yang sama< Kurang dari $i < $j $i kurang dari $j> Lebih dari $i > $j $i lebih dari $j

<=Kurang dari atau sama

dengan$i <= $j $i kurang dari atau sama dengan $j

>=Lebih dari atau sama

dengan$i >= $j $i lebih dari atau sama dengan $j

!= Tidak sama dengan $i != $j $i tidak sama dengan $j< > Tidak sama dengan $i <> $j $i tidak sama dengan $j

= = = identik $a = = = $bBenar jika $a sama dengan $b, dan keduanya memiliki type data yang

sama. (hanya dalam PHP4)

Ingat ! ! !Tanda ( == ) merupakan operator perbandingan untuk menguji suatu

variabel sedangkan tanda ( = ) adalah operator penugasan untuk memberikan nilai kepada suatu variabel. Perhatikan dua contoh dibawah ini. Contoh salah !

$i = 3; if($i = 5) print "lima";         // akan mencetak lima. Pernyataan $i=3 akan diabaikan $i = 3;         if(5 = $i) print "lima"; /* parse error terdapat kesalahan. PHP berusaha memberikan nilai $i kepada bilangan 7 */

Contoh Benar ! $i = 3; if($i == 5) print "lima"; // $i == 5 menghasilkan nilai false (salah) sehingga pernyataan // print "lima" tidak dijalankan.

$i = 3; if(5 == $i) print "lima"; // 5 == $i menghasilkan nilai false (salah) sehingga pernyataan // print "lima" tidak dijalankan. $a = "7";$b = 7.00;print ($a == $b); // mencetak 1 (true) print (($a == $b) and (gettype($a) == gettype($b))); // mencetak 0

C. Logical Operator (Operator Logika) Operator logika digunakan untuk mengkombinasikan kondisi,

sehingga beberapa kondisi dapat dievaluasi atau diperiksa dalam sebuah ekspresi. Sebagai contoh logika AND akan bernilai true jika semua kondisi benar. Tabel berikut ini menunjukkan semua anggota dari operator logika :

Operator Contoh Bernilai benar jikaAND / and $i && $j atau $i AND $j $i dan $j bernilai benarOR / or $i || $j atau $i OR $j Salah satu atau keduan variabel bernilai benar

XOR $i XOR $jSalah satu variabel bernilai benar, tetapi tidak keduanya benar

NOT !$i $i tidak bernilai benar

D. String Concatenation Operator Tanda titik ( . ) sebagai operator concatenate (penggabung) digunakan

untuk menggabungkan dua atau lebih nilai string menjadi sebuah string tunggal.      

E. Variable Assignment Shortcut Pada PHP dimungkinkan untuk melakukan penggunaan jalan pintas

untuk operator pada pernyataan penugasan dimana operand pertama adalah sebuah variabel dan hasilnya disimpan pada variabel yang sama.

Contoh Ekivalen dengan$x + = $y $x = $x + $y$x - = $y $x = $x - $y$x * = $y $x = $x * $y$x / = $y $x = $x / $y$x % = $y $x = $x % $y$x & = $y $x = $x & $y$x ! = $y $x = $x ! $y$x ^ = $y $x = $x ^ $y$x . = $y $x = $x . $y

$x >> = $y $x = $x >> $y$x << = $y $x = $x << $y$x ++ $x = $x + 1$x -- $x = $x - 1

Output dari kode tersebut adalah : Hello World 1234

15.2.5 Control Structure PHPSkrip PHP terdiri dari rangkaian pernyataan. Sebuah pernyataan dapat

berupa assignment, pemanggilan fungsi, sebuah loop, pernyataan kondisional atau bahkan pernyataan kosong. Pernyataan biasanya diakhiri dengan semikolon. Sebagai tambahan, pernyataan-pernyataan dapat dikelompokkan menjadi suatu kelompok pernyataan menggunakan kurung kurawal ( {} ). Sebuah kelompok pernyataan merupakan sebuah pernyataan juga.A.    IF

Syntax : if (expr) statement Contoh : - if ($a > $b) print "a is bigger than b"; - Jika statemen lebih dari satu maka : if ($a > $b) { print "a is bigger than b"; $b = $a;  }

B.     Else

if ($a > $b) { print "a is bigger than b"; } else { print "a is NOT bigger than b";  }

C.    Elseif if ($a > $b) { print "a is bigger than b"; } elseif ($a == $b) { print "a is equal to b"; } else { print "a is smaller than b"; }

D.    Switch Pernyataan switch mirip dengan rangkaian pernyataan IF

dengan ekspresi yang sama. Pernyataan switch digunakan untuk membandingkan variabel yang sama (atau ekspresi) dengan banyak nilai yang berbeda, dan menjalankan kode-kode yang berbeda tergantung pada nilai mana variabel tersebut sama.

Sangat penting untuk memahami bagaimana pernyataan switch dieksekusi agar terhindar dari kesalahan. Pernyataan switch dieksekusi

per pernyataan. Di awal, tidak ada kode yang dieksekusi. Ketika pernyataan case sesuai dengan ekspresi pada switch, PHP mulai mengeksekusi pernyataan-pernyataan tersebut. PHP terus mengeksekusi pernyataan-pernyataan tersebut hingga akhir blok switch, atau pada saat pertama kali bertemu pernyataan break. Jika tidak ada pernyataan break, PHP akan mengeksekusi pernyataan-pernyataan pada case berikutnya. Pada pernyataan switch, kondisi (ekspresi) hanya diperiksa sekali dan hasilnya dibandingkan dengan setiap pernyataan case.

E.     WhilePerulangan while merupakan perulangan yang paling

sederhana di PHP. Bentuk dasar pernyataan while adalah : while (expr) statement Pada while, PHP mengeksekusi pernyataan-pernyataan

bersarang (nested statement(s)) berulang-ulang, selama ekspresi yang dievaluasi bernilai benar (TRUE). Nilai ekspresi tersebut diperiksa setiap saat di awal perulangan. Jika hasil evaluasi ekspresi adalah salah (FALSE) sejak awal, pernyataan-pernyataan bersarang tersebut tidak akan dijalankan meskipun sekali.

F.     Do .... whilePerulangan do..while loops hamper sama dengan perulangan

while, kecuali kebenaran ekspresi dicek di akhir iterasi. Perbedaan mendasar dari perulangan while adalah iterasi pertama pada do…while pasti akan dijalankan.

G.    ForSyntax : for (expr1; expr2; expr3) statement

Ekspresi pertama (expr1) dievaluasi (dieksekusi) sekali di awal perulangan. Di awal setiap iterasi, expr2 dievaluasi. Jika benar, perulangan dilanjutkan dan pernyataan-pernyataan bersarang dieksekusi. Jika salah, perulangan dihentikan. Di akhir setiap iterasi, expr3 dievaluasi (dieksekusi).

15.2.6 Array di PHP15.2.6.1 Array sederhana

Dalam PHP, sebuah variabel dapat dinyatakan sebagai sebuah tempat untuk sebuah nilai tunggal. Sedangkan Array adalah sebuah tempat untuk sekumpulan nilai. Sebuah array terdiri dari sejumlah element, yang masing-

masing memiliki sebuah nilai - data yang tersimpan pada elemen array tersebut - dan sebuah key atau index, dimana elemen tersebut dapat dirujuk. Normalnya, sebuah index berupa integer. Secara default, array adalah basis nol, artinya elemen pertama dari array memiliki index nol. akan tetapi index dapat juga berupa string.

Bentuk sederhana array terdiri dari serangkaian elemen yang bertanda dimulai dari nol dan bertambah secara sekuensial. Sebagai contoh sebuah array bernama $branch, setiap elemen berisi nama kota cabang sebuah perusahaan.

$branch[0] $banch[1] $ banch[2] $ banch[3] $ banch[4]“Semarang” “Surabaya” “Medan” “bandung” “Yogyakarta”

Array dalam PHP dapat berisi elemen dari sejumlah tipe data yang berbeda. Artinya array dalam PHP tidak harus memiliki tipe data yang sama. Setiap elemen dapat berupa tipe data apa saja.Ada tiga jenis array di PHP:

Numeric array – Array dengan dengan kunci ID numerik Associative array – Array dimana setiap kunci ID berasosiasi dengan

sebuah nilai Multidimensional array - Array yang menyimpan satu atau lebih array

DAFTAR PUSTAKA

Kadir, Abdul. 2002. Penuntun Praktis Belajar SQL. Yogyakarta: Andi.

Kadir, Abdul. 2008. Tuntunan Praktis Belajar Database Menggunakan MySQL. Yogyakarta: Andi.

Dwicah, 2012. “Pengenalan-PHP.” blog.unitomo.ac.id/, diakses Mei 2012