Pengelompokan kelas yang strukturnya dapat disamakan dengan direktorinya disebut sebagai:

Pengelompokan kelas yang strukturnya dapat disamakan dengan direktorinya disebut sebagai:

Tujuan :

  1. Memahami Pemrograman OOP dengan menggunakan PHP
  2. Mampu mengimplementasikan Pembuatan Class, Object, Inheritance dan Method

Syarat utama untuk menguasai CodeIgniter adalah memahami PHP dan konsep Object Oriented Programming. Pada bab ini kita akan membahas sedikit mengenai PHP dan OOP.

Apa sih Object Oriented Programming (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 lainnya. OOP diciptakan untuk mengatasi keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP sendiri adalah semua pemecahan masalah dibagi ke dalam obyek. Dalam konsep OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut sebagai obyek.

Apa itu Object ?

Sederhananya, sebuah obyek adalah kumpulan dari variabel dan fungsi yang dibungkus menjadi satu entitas. Entitas tersebut dapat berupa variabel biasa. Sebuah obyek diciptakan melalui sebuah kelas atau dengan istilah instance of class. Obyek memiliki 2 elemen utama:

  1. Attributes atau Properties: Yaitu nilai-nilai yang tersimpan dalam objek tersebut dan secara langsung maupun tidak langsung menentukan karakteristik dari obyek
  2. Method: Yaitu suatu aksi yang akan dijalankan atau dikerjakan oleh obyek 

Apa itu Class?

Class dapat didefinisikan sebagai struktur data atau cetak biru dari suatu obyek. Lebih jelasnya adalah sebuah bentuk dasar atau blueprint yang mendefinisikan variabel, method umum pada semua obyek. Obyek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class. Obyek adalah elemen pada saat run-time yang akan diciptakan, dimanipulasi, dan dibuang/di-destroy ketika eksekusi. Adapun class merupakan definisi statik dari himpunan obyek yang mungkin diciptakan sebagai instantiasi dari class.

Contoh Class :

Contoh diatas memperlihatkan bagaimana mendefinisikan sebuah class dan meng-create sebuah instance dari class. Pada contoh di atas kita membuat sebuah kelas bernama “Kendaraan”. Dalam pembuatan kelas, pertama kita menggunakan kata kunci class yang diikuti oleh nama kelas, kemudian diakhiri dengan kurung kurawal. Di dalam kurung kurawal kita menuliskan kode-kode (berisi property dan method) supaya kelas tersebut bekerja seperti yang diinginkan.

Kode-kode di dalam sebuah kelas terbagi menjadi dua kelompok, yaitu property dan method. Property adalah suatu wadah penyimpanan di dalam kelas yang bisa menampung informasi. Sederhananya property itu bisa disebut sebagai variabel di dalam kelas. Sedangkan method adalah fungsi yang ada di dalam kelas. Perhatikan contoh berikut.

  1. private $jumlah_pintu; private $jumlah_roda; public $harga;

  2. public function construct(){

  3. echo ‘ini adalah object kendaraan. <br />’;

  4. public function set_harga($harga){

  5. public function show_harga(){

  6. echo ‘harga kendaraan : rp.’.$this->harga.‘. <br />’;

  7. /** mengcreate object $saya_adalah_object dari class kendaraan **/

  8. $saya_adalah_object = new kendaraan;

  9. $saya_adalah_object->set_harga(100000);

  10. $saya_adalah_object->show_harga();

  11. $saya_adalah_object->jalan();

hasil :

harga kendaraan : rp.100000 brrroooooom!!!

Pengelompokan kelas yang strukturnya dapat disamakan dengan direktorinya disebut sebagai:


1. Pengertian (PBO)

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.


1.1. Konsep Dasar

Kelas kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

Contohnya :

public class Siswa { public int nrp; public String nama; public void Info() { System.out.println(“Saya siswa STMIK ERESHA”); }

Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

Desain berorientasi object : Sebuah teknik yang memusatkan desain pada object dan class berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour dan interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan pengembangan, meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam modifikasi dan meningkatkan penggunaan kembali software. Pewarisan : hubungan antara class dimana dalam satu class ada superclass atau class induk dari class yang lain. Pewarisan menunjuk pada properti dan behaviour yang diterima dari nenek moyang dari class. Ini dikenal juga sebagai hubungan “is-a”. Perhatikan pada hirarki berikut.

Pewarisan : hubungan antara class dimana dalam satu class ada superclass atau class induk dari class yang lain. Pewarisan menunjuk pada properti dan behaviour yang diterima dari nenek moyang dari class. Ini dikenal juga sebagai hubungan “is-a”. Perhatikan pada hirarki berikut.


import java.awt.*; class titik { int x; int y; } class warnaTitik extends titik { Color warna;

}

Atribut : Menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field data. Kembali lagi ke contoh sistem registrasi siswa, atribut dari sebuah siswa adalah nomor siswa.

public class DeklarasiAtribut { private String nama; public boolean lulus = false; String kampus;

}

Method : Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal sebagai fungsi atau prosedur. Sebagai contoh, method yang mungkin tersedia untuk entiti siswa adalah method register.

class DeklarasiMethod { int data; int getData() { return data; } void setData(int data) { this.data = data; } void setMaxData(int data1, int data2) { data = (data1>data2)? data1 : data2; }

}

 

Constructor : sebuah tipe khusus dari method yang digunakan untuk membuat dan menginisialisasi sebuah object baru. Ingat bahwa constructor bukan member (yaitu atribut, method atau inner class dari sebuah object).

class DeklarasiKonstruktor { private int data; public DeklarasiKonstruktor() { data = 100; } DeklarasiKonstruktor (int data) { this.data = data;

}

Package : menunjuk pada pengelompokkan class dan/atau subpackages. Strukturnya dapat disamakan dengan direktorinya.

package registrasi.reports; import registration.processing.*; import java.util.List; import java.lang.*; class Kelasku

{

 

1.2. ENKAPSULASI

      Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut. Manfaat dari proses enkapsulasi antaralain : Modularitas dan Information Hiding


Belajar.java class belajar{ public String x =”Pintar”; private String y = “Java”; } Pintar.Java public class Pintar{ public static void main(String[]args){ Coba panggil = new Belajar(); System.out.println(“Panggil X : “+panggil.x); System.out.println(“Panggil Y : “+panggil.y); }

}

Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar. 

1.3. INERITANSI
Merupakan proses mencipatakan kelas baru dengan mewarisi karakteristik kelas yang telah ada, atau pewarisan dari satu kelas ke kelas lain. Pewarisan adalah mekanisme ampuh yang memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada.Untuk menciptakan kelas baru, hanya perlu menspesifikasikan cara kelas baru itu berbeda dari kelas yang telah ada.

public class A { public A() { } } public class B : A {

public B() { } }


1.4.POLIMORFISME

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya

polimorfisme dapat diimplementasikan adalah :

1.                  Method yang dipanggil harus melalui variabel dari basis class atau superclass.

2.                  Method yang dipanggil harus juga menjadi method dari basis class.

3.                  Signature method harus sama baik pada superclass maupun subclass.

Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
public class BaseClass
{
    public void DoWork() { }
    public int WorkField;
    public int WorkProperty
    {
        get { return 0; }
    }
}

public class DerivedClass : BaseClass


{
    public new void DoWork() { }
    public new int WorkField;
    public new int WorkProperty
    {
        get { return 0; }
    }
}


Page 2