Anda di halaman 1dari 17

BAB VI

DATABASE MySQL

6.1 Pendahuluan
Materi yang dibahas pada bab ini yaitu pengenalan database, DBMS, RDBMS dan dasar-
dasar MySQL. Bab ini juga membahas tentang perintah dasar SQL yakni cara membuat dan
menghapus database, membuat tabel, melihat struktur tabel, mengubah struktur tabel, mengganti
nama tabel, menghapus tabel, pengambilan record dari database serta koneksi PHP dengan
MySQL.
6.2 Basis Data
Basis data (database) adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari basis data tersebut. Database digunakan untuk menyimpan informasi
atau data yang terintegrasi dengan baik di dalam komputer.
Untuk mengelola database diperlukan suatu perangkat lunak yang disebut DBMS
(Database Management System). DBMS merupakan suatu sistem perangkat lunak yang
memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses
database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan
memanipulasi data yang ada. DBMS merupakan salah satu sistem dalam mengakses database
yang menggunakan bahasa SQL.
Sedangkan RDBMS (Relationship Database Management System) merupakan salah satu
jenis DBMS yang mendukung adanya relationship atau hubungan antar tabel. Disamping
RDBMS, terdapat jenis DBMS lain, misalnya Hierarchy DBMS, Object Oriented DBMS.
Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi
program antara lain:
 DB2 - http://www-306.ibm.com/software/data/db2
 Microsoft SQL Server - http://www.microsoft.com/sql
 Oracle - http://www.oracle.com
 Sybase - http://www.sybase.com
 Interbase - http://www.borland.com/interbase

96
 Teradata - http://www.teradata.com
 Firebird - http://www.firebirdsql.org
 MySQL – http://www.mysql.com
 PostgreSQL - http://www.postgresql.org
Dalam konsep database, urutan atau hierarki database sangatlah penting. Urutan atau
hierarki database digambarkan dalam gambar sebagai berikut:

Gambar 5.1. Hierarki Database

6.3 MySQL
MySQL (My Structure Query Language) adalah salah satu database dari sekian banyak
database lain seperti Oracle, MS SQL, PostgresSQL. Kesemuanyaitu mempunyai fungsi dan
manfaat yang hampir sama namun dalam pengerjaanya sedikit berbeda. Dalam hal penggunaan
MySQL adalah yang paling mudah digunakan.
MySQL merupakan software open source sehingga memungkinkan untuk semua orang
untuk menggunakan dan memodifikasi software. Setiap orang dapat mendownload MySQL dari
internet dan menggunakannya tanpa membayar apapun. Database MySQL sangat cepat, reliable,
dan mudah untuk digunakan, selain itu MySQL telah banyak menangani pembuatan software
besar.
MySQL menggunakan bahasa SQL dan dapat dikatakan sebagai DBMS. Secara umum
bahasa SQL dibagi menjadi tiga bagian:
1. DDL (Data Definition Language) yang digunakan untuk membangun objek-objek dalam
database seperti tabel.
97
2. DML (Data Manipulation Language) yang digunakan dalam memanipulasi suatu tabel
didalam database (menambah, mengedit, mencari dan menghapus)
3. DCL (Data Control Language) yang digunakan untuk menangani masalah keamanan
dalam database server
Ketiga komponen ini bisa digunakan setelah suatu database di aktifkan.
6.4 Menjalankan MySQL
1. Buka MS. DOS dengan jalan klik start → run, pada menu run ketikkan CMD kemudian
enter
2. Rubah direktori C prompt menjadi C:\mysql\bin\mysql.exe
3. Setelah itu akan masuk ke menu utama dari MySql

4. Untuk keluar dari MySql


mysql> \q
Bye

6.5 Membuat, Menampilkan, Membuka dan Menghapus Database


6.5.1 Membuat dan Menghapus Database
Aturan penamaan dalam pembuatan database:
1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan nama database
2. Jangan menggunakan angka pada awal pembuatan nama database
Perintah yang digunakan untuk membuat database adalah:

Mysql>create database <nama database>;

Untuk menghapus database yang telah dibuat, perintah yang digunakan adalah:

Mysql>drop database <nama database>;

98
6.5.2 Menampilkan Database
Untuk melihat database perintah yang digunakan adalah:

Mysql>show databases;

Perintah diatas digunakan untuk melihat semua database yang ada didalam MySQL,
sedangkan untuk melihat database yang sedang aktif menggunakan perintah:

Mysql>select database;

Untuk menggunakan atau masuk kedalam suatu database, perintah yang digunakan
adalah:

Mysql>use <nama database>;

Jika terdapat pesan database changed, berarti telah berhasil masuk ke database tersebut,
tetapi jika terdapat pesan ERROR 1049:uknown database, berarti tidak berhasil masuk ke
database tersebut.
6.6 Membuat, Mengubah dan Menghapus Tabel
6.6.1 Membuat Tabel
Setelah menciptakan suatu database dan mengaktifkan database tersebut maka dapat
dilakukan pembuatan tabel, perintah yang digunakan:

create table nm_tabel (nm_kolom1 tipe data([ukuran]),nm_kolom2 tipe


data ([ukuran])..... nm_kolom_n tipe data ([ukuran]));

Dalam membuat nama tabel atau field tidak boleh menggunakan spasi.
Beberapa tipe data dalam MySQL yang sering digunakan:
Tabel 6.1 Tipe data MySQL
Tipe data Keterangan
INT(M) [UNSIGNED] Angka -2147483648 s/d 2147483647
FLOAT(M,D) Angka pecahan
DATE Tanggal format: YYYY-MM-DD
DATETIME Tanggal dan waktu format: YYYY-MM-DD HH:MM:SS
CHAR(M) String dengan panjang tetap sesuai dengan yang ditentukan

99
Panjangnya 1-255 karakter
VARCHAR(M) String dengan panjang ang berubah-ubah sesuai dengan yang
disimpan saat itu, panjangnya 1-255 karakter
BLOB Teks dengan panjang maksimum 65535 karakter
LONGBLOB Teks dengan panjang maksimum 4294967295

Untuk bentuk tipe data lengkap yang digunakan anda dapat merujuk ke manual MySQL
atau mengunjungi manual di http://mysql.com.
Contoh: Buatlah tabel buku alamat seperti tabel dibawah:
Field Type Key
No Int (3)
Nama Varchar (25)
Kd_post Char (5)
Email Varchar (30)

Perintah untuk membuat tabel tersebut :

Mysql>create table buku_alamat(no int(3), nama varchar(25), alamat


varchar(50), Kd_post (5), email varchar (30));

Kemudian lihat hasil dari pembuatan tabel tersebut, apakah nama tabel tersebut telah ada
dalam daftar tabel yang ada.
6.6.2 Melihat Tabel
Untuk melihat tabel yang ada dalam suatu database, perintah yang digunakan adalah:
Mysql>show table from <nama database>;

6.6.3 Melihat Struktur Tabel


Perintah describe nama_tabel; digunakan untuk melihat struktur tabel yang telah dibuat.
Namun sebelumnya, sudah berada pada database yang mempunyai tabel tersebut.
Contoh: Lihatlah struktur tabel yang telah anda buat (buku_alamat), dengan mengetikkan
perintah:

mysql>describe buku_alamat;

100
6.6.4 Mengubah Struktur Tabel
Ada empat macam perubahan dalam struktur tabel, yaitu:
a. Perubahan nama field/kolom
Perubahan yang terjadi hanya pada nama field/kolom saja. Nama field/kolom lama diganti
dengan nama field/kolom yang baru. Struktur penulisan:
mysql>alter table nama_tabel change nama_field_lama nama_field_baru
tipe_data;

Contoh: Gantilah field kd_post pada tabel buku_alamat dengan kdpos, dengan mengetikkan
perintah:

mysql>alter table buku_alamat change kd_pos kdpos varchar(6);

b. Perubahan tipe data


Perubahan yang terjadi hanya pada tipe data yang digunakan oleh field/kolom tertentu. Tipe
data baru langsung disebutkan dibelakang nama field/kolom, tanpa harus menyebutkan tipe
data lama. Struktur penulisan:

mysql>alter table nama_tabel modify nama_field tipe_data_baru;

Contoh: Gantilah tipe data pada field alamat pada tabel buku_alamat dengan tipe data text,
dengan mengetikkan perintah:
mysql>alter table buku_alamat modify alamat text;

c. Penambahan field
Struktur tabel akan berubah dengan bertambahnya field/kolom baru didalamnya. Struktur
penulisan:
mysql>alter table nama_tabel add nama_field tipe_data_baru;

Contoh: Buatlah field baru pada tabel buku_alamat dengan nama field jk tipe data varchar(2),
dengan mengetikkan perintah:

mysql>alter table buku_alamat add jk varchar(2);

101
d. Penghapusan field
Struktur tabel mengalami perubahan akibat berkurangnya field/kolom tertentu. Struktur
penulisan:

mysql>alter table nama_tabel drop column nama_field;

Contoh: Hapuslah field kdpos pada tabel buku_alamat dengan mengetikkan perintah:
mysql>alter table buku_alamat drop column kdpos;

6.6.5 Mengganti Nama Tabel


Penggantian nama tabel meliputi nama tabel itu sendiri. Struktur penulisan:
mysql>alter table nama_tabel_lama rename nama_tabel_baru;

Contoh: Ubahlah nama tabel buku_alamat dengan nama alamat, dengan mengetikkan
perintah:
mysql>alter table buku_alamat rename alamat;

6.6.6 Menghapus Tabel


Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi,atau terjadi kesalahan.
Struktur penulisan:

mysql>drop table nama_tabel;

Contoh: Hapuslah tabel alamat, dengan mengetikkan perintah:

mysql>drop table alamat;

6.7 Menentukan Kunci Primer (Primary Key)


Secara sederhana kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak
boleh ada yang sama dan nilai tersebut harus diisi (NOT NULL). Penetapan kunci primer dibuat
pada saat pembuatan tabel:
mysql>create table siswa (NIM varchar(10) not null primary key,
Nama varchar(25),SEX char(1),Alamat varchar(35));

102
6.8 Memberikan nilai bawaan (Default)
Jika tidak memberikan suatu nilai dalam kolom tertentu maka oleh sistem secara otomatis
diisi dengan nilai NULL. Oleh karena itu pada saat perancangan field tabel tersebut defaultnya
diisi dengan tetapan yang dikehendaki.

mysql>create table MatKul (KD_MK varchar(10)

6.9 Memasukkan, Menampilkan, Mengubah dan Menghapus Data


6.9.1 Memasukkan Data (Insert)
Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu:
1. insert into nama_tabel values (isi_field_2,...,isi_field_n);
Contoh:

mysql>insert into produk values („SG 100‟,2500);

2. insert into nama_tabel (nama_field_1, nama_field_2,...,nama_ field_n) values


(isi_field_1, isi_field_2,...,isi_field_n);
Contoh :

mysql>insert into produk (kode,harga) values („SG 100‟,25000);

6.9.2 Menampilkan Data


Berikut ini perintah untuk menampilkan data, struktur penulisan:

mysql>select [fields] from [nama_tabel] Where [kondisi] Order by


[nama_field] Group by [nama_field] asc / desc

Contoh :

mysql>select kode from produk;


mysql>select kode,harga from produk;
mysql>select * from produk;

103
6.9.3 Mengubah Data (Update)
Jika data sudah kadaluarsa, berikut perintah digunakan untuk merubah data. Struktur
penulisan:

mysql>update nama_tabel set nama_field_1=isi_baru_1,


nama_field_2=isi_baru_2,..., nama_field_n=isi_baru_n Where
kriteria;

Contoh :

mysql>update produk set harga=3000 where nama=‟Sikat Gigi‟;

6.9.4 Menghapus Data (Delete)


Jika baris data sudah tidak diperlukan, berikut perintah digunakan untuk menghapus data.
Struktur penulisan:

mysql>delete nama_tabel where kriteria;

Contoh:

mysql>delete from produk where nama=‟Sikat Gigi‟;

6.10 Mengurutkan Tampilan


Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data
ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat menggunakan ASC
(ascending). Sedangkan untuk mengurutkan data berdasarkan yang terbesar ke kecil, dapat
menggunakan DESC (descending).

mysql>select * from siswa order by NIM desc;

6.11 Koneksi PHP MySQL


1. Membuka koneksi ke server MySQL
mysql_connect()
Digunakan untuk melakukan uji dan koneksi kepada server database MySQL.
Sintaks :

$conn = mysql_connect (”host”,”username”,”password”);

104
$conn adalah nama variabel penampung status hasil koneksi kepada database
host adalah nama host atau alamat server database MySQL
username adalah nama user yang telah diberi hak untuk dapat mengakses server database
password adalah kata sandi untuk username untuk dapat masuk ke dalam database
2. Memilih database yang akan digunakan di server
mysql_select_db()
Digunakan untuk melakukan koneksi ke database yang dalam server yang berhasil dikoneksi
dengan perintah mysql_connect().
Sintaks :

$pilih = mysql_select_db(”namadatabase”,$conn);

$pilih berisi status koneksi ke database


$conn merupakan koneksi kepada server database yang berhasil
namadatabase adalah nama database yang akan dikenai proses
3. Mengambil sebuah query dari sebuah database
mysql_query()
Digunakan untuk melakukan eksekusi perintah SQL untuk memanipulasi database yang
berhasil dilakukan koneksinya menggunakan mysql_select_db().
Sintaks :

$hasil = mysql_query(”SQL Statement”);

$hasil akan berupa record set apabila SQL Statement berupa perintah select.
4. Mengambil record dari database
a. mysql_fetch_array()
Digunakan untuk melakukan pemrosesan hasil query yang dilakukan dengan perintah
mysql_query(), dan memasukkannya ke dalam array asosiatif, array numeris atau
keduanya.
Sintaks :

$row = mysql_fetch_array($hasil);

105
$row adalah array satu record dari record $hasil yang diproses nomor record sesuai
dengan nomor urut dari proses mysql_fetch_array yang sedang dilakukan.
$hasil adalah record set yang akan diproses.
b. mysql_fetch_assoc()
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang
dihasilkan hanya array asosiatif.
Sintaks :

$row = mysql_fetch_assoc($hasil);

c. mysql_fetch_row()
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang
dihasilkan hanya array numeris.
Sintaks :

$row = mysql_fetch_row($hasil);

d. mysql_num_rows()
Fungsi ini digunakan untuk menghitung jumlah record yang ada pada database.
Sintaks :

$jml = mysql_num_rows($hasil);

$jml akan memiliki nilai sesuai dengan jumlah record yang ada.

106
Latihan
1. Menguji interkoneksi PHP dengan MySQL

<html>
<head>
<title>Koneksi Database MySQL</title>
</head>
<body>
<h1>Demo koneksi database MySQL</h1>
<?
$conn=mysql_connect ("localhost","root","");
if ($conn) {
echo "OK";
} else {
echo "Server not connected";
}
?>
</body>
</html>

2. Melihat perbedaan antara mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_row().


a. Buatlah tabel liga berikut ini, dengan 3 field : kode, negara, champion

Create table liga (


kode char(3) not null,
negara char(15),
champion int
);b. Isilah tabel dengan data berikut ini:

Insert into liga (kode, negara, champion) values


(„jer‟,‟Jerman‟,4);
Insert into liga (kode, negara, champion) values
(„spa‟,‟Spanyol‟,4);
Insert into liga (kode, negara, champion) values
(„ing‟,‟Inggris‟,3);
Insert into liga (kode, negara, champion) values
(„bel‟,‟Belanda‟,3);

107
c. Akses databases menggunakan mysql_fetch_array()

<html>
<head>
<title>koneksi database mysql</title>
</head>
<body>
<h1>koneksi database dengan mysql_fetch_array</h1>
<?
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("faruq",$conn);
$hasil = mysql_query("select * from liga",$conn);
while ($row=mysql_fetch_array($hasil)) {
echo "liga " .$row["negara"]; //array asosiatif
echo " mempunyai " .$row[2]; //array numeris
echo " wakil di liga champion <br>";
}
?>
</body>
</html>

d. Akses databases menggunakan mysql_fetch_assoc()

<html>
<head>
<title>koneksi database mysql</title>
</head>
<body>
<h1>koneksi database dengan mysql_fetch_assoc</h1>
<?
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("faruq",$conn);
$hasil = mysql_query("select * from liga",$conn);
while ($row=mysql_fetch_array($hasil)) {
echo "liga " .$row["negara"];
echo " mempunyai " .$row[“champion”];
echo " wakil di liga champion <br>";
}
?>
</body>
</html>

108
e. Akses databases menggunakan mysql_fetch_row()

<html>
<head>
<title>koneksi database mysql</title>
</head>
<body>
<h1>koneksi database dengan mysql_fetch_assoc</h1>
<?
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("faruq",$conn);
$hasil = mysql_query("select * from liga",$conn);
while ($row=mysql_fetch_row($hasil)) {
echo "liga " .$row[1];
echo " mempunyai " .$row[2];
echo " wakil di liga champion <br>";
}
?>
</body>
</html>

3. Membuat Buku Tamu


a. Buatlah tabel buku tamu yang memiliki 3 field : nama, email, komentar

Create table bukutamu (


nama char(20) not null,
email char(20),
komentar char (40)
);

109
b. Buat form untuk buku tamu, beri nama bukutamu.htm

<html>
<head>
<title>buku tamu</title>
</head>
<body>
<h1>buku tamu untuk database mysql</h1>
<form action="bukutamu_add_form.php" method="post">
Nama: <input type="text" name="nama" size="35" maxlength="50"> <br>
Email: <input type="text" name="email" size="35" maxlength="50">
<br>
komentar: <textarea name="komentar" rows="5" cols="30"></textarea>
<br>
<input type="submit" value="simpan">
<input type="reset" value="reset">
</form>
</body>
</html>

c. Buat file bukutamu_add_form.php untuk memproses data dari bukutamu.htm dan


menambahkan data ke tabel bukutamu.

<html>
<head>
<title>simpan buku tamu</title>
</head>
<body>
<h1>simpan buku tamu mysql</h1>
<?
$nama = $_post["nama"];
$email = $_post["email"];
$komentar = $_post["komentar"];
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("faruq",$conn);
echo "nama : $nama <br>";
echo "email : $email <br>";
echo "komentar : $komentar <br>";
$sqlstr="insert into bukutamu (nama,email,komentar)
values ('$nama','$email','$komentar')";
$hasil = mysql_query($sqlstr,$conn);
echo "simpan bukutamu berhasil dilakukan";
?>
</body>
</html>

110
d. Buat file view.php untuk menampilkan isi buku tamu

<?
$conn = mysql_connect("localhost","root","");
mysql_select_db("faruq",$conn);
$hasil = mysql_query("select * from bukutamu",$conn);
$jumlah = mysql_num_rows($hasil);
echo "<center>Daftar Pengunjung</center>";
echo "Jumlah pengunjung : $jumlah";
$a=1;
while($baris = mysql_fetch_array($hasil))
{
echo "<br>";
echo $a;
echo "<br>";
echo "Nama : ";
echo $baris[0];
echo "<br>";
echo "Email : ";
echo $baris[1];
echo "<br>";
echo "Komentar : ";
echo $baris[2];
$a++;
}
?>

4. Membuat program searching database dengan menggunakan tabel bukutamu


a. Buat file search.htm

<html>
<head>
<title>cari database</title>
</head>
<body>
<h1>searching buku tamu untuk database mysql</h1>
<form action="hasilsearch.php" method="post">
<select name="kolom">
<option value="nama">nama</option>
<option value="email">email</option>
</select>
Masukkan kata yang anda cari
<input type ="text" type ="text" name="cari">
<input type ="submit" value="cari" >
</form>
</body>
</html>

111
b. Buat file hasilsearch.php untuk menampilkan data

<?
$kolom=$_POST['kolom'];
$cari=$_POST['cari'];
$conn=mysql_connect("localhost","root","");
mysql_select_db("faruq", $conn);
$hasil=mysql_query("select * from bukutamu where $kolom like
'%$cari%'", $conn);
$jumlah=mysql_num_rows($hasil);
echo "<br>";
echo "Ditemukan: $jumlah";
echo "<br>";
while($baris=mysql_fetch_array($hasil))
{
echo "Nama : ";
echo $baris[0];
echo "<br>";
echo "Email : ";
echo $baris[1];
echo "<br>";
echo "Komentar :";
echo $baris[2];
}
?>

Tugas
Modifikasilah program diatas, sehingga anda memiliki 3 tombol yaitu:
1. Bukutamu untuk inputkan data
2. Tampilkan untuk menampilkan database bukutamu dalam bentuk tabel.
3. Search untuk melakukan searching database bukutamu dalam bentuk tabel.

112

Anda mungkin juga menyukai