Anda di halaman 1dari 73

LAPORAN PRAKTIKUM 6

DATABASE

Disusun untuk memenuhi Tugas Matakuliah Pemrograman Berbasis Web


yang dibina oleh Bapak Azhar Ahmad Smaragdina, S.Pd, M.Pd

Oleh:
Nafa Zulfa

(140533604432)

Radhania Afika Sari

(140533602886)

Setiawan

(140533603042)

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA
OKTOBER 2016
Laporan Praktikum 6
Database

A. TUJUAN PEMBELAJARAN
1. Mahasiswa mampu mengkoneksikan aplikasi ke database MySQL
2. Mahasiswa mampu menciptakan database dan tabel melalui program PHP
3. Mahasiswa mampu membangun program PHP untuk akses dan manipulasi data
4. Mahasiswa mampu membangun program PHP untuk administrasi data (insert, update,
delete)
5. Mahasiswa mampu membangun program PHP untuk fasilitas pencarian data, dan
pembatasan tampilan data
6. Membuat aplikasi web databse untuk pengolahan data
B. DASAR TEORI
Akses dan Manipulasi Data
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 cerita.
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. Perangkat lunak yang digunakan untuk
mengelola dan memanggil 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 faktayang tersimpan di
dalamnya (penjelasan ini disebut skema). Skema menggambarkan obyek yang diwakili
suatu basis data, dan hubungan diantara obyek tersebut. Biasanya data akan dimasukkan
dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris
dan kolom.
Sehubungan dengan pengolahan data secara permanen, PHP menyediakan pendekatan
yang

variatif sekali.

Salah satu

pendekatan yang banyak

digunakan

adalah

menginteraksikan aplikasi-aplikasi PHP dengan database. Dalam hal ini, banyak sekali
produk database yang didukung oleh PHP, salah satunya yang paling populer adalah
MySQL.

C. LATIHAN
1. Koneksi Ke Data Source
a) Ketikkan kode berikut:
Koneksi.php
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'mysql';
$cnn = mysql_connect ($host, $user, $pass);
if(!$cnn){
exit('Koneksi Gagal');
}
$db = mysql_select_db($db);
if (!$db){
exit('Gagal Memilih Database');
}
?>

Test.php
<html>
<head>
<title>Test Koneksi</title>
</head>
<body>
<?php
require_once './koneksi.php';
?>
<h4>Koneksi Berhasil</h4>
</body>
</html>

b) Hasil:

c) Penjelasan:
Program ini menggunakan fungsi mysql_connect yang digunakan untuk memberikan
koneksi antara program dengan database. Mysql_select_db digunakan untuk
memilih database yang akan digunakan yaitu database mysql.
2. Menciptakan Database & Tabel
a) Ketikkan kode berikut:
Create_db.php
<html>
<head>
<title>Menciptakan Database</title>
</head>
<body>
<?php
require_once './koneksi.php';
$db = 'myweb';
$res = mysql_query('CREATE DATABASE '.$db);
if($res){
echo 'Database '.$db.' Created';
mysql_close();
}
else {
echo mysql_error();
}
?>

</body>
</head>

Create_tabel.php
<html>
<head>
<title>Menciptakan Tabel</title>
</head>
<body>
<?php
require_once './koneksi.php';
$sql = 'CREATE TABLE mahasiswa (
nim VARCHAR(12) NOT NULL,
nama VARCHAR(40) NOT NULL,
alamat VARCHAR(100),
PRIMARY KEY (nim)
) ENGINE=MyISAM';
$res = mysql_query($sql);
if($res){
echo 'Table Created';
mysql_close();
}
else {
echo mysql_error();
}
?>
</body>
</html>

b) Hasil:

c) Penjelasan:
Program ini menggunakan mysql_query yang digunakan untuk mengeksekusi query
yang digunakan untuk membuat database dan juga membuat tabel di dalam database
yang telah dibuat.
3. Akses & Manipulasi Data
a) Ketikkan kode berikut:
Ambil_data.php
<?php
require_once './koneksi.php';
$sql = 'SELECT * FROM mahasiswa';
$res = mysql_query($sql);
if($res){
if(mysql_num_rows($res)){ ?>

<table border=1 cellspacing=1 cellspading=5>


<tr>
<th>#</th>
<th width=100>NIM</th>
<th width=150>Nama</th>
<th>Alamat</th>
</tr>
<?php
$i = 1;
while ($row = mysql_fetch_row($res)){ ?>
<tr>
<td>
<?php echo $i; ?>
</td>
<td>
<?php echo $row[0]; ?>
</td>
<td>
<?php echo $row[1]; ?>
</td>
<td>
<?php echo $row[2]; ?>
</td>
</tr>
<?php
$i++;
}
?>
</table>
<?php
}
else {
echo 'Data

Tidak Ditemukan';

}
mysql_close();
}
?>

Tambah_data.php
<html>
<head>
<title>Tambah Data</title>

</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<table>
<tr>
<td>NIM</td>
<td><input type="text" name="nim"/></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" size=40/></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" size=60/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Simpan"/></td>
</tr>
</table>
</form>
<?php
require_once './koneksi.php';
if (isset($_POST['nim']) && isset($_POST['nama'])){
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$sql = "INSERT INTO mahasiswa
VALUES ('".$nim."','".$nama."','".$alamat."')";
$res = mysql_query($sql);
if($res) {
echo 'Data Berhasil Ditambahkan';
@ mysql_close($res);
}
else {
echo 'Gagal Menambahkan Data<br/>';
echo mysql_error();
}

}
echo '<hr/>';
require_once '/koneksi.php';
$sql = 'SELECT * FROM mahasiswa';
$res = mysql_query($sql);
if($res){
if(mysql_num_rows($res)){ ?>
<table border=1 cellspacing=1 cellspading=5>
<tr>
<th>#</th>
<th width=100>NIM</th>
<th width=150>Nama</th>
<th>Alamat</th>
</tr>
<?php
$i = 1;
while ($row = mysql_fetch_row($res)){ ?>
<tr>
<td>
<?php echo $i; ?>
</td>
<td>
<?php echo $row[0]; ?>
</td>
<td>
<?php echo $row[1]; ?>
</td>
<td>
<?php echo $row[2]; ?>
</td>
</tr>
<?php
$i++;
}
?>
</table>
<?php
}
else {
echo 'Data
}

Tidak Ditemukan';

mysql_close();
}
?>
</body>
</html>

b) Hasil:

c) Penjelasan:
Program ini menggunakan fungsi mysql_query yan digunakan untuk mengeksekusi
query megambil dan juga menambahkan data. Program ini juga menggunakan fungsi
mysql_fetch_rows yang digunakan untuk mengetahui jumlah data yang ada di dalam
tabel yang dipilih yaitu tabel mahasiswa. Program ini menggunakan pendekatan get
dan post. Program ini menggunakan require_once yang digunakan untuk
meghubungkan tambah_data.php dan ambil_data.php dengan koneksi.php.
4. Penambahan Data, Menu Administrasi Data, Menampilkan Detail Data, &
Memodifikasi Data
a) Ketikkan kode berikut:
Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');

data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<?php
function data_handler($root){
if (isset($_GET['act']) && $_GET['act'] == 'add'){
data_editor($root);
}
$sql = 'SELECT COUNT(*) AS total FROM '.MHS;
$res = mysql_query($sql);
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'])){
data_detail($root, $_GET['id'],
1);
}
else{
show_admin_data($root);
}
break;

case 'del':
if (isset($_GET['id']) &&
ctype_digit($_GET['id'])){
$id = $_GET['id'];

mysql_query($sql);
$res = mysql_query($sql);
if ($res){ ?>

<?php
}
else{
echo 'Gagal Menghapus
data';
}
}
else{
show_admin_data($root);
}
break;

default:
show_admin_data($root);
}
}
else{
show_admin_data($root);
}
@mysql_close($res);
}
else{
echo 'Data Tidak Ditemukan!';
}
}
function show_admin_data($root){?>
<h2 class="heading">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 class="tabel">
<div style="padding:5px;">

<a href="<?php echo $root;?


>&amp;act=add">Tambah Data</a>
</div>
<table border=1 width=700 cellpadding=4
cellspacing=0>
<tr>
<th>#</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 width="2%"><?php echo
$i;?></td>
<td>
<a href="<?php echo
$root;?> &amp;act=view&amp;id=<?php echo $id;?>" title="Lihat
Data"><?php echo $id;?></a>
</td>
<td><?php echo $row[1];?
></td>
<td><?php echo $row[2];?
></td>
<td align="center">
<a href="<?php echo
$root;?>&amp;act=edit&amp;id=<?php echo $id;?>">Edit</a>
</td>
</tr>
<?php
$i++;
}
?>
</table>
</div>

<?php
}
else{
echo 'Belum ada data, isi <a href="'.
$root.'&amp;act=add">Disini</a>';
}
@mysql_close($res);
}
}
function data_detail($root, $id){
$sql = 'SELECT nim, nama, alamat FROM '.MHS.' WHERE nim='.$id;
$res = mysql_query($sql);
if($res){
if(mysql_num_rows($res)){ ?>
<div class="tabel">
<table border=1 width=700 cellpadding=4
cellspacing=0>
<?php
$row = mysql_fetch_row($res); ?>
<tr>
<td>NIM</td>
<td><?php echo $row[0];?></td>
</tr>
<tr>
<td>Nama</td>
<td><?php echo $row[1];?></td>
</tr>
<tr>
<td>Alamat</td>
<td><?php echo $row[2];?></td>
</tr>
</table>
</div>
<?php
}
else{
echo 'Data Tidak Ditemukan';
}
@mysql_close($res);
}

}
function data_editor($root, $id = 0){
$view = true;
if(isset($_POST['nim']) && $_POST['nim']){
if(!$id){
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$sql = "INSERT INTO ".MHS." 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 Menambahkan Data';
}
}
else{
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$sql = "UPDATE ".MHS." SET nama='".$nama."',
alamat='".$alamat."' WHERE nim='".$nim."'";
$res = mysql_query($sql);
if($res){ ?>
<script
type="text/javascript">document.location.href="<?php echo $root;?
>";</script>
<?php
}
else{
'Gagal Memodifikasi Data';
}
}
}
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> <?php echo $id ? 'Edit' : 'Tambah';?> Data</h2>
<form action="" method="post">
<table border=1 cellpadding=4 cellspacing=0>
<tr>
<td width=100>NIM*</td>
<td><input type="text" name="nim" size=10 value="<?
php echo$nim;?>"/></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" size=40
value="<?php echo $nama;?>"/></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" size=40
value="<?php echo $alamat;?>"/></td>
</tr>

<tr>
<td> </td>
<td><input type="submit" value="Submit"/><input
type="button" value="Cancel" onclick="history.go(-1)"/></td>
</tr>
</table>
</form>
<p>Ket: * Wajib Diisi</p>
<?php
}
return false;
}
?>

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk memanipulasi

data yang ada pada mahasiswa, sedangkan mysql_fetch_rows digunakan untuk


mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu create, read, update, dan juga delete data.
Program ini juga menggunakan fungsi function yang digunakan untuk
mengelompokkan fungsi-fungsi pada program yaitu detail, edit, dan menampilkan
data.
5. Pencarian Data
a) Ketikkan kode berikut:
Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<?php
/**
*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 * FROM ' . MHS;
$res = mysql_query($sql);
//Jika data di tabel ada
if (mysql_num_rows($res)) {
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 class="heading">Pencarian Data</h2>
<form method="post" action="">
Nama :
<input type="text" name="search">
<input type="submit" name="cari" value="Cari">
</form>
<hr>
<?php
$sql = 'SELECT * FROM ' . MHS;
if (isset($_POST['cari'])) {
if (isset($_POST['search']))
$sql = 'SELECT * FROM mahasiswa WHERE nama LIKE "'.
$_POST['search'].'"';
}

$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);

if ($num) {
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150">Nama</th>
<th width="120">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
</div>
<?php
} else {
echo 'Data Belum Ada';
}
@mysql_close($res);
}
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk mencari data
yang ada pada tabel mahasiswa, sedangkan mysql_fetch_rows digunakan untuk
mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu read data. Program ini juga menggunakan
fungsi function yang digunakan untuk mengelompokkan fungsi-fungsi pada
program yaitu fungsi untuk menampilkan data.
6. Latihan Kecil 5
a) Ketikkan kode berikut:
Index.php
<html>

<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<?php
function data_handler($root){
if (isset($_GET['act']) && $_GET['act'] == 'add') {
data_editor($root);
return;
}
$sql = 'SELECT * FROM ' . MHS;
$res = mysql_query($sql);
//Jika data di tabel ada
if (mysql_num_rows($res)){
show_admin_data($root);
@mysql_close($res);
} else{
echo "Data Tidak Ditemukan";
}
}
function show_admin_data($root){
?>
<h2 class="heading">Pencarian Data</h2>

<form method="post" action="">


Nama :
<?php if (isset($_POST['search'])): ?>
<input type="text" name="search" value="<?php echo
$_POST['search'] ?>">
<?php endif ?>
<?php if (!isset($_POST['search'])): ?>
<input type="text" name="search">
<?php endif ?>
<input type="submit" name="cari" value="Cari">
<input type="submit" name="refresh" value="Refresh">
</form>
<hr>
<?php
$sql = 'SELECT * FROM ' . MHS;
if (isset($_POST['cari'])) {
if (isset($_POST['search']))
$sql = "SELECT * FROM mahasiswa WHERE nama LIKE '%".
$_POST['search']."%' OR alamat LIKE '%".$_POST['search']."%'";
} else if (isset($_POST['refresh'])) {
?>
<script type="text/javascript">
document.location.href = "<?php echo $root; ?>";
</script>
<?php
}
$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) {
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150">Nama</th>
<th width="120">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?> </td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
</div>
<?php
} else {
echo 'Data Belum Ada';
}
@mysql_close($res);
}
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk mencari data yang
ada pada tabel mahasiswa, sedangkan mysql_fetch_rows digunakan untuk
mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu read data. Program ini juga menggunakan
fungsi function yang digunakan untuk mengelompokkan fungsi-fungsi pada program
fungsi untuk menampilkan data. Program ini hampir sama dengan program pada
latihan 6, namun pada program ini terdapat prifillage sehingga masukkan user tidak
hilang mesti tombol cari sudah ditekan.
7. Membatasi Tampilan Data
a) Ketikkan kode berikut:
Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';

require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<?php
function data_handler($root){
if (isset($_GET['act']) && $_GET['act'] == 'add') {
data_editor($root);
return;
}
$sql = 'SELECT * 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'])) {
data_detail($root, $_GET['id'], 1);
} else {
show_admin_data($root);
}
break;
case 'del':
if (isset($_GET['id']) &&
ctype_digit($_GET['id'])) {
//Key untuk penghapusan data
$id = $_GET['id'];

//Lengkapi pernyatana SQL hapus data


$sql = 'DELETE FROM mahasiswa WHERE nim="'.
$id.'"';
$res = mysql_query($sql);
if ($res) {
?>
<!-- Lengkapi script untuk redireksi ke
root
-->
<script type="text/javascript">
document.location.href = "<?php echo
$root; ?>";
</script>
<?php
} else {
echo "Gagal Menghapus Data";
show_admin_data($root);
}
} else {
show_admin_data($root);
}break;
default:
show_admin_data($root);
}
} else {
show_admin_data($root);
@mysql_close($res);
}
} else{
echo "Data Tidak Ditemukan";
}
}
function show_admin_data($root){
?>
<h2 class="heading">Tampil Data</h2>
<form method="post" action="" name="form">
Tampilkan
<select name="data"
onchange="document.forms.form.submit();">

<option value="null">-</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="15">15</option>
</select>
baris atau data per halaman
</form>
<hr>
<?php
if (isset($_POST['data']) && $_POST['data']) {
$halaman = ' LIMIT '.$_POST['data'];
$sql = 'SELECT * FROM ' . MHS . ' ' .$halaman;
} else{
$sql = 'SELECT * FROM ' . MHS;
}

$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) {
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150">Nama</th>
<th width="120">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?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);
}
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk menampilkan data
yang ada pada tabel mahasiswa, sedangkan mysql_fetch_rows digunakan untuk
mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu read delete data. Program ini juga
menggunakan fungsi function yang digunakan untuk mengelompokkan fungsifungsi pada program yaitu fungsi untuk menampilkan data. Program ini
menggunakan fungsi limit yang digunakan untuk memberikan limitasi jumlah data
yang ditampilkan yaitu sebanyak 3 baris data saja.
8. Latihan Kecil 6
a) Ketikkan kode berikut:

Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<?php
/**
*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 * 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'])) {
data_detail($root, $_GET['id'], 1);
} else {
show_admin_data($root);
}
break;
case 'del':
if (isset($_GET['id']) &&
ctype_digit($_GET['id'])) {
//Key untuk penghapusan data
$id = $_GET['id'];
//Lengkapi pernyatana SQL hapus data
$sql = 'DELETE FROM mahasiswa WHERE nim="'.
$id.'"';
$res = mysql_query($sql);
if ($res) {
?>
<!-- Lengkapi script untuk redireksi ke
root
-->
<script type="text/javascript">
document.location.href = "<?php echo
$root; ?>";
</script>
<?php
} else {
echo "Gagal Menghapus Data";
show_admin_data($root);
}
} 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 class="heading">Administrasi Data</h2>
<br />
<form method="post" action="" name="form">
Tampilkan
<select name="data"
onchange="document.forms.form.submit();">
<option value="null">- pilih -</option>
<option value="1" <?php if (isset ($_POST['data']) and
$_POST['data'] == "1") echo "selected";?> >1</option>
<option value="2" <?php if (isset ($_POST['data']) and
$_POST['data'] == "2") echo "selected";?> >2</option>
<option value="3" <?php if (isset ($_POST['data']) and
$_POST['data'] == "3") echo "selected";?> >3</option>
<option value="4" <?php if (isset ($_POST['data']) and
$_POST['data'] == "4") echo "selected";?> >4</option>
<option value="5" <?php if (isset ($_POST['data']) and
$_POST['data'] == "5") echo "selected";?> >5</option>
<option value="10" <?php if (isset ($_POST['data']) and
$_POST['data'] == "10") echo "selected";?> >10</option>
<option value="15" <?php if (isset ($_POST['data']) and
$_POST['data'] == "15") echo "selected";?> >15</option>

</select>
baris atau data per halaman
</form>
<hr>
<?php
if (isset($_POST['data']) && $_POST['data']) {
$halaman = ' LIMIT '.$_POST['data'];
$sql = 'SELECT * FROM ' . MHS . ' ' .$halaman;
} else{
$sql = 'SELECT * FROM ' . MHS;
}
$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) {
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150">Nama</th>
<th width="120">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;

} ?>
</table>
</div>
<?php
} else {
echo 'Belum Ada Data';
}
@mysql_close($res);
}
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk menampilkan data

yang ada pada tabel mahasiswa, sedangkan mysql_fetch_rows digunakan untuk


mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu read data. Program ini juga menggunakan
fungsi function yang digunakan untuk mengelompokkan fungsi-fungsi pada program
yaitu fungsi untuk menampilkan data. Program ini menggunakan fungsi limit yang
digunakan untuk memberikan limitasi jumlah data yang ditampilkan yaitu sebanyak
3 baris data saja. Program ini hampir sama dengan program pada latihan 6, namun
pada program ini terdapat prifillage yang digunakan untuk menampilkan masukkan
user meskipun jumlah limitasi sudah diubah.
9. Pemberian Halaman
a) Ketikkan kode berikut:
Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<style type = "text/css">
a {
text-decoration: none;
}

</style>
<?php
/**
*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 * 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'])) {
data_detail($root, $_GET['id'], 1);
} else {
show_admin_data($root);
}
break;
case 'del':
if (isset($_GET['id']) &&
ctype_digit($_GET['id'])) {
//Key untuk penghapusan data
$id = $_GET['id'];
//Lengkapi pernyatana SQL hapus data

$sql = 'DELETE FROM mahasiswa WHERE nim="'.


$id.'"';
$res = mysql_query($sql);
if ($res) {
?>
<!-- Lengkapi script untuk redireksi ke
root
-->
<script type="text/javascript">
document.location.href = "<?php
echo $root; ?>";
</script>
<?php
} else {
echo "Gagal Menghapus Data";
show_admin_data($root);
}
} 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 class="heading">Tampil Data</h2>
<hr>

<?php
$self = $_SERVER['PHP_SELF'];
$sql = 'SELECT * FROM ' . MHS;
$page = isset($_GET['page']) ? $_GET['page'] : 0;

// Jumlah link counter, misal (prev 1 2 3 next) = 3


$link_num

= 3;

// Jumlah record per halaman


$record_num = 3;
// Item pertama yang akan ditampilkan
$offset

= $page ? ($page - 1) * $record_num : 0;

$total_rows = mysql_num_rows(mysql_query($sql));
$query

= $sql. ' LIMIT ' . $offset . ', ' . $record_num;

$result

= mysql_query($query);

$max_page

= ceil($total_rows/$record_num);

// Reset jika page tidak sesuai


if ($page > $max_page || $page <= 0) {
$page = 1;
}

//***************** Generate paging


$paging = '';
if($max_page > 1) {
//*** Render link previous
if ($page > 1) {
$paging .= ' <a href="'.$self.'?page='.($page-1).'">
[ previous ] </a>
';
} else {
$paging .= ' [previous] ';
}
//*** Render link counter halaman
for ($counter = 1; $counter <= $max_page; $counter +=
$link_num) {
if ($page >= $counter) {
$start = $counter;
}
}
if ($max_page > $link_num) {

$end = $start + $link_num;


if ($end > $max_page) {
$end = $max_page + 1;
}
} else {
$end = $max_page;
}
for ($counter = $start; $counter < $end; $counter++) {
if ($counter == $page) {
$paging .= ' ['.$counter.'] ';
} else {
$paging .= ' <a href="'.$self.'?page='.$counter.'"> [' .
$counter.
'] </a> ';
}
}
//*** Render link next
if ($page < $max_page) {
$paging.= ' <a href="' .$self.'?page='.($page+1).'"> [next]
</a> ';
} else {
$paging.= ' [next] ';
}
}

$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) {
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>No</th>
<th width="50">NIM</th>
<th width="150">Nama</th>
<th width="120">Alamat</th>
</tr>
<?php
$i = 1;

while ($row = mysql_fetch_row($result)) {


$bg = (($i % 2) != 0)? '' : 'even';
$id = $row[0];
?>
<tr class="<?php echo $bg; ?>">
<td width="2%">
<?php
if ($page ==1){
echo $i;
} else{
$nomer = (($page-1)*3)+$i;
echo $nomer;
}
?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
<br>
<?php
//***************** Tampilkan navigasi
echo $paging;
?>
</div>
<?php
} else {
echo 'Belum Ada Data, Isi <a href="'.
$root.'&amp;act=add">di sini</a>';
}
@mysql_close($res);
}
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk mengambil data
yang ada pada tabel mahasiswa, sedangkan mysql_fetch_rows digunakan untuk
mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu read delete data. Program ini juga
menggunakan fungsi function yang digunakan untuk mengelompokkan fungsifungsi pada program yaitu fungsi untuk menampilkan data. Program ini
menggunakan fungsi limit yang digunakan untuk memberikan limitasi jumlah data
yang ditampilkan yaitu sebanyak 3 baris data saja perhalaman, sehingga jumlah data

yang apa pada tabel mahasiswa akan dibagi untuk mendapatkan jumlah halaman
yang akan dibuat.
D. TUGAS PRAKTIKUM
1. Tugas Praktikum 1
a) Ketikkan kode berikut:
Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<?php
/**
*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 * 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'])) {
data_detail($root, $_GET['id'], 1);
} else {
show_admin_data($root);
}
break;
case 'del':
if (isset($_GET['id']) &&
ctype_digit($_GET['id'])) {
//Key untuk penghapusan data
$id = $_GET['id'];
//Lengkapi pernyatana SQL hapus data
$sql = 'DELETE FROM mahasiswa WHERE nim="'.
$id.'"';
$res = mysql_query($sql);
if ($res) {
?>
<script type="text/javascript">
alert("Data Berhasil Dihapus!")

document.location.href = "<?php echo $root; ?>";


</script>
<?php
} else {
echo "Gagal Menghapus Data";
show_admin_data($root);
}

} 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 class="heading">Administrasi Data</h2>
<?php
$sql = 'SELECT * FROM ' . MHS;
$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) {
?>
<div class="tabel">
<div style="padding: 5px;">
<a href="<?php echo $root; ?
>&amp;act=add">Tambah Data</a>
</div>
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>

<th width="150">Nama</th>
<th width="120">Alamat</th>
<th width="75">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 width="2%">
<?php echo $i; ?>
</td>
<td>
<a href="<?php echo $root; ?
>&amp;act=view&amp;id=<?php

echo $id;?>" title="Lihat Data">


<?php echo $id; ?>
</a>
</td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
<td align="center">
<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; ?>" onclick="javascript: return
confirm('Anda Yakin Akan 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 integerid nim mahasiswa
*/
function data_detail($root, $id){
$sql = 'SELECT * FROM mahasiswa WHERE nim='.$id;
$res = mysql_query($sql);
if ($res) {
if (mysql_num_rows($res)) {
?>
<div class="tabel">
<table border="1" width="700" cellpadding="4"
cellspacing="0">
<?php $row = mysql_fetch_row($res); ?>
<tr>
<td>NIM</td>
<td><?php echo $row[0]; ?></td>
</tr>
<tr>
<td>Nama</td>
<td><?php echo $row[1]; ?></td>
</tr>
<tr>
<td>Alamat</td>
<td><?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
if (!$id) {
// Lengkapi Pernyataan PHP SQL untuk INSERT data
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$sql = 'INSERT INTO mahasiswa 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 {
// Lengkapi Pernyataan PHP SQL untuk UPDATE data
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];

$sql = 'UPDATE mahasiswa


SET nama="'.$nama.'", alamat="'.$alamat.'"
WHERE nim="'.$nim.'"';
$res = mysql_query($sql);
if ($res) {
// Lengkapi 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 * FROM mahasiswa WHERE nim="'.
$_GET['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($root);
return;
}
}
} else {
$nim = @$_POST['nim'];
$nama = @$_POST['nama'];
$alamat = @$_POST['alamat'];

}
?>
<h2>
<?php echo $id?'Edit':'Tambah'; ?> Data
</h2>
<form act="" method="post">
<table border="1" cellpadding="4" cellspacing="0">
<tr>
<td width=100>NIM*</td>
<td>
<input type="text" name="nim" size=10
required value="<?php echo $nim; ?>">
</td>
</tr>
<tr>
<td>Nama</td>
<td>
<input type="text" name="nama" size=40
value="<?php echo $nama; ?>">
</td>
</tr>
<tr>
<td>Alamat</td>
<td>
<input type="text" name="alamat" size=60
value="<?php echo $alamat; ?>">
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="Submit"
value="Submit">
<input type="button" value="Cancel"
onclick="history.go(-1);">
</td>
</tr>
</table>
</form> <br />
<p>Ket: * Wajib diisi</p>
<?php

}
return false;
}?>

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk mengambil,
menghapus, menambahkan, dan mengedit data yang ada pada tabel mahasiswa,
sedangkan mysql_fetch_rows digunakan untuk mengetahui jumlah baris data yang
ada pada tabel mahasiswa. Program ini menggunakan fungsi data handler yang
digunakan untuk mempermudah dalam pemanggilan fungsi manipulasi data yaitu
read delete data. Program ini juga menggunakan fungsi function yang digunakan
untuk

mengelompokkan

fungsi-fungsi

pada

program

yaitu

fungsi

untuk

menampilkan, menghapus, dan mengedit data. Program ini juga menggunakan


fungsi javascript yang digunakan untuk memberikan konformasi penghapusan pada
user.
2. Tugas Praktikum 2

a) Ketikkan kode berikut:


Index.php
<html>
<head>
<title>Akses & Manipulasi Data</title>
<style type="text/css">
.even {
background: #ddd;
}
</style>
</head>
<body>
<?php
ini_set('display_errors', 1);
require_once './koneksi.php';
require_once './data_handler.php';
define ('MHS', 'mahasiswa');
data_handler('?=data');
?>
</body>
</html>

Data_handler.php
<style type = "text/css">
a {
text-decoration: none;
}
</style>
<?php
/**
*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 * 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'])) {
data_detail($root, $_GET['id'], 1);
} else {
show_admin_data($root);
}
break;
case 'del':
if (isset($_GET['id']) &&
ctype_digit($_GET['id'])) {
//Key untuk penghapusan data
$id = $_GET['id'];
//Lengkapi pernyatana SQL hapus data
$sql = 'DELETE FROM mahasiswa WHERE nim="'.
$id.'"';
$res = mysql_query($sql);
if ($res) {
?>
<!-- Lengkapi script untuk redireksi ke
root
-->
<script type="text/javascript">
document.location.href = "<?php echo
$root; ?>";
</script>
<?php
} else {

echo "Gagal Menghapus Data";


show_admin_data($root);
}
} 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 class="heading">Tampil Data</h2>
<form method="post" action="" name="form">
Tampilkan
<select name="data"
onchange="document.forms.form.submit();">
<option value="null">-</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="15">15</option>
</select>
baris atau data per halaman
</form>

<hr>
<?php
if (isset($_POST['data']) && $_POST['data']) {
$halaman = ' LIMIT '.$_POST['data'];
$sql = 'SELECT * FROM ' . MHS . ' ' .$halaman;
} else{
$sql = 'SELECT * FROM ' . MHS;
}
$self = $_SERVER['PHP_SELF'];
$sql = 'SELECT * FROM ' . MHS;
$page = isset($_GET['page']) ? $_GET['page'] : 0;

// Jumlah link counter, misal (prev 1 2 3 next) = 3


$link_num

= 3;

// Jumlah record per halaman


$record_num = 3;
// Item pertama yang akan ditampilkan
$offset

= $page ? ($page - 1) * $record_num : 0;

$total_rows = mysql_num_rows(mysql_query($sql));
$query

= $sql. ' LIMIT ' . $offset . ', ' . $record_num;

$result

= mysql_query($query);

$max_page

= ceil($total_rows/$record_num);

// Reset jika page tidak sesuai


if ($page > $max_page || $page <= 0) {
$page = 1;
}

//***************** Generate paging


$paging = '';
if($max_page > 1) {
//*** Render link previous
if ($page > 1) {
$paging .= ' <a href="'.$self.'?page='.($page-1).'">
[ previous ] </a>
';
} else {
$paging .= ' [previous] ';
}
//*** Render link counter halaman

for ($counter = 1; $counter <= $max_page; $counter +=


$link_num) {
if ($page >= $counter) {
$start = $counter;
}
}
if ($max_page > $link_num) {
$end = $start + $link_num;
if ($end > $max_page) {
$end = $max_page + 1;
}
} else {
$end = $max_page;
}
for ($counter = $start; $counter < $end; $counter++) {
if ($counter == $page) {
$paging .= ' ['.$counter.'] ';
} else {
$paging .= ' <a href="'.$self.'?page='.$counter.'"> [' .
$counter.
'] </a> ';
}
}
//*** Render link next
if ($page < $max_page) {
$paging.= ' <a href="' .$self.'?page='.($page+1).'"> [next]
</a> ';
} else {
$paging.= ' [next] ';
}
}

$res = mysql_query($sql);
if ($res) {
$num = mysql_num_rows($res);
if ($num) {
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>

<th>No</th>
<th width="50">NIM</th>
<th width="150">Nama</th>
<th width="120">Alamat</th>
</tr>
<?php
$i = 1;
while ($row = mysql_fetch_row($result)) {
$bg = (($i % 2) != 0)? '' : 'even';
$id = $row[0];
?>
<tr class="<?php echo $bg; ?>">
<td width="2%">
<?php
if ($page ==1){
echo $i;
} else{
$nomer = (($page-1)*3)+$i;
echo $nomer;
}
?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
<br>
<?php
//***************** Tampilkan navigasi
echo $paging;
?>
</div>
<?php
} else {
echo 'Belum Ada Data, Isi <a href="'.
$root.'&amp;act=add">di sini</a>';
}

@mysql_close($res);
}
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini
mennggunakan fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query
digunakan untuk mengeksekusi query yang akan digunakan untuk mengambil data
yang ada pada tabel mahasiswa, sedangkan mysql_fetch_rows digunakan untuk
mengetahui jumlah baris data yang ada pada tabel mahasiswa. Program ini
menggunakan fungsi data handler yang digunakan untuk mempermudah dalam
pemanggilan fungsi manipulasi data yaitu read delete data. Program ini juga
menggunakan fungsi function yang digunakan untuk mengelompokkan fungsifungsi pada program yaitu fungsi untuk menampilkan data. Program ini
menggunakan fungsi limit yang digunakan untuk memberikan limitasi jumlah data
yang ditampilkan yaitu sebanyak 3 baris data saja perhalaman, sehingga jumlah data
yang apa pada tabel mahasiswa akan dibagi untuk mendapatkan jumlah halaman
yang akan dibuat. Program ini hampir sama dengan latihan 7, namun pada program
ini user dapat memilih limitasi yang diinginkan dengan memilih pada listbox.
E. TUGAS PROYEK
a) Ketikkan kode berikut:
Login.html
<html>
<FORM action="login_process.php" method="post">
Username : <input type="text" name="username">
Password : <input type="password" name="password">
<input type="submit" value="submit" name="submit">
</FORM>
</html>

Login_process.php
<?php
session_start();
$error='';
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username atau Password Belum Benar";
}
else
{

$username=$_POST['username'];
$password=$_POST['password'];
$connection = mysql_connect("localhost", "root", "");
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$db = mysql_select_db("modul6", $connection);
$query = mysql_query("select * from modul6 where
password='$password' AND username='$username'", $connection);
$rows = mysql_num_rows($query);
if ($rows == 1) {
$_SESSION['username']=$username;
header("location: utama.php");
} else {
$error = "Email atau Password Belum Terdaftar";
}
mysql_close($connection);
}
}
?>

Utama.php
<?php
include 'koneksi.php';
$sql="select * from data";
$res = mysql_query($sql);
if($res){
$num = mysql_num_rows($res);
if($num){
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>

<th width="150"><a link


href="asutama1.php">Nama</th>
<th width="120"><a link
href="dsutama1.php">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
</div>
<?php
}
else{
echo 'Data Belum Ada';
}
@mysql_close($res);
}

Asutama1.php
<?php
include 'koneksi.php';
$sql="select * from data ORDER By nama ASC";
$res = mysql_query($sql);
if($res){
$num = mysql_num_rows($res);
if ($num){
?>
<div class="tabel">

<table border="1" width="600" cellpadding="4"


cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150"><a link
href="asutama2.php">Nama</th>
<th width="120"><a link
href="dsutama1.php">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
</div>
<?php
} else {
echo 'Data Belum Ada';
}
@mysql_close($res);
}

Asutama2.php
<?php
include 'koneksi.php';
$sql="select * from data ORDER By nama DESC";
$res = mysql_query($sql);
if($res){

$num = mysql_num_rows($res);
if($num){
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150"><a link
href="asutama1.php">Nama</th>
<th width="120"><a link
href="dsutama1.php">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
</div>
<?php
} else {
echo 'Data Belum Ada';
}
@mysql_close($res);
}

Dsutama1.php
<?php

include 'koneksi.php';
$sql="select * from data ORDER By alamat ASC";
$res = mysql_query($sql);
if($res){
$num = mysql_num_rows($res);
if($num){
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150"><a link
href="asutama1.php">Nama</th>
<th width="120"><a link
href="dsutama2.php">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>
</div>
<?php
}
else{
echo 'Data Belum Ada';

}
@mysql_close($res);
}

Dsutama2.php
<?php
include 'koneksi.php';
$sql="select * from data ORDER By alamat DESC";
$res = mysql_query($sql);
if($res){
$num = mysql_num_rows($res);
if($num){
?>
<div class="tabel">
<table border="1" width="600" cellpadding="4"
cellspacing="1">
<tr>
<th>#</th>
<th width="50">NIM</th>
<th width="150"><a link
href="asutama1.php">Nama</th>
<th width="120"><a link
href="dsutama1.php">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 width="2%">
<?php echo $i; ?>
</td>
<td><?php echo $row[0]; ?></td>
<td><?php echo $row[1]; ?></td>
<td><?php echo $row[2]; ?></td>
</tr>
<?php
$i++;
} ?>
</table>

</div>
<?php
} else {
echo 'Data Belum Ada';
}
@mysql_close($res);
}

b) Hasil:

c) Penjelasan:
Program ini menggunakan 2 pendekatan yaitu get dan post. Program ini mennggunakan
fungsi mysql_query dan juga mysql_fetch_rows. Mysql_query digunakan untuk
mengeksekusi query yang akan digunakan untuk mengambil data yang ada pada tabel
mahasiswa, sedangkan mysql_fetch_rows digunakan untuk mengetahui jumlah baris
data yang ada pada tabel mahasiswa. Program ini menggunakan fungsi query ascending
dan descending yang digunakan untuk mengurutkan data secara ascending dan jgua
descending. Program ini menggunakan fungsi a href yang digunakan untuk
menghubungkan antar halaman web. Pada program ini terdapat halaman login sebelum
user dapat melihat data dan merubah urutan data secara ascending maupun descending.
F. KESIMPULAN

Mysql_connect digunakan untuk menghubungkan web dengan database.


Mysql_select_db digunakan untuk memilih databse yang ingin dihubungkan dengan

web.
mysql_query digunakan untuk mengeksekusi query pada program yang dapat

digunakan untuk memanipulasi data pada database


mysql_fetch_rows digunakan untuk menghibtung jumlah baris data pada tabel,

biasanya digunakan untuk menentukan jumlah batasan perulangan.


Untuk menghubugkan web dengan database, umunya dibutuhkan file koneksi untuk

mempermudah dalam memanggil fungsi mysql_connect


Untuk mempermudah dalam manipulasi data, kita dapat menggunakan fungsi function

yang dapat digunakan untuk mengelompokkan fungsi-fungsi manipulasi data


Query ascending digunakan untuk mengurutkan data pada tabel secara ascending
Query descending digunakan untuk mengurutkan data pada tabel secara descending
Like digunakan untuk mencari data yang memiliki kemiripan dari inputan
G. DAFTAR PUSTAKA
Tim asisten dosen 2016. Modul Ajar Praktikum Pemrograman Web. Universitas Negeri
Malang

Anda mungkin juga menyukai