Belajar OOP di PHP

Emm apa sih oop, he he saya sendiri juga bingung, tapi pada dasarnya dengan adanya konsep OOP ini , kita bisa membuat suatu program yang kompleks menjadi lebih mudah, wah tanpa basi basi gue sekarang lagi pingin copy paste tulisanya teman sesama bloger yang menulis artikel tentang OOP yang gokil abis, yang jelas bagi para pemula , tulisan ini sangat membantu deh, tapi saya sendiri sekarang menggunanakan framework codeigniter yang sangat mendukung sekali dengan konsep OOP.dan tulisan ini saya copy dari http://intan.savitri.web.id , semoga bisa menjadi perpustakaan pribadi saya yang bisa saya baca sewaktu2 dan bisa di baca oleh teman2 yang membutuhkan,


Orang bilang ga ada kata terlambat untuk belajar, dan pisau yang tumpul apabila diasah terus-menerus maka akan jadi tajam juga. Dengan bermodalkan dua hal itu saya membulatkan tekad untuk belajar OOP, belajar dari dasar… terseok-seok, karena otak sudah terlanjur akrab dengan pemrograman prosedural.

Berikut istilah-istilah yang biasa digunakan dalam OOP, sedikit saya rangkum sebagai langkah awal dalam memahami OOP.
Warning : pengertian berikut dirangkum dengan pemahaman saya yang masih sangat awam akan konsep OOP

Object :
Kumpulan Variabel dan Fungsi yang saling berkaitan
Class :
Adalah blueprint atau rancangan dari object. Jadi dari satu class bisa dibuat banyak object . Object adalah instance dari class.
Contoh : class = sepeda
Object = sepedaGunung, sepedaTandem
Polymorphism :
Berarti suatu benda seakan-akan mempunyai banyak bentuk. Dua objek atau lebih dikatakan polymorphic bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku yang berbeda. Muncul karena interaksi konsep inheritance dan dynamic binding.
Contoh : method sayHello() pada class dog, class cat atau class dog akan menghasilkan keluaran yang berbeda. dog = “guk..guk..” sedangkan cat = “miau..miau..”Jadi class yang berbeda dapat menjawab sebuah pesan yang sama, namun sesuai dengan kemampuan class tersebut.
Inheritance :
adalah pewarisan sifat, sebuah subclass akan mewarisi sifat dari superclass-nya. Subclass dapat melakukan override terhadap sifat dan kemampuan warisan superclass-nya.
enkapsulasi :
Memastikan pengguna sebuah object tidak dapat mengganti keadaan dalam diri sebuah object dengan cara yang tidak layak, hanya method dalam object tersebut yang dapat diberi ijin untuk mengakses keadaannya.

Lanjut ya…. Materi berikut ini merupakan hasil terjemahan dari artikel “An Introduction to OOP in PHP” . Artikel asli dapat langsung dilihat disini

Yang Keren Dari OOP

Mari mulai dari awal dan pelajari konsep dasar. Awalnya, seorang developer PHP menuliskan coding mereka dalam bahasa prosedural. Pada koding semacam ini, Satu hal terjadi setelah hal lainnya dan hal paling menarik yang dapat terjadi adalah penyertaan file lain. Function tersebar disana-sini, dan kumpulan library dari function tersebut dapat membantu memindahkan sesuatu dengan lebih cepat. Ada keterbatasan pada jenis pemrograman seperti ini. Koding dengan cara prosedural cenderung ‘merepotkan’ bila bekerja dengan ‘large site’. Memindahkan sesuatu dengan bantuan include files dapat membantu, tapi bukan penyelesaian dari masalah.

OOP dapat membantu mengatasi semua kerepotan tersebut. Mari kita bicarakan tentang pengertian dari ‘object’ yang dimaksud dalam OOP. Object adalah kumpulan tipe variabel dalam PHP yang dapat melakukan banyak hal-hal menyenangkan ) Mereka (object) dapat dilewatkan from place to place sambil maintenace semua properti dan method yang mereka miliki di dalam diri mereka. Jika ini masih belum masuk akal buat anda, bertahan saja, saya akan membantu. Langkah pertama adalah mengetahui cara menciptakan sebuah objek milik anda sendiri!

Object Kesayangan Kita

Object hanyalah type variabel (seperti yang sudah dijelaskan diatas) dengan feature istimewa yang menyertainya. Untuk membuat sebuah object, anda membutuhkan sesuatu yang disebut class. Pikirkanlah class sebagai suatu framework dibelakang sebuah object yang mendefinisikan kegunaan serta variabel-variabel yang disimpan didalamnya. Berikut contohnya:

  1. <?PHP
  2. class myClass {
  3. function myClass(){
  4. }
  5. }
  6. ?>

Pada contoh diatas, “myClass”
merupakan nama dari class, dan kata ‘class’ adalah kata kunci yang akan dicari oleh PHP untuk mengetahui apa yang anda lakukan. Didalam pendefinisian class tersebut terdapat fungsi dengan nama “myClass”. Saya tidak bermaksud membuat anda bingung, ada alasan mengapa fungsi tersebut diberi nama yang sama dengan class yang menampungnya. Fungsi tersebut merupakan fungsi khusus yang disebut constructor. Hal ini seperti membuat pondasi dan membangun dinding dari sebuah bangunan baru, fungsi ‘myClass’ dijalankan ketika objek pertama kali diciptakan.

Ah~! sekarang kita sampai pada bagian yang menyenangkan! Object Creation!

Jadi, sekarang kita telah mempunyai sebuah contoh class yang siap untuk digunakan. Tapi untuk dapat mengambil sesuatu didalamnya, kita perlu membuat sebuah object yang mewakilinya. Berikut contohnya :

  1. <?php
  2. $mine=new myClass();
  3. ?>

Variabel $mine adalah sebuah object yang baru diciptakan. Jika anda melakukan perintah print_r() pada object tersebut anda akan melihat keistimewaannya. Untuk memberitahu PHP bahwa kita ingin menjadikannya sebuah object, kita gunakan kata kunci ‘new’ diikuti nama class. Contoh diatas BELUM benar-benar melakukan sesuatu, tapi hal itu akan berubah setelah kita berkenalan dengan properties.

Meletakkan Properties
Seperti hal lainnya yang berkaitan dengan class, property sebenernya adalah sesuatu yang telah anda tahu sebelumnya. Property hanyalah sebuah variabel dalam penyamaran. Mengapa mereka berbeda? Didalam sebuah class anda dapat mempunyai variabel, tapi ada variabel yang berasal dari pemanggilan dari level yang lebih tinggi. Variabel ini dapat diakses dari dalam maupun dari luar kelas dan merupakan variabel global didalam sebuah object. Berikut contohnya:

  1. <?php
  2. class myClass {
  3. var $my_var = ‘testing’;
  4. function myClass(){
  5. }
  6. }
  7. $mine=new myClass();
  8. echo $mine->my_var;
  9. ?>

Pada contoh diatas, kita menggunakan struktur class seperti pada contoh sebelumnya, tapi kita tambahkan sesuatu yang sedikit berbeda. Variabel ‘$my_var’ yang didefinisikan pada bagian atas menyimpan sebuah nilai yang dapat kita ambil kemudian. Setelah kita membuat sebuah object, ada sebuah operator baru yang diperkenalkan, yaitu ‘->’. Basically, ini memberitahukan PHP bahwa variabel yang anda referensikan adalah bagian dari object ‘mine’. PHP secara otomatis akan menarik current value dari object tersebut dan menampilkannya. dan hal ini tidal hanya sebatas variabel saja, anda juga dapat menggunakan tanda panah ini (->) untuk memanggil method (fungsi didalam class), sebagai contoh :

  1. <?php
  2. class myClass {
  3. function myClass(){
  4. }
  5. function echoMe(){
  6. echo ‘me’;
  7. }
  8. }
  9. $mine=new myClass();
  10. $mine->echoMe();
  11. ?>

Apabila script tersebut dijalankan maka akan menghasilkan tulisan “me” pada halaman browser, sederhana bukan??

Langkah Selanjutnya
Sekarang kita akan mengaplikasikan pengetahuan yang sudah kita punya untuk membuat sesuatu yang berguna – misalnya saja sebuah contoh grafik sederhana. Pada contoh berikut kita akan membuat sebuah kotak pada halaman browser (dengan menggunakan tag DIV) dan dengan bantuan PHP serta CSS, akan dilakukan beberapa perubahan terhadapnya. Berikut contohnya:

  1. <?php
  2. class myHappyBox {
  3. var $box_height = 100;
  4. var $box_width = 100;
  5. var $box_color = ‘#EC0000′;
  6. function myHappyBox(){
  7. }
  8. function setHeight($value){
  9. $this->box_height=$value;
  10. }
  11. function setWidth($value){
  12. $this->box_width=$value;
  13. }
  14. function setColor($value){
  15. $this->box_color=$value;
  16. }
  17. function displayBox(){
  18. <div style=”height:%spx;width:%spx;background-color:%s”> </div>
  19. ,$this->box_height,$this->box_width,$this->box_color);
  20. }
  21. }
  22. $box=new myHappyBox();
  23. $box->displayBox();
  24. ?>

Ada beberapa hal baru yang harus diperhatikan disini. Kita sudah tahu bahwa kita akan membuat sebuah gambar kotak dengan menggunakan class ini, dan kita tahu bahwa kotak mempunyai poperty tertentu – yaitu panjang, lebar dan warna. Pada contoh class diatas dapat dilihat ketiga property tersebut mempunyai default value (nilai yang telah ditentukan). Dengan menyimpan default value, anda dapat langsung memanggil displayBox() dan akan menghasilkan kotak berukuran 100×100 pixel berwarna merah tanpa perlu lagi mengeset panjang, lebar dan warna kotak tersebut. Tapi bagaimana jika kita ingin mengubah salah satu nilai dari property tersebut? Untuk itulah dibuat fungsi-fungsi lainnya selain displayBox().

Ada tiga buah fungsi didalam class myHappyBox. Yaitu fungsi untuk menentukan panjang, mamentukan lebar dan menentukan warna, dan ketiga fungsi tersebut bekerja dengan dasar yang sama. Masing-masing dari mereka mengambil nilai dan mengeset property global pada nilai tersebut. jadi, apabila kita ingin mengubah ukuran dari kotak tersebut, hal yang harus dilakukan adalah sebagai berikut:

  1. <?php
  2. $box=new myHappyBox();
  3. $box->setHeight(30);
  4. $box->setWidth(300);
  5. $box->displayBox();
  6. ?>

Koding diatas akan merubah kotak default dan akan ditampilkan kotak baru dengan lebar yang jauh lebih besar dari pada panjangnya. Perubahan serupa dapat juga dilakukan dengan method setColor() yang akan merubah warna dari kotak, dengan isian nilai pada method setColor() adalah berupa HTML color (Hex).

BUNGKUS !!!!
Jadi, inilah dasar OOP – bukan sesuatu yang menakutkan ataupun perlu dihindari. Malahan OOP bisa jadi suatu hal TERBAIK yang dapat terjadi antara anda dan coding yang anda tulis. Tentu saja menulis ulang aplikasi yang sedang anda buat dengan gaya OOP bisa menjadi sesuatu yang merepotkan, tapi akan selalu ada proyek selanjutnya yang dapat dipertimbangkan. Dan ingat, Ada banyak hal lain yang harus dipelajari selain object, class, method, maupun property seperti yang telah dijelaskan diatas. Anda dapat langsung mengacu ke website PHP.net dan lihat langsung ‘their great resources‘ pada topik OOP. Disitu akan terdapat jawaban atas pertanyaan-pertanyaan yang mungkin sekarang muncul dalam benak anda setelah anda menyelesaikan tutorial ini.

silahkan mencoba ya konsep oop nya di php, apa lagi kalau pakai framework codeigniter akan lebih bagus dan lebih prastice he he

sumber : http://intan.savitri.web.id/index.php/2007/03/05/belajar-oop-di-php/salam dari krida prasetya

About these ads

About krida prasetia

ingin bahagia dunia dah akhirat

Posted on September 5, 2008, in php. Bookmark the permalink. 10 Comments.

  1. puyeng juga ya, buat gw pemula…

  2. yups” asal mau mencoba pasti paham juga kok mas” yang penting brani belajar dan berkerja keras….

  3. wah leh minta id ym nya ga?
    heee….buat konsultasi kalo2 ada masalah dgn php…

  4. isi na koq sama ya ama blog2 laen ….
    ini artikel ada di blog na orang laen di posting sekitar Mei 2007 … pasti blom pake php 5

    pa cuman copy paste

  5. maaf ya mas” blog ini awal2nya emang copy paste.. tapi saat penulis sudah memiliki kemampuan dikit2 demi sedikit dan berjalanya waktu .. penulis blog sudah jarang copy paste…

  6. kadang orang berfikir picik tentang copy paste.. padahal tanpa dia sadari hidupnya penuh dengan copy paste… ilmu itu berkembang dan tanpa copy paste ga akan berkembang… emang yang buat php kamu.. tanpa copy paste kita tidak akan bisa belajar php, ya kalau kamu ingin buat program sendiri contohnya bukan php tapi tht.. gue baru salut…
    #just : tapi saya mohon maaf untuk copypaste tanpa menyebutkan penulisnya itu namanya plagiat he he.. dan tidak menghargai penulis asli … he he namanya juga manusia kadang banyak teledornya

  7. wew…pusing juga yah…pakai OPP, harus lebih paham dolo neh sebelum pakai…lam kenal aja

  8. iyo mas” mending pakai kohanaphp framework dah oop banget mengigit banget wakak kak

  9. Pusing y..?bsa cpt bljr php..gmn y?Q,mnt solusinya donk…hehe

  10. Bagus baget nie tutorial nya sangat membantu para pembacanya… OOP PHP emang menyenangkan…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 2,635 other followers

%d bloggers like this: