Sabtu, 01 Mei 2010

Akses dan Manipulasi Data Menggunakan Sistem Login

Data adalah catatan atas kumpulan fakta. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra.

Basis data (basisdata), adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.


Dalam kehidupan sehari-hari, fakta dikumpulkan untuk menjadi data. Data kemudian diolah sehingga dapat diutarakan secara jelas dan tepat sehingga dapat dimengerti oleh orang lain yang tidak langsung mengalaminya sendiri, hal ini dinamakan deskripsi. Pemilahan banyak data sesuai dengan persamaan atau perbedaan yang dikandungnya dinamakan klasifikasi. Konsep dasar dari basis data sendiri adalah kumpulan dari data. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya( penjelasan ini disebut skema). Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Biasanya data akan dimasukkan dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom.

Lalu, bagaimana cara mengakses dan memanipulasi data yang ada pada baris data ??? Berikut ini merupakan cara untuk memanipulasi basis data pada PHPMySQL agar data pada server dapat disajikan sesuai keinginan :

Koneksi.php

<?php
$host = 'localhost'; $user = 'root'; $pass = '';$db = 'didietz';
$cnn = mysql_connect($host, $user, $pass);
if (!$cnn) { exit('Koneksi Gagal'); }
$db = mysql_select_db($db);
if (!$db) { exit('Gagal Memilih Database'); }
?>


DataHandler.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head>
<title>Modifikasi Database</title>
><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!-- body { background-color: #DAE49C; } -->
</style>
</head>
<body>
<?php
// Memanggil database
require_once './Koneksi.php';
// Konstanta nama tabel
define('MHS', 'mahasiswa');
ini_set('display_errors', 1);
define('_VALID', 1);
// include file eksternal
require_once('./Login.php');
init_login();
validate();
echo "<div align='center'><strong>Anda sedang on-line</strong></div>";

// Fungsi utama untuk menangani pengolahan data @param string root parameter menu
function data_handler($root) {
if (isset($_GET['act']) && $_GET['act'] == 'add') {
data_editor($root); return;
}
$sql = 'SELECT COUNT(*) AS total FROM ' . MHS;
@$res = mysql_query($sql);
// Jika data di tabel ada
if (@mysql_num_rows($res)) {
if (isset($_GET['act']) && $_GET['act'] != '') {
switch($_GET['act']) {
case 'edit':
if (isset($_GET['id']) && ctype_digit($_GET['id'])) {
data_editor($root, $_GET['id']);
} else {
show_admin_data($root);
}
break;
case 'view':
if (isset($_GET['id']) && ctype_digit($_GET['id'])) { ?>
<h2 align="center">Lihat Data</h2><?php
data_detail($root, $_GET['id'], 1); ?>
<div style="margin:auto; margin-top:5px; width:700px">
<input type="button" value="Kembali" onClick="history.go(-1)" />
</div> <?php
} else {
show_admin_data($root);
}
break;
case 'del':
if (isset($_GET['id']) && ctype_digit($_GET['id'])) { ?>
<h2 align="center">Hapus Data</h2>
<div style="margin:auto; margin-bottom:5px; width:700px">
<?php echo 'Apakah data berikut ini akan dihapus ?'; ?>
</div>
<?php data_detail($root, $_GET['id'], 1);
// Key untuk penghapusan data
$id = $_GET['id']; ?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="get" style="margin:auto; margin-top:5px; width:700px">
<input type="button" name="submit" value="Ya" onClick="data_delete($root, $id)" />
<input type="button" value="Tidak" onClick="history.go(-1)" />
</form><?php
} else {
show_admin_data($root);
}
break;
default:
show_admin_data($root);
}
} else {
 show_admin_data($root);
}
@mysql_close($res);
} else {
echo 'Data Tidak Ditemukan';
}
}
// Fungsi untuk menampilkan menu administrasi * @param string root parameter menu
function show_admin_data($root) { ?>
<h2 align="center">Administrasi Data</h2> <?php
$sql = "SELECT nim, nama, alamat FROM " . MHS;
$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) { ?>
<div style="margin:auto; width:710px">
<a href="<?php echo $root;?>&amp;act=add">Tambah Data</a>
<table border=1 width=710 cellpadding=4 cellspacing=0 align=center bordercolor=#0000FF style="margin-top:5px">
<tr bgcolor=#CCCCCC>
<th>No</th>
<th width=120>NIM</th>
<th width=200>Nama</th>
<th width=200>Alamat</th>
<th>Menu</th>
</tr>
<?php $i = 1; while ($row = mysql_fetch_row($res)) {
$bg = (($i % 2) != 0) ? '' : 'even'; $id = $row[0]; ?>
<tr class="<?php echo $bg;?>">
<td bgcolor="#FFFFFF" width="5%">
<?php echo $i;?>.
</td>
<td bgcolor="#FFFFFF">
<a href="<?php echo $root;?>&amp;act=view&amp;id= <?php echo $id;?>" title="Lihat Data"><?php echo $id;?></a>
</td>
<td bgcolor="#FFFFFF">
<?php echo $row[1];?>
</td>
<td bgcolor="#FFFFFF">
<?php echo $row[2]?>
</td>
<td align="center" bgcolor="#FFFFFF">
| <a href="<?php echo $root;?>&amp;act=edit&amp;id= <?php echo $id;?>"> Edit</a>
| <a href="<?php echo $root;?>&amp;act=del&amp;id= <?php echo $id;?>" title="Hapus Data"> Hapus</a>
| </td>
</tr>
<?php $i++;
} ?>
</table>
</div> <?php
} else {
echo 'Belum ada data, isi <a href="'.$root.'&amp;act=add">di sini</a>';
}
@mysql_close($res);
}
}
// Fungsi untuk menampilkan detail data mahasiswa * @param string root parameter menu * @param integer id nim mahasiswa
function data_detail($root, $id = 0) {
$sql = "SELECT nim, nama, alamat FROM " . MHS . " WHERE nim = " . $id;
$res = mysql_query($sql);
if ($res) {
if (mysql_num_rows($res)) { ?>
<div>
<table border=1 width=700 cellpadding=4 cellspacing=0 align=center bordercolor=#0000FF> <?php
$row = mysql_fetch_row($res); ?>
<tr>
<td style="background-color:#CCCCCC" width="160">NIM</td>
<td bgcolor="#FFFFFF"><?php echo $row[0];?></td>
</tr>
<tr>
<td style="background-color:#CCCCCC">Nama</td>
<td bgcolor="#FFFFFF"><?php echo $row[1];?></td>
</tr>
<tr>
<td style="background-color:#CCCCCC">Alamat</td>
<td bgcolor="#FFFFFF" ><?php echo $row[2];?></td>
</tr>
</table>
</div> <?php
} else {
echo 'Data Tidak Ditemukan';
}
@mysql_close($res);
}
}
// Fungsi untuk menghasilkan form penambahan/pengubahan * @param string root parameter menu * @param integer id nim mahasiswa
function data_editor($root, $id = 0) {
$view = true;
if (isset($_POST['nim']) && $_POST['nim'] ) {
// Jika tidak disertai id, berarti insert baru
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
if (!$id) {
// PHP SQL untuk INSERT data
$sql = "INSERT INTO " . MHS . " (nim, nama, alamat) VALUES ('" .$nim. "', '" .$nama. "', '" .$alamat. "' )";
@$res = mysql_query($sql); if ($res) { ?>
<script type="text/javascript">
document.location.href="<?php echo $root;?>";
</script> <?php
} else {
echo 'Gagal menambah data';
}
} else {
// Pernyataan PHP SQL untuk UPDATE data
$sql = "UPDATE " . MHS . " SET nim = '" .$nim. "', nama = '" .$nama. "', alamat = '" .$alamat. "' WHERE nim = " . $id;
@$res = mysql_query($sql);
if ($res) {
// Script untuk redireksi ke root ?>
<script type="text/javascript">
document.location.href="<?php echo $root;?>";
</script> <?php
} else {
echo 'Gagal memodifikasi';
}
}
}
// Menyiapkan data untuk updating
if ($view) {
if ($id) {
$sql = "SELECT nim, nama, alamat FROM " . MHS . " WHERE nim = " . $id;
$res = mysql_query($sql);
if ($res) {
if (mysql_num_rows($res)) {
$row = mysql_fetch_row($res);
$nim = $row[0];
$nama = $row[1];
$alamat = $row[2];
} else {
show_admin_data();
return;
}
}
} else {
$nim = @$_POST['nim'];
$nama = @$_POST['nama'];
$alamat = @$_POST['alamat'];
} ?>
<h2 align="center"> <?php echo $id ? 'Edit' : 'Tambah';?> Data</h2>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post" style="margin:auto; width:auto">
<table border=1 cellpadding=4 cellspacing=0 align=center bordercolor=#0000FF>
<tr>
<td style="background-color:#CCCCCC" width=100>NIM*</td>
<td bgcolor="#FFFFFF">
<input type="text" name="nim" size=10 value="<?php echo $nim;?>" />
</td>
</tr>
<tr>
<td style="background-color:#CCCCCC">Nama</td>
<td bgcolor="#FFFFFF">
<input type="text" name="nama" size=40 value="<?php echo $nama;?>" />
</td>
</tr>
<tr>
<td style="background-color:#CCCCCC">Alamat</td>
<td bgcolor="#FFFFFF">
<input type="text" name="alamat" size=60 value="<?php echo $alamat;?>" />
</td>
</tr>
<tr>
<td style="background-gt;<span ><strong>Konfirmasi</strong></span></td>
<td style="background-color:#0000FF">
<input type="submit" value="Ya" /> <input type="button" value="Tidak" onClick="history.go(-1)" />
</td>
</tr>
</table>
<div style="margin:auto; margin-top:5px; width:520px">
Ket : * Harus diisi
</div>
</form> <?php
}
return false;
}
// Fungsi untuk menghasilkan form menghapus @param string root parameter menu @param integer id nim mahasiswa
function data_delete($root, $id) {
if (isset($_GET['id']) && $_GET['id']) {
// Pernyataan SQL hapus data
$sql = "DELETE FROM " . MHS . " WHERE nim =" . $id;
@$res = mysql_query($sql);
if ($res) {
// Script untuk redireksi ke root
?>
<script type="text/javascript">
document.location.href="<?php echo $root;?>";
</script>
<?php echo 'Data dengan NIM ' . $id . ' berhasil dihapus';
} else {
echo 'Gagal menghapus data';
}
@mysql_close($res);
}
}
// Memanggil fungsi data handler
data_handler('?m=data'); ?>
<div align="center">
<h2><a href="?m=logout">Logout</a></h2>
</div>
</body>
</html>


Login.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Aplikasi Database</title>
<style type="text/css">
<!--
#form{
margin-top:10px;
margin:auto;
margin-bottom:50px;
font-family: arial;
font-size: 20px;
color:#00CC66;
width:350px;
height : 270px;
background:#99FF66;
border: 3px solid #009966;
}
#input{
margin-top: 30px ;
margin-left: 100px ;
margin-bottom: 10px;
font-family: calibri;
font-size: 15px;
color:#666666;
}
body {
background-color: #DAE49C;
margin-top:5%;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php @session_start();
defined('_VALID') or die('not allowed');
function init_login() {
// Simulasi data account nama dan password
$ID = 'admin';
$Password = 'admin';
if (isset($_POST['ID']) && isset($_POST['Password'])) {
$n = trim($_POST['ID']);
$p = trim($_POST['Password']);
if (($n == $ID) && ($p == $Password)) {
$_SESSION['nlogin'] = 'value';
$_SESSION['time'] = 'time()';
// redireksi
?>
<script type="text/javascript">
document.location.href="./DataHandler.php";
</script>
<?php
} else {
echo '<div align="center"><h2>Nama atau Password tidak sesuai !</h2></div>';
return false;
}
}
}
function validate() {
if (!isset($_SESSION['nlogin']) || !isset($_SESSION['time'])) { ?>
<div id="form">
<h2 align="center">Login</h2>
<hr style="color:#00CC66; border:double;" align="center" width="300"/>
<form action="" method="post" name="login" >
<div id="input">
User ID :
<br/>
<input type="text" name="ID" style="margin-bottom:5px;"/>
<br />
Password :<br/>
<input type="password" name="Password"/>
<br />
<input type="submit" name="login" value="Login" style="margin-top:10px"/>
</div>
</form>
</div> <?php
// Memanggil database
require_once './Koneksi.php';
// Konstanta nama tabel
define('MHS', 'mahasiswa');
// Menampilkan data pada tabel
$sql = "SELECT nim, nama, alamat FROM " . MHS;
$res = mysql_query($sql); if ($res) {
$num = mysql_num_rows($res); if ($num) { ?>
<div style="margin:auto; width:520px">
<table border=1 width=520 cellpadding=4 cellspacing=0 align=center bordercolor=#0000FF style="margin-top:5px"> <tr bgcolor=#CCCCCC>
<th>No</th>
<th width=120>NIM</th>
<th width=200>Nama</th>
<th width=200>Alamat</th>
</tr>
<?php $i = 1;
while ($row = mysql_fetch_row($res)) {
$bg = (($i % 2) != 0) ? '' : 'even';
$id = $row[0]; ?>
<tr class="<?php echo $bg;?>">
<td bgcolor="#FFFFFF" width="6%"><?php echo $i;?>.</td>
<td bgcolor="#FFFFFF"><?php echo $row[0];?></td>
<td bgcolor="#FFFFFF"><?php echo $row[1];?></td>
<td bgcolor="#FFFFFF"><?php echo $row[2]?></td>
</tr> <?php
$i++;
} ?>
</table>
</div> <?php
} else {
echo 'Belum ada data, isi <a href="'.$root.'&amp;act=add">di sini</a>';
}
@mysql_close($res);
}
exit;
}
if (isset($_GET['m']) && $_GET['m'] == 'logout') {
// Hapus session
if (isset($_SESSION['nlogin'])) {
unset($_SESSION['nlogin']);
}
if (isset($_SESSION['time'])) {
unset($_SESSION['time']); }
// redireksi halaman
?>
<script type="text/javascript">
document.location.href="./DataHandler.php";
</script>
<?php
}
} ?>
</body>
</html>


Berikut ini merupakan tampilan awal dari aplikasi ini :



Jika user ingin melakukan manipulasi pada data yang ada, maka user harus masuk (login) dengan cara memasukkan User ID dan Password pada textbox yang ada pada tampilan awal dari aplikasi ini. Apabila berhasil masuk, maka akan muncul tampilan seperti ini :



Untuk melihat detail data, user hanya perlu meng-klik data pada kolom NIM. Setelah itu akan muncul halaman yang menampilkan detail data dari data yang di-klik tadi.



User dapat menambahkan data dengan cara meng-klik link Tambah Data di sebelah kiri atas tabel, setelah itu akan muncul form untuk mengisi data.



Data dapat yang sudah dimasukkan dapat diubah dengan cara meng-klik link Edit Data yang ada di sebelah kanan kolom alamat (kolom Menu), setelah itu akan muncul form untuk mengubah data seperti berikut.



Untuk menghapus data, user cukup meng-klik link Hapus Data yang ada di sebelah kanan kolom alamat (kolom Menu), setelah itu akan muncul konfirmasi untuk menghapus data.



Demikianlah beberapa pejelasan mengenai aplikasi ini, semoga aplikasi ini bisa bermanfaat untuk semuanya.

Keep Fighting Spirit On The Fire...

0 komentar: