Anda di halaman 1dari 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
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
<!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>");
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
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){
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>
</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
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"
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>";
}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");
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 
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 :
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
<?
include("koneksi.php");
echo "<table border=1 align=center cellpadding=0
cellspacing=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++; face=verdana
echo ("<tr><td><center><font
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></tr>")
;
}
echo "</table>";
?>
3. lihat_forum.php
<?
include("koneksi.php"); align=center cellpadding=0
echo "<table border=1
cellspacing=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++; face=verdana
echo ("<tr><td><center><font
size=3>$i.</td>");
echo ("<td><font face=verdana size=3>$a[nama]</td>");
echo("<td><font face=verdana
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;
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>;
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',
'joni@utystudents.or.id',
'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\