0% menganggap dokumen ini bermanfaat (0 suara)
540 tayangan12 halaman

Pemrograman Web Database

Dokumen tersebut berisi laporan praktikum pemrograman web yang meliputi latihan-latihan membuat database, tabel, insert dan update data, serta membuat prosedur login menggunakan MySQL.

Diunggah oleh

Riko
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
540 tayangan12 halaman

Pemrograman Web Database

Dokumen tersebut berisi laporan praktikum pemrograman web yang meliputi latihan-latihan membuat database, tabel, insert dan update data, serta membuat prosedur login menggunakan MySQL.

Diunggah oleh

Riko
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

LATIHAN PRAKTIKUM PEMROGRAMAN WEB

BAB
NAMA

: DATABASE
: RIKO ANDIANTO
ADRYAN CHIKO PRATAMA
NIM
: 135150307111048
135150301111114
ASISTEN
: LABIB IMAM HIDAYAT
LENI ISTIKOMAH
TGL PRAKTIKUM : 28 APRIL 2016

LATIHAN 1
A. Soal
Buatlah tabel berikut pada database:

Isikan beberapa record berikut:


1. Username: Andi, password: 123, level:1
2. Username: Anton, password: 321, level:0
Kemudian buatlah file koneksi.php yang berisi:
1
2
3
4
5
6
7

<?php
$namahost = "localhost";
$username = "root";
$password = "root"; //password MySQL anda
$database = "Modul"; //database anda
mysql_connect($namahost,$username,$password) or die("Failed");
mysql_select_db($database) or die("Database not exist");
?>

Tuliskan kode berikut, simpan dalam file Lat3_3.php.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

<?php
include "koneksi.php";
$q = mysql_query ("SELECT * FROM user");
echo "<form action=\"Lat3_4.php]\" method=\"POST\">
<input type=\"submit\" value=\"tambah
user\" />
</form>";
echo "<table border=\"1\">
<th>Username</th>
<th>Password</th>
<th>level</th>
<th>aksi</th>";
while ($hasil = mysql_fetch_array($q))
echo " <tr>
<td>$hasil[username]</td>

19
20
21
22

<td>$hasil[password]</td>
<td>$hasil[level]</td>
<td><a href=\"Lat3_4.php?
username=$hasil[username]&e=1\">Edit</a></td>
</tr>";
echo "</table>"
?>

a. Apa guna koneksi.php? Dan apa hubungannya dengan baris 2 dari


Lat5_1?
b. Apa tujuan penggunaan perintah include? Apa perbedaan perintah
include dan perintah require?
c. Apa guna dari baris 18-19 Lat5_1? Apa yang dilakukan link (lokasi yang
ditunjuk href) tersebut?

B. Screenshoot
Halaman pada localhost/phpmyadmin

Koneksi database

Table yang telah diisi user

C. Syntax
Koneksi.php
1
2
3
4
5
6
7
8
9
10
11

<?php
$namahost = "localhost";
$username = "root";
$password = ""; //password MySQLi anda
$database = "praktikumWeb"; //database anda
$db = mysqli_connect($namahost,$username,$password,
$database) or die("Failed");
?>

Code Lat5_1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

<?php
include "koneksi.php";
$q = mysqli_query ($db, "SELECT * FROM user");
echo "<form action=\"Lat5_2.php]\" method=\"POST\">
<input type=\"submit\" value=\"tambah
user\" />
</form>";
echo "<table border=\"1\">
<th>Username</th>
<th>Password</th>
<th>level</th>
<th>aksi</th>";
while ($hasil = mysqli_fetch_array($q))
echo " <tr>
<td>$hasil[username]</td>
<td>$hasil[password]</td>
<td>$hasil[level]</td>

20
21
22
23
24
25

<td><a
href=\"Lat5_2.php?
username=$hasil[username]&e=1\">Edit</a></td>
</tr>";
echo "</table>"
?>

D. Penjelasan
a. Koneksi.php berguna untuk menghubungkan dengan database. Hubungan
baris 2 dari Lat5_1 adalah menyertakan file-file php dari koneksi.php pada
Lat5_1.
b. Penggunaan include yaitu digunakan untuk memanggil semua code
koneksi.php pada code Lat5_1. fungsi include() akan menyertakan dan
mengevaluasi seluruh program yang ada di file yang disertakan. Jika
terdapat error pada program yang disertakan, maka error akan ditampilkan
di layar. Jika tidak ditemukan maka akan eksekusi program selanjutnya
(setelah include) akan tetap dijalankan walaupun ditampilkan error.
Perbedaannya hanya terletak pada saat file yang disertakan tidak
ditemukan, maka perintah-perintah selanjutnya tidak akan dijalankan. Jika
perintah include pada baris ke-2 diganti dengan perintah require dan
program koneksi.php tidak ditemukan, maka teks Program setelah koneksi
tidak akan ditampilkan, melainkan hanya menampilkan error.
c. Guna dari baris 18-19 pada Lat5_1 adalah untuk melakukan edit. Link
(lokasi yang ditunjuk href) untuk menunjuk ke Lat5_2 dengan
mengirimkan input username dan $e yang nilainya sama dengan 1.

LATIHAN 2
A. Soal
Tulis kode berikut dan simpan dengan nama Lat5_2.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<?php
include "koneksi.php";
$e = $_GET['e'];
if (empty($e))
$title = "Tambah User";
else {
$title = "Edit User";
$q
= mysqli_query("SELECT * FROM user
WHERE
$data

username='$_GET[username]'");
= mysqli_fetch_array($q);

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html;charset=utf-8"/>
<title><?php echo $title ?></title>
</head>
<body>
<h1><?php echo $title ?> </h1>

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

<form method="post" action="Lat5_3.php">


<input type=hidden name=e value=<?php echo
$data[username] ?>/>
<table border="1">
<tr>
<td>Username</td>
<td><input name="username" type="text"
value="<?php echo $data[username] ?
>"/></td>
</tr>
<tr>
<td>Password</td>
<td><input name="password" type="text"
value="<?php echo $data['password'] ?
>"/></td>
</tr>
<tr>
<td>Level</td>
<td><input name="level" type="text"
value="<?php echo $data['level'] ?
>"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>

47
48
49
50
51
52
53

Jalankan Lat5_1 di browser kemudian tekan tombol Tambah User dan link
Edit untuk membuka Lat5_2. Apa yang terjadi?
b. Baris manakah dari Lat5_2 yang membedakan aksi yang terjadi jika tombol
Tambah User dan link Edit dari Lat5_3 ditekan? Jelaskan baris tersebut!
a.

B. Screenshoot

C. Syntax
1
2
3
4
5

<?php
//report error(0)
include "koneksi.php";
if (!isset($_GET['e'])){
$title = "Tambah User";

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

$q

= mysqli_query($db, "SELECT * FROM

user WHERE
$data
}
else {
$title
$q
user WHERE

username=''");
= mysqli_fetch_array($q);

= "Edit User";
= mysqli_query($db, "SELECT * FROM

username='$_GET[username]'");
$data
= mysqli_fetch_array($q);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html;charset=utf-8"/>
<title><?php echo $title ?></title>
</head>
<body>
<h1><?php echo $title ?></h1>
<form method="post" action="Lat5_3.php">
<input type="hidden" name="e" value="<?php echo
$data['username'] ?>"/>
<table border="1">
<tr>
<td>Username</td>
<td><input name="username" type="text"
value="<?php echo $data['username'] ?
>"/></td>
</tr>
<tr>
<td>Password</td>
<td><input name="password" type="text"
value="<?php echo $data['password']
?>"/></td>
</tr>
<tr>
<td>Level</td>
<td><input name="level" type="text"
value="<?php echo $data['level'] ?
>"/></td>

54
55
56
57
58
59
60
61
62

</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit"
/></td>
</tr>
</table>
</form>
</body>
</html>

D. Penjelasan
a. Pada saat menjalankan Lat5_1 tampilan browser akan menampilkan table
yang berisi nama, password, level dan sebuah tombol tambah user dan aksi
edit. Ketika tombol tambah user di klik maka akan menampilkan daftar
table kosong yang siap untuk diisi, tapi ketika mengklik aksi edit, maka akan
muncul tampilan mana yang di klik edit sebelumnya dan disitu bisa edit
nama, password dan level.
b. Yang membedakan antara aksi saat tombol Tambah User dan link edit
ditekan adalah pada Lat5_2 baris ke 4-19. Jika $e=0 maka aksi tambah user
yang dijalankan karena data-datanya belum diinputkan. Dan jika $e=1 maka
aksi edit yang dijalankan dengan mengambil data sesuai username yang
ingin diedit karena data-datanya sudah dimasukkan sebelumnya.

LATIHAN 3
A. Soal
Tulis kode berikut dan simpan dengan nama Lat5_3.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

16
17

<?php
include "koneksi.php";
$e = $_POST['e'];
if (empty($e))
mysqli_query("INSERT INTO user
VALUES ('$_POST[username]',
'$_POST[password]',
'$_POST[level]')");
else
mysqli_query("UPDATE user SET password =
'$_POST[password]',
level
= '$_POST[level]'
WHERE username =
'$_POST[username]'");
header("location:Lat5_1.php");
?>

a. Apakah guna dari Lat5_3? Halaman manakah yang mengakses Lat5_3?


b. Darimanakah isi variabel $e diperoleh dan apakah guna variabel $e?

B. Screenshoot

C. Syntax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

<?php

include "koneksi.php";
if (empty($_POST['e']))
mysqli_query($db, "INSERT INTO user
VALUES
('$_POST[username]',
'$_POST[password]',
'$_POST[level]')");
else
mysqli_query($db, "UPDATE user SET password

'$_POST[password]',
'$_POST[level]'

level =
WHERE username =

'$_POST[username]'");
header("location:Lat5_1.php");

?>

D. Penjelasan
a. Lat5_3 digunakan untuk meneruskan data dari koneksi.php dan Lat5_2.php.
Terdapat 2 pilihan pada Lat5_2.php, tambah user dan edit. Apabila
tambah user berrti saat submit di tekan maka akan meneruskan pembuatan
data tersebut pada Lat5_3 dan akan menampilkan data baru pada
Lat5_1.php. apabila edit user berarti data yang akan di edit akan di
tampilkan pada baris 10-17 kemudian akan me refresh data kembali pada
Lat5_1.php
b. Variable $e didapat dari code berikut :

<input type="hidden" name="e" value="<?php echo


$data['username'] ?>"/>

Type = hidden dan diperoleh nilai dari $_POST


Variable e berguna sebagai nama input berupa text yang di deklarasikan
dengan e.

LATIHAN 4
A. Soal
Tulis kode SQL berikut dan eksekusi pada halaman phpmyadmin dengan menggunakan
database yang sama dengan database yang sudah dibuat pada Latihan 1
1
2
3
4
5
6
7

CREATE PROCEDURE SP_Login(


IN userName VARCHAR(32),
IN passWord VARCHAR(35),
)
BEGIN

8
9

SELECT * FROM user u


WHERE u.username = userName AND u.password = passWord;
END

Buatlah form HTML untuk melakukan Login, kemudian aksi yang akan dilakukan akan
menuju ke file Lat5_4.php dan simpan dengan nama formLogin.html seperti berikut :

Tulis kode berikut dan simpan dengan nama Lat5_4.php


<?php
2
3
4
5
6
7
8

//ganti mySQLUserName dengan username dari server mySQL Anda


//ganti mySQLPassWord dengan password dari server mySQL Anda
$mysqli = new mysqli(localhost, mySQLUserName,
mySQLPassWord, praktikumWeb);
10
11
12
13
14
15
16
17
18
19
20
21
22

$rs = $mysqli->query( "CALL SP_Login


('".$username."','".$password."')" );
$row = $rs->fetch_object();
if ($row)
{
header("location:Lat5_1.php");
}
else
{
echo "Data tidak terdaftar";
header('Location: form_login.html'); //nama file form login yang
//dibuat di Latihan 4
}
?>

1. Jalankan halaman form Login yang sudah dibuat, kemudian masukkan username dan
password sesuai dengan data yang sudah tersimpan di database, kemudian jalankan
kembali form login tersebut dan coba isikan dengan data yang belum tersimpan di
dalam database, amati dan simpulkan apa yang terjadi !
2. Perhatikan script SQL untuk SP_Login yang sudah dibuat, apa arti dari baris 2 dan
3 ? Misalkan jika kita ingin membuat stored procedure yang memiliki output atau
keluaran, maka apa yang harus dilakukan ?
3. Perhatikan kode program pada file Lat5_4.php dan jelaskan :
a.
Apa arti baris nomor 5 dan apa bedanya dengan script yang ditulis pada file
koneksi.php ?
b.
Apa maksud dari baris 8 sampai baris 11 dan apa bedanya dengan penulisan
kode program untuk mengeksekusi query pada file Lat5_1.php ?

B. Screenshot

C. Syntax
Kode SQL
1
2
3
4
5
6
7
8

DELIMITER |
CREATE PROCEDURE SP_Login(IN userName VARCHAR(32), IN passWord
VARCHAR(35))
BEGIN
SELECT * FROM user u WHERE u.username = userName AND u.password =
password
END
|

Lat5_4.php
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9

<?php
//ganti mySQLUserName dengan username dari server mySQL Anda
//ganti mySQLPassWord dengan password dari server mySQL Anda
if(isset( $_POST['username'])&&isset( $_POST['password']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$mysqli = new mysqli('localhost', 'root',
'', 'bab5');
$rs = $mysqli->query( "CALL SP_Login
('".$username."','".$password."')" );
$row = $rs->fetch_object();
if ($row)
{
header("location:Lat5_1.php");
}
else
{ ?>
<script>
alert('Maaf anda belum terdaftar');
</script>
<?php
}
}
else

2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8

?>

D. Penjelasan
1. Ketika kita memasukkan data yang belum ada di database kita akan
dikembalikan ke halaman form_login.html, karena tidak memenuhi syarat
yang ada di dalam Lat5_4.php. Jika ada data yang sebelumnya di
tampilkan maka lanjutkan ke proses bawahnya.
2. Arti dari baris ke 2 dan 3 yaitu adalah sebuah parameter yang harus
dipenuhi apabila ingin menggunakan fungsi dari SP_Login. Apabila ingin
menampilkan output atau keluaran yaitu dengan membuat satu parameter
pada procedure bersifat OUT, karena pada procedure MySQL ada 3 jenis
parameter, yaitu : IN(default), OUT, dan INOUT.
3. a. Arti dari baris nomor 5 adalah kita mengkoneksikan file Lat5_4.php ke
database MySQL, bedanya dengan koneksi.php adalah file ini
menggunakan OOP style, sedangkan pada koneksi.php menggunakan
procedural.
b. Hampir sama dengan diatas, yaitu menggunakan OOP style, pada baris
8 file memanggil fungsi bernama SP_Login dengan 2 parameter variable
$username dan $password.

Anda mungkin juga menyukai