Modul Web Programming III S1 NURI
Modul Web Programming III S1 NURI
Disusun Oleh:
PERTEMUAN I
PENGERTIAN OOP
1.
Dalam terminology OOP, karakteristik class atau Object dikenal sebagai sifat.
Properti bisa dibilang seperti sebuah variable yang didalamnya mempunyai nama
dan nilai. Dan beberapa sifat memungkinkan nilainya dapat dirubah atau tidak
samasekali.
1.4. Methods
Kebiasaan dari sebuah class atau bisa dibilang sebuah tindakan yang
berkaitan dengan class itu disebut sebagai Methods. Seperti fungsi, beberapa
metode bertindak berdasarkan data eksternal yang diberikan kepada mereka
sebagai argument, tetapi object dari method juga dapat mengakses properties
dari object. Methods dari class secara kolektif disebut juga sebagai anggota
dari sebuah class.
Pengenalan Modifier:
Ada tiga modifier yang biasa digunakan dalam class:
1. Public : Properti dan method dapat diakses oleh kelas itu sendiri oleh class
lain melaui objeknya.
2. Protected : Properti dan method hanya dapat diakses oleh class itu saja dan
turunannya sendiri.
3. Private: Properti dan Method hanya dapat diakses oleh kelas itu sendiri.
Hal yang perlu kita perhatikan dalam pembutan oop pada php adalah pembuatan 2
halaman:
1. Index.php
2. classLibrary.php
untuk merancang script php atau code pustaka, maka anda perlu membuat class
terlebih dahulu. Awali pembuatan class anda dengan kata Class diikuti dengan
nama yang akan diberikan pada class baru anda.
Salah satu perbedaan besar antara fungsi dan kelas adalah bahwa kelas berisi data
(variabel) dan fungsi yang berupa paket disebut: 'objek'. Bila Anda membuat variabel
di dalam kelas, hal ini disebut 'properti'.
Selain itu ada juga fungsi getter dan setter. Metode ini mengikuti konvensi OOP
pada umumnya yang Anda lihat dalam banyak bahasa (termasuk Jawa dan Ruby) - di
mana Anda membuat metode untuk 'diatur' dan 'mendapatkan' properti dalam kelas.
Untuk penamaan sendiri hanya mengikuti nama dari variable dan ditambahkan set_
atau get_ seperti contoh diatas.
Cara diatas digunakan pada saat programmer akan menggunakan object yang
anda buat. mereka akan tahu bahwa jika Anda memiliki sebuah metode/fungsi disebut
'set_name()', akan ada sebuah properti / variabel bernama 'nama'.
Selain fungsi diatas, di dalam script anda terdapat juga penulisan $this->
$nama. $this adalah built-in variabel (dibangun ke dalam semua benda) yang
menunjuk ke objek saat ini. Atau dengan kata lain, $this variabel diri referensi
khusus. Anda menggunakan $this untuk mengakses properti dan memanggil metode
kelas saat ini. Jika pemahaman diatas sulit dimengerti maka yang harus anda mengerti
agar mudah memahami adalah $this digunakan untuk OOP php yang khusus. Jadi
jika ada penggunaan $this pada sebuah variable tertentu maka mesin akan tau apa
yang harus dia lakukan.
Selanjutnya class yang anda buat tidak dapat diakses pada halaman yang
sama. Maka dari ini saat class anda akan diakses dari luar dengan menggunakan
bantuan Object maka anda memerlukan bantuan include atau require.
Lalu setelah anda membuat halaman baru dan menggunakan include yang
menandakan anda akan menggunakan class tersebut, maka selanjutnya anda
membutuhkan instansiasi.
$org disebut sebagai object sebagai instansiasi dari class Orang(). Dan script di atas
tidak akan menampilkan sesuatu, karna script tersebut bukan untuk mencetak sesuatu.
Sekarang bagaimana menggunakan fungsi diatas:
$setNama digunakan untuk mengatur nama yang akan dipanggil, dan nama tersebut
akan terpanggil jika menggunakan fungsi $getNama.
Contoh 1:
Buatlah class dengan nama Car.
Simpan di dalam htdocs -> Nim masing -> CCar.php
Nama Class
Atribute / variable
A
A
t
t
r
i
b
u
t
Method
PERTEMUAN 2
DATABASE
Kali ini seperti yang sudah dipelajari sebelumnya, database yang akan kita
gunakan adalah mysql pada phpMyadmin.
1. Sebelumnya buatlah folder pada htdocs->nimmasing
2. Buatlah database dengan nama dtmhs-> buat table: mhs
3.
Untuk dapat membuktikan apakah anda dapat terkoneksi dengan database atau
tidak maka anda harus membuat sebuah file lagi dengan nama: testkoneksi.php
$data merupakan object pengganti dari class database. Karena kita akan
menggunakan function connectMysql yang berada pada class koneksi.php maka
$data digunakan kembali untuk memanggil function connectMysql dengan cara
$data->connectMysql. Dalam hal ini -> penggunaannya sama seperti . Pada java.
Latihan 1:
Buatlah database dengan nama BarangJual. Buat table barang. Buat script koneksi
untuk table tersebut.
PERTEMUAN 3
PEMBUATAN FORM MAHASISWA
Setelah mengerti tentang class koneksi, mari beralih pada pembuatan form
yang menggunakan full class. Sebelumnya, buatlah database dengan nama : dbsatu
dengan nama table: mahasiswa.
setelah membuat database, maka selanjutnya yang akan kita buat adalah desain form.
Buatlah script dibawah ini, simpan didalam folder phpform dengan nama
FormMahasiswa.php
Sciprt diatas merupakan script koneksi untuk terhubung ke database dbsatu. sebelum
mencek sript diatas, maka buatlah satu class lagi dengan nama CMahasiswa.php
require
(CConnection.php)
dimaksudkan
untuk
menggunakan
class
melalui toolbox yang ada pada form, sedangkan function get digunakan untuk
mengambil nilai yang telah di setting.
Function insert dimaksudkan untuk pembuatan script untuk menyimpan data ke
dalam database. Yang natinya akan kita gunakan di dalam file Mahasiswa.php
untuk melihat hasilnya silahkan jalankan FormMahasiswa.php maka akan hasil yang
akan tercetak adalah sebagai berikut:
Latihan 2:
1. Buatlah form barang menggunakan database dan table yang sudah dibuat
sebelumnya.
2. Buatlah class koneksi dan class barang.
3. Buat file simpan untuk menampilkan hasil menyimpan datanya.
PERTEMUAN 4
DELETE
Function getList digunakan untuk menampilkan data dari seluruh table yang ada,
dengan menggunakan select * from mahasiswa yang berarti saat memanggil function
getList(), maka seluruh data akan terpanggil. Agar getList ini dapat digunakan, maka
PERTEMUAN 5 dan 6
PEMBUATAN CSS dan LOGIN PAGE
padding-right:2%;
padding-bottom:2%;
font-family:"Courier New",
Courier, monospace;
padding-left:4%;
line-height:0.5px;
background-color:#ffffff;
left:50px;
margin:auto;
top:15px;
padding:0.2 em;
}
#box_judul
{
.text_judul
{
position:relative;
height:50px;
font-family:"Courier New",
Courier, monospace;
width:854px;
font-size:large;
background-color:#990000;
color:gold;
padding-top:4%;
letter-spacing:1em;
background-color:#999999;
position:absolute;
.text1
height:250px;
width:880px;
font-family:Verdana, Arial,
Helvetica, sans-serif;
left:50px;
top:180px;
font-size:12px;
bottom:30px;
color:maroon;
padding:1em;
border-left-width:1px;
border-left-style:dotted;
#box_nav_top
border-left-color:#666666;
border-right-width:1px;
position:absolute;
border-right-style:dotted;
background-color:#CC6699;
border-right-color:#666666;
height:30px;
width:900px;
line-height:0.1;
left:50px;
top:130px;
padding:0.5em;
border-bottom-width:1px;
border-bottom-style:solid;
border-bottom-color:#ffffff;
}
#box_content
{
}
#stylelink_top a:link
{
font-size:12px;
color:#606060;
height:25px;
width:100px;
padding-top:0px;
padding-right:0px;
padding-bottom:3px;
padding-left:12px;
text-decoration:none;
width:100px;
border-bottom-width: 1px;
padding-top:3px;
border-bottom-color:
#cccccc;
padding-right:0px;
padding-bottom:3px;
padding-left:10px;
text-decoration:none;
#stylelink_top
{
border-bottom-width: 1px;
font-size:12px;
border-bottom-color:
#cccccc;
color:maroon;
height:25px;
padding-top:10px;
#stylelink_top a:hover
padding-right:0px;
padding-bottom:3px;
font-size:9px;
padding-left:12px;
color:#000033;
text-decoration:none;
height:25px;
border-bottom-width: 1px;
width:100px;
border-bottom-style: none;
padding-top:3px;
border-bottom-color:#cccccc;
padding-right:0px;
padding-bottom:3px;
padding-left:10px;
#stylelink_top a:visited
{
background-color:#333333;
text-decoration:none;
border-bottom-color:
#cccccc;
font-weight: bolder;
font-size:12px;
text-transform: uppercase;
height:25px;
}
#box_home
width: 600px;
top: 30px;
padding-left:3%;
position:relative;
font-size: 12px;
color: maroon;
letter-spacing: 0em;
height: 300px;
Penjelasan:
selector
Style Values
Class
properties
properties
Untuk script diatas, kita akan membuat box untuk Judul atau banner, dapat diganti
menggunakan image. Box navigator untuk membuat navigasi dan mebuat bos
content, untuk menampilkan isi yang aka nada di halaman web.
Setelah pembuatan CSS selesai, maka dilanjutkan dengan membuat halaman
setelah login.berikut scriptnya:
Simpan dengan nama login.php
Untuk mendapatkan link seperti diatas. Buat kembali file dengan nama isi.php
<?php
if ($_GET[m]=='mhs'){
if ($_GET[m]=='home'){
include"FormMahasiswa.php";
include"home.php";
if ($_GET[m]=='list'){
include"list.php";
include"listTrans.php";
if ($_GET[m]=='matkul'){
else
include"FormMatkul.php";
include"home.php";
if ($_GET[m]=='transaksi'){
include"transaksi.php";
?>
}
if ($_GET[m]=='listmatkul'){
include"listmatkul.php";
}
else if ($_GET[m]=='listtrans'){
Untuk melihat hasilnya maka buka page pada localhost lalu pilih login. Maka
akan terlihat hasil seprti dibawah ini:
PERTEMUAN 7 dan 8
PEMBUATAN FORM MATAKULIAH
Selanjutnya yang akan kita buat sebelum membuat form Matakuliah buat
terlebih dahulu tambahan table pada database dtmhs, dengan table: matkul
Selain penambahan table pada database yang sama, kita juga akan
menambahkan class yang pada folder phpclass dengan nama CMatkul.php
Seperti yang telah diketahui, fungsi set dan get selain sebuah cirri dari
encapsulasi set dan
get juga berfungsi
sebagai penyetingan
dan
pengambilan
nilai
dari
setiap
<body>
<form action="Matkul.php" method="post">
<font size="+1" >FORM MASTER MATAKULIAH</font><br><br>
<table width="281" border="0">
<tr>
<td width="89">Kode</td>
<td width="10">:</td>
<td width="168"><label>
<input type="text" name="kode" />
</label></td>
</tr>
<tr>
<td>Mata Kuliah</td>
<td>:</td>
<td><label>
<input type="text" name="matakuliah" />
</label></td>
</tr>
<tr>
<td>Jumlah SKS</td>
<td>:</td>
<td><label>
<input type="text" name="sks" />
</label></td>
</tr>
<tr>
<td>Dosen</td>
<td>:</td>
<td><label>
<input type="text" name="dosen" />
</label></td>
</tr>
<tr>
<td colspan="3"><label>
<input type="submit" value="Simpan" />
</label>
<label>
<input type="reset" value="Batal" />
</label></td>
</tr>
</table>
</form>
</body>
Setelah membuat form matakuliah yang harus kita buat selanjutnya adalah file
matkul.php, untuk mengaktifkan tombol simpa pada form tersebut:
<?php
include('../phpclass/CMatkul.php');
$kode=$_POST['kode'];
$matakuliah=$_POST['matakuliah'];
$sks=$_POST['sks'];
$dosen=$_POST['dosen'];
$mk=new CMatkul();
$mk->setKode($kode);
$mk->setMatakuliah($matakuliah);
$mk->setSks($sks);
$mk->setDosen($dosen);
$hasil=$mk->getInsert();
if($hasil)
{
?>
<script language="javascript">alert("Anda Berhasil Menyimpan Data");
document.location="login.php?m=listmatkul";</script>
<?
}
else
{
echo "Simpan Data Gagal";
}
?>
$mk digunakan sebagai object dari CMatkul(). Fungsi set() digunakan untuk
mengambil variable dari object nama pada formMatkul. Lalu setelah di dapatkan oleh
function get() maka baru akan dilakukan pengeksekusian untuk menyimpan data.
Setelah disimpan maka akan tampil pesan dan langsung menampilkan list dari
data matakuliah seperti berikut:
Untuk dapat menghasilkan tampilan seperti diatas maka buatlah script seperti
dibawah ini:
<?php
include('../phpclass/CMatkul.php');
$mk=new CMatkul();
$lihat=$mk->getList();
?>
<table width="75%" align="center" border="1" cellpadding="1">
<tr>
<td>Kode Matakuliah</td>
<td>Nama Matakuliah</td>
<td>Jumlah SKS</td>
<td>Nama Dosen</td>
<td>Keterangan</td>
</tr>
Demikian pembuatan form matakuliah sampai pada listmatkul dan hapus. Berikutnya
kita akan membuat transaksi untuk penilaian mahasiswa.
PERTEMUAN 9 DAN 10
PEMBUATAN FORM TRANSAKSI
Untuk field nim dan kode adalah foreign key dari table sebelumnya, jadi size
dan type datanya harus sesuai dengan table sebelumnya.
Selanjutnya buatlah class CTrans pada folder phpclas dengna nama
CTrans.php seperti dibawah ini:
<?php
require("CConnection.php");
class CTrans{
private $c, $nim, $kode,$na, $nt, $nuas, $uts, $akhir, $grade;
private $simpan;
public function CTrans(){
function getList(){
$sql = "select * from trans";
$c = new CConnection();
$c->openConnection();
$query=mysql_query($sql) or die(mysql_error());
return $query;
}
$sql="insert into trans (id, nim, kode, na, nt, nuts, nuas, akhir, grade) values
('".$this->getId()."','".$this->getNim()."','".$this->getKode()."','".$this>getNa()."','".$this->getNt()."','".$this->getNuts()."','".$this->getNuas()."','".$this>getAkhir()."','".$this->getGrade()."')";
$c=new CConnection();
$c->openConnection();
$query=mysql_query($sql) or die (mysql_error());
if($query){
$simpan = true;
}
$c->closeConnection();
return $simpan;
}
}
?>
set table kedalam table trans agar dapat terseimpan kedalam table tersebut.
Selanjutnya setelah class CTrans dibuat, maka buatlah form transaksi pada folder
phpForm dengan nama file transaksi.php seperti berikut:
Untuk combo nim dan kode matakuliah diperoleh dari table sebelumnya yaitu
dari table mahasiswa dan matkul, berikut script untuk pembuatan form transaksi:
<body>
<form action="simpantrasn.php" method="post">
<p>FORM PENILAIAN</p>
echo"<select name='nim'>";
$tampil=mysql_query("select * from mahasiswa order by nim");
while($w=mysql_fetch_array($tampil)){
echo"<option value=$w[nim] selected>$w[nim]</option>";
}
echo"</select>";
?>
</td>
</label></td>
</tr>
<tr>
<td>KODE MATA KULIAH</td>
<td>:</td>
<td><label>
<?php $host='localhost';
$user='root';
$pass='password';
$db='test';
$k=mysql_connect($host,$user,$pass) or die(mysql_error());
if ($k)
{
mysql_select_db($db) or die(mysql_error());
} else {
while($w=mysql_fetch_array($tampil)){
echo"<option value=$w[kode] selected>$w[kode]</option>";
}
echo"</select>";
?>
</label></td>
</tr>
<tr>
<td>NILAI ABSEN</td>
<td>:</td>
<td><label>
<input type="text" name="na" />
</label></td>
</tr>
<tr>
<td>NILAI TUGAS</td>
<td>:</td>
<td><label>
<input type="text" name="nt" />
</label></td>
</tr>
<tr>
<td>NILAI UTS</td>
<td>:</td>
<td><label>
<input type="text" name="nuts" />
</label></td>
</tr>
<tr>
<td>NILAI UAS</td>
<td>:</td>
<td><label>
<input type="text" name="nuas" />
</label></td>
</tr>
<tr>
<td colspan="3"><label>
<input type="submit" name="button" id="button" value="Simpan" />
</label>
<label>
<input type="reset" name="button2" id="button2" value="Batal" />
</label></td>
</tr> </table> </form> </body>
Setelah form ini dibuat, Selanjutnya untuk mengetahui grade dari masing
masing mahasiswa diperoleh dari pencarian total dan seleksi kondisi untuk nilai
totalnya. Berikut script untuk menyimpan data dan mendapatkan grade untuk
mahasiswa:
<?php
include('../phpclass/CTrans.php');
$nim=$_POST['nim'];
$kode=$_POST['kode'];
$na=$_POST['na'];
$nt=$_POST['nt'];
$nuts=$_POST['nuts'];
$nuas=$_POST['nuas'];
$akhir=(($na*0.1)+($nt*0.2)+($ntus*0.3)+($nuas*0.4));
if ($akhir>=80 and $akhir<=100){
$grade='A';
}
else if ($akhir>=68 and $akhir<=79){
$grade='B';
}
else if ($akhir>=58 and $akhir<=67){
$grade='C';
}
else if ($akhir>=43 and $akhir<=57){
$grade='D';
}
else {
$grade='E';
}
$hasil=$ct->getSimpan();
if($hasil)
{
?>
<th>NIM</th>
<th>Kode Matakuliah</th>
<th>Nilai Absen</th>
<th>Nilai Tugas</th>
<th>Nilai UTS</th>
<th>Nilai UAS</th>
<th>Nilai Akhir</th>
<th>Grade</th>
</tr>
PERTEMUAN 11
PEMBUATAN FORM LOGIN
Pembuatan form ini akan dijadika index dalam project ini. Sebelumnya
buatlah table admin pada database yang sama yaitu dtmhs seperti dibawah ini:
Untuk pembuatan form tersebut nantinya akan diberikan nama index.php, sehingga
sebelum masuk kedalam halaman utama administrator terlebih dahulu harus
mekalukan login, berikut scriptnya:
<title>Login Administrasit</title>
<style type="text/css">
form {
background-image:url(image/loginbox2.jpg);
background-repeat: no-repeat;
background-position: 0px 0px;
height: 150px;
width: 339px;
margin-top: 80px;
margin-right: auto;
margin-left: auto;
padding-top: 200px;
padding-left: 80px;
padding-right: 30px;
}
table {
}
table tr td {
font-family: Tahoma, Geneva, sans-serif;
font-size: 12px;
font-weight: bold;
color: #000;
padding: 5px;
}
input[type=text], input[type=password] {
height: 25px;
width: 200px;
}
body {
background-color:#FFFFFF;
}
</style>
</head>
<body>
<form action="ceklogin.php" method="post">
<table width="281" border="0" align="center">
<tr>
<td>Username</td>
<td><label>
<input type="text" name="user" />
</label></td>
</tr>
<tr>
<td>Password</td>
<td><label>
<input type="password" name="password" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="Submit" id="button" value="Login" />
</label>
<label>
<input type="reset" name="button2" id="button2" value="Cancel" />
</label></td>
</tr>
</table>
<label></label>
</form>
</body>
Sebelum masuk kedalam form script yang paling atas adalah pembuatan css untuk
form login berikut, jika aka ada image yang digunakan simpanlah image sesuai folder
project yang sama, agar dapat terbaca. Berikut tampilan halaman index dari script
tersebut:
Untuk dapat login kedalam, maka buatlah script ceklogin.php seperti dibawah ini:
<?php
session_start();
$host = 'localhost';
$user = 'root';
$pass = 'password';
$data = 'test';
$ok = mysql_connect($host, $user, $pass) or die ('Gagal Koneksi');
mysql_select_db($data, $ok) or die ('database ga ada');
$tanggal = date('Y-m-d');
$username=$_POST['user'];
$password=$_POST['password'];
$cek=mysql_num_rows($hasil);
if ($cek){
$_SESSION['user']=$username;
?>
<script language=javascript>
document.location.href="login.php";</script>
<?php
}else{
?><script>alert("Login gagal!");document.location.href="index.php"</script> <?php
echo mysql_error();
}
PERTEMUAN 12
REVIEW
1. Buatlah sebuah form dan sebuah table lalu buat class untuk form tersebut lalu
buatlah script simpan dan delete untuk form tersebut.