Mengenal Pemrograman Berorientasi Objek | Object

Setelah pada artikel sebelumnya kita belajar tentang method, mari kita mengenal objek. Objek merupakan bentuk instance dalam oop, tanpa objek ini kita tidak memanggil property atau method yang ada di dalam sebuah class. Objek kita buat dengan format :

$namaObjek = new namaClass();

$namaObjek merupakan variabel yang kita buat dan nantinya kita anggap sebagai objek dari sebuah class.

Di format contoh atas namaObjek dan namaClass terserah dari kita sendiri. Sedangkan "= new" merupakan sebuah ketentuan yang harus ada. Pemanggilan nama suatu class juga harus disertai dengan ()

Perhatikan sebuah contoh class Buku berikut :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }
?>

Mari kita buat objek dari class tersebut!

Remember this! Objek harus dibuat di luar scoop dari class. Batas dari sebuah class adalah kurung kurawal / {}. Sebagai contoh, kita akan membuat objek dengan nama $bukuSejarah. Sehingga baris kode kita menjadi :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku();
?>

Objek hanya boleh di buat di luar batas class. Batas dari class sendiri adalah kurung kurawal.

 Yeay 😇😍

Sampai disini kita telah berhasil membuat sebuah objek dari class Buku {}. Selamat ya...

Selanjutnya dengan objek yang telah kita buat ini, kita bisa melakukan operasi terhadap apapun yang ada dalam class tersebut. Salah satunya adalah memberikan value atau nilai kepada properties yang ada di dalam class.

Bagaimana caranya ?

Untuk mengakses property kita tuliskan lagi nama objek yang telah kita buat diikuti dengan tanda panah ( → ) kemudian nama property tersebut. Contoh :

$namaObjek→property;

Sehingga dalam kode kita menambah satu baris :

    $bukuSejarah = new Buku();
    $bukuSejarah->nama;

Lalu bagaimana untuk property lainnya? Mudah saja! Lakukan hal yang sama di baris berikutnya untuk mengaksesnya, tapi perlu diingat bahwa "tidak perlu menyertakan tanda $".

Untuk memberikan value / nilai, tambahkan sama dengan diikuti dengan nilai yang kita inginkan. Lihat contoh dibawah ini :

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI";

Sip, bagus! Kita telah berhasil mengisikan value pada property $nama yang ada dalam class Buku {}.

Untuk kode lengkapnya, lihat dibawah ini!

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI";
?>

Kita simpan kode di htdocs, kemudian panggil dengan browser kesayangan kita masing-masing :)

Hasilnya :

Masih kosong :(
Eits, tapi kode kita tidak salah. Itu sudah benar!
Ingat kembali bahwa dalam PHP, untuk mencetak sesuatu ke layar kita menggunakan perintah echo

Sudah adakah kata echo yang kita ketik? Belum ya!

Sekarang tambahkan satu baris kode mengakses property yang di awali dengan perintah echo :

echo $bukuSejarah->nama;

Kode lengkap kita menjadi :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI";
    echo $bukuSejarah->nama;
?>

Refresh browser kita, maka :

Yaaayyy!
Berhasil tampil nih tulisah "Sejarah Kemerdekaan RI"

Muncul sebuah pertanyaan, kalau saya ingin menampilkan dua atau lebih data buku bagaimana ? Apakah dengan menuliskan objek dan value lain di bawahnya ?
Yaa mari kita coba dulu ya. Anggap kita ingin menampilkan buku Sejarah Kemerdekaan RI dan UUD 1945.

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI";
    $bukuSejarah->nama = "UUD 1945";
    echo $bukuSejarah->nama;

Apa hasilnya ? Cek dengan browser kita!

Wah, ternyata value sebelumnya jadi hilang 😕
Solusinya 🙋
Setidaknya ada dua cara untuk menampilkan value yang berbeda untuk satu property yang sama. Yaitu dengan menuliskan perintah echo di bawah setiap objek saat kita memberikan value atau membuat objek baru.

Emang bisa membuat objek lebih dari satu untuk sebuah class!? Bisa dan boleh dong 😎
Pertama, menambah echo di setiap bawah objek :

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI";
    echo $bukuSejarah->nama;
    $bukuSejarah->nama = "UUD 1945";
    echo $bukuSejarah->nama;

Mari kita buka kembali browser kita dan refresh!

Horeeee 😁😎😍
Yap, we did it! Tapi tulisannya bergabung :(
Kita coba ubah ya dengan menambahkan perintah tag html <br> :

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI<br>";
    echo $bukuSejarah->nama;
    $bukuSejarah->nama = "UUD 1945";
    echo $bukuSejarah->nama;

Apa hasilnya ?

Horeeee, we did it! 😇

Kode lengkapnya :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku(); // membuat objek $bukuSejarah
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI<br>";
    echo $bukuSejarah->nama;
    $bukuSejarah->nama = "UUD 1945";
    echo $bukuSejarah->nama;
?>


Kedua, membuat objek baru dari class Buku {}

Kita kembalikan kode kita seperti sebelum menambahkan echo dan value baru menjadi :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI<br>";
    echo $bukuSejarah->nama;
?>

Kemudian kita membuat objek baru dengan nama $bukuPelajaran di bawah echo dan sekaligus tambahkan value untuk property $nama :

    $bukuPelajaran = new Buku();
    $bukuPelajaran->nama = "Buku Matematika Kelas XI";

Kode kita menjadi :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI<br>";
    echo $bukuSejarah->nama;

    $bukuPelajaran = new Buku();
    $bukuPelajaran->nama = "Buku Matematika Kelas XI";
?>

Terlihat sekarang kita memiliki dua buah objek dari class yang sama, yaitu $bukuSejarah dan $bukuPelajaran. Kurang satu baris lagi, yaitu perintah echo di bawah objek $bukuPelajaran. Mari tambahkan :

<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI<br>";
    echo $bukuSejarah->nama;

    $bukuPelajaran = new Buku();
    $bukuPelajaran->nama = "Buku Matematika Kelas XI";
    echo $bukuPelajaran->nama;
?>

Sekarang mari kita lihat hasilnya di browser!


Yap! Berhasil lagi 😍😇
Mari lengkapi kodenya dengan keterangan yang pasti, menjadi :
<?php
    class Buku {
        var $nama;
        var $penulis;
        var $penerbit;
        var $tahunTerbit;  
    }

    echo "DATA BUKU SAYA<br>";
    $bukuSejarah = new Buku();
    $bukuSejarah->nama = "Sejarah Kemerdekaan RI<br>";
    echo "Buku Sejarah : ".$bukuSejarah->nama;

    $bukuPelajaran = new Buku();
    $bukuPelajaran->nama = "Buku Matematika Kelas XI";
    echo "Buku Pelajaran : ".$bukuPelajaran->nama;
?>

Mari cek hasilnya :

Sip! Selesai deh materi kita terkait objek kali ini :)
Sekarang cobalah kalian lanjutkan untuk mengisi seluruh properties yang ada dalam class Buku {} diatas.

Good luck! Selamat belajar....


Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama