Anda di halaman 1dari 13

TUGAS PRAKTIKUM PEMROGRAMAN WEB

BAB : PEMROGRAMAN BERORIENTASI OBJEK DAN MODEL VIEW


CONTROLLER
NAMA : ADINATA PUTRA
NIM : 115090600111011
ASISTEN : AFRIZAL FATH RAHMAN
RAYAN SURYADIKARA
TGL PRAKTIKUM : 12 MEI 2016
TUGAS 1
A. Soal

Modifikasi sesuai kebutuhan terlebih dahulu, lengkapi dengan halaman login dan
halaman administrasi dan gabungkan Latihan 2 dan Latihan 3 sehingga didapat skenario
Menteri hanya dapat melihat daftar program kerja saja, sedangkan Kepala Departemen
dapat melakukan proses manajemen program kerja (CRUD).

Lakukan modifikasi pada database dan struktur class model, controller dan view jika
diperlukan untuk mengakomodasi skenario tersebut.

B. Screenshoot

Gambar 1. Halaman Login

Gambar 2. Melakukan login sebagai menteri


Gambar 3. Tampilan program setelah login sebagai menteri

Gambar 4. Tampilan setelah logout sebagai menteri dan login kembali sebagai kepala
departemen

Gambar 5. Tampilan setelah login sebagai kepaladepartemen


Gambar 6. Menambah data setelah klik link Tambah Data

Gambar 7. Tampilan setelah menambah data


Gambar 8. Melakukan edit data setelah klik Edit pada kolom aksi

Gambar 9. Tampilan setelah data diubah


Gambar 10. Peringatan ketika akan menghapus data

Gambar 11. Tampilan setelah sebuah data dihapus

C. Syntax

index.php

1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>FORM LOGIN</title>
5 </head>
6 <body>
7 <form name="login" method="POST">
8 <table>
9 <tr><td>
10 <font color="blue" face="Calibri"
size="5">Login</font></td></tr>
11 <tr><td></td>
12 <td><font face="Calibri" size="3"> Username
</td></font>
13 <td><font face="Calibri" size="3"><input type="text"
name="username" placeholder="Username"></input></font>
14 </td></tr>
15 <tr><td></td>
16 <td><font face="Calibri" size="3"> Password
</td></font>
17 <td><font face="Calibri" size="3"><input
type="password" name="password"
placeholder="Password"></input></font>
18 </td></tr>
19 <tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
20 <tr><td>
21 <input type="submit" name="submit" value="Login"
style="background-color: #1E90FF; font: Calibri; color:
#ffffff;"></input>
22 </td></tr>
23 </td></tr>
24 </td></tr>
25 </table>
26 </form>
27 <?php
28 if(isset($_POST['submit'])){
29 if($_POST['username'] == 'menteri' &&
$_POST['password'] == 'menteri'){
30 header('Location:'.'menteri.php');
31 }elseif ($_POST['username'] == 'kepaladepartemen'
&& $_POST['password'] == 'kadep'){
32 header('Location:'.'kadep.php');
33 }
34 }
35 ?>
36 </body>
37 </html>

M_programKerja.php

1 <?php
2 class m_programKerja{
3
4 function __construct(){
5 $connect = mysql_connect("localhost",
"root", "");
6 $db = mysql_select_db("praktikumweb");
7 }
8
9 function execute($query){
10 return mysql_query($query);
11 }

12 function selectProgram($nomor){
13 $query = "select * from proker where
nomorProgram='$nomor'";
14 return $this->execute($query);
15 }
16
17 function updateProgram($nomor, $nama,
$surat){
18 $query = "update proker set
nomorProgram='$nomor', namaProgram='$nama',
suratKeterangan='$surat' where nomorProgram='$nomor'";
19 return $this->execute($query);
20 }
21
22 function deleteProgram($nomor){
23 $query = "delete from proker where
nomorProgram='$nomor'";
24 return $this->execute($query);
25 }
26
27 function setProgramKerja($nomor, $nama,
$surat){
28 $query = "insert into proker values
('$nomor', '$nama', '$surat')";
29 return $this->execute($query);
30 }
31
32 function getSemuaProgramKerja(){
33 $query = "select * from proker";
34 return $this->execute($query);
35 }
36
37 function fetch($var){
38 return mysql_fetch_array($var);
39 }
40
41 function __destruct(){
42 }
43 }
44 ?>
45

C_programKerja.php
1 <?php
2 include_once ("m_programKerja.php");
3
4 class c_programKerja{
5 public $model;
6
7 function __construct(){
8 $this->model = new m_programKerja();
9 }

10 function data(){
11 $data = $this->model-
>getSemuaProgramKerja();
12 include "menteriload.php";
13
}
14 function invoke(){
15 $data = $this->model-
>getSemuaProgramKerja();
16 include "v_programKerja.php";
17 }
18
19 function viewEdit($surat){
20 $data = $this->model-
>selectProgram($surat);
21 $row = $this->model->fetch($data);
22 include "v_programKerjaUpdate.php";
23 }
24
25 function viewInsert(){
26 include "v_programKerjaCreate.php";
27 }
28
29 function update(){
30 $nomor = $_POST['nomor'];
31 $nama = $_POST['nama'];
32 $surat = $_POST['surat'];
33
34 $update = $this->model-
>updateProgram($nomor, $nama, $surat);
35 header("location:kadep.php");
36 }
37
38 function delete($nomor){
39 $delete = $this->model-
>deleteProgram($nomor);
40 header("location:kadep.php");
41 }
42
43 function insert(){
44 $nomor = $_POST['nomor'];
45 $nama = $_POST['nama'];
46 $surat = $_POST['surat'];
47
48 $insert = $this->model-
>setProgramKerja($nomor, $nama, $surat);
49 header("location:kadep.php");
50 }
51
52 function __destruct(){
53 }
54 }
55 ?>

kadep.php

1 <?php
2 include_once ("c_programKerja.php");
3
4 $controller = new c_programKerja();
5
6 if(isset($_GET['e'])){
7 $nomor = $_GET['e'];
8 $controller->viewEdit($nomor);
9 }else if(isset($_GET['d'])){
10 $nomor = $_GET['d'];
11 $controller->delete($nomor);
12 }else if(isset($_GET['i'])){
13 $controller->viewInsert();
14 }else{
15 $controller->invoke();
16 }
17 ?>

menteri.php

1 <?php
2 include_once ("c_programKerja.php");
3
4 $controller = new c_programKerja();
5 $controller->data();
6 ?>

menteriload.php

1 <html>
2 <head>
3 </head>
4 <body>
5 <h1><center>Daftar Program Kerja
BEM</center></h1>
6 <table border="1" cellpadding="3"
cellspacing="0" align="center">
7 <tr align="center">
8 <td>Nomor</td>
9 <td>Nama Program Kerja</td>
10 <td>Surat Keterangan</td>
11 </tr>
12 <?php while($row = $this->model-
>fetch($data)){
13 echo "
14 <tr>
15 <td>$row[0]</td>
16 <td>$row[1]</td>
17 <td>$row[2]</td>
18 </tr>
19 ";
20 }?>
21 </table>
22 <center><a href='index.php?
i=add'>Logout</a></center>
23
24 </body>
25 </html>

V_programKerja.php

1 <html>
2 <head>
3 </head>
4 <body>
5 <h1><center>Daftar Program Kerja
BEM</center></h1>
6 <table border="1" cellpadding="3"
cellspacing="0" align="center">
7 <tr align="center">
8 <td>Nomor</td>
9 <td>Nama Program Kerja</td>
10 <td>Surat Keterangan</td>
11 <td colspan="2">Aksi</td>
12 </tr>
13 <?php while($row = $this->model-
>fetch($data)){
14 echo "
15 <tr>
16 <td>$row[0]</td>
17 <td>$row[1]</td>
18 <td>$row[2]</td>
19 <td><a
href='kadep.php?e=$row[0]'>Edit</a></td>
20 <td><a
href='kadep.php?d=$row[0]' onClick=\"return
confirm('Hapus Data?')\"\>Delete</a></td>
21 </tr>
22 ";
23 }?>
24 </table>
25 <center><a href='kadep.php?i=add'>Tambah
Data</a></center>
26 <center><a href='index.php?
i=add'>Logout</a></center>
27
28 </body>
29 </html>

V_programKerjaCreate.php

1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>FORM LOGIN</title>
5 </head>
6 <body>
7 <form name="login" method="POST">
8 <table>
9 <tr><td>
10 <font color="blue" face="Calibri"
size="5">Login</font></td></tr>
11 <tr><td></td>
12 <td><font face="Calibri" size="3"> Username
</td></font>
13 <td><font face="Calibri" size="3"><input type="text"
name="username" placeholder="Username"></input></font>
</td></tr>
14 <tr><td></td>
15 <td><font face="Calibri" size="3"> Password
</td></font>
16 <td><font face="Calibri" size="3"><input
type="password" name="password"
placeholder="Password"></input></font>
17 </td></tr>
18 <tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
19 <tr><td>
20 <input type="submit" name="submit" value="Login"
style="background-color: #1E90FF; font: Calibri; color:
#ffffff;"></input>
21 </td></tr>
22 </td></tr>
23 </td></tr>
24 </table>
25 </form>
26 <?php
27 if(isset($_POST['submit'])){
28 if($_POST['username'] == 'menteri' &&
$_POST['password'] == 'menteri'){
29 header('Location:'.'menteri.php');
30 }elseif ($_POST['username'] == 'kepaladepartemen'
&& $_POST['password'] == 'kadep'){
31 header('Location:'.'kadep.php');
32 }
33 }
34 ?>
35 </body>
36 </html>

V_programKerjaUpdate.php

1 <html>
2 <head>
3 </head>
4 <body>
5 <h1><center>Edit Data</center></h1>
6 <form action="" method="POST">
7 <table border="1" cellpadding="3"
8 cellspacing="0" align="center">
<tr>
9 <td>Nomor Program Kerja :
10 </td>
<td><input type="text"
11 name="nomor" value="<?=$row[0]?>" size="45" readonly
/></td>
</tr>
12 <tr>
13 <td>Nama Program Kerja :
</td>
<td><input type="text"
14 name="nama" value="<?=$row[1]?>" size="45"/></td>
</tr>
15 <tr>
16 <td>Surat Keterangan : </td>
17 <td><input type="text"
18 name="surat" value="<?=$row[2]?>" size="45"/></td>
</tr>
19 <tr align="center">
20 <td colspan="3"><input
21 type="submit" name="submit" value="Simpan" /></td>
</tr>
22 </table>
23 </form>
24 <center><a
25 href="kadep.php"><button>Batal</button></a></center>
</body>
26 </html>
27 <?php
28 if(isset($_POST['submit'])){
29 $main = new c_programKerja();
30 $main->update();
31 }
32 ?>
33

D. Penjelasan
Pada program diatas ketika pertama kali dijalankan maka akan menuju ke halaman
index.php, halaman ini merupakan form untuk melakukan login sebagai menteri atau
kepala departemen. Untuk login sebagai menteri maka memasukkan username menteri
dan password menteri, sedangkan untuk login sebagai kepala departemen maka
memasukkan username kepaladepartemen dan password kadep. Jika login sebagai
menteri maka user hanya bisa melihat daftar program kerja, sedangkan jika login sebagai
kepala departemen maka akan terdapat tampilan kolom aksi yaitu edit dan delete serta
pilihan untuk Tambah Data. Dalam program di atas terdapat file menteri.php yang
berfungsi ketika user login sebagai menteri maka halaman ini akan diload dan masuk ke
data yang ada dalam c_programKerja.php lalu data ditampilkan dari menteriload.php.
Jika login sebagai kepala departemen maka akan menuju ke kadep.php selanjutnya
memproses c_programKerja.php pada method invoke untuk menampilkan data dan
terdapat kolom aksi untuk edit dan delete.

Anda mungkin juga menyukai