Monday 7 November 2011

12. Modul Kegiatan PHP Database MySQL


12. Modul Kegiatan PHP
Database MySQL

12.1          Pokok Bahasan
1.      Database MySQL
2.      Membuat Database

12.2          Tujuan Praktikum
1.      Praktikan mampu memahami maksud dari penggunaan Database MySQL.
2.      Praktikan mampu menggunakan MySQL.

12.3          Petunjuk Praktikum
1.      Praktikan diharapkan mempersiapkan diri dengan mempelajari dan memahami teori PHP yang diberikan pada saat perkuliahan teori.
2.      Kegiatan praktikum dilakukan dengan cara mempelajari dasar teori dan melakukan langkah-langkah yang diberikan pada subjudul Dasar Teori dan Kegiatan.
3.      Pada setiap modul, Praktikan wajib mengerjakan jurnal praktikum berupa laporan dengan format yang telah ditentukan dan diserahkan kepada Asisten Laboratorium.

12.4          Dasar Teori dan Kegiatan
1.      MySQL
PHP yang kita pelajari ini memiliki dukungan dari banyak database, misalnya: Adabas D, dBase, Empress, FilePro(read-only), Hyperwave, IBM DB2, Informix, Ingres, Interbase, Frontbase, Msql, ODBC, Oracle (OC17 dan OC18), Ovrimos, PostgreeSQL, Solid, Sybase, Velocis, UnixDBM, dan terakhir yang paling banyak digunakan karena sifatnya yang Freeware adalah database MySQL. MySQL menggunakan bahasa dasar SQL untuk mengakses database-nya, dan termasuk jenis RDBMS (Relational Database Management System). Sebuah database pada MySQL mengandung satu atau sejumlah Tabel, sejumlah Field dan Reccord (jika tabel sudah terisi data).
Secara umum, MySQL dapat digunakan dalam dua cara, yaitu:
Melalui Prompt Dos, Penggunaan MySQL menggunakan prompt DOS atau Konsol adalah penggunaan database secara langsung. Penggunaan secara langsung ini dilakukan melalui program executable pada direktori C:\xampp\mysql\bin> dengan memanggil mysql pada direktori tersebut misalnya, C:\xampp\mysql\bin>mysql. Untuk sebagian orang penggunaan MySQL melalui konsol sangat merepotkan karena kurang praktis. Tapi bagi yang terbiasa, penggunaan cara ini memiliki sentuhan yang bersifat personal karena semua perintah Query dan manipulasi data yang bisa diterapkan pada database bisa dirasakan langsung. Untuk keperluan belajar sebaiknya gunakan cara ini.
Melalui PhpMyAdmin, PhpMyAdmin adalah Aplikasi bantu dengan antarmuka berbasis web yang dapat dijalankan pada  browser internet. Penggunaan PhpMyAdmin lebih kearah untuk mempermudah pembuatan database pada MySQL beserta strukturnya misalnya membuat Database, membuat Tabel, membuat Field dengan beragam pilihan tipe data, manipulasi data seperti Insert, Update, Select, dan Delete. PhpMyAdmin ini terdiri dari beberapa versi dan terus dikembangkan. Contoh dari PhpMyAdmin dapat dilihat pada http//:localhost/phpmyadmin/.

2.      Perintah Dasar MySQL
Verifikasi perlu dilakukan terhadap data yang dikirimkan ke server dengan maksud untuk mem-Validasi setiap nilai informasi yang dibutuhkan oleh server untuk diproses. Verifikasi data dapat dilakukan pada Client maupun pada Server.
Verifikasi pada client dimaksudkan untuk mem-validasi setiap input data sebelum di verifikasi lebih teliti oleh server, dengan cara ini server tidak terbebani oleh sistem request-response yang dapat memberatkan kerja server. Misalnya untuk kperluan ”apakah form isian sudah terisi atau belum?”. Javascript biasa digunakan untuk keperluan ini.

1)      Aktifkan Command Prompt ketikkan pada prompt cd c:\xampp\mysql\bin untuk memasuki prompt yang berisi sejumlah program executable mengenai MySQL.

2)      Untuk menjalankan program MySQL: ketikkan c:\xampp\mysql\bin>mysql
C:\mysql\bin>mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 34 to server version: 4.0.0-alpha-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Baris Mysql> diatas adalah indikasi bahwa anda memasuki program MySQL. Melalui prompt Mysql> ini sejumlah perintah dapat diberikan pada program database MySQL.

3)      Untuk melihat database yang ada: ketikkan pada mysql>show databases;
mysql>show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)
mysql>
Setiap perintah dalam prompt MySQL harus diakhiri dengan  tanda titik koma (;). Perintah SHOW DATABASES diatas digunakan untuk melihat database apa saja yang ada pada program database MySQL Hasil diatas menunjukkan bahwa terdapat 2 database pada program MySQL yaitu database mysql dan test. Mungkin hasilnya akan berbeda pada layar monitor anda, tergantung database apa saja yang telah tersimpan pada database MySQL tersebut.

4)      Untuk melakukan koneksi terhadap salah satu dari database yang ada pada program database MySQL gunakan perintah USE <Nama Database>. Misalnya ketikkan: mysql>use mysql;
mysql>use mysql;
Database changed
mysql>
Tanggapan berupa kata “Database changed” adalah indikasi bahwa database yang aktif adalah database mysql. Manipulasi data terhadap suatu database dapat dilakukan setelah database tersebut diaktifkan.






5)      Untuk mengetahui nama-nama tabel yang ada pada suatu database gunakan perintah SHOW TABLES. Ketikkan: mysql>show tables;
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv    |
| db              |
| func            |
| host            |
| tables_priv     |
| user            |
+-----------------+
6 rows in set (0.00 sec)
mysql>
Hasil perintah mysql>show tables; diatas menunjukkan bahwa ada 6 tabel pada database mysql yaitu columns_priv, db, func, host, tables_priv dan user.

6)      Untuk mengetahui struktur tabel yang ada pada suatu database dapat menggunakan perintah DESCRIBE <Nama Tabel>. Misalnya ketikkan mysql>describe db;
mysql> describe db;
+-----------------+-----------------+------+-----+---------+-------+
| Field           | Type            | Null | Key | Default | Extra |
+-----------------+-----------------+------+-----+---------+-------+
| Host            | char(60) binary |      | PRI |         |       |
| Db              | char(64) binary |      | PRI |         |       |
| User            | char(16) binary |      | PRI |         |       |
| Select_priv     | enum('N','Y')   |      |     | N       |       |
| Insert_priv     | enum('N','Y')   |      |     | N       |       |
| Update_priv     | enum('N','Y')   |      |     | N       |       |
| Delete_priv     | enum('N','Y')   |      |     | N       |       |
| Create_priv     | enum('N','Y')   |      |     | N       |       |
| Drop_priv       | enum('N','Y')   |      |     | N       |       |
| Grant_priv      | enum('N','Y')   |      |     | N       |       |
| References_priv | enum('N','Y')   |      |     | N       |       |
| Index_priv      | enum('N','Y')   |      |     | N       |       |
| Alter_priv      | enum('N','Y')   |      |     | N       |       |
+-----------------+-----------------+------+-----+---------+-------+
13 rows in set (0.20 sec)
mysql>
Perintah mysql>describe db; diatas menghasilkan struktur tabel yang ada pada tabel db. Ketikkan perintah berikut mysql>describe user; untuk melihat struktur tabel user.

7)      Ketikkan EXIT atau QUIT atau \q untuk keluar dari prompt mysql. Ketikkan mysql>quit tanpa titik koma (;) dengan tanggapan berupa kata “Bye
mysql> quit
Bye
C:\mysql\bin>






3.      Membuat Database
Setelah mempelajari dasar-dasar penggunaan MySQL, selanjutnya akan dibuat suatu database.
1)      Membuat database LatihanDB. Ketik: mysql>create database LatihanDB;
mysql> create database LatihanDB;
Query OK, 1 row affected (0.00 sec)

2)      Aktifkan database LatihanDB. Ketik: mysql>use LatihanDB;
mysql> use LatihanDB;
Database changed
mysql>

3)      Membuat Tabel Pesanan.
mysql> create table Pesanan (
    -> id_pesan SMALLINT AUTO_INCREMENT PRIMARY KEY,
    -> nama VARCHAR(20),
    -> telepon VARCHAR(15),
    -> pesan TEXT);
Query OK, 0 rows affected (0.20 sec)
mysql>

4)      Lihat struktur Tabel. Ketik: mysql>describe Pesanan;
mysql> describe pesanan;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id_pesan | smallint(6) |      | PRI | NULL    | auto_increment |
| nama     | varchar(20) | YES  |     | NULL    |                |
| telepon  | varchar(15) | YES  |     | NULL    |                |
| pesan    | text        | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql>

5)      Input Data ke tabel Pesanan.
mysql> insert into pesanan
    -> (nama, telepon, pesan) values
    -> ('Petruk','08123456789',
    -> 'Aku pesan makanan yang enak-enak yo');
Query OK, 1 row affected (0.00 sec)
mysql>
Lakukan hal yang sama seperti contoh diatas dengan data yang berbeda, buat hingga 5 record.

6)      Lihat isi Tabel Pesanan.  Ketik: mysql> select * from pesanan
mysql> select * from pesanan;
+----------+--------+-------------+-------------------------------------+
| id_pesan | nama   | telepon     | pesan                               |
+----------+--------+-------------+-------------------------------------+
|        1 | Petruk | 08123456789 | Aku pesan makanan yang enak-enak yo |
|        2 | Gareng | 08123456987 | Yo wis aku juga pesen kayak Petruk  |
|        3 | Cepot  | 0812341234  | No komen lah                        |
+----------+--------+-------------+-------------------------------------+
3 rows in set (0.00 sec)
mysql>
Coba ketik perintah berikut dan lihat hasilnya:
mysql> select * from pesanan where nama='petruk';
mysql> select * from pesanan where nama='gareng' or telepon='0812341234';
mysql> select * from pesanan order by nama;
7)      Menghapus isi Tabel Pesanan. Ketik: mysql>delete from pesanan where nama='cepot'; Lihat hasilnya
mysql> delete from pesanan where nama='cepot';
Query OK, 1 row affected (0.09 sec)
mysql>
Lihat hasil delete dengan perintah SELECT
mysql> select * from pesanan;
+----------+--------+-------------+-------------------------------------+
| id_pesan | nama   | telepon     | pesan                               |
+----------+--------+-------------+-------------------------------------+
|        1 | Petruk | 08123456789 | Aku pesan makanan yang enak-enak yo |
|        2 | Gareng | 08123456987 | Yo wis aku juga pesen kayak Petruk  |
+----------+--------+-------------+-------------------------------------+
2 rows in set (0.05 sec)
mysql>

8)      Mengedit isi Tabel Pesanan. Ketik: mysql>update pesanan set nama='Garong' where id_pesan=2;
mysql> update pesanan set nama='Garong' where id_pesan=2;
Query OK, 1 row affected (0.08 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql>
Lihat hasil Update dengan perintah SELECT
mysql> select * from pesanan;
+----------+--------+-------------+-------------------------------------+
| id_pesan | nama   | telepon     | pesan                               |
+----------+--------+-------------+-------------------------------------+
|        1 | Petruk | 08123456789 | Aku pesan makanan yang enak-enak yo |
|        2 | Garong | 08123456987 | Yo wis aku juga pesen kayak Petruk  |
+----------+--------+-------------+-------------------------------------+
2 rows in set (0.00 sec)

9)      Menghapus Tabel dapat menggunakan perintah DROP TABLE <Nama Tabel>, hati-hati menggunakan perintah ini karena MySQL tidak akan memberikan Konfirmasi.

10)  Menghapus Database dapat menggunakan perintah DROP DATABASE <Nama Database>. Melakukan perintah DROP pada command prompt mysql> harus dilakukan secara bijaksana karena database yang sudah dihapus terkadang sulit dikembalikan nilainya. Untuk mencoba perintah DROP, ikuti perintah berikut:
Buat Database DihapusDB            : mysql> create database DihapusDB;
Lihat Database Aktif          : mysql> show databases;
Hapus Database DihapusDB          : mysql> drop database DihapusDB;
Lihat Hasilnya                   : mysql> show databases;
mysql> create database DihapusDB;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+-----------+
| Database  |
+-----------+
| DihapusDB |
| LatihanDB |
| mysql     |
| test      |
+-----------+
4 rows in set (0.00 sec)
mysql> drop database DihapusDB;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+-----------+
| Database  |
+-----------+
| LatihanDB |
| mysql     |
| test      |
+-----------+
3 rows in set (0.00 sec)

11)  Ketik mysql>quit untuk bahasan berikutnya, tutup command DOS.

4.      Menggunakan PhpMyAdmin
Jika kita menginstal XAMPP maka direktori dari PhpMyAdmin ada di direktori c:/xampp.
Penggunaan PhpMyAdmin adalah untuk mempermudah pengaturan dari database yang akan dibuat ataupun yang telah dibuat.
Ketik http://localhost/phpmyadmin lalu Pelajari, Sampai Bisa dan Terbiasa!

12.5          Jurnal Praktikum
Buatlah Tabel Berita pada database LatihanDB menggunakan PhpMyAdmin. Strukturnya:
Field
Type
Length
Null
Extra
Key
id
integer
4
Not null
Auto increment
yes
user
varchar
20
Not null


kategori
varchar
10
Not null


judul
varchar
30
Not null


isi
text

Not null


tanggal
date

Not null



Jurnal Praktikum dikumpulkan dalam bentuk:
a.       Laporan yang berisi langkah-langkah pembuatan database tersebut, baik menggunakan melalui Command Prompt ataupun menggunakan PhpMyAdmin, termasuk juga input datanya. Laporan wajib menggunakan kertas A4, Format laporan tanyakan ke Asisten!
b.      File Tugas database yang anda buat dibawa untuk diperlihatkan pada asisten.
Tugas dikerjakan sendiri-sendiri, tidak diperkenankan melakukan Copy-Paste-Replace terhadap tugas rekan anda. Apabila ditemukan Plagiat (antar teman sekelas atau antar teman beda kelas), maka semua tugas yang ”Sama” tersebut dianggap batal/ tidak mengumpulkan!


No comments: