SlideShare a Scribd company logo
1 of 10
Object Oriented Programming dalam
PHP
Syarat dalam modul ini anda harus memahami function, variable, conditionals (if..else..) dan loop
1. Buat dua file php
class_lib.php
oop2.php
Pada intinya, oop membuat agar listing kode kita bersifat modular, jadi listing kode kita nanti
akan kita masukkan ke dalam beberapa file dan akan kita masukkan ke php utama kita dengan
mempergunakan php ‘include’. Dalam kasus kali ini, oo php akan kita tuliskan kedalam :
class_lib.php
2. Buat class denganmempergunakankeywordclassdiikuti dengannamaclassyanginginkita buat
3. Tambahkan variabel ke dalam class kita
4. Tambahkan function / method ke dalam class kita
Method dipergunakan untuk memanipulasi data/properti dari kelas itu sendiri
5. Fungsi getter dan setter
Kita sudah membuat function get_name() dan set_name().
Method/functioninimengikutiaturan umum dari OOP seperti di bahasa pemrograman lainnya
(java, ruby dll) dimana kita membuat method untuk menge-’set’ dan menge-‘get’ properti
(atribut) dari class. Aturan umum lainnya adalah, nama getter dan setter harus sesuai dengan
nama dari properti.Sehingga,ketika programmer lain ingin memakai object kita, mereka akan
tahu jika kita memiliki function/method set_name() pasti ada properti bernama name.
6. Variabel $this
Pada listing berikut
$this->name = $new_name;
$this adalah variabel built-in(ada pada semua object), yang menunjuk kepada object saat ini.
Dengankata lain$thisadalahspecial self referencingvariabel.Kitamempergunakan $this untuk
mengakses properti dan memanggil method lain dari class.
7. Include class kita kedalam php utama
Kita tidak akan menuliskan class php langsung kedalam halaman php utama kita. Tujuan dari
oop tidakakantercapai.Langkah yangbaikadalahmembuathalamanphplainyang hanyaberisi
class-classkitalalukitaaksesclass-classtersebutdenganmempergunakan include atau require
8. Instantiate/ buat object
Classadalahblueprint/template/cetakandari object.Classtidakakanmenjadiobjectkalautidak
kitainstantiate.Ketikakitameng-instantiatekitamembuatinstance dari objectkedalammemori
9. Keyword new
Untuk membuatobject dari class kita mempergunakan keyword new. Ketika membuat object,
kita bisa memberi kurung setelah nama class bisa juga tidak, seperti pada contoh dibawah
10. Set properti dari object
Kitamempergunakanmethodsetter.Harapdiingatbahwameskipun$stefandan$jimmy dibuat
dari class person keduanya adalah OBJECT yang BERBEDA
11. Mengakses data dari object
Kitamempergunakan getter untuk mengakses data yang tersimpan di object kita…sebenarnya
adalah data yang sama dengan yang kita masukkan dengan mempergunakan setter.
Ketika mengakses properti dan method dari class, kita mempergunakan operator‘->’.
12. Constructor
Semuaobjectbisamemiliki methodbuiltin yang bernama constructor. Dengan constructor kita
dapat menginisialisasi properti dari object kita (memberi nilai kedalam properti) ketika kita
meng-instantiate object.
Note :
Ketika kita membuat __construct (membuat method ini bersifat opsional), php akan
memanggil method __construct()secara otomatis ketika kita meng-instantiate object.
Methodconstruct diawali denganduaunderscore (__) dankata‘construct’diikuti dengandaftar
argument (seperti function)
13. Membuat object dengan construtor
Kita bisa membuat object baru dengan constructor sekaligus memberi nilai ke propertinya,
dalam artian kita tidak lagi memerlukan method setter
14. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’
Salahsatu prinsipfundamental OOPadalahenkapsulasi.Idenyaadalah,kitamembuatkode yang
lebih baik dengan membatasi akses ke struktur data pada object kita (properti)
Ada 3 access modifier, yaitu :
 Public
 Private
 Protected
Public adalah default modifier.Ketika kita mendefine variabel dengan keyword ‘var’, variabel
tersebut dianggap public
15. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’ : bag 2
Ketikakitamendeclare properti menjadi ‘private’,hanyaclassyangsamayang dapat mengakses
properti tersebut.
Ketika properti dideclare ‘protected’, hanya class yang sama dan class turunannya saja yang
dapat mengakses properti tersebut.
Properti yang dideclare ‘public’ tidak memiliki batasan akses, berarti semua orang bisa
mengaksesnya
Coba listing kode dibawah
16. Membatasi akses ke method
Sama dengan properti. Dapat dibatasi dengan mempergunakan 3 modifier yaitu :
 Public
 Private
 Protected
Karena method get_pinn_number() dideclare private, satu-satunya tempat kita bisa
mempergunakan method ini adalah pada class yang sama – dengan kata lain di method yang
lain pada class yang sama. Jika kita ingin memanggil atau mempergunakan method ini secara
langsung maka pergunakan modifier ‘public’.
17. Inheritance
Kita bisa mempergunakan class sebagai dasar bagi class lain
Kenapa?
Agar kita dapat mempergunakan kembali kode yang sebelumnya pernah kita buat
Kita ingin membuat class employee, karena employee adalah jenis dari orang, akan memiliki
properti dan method yang secara umum sama.
Dalam situasi demikian, inheritance dapat membuat kode kita lebih ringan, karena kita
mempergunakan kode yang sama di dua class yang berbeda.
18. Reusing code dengan inheritance : part 2
Karena class ‘employee’ dasarnya adalah class ‘person’,’employee’ secara otomatis akan
memiliki semua properti dan method public serta private dari class ‘person’.
19. Reusing code dengan inheritance : part 3
Kita dapat memanggil method get_name pada object ‘employee’ kita seperti tampak pada
listing kode dibawah
20. Overriding method
Kadangkala ketikamemakai inheritance,kitaperlumerubahoperasi yangdijalankan oleh suatu
method, sehingga method tersebut menjalankan operasi yang berbeda dengan method yang
bernama sama yang ada pada parentnya (class yang di extend)
Misal,methodset_name() padaclass‘employee’ melakukan hal yang berbeda dengan method
set_name() yang ada pada class ‘person’. Kita meng-override set_name versi class ‘person’
dengan cara mendeklarasikan method yang sama di class ‘employee’.
21. Overriding method : part 2
Kadang kala, kita ingin mengakses method class parent kita dari class anak kita. Dalam kasus
diatas, mengakses method set_name() versi class ‘person’ dari method yang ada pada class
‘employee’. Kode yang dipergunakan adalah :
person::set_name($new_name);
22. Overriding method : part 3
Dengan mempergunakan :: kita bisa menyebutkan nama class yang akan diakses php untuk
menjalankansuatumethod –‘person::set_name()’memerintahkan php untuk mencari method
‘set_name()’ pada class ‘person’. Cara lain untuk melakukan hal ini adalah dengan
mempergunakan keyword ‘parent’
Tugas :
Buat class buku dengan properti id_buku, judul_buku, pengarang, penerbit dan tahun terbit
buatkan getternya dan (pilih salah satu) setter/constructor

More Related Content

What's hot

Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Debby Ummul
 
Oop dengan java
Oop dengan javaOop dengan java
Oop dengan javaits
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam phphendrajuniarto
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
Modul prak2 constructor dan overloading
Modul prak2   constructor dan overloadingModul prak2   constructor dan overloading
Modul prak2 constructor dan overloadingwahyuniwulan
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam phphendrajuniarto
 
Laporan Praktikum Pertemuan 1, PBO
Laporan Praktikum Pertemuan 1, PBOLaporan Praktikum Pertemuan 1, PBO
Laporan Praktikum Pertemuan 1, PBOsetyadi_s
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
Object oriented programming dengan php
Object oriented programming dengan phpObject oriented programming dengan php
Object oriented programming dengan phpMateri Kuliah Online
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interfaceRobbie AkaChopa
 
CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1giamuhammad
 

What's hot (20)

9150 8 interface
9150 8  interface9150 8  interface
9150 8 interface
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
 
Oop dengan java
Oop dengan javaOop dengan java
Oop dengan java
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
Modul prak2 constructor dan overloading
Modul prak2   constructor dan overloadingModul prak2   constructor dan overloading
Modul prak2 constructor dan overloading
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
 
Python Programming Basic
Python Programming BasicPython Programming Basic
Python Programming Basic
 
Laporan praktikum jawaban 10 algoritma(1)
Laporan praktikum jawaban 10 algoritma(1)Laporan praktikum jawaban 10 algoritma(1)
Laporan praktikum jawaban 10 algoritma(1)
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Laporan Praktikum Pertemuan 1, PBO
Laporan Praktikum Pertemuan 1, PBOLaporan Praktikum Pertemuan 1, PBO
Laporan Praktikum Pertemuan 1, PBO
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
Tugas resum
Tugas resumTugas resum
Tugas resum
 
Object oriented programming dengan php
Object oriented programming dengan phpObject oriented programming dengan php
Object oriented programming dengan php
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
 
CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1
 

Viewers also liked

Florianópolis tem 30 pontos impróprios para o banho de mar, aponta Fatma
Florianópolis tem 30 pontos impróprios para o banho de mar, aponta FatmaFlorianópolis tem 30 pontos impróprios para o banho de mar, aponta Fatma
Florianópolis tem 30 pontos impróprios para o banho de mar, aponta FatmaTudo Sobre Floripa
 
L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.
L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.
L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.Santesih
 
Valeo Werkstattausrüstung 2014/2015 955660 english catalogue
Valeo Werkstattausrüstung 2014/2015 955660 english catalogueValeo Werkstattausrüstung 2014/2015 955660 english catalogue
Valeo Werkstattausrüstung 2014/2015 955660 english catalogueValeoServiceDeutschland
 
Frugal Innovation - Design for Resilience
Frugal Innovation - Design for ResilienceFrugal Innovation - Design for Resilience
Frugal Innovation - Design for ResilienceEduardo Jezierski
 
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...IJRES Journal
 
Reserva de la Biosfera de la Illa de El Hierro
Reserva de la Biosfera de la Illa de El HierroReserva de la Biosfera de la Illa de El Hierro
Reserva de la Biosfera de la Illa de El HierroMarc_14
 
Zündkerzen und Glühkerzen Katalog 2013 950289
Zündkerzen und Glühkerzen Katalog 2013  950289Zündkerzen und Glühkerzen Katalog 2013  950289
Zündkerzen und Glühkerzen Katalog 2013 950289ValeoServiceDeutschland
 
Standar Dokumentasi Keperawatan
Standar Dokumentasi KeperawatanStandar Dokumentasi Keperawatan
Standar Dokumentasi Keperawatanpjj_kemenkes
 
Catedral de Burgos
Catedral de BurgosCatedral de Burgos
Catedral de BurgosMarc_14
 
GI2016 ppt mayer copernicus_dresden
GI2016 ppt mayer copernicus_dresdenGI2016 ppt mayer copernicus_dresden
GI2016 ppt mayer copernicus_dresdenIGN Vorstand
 

Viewers also liked (13)

Florianópolis tem 30 pontos impróprios para o banho de mar, aponta Fatma
Florianópolis tem 30 pontos impróprios para o banho de mar, aponta FatmaFlorianópolis tem 30 pontos impróprios para o banho de mar, aponta Fatma
Florianópolis tem 30 pontos impróprios para o banho de mar, aponta Fatma
 
Austin trip
Austin tripAustin trip
Austin trip
 
L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.
L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.
L’ image médiatique des sportifs handicapées dans la presse écrite europeénne.
 
Valeo Werkstattausrüstung 2014/2015 955660 english catalogue
Valeo Werkstattausrüstung 2014/2015 955660 english catalogueValeo Werkstattausrüstung 2014/2015 955660 english catalogue
Valeo Werkstattausrüstung 2014/2015 955660 english catalogue
 
Frugal Innovation - Design for Resilience
Frugal Innovation - Design for ResilienceFrugal Innovation - Design for Resilience
Frugal Innovation - Design for Resilience
 
Beleuchtungssysteme
Beleuchtungssysteme Beleuchtungssysteme
Beleuchtungssysteme
 
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
 
Reserva de la Biosfera de la Illa de El Hierro
Reserva de la Biosfera de la Illa de El HierroReserva de la Biosfera de la Illa de El Hierro
Reserva de la Biosfera de la Illa de El Hierro
 
MAPS.ME&iDハンズオン
MAPS.ME&iDハンズオンMAPS.ME&iDハンズオン
MAPS.ME&iDハンズオン
 
Zündkerzen und Glühkerzen Katalog 2013 950289
Zündkerzen und Glühkerzen Katalog 2013  950289Zündkerzen und Glühkerzen Katalog 2013  950289
Zündkerzen und Glühkerzen Katalog 2013 950289
 
Standar Dokumentasi Keperawatan
Standar Dokumentasi KeperawatanStandar Dokumentasi Keperawatan
Standar Dokumentasi Keperawatan
 
Catedral de Burgos
Catedral de BurgosCatedral de Burgos
Catedral de Burgos
 
GI2016 ppt mayer copernicus_dresden
GI2016 ppt mayer copernicus_dresdenGI2016 ppt mayer copernicus_dresden
GI2016 ppt mayer copernicus_dresden
 

Similar to BUKU_CLASS

JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJurnal IT
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceKristanto Wijaya
 
Resume aplinet oop mvc
Resume aplinet oop mvcResume aplinet oop mvc
Resume aplinet oop mvcSam_Azzam
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaIndividual Consultants
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJurnal IT
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingRolly Yesputra
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inteSmkn-2 Pekanbaru
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJurnal IT
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Sugeng Nirwoto
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Sugeng Nirwoto
 
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]resaarisiswo
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervanaris
 
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming LanjutanPart 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming LanjutanRolly Yesputra
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONrahmantoyuri
 
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptxPRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptxannikarimatulf
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objekroy naldo
 

Similar to BUKU_CLASS (20)

JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
 
Resume aplinet oop mvc
Resume aplinet oop mvcResume aplinet oop mvc
Resume aplinet oop mvc
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
 
31322 2 class & object
31322 2 class & object31322 2 class & object
31322 2 class & object
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan intePbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045
 
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
 
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming LanjutanPart 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming Lanjutan
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptxPRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
 
P5 depandi enda
P5 depandi endaP5 depandi enda
P5 depandi enda
 
Moduloop
ModuloopModuloop
Moduloop
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
 
Resume aplinet
Resume aplinetResume aplinet
Resume aplinet
 

More from Abrianto Nugraha (20)

Ds sn is-02
Ds sn is-02Ds sn is-02
Ds sn is-02
 
Ds sn is-01
Ds sn is-01Ds sn is-01
Ds sn is-01
 
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkapPertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
 
04 pemodelan spk
04 pemodelan spk04 pemodelan spk
04 pemodelan spk
 
02 sistem pengambilan-keputusan_revised
02 sistem pengambilan-keputusan_revised02 sistem pengambilan-keputusan_revised
02 sistem pengambilan-keputusan_revised
 
01 pengantar sistem-pendukung_keputusan
01 pengantar sistem-pendukung_keputusan01 pengantar sistem-pendukung_keputusan
01 pengantar sistem-pendukung_keputusan
 
Pertemuan 7
Pertemuan 7Pertemuan 7
Pertemuan 7
 
Pertemuan 7 dan_8
Pertemuan 7 dan_8Pertemuan 7 dan_8
Pertemuan 7 dan_8
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 
Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
 
Pertemuan 2
Pertemuan 2Pertemuan 2
Pertemuan 2
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Modul 1 mengambil nilai parameter
Modul 1   mengambil nilai parameterModul 1   mengambil nilai parameter
Modul 1 mengambil nilai parameter
 
Modul 2 menyimpan ke database
Modul 2  menyimpan ke databaseModul 2  menyimpan ke database
Modul 2 menyimpan ke database
 
Pbo 7
Pbo 7Pbo 7
Pbo 7
 
Pbo 6
Pbo 6Pbo 6
Pbo 6
 
Pbo 4
Pbo 4Pbo 4
Pbo 4
 
Pbo 3
Pbo 3Pbo 3
Pbo 3
 

Recently uploaded

BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptxHendryJulistiyanto
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 

Recently uploaded (20)

BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 

BUKU_CLASS

  • 1. Object Oriented Programming dalam PHP Syarat dalam modul ini anda harus memahami function, variable, conditionals (if..else..) dan loop 1. Buat dua file php class_lib.php oop2.php Pada intinya, oop membuat agar listing kode kita bersifat modular, jadi listing kode kita nanti akan kita masukkan ke dalam beberapa file dan akan kita masukkan ke php utama kita dengan mempergunakan php ‘include’. Dalam kasus kali ini, oo php akan kita tuliskan kedalam : class_lib.php 2. Buat class denganmempergunakankeywordclassdiikuti dengannamaclassyanginginkita buat 3. Tambahkan variabel ke dalam class kita 4. Tambahkan function / method ke dalam class kita Method dipergunakan untuk memanipulasi data/properti dari kelas itu sendiri
  • 2. 5. Fungsi getter dan setter Kita sudah membuat function get_name() dan set_name(). Method/functioninimengikutiaturan umum dari OOP seperti di bahasa pemrograman lainnya (java, ruby dll) dimana kita membuat method untuk menge-’set’ dan menge-‘get’ properti (atribut) dari class. Aturan umum lainnya adalah, nama getter dan setter harus sesuai dengan nama dari properti.Sehingga,ketika programmer lain ingin memakai object kita, mereka akan tahu jika kita memiliki function/method set_name() pasti ada properti bernama name. 6. Variabel $this Pada listing berikut $this->name = $new_name; $this adalah variabel built-in(ada pada semua object), yang menunjuk kepada object saat ini. Dengankata lain$thisadalahspecial self referencingvariabel.Kitamempergunakan $this untuk mengakses properti dan memanggil method lain dari class. 7. Include class kita kedalam php utama Kita tidak akan menuliskan class php langsung kedalam halaman php utama kita. Tujuan dari oop tidakakantercapai.Langkah yangbaikadalahmembuathalamanphplainyang hanyaberisi class-classkitalalukitaaksesclass-classtersebutdenganmempergunakan include atau require 8. Instantiate/ buat object Classadalahblueprint/template/cetakandari object.Classtidakakanmenjadiobjectkalautidak kitainstantiate.Ketikakitameng-instantiatekitamembuatinstance dari objectkedalammemori
  • 3. 9. Keyword new Untuk membuatobject dari class kita mempergunakan keyword new. Ketika membuat object, kita bisa memberi kurung setelah nama class bisa juga tidak, seperti pada contoh dibawah 10. Set properti dari object Kitamempergunakanmethodsetter.Harapdiingatbahwameskipun$stefandan$jimmy dibuat dari class person keduanya adalah OBJECT yang BERBEDA 11. Mengakses data dari object Kitamempergunakan getter untuk mengakses data yang tersimpan di object kita…sebenarnya adalah data yang sama dengan yang kita masukkan dengan mempergunakan setter. Ketika mengakses properti dan method dari class, kita mempergunakan operator‘->’.
  • 4. 12. Constructor Semuaobjectbisamemiliki methodbuiltin yang bernama constructor. Dengan constructor kita dapat menginisialisasi properti dari object kita (memberi nilai kedalam properti) ketika kita meng-instantiate object. Note : Ketika kita membuat __construct (membuat method ini bersifat opsional), php akan memanggil method __construct()secara otomatis ketika kita meng-instantiate object. Methodconstruct diawali denganduaunderscore (__) dankata‘construct’diikuti dengandaftar argument (seperti function)
  • 5. 13. Membuat object dengan construtor Kita bisa membuat object baru dengan constructor sekaligus memberi nilai ke propertinya, dalam artian kita tidak lagi memerlukan method setter 14. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’ Salahsatu prinsipfundamental OOPadalahenkapsulasi.Idenyaadalah,kitamembuatkode yang lebih baik dengan membatasi akses ke struktur data pada object kita (properti) Ada 3 access modifier, yaitu :  Public  Private  Protected Public adalah default modifier.Ketika kita mendefine variabel dengan keyword ‘var’, variabel tersebut dianggap public
  • 6. 15. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’ : bag 2 Ketikakitamendeclare properti menjadi ‘private’,hanyaclassyangsamayang dapat mengakses properti tersebut. Ketika properti dideclare ‘protected’, hanya class yang sama dan class turunannya saja yang dapat mengakses properti tersebut. Properti yang dideclare ‘public’ tidak memiliki batasan akses, berarti semua orang bisa mengaksesnya Coba listing kode dibawah 16. Membatasi akses ke method Sama dengan properti. Dapat dibatasi dengan mempergunakan 3 modifier yaitu :  Public  Private  Protected Karena method get_pinn_number() dideclare private, satu-satunya tempat kita bisa mempergunakan method ini adalah pada class yang sama – dengan kata lain di method yang lain pada class yang sama. Jika kita ingin memanggil atau mempergunakan method ini secara langsung maka pergunakan modifier ‘public’.
  • 7. 17. Inheritance Kita bisa mempergunakan class sebagai dasar bagi class lain Kenapa? Agar kita dapat mempergunakan kembali kode yang sebelumnya pernah kita buat Kita ingin membuat class employee, karena employee adalah jenis dari orang, akan memiliki properti dan method yang secara umum sama. Dalam situasi demikian, inheritance dapat membuat kode kita lebih ringan, karena kita mempergunakan kode yang sama di dua class yang berbeda. 18. Reusing code dengan inheritance : part 2 Karena class ‘employee’ dasarnya adalah class ‘person’,’employee’ secara otomatis akan memiliki semua properti dan method public serta private dari class ‘person’. 19. Reusing code dengan inheritance : part 3 Kita dapat memanggil method get_name pada object ‘employee’ kita seperti tampak pada listing kode dibawah
  • 8. 20. Overriding method Kadangkala ketikamemakai inheritance,kitaperlumerubahoperasi yangdijalankan oleh suatu method, sehingga method tersebut menjalankan operasi yang berbeda dengan method yang bernama sama yang ada pada parentnya (class yang di extend) Misal,methodset_name() padaclass‘employee’ melakukan hal yang berbeda dengan method set_name() yang ada pada class ‘person’. Kita meng-override set_name versi class ‘person’ dengan cara mendeklarasikan method yang sama di class ‘employee’. 21. Overriding method : part 2 Kadang kala, kita ingin mengakses method class parent kita dari class anak kita. Dalam kasus diatas, mengakses method set_name() versi class ‘person’ dari method yang ada pada class ‘employee’. Kode yang dipergunakan adalah : person::set_name($new_name);
  • 9. 22. Overriding method : part 3 Dengan mempergunakan :: kita bisa menyebutkan nama class yang akan diakses php untuk menjalankansuatumethod –‘person::set_name()’memerintahkan php untuk mencari method ‘set_name()’ pada class ‘person’. Cara lain untuk melakukan hal ini adalah dengan mempergunakan keyword ‘parent’
  • 10. Tugas : Buat class buku dengan properti id_buku, judul_buku, pengarang, penerbit dan tahun terbit buatkan getternya dan (pilih salah satu) setter/constructor