Anda di halaman 1dari 17

LAPORAN PEMROGRAMAN WEB

PERTEMUAN KE 5 DAN 6




Di Susun Oleh :
Nama : Mohamad Hanafi
Nim : 095410134
Jurusan : Teknik Informatika / Strata-1



LABORATORIUM TERPADU
Sekolah Tinggi Manajemen Informatika dan Komputer
AKAKOM
Yogyakarta
2012

PERTEMUAN KE 5

PENGISIAN DATA KE DATABASE
MYSQL DENGAN FORM HTML DAN PHP

A. PEMBAHASAN
Sebelum menerangkan lebih lanjut apa yang akan di praktekkan lebih baik kita mengerti apa
itu yang dimaskud dengan pembahasan pada bab ini yaitu pada pengisian ini perlu kita
ketahui ialah Bahasa pemrograman seperti PHP, ASP, JSP, dan juga Perl dapat digunakan untuk
mengolah form HTML tersebut. Tentu saja kali ini kita akan berbicara mengenai bagaimana
mengolah form HTML dengan menggunakan PHP.
Untuk mengetahui apa itu form HTML, berikut akan diberikan sintaks penggunaan form HTML
tersebut:
<form name="[nama_form]" method="[post|get]" action="[proses]">
...isi dari komponen form...
</form>
Untuk mengatur agar form tersebut diolah oleh skrip PHP, maka argumen action harus diisi dengan
nama sebuah file PHP. File inilah yang nantinya akan mengolah form tersebut.
Pertanyaannya adalah apanya yang akan diolah? Tentu saja adalah input yang diberikan kepada form
HTML tersebut. Seperti kita tahu, komponen form HTML dapat berupa input teks, radio button,
check box, textarea. Nah, nilai-nilai yang diberikan ke dalam komponen-komponen inilah yang
nantinya diolah. Nilai-nilai tersebut nantinya akan "diproses" oleh skrip PHP dan disimpan dalam
bentuk variabel. Nama variabel yang menyimpannya sama dengan nama komponen form HTML
yang didefinisikan oleh argumen name.
Berikut adalah contoh praktikum yang diberikan dan file ini diberi nama isipegawai.php :
<html>
<body>
<H1> Penginputan Data Pegawai</h1>
<pre>
<form action="simpanpegawai.php" method="post">

//sintak diatas yang akan dikirimkan pada file simpanpegawai.php yang mana pada file tersebut
sudah diberi script penangan apabila terjadi kesalahan dan untuk method=post ini digunakan
sebagai menutupi URL yang akan dikirimkan ke file simpanpegawai.php agar supaya client atau
user tidak tahu script mana yang dikirimkan bisa juga post ini sebagai pengaman dari user yang
nakal.

Nip : <input type="text" maxlength="10" size="10" name="nip">
Nama : <input type="text" maxlength="40" size="40" name="nama">
Alamat : <textarea rows="3" cols="30" name="alamat"></textarea>
Sex : <input type="radio" value="P" name="sex">Pria
<input type="radio" value="W" name="sex">Wanita
Gaji : <input type="text" maxlength="15" size="15" name="gaji">

//untuk sintak form tersebut guna sebagai inputan untuk user yang sebagaimana isi tersebut akan
dsimpan oleh php untuk dikirmkan ke database MySQL pada script maxlength itu berfungsi sebagai
nilai ukuran panjang isi dan untuk script size berfungsi sebagai ukuran tampilan yang amat penting
dari form tersebut terletak pada pemberian name yang mana name tersebut akan dibaca pada script
PHP.

<input type="submit" value="Simpan">
</form>
</pre>
</body>
</html>
Hasil outputnya dapat dilihat seperti berikut :


Nantinya jika form tersebut di-submit, input berupa nip, nama, alamat, sex(jenis kelamin), dan gaji
akan diolah di file simpanpegawai.php. Di dalam file simpanpegawai.php ini nantinya akan dikenal
variabel dengan nama $nip, $nama, $alamat, $sex, dan $gaji sesuai dengan nama komponen form
HTML. Namun sayangnya hal ini tidak lagi berlaku sejak PHP 4.2.0 dan diatasnya, karena nilai
register_globals di php.ini adalah off. Sebelum PHP 4.2.0 nilai register_globals adalah on. Sebagai
gantinya, PHP memperkenalkan superglobals array untuk menangkap variabel-variabel tersebut.
Superglobal arrays tersebut adalah$_POST dan $_GET. Penggunaan kedua variabel ini tergantung
dari method yang digunakan oleh form HTML.
Kedua array ini bersifat asosiatif dan sebagai indeksnya adalah nama dari komponen form HTML
yang didefinisikan oleh argumen name. Jadi untuk contoh form di atas, pada file simpanpegawai.php
akan dikenal array dengan nama $_POST['nip'], $_POST['nama'], $_POST['alamat'], $_POST['sex'],
dan $_POST['gaji'].
dan juga dapat mengganti nilai register_globals di php.ini sesuai dengan keinginan Anda, akan tetapi
jika nantinya Anda membuat aplikasi dan web hosting Anda lakukan di suatu server yang nilai
register_globalsnya adalah off, maka aplikasi Anda tidak akan jalan. dan anda harus merubah aplikasi
anda kembali. Jadi akan lebih aman jika Anda menggunakan $_POST dan $_GET dan biarkan
register_globals di php.ini dengan posisi off.
Untuk praktek selanjutnya yaitu membuat script yang akan menampilkan masukan dari file
isipegawai.php berikut adalah script yang dibuat dan diberi nama filenya simpanpegawai.php :
<?php
include 'koneksi2.php';

//fungsi ini merupakan fungsi yang digunakan untuk menyertakan file lain kedalam file yang sedang
diproses jadi dengan fungsi ini kita tidak perlu menuliskan file yang sama berulang ulang karena
dengan fungsi include ini kita bisa menyertakan file lain.

$nip = $_POST['nip'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$sex = $_POST['sex'];
$gaji = $_POST['gaji'];

//variabel yang dikasih tanda dolar atau $ itu sebagai variabel dalam PHP sedangkan dalam method
POST itu sebagai mengirimkan variabel ke halaman lain dan untuk variabel yang ada dalam tanda
kurung itu nama variabel yang diberikan dalam script HTML yang terletak pada nama form masing
masing inputan.

$sql="insert into pegawai (nip,nama,alamat,sex,gaji)
values ('$nip','$nama','$alamat','$sex',$gaji)";

//variabel sql tersebut guna sebagai perintah untuk memasukkan data pada database MySQL ketika
form tersebut diisi oleh user.

$hasil = mysql_query($sql);
if(!$hasil) die ("Gagal Simpan pegawai karena : ".mysql_error());

//inilah sintak yang dapat menangani jika dalam form HTML tidak diisikan oleh user maka PHP akan
menangkap kesalahan tersebut dan apabila dalam sintak MySQL terjadi kesalahan penulisan maka
akan ditangkap juga.

echo "Penyimpanan Berhasil, Data yang ada isikan : <hr>";
echo "<pre>";
echo "Kode : $nip </br>";
echo "Nama : $nama </br>";
echo "Alamat : $alamat </br>";
echo "Sex : $sex </br>";
echo "Gaji : Rp.".number_format($gaji)."<hr/>";
echo "</pre>";
?>
<a href="isi.php">Mengisi Lagi</a>
//jika form tersebut diisi maka akan ditampilkan sesuai dengan identitas pengisian datanya.
dan untuk script a href ini adalah untuk mengembalikan form inputan pada awal pengisian data.
Hasil Outputnya :

Perbedaan method POST dan GET adalah sebagai berikut :
POST GET
Nilai variabel tidak ditampilkan
di URL
Nilai variabel ditampilkan di URL sehingga user
dapat dengan mudah memasukkan nilai
variabel baru
Lebih aman Kurang aman
Tidak dibatasi panjang string Dibatasi panjang string sampai 2047 karakter
Pengambilan variabel dengan
$_POST Pengambilan variabel dengan $_GET
Biasanya untuk input data
melalui form Biasanya untuk input data melalui link
Digunakan untuk mengirim
data-data penting seperti
password
Digunakan untuk mengirim data-data tidak
penting

B. TUGAS

Script untuk memebuat form data pribadi :
<html>
<head>
<title>Input data pribadi</title>
</head>
<body>
<H1> Penginputan Data Pribadi</h1>
<pre>
<form action="simpanpribadi.php" method="post">
Nim : <input type="text" maxlength="10" size="15" name="nim">
Nama : <input type="text" maxlength="10" size="15" name="nama">
Alamat : <textarea rows="3" cols="30" name="alamat"></textarea>
Jenis Kelamin : <input type="radio" value="P" name="sex">Pria
<input type="radio" value="W" name="sex">Wanita
Hoby : <input type="checkbox" value="Makan" name="hob1">Makan
<input type="checkbox" value="Tidur" name="hob2">Tidur
<input type="checkbox" value="Baca" name="hob3">Baca
<input type="checkbox" value="Nonton" name="hob4">Nonton

<input type="submit" value="Simpan"> <input type="reset" value="Batal">
</form>
</pre>
</body>
</html>
Hasil Outputnya :


Untuk tampilan database saya tampilkan menggunakan MySQL sebagai berikut:



Script untuk menampilkan jika form telah diisi adalah seperti berikut :

<?php
include 'koneksi2.php';
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$sex = $_POST['sex'];
$hoby = $_POST['hob'];

$sql="insert into identitas (nim,nama,alamat,sex,hoby)
values ('$nim','$nama','$alamat','$sex','$hoby')";

$hasil = mysql_query($sql);
if(!$hasil) die ("Gagal Simpan mas brow karena : ".mysql_error());

echo "Penyimpanan Berhasil, Data yang ada isikan : <hr>";
echo "<pre>";
echo "Nim : $nim </br>";
echo "Nama : $nama </br>";
echo "Alamat : $alamat </br>";
echo "Jenis Kelamin : $sex </br>";
echo "Hoby : $hoby"."<hr/>";
echo "</pre>";
?>
<a href="isipribadi.php">Mengisi Lagi</a><br>
<a href="lihatdatapribadi.php">Untuk melihat Data Lengkap</a>
Hasil Outputnya :


Jika ingin melihat data lengkap bisa lihat seperti berikut scripnya :
<head>
<title>Data Lengkap Probadi Anda</title>
</head>
<body>

<?
include "koneksi2.php";

$hasil = mysql_query("select * from identitas");
if (!$hasil)
die ("Gagal Query data jabatan karena : ".mysql_error());

echo "DATA PRIBADI ANDA </br>";
echo "<table border=1>
<tr>
<th>NIM</th>
<th>NAMA</th>
<th>ALAMAT</th>
<th>JENIS KELAMIN</th>
<th>HOBY</th>
</tr>";

while ($row = mysql_fetch_array($hasil))
{
echo "<tr>";
echo "<td>".$row[nim]."</td>";
echo "<td>".$row[nama]."</td>";
echo "<td>".$row[alamat]."</td>";
echo "<td>".$row[sex]."</td>";
echo "<td>".$row[hoby]."</td>";
echo "</tr>";
}
echo "</table>";
?>
<br/>
<a href="isipribadi.php">Kembali ke Menu Utama brow</a><br>
</body>
</html>
Hasil Outputnya :



C. LISTING
Terlampir






















PERTEMUAN KE 6
PENGHAPUSAN DATA MYSQL MELALUI PHP

A. PEMBAHASAN
Pada praktikum kali ini membahas tentang bagaimana cara membuat script PHP untuk menghapus
record atau data dari database (MySQL). Adapun penghapusan tersebut dilakukan melalui panel hanya
dengan mengklik link yang bersesuaian dengan data atau baris record yang akan dihapus.
Baiklah tak usah panjang lebar langsung saja menuju praktek yang sudah diterapkan seperti berikut :
Praktek pertama :
<html>
<head>
<title>Praktek 6</title>
</head>
<body>

<?
include "koneksi2.php";
//perintah include tersebut digunakan untuk mempersingkat script dalam satu php supaya tidak
memperbanyak program phpnya atau bisa juga memanggil file php yang digunakan untuk
mengkoneksikan ke database yang telah dibuat.

$hasil = mysql_query("select * from pegawai");
//digunakan untuk menjalankan permintaan terhadap sebuah tabel atau sejumlah tabel.
Atau secara rinci pada script diatas digunakan untuk menampilkan semua data yang ada di tabel
pegawai, dimana tabel pegawai ini terdapat dalam database kantor yang dimana database kantor telah
dipanggil sebelumnya melalui include.

if (!$hasil)
die ("Gagal Query data jabatan karena : ".mysql_error());
//menampilkan pesan jika dalam variabel $hasil terdapat kesalahan penulisan sintak maka secara
dafault akan ditangani dengan perintah if agar supaya user tidak bingung diamana letak kesalahannya.

echo "<center>";
//perintah digunakan untuk meratakan tengah.

echo "<table border=1>
//digunakan untuk memberi ketebalan pada garis yang ada pada tabel tersebut.

<tr>
<th>NIP</th>
<th>NAMA</th>
<th>ALAMAT</th>
<th>SEX</th>
<th>GAJI</th>
<th>Proses</th>
</tr>";
//berisi tentang nama yang sudah di tulis yang berada di kolom tabel dan banyak kolom tersebut
sebanyak 6 dimana pada kolom tersebut untuk menampung isi dari database MySQLnya.

while ($row = mysql_fetch_array($hasil))
//while ini akan membaca isi dari tabel yang ada dalam database dan secara otomatis(sesuai isi
tabelnya) akan membaca tiap baris sampai isi dalam tabel habis.
Fungsi diatas akan dihasilkan suatu array, yang dimana pada masing masing elemen dari array
berkaitan dengan field pada database tersebut.

{
echo "<tr>";
echo "<td>".$row[nip]."</td>";
echo "<td>".$row[nama]."</td>";
echo "<td>".$row[alamat]."</td>";
echo "<td>"."<center>".$row[sex]."</center>"."</td>";
echo "<td>Rp. ".number_format($row[gaji])."</td>";
//menampilan kolom yang masing masing kolom tersebut berisi tentang data yang ada di tabel
pegawai dengan memanggil variabel row, untuk sintak number_format()) itu digunakan memberi
tanda baca pada angka.

echo "<td> <a
href=konfirmpegawai.php?nip=$row[nip]>hapus</a></td>";
echo "</tr>";
//berisi link yang dimana link tersebut bernama hapus apabila link hapus tersebut diklik maka akan
menuju lokasi konfirmpegawai.php yang mana pada lokasi tersebut akan membaca variabel row yang
akan dikirimkan ke kata kunci(primary key) yaitu nip untuk kondisi penghapusannya.

}
echo "</table> </center>";
//akhir dari pemberian tabel dan perataan tengah pada tabel tersebut.
?>

</body>
</html>
Hasil Outputnya :

Praktek ke dua :
<?
include "koneksi2.php";
$nip = $_GET[nip];
//untuk variabel nip tersebut akan mengirimkan nip yang ada di dalam database dan untuk variabel get
ini nilai variabel ditampilkan di URL sehingga user dapat dengan mudah memasukkan nilai variabel
baru.

$hasil = mysql_query("select * from pegawai where nip = $nip");
//Variabel hasil ini berisi sintak MySQL yang akan ditampilkan jika pada link hapus yang ada didalam
file tampilpegawai.php dklik maka akan menuju ke lokasi konfirmasi apakah data tersebut atau record
dalam suatu baris jadi dihapus atau tidak.
Intinya sintak diatas menampilkan data pegawai yang berisi nip yang akan dihapus.

if (!$hasil)
die("Gagal Query data jabatan karena : ".mysql_error());
//jika dalam variabel hasil tersebut terdapat kesalahan maka kesalahan dari user akan ditangkan disini
dan menampilkan pesan sesuai dengan teks yang dituliskan didalam perintah die.

$row = mysql_fetch_array($hasil);
//digunakan untuk Menampilkan sebuah baris hasil query sebagai array assosiatif di variable hasil.
Fungsi diatas akan dihasilkan suatu array, dimana masing-masing elemen dari array yang berkaitan
dengan field pada database tersebut.

echo "<center>";
echo "<h3>Konfirmasi Penghapusan Data Pegawai</h3>";
echo "<table border=1 width=50%>";
echo "<tr>
<td width=50%>NIP</td><td>$row[nip]</td>
</tr>
<tr>
<td>NAMA</td><td>$row[nama]</td>
</tr>
<tr>
<td>ALAMAT</td><td>$row[alamat]</td>
</tr>
<tr>";
//perintah inilah yang menampilkan data berupa tabel dan tabel tersebut diatur dengan rata tengan
dengan menggunakan perintah center dan didalam tabel tersebut berisi 2 kolom dan 3 baris dimana
pada baris tersebut berisi NIP,NAMA dan ALAMAT dengan ketebalan tabel yang diatur sedemikian
rupa.

echo "<td colspan='2' align='center'><a
href=hapuspegawai.php?nip=$row[nip]>Hapus</a>""&nbsp"."$nbsp";
echo "<a href=tampilpegawai.php>Batal</a>";
//perintah ini untuk melakukan konfirmasi yang berisi link dengan nama Hapus dan batal apabila user
memilih batal maka akan menuju lokasi tampilpegawai jika user memilih untuk menghapus maka
record yang pada file tampilpegawai sebelumnya akan dihapus bersamaan dengan database yang ada
di MySQL kenapa karena dalam sintak query MySQl digunakan kata kunci yang berupa nip sehingga
data yang ada dalam tabel pegawai jika katakuncinya dihapus maka secara otomtis akan terhapus
suatu baris tersebut.
Untuk sintak &nbsp itu untuk memberi spasi pada script php yang diinginkan.

echo "</td></tr>";
echo "</table>";
?>
Hasil outputnya :

Praktek ke -3 :
<?
ob_start();
include"koneksi2.php";
$nip = $_GET['nip'];
$hasil = mysql_query("delete from pegawai where nip=$nip");
if (!$hasil)
die("Gagal hapus...karena: ".mysql_error());
//secara sintak ini sama dengan pembahasan sintak sintak sebelumnya tapi yang membedakan disini
ialah query MySQLnya kanapa karena sintakya menggunakan perintah pengahapusan yang ada
didalam tabel pegawai dengan ketentuan nip, jika ini tidak bisa dilakukan penghapusan dan perlu
diingat ialah untuk penghapusan ini akan membaca sintak link hapus yang ada di konfirmpegawai.php
jika dalam pendeklarasian sintak nip salah maka ini tidak dapat dilakukan penghapusan atau mungkin
muncul pesan error pada baris 3 seperti yang dialami praktikum ke tiga ini.

header("location:tampilpegawai.php");
//apabila user berhasil melakukan penghapusan maka akan langsung kembali ke daftar
tampilpegawai.php.

ob_end_flush();
//mengapa saya gunakan sintak ob_start() dan ob_end_flush() tujuannya ialah mengantisipasi error
header pada PHP.
?>

B. TUGAS
1. Penambahan tampilan gaji Pegawai
Tampilan sebelum data dihapus :

Script seperti berikut ini :
<?
include "koneksi2.php";
$nip = $_GET['nip'];

$hasil = mysql_query("select * from pegawai where nip = $nip");
if (!$hasil)
die("Gagal Query data jabatan karena : ".mysql_error());

$row = mysql_fetch_array($hasil);

echo "<center>";
echo "<h3>Konfirmasi Penghapusan Data Pegawai</h3>";
echo "<table border=1 width=50%>";
echo "<tr>
<td width=50%>NIP</td><td>$row[nip]</td>
</tr>
<tr>
<td>NAMA</td><td>$row[nama]</td>
</tr>
<tr>
<td>ALAMAT</td><td>$row[alamat]</td>
</tr>
<tr>
<td>GAJI</td><td>Rp.$row[gaji]</td>
</tr>
<tr>";

echo "<td colspan='2' align='center'><a
href=tampilhapus.php?nip=$row[nip]>Hapus</a>"."&nbsp"."$nbsp";
echo "<a href=tampilpegawai.php>Batal</a>";
echo "</td></tr>";
echo "</table>";
?>
Hasil outputnya :

2. Modifikasi Script php
Sintak seperti berikut :
<html>
<head>
<title>Penghapusan Berhasil</title>
</head>
<body>
<?
ob_start();
include"koneksi2.php";
$nip = $_GET['nip'];
$hasil = mysql_query("delete from pegawai where nip=$nip");
if (!$hasil)
die("Gagal hapus...karena: ".mysql_error());
ob_end_flush();
?>
<center>
<h1>Penghapusan Sukses Brow</h1>
<a href="tampilpegawai.php">Tampilkan Data Pegawai</a>
</center>
</body>
</html>
Hasil outputnya :

Jika dklik link dibawahnya maka akan tampil seperti berikut :

3. Dengan melakukan hal yang sama tapi yang membedakan ialah menggunakan database toko
dengan data barang untuk sintak yang pertama saya tampilkan seperti berikut :
<html>
<head>
<title>Tugas 6</title>
</head>
<body>

<?
include "koneksi2.php";

$hasil = mysql_query("select * from barang");
if (!$hasil)
die ("Gagal Query data jabatan karena : ".mysql_error());

echo "<center>";
echo "<table border=1>
<tr>
<th>KODE BARANG</th>
<th>NAMA BARANG</th>
<th>HARGA JUAL</th>
<th>STOK</th>
<th>HARGA BELI</th>
<th>Proses</th>
</tr>";

while ($row = mysql_fetch_array($hasil))
{
echo "<tr>";
echo "<td>".$row[kode_brg]."</td>";
echo "<td>".$row[nama_brg]."</td>";
echo "<td>Rp.".number_format($row[hjual])."</td>";
echo "<td>".$row[stok]."</td>";
echo "<td>Rp.".number_format($row[hbeli])."</td>";
echo "<td> <a
href=konfirmbarang.php?kode_brg=$row[kode_brg]>hapus</a></td>";
echo "</tr>";

}
echo "</table> </center>";
?>

</body>
</html>
Hasil outputnya :

Untuk sintak konfirm penghapusan adalah seperti berikut :
<?
include "koneksi2.php";
$kode = $_GET['kode_brg'];

$hasil = mysql_query("select * from barang where kode_brg
='$kode'");
if (!$hasil)
die("Gagal Query data barang karena : ".mysql_error());

$row = mysql_fetch_array($hasil);

echo "<center>";
echo "<h3>Konfirmasi Penghapusan Data Barang</h3>";
echo "<table border=1 width=50%>";
echo "<tr>
<td width=50%>KODE BARANG</td><td>$row[kode_brg]</td>
</tr>
<tr>
<td>NAMA BARANG</td><td>$row[nama_brg]</td>
</tr>
<tr>
<td>HARGA JUAL</td><td>Rp.$row[hjual]</td>
</tr>
<tr>
<td>STOK</td><td>$row[stok]</td>
</tr>
<tr>
<td>HARGA BELI</td><td>Rp.$row[hbeli]</td>
</tr>
<tr>
<tr>";

echo "<td colspan='2' align='center'><a
href=hapusbarang.php?kode_brg=$row[kode_brg]>Hapus</a>"."&nbsp"."$nb
sp";
echo "<a href=tampilbarang.php>Batal</a>";
echo "</td></tr>";
echo "</table>";
?>
Haslil outputnya :

Terakhir informasi penghapusan data barang :
<html>
<head>
<title>Penghapusan Berhasil</title>
</head>
<body>
<?
ob_start();
include"koneksi2.php";
$kode = $_GET['kode_brg'];
$hasil = mysql_query("delete from barang where kode_brg='$kode'");
if (!$hasil)
die("Gagal hapus...karena: ".mysql_error());
ob_end_flush();
?>
<center>
<h1>Penghapusan Sukses Brow wes top tenan sak
INDONESIA......!!!!</h1>
<a href="tampilbarang.php">Tampilkan Data Barang</a>
</center>
</body>
</html>
Hasil outputnya :


Jika link dibawah dklik maka akan tampil seperti berikut :


C. LISTING
Terlampir