Object Oriented Programming (Pemrograman Berorientasi Obyek) atau OOP merupakan sebuah paradigma atau cara berpikir dalam menulis kode program. Seorang peneliti bidang komputer bernama Alan Kay memperkenalkan konsep ini. Konsep ini menjadi populer dan menggantikan teknik penulisan prosedural pada berbagai bahasa pemrograman. Salah satu bahasa yang menerapkan konsep OOP dan menggantikan konsep prosedural adalah bahasa pemrograman PHP. Show PHP memperkenalkan konsep OOP ini sejak versi 5 yang memicu awal munculnya framework mvc seperti Codeigniter, CakePHP dan Laravel. Hingga saat ini (PHP versi 8), konsep OOP mendapat pengembangan dan optimisasi yang sangat signifikan. Tulisan ini akan membahas contoh oop pada bahasa pemrograman PHP. Pengenalan Singkat OOP pada PHPKonsep OOP menekankan bahwa semua hal adalah obyek. Setiap proses yang ada pada obyek tersebut terenkapsulasi (tersembunyi, pen) sehingga obyek lain hanya bisa mengakses variabel dan fungsi yang memiliki akses/visibilitas public. Contoh obyek dan deklarasinya : <?php // contoh obyek Kalkulator class Kalkulator {}; // contoh deklarasi obyek Kalkulator kedalam variabel $kalkulator $kalkulator = new Kalkulator; Setiap obyek, biasanya memiliki :
Kita bisa mengeset visibilitas/akses property dan method tersebut menjadi :
Kita bisa mengakses property dan method dalam class dengan menggunakan keyword <?php class Kalkulator { private $input = 0; // property public function getInput(){ // method return $this->input; } } $kalkulator = new Kalkulator; // deklarasi obyek echo $kalkulator->getInput(); // output : 0 echo $kalkulator->input; // error akses private Kita tidak
dapat memanggil property Getter dan SetterSebuah property yang memiliki visibilitas public dapat bisa diakses secara langsung oleh obyek lain. Hal ini bertentangan dengan paradigma enkapsulasi pada OOP dimana property pada sebuah obyek tidak boleh diakses dan diubah secara langsung. Untuk mengatasi hal ini, OOP mengenalkan sebuah konsep bernama Getter dan Setter. Getter merupakan sebuah metode untuk mengambil value dari sebuah property sedangkan Setter merupakan sebuah metode untuk merubah nilainya. <?php class Kalkulator { private $input = 0; // private property private $hasil = 0; public function setInput($input){ // setter $this->input = $input; } public function getHasil(){ // getter return $this->hasil; } public function tambah($nilai){ $this->hasil = $this->input + $nilai; } } $kalkulator = new Kalkulator; // deklarasi obyek $kalkulator->setInput(5); $kalkulator->tambah(3); echo $kalkulator->getHasil(); // output : 8 InheritanceSebuah obyek dapat memiliki obyek turunan yang memiliki sifat-sifat obyek yang sama. Obyek turunan dapat memiliki property dan method yang sama sehingga secara tidak langsung menerapkan konsep reusable. Contoh di bawah ini merupakan contoh inheritance : // parent class Class Smartphone { private $coreCount = 2; public function getCoreCount() { return $this->coreCount; } } // child class Class NextModel extends Smartphone { private $coreCount = 4; } $nextModel = new NextModel; echo $nextModel->getCoreCount(); // hasil : 4 Script diatas menunjukkan bahwa class OOP (Object) Oriented Programming adalah jenis pemrograman yang menggunakan objek-objek berisi properti dan method. Dalam OOP, programmer menggunakan class sebagai blue print dari suatu objek. Dalam class, variabel disebut properti dan function disebut dengan method. Setelah class dibuat, kita bisa membuat objek dengan class tersebut. Sebelum melanjutkan pembahasan tentang OOP, saya akan memberi contoh cara mendeklarasikan class. class namakelas{ Class bisa memiliki beberapa properti dan method. Setiap properti atau method bisa memiliki batas aksebilitas tertentu. Pemberian aksebilitas dari tiap anggota class dalam OOP biasa disebut dengan "encapsulation". Dengan encapsulation kita bisa membatasi hak akses dari objek lain terhadap suatu object. Dalam PHP, encapsulation yang bisa kita gunakan ada 3 macam, yaitu :
Contoh penggunaan encapsulation bisa kalian lihat di bawah ini. Saat membuat objek, kita bisa memberikan nilai menggunakan constructor bersamaan dengan pembuatan object baru ataupun memberikan nilai setelah object dibuat. class rumah{ Pada contoh di atas, saya juga menyertakan function khusus yang bernama __construct (yang diawali dengan dua underscore). Function tersebut adalah function yang otomatis akan dipanggil saat objek dibuat. Parameter function tersebut bisa digunakan untuk memberi nilai pada properti dalam object saat object dibuat. Jika kalian ingin menggunakan objek, kalian perlu menginstansiasi objek dengan menggunakan "new". Cara melakukan instansiasi (instantiation) bisa kalian lihat di dalam script PHP di bawah ini. <?PHP function __construct($x, $y){ function jelaskan(){ Pada contoh di atas, kalian sudah menggunakan instansiasi objek untuk membuat objek rumahku dari class rumahku. Kalian juga sudah memberi nilai dengan menggunakan properti dan method di luar method. Dari contoh di atas jelas terlihat bahwa nama objek dan anggotanya dipisahkan dengan tanda "->". Selanjutnya, kalian bisa coba buat sendiri beberapa object dengan satu class yang sama. Oh ya, untuk menggunakan properti dan method di dalam class yang memiliki properti dan method tersebut, kalian perlu menggunakan $this. Kalau properti atau method digunakan di luar class setelah object dibuat, maka yang digunakan adalah nama object-nya. Satu hal lagi yang kalian perlu ketahui adalah inheritance atau pewarisan. Pewarisan adalah pembuatan class baru dengan menyalin class yang lebih sederhana sambil menambahkan properti dan method baru. Class yang dibuat dengan inheritance akan memiliki properti dari "class ortunya". Dalam PHP, inheritance ditandai dengan penggunaan "extends" seperti contoh di bawah ini. class namaclassbaru
extends namaclassortu{ Penggunaan inheritance bisa kalian lihat pada contoh di bawah ini. function __construct($x, $y){ function jelaskan(){ class gedung extends rumah{ function __constructor($x, $y){ function tampilkan(){ //instansiasi objek rumah //instansiasi objek gedung
Apa itu PHP OOP?Object Oriented Programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada obyek. Semua data dan fungsi pada paradigma ini dibungkus dalam kelas-kelas atau obyek-obyek. Bandingkan dengan logika pemrograman terstruktur, setiap obyek dapat menerima pesan, memproses data, dan mengirim pesan ke obyek ...
Apa itu OOP dan contohnya?Object-Oriented Programming atau OOP adalah suatu metode programming yang berorientasi pada objek. Program-program tersebut merupakan gabungan dari beberapa komponen kecil yang telah ada sebelumnya, sehingga dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan.
Bagaimana OOP bekerja?Object oriented programming atau OOP adalah konsep pemrograman yang berorientasi pada objek atau data untuk mengatur sebuah desain program. Secara garis besar, cara kerja OOP yaitu membangun program dari gabungan objek-objek yang saling berhubungan dan disusun menjadi satu kesatuan.
|