Professional Documents
Culture Documents
Bab Vii Pemrograman Berorientasi Objek (PBO) Dengan PHP: 1. Tujuan
Bab Vii Pemrograman Berorientasi Objek (PBO) Dengan PHP: 1. Tujuan
Bab Vii Pemrograman Berorientasi Objek (PBO) Dengan PHP: 1. Tujuan
Pewarisan
<?php
/**
* File : Employee.php
* Desc : program php untuk menunjukkan inheritance
*
*/
class Pegawai {
//deklarasi atribut, sebaiknya private
private $nip;
private $nama;
function __construct($nip,$nama) {
$this->nip=$nip;
$this->nama=$nama;
}
//selektor method :
public function getNip(){
return $this->nip;
}
public function getNama(){
return $this->nama;
}
}
class PegawaiHonorer extends Pegawai {
private $upahHarian;
function __construct($nip,$nama,$upah) {
//akses konstruktor super class
parent::__construct($nip, $nama);
$this->upahHarian = $upah;
}
//selektor untuk upah harian
public function getUpahHarian(){
return $this->upahHarian;
}
}
$honorer = new PegawaiHonorer(12,"Kuncara",10000);
//konsep enkapsulasi : atribut harus diakses melalui selektor method !
echo "Nama : ".$honorer->getNama()."<br />";
echo "NIP : ".$honorer->getNip()."<br />";
echo "Upah : ".$honorer->getUpahHarian()."<br />";
//selesai menampilkan data pegawai
?>
Polimorfisme
<?php
/**
* File : Polimorfik.php
* Desc : Program yang menunjukkan polimorfisme
*/
require_once 'Pegawai.php';
class PegawaiTetap extends Pegawai {
private $gajiBulanan;
function __construct($nip,$nama,$gaji) {
//akses konstruktor super class
parent::__construct($nip, $nama);
$this->gajiBulanan = $gaji;
}
public function getGajiBulanan() {
return $this->gajiBulanan;
}
}
$pegawai = new Pegawai(10,"Fredi");
$pegawai_tetap = new PegawaiTetap(10, "Fredi", 40000);
echo "Nama : ".$pegawai_tetap->getNama()."<br />";
echo "NIP : ".$pegawai_tetap->getNip()."<br />";
echo "Upah : ".$pegawai_tetap->getGajiBulanan()."<br />";
//pegawai tetap adalah tipe pegawai ?
if($pegawai_tetap instanceof $pegawai)
echo "Fredi adalah pegawai tetap dan juga pegawai";
?>
Tipe data
int
user_id
Keterangan
primary key, auto increment, not null
first_name
varchar(50)
not null
last_name
varchar(50)
not null
varchar(100)
not null
address
Oodb.php
OO dengan PHP dan basis data
Prepared Statement
Prepared statement merupakan sebuah query SQL yang bisa digunakan sewaktu-waktu dibutuhkan.
Query disimpan dalam sebuah object dan akan dieksekusi dari object tersebut.
Terdapat mekanisme binding dimana data yang akan diolah diberikan sebagai parameter yang
terpisah dari query dan tipe dari data yang akan diolah diberi tanda seperti pada tabel berikut
supaya dikenali PHP :
KARAKTER
Deskripsi
Tipe integer
Tipe double
Tipe string
<?php
/**
* File : prepared_stmt.php
* Desc : program untuk mengenal prepared statement
*/
$oo = new mysqli("localhost","root","","pi");
if(mysqli_connect_errno()) {
echo("Failed to connect because : ".mysqli_connect_error());
exit();
}
$stmt=$oo->prepare("SELECT user_id,first_name FROM users WHERE user_id=?");
$uid = 1; //user id berupa integer, dan ditandai sebagai 'i'
$stmt->bind_param("i",$uid);
$stmt->execute();
$stmt->bind_result($user_id,$first_name);
while($r=$stmt->fetch()){
echo "user id : ".$user_id."<br >";
echo "first name : ".$first_name;
}
?>
TUGAS
Buatlah sebuah form untuk memasukkan data pada tabel users di atas, menggunakan prepared
statement!