Tampilkan postingan dengan label OOP. Tampilkan semua postingan
Tampilkan postingan dengan label OOP. Tampilkan semua postingan

Senin, 15 Mei 2017

      Fungsi number_format pada php biasanya digunakan untuk membuat angka menjadi format yang lebih enak dibaca seperti contoh berikut.


5000000   => 5.000.000    // number_format(5000000,0,',','.');
5000000 => 5.000.000,00 // number_format(5000000,2,',','.')

seperti terlihat pada contoh di atas, number_format digunakan untuk merubah format angka menjadi lebih mudah dibaca pada bahasa pemrograman php. Lalu bagaimana jika ingin menggunakan fungsi number_format pada javascript ? berikut saya bagikan fungsi membuat number_format pada bahasa pemrograman javascript yang saya dapat dari halaman github.

function number_format (number, decimals, decPoint, thousandsSep) { 
number = (number + '').replace(/[^0-9+\-Ee.]/g, '')
var n = !isFinite(+number) ? 0 : +number
var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)
var sep = (typeof thousandsSep === 'undefined') ? ',' : thousandsSep
var dec = (typeof decPoint === 'undefined') ? '.' : decPoint
var s = ''

var toFixedFix = function (n, prec) {
var k = Math.pow(10, prec)
return '' + (Math.round(n * k) / k)
.toFixed(prec)
}

// @todo: for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep)
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || ''
s[1] += new Array(prec - s[1].length + 1).join('0')
}

return s.join(dec)
}

penggunaan fungsi tersebut sama seperti di php, seperti berikut.


number_format(5000000);

cukup sekian tulisan saya kali ini, semoga bermanfaat.

Rabu, 03 Mei 2017

       Function atau method overloading dan override adalah fitur yang sangat mendasar dan berguna dari bahasa OOP manapun. Dalam tutorial ini kita akan membahas implementasi metode overloading dan override di php. Di sini pertama kita akan membahas dasar-dasar overloading dan override. Setelah eksplorasi dasar kita akan menerapkan overloading dan override di php. Sebelum melangkah lebih jauh, saya mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang class dan pewarisan di php. Anda juga memiliki pemahaman tentang magic method di php. Magic method karena overloading di php bisa di implmentasikan dengan menggunakan magic method.

Overriding

       Arti dasar dari overriding di OOP sama dengan arti kata sebenarnya. Dalam arti kata sebenarnya dari overriding adalah menggantikan perilaku orang tua yang sama pada anak. Ini sama dengan override method di OOP. Dalam arti OOP, override adalah mengganti method class induk di class anak. Atau dengan method kata kunci sederhana yang mengesampingkan berarti mengubah perilaku metode ini. Dalam OOP overriding adalah proses dimana Anda dapat mendeklarasikan ulang method class induk Anda di class anak. Jadi arti dasar override OOP adalah mengubah perilaku method class induk Anda.

       Biasanya method override diperlukan saat class parent / induk Anda memiliki beberapa method, namun di class anak Anda Anda menginginkan method yang sama dengan perilaku yang berbeda. Dengan meng-override method Anda dapat menyelesaikan perubahan perilakunya dari class induk. Untuk implementasi overiding di OOP kita umumnya membuat method yang sama di class anak.

Overloading

      Overloading di OOP sama dengan overloading di dunia nyata. Di dunia nyata, overloading berarti memberi pekerjaan ekstra pada mesin atau orang yang sama. Method overloading id OOP sama. Dengan proses methos overloading Anda meminta method / function Anda untuk beberapa pekerjaan ekstra. Atau dalam beberapa kasus, kita bisa mengatakan beberapa pekerjaan yang berbeda juga.

      Biasanya method overloading di OOP dikelola berdasarkan argumen / parameter yang dilewatkan dalam function. Kita bisa mencapai overloading di OOP dengan memberikan argumen yang berbeda dalam method / function yang sama.

Overiding dan Overloading di PHP

      Implementasi override di php sangat mudah. Jika class induk Anda memiliki fungsi, nda dapat membuat fungsi dengan nama yang sama di class anak Anda untuk mengganti fungsinya. Implementasi override tidak bisa diraih dengan membuat 2 function dengan nama yang sama dan argumen / parameter yang berbeda dalam php. Karena kita tidak bisa membuat function nama yang sama lebih dari 1 kali di class php. Untuk menerapkan overloading kita perlu bantuan metode magic di php. Di bagian bawah kita akan membahas overloading dan override satu per satu.

Overloading di PHP

      Seperti kita ketahui bahwa kita tidak bisa menerapkan overloading dengan membuat 2 fungsi dengan nama yang sama dalam satu class. Jadi untuk menerapkan overloading di php kita akan mengambil bantuan magic method __call(). magic method __call() dipanggil saat metode yang disebut dengan objek kelas tidak tersedia di class. Jadi di sini kita tidak akan membuat method dengan tepat dan akan membantu metode __call(). Sekarang method __call() akan memberi kita 2 argumen / parameter, parameter pertama adalah function / method yang akan dipanggil dan parameter kedua adalah parameter yang akan dikirim ke method yang dipanggil. Sekarang dengan bantuan switch-case atau if-else kita akan menerapkan overloading di php. Berikut adalah contoh overloading yang sangat sederhana di php.


<?php 
class Test
{
public function __construct()
{
//Your logic for constructor
}
public function __call($method_name , $parameter)
{
if($method_name == "overlodedFunction") //Function overloading logic for function name overlodedFunction
{
$count = count($parameter);
switch($count)
{
case "1":
//Business log in case of overlodedFunction function has 1 argument
echo "You are passing 1 argument";
break;
case "2": //Incase of 2 parameter
echo "You are passing 2 parameter";
break;
default:
throw new exception("Bad argument");
}
}
else
{
throw new exception("Function $method_name does not exists ");
}
}
}
$a = new Test();
$a->overlodedFunction("ankur");
$a->overlodedFunction("techflirt" , "ankur");
?>

        Seperti yang kita tahu bahwa magic method __call() dipanggil saat metode tidak tersedia di class. Jadi dalam kasus contoh test class di atas kita belum membuat function overlodedFunction. Jadi kapanpun metode overlodedFunction disebut, maka akan memanggil method __call(). Method __call() mempunyai 2 parameter, parameter pertama adalah nama dari method yang akan dijalankan dan lainnya adalah parameter yang dilewatkan dalam method yang disebut. Dalam fungsi __call() saya telah menerapkan if-else untuk memastikan bahwa logika bisnis overloading hanya berfungsi untuk fungsi overlodedFunction.

Overriding di PHP

       Override di php sangat mudah. Seperti yang kita ketahui bahwa override adalah proses memodifikasi method yang diwariskan. Jadi dalam kasus pewarisan, anda hanya perlu membuat method dengan nama yang sama di class anak yang ingin ditimpa. Berikut ini adalah contoh override method di php.


<?php 
class testParent
{
public function f1()
{
echo 1;
}
public function f2()
{
echo 2;
}
}

class testChild
{
function f2($a) //overriding function f2
{
echo $a;
}
}

$a = new testChild();
$a->f2('ankur');//it will print ankur
?>

      Pada contoh di atas Anda mengoverride fungsi f2. ketika melakukan override, anda bebas mengubah logika bisnis dan jumlah parameter.

Sekian tulisan saya kali ini, saya harap tulisan saya tentang konsep overloading dan override di php ini dapat bermanfaat untuk pembaca. Terima kasih.

Rabu, 28 September 2016

Sedot code source code php gratis, Bikin Framework PHP Sendiri dengan teknik OOP dan MVC by david naista. Ini adalah judul salah satu buku yang di terbitkan oleh lokomedia.
Source Code OOP & MVC dari Buku Lokomedia GRATIS
Source Code OOP & MVC 

Sebelumnya mohon maaf kepada seluruh teman teman sedot code yang telah mengirimkan komentar baik saran maupun kritikan yang belum sempat saya balas dikarenakan banyak sekali yang saya kerjakan belakangan ini (Offline/Online).

Source Code OOP & MVC dari Buku Lokomedia, studi kasus Proyek Membuat Website Sekolah denga Framework sendiri. Teman teman yang belum menggunakan framework php, saya sangat menyarankan untuk belajar framework. Mungkin masih ada yang belum memahami apa itu framework php.

Framework php adalah sekumpulan script (Potongan Kode/Fungsi/class) yang siap dipakai, dengan adanya framework pekerjaan development sebuah website akan terasa ringan dan lebih enak jika berkerja didalam team, karena susunan dan cara penulisan memiliki ketentuan tersendiri, saya tidak menjelaskan Class dan Fungsi php pada kesempatan ini. Anda bisa melihat salah satu contoh fungsi php yang pernah saya share sebelumnya.

Contoh framework php


Ada dua contoh framework yang populer, yaitu codeigniter dan laravel. SIlahkan di pelajari, saya pernah membuat panduan framework codeigniter yang saya publish di youtube, simak panduannya framework codeigniter untuk pemula pemula sekali.

Source code dari buku ini sangat cocok bagi teman yang ingin tau cara membuat framework, seperti yang kita ketahui bahwa framework php di buat dengan teknik OOP(Object Oriented Programming) dan menggunakan konsep MVC(Model View Controller) bukan procedural, contoh procedural yang seperti source sekolah berikut link source website alumni dengan php

Modul Modul dalam buku ini di antaranya, modul:

  • login
  • tentang sekolah,
  • siswa
  • alumni
  • guru
  • jurusan
  • user
  • artikel 
  • dan lainnya. 


Saya sangat menyarankan teman teman untuk membeli buku ini agar lebih mudah memahaminya, karena yang saya bagikan hanya source code saja. Source dapat di download melalui link dibawah.
Download link

Cara Install Source Code OOP & MVC dari Buku Lokomedia


Untuk cara install di localhost, silahkan copy-paste ke dalam folder root anda(htdoc xampp/www wamp), buat dan import database, atur file config, selesai. Jika masih bingung lihat video ini:


Sekian dulu, semoga bermanfaat untuk teman teman setanah air :).

Senin, 27 Juni 2016

    Pada pemrograman berorientasi object di PHP, ada beberapa function / method dengan nama khusus yang disediakan oleh PHP yang ditandai dengan dua garis bawah(__) yang akan memicu / memanggil action tertentu. Function tersebut seperti __construct(), __destruct(), __call() dll.

__construct()

Function __construct() akan dipanggil ketika suatu object di inisialisasi atau dibentuk. Contoh :

class Bapak{

private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';
public function __construct(){
echo "object dari class Bapak dibuat";
}

public function makan(){
echo 'makan dengan tangan kanan';
}

}

ketika membuat object dari class Bapak seperti berikut,

$bapak = new Bapak();
maka secara otomatis function __construct() dikalankan dengan contoh di atas mengeluarkan pesan
 "object dari class Bapak dibuat".

__destruct()

 __destruct() merupakan kebalikan dari function __construct(). __destruct() dijalankan ketika kita menutup object / membuang object dari class yang sudah tidak digunakan. Ketika kita membuat sebuah object, kita sedang menggunakan memori untuk menyimpan object tersebut jadi ketika object sudah tidak terpakai, tidak serta merta memory menghapus object tersebut. Jadi dengan menggunakan __destruct() kita bisa melakukan sesuatu ketika object tersebut tidak terpakai seperti menulis log, menghapus file yang sudah tidak digunakan dll. Contoh penggunaan :

class Bapak{

private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';
 
    public function __construct(){
echo "object dari class Bapak dibuat";
$this->logfile_handle = fopen('/tmp/log.txt', 'w');
}

public function __destruct(){
fclose($this->logfile_handle);
}

public function makan(){
echo 'makan dengan tangan kanan';
}

}
pada contoh di atas, ketika object dibuat maka akan menjalankan function __construct() yang melakukan operasi baca file dan ketika object dihancurkan atau tidak digunakan, maka function __destruct() dijalankan untuk menutup file tersebut.

__toString()

Function __toString() berguna ketika kita ingin memanggil sebuah object dan mengeluarkan sesuatu string lewat object tersebut. Contoh :

class Bapak{

private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';

public function __construct($name){
$this->name = $name;
}

public function __toString(){
echo $this->name." adalah object dari class Bapak";
}

public function makan(){
echo 'makan dengan tangan kanan';
}

}

dengan menggunakan function __toString() kita bisa mendapatkan output object dengan cara sebagai berikut.

$bapak = new Bapak('Ady');
echo $bapak; // Ady adalah object dari class Bapak

ada beberapa lagi function "magic" yang disediakan oleh PHP seperti __set(), __get(), __sleep(), __wakeup(), __clone() yang penggunaannya bisa sangat bermanfaat dalam efisiensi code pemrograman. Sekian tulisan saya kali ini, kita sambung dilain kesempatan.

Rabu, 22 Juni 2016

     Dalam pemrograman berorientasi object, dikenal istilah pewarisan / inheritance. Inheritance merupakan konsep pemrograman yang membagi source code menjadi class yang saling terhubung satu dengan yang lain. Seperti di dunia nyata, seorang anak mewarisi / mempunyai beberapa sifat bawaan dari orang tua seperti sama sama suka bermain musik, sama sama berambut keriting dll.
    Di dalam pemrograman, kelakuan kelakuan tersebut dapat berupa method / function, sedangkan sifat dapat berupa variable / contanta. Function adalah sebuah kelakuan / fungsi untuk melakukan sesuatu.

Contoh :

class Bapak{

private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';
public function makan(){
echo 'makan dengan tangan kanan';
}

public function tidur(){
echo 'tidur dengan mendengkur';
}

function mainGitar(){
echo 'main dengan tangan kanan';
}

}

di atas merupakan contoh class bapak yang mempunyai variable warna rambut dan warna kulit serta mempunyai function makan(), tidur(), mainGitar(). Dibawah ini contoh class yang mewarisi class Bapak.

class Andi extends Bapak{

public function membaca(){
echo 'membaca novel';
}

function mainGitar(){
echo 'main dengan tangan kiri';
}

}

class Andi merupakan class turunan dari class Bapak yang ditandai dengan kata extends. dengan demikian, secara default class Andi mewarisi kelakuan / function dari class Bapak seperti function makan(), tidur(), mainGitar(). Sehingga apabila dijalankan keluar hasil sebagai berikut.


$andi = new Andi();
$andi->makan(); // output: makan dengan tangan kanan
$andi->tidur(); // output: tidur dengan mendengkur
$andi->mainGitar(); // output: main dengan tangan kiri
$andi->membaca(); // output: membaca novel

seperti terlihat pada potongan kode di atas, $andi merupakan object / instance dari class Andi. secara default class Andi memiliki function bawaan dari class Bapak dan dapat dipanggil menggunakan object dari class Andi.

Lho... itu yang function mainGitar() kok outputnya "main dengan tangan kiri", bukan "main dengan tangan kanan seperti yang di class Bapak" ?

itu karena function mainGitar() sudah di override oleh class Andi dengan isi yang berbeda. Apa itu override ? Silahkan simak di artikel saya selanjutnya.
  
    kenapa harus pakai pewarisan ? apa untungnya ?

    Bayangin aja kalau kita mau buat CRUD ke database sebanyak 100 tabel dan semuanya pakai insert, update, delete dan membaca isi tabel. Apa gak makan ati kalau buat 100 file yang sama sedangkan yang beda cuma nama tabel dan nama kolomnya aja. trus tiap file ada kode koneksi ke database. Dengan konsep pewarisan semua kode itu bisa diringkas dan tentunya dengan kemampuan yang sama. Dan masih ada banyak lagi keuntungan yang didapat dengan catatan anda mau mencobanya sendiri.
 
    Akhir kata, terima kasih telah mampir dan meluangkan waktu membaca tulisan saya kali ini.

Rabu, 20 April 2016

Sedot code - Contoh Source Code PHP Aplikasi CRUD Dengan PDO, extention mysql akan segera di hapus didalam php, kita bisa beralih ke mysqli atau PDO, bagi sobat yang terlanjur dengan mysql query maka harus segera move on ke mysqli atau PDO. PHP mulai menyediakan PDO extension sejak versi 5.1 keatas.
Contoh Source Code PHP Aplikasi CRUD Dengan PDO
www.phpgang.com

Contoh Source Code PHP Aplikasi CRUD Dengan PDO
www.codingcage.com 

Pengertian PDO (PHP Data Objects)


Di kutip dari duniailkom, PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk �berkomunikasi� dengan database server. Maksud istilah �interface universal� disini adalah bahwa PDO tidak terikat dengan aplikasi database tertentu. Apabila saat ini kita menggunakan database MySQL dan dikemudian hari ingin bermigrasi menggunakan PostgreSQL, kita hanya tinggal mengganti cara pemanggilan awal PDO dan seluruh kode program yang ada bisa langsung digunakan untuk database baru.

Secara teknis, apabila menggunakan mysql atau mysqli extension, PHP langsung berhubungan dengan MySQL Server, tetapi jika menggunakan PDO, ia tidak berhubungan langsung dengan database, tetapi hanya sebagai �interface�.

Mysql extension atau mysqli extension hanya bisa bekerja dengan database MySQL. Karena alasan inilah banyak sebaiknya kita mulai beralih menggunakan PDO dibandingkan mysqli.

Konsep PDO

PHP PDO �> Database Driver �> Database Server

PDO bekerja dengan metode yang disebut �data-access abstraction layer�. Artinya, apapun jenis database server yang digunakan, kode PHP yang ditulis akan tetap sama. PDO menyediakan �abstraction layer� untuk berkomunikasi dengan database server.

Jenis Database Server yang didukung PDO


Hingga saat ini (PHP versi 5.6) PDO mendukung setidaknya 12 jenis Interface/Database Server, selengkapnya http://php.net/manual/en/pdo.drivers.php:

  • CUBRID
  • MS SQL Server
  • Firebird
  • IBM
  • Informix
  • MySQL
  • MS SQL Server
  • Oracle
  • ODBC and DB2
  • PostgreSQL
  • SQLite
  • 4D


Cara Mengaktifkan PDO 


Untuk melihat driver database apa saja yang telah aktif dan bisa langsung digunakan, bisa menggunakan fungsi (lebih tepatnya: static method) PDO::getAvailableDrivers():

<?php
   print_r(PDO::getAvailableDrivers());
?>
Buat sebuah file php, simpan didalam sub folder htdoc(xampp), pastekan kode di atas, hasilnya kurang lebih seperti ini. PHP 5.6 bawaan XAMPP:
Array ( [0] => mysql [1] => sqlite )
Masih bingung? begini sobat, buat sebuah file, asumsikan nama filenya pdo.php, pastekan kode di <?php  print_r(PDO::getAvailableDrivers()); ?>, simpan didalam folder , anggap saja nama foldernya pdo juga. lengkapnya C:\xampp\htdocs\pdo\pdo.php. cara aksesnya buka browser(chrome/firefox) ketik localhost/pdo.

Cara di atas hanya untuk mengetahui apakah extention PDO sudah aktif atau belum


Begini cara aktifkan pdo 


Untuk mengaktifkan PDO Caranya adalah mengubah setingan php.ini. Di komputer saya lokasinya C:\xampp\php\php.ini. Buka dengan text editor( Sublime / notepad ++ ) , lihat pada baris ke-1010, Untuk mengaktifkannya, silahkan hapus tanda titik koma (;) dari awal baris nama driver yang ingin digunakan.

Contoh Source Code PHP Aplikasi CRUD Dengan PDO


Keterangan:
Aplikasi ini menggunakan native php, bukan framework,
-CRUD(Create,Read,Update,Delete PDO OOP System)
-Login With PDO System
-Session Login PDO System
-Clean Code
-GUI Bootstrap with AdminLTE

Untuk mendownload silahkan dimari. Jangan lupa lihat dan pelajari source code Login & register System php OOP

Sumber: http://www.duniailkom.com/tutorial-php-mysql-pengertian-pdo-dan-cara-mengaktifkan-pdo-php-data-objects/

Pemilik source: https://www.facebook.com/v.attacx?fref=nf

Minggu, 31 Januari 2016

Sedotcode.blogspot.com Source code php berbasis oop login register system, Bagi sahabat yang lagi mencari source php yang bersifat Object Oriented Programming sobat harus mencoba aplikasi login register sign up ini. Jika mau belajar oop bahasa indonesia saya sarankan baca buku Trik Mudah Menguasai OOP dengan PHP.
Source code php berbasis oop login register system
Cover buku Trik Mudah Menguasai OOP dengan PHP.

Apa yang dimaksud OOP?

Pemrograman Berbasis Objek atau Object Oriented Programming (OOP) adalah sebuah tata cara pembuatan program (programming paradigm) dengan menggunakan konsep �objek� yang memiliki data (atribut yang menjelaskan tentang objek) dan prosedur (function) yang dikenal dengan method. (http://en.wikipedia.org/wiki/Object-oriented_programming).

Dikutip dari duniailkom , Dalam studi pemrograman, pembuatan program dalam PHP tanpa menggunakan objek disebut juga dengan pemrograman prosedural atau pemrograman fungsional. Dikenal dengan pemrograman prosedural, karena kita memecah kode program menjadi bagian-bagian atau fungsi-fungsi kecil, kemudian menyatukannya untuk menghasilkan nilai akhir.

Keuntungan pemrograman berbasis objek 

Java adalah aplikasi yang berbasis objek sedangkan konsep OOP dalam PHP baru hadir dalam PHP versi 4, dan disempurnakan oleh PHP versi 5. PHP sebenarnya bisa dibuat tanpa objek sekalipun, yang sering dibuat oleh pemula biasanya belum menggunakan OOP, masih bersifat Prosedural.

Didalam blog ini ada banyak source code php gratis yang menggunakan konsep oop dan prosedural, konsep oop dalam blog ini lebih menggunakan framework codeigniter.

Baca Juga : Source code php untuk login menggunakan php plus video

Keuntungan pemrograman berbasis objek ini adalah ketika sobat membuat program yang cakupannya "besar" atau ketika sobat berkerja dalam sebuah tim.

Jika sobat sebelumnya sudah paham dengan java, maka saya yakin tidak ada kesulitan belajar aplikasi berbasis objek dengan php, karena oop akan membahas class, object, property dan method.

Contoh Aplikasi berbasis OOP dengan PHP

Source code php berbasis oop login register system

Contoh aplikasi berbasis oop, berikut adalah source code dari alex garret dalam youtubenya, dan saya praktekkan, jadi source ini bukan saya yang buat. :) , masih berminat? silahkan ambil source nya.

Selasa, 15 September 2015

     Di dalam konsep pemrograman berorientasi object (OOP), setiap attribut atau function dapat di atur penggunaannya menggunakan keyword public, protected, atau private. Hal ini berguna untuk membatasi penggunaan attribute atau function. Contoh : anda punya sebuah function untuk koneksi ke database dan function tersebut hanya boleh digunakan oleh class yang berhubungan dengan database seperti melakukan query insert, update, delete atau read.
  1. public

     keyword public digunakan untuk attribute / variabel dan function yang bisa di gunakan atau diakses dari class manapun. Sebagai contoh adalah seperti jalan raya yang bisa digunakan oleh siapapun.
    <?php
    class Makhluk_Hidup{
    var $berat;
    public $tinggi;

    function __construct(){

    }
    function bernafas($nama,$alat){
    echo $nama." bernafas dengan ".$alat;
    }
    public function makan($makanan){
    echo "makan ".$makanan;
    }

    }
    ?>
    di atas merupakan contoh class bernama Makhluk_hidup yang memiliki attribute  berat dan tinggi. Pembuatan function tanpa disertai keyword public, protected, atau private secara default akan di anggap sebagai public. Sedangkan attribute dengan keyword var dianggap sebagai public. Contoh penggunaan :

    $hidup = new Makhluk_Hidup();
    $hidup->bernafas('manusia','paru-paru');//work
    $hidup->makan('nasi');// work

  2. private

     keyword private digunakan untuk attribute / variabel dan function yang hanya bisa di gunakan atau diakses dari classitu sendiri. Sebagai contoh, misalnya kita punya celana dalam yang hanya kita yang bisa memakainya sedangkan orang lain tidak boleh menggunakannya. contoh penggunaan :

    <?php
    class Makhluk_Hidup{
    var $berat;
    var $tinggi;

    function __construct(){

    }

    public function bernafas($nama,$alat){
    echo $nama." bernafas dengan ".$alat;
    }

    private function makan($makanan){
    echo "makan ".$makanan;
    }

    }

    class Manusia extends Makhluk_Hidup{

    function __construct(){
    echo "loading bernafas <br/>";
    }
    function makan($makanan){
    $this->makan($makanan);
    }

    }
    $adi = new Manusia();
    $adi->bernafas('adi','paru-paru'); // work
    $adi->makan('nasi');// not work
    ?>
    di atas merupakan contoh penggunaan keyword private. $adi adalah object dari class Manusia yang merupakan class turunan dari class Makhluk_Hidup. kita bisa memanggil function / method bernafas dari object $adi tapi tidak bisa mengakses function makan dari object $adi karena function makan merupakan function private yang hanya bisa di akses oleh class Makhluk_Hidup.

  3. protected

     keyword protected digunakan untuk attribute / variabel dan function yang hanya bisa di gunakan atau diakses dari classitu sendiri dan class turunan. Sebagai contoh, misalnya saya merupakan anak dari bapak saya. Dan bapak saya mempunyai motor dan rumah yang saya tentu bisa menggunakan rumah dan motor kepunyaan bapak saya. Sedangkan tetangga saya tidak bisa menggunakan motor dan rumah milik bapak saya tersebut.Contoh penggunaan :

    <?php
    class Makhluk_Hidup{
    var $berat;
    var $tinggi;

    function __construct(){

    }

    function bernafas($nama,$alat){
    echo $nama." bernafas dengan ".$alat;
    }

    function makan($makanan){
    echo "makan ".$makanan;
    }
    protected function berkembang_biak($cara){
    echo "berkembang biak dengan ".$cara;
    }
    }

    class Manusia extends Makhluk_Hidup{

    function __construct(){
    echo "loading bernafas <br/>";
    }
    function bekerja($tempat){
    echo "bekerja di ".$tempat;
    }
    function biak($cara){
    $this->berkembang_biak($cara);
    }

    }
    class Tumbuhan{

    function tes($cara){
    $this->berkembang_biak($cara);
    }
    }
    $manusia = new Manusia();
    $manusia->biak('beranak');// work
    $padi = new Tumbuhan();
    $padi->tes('beranak');// not work
    class Tumbuhan tidak bisa menggunakan function berkembang_biak() yang berada di class Makhluk_Hidup karena function  berkembang_biak() merupakan function protected yang hanya bisa di akses class Makhluk_Hidup dan class turunan dari class Makhluk_hidup.

        Sekian tulisan saya kali ini. Mohon maaf apabila ada kesalahan penulisan saya lanjutkan di lain kesempatan. Terima kasih.

    referensi :http://php.net/manual/en/language.oop5.visibility.php