Disusun Oleh,
LABORATORIUM KOMPUTER
FAKULTAS EKONOMI
UNIVERSITAS SRIWIJAYA
2014
Latihan 1 : Installasi Server PHP & MySQL
Mahasiswa diharapkan mampu mengaktifkan server PHP & MySQL. Aplikasi yang dapat digunakan adalah
appserv 2.5.10 atau XAMPP 1.7.7
4. Hasil yang ditampilkan saat memanggil alamat http://localhost/phpmyadmin adalah sebagai berikut.
e
Latihan 2 : Hello World
Mahasiswa mampu memahami pemrograman dasar-dasar HTML (mengenal tag-tag dasar HTML)
<html>
<head>
<title>Program HTML-1</title>
</head>
<body>
HELLO WORLD
</body>
</html>
3. Kemudian panggil alamat http://localhost/belajar1 dari browser, maka akan ditampilkan tampilan
seperti gambar di bawah ini.
Latihan 3 : Hyperlink
1. Pada latihan ini kita akan mencoba menghubungkan 3 file PHP yang terdiri dari file index.php,
strorg.php dan sejarah.php. Perincian tampilan detil dapat dilihat dibawa ini.
MENU UTAMA
1. Sejarah Organisasi
2. Struktur Organisasi
SEJARAH ORGANISASI
[Home] [Sejarah]
STRUKTUR ORGANISASI
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
<b>PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
MENU UTAMA</b><br><br>
1. <a href="sejarah.php">Sejarah Organisasi</a><br>
2. <a href="strorg.php">Struktur Organisasi</a><br>
</body>
</html>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
<b>PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
SEJARAH ORGANISASI</b><br><br>
Ini Isi file SEJARAH ORGANISASI.<br><br>
[<a href="index.php">Home</a>] [<a href="strorg.php">Struktur Organisasi</a>]
</body>
</html>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
<b>PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
STRUKTUR ORGANISASI</b><br><br>
Ini Isi file STRUKTUR ORGANISASI.<br><br>
[<a href="index.php">Home</a>] [<a href="sejarah.php">Sejarah Organisasi</a>]
</body>
</html>
Index.php Sejarah.php
Mahasiswa mampu membuat Form Input dan Menampilkan Data yang diinput (OUTPUT)
Tabel 4.1.
Daftar Nama File dan Keterangan Latihan 3
Login
MENU UTAMA
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
SISTEM APLIKASI PENGGAJIAN<br><br>
<a href="frm_login.php">Login</a>
</body>
</html>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
Enter Young Password<br><br>
<form name="frminput" method="post" action="frm_otentikasi.php">
User ID: <input type="text" name="iduser" maxlength="20"><br>
Password: <input type="password" name="idpsw" maxlength="10"><br>
<input type="submit" name="submit" value="Login">
</form>
</body>
</html>
<?php
//buka sessi
session_start();
$mess="";
if ( empty($iduser) )
$mess=$mess . "<br>- ID User Kosong";
if ( empty($idpsw) )
$mess=$mess . "<br>- PASSWORD kosong";
if ( ! empty($mess) )
{
$mess="Login Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=frm_login.php>Login</a> ]");
die("");
}
<?php
//aktifkan sessi
session_start();
<?php
include('cek_login.php');
?>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
MENU UTAMA<br><br>
1. Input Data Pegawai<br>
2. Edit Data Pegawai<br>
3. Hapus Data Pegawai<br>
4. Display Data Pegawai<br>
5. <a href="frm_logout.php">Log out</a><br><br>
<?php
print("
<marquee>Nama Pengguna: <b>" . $_SESSION['iduser'] . "</b></marquee");
?>
</body>
</html>
<?php
session_start();
session_destroy();
header('location:frm_login.php');
?>
Latihan 5 : Membaca Data Password dari sebuah Tabel
Mahasiswa mampu membuat aplikasi sederhana untuk Membaca data password melalui sebuah tabel
2. Di dalam database dbgaji buatlah sebuah tabel dengan nama tbl_user dengan struktur sebagai
berikut:
Tabel 5.1.
Struktur Tabel tbl_user
Field
No.
Name Type Size Default
1. iduser Varchar 18 ""
2. idname varchar 40 ""
3. password varchar 41 ""
Primary key: iduser
Tabel 5.2.
Data User
iduser idname Password
200407112014011001 M. LUTHFI. AF 123456
201304212014012002 L. MAHIRAH NADHIFAH 789012
<?php
$mserver= "localhost";
$muser= "root";
$mpassword= "";
$mdatabase= "dbgaji";
$conn_db=mysql_select_db($mdatabase);
if ( ! $conn_db)
{
print("Gagal Mengaktifkan Database !!!");
die("");
}
?>
6. Copy semua file Latihan 4 ke dalam folder aplikasi01. Jika pada latihan 4, user namenya adalah
admin dan password juga admin maka pada latihan 5 ini user name dan password akan ditentukan
melalui tabel tbl_user.
<?php
//buka sessi
session_start();
$mess="";
if ( empty($iduser) )
$mess=$mess . "<br>- ID User Kosong";
if ( empty($idpsw) )
$mess=$mess . "<br>- PASSWORD kosong";
if ( ! empty($mess) )
{
$mess="Login Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=frm_login.php>Login</a> ]");
die("");
}
//siapkan koneksi
include("config.php");
header('location: menu.php');
?>
<?php
print("
<marquee>ID: <b>" . $_SESSION['iduser'] . "</b> Nama: <b>" .
$_SESSION['idname'] . "</b></marquee");
?>
</body>
</html>
Dari latihan 5 ini data pengguna / user dapat ditambah dan dikurangi sesuai keperluan.
Latihan 6 : Pengolahan Data Pegawai – Input Data Pegawai
Latihan 6 merupakan kelanjutan dari latihan 5. Pada latihan 6 ini kita akan belajar membuat aplikasi untuk
menyimpan data pegawai yang baru. Bentuk tampilan yang diinginkan seperti gambar form input dibawah
ini.
1. Buat tabel tbl_pegawai ke dalam database dbgaji dengan struktur tabel seperti dibawah ini.
Tabel 6.1.
Struktur Tabel tbl_pegawai
Field
No.
Name Type Size Default
1. nip Varchar 18 ""
2. nama varchar 40 ""
3. alamat varchar 100 ""
Primary key: nip
2. Buatlah form input dengan nama pegawai01.php, kemudian ketikkan kode dibawah ini ke dalam
file pegawai01.php.
<?php
//agar file ini tidak bisa diakses tanpa login
include('cek_login.php');
?>
<html>
<head>
<title>INPUT DATA PEGAWAI</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
INPUT DATA PEGAWAI<br><br>
<form name="frm01" method="post" action="pegawai01_save.php">
<table>
<tr>
<td>NIP</td>
<td>:</td>
<td><input type="text" name="nip" maxlength="18"></td>
</tr>
<tr>
<td>N a m a</td>
<td>:</td>
<td><input type="text" name="nama" maxlength="40"></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><input type="text" name="alamat" maxlength="100"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="submit" value="SIMPAN"> [<a
href="menu.php">Menu</a>]</td>
</tr>
</table>
</form>
</html>
<?php
//buka ambil paket data
$nip = $_POST['nip'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
//validasi input
$mess="";
if ( empty($nip) )
$mess=$mess . "<br>- NIP Kosong";
if ( empty($nama) )
$mess=$mess . "<br>- NAMA kosong";
if ( empty($alamat) )
$mess=$mess . "<br>- ALAMAT kosong";
if ( ! empty($mess) )
{
$mess="DATA Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=pegawai01.php>Ulangi</a> ]");
die("");
}
//siapkan koneksi
include("config.php");
//simpan data
$mess="";
$csqlcek=mysql_query($csql);
if( ! $csqlcek)
{
$mess="<b>Gagal menjalankan Query</b><br>Informasi:<br>" .
"1. NIP telah ada dalam tabel<br>" .
"2. Koneksi terputus";
}
else
{
$mess="Data Telah DISIMPAN.";
}
4. Edit file menu.php untuk membuat link ke file pegawai01.php, sehingga hasilnya seperti kode
dibawah ini.
<?php
include('cek_login.php');
?>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
MENU UTAMA<br><br>
1. <a href="pegawai01.php">Input Data Pegawai</a><br>
2. Edit Data Pegawai<br>
3. Hapus Data Pegawai<br>
4. Display Data Pegawai<br>
5. <a href="frm_logout.php">Log out</a><br><br>
<?php
print("
<marquee>ID: <b>" . $_SESSION['iduser'] . "</b> Nama: <b>" .
$_SESSION['idname'] . "</b></marquee");
?>
</body>
</html>
5. Sekarang cobalah untuk menguji aplikasi yang telah dibuat dengan mengetikkan alamat
http://localhost/aplikasi01.
Latihan 7 : Pengolahan Data Pegawai – Edit Data Pegawai
Pada latihan 7 kita akan membuat aplikasi untuk melakukan perubahan (editing) pada data pegawai.
Flowchart untuk melakukan proses editing dapat dilihat dibawah ini.
START 1
EDIT DATA
NIP
PEGAWAI
Y DATA
DITEMUKAN
?
1 STOP
1. Dari gambar flowchart di atas, aplikasi diawali dengan pengisian NIP yang akan di edit. Siapkan
sebuah file dengan nama pegawai02.php dengan tampilan seperti gambar dibawah ini. File action
diberi nama pegawai02_getdata.php.
Keterangan:
User akan memasukkan data NIP yang akan diedit pada kotak input. Pada saat tombol EDIT ditekan
maka secara otomatis paket data NIP akan dikirimkan sebagai variabel pada file
pegawai02_getdata.php.
Jawaban:
<?php
//agar file ini tidak bisa diakses tanpa login
include('cek_login.php');
?>
<html>
<head>
<title>EDIT DATA PEGAWAI</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
EDIT DATA PEGAWAI<br><br>
<form name="frm02" method="post" action="pegawai02_getdata.php">
<table>
<tr>
<td>NIP</td>
<td>:</td>
<td><input type="text" name="nip" maxlength="18"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="submit" value="EDIT"> [<a
href="menu.php">Menu</a>]</td>
</tr>
</table>
</form>
</html>
2. File pegawai02_getdata.php berisikan prosedur untuk memvalidasi data input dan membaca /
mencari data nip yang dimasukkan ke dalam tabel pegawai. File ini juga berisikan prosedur untuk
menampilkan form edit jika data ditemukan. Listing kodenya dapat dilihat dibawah ini. Pada saat
penekan tombol SAVE EDIT DATA, maka dibutuhkan file pegawai02_save.php untuk menyimpan
data ke dalam tabel.
<?php
//buka ambil paket data
$nip = $_POST['nip'];
//validasi input
$mess="";
if ( empty($nip) )
$mess=$mess . "<br>- NIP Kosong";
if ( ! empty($mess) )
{
$mess="DATA Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=pegawai02.php>Ulangi</a> ]");
die("");
}
//siapkan koneksi
include("config.php");
if( ! empty($mess) )
{
print($mess . "<br>EDIT LAGI ? [<a href=pegawai02.php>Ya</a>]" .
"[<a href=menu.php>Tidak</a>]");
die("");
}
//baca data
$ctblpeg=mysql_fetch_array($csqlcek);
print("
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
EDIT DATA PEGAWAI<br><br>
<form name=frm021 method=post action=pegawai02_save.php>
<table>
<tr>
<td>NIP</td>
<td>:</td>
<td><b>$ctblpeg[nip]</b><input type=hidden name=nip value='$ctblpeg[nip]'></td>
</tr>
<tr>
<td>NAMA</td>
<td>:</td>
<td><input type=text name=nama maxlength=40 value='$ctblpeg[nama]'></td>
</tr>
<tr>
<td>ALAMAT</td>
<td>:</td>
<td><input type=text name=alamat maxlength=40 value='$ctblpeg[alamat]'></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type=submit name=submit value='SAVE EDIT DATA'><br>
[ <a href=pegawai02.php>Edit Data Yang Lain</a> ]<br>
[ <a href=menu.php>Menu</a> ]</td>
</tr>
</table>
</form>
");
?>
3. File pegawai02_save.php berfungsi untuk menyimpan data yang telah di edit ke dalam tabel
pegawai. Listing kode dapat dilihat di bawah ini.
<?php
//buka ambil paket data
$nip = $_POST['nip'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
//validasi input
$mess="";
if ( empty($nip) )
$mess=$mess . "<br>- NIP Kosong";
if ( empty($nama) )
$mess=$mess . "<br>- NAMA kosong";
if ( empty($alamat) )
$mess=$mess . "<br>- ALAMAT kosong";
if ( ! empty($mess) )
{
$mess="DATA Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=pegawai02.php>Ulangi</a> ]");
die("");
}
//siapkan koneksi
include("config.php");
<?php
include('cek_login.php');
?>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
MENU UTAMA<br><br>
1. <a href="pegawai01.php">Input Data Pegawai</a><br>
2. <a href="pegawai02.php">Edit Data Pegawai</a><br>
3. Hapus Data Pegawai<br>
4. Display Data Pegawai<br>
5. <a href="frm_logout.php">Log out</a><br><br>
<?php
print("
<marquee>ID: <b>" . $_SESSION['iduser'] . "</b> Nama: <b>" . $_SESSION['idname'] .
"</b></marquee");
?>
</body>
</html>
Latihan 8 : Pengolahan Data Pegawai – Hapus Data Pegawai
Pada latihan 8 kita akan membuat aplikasi untuk melakukan penghapusan (delete) pada data pegawai.
Flowchart untuk melakukan proses delete dapat dilihat dibawah ini.
START 1
Tampilkan
Data Pegawai
NIP
DATA T
DIHAPUS 2
CARI DATA ?
PEGAWAI
PEGAWAI
Y
HAPUS
T DATA DATA
DITEMUKAN
?
1 STOP
1. Dari gambar flowchart di atas, aplikasi diawali dengan pengisian NIP yang akan dihapus / delete.
Siapkan sebuah file dengan nama pegawai03.php dengan tampilan seperti gambar dibawah ini. File
action diberi nama pegawai03_getdata.php.
Keterangan:
User akan memasukkan data NIP yang akan dihapus pada kotak input. Pada saat tombol HAPUS
ditekan maka secara otomatis paket data NIP akan dikirimkan sebagai variabel pada file
pegawai03_getdata.php.
Jawaban:
<?php
//agar file ini tidak bisa diakses tanpa login
include('cek_login.php');
?>
<html>
<head>
<title>HAPUS DATA PEGAWAI</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
HAPUS DATA PEGAWAI<br><br>
<form name="frm02" method="post" action="pegawai03_getdata.php">
<table>
<tr>
<td>NIP</td>
<td>:</td>
<td><input type="text" name="nip" maxlength="18"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="submit" value="HAPUS"> [<a
href="menu.php">Menu</a>]</td>
</tr>
</table>
</form>
</html>
2. File pegawai03_getdata.php berisikan prosedur untuk memvalidasi data input dan membaca /
mencari data nip yang dimasukkan ke dalam tabel pegawai. File ini juga berisikan prosedur untuk
menampilkan data ke layar monitor jika data ditemukan, hal ini berguna sebagai validasi apakah user
betul-betul yakin untuk menghapus data dengan detil yang ditampilkan dilayar. Listing kodenya
dapat dilihat dibawah ini. Pada saat penekan tombol HAPUS DATA, maka dibutuhkan file
pegawai03_hapus.php untuk menghapus data dari dalam tabel.
<?php
//buka ambil paket data
$nip = $_POST['nip'];
//validasi input
$mess="";
if ( empty($nip) )
$mess=$mess . "<br>- NIP Kosong";
if ( ! empty($mess) )
{
$mess="DATA Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=pegawai03.php>Ulangi</a> ]");
die("");
}
//siapkan koneksi
include("config.php");
if( ! empty($mess) )
{
print($mess . "<br>HAPUS LAGI ? [<a href=pegawai03.php>Ya</a>]" .
"[<a href=menu.php>Tidak</a>]");
die("");
}
//baca data
$ctblpeg=mysql_fetch_array($csqlcek);
print("
<?php
//buka ambil paket data yg dikirmkan diam-diam (hide)
$nip = $_POST['nip'];
//validasi input
$mess="";
if ( empty($nip) )
$mess=$mess . "<br>- NIP Kosong";
if ( ! empty($mess) )
{
$mess="DATA Tidak Valid !<br>" . $mess;
print($mess . "<br>[ <a href=pegawai03.php>Ulangi</a> ]");
die("");
}
//siapkan koneksi
include("config.php");
//hapus data
$mess="";
$csqlcek=mysql_query($csql);
if( ! $csqlcek)
{
$mess="<b>Gagal menjalankan Query</b>";
}
else
{
$mess="Data Telah DIHAPUS.";
}
<?php
include('cek_login.php');
?>
<html>
<head>
<title>PT. ANGIN RIBUT</title>
</head>
<body>
PT. ANGIN RIBUT<br>
PALEMBANG - 30139<br><br>
MENU UTAMA<br><br>
1. <a href="pegawai01.php">Input Data Pegawai</a><br>
2. <a href="pegawai02.php">Edit Data Pegawai</a><br>
3. <a href="pegawai03.php">Hapus Data Pegawai</a><br>
4. Display Data Pegawai<br>
5. <a href="frm_logout.php">Log out</a><br><br>
<?php
print("
<marquee>ID: <b>" . $_SESSION['iduser'] . "</b> Nama: <b>" . $_SESSION['idname'] .
"</b></marquee");
?>
</body>
</html>
Latihan 9 : Pengolahan Data Pegawai – Display Data Pegawai
Mahasiswa mampu membuat aplikasi sederhana untuk Menampilkan (display) data pegawai
Berdasarkan contoh-contoh yang telah diberikan silahkan membuat sendiri aplikasi untuk menampilkan data
pegawai ke monitor, cari berbagai contoh menampilkan isi tabel dengan perintah SQL lewat internet atau
buku-buku yang terkait. Selamat mencoba