Pemrograman Web ~ OOP menggunakan PHP -Basic
Asslamualaikum Warohmatullahi wabarokatu
Halloo semuanya kembali lagi dengan saya dengan artikel Pemrograman Web. Mohon maaf sebelumnya saya sudah lama tidak Upload ,oleh karena itu sebgai permohonan saya akan mengupload 3artikel sekaligus. Mengenai OOP menggunakan PHP
Baik seperti yang saya katakan kali ini kita akan mempelajari tentang OOP(Objek Oriented Programing) atau pemrograman yang berioentasi Objek. Jadi OOP itu salah satu teknik dalam Pemrograman yang berorientasinya dengan Objek yang menjadikan Progremer mudah dalam mengubah atau menambahkan Codingannya karena kita tidak terpacu dalam satu Class dan Objek saja.
Nah sebelum kita membahas OOP-nya sebaiknya kita sedikit membahas Ulang Dasar dari PHP nya terlebih dahulu. didalam PHP kita akan mengenal dengan istilah Class,Prperties,Method/Function,Objek,DLL.
1.Class
Definisi Class dasar dimulai dengan kata kunci class, diikuti oleh nama class ,kemudian diikuti oleh sepasang kurung kurawal yang melampirkan definisi properties dan method milik class tersebut,
contohnya:
<?php
class SimpleClass
{
// property declaration
public $var = 'a default value';
// method declaration
public function displayVar() {
echo $this->var;}
}
?>
2.Instansi Class
Untuk membuat instance Class,kata kunci baru harus digunakan. Objek akan selalu dibuat kecuali objek memiliki kunstruktor yang ditentukan untuk melempar exception pada error. Class harus didefinisikan sebelum instantiasi. Contohnya:
<?php
$instance = new SimpleClass();
// This can also be done with a variable:
$className = 'SimpleClass';
$instance = new $className(); // new SimpleClass()
?>
3.Objek
Dalam konteks class, kita dapat membuat objek baru dengan objek atau parent objek. Saat menetapkan instance class yang sudah dibuat kevariable baru, variable baru akan mengakses instance yang sama dengan objek yang ditugaskan . Hal ini sama ketika menyampaikan instance ke suatu objek. Salinan objek yang sudah dibuat dapat dipakai dengan mengkloningnya.
Contohnya :
1.membuat Objek
<?php
class Test
{
static public function getNew()
{
return new static;
}
}
class Child extends Test
{
}
$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);
$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);
$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>
2.mengakses Objek
<?php
echo (new DateTime())->format('Y');
?>
4.properties dan method
Class propertieses dan method berada dalam "namespace" yang terpisah, sehingga dimungkinkan untuk memiliki propertieses dan method dengan nama yang sama. Mengacu pada propertieses dan method dimiliku notasi yang sama. Contohnya :
<?php
class Foo
{
public $bar = 'property';
public function bar() {
return 'method';}
}
$obj = new Foo();
echo $obj->bar, PHP_EOL, $obj->bar(), PHP_EOL;
5. Extends
Class dapat mewariskan method dan properties class lain dengan menggunakan kata kunci yang diperluas dalam deklarasi class. Tidak mungkin untuk memperpanjang beberapa class, suatu class hanya dapat mewarisi dari satu class dasar. Contohnya:
<?php
class ExtendClass extends SimpleClass
{
// Redefine the parent method
function displayVar()
{
echo "Extending class\n";
parent::displayVar();}
}
$extended = new ExtendClass();
$extended->displayVar();
?>
6.Studi Kasus
Buatlah project baru di htdocs dengan nama OOP-PHP, Buat file bernama Manusia.php (Ingan nama Class harus diawali dengan huruf Kapital!). Class Manusia harus memiliki atribut nama, jenis_kelamin, dan tanggal lahir dan method bersuara . Dan buat file index.php(sebagai main).
manusia.php:
<?php
{
public $jenis_kelamin;
public $nama;
public $tanggal_lahir;
public function bersuara()
{
return $this->nama;
}
public function usia()
{
$date = date_create_from_format("d/m/Y", $this->tanggal_lahir);
$tahunlahir = $date->format('Y');
$tahunsekarang = date('Y');
$usia = $tahunsekarang - $tahunlahir;
return $usia;
}
}
?>
index,php:
<?php
include 'manusia.php';
$taufik = new Manusia();
$taufik->nama = 'Taufik Muhamad Ramdhan';
$taufik->jenis_kelamin = 'Laki-Laki';
$taufik->tanggal_lahir = '20/11/2002';
echo '<b>Perkenalan </b> <br>';
echo "nama saya : " . $taufik->bersuara();
echo "<br>";
echo "usia saya : " . $taufik->usia() . " tahun";
echo "<br>";
?>
hasil:
Tambahkan file baru dengan nama kelompokmakanan.php ,untuk mengklompokan beberapa jenis mamalia berdasarkan makanannya(gunakan Extends).
KelompokMakanan.php
<?php
class kelompokmakan
{
public $makanan;
public function jenis()
{
$makanan = $this->makanan;
switch ($makanan) {
case 'Capcay':
return 'Omnivora';
case 'Daging':
return 'Karnivora';
case 'Rumput':
return 'Herbivora';
default:
return 'Gaada slurr';
}
}
}
index.php
<?php
include 'manusia.php';
include 'hewanpeliharaan.php';
$taufik = new Manusia();
$taufik->nama = 'Taufik Muhamad Ramdhan';
$taufik->jenis_kelamin = 'Laki-Laki';
$taufik->tanggal_lahir = '20/11/2002';
$taufik->makanan = 'Capcay';
echo '<b>Perkenalan </b> <br>';
echo "nama saya : " . $taufik->bersuara();
echo "<br>";
echo "usia saya : " . $taufik->usia() . " tahun";
echo "<br>";
echo "dan saya adalah : " . $taufik->jenis();
echo "<br>";
hasil:
Buat class baru dengan nama HewanPeliharaan yang terdiri dari atribut nama dan jenis , dan method bersuara. HewanPeliharaan bersuara sesuai dengan jenis-nya. Jika jenisanya kambing maka bersuara Mbe
HewanPeliharaan.php
<?php
include_once 'kelompokmakan.php';
class hewanpeliharaan extends kelompokmakan
{
public $namahewan;
public $jenis;
public function __construct($namahewan, $jenis, $makanan)
{
echo 'Peliharaan Saya ' . '<br>';
$this->namahewan = $namahewan;
echo 'Bernama ' . $namahewan . '<br>';
$this->jenis = $jenis;
$this->makanan = $makanan;
}
public function suara()
{
$jenis = $this->jenis;
switch ($jenis) {
case 'Kucing':
return 'meoww';
case 'Anjing':
return 'gukgukk';
case 'Kambing':
return 'mbee';
default:
return 'Gaada slurr';
}
}
}
index.php
<?php
include 'manusia.php';
include 'hewanpeliharaan.php';
$taufik = new Manusia();
$taufik->nama = 'Taufik Muhamad Ramdhan';
$taufik->jenis_kelamin = 'Laki-Laki';
$taufik->tanggal_lahir = '20/11/2002';
$taufik->makanan = 'Capcay';
echo '<b>Perkenalan </b> <br>';
echo "nama saya : " . $taufik->bersuara();
echo "<br>";
echo "usia saya : " . $taufik->usia() . " tahun";
echo "<br>";
echo "dan saya adalah : " . $taufik->jenis();
echo "<br>";
$kitty = new hewanpeliharaan('Ucing', 'Anjing', 'Rumput');
echo 'bersuara ' . $kitty->suara() . '<br>';
echo 'dan berjenis ' . $kitty->jenis();
hasil
Comments
Post a Comment