MANIPULASI DATA PADA DATABASE MYSQL

17
APLIKASI WEB MANIPULASI DATAPADA DATABASE MYSQL, KONEKSI PHP DENGAN DATABASE MYSQL, DASAR DATABASE MYSQL Oleh : Aliyanto Charles Mantow 200643579006 UNIVERSITAS INDRAPRASTA PGRI JAKARTA 2008

Transcript of MANIPULASI DATA PADA DATABASE MYSQL

Page 1: MANIPULASI DATA PADA DATABASE MYSQL

APLIKASI WEB MANIPULASI DATAPADA DATABASE MYSQL, KONEKSI PHP DENGAN

DATABASE MYSQL, DASAR DATABASE MYSQL

 

 

 

 

 

 

 

Oleh :

Aliyanto Charles Mantow

200643579006

UNIVERSITAS INDRAPRASTA PGRI

JAKARTA 2008

Page 2: MANIPULASI DATA PADA DATABASE MYSQL

APLIKASI WEB MANIPULASI DATA PADA DATABASE MYSQL

EDIT DATA

Pemeliharaan data pada tahap implemantasi suatu website merupakan kewajiban dari pemiliknya. Hal ini diperlukan agar data dan informasi yang ada pada website selalu

uptodate. Untuk kebutuhan tersebut maka digunakan alat bantu yaitu fasilitas edit data. Contoh Algoritma edit data : 1. mencari data yang akan diedit.

Proses pencarian menggunakan perintah query yaitu : select <namafield> from <namatable> where <kondisi>; setelah query dijalankan akan memberikan feedback

berupa recordset yang berisi data hasil query. 2. melakukan pengeditan menggunakan halaman form edit. Data yang telah ditemukan

kemudian ditampilkan pada element form. Dan dilakukan pengeditan data. 3. setelah data diedit lalu dilakukan proses update dengan query update. 4. untuk menampilkan data terbaru dapat menggunakan halaman output.

DELETE DATA Ada saat ketika suatu data atau informasi tidak lagi dibutuhkan. Untuk itu diperlukan sebuah mekanisme delete data yang mana akan menghapus record pada database. Algoritma delete hampir sama dengan edit data, namun pada langkah ke 3 tidak melakukan pengeditan tapi

melakukan proses delete yang dapat menggunakan perintah query delete from table. Contoh algoritma delete data : 1. mencari data yang akan diedit.

Proses pencarian menggunakan perintah query yaitu : select <namafield> from <namatable> where <kondisi>; setelah query dijalankan akan memberikan feedback

berupa recordset yang berisi data hasil query. 2. untuk keamanan proses maka dapat ditambahkan halaman konfirmasi yang berfungsi

untuk menampilkan data yang akan di delete.

3. melakukan perintah delete dengan query delete form table. 4. untuk menampilkan data terbaru dapat menggunakan halaman output.

PERMASALAHAN Sebelum mengerjakan harap melakukan restore database terlebih dahulu. Dan ketika selesai lakukan backup semua data. Setiap listing progran harus dicek dahulu sebelum dijalankan.

1. edit_db.php

Syntax

Page 3: MANIPULASI DATA PADA DATABASE MYSQL

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>edit_db</title>

</head>

<body> <table width="75%" border="0" align="center" cellpadding="0"

cellspacing="0" bgcolor="#FFFFCC">

<tr align="center" bgcolor="#CCCCCC">

<td height="19" colspan="2" valign="top">

<? include "koneksi1.php"; ?> </td>

</tr>

<tr>

<td width="123" height="19" align="center" valign="top" bgcolor="#CCCCCC"> <font color="#000000">Menu</font></strong></td> <td width="458" rowspan="4" valign="top" bgcolor="#FFFFFF">

<? echo "<table border=0 align=center cellpadding=3 cellspacing=0 bgcolor

=#ffffcc>

<tr><h3>pilih data anggota yang akan di edit atau dihapus</h3></tr>

<tr bgcolor=#cccccc>

<td>No.</td>

<td><div align=center>Nama</div></td>

<td>Alamat</td>

<td>E-Mail</td>

<td>telp</td>

<td>gender</td>

<td>order</td></tr>";

//perintah query

$sql="select nama from anggota order by id"; $qry = mysql_query($sql); //menampilkan data tabel anggota while ( $a = mysql_fetch_array ( $qry ) ) { $i++; echo ("<tr><td><center><font face=verdana size=3>$i.</td>"); echo ("<td><font face=verdana size=3>$a[nama]</td>"); echo ("<td><font face=verdana size=3>$a[alamat]</td>"); echo ("<td><font face=verdana size=3>$a[email]</td>"); echo ("<td><font face=verdana size=3>$a[telp]</td>"); if($a[gender]=='1'){ $gender='male'; }else{ $gender='female';} echo ("<td><font face=verdana size=3>$gender</td>");

Page 4: MANIPULASI DATA PADA DATABASE MYSQL

echo "<td><a href=\"paneleditdb.php?id=$a[Id]\">edit</a></td>"; echo "<td><a href=\"paneldeldb.php?id=$a[Id]\">delete</a></td></tr>"; } echo "</table>";

mysql_close();

?>

</td>

</tr> <tr>

<td height="16" align="center" valign="top"><a

href="input_anggota.php" target="_self">Input

anggota</a></td>

</tr>

<tr>

<td height="18" align="center"

valign="top"><a href="lihatdb.php"

target="_self">Lihat

anggota</a></td>

</tr>

<tr>

<td height="147" valign="top"></td>

</tr>

<tr bgcolor="#CCCCCC">

<td height="19" colspan="2" valign="top"></td>

</tr>

</table>

</body>

</html>

Output

Page 5: MANIPULASI DATA PADA DATABASE MYSQL

2. paneleditdb.php syntak <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>paneleditdb</title>

</head>

<body>

<table width="667" border="0" align="center" cellpadding="0"

cellspacing="0" bgcolor="#FFFFCC">

<tr align="center" bgcolor="#CCCCCC">

<td height="19" colspan="2" valign="top">

<? include "koneksi.php"; $sql="select * from anggota where Id=$id"; $hasil = mysql_query($sql) or die ("gagal operasi"); $a = mysql_fetch_array ( $hasil ); ?> </td> </tr> <tr>

<td width="123" height="19" align="center" valign="top"

bgcolor="#CCCCCC"><font

color="#000000">Menu</font></strong></td>

<td width="458" rowspan="4" valign="top"

bgcolor="#FFFFFF">

<form action="proseseditdb.php" method="post" name="form1" target="_self"> <table width="100%" border="0" align="center"

cellpadding="4" cellspacing="0">

<tr bgcolor="#8B9AA1">

<th colspan="2" class="navi" scope="row">PANEL

EDIT DATABASE</th> </tr> <tr> <th class="content" scope="row"><div

align="right">ID</div></th>

<td>

<? if ($hasil){ echo "<input name=\"txtid\" type=\"text\" id=\"txtid\"

value=\"$a[Id]\" size=\"15\" maxlength=\"15\">"; } ?>

</td> </tr> <tr>

<th class="content" scope="row"><div

align="right">Nama</div></th>

<td> <? if ($hasil){

Page 6: MANIPULASI DATA PADA DATABASE MYSQL

echo "<input name=\"txtnama\" type=\"text\" id=\"txtnama\" value=\"$a[nama]\" size=\"35\" maxlength=\"35\">";

} ?>

</td> </tr> <tr> <th class="content"

scope="row"><div align="right">Alamat</div></th>

<td> <?

if ($hasil){ echo "<textarea name=\"txtalamat\" cols=\"35\"

id=\"txtalamat\">$a[alamat]</textarea>"; }

?> </td> </tr> <tr> <th class="content"

scope="row"><div align="right">Email</div></th>

<td><? if ($hasil){ echo "<input name=\"txtemail\" type=\"text\" id=\"txtemail\"

value=\"$a[email]\" size=\"35\" maxlength=\"35\">"; }

?> </tr> <tr> <th class="content" scope="row"><div

align="right">Telp</div></th>

<td>

<? if ($hasil){ echo "<input name=\"txttelp\" type=\"text\" id=\"txttelp\"

value=\"$a[telpon]\" size=\"35\" maxlength=\"35\">"; }

?>

</tr><tr><td scope="row"><div

align="right"><strong>Gender</strong></div></td>

<td>

<? if ($a[gender]=='1'){ echo " <input name=\"rbgender\" type=\"radio\" value=\"1\"

checked> Laki - laki"; echo "<input name=\"rbgender\" type=\"radio\" value=\"0\">Perempuan</td>";

}else{ echo " <input name=\"rbgender\" type=\"radio\" value=\"1\" >

Laki - laki"; echo "<input name=\"rbgender\" type=\"radio\" value=\"0\" checked >Perempuan</td>";

} ?> </td>

Page 7: MANIPULASI DATA PADA DATABASE MYSQL

</tr>

<tr>

<td scope="row"></td>

<td scope="row"> <input type="submit"

name="Submit" id="Submit" value="update" />

<input name="reset" type="reset" id="reset2" value="Reset" /> <input name="batal" type=button id="batal" value="batal" onclick=javascript:window.location.href="edit_db.php" /></th> </tr>

</table>

</form>

</td>

</tr>

<tr>

<td height="16" align="center" valign="top"><a href="input_anggota.php" target="_self">Input anggota</a></td>

</tr>

<tr>

<td height="18" align="center" valign="top"><a

href="lihatdb.php" target="_self">Lihat

anggota</a></td>

</tr> <tr> <td height="147" valign="top"></td>

</tr>

<tr bgcolor="#CCCCCC">

<td height="19" colspan="2" valign="top"></td>

</tr>

</table>

</body>

</html>

Output

Page 8: MANIPULASI DATA PADA DATABASE MYSQL

3. proseseditdb.php syntak <?

include("koneksi.php");

if ($txtid<>""){

$sql="update anggota set ‘nama’='$txtnama',

alamat='$txtalamat', email='txtemail',gender='$rbgender' where

id='$txtid'";$hasil = mysql_qeury($sql) or die ("gagal operasi"); echo "<script language =\"javascript\" >

window.location.href=\"edit_db.php\";</script>";

}else{

echo "

<script language =\"javascript\" >

self.history.back();

</script>";

}

?>

4. paneldeldb.php syntak <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>paneldelete_db</title>

</head>

<body>

<table width="667" border="0" align="center" cellpadding="0"

cellspacing="0" bgcolor="#FFFFCC">

<tr align="center" bgcolor="#CCCCCC">

<td height="19" colspan="2" valign="top"> <? include "koneksi.php";

$sql="select * from anggota where Id=$id"; $hasil = mysql_query($sql) or die ("gagal operasi"); $a = mysql_fetch_array ( $hasil ); ?> </td> </tr> <tr>

<td width="123" height="19" align="center" valign="top"

bgcolor="#CCCCCC"><font

color="#000000">Menu</font></strong></td>

<td width="458" rowspan="4" valign="top" bgcolor="#FFFFFF"> <? echo "<form action=\"prosesdeldb.php?id=$a[Id]\" method=\"post\"

name=\"form1\" target=\"_self\">"; ?>

<table width="100%" border="0" align="center"

Page 9: MANIPULASI DATA PADA DATABASE MYSQL

cellpadding="4" cellspacing="0">

<tr bgcolor="#8B9AA1">

<th colspan="2" class="navi" scope="row">KONFIRMASI

DELETE DATABASE</th>

</tr><tr>

<th class="content" scope="row"><div

align="right">ID</div></th>

<td>

<? if ($hasil){ echo "<font color=\"red\"><b>$a[Id]</b></font>"; } ?>

</td> </tr><tr> <th class="content" scope="row"><div

align="right">Nama</div></th>

<td>

<? if ($hasil){ echo "<font color=\"red\"><b>$a[nama]</b></font>"; }

?>

</td></tr> <tr> <th class="content" scope="row"><div

align="right">Alamat</div></th>

<td> <?if ($hasil){ echo "<font color=\"red\"><b>$a[alamat]</b></font>"; }

?> </td> </tr> <tr> <th class="content" scope="row"><div

align="right">Email</div></th> <td><? if ($hasil){

echo "<font color=\"red\"><b>$a[email]</b></font>"; }

?> </tr><tr> <th class="content" scope="row"><div

align="right">Telp</div></th>

<td> <? if ($hasil){ echo "<font color=\"red\"><b>$a[teelp]</b></font>"; } ?>

</tr><tr> <td scope="row"><div

align="right"><strong>Gender</strong></div></td> <td> <?

if ($b[gender]=='1'){ echo "<font color=\"red\"><b>laki-laki</b></font>";

Page 10: MANIPULASI DATA PADA DATABASE MYSQL

}else{ echo "<font color=\"red\"><b>perempuan</b></font>";

} ?> </td> </tr> <tr> <td scope="row"></td> <td scope="row"> <input type="submit" name="Submit"

id="Submit"

value="hapus" />

<input name="batal" type=button id="batal" value="batal" onclick=javascript:window.location.href="edit_db.php" /></th> </tr></table></form>

</td> </tr> <tr> <td height="16" align="center"

valign="top"><a

href="input_anggota.php" target="_self">Input

anggota</a></td>

</tr> <tr> <td height="18" align="center" valign="top"><a

href="lihatdb.php" target="_self">Lihat anggota</a></td></tr>

<tr>

<td height="147" valign="top"></td> </tr> <tr bgcolor="#CCCCCC">

<td height="19" colspan="2" valign="top"></td>

</tr>

</table>

</body>

</html>

Output

5. prosesdeldb.php <?

include("koneksi.php");

if ($id<>""){

$sql="delete form anggota where Id='$id'";

$hasil = mysql_query($sql) or die ("gagal operasi");

Page 11: MANIPULASI DATA PADA DATABASE MYSQL

echo " <script language =\"javascript\"

>window.location.href=\"edit_db.php\"; </script>";

}else{

echo "

<script language =\"javascript\" >

self.history.back();

</script>";

}

?>

6. mengubah file input_anggota.php ubah file dengan menambahkan link kehalaman edit_db.php.

7. mengubah file lihatdb.php ubah file tersebut sehingga memiliki link ke halaman edit_db.php 

Page 12: MANIPULASI DATA PADA DATABASE MYSQL

KONEKSI PHP DENGAN DATABASE MYSQL

Mengenal Fungsi-fungsi MySQL Untuk koneksi PHP ke database MySQL dilakukan dengan menggunakan fungsi-fungsi mysql_connect(), mysql_pconnect(), mysql_select_db(). mysql_connect(), mysql_connect () digunakan untuk melakukan koneksi ke server database MySQL. Format penulisan :

mysql_connect(nama_host, nama_user, password); Jika parameter nama host tidak dideklarasikan, otomatis akan berisi localhost. Koneksi ke database akan secara otomatis terputus pada saat script program selesai dieksekusi seluruhnya, kecuali diberikan perintah fungsi mysql_close(). Fungsi mysql_connect() akan menghasilkan nilai true jika koneksi

berhasil dilakukan dan nilai false jika gagal. mysql_pconnect() Fungsi mysql_pconnect() juga digunakan untuk membangun akses ke database, sama dengan fungsi mysql_connect(). Sedikit perbedaannya adalah jika menggunakan fungsi mysql_pconnect(), koneksi tidak akan terputus meskipumn program telah selesai dieksekusi.

mysql_create_db() Fungsi mysql_create_db() digunakan untuk membuat sebuah database. Biasanya untuk sebuah aplikasi digunakan sebuah database. Sebuah database akan berisi beberapa tabel. Format penulisan : mysql_create_db(“nm_database”);

Fungsi mysql_select_db() Fungsi ini berguna untuk memilih atau mengaktifkan database, seperti dalam program klien mysql pakai USE . format penulisannya: mysql_select_db(database,pengenal_hub)

Dalam hal ini database adalah nama database yang digunakan, sedang pengenal_hub adalah pengenal yang diperoleh dari pemanggilan fungsi mysql_connect(). mysql_query() PHP tidak menyediakan fungsi khusus untuk membuat tabel dengan field-fieldnya, sehingga

untuk membuat tabel data tetap menggunakan sintaks dari program database MySQL yang digunakan, kemudian sintaks dioperasikan menggunakan fungsi mysql_query(). Sehingga fungsi mysql_query() adalah menjalankan perintah query yang terdapat di MySQL. mysql_db_query() fungsi ini berfungsi untuk menjalankan suatu permintaan terhadap suatu database

format penulisan :

Page 13: MANIPULASI DATA PADA DATABASE MYSQL

mysql_db_query(database,permintaan,pengenal_hub) dalam hal ini pengenal_hub menyatakan pengenal yang didapat dari fungsi mysql_connect(), sedangkan adalah nama database yang dipergunakan dan permintaan adalah perintah SQL. Pada aplikasi web database diperlukan mekanisme akses database dengan pemrograman php. Dalam hal ini ada beberapa langkah untuk mengkoneksikan halaman web dengan database mysql. Antara lain :

1. Buat file koneksi.php yang merupakan mekanisme akses databasenya.

2. Aktifkan mysql database 3. Jalankan file koneksi.php untuk memastikan database mysql terkoneksi dengan php.

PERMASALAHAN

1. koneksi.php <? // buka koneksi ke database server $database="praktikumdb"; // sesuaikan dengan database sendiri $hostname="localhost"; // sesuaikan $username="root"; // sesuaikan $password=""; //sesuaikan if (!$dbh=mysql_connect($hostname,$username,$password)) { echo mysql_error(); exit; }else { // select default database mysql_select_db($database, $dbh); echo "<h1><b>selamat anda sukses mengakses database</b></h1><br/><hr/>"; } ?>

2. lihat_anggota.php

Page 14: MANIPULASI DATA PADA DATABASE MYSQL

<? include("koneksi.php"); echo "<table border=1 cellspacing=0>

align=center

cellpadding=0

<tr><h3>ini adalah data anggota</h3></tr> <tr> <td>No.</td> <td><div align=center>Nama</div></td> <td>Alamat</td> <td>E-Mail</td> <td>telp</td></tr>"; $sql="select * from anggota order by id"; $qry = mysql_query($sql); while ( $a = mysql_fetch_array ( $qry ) ) { $i++; echo ("<tr><td><center><font size=3>$i.</td>");

face=verdana

echo ("<td><font face=verdana size=3>$a[nama]</td>"); echo ("<td><font face=verdana size=3>$a[alamat]</td>"); echo ("<td><font face=verdana size=3>$a[email]</td>"); echo ("<td><font face=verdana size=3>$a[telp]</td></tr>"); } echo "</table>"; ?>

3. lihat_forum.php <? include("koneksi.php"); echo "<table border=1 cellspacing=0>

align=center

cellpadding=0

<tr><h3>ini adalah data forum</h3></tr> <tr> <td>No.</td> <td><div align=center>Nama</div></td> <td>pesan</td>"; $sql="select * from forum order by idf"; $qry = mysql_query($sql); while ( $a = mysql_fetch_array ( $qry ) ) { $i++; echo ("<tr><td><center><font size=3>$i.</td>");

face=verdana

echo ("<td><font face=verdana size=3>$a[nama]</td>"); echo("<td><font face=verdana

Page 15: MANIPULASI DATA PADA DATABASE MYSQL

size=3>$a[pesan]</td></tr>"); } echo "</table>"; ?>

DASAR DATABASE MYSQL

Database Mysql Merupakan sebuah system manajemen database relasi (relational databade

management system). Bersifat open source dapat didownload secara bebas, mysql memiliki kinerja, kecepatan, proses, dan ketangguhan yang tidak kalah dengan database yang lain. Ex : oracle, Sybase, unity, dll.

Pada awalnya mysql hanya berjalan diatas platform system operasi linux. Hampir semua distro linux telah memasukkan mysql sebagai database standarnya., namun saat ini

mysql dapat pula berjalan diatas system operasi lainnya, ex : Ms. Windows, Solaris, FreeBSD, mac OSX, dsb.

Pada tahun 2003 mysql AB meneliti menggunakan jejak pendapat pada situsnya bahwa 12.598 responden didapat 5.824 ( 46,2% ) diantaranya menggunakan linux sebagai platform

system operasinya dan database mysql. Mengapa mysql ? 1. Kecepatan, dalam hal kecepatan proses mysql memiliki kemampuan diatas rata – rata

dari pada database lain. 2. Mudah digunakan, perintah dan return pada mysql maupun instalasi relative mudah. 3. Open source, siapapun dapat mengembangkan mysql.

4. Kapabilitas, mysql dapat digunakan untuk mengelola database dengan jumlah 50 juta record. 60000 table, dengan jumlah baris 5 milyar baris, 32 buah index per table, sedang setiap index terdiri hingga 16 kolom kriteria.

5. Replikasi data, dapat dibuat mirror server dari server induk sehingga kerja system terbantu.

6. Konektifitas dan keamanan, mysql menggunakan system keamanan dan ijin akses tingkat lanjut, dapat mengencripsikan data password user.

7. Lintas platform system operasi, dapat dijalankan diberbagai system operasi. Query

Untuk mengakses database digunakan query sebagai perintahnya. 1. Menampilkan database yang ada pada mysql.

Mysql>show database;

Page 16: MANIPULASI DATA PADA DATABASE MYSQL

2. Membuat database

mysql>create database <nama database>;

3. Menggunakan database mysql>use <nama Db>;

4. Melihat table pada database mysql>show tables;

5. Membuat table baru mysql>create table <nama table> (<nama kolom><tipe data>);

6. Memasukkan data pada table mysql>insert into <nm table> (<nama kolom>)value(<isi>);

7. Menampilkan data mysql>select <nm kolom> from<nm table>where

<kriteria>order by

<kolom>;

8. Mengedit data mysql>update <table>set <kolom=perubahan data>where <kriteria>;

9. Menghapus data mysql>delete from <table>where <kriteria>;

10. Keluar dari mysql mysql>quit atau exit atau \q

Jenis Kolom (Tipe Data Pada Mysql) 1. Numeric : tinyint, smallint, mediumint, int, bigint, float, double, decimal. 2. Karakter : char, varchar. 3. Enum : enum, set.

4. Blob : tinyblob, blob, mediumblob, longblob, tinytext, mediumtext, text, longtext. 5. Tanggal dan Waktu : date, datetime, time, timestamp, year.

PERMASALAHAN

1. Aktifkan Mysql Database Start > programfile > phptriad > mysql > mysql – d (win98) mysql –

d-

nt (winxp)

2. Login Sebagai User Pada Mysql C:\apache\mysql\bin>mysql –u root –p

3. Melihat Daftar Database Yang Ada Mysql > show databases;

4. Membuat Database Baru Mysql > CREATE DATABASE <namamhs>;

Page 17: MANIPULASI DATA PADA DATABASE MYSQL

5. Memilih Atau Menggunakan Database Mysql > use <namamhs>;

6. Membuat Table Anggota mysql > CREATE TABLE anggota (Id int unsigned NOT NULL

auto_increment

primary key, nama varchar(10) NOT NULL, alamat varchar(15) NULL,

telp varchar(15) NULL);

7. Melihat Struktur Table Anggota Mysql > describe anggota;

8. Mengubah Struktur Table Anggota Mysql > ALTER TABLE anggota ADD COLUMN email varchar(35) NULL

AFTER

alamat;

9. Memasukkan Data Pada Table Anggota Mysql > INSERT INTO anggota (`Id`, `nama`, `alamat`, `email`,

`telp`) VALUES (1, 'joni', 'jogja',

'[email protected]',

'0818080808');

10. menampilkan data table anggota mysql > select id, nama, email from anggota order by id;

11. Mengedit Data Pada Table Anggota Mysql > UPDATE anggota SET `Id`=1, `alamat`='jombor' WHERE `Id`=

1;

12. Menghapus Data Pada Table Anggota Mysql > delete from anggota where id=1;

MEMBACKUP DATABASE

Salinlah folder pada : c:\apache\mysql\data\<namamhs> ke tempat yang aman.

MERESTORE DATABASE

Salinlah folder <namamhs> dari tempat penyimpanan ke c:\apache\mysql\data\