Langsung ke konten utama

OOP dengan PHP || Praktikum 5




Assalamualaikum wr. wb..


Hallo Berjumpa lagi di Blog Praktikum..


Pembahsan kali ini ada OOP PHP, Atau OOP dengan Php..

Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari.


Basic Class pada PHP


Definisi class dasar (basic class) dimulai dengan kata kunci class, diikuti oleh nama class,
kemudian diikuti oleh sepasang kurung kurawal yang melampirkan definisi properties dan method milik class tersebut.


Kata apapun bisa dijadikan nama class kecuali nama /
kata yang sudah menjadi kata kunci pada PHP class dapat berisi class nya sendiri, 
(yaitu "propertieses"), & fungsi (yaitu "methods"). constants, variables.


Contoh Simple Class nya


<?php
class SimpleClass
{
    // property Deklarasi
    public $var = 'a default value';

    // method Deklarasi    

    public function displayVar() {
        echo $this->var;
    }
}
?>


Instansiasi Class


Untuk membuat instance class, kata kunci “new” harus digunakan.
Objek akan selalu dibuat kecuali objek memiliki konstruktor yang ditentukan untuk melempar exception pada error.
Class harus didefinisikan sebelum instantiasi (dan dalam beberapa kasus ini adalah persyaratan).
Jika string yang berisi nama class digunakan dengan kata kunci “new”, instance baru dari class tersebut akan dibuat.
Jika class ada di namespace, nama class secara keseluruhan harus digunakan agar memenuhi syarat .



Contohnya : 


<?php
$instance = new SimpleClass();

// This can also be done with a variable:
$className = 'SimpleClass';
$instance = new $className(); // new SimpleClass()

var_dump($instance);
?>


Objek



Dalam konteks class, kita dapat membuat objek baru dengan objek atau parent baru


Saat menetapkan instance class yang sudah dibuat ke variabel baru,

variabel baru akan mengakses instance yang sama dengan objek yang ditugaskan.

Hal ini sama ketika menyampaikan instance ke suatu fungsi. Salinan objek yang sudah dibuat dapat dipakai dengan mengkloningnya.



 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
method dan properties yang diwarisi dapat diganti dengan mendeklarasikannya dengan nama yang sama yang didefinisikan di class induk.


Namun, jika class induk telah mendefinisikan method sebagai final, method itu mungkin tidak diganti.
Dimungkinkan untuk mengakses method yang diganti atau properties statis dengan mereferensikannya dengan parent :: .
Saat mengganti method, tanda parameter harus tetap sama atau PHP akan menghasilkan kesalahan level E_STRICT.
Ini tidak berlaku untuk konstruktor, yang memungkinkan penggantian dengan parameter yang berbeda.


 Contohnya :




<?php
class ExtendClass extends SimpleClass
{
    // Redefine the parent method
    function displayVar()
    {
        echo "Extending class\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>


::Class


Sejak PHP 5.5, kata kunci class juga digunakan untuk resolusi nama class.
Anda bisa mendapatkan string yang berisi nama kualifikasi penuh dari class ClassName dengan menggunakan ClassName :: class.
Ini sangat berguna dengan class namespace.



<?php
namespace NS {
    class ClassName {
    }

    echo ClassName::class;
}
?>


Contoh kasus :



Buat class baru dengan nama HewanPeliharaan yang terdiri dari atribut nama dan jenis, dan metode bersuara.
HewanPeliharaan bersuara sesuai dengan jenis nya. Jika jenisnya Kucing maka bersuara Mengeong, jika jenisnya Kambing maka bersuara Mbe
Pastikan kelompokan HewanPeliharaan berdasarkan jenis makananya juga  


yang pertama ada

Class dengan Sebagai berikut ini :


HewanPeliharaan

KelompokMakanan

dan

Main classnya


pertama ada :

<?php 
class KelompokMakanan{
    public $makanan;
    public function jenisMakanan()
    {
        $makanan = $this->makanan;
        switch($makanan){
            case 'Daging':
                return'Karnivora';
            case 'Rumput':
                return'Herbivora';    
        }
    }
}
 ?>



Pada Class KelompokMakanan Ini ada atributnya makann dan methodnya JenisMakanan yang dis esuaikand engan hewan yang akan di peliharaan..



Kedua : Class HewanPeliharaan


<?php 
include 'KelompokMakanan.php';
class HewanPeliharaan extends KelompokMakanan {
    public $nama;
    public $jenis;
    
    public function namahewan(){
        return $this->nama;
    }
    public function jenishewan(){
        return $this->jenishewan;
    }
    public function Bersuara(){
        if ($this->jenishewan == 'kucing') {
            return "meong";
        }
        elseif ($this->jenishewan == 'Kambing') {
            return "mbeeeee";
        }
    }
}
 ?>




Tiga : MainClassnya

<?php 
 include 'HewanPeliharaan.php';

 $peliharaan = new HewanPeliharaan();
 $peliharaan2 = new HewanPeliharaan();

 $peliharaan ->nama = 'Beni';
 $peliharaan ->jenishewan ='kucing'
 $peliharaan ->makanan ='Daging';


 $peliharaan2 ->nama = 'Jajang';
 $peliharaan2 ->jenishewan ='Kambing'
 $peliharaan2 ->makanan ='Rumput';

 ?>
 <style type="text/css" >
    table{
        margin-left25%;
        margin-top7%;
        width50%;
        height20%;
        border-radius5px;
    }
    tr{
        border-radius5px;
        text-aligncenter;
    }
    td
        text-overflowinherit;
        border-radius5px;
    }
    th{
        background:steelblue;    
    }
    div{
        margin-left45%;
        margin-top5%;
    }
 </style>
<div>
    <h4>Data Hewan Peliharaan</h4>
</div>
 <table border="1">
     <thead>
    <tr>
        <th>Nama Hewan</th>
        <th>Jenis Hewan</th>
        <th>Suaranya</th>
        <th>Makananya</th>
    </tr>
    </thead>
    <tr>
        <td><?= $peliharaan ->namahewan(); ?></td>
        <td><?= $peliharaan ->jenishewan(); ?></td>
        <td><?= $peliharaan ->Bersuara(); ?></td>
        <td><?= $peliharaan ->jenisMakanan(); ?></td>
    </tr>
    <tr>
        <td><?= $peliharaan2 ->namahewan(); ?></td>
        <td><?= $peliharaan2 ->jenishewan(); ?></td>
        <td><?= $peliharaan2 ->Bersuara(); ?></td>
        <td><?= $peliharaan2 ->jenisMakanan(); ?></td>
    </tr
 </table>




Hasilnya :





Terimakasihh Telah Berkunjungg...













Komentar

Postingan populer dari blog ini

Struktur Kontrol - Percabangan di PHP || Praktikum 21

halo selamat berjumpa lagi di blog Praktikum.. Pembahasan kali ini adalah mengenai pembahasan : Struktur Kontrol - Percabangan di PHP Percabangan Percabangan (decision-making) sebagai cara untuk untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan mengambil tindakan yang sesuai dengan kondisi variable tersebut. macam macam percabangan Bentuk If (If-else, If- else if – else, Nested If) Bentuk Switch-case Ternary( ?: ) Bentuk IF-Else if(condition){ // statement 1 goes here }else{ // statemant 2 goes here } // statement 3 goes here Bentuk IF-Else If if(condition1){ // statement 1 }elseif(condition2){ // statement 2 }else{ // statement 3 } // statement 4 Nested IF( If Bersarang) if(condition){ if(condition1){    //statement 1 goes here }else{    // statemant 2 goes here } }else{ // statemant 3 goes here } Switch-case switch(a){ case 1; // statement 1 goes here break; case 2; // statement 2 goes here break; case 3; //

Searching dan Ordering || Praktikum 31

Assalamualaiku.. Halo berjumpa lagi di blog praktikum.. kali ini saya akan membahas bagai mana searching dan ordering searching dan ordering ini digunakan untuk mencari sebuah data dengan kata kunci dan ordering digunakan untuk menglist atau mengururtkan data sesuang dengan angka atau huruf tertentu. Searching pada searching ini kita gunakan kondisi dan query sebagai berikut: yang pertama harus kita lakukan adalah membuat form yang berfungsi se4bgai <form action="index.php" method="get">             <table>                 <tr>                     <td>Cari Berdasarkan NIS dan NAMA                         <input autocomplete="off" required type="text" name="search" class="in" value="<?= @$search ?>">                         <button class="but" type="submit">Cari</button>                         <a href="tambah.php">

Introducing Framework Laravel || Praktikum

  Hallo Selamt Datang.. Kali ini Pembahsan Tentang FrameWork  Laravel Aadalah pengembangan website berbasis MVP yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya pengembangan awal dan biaya pemeliharaan, dan untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan sintaks yang ekspresif, jelas dan menghemat waktu.  Sebenarnya Framwork Php banyak jenisnya dan mempunyai berbagai keunggulan masing masing akan tetapi laravel menurut saya lebih mudah digunakan. Beberapa fitur yang terdapat di Laravel : Bundles, yaitu sebuah fitur dengan sistem pengemasan modular dan tersedia beragam di aplikasi. Eloquent ORM, merupakan penerapan PHP lanjutan menyediakan metode internal dari pola “active record” yang menagatasi masalah pada hubungan objek database. Application Logic, merupakan bagian dari aplikasi, menggunakan controller atau bagian Route. Reverse Routing, mendefinisikan relasi atau hub