MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

dokumen-dokumen yang mirip
MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Pertemuan 11 Object Oriented Program

Object Oriented Programming LOGO

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

PRAKTIKUM OBJECT ORIENTED PROGRAMING

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Pemrograman Berorientasi Objek Dengan PHP5

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Bahasa Pemograman II. Object Oriented Programming

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

MODUL PRAKTIKUM I PEMOGRAMAN BERORIENTASI OBJEK DENGAN PHP

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

BAB VIII Dasar pemrograman beorientasi object dengan PHP

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

STRUKTUR DENGAN ARRAY DAN FUNCTION

Michael Lionardi

Robby Cokro Buwono. Badiyanto, S.Kom.,M.Kom. Sesi 12. Memahami cara membuat aplikasi dasar PHP dengan OOP

PRAKTIKUM I Class dan Obyek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Konsep Pemrograman Berbasis Obyek

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

Pertemuan4 Konsep Object Oriented Programming pada Python

Konsep Pemrograman Berorientasi Obyek

PertemuanI. Object Oriented

Modul II Object Oriented Programming

Mengenal Object Oriented Programming (OOP)

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Inheritance dan Kata Kunci static

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

DASAR PEMROGRAMAN. Konsep Pemrograman Berorientasi Objek. Yoannita

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

PEMROGRAMAN JAVA. Yoannita. Konsep Pemrograman Berorientasi Objek. Company LOGO

PEMROGRAMAN PHP DASAR

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Object Oriented Programming 1

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

KONSEP OBJEK ORIENTASI PROGRAM

Inheritance dan Polimorfisme

Object OOP. Polymor phism

PENGENALAN JAVA (2)

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Pemrograman Berorientasi Obyek. Ramos Somya

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Pemrograman Web. Object Oriented Programming in PHP 5

Inheritance (Pewarisan) Pengertian dasar inheritance

Inheritance dan Polimorfisme

BAB III PERANCANGAN PROGRAM

APLIKASI PERHITUNGAN GAJI PEGAWAI DENGAN JAVA Disusun untuk memenuhi tugas matakuliah Pemrograman JavaIII

Paradigma Pemrograman Berorientasi Objek

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

Fakultas Teknologi Informasi UJIAN AKHIR SEMESTER GENAP TAHUN AJARAN 2011/2013

OBJECT ORIENTED PROGRAMMING

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Sanksi Pelanggaran Pasal 72 Undang-undang Nomor 19 Tahun 2002 Tentang Hak Cipta 1. Barangsiapa dengan sengaja melanggar dan tanpa hak melakukan

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

PEWARISAN D E W I S A R T I K A, M. K O M

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Praktikum 3 Konsep Class, Attribute dan Method

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

Konsep dan Teknik Menguasai Modern OOP di PHP. Awan Pribadi Basuki CV. LOKOMEDIA

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

PEMROGRAMAN BERORIENTASI OBJEK

Object OrientedProgramming

BAB II LANDASAN TEORI

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

KONTRAK BELAJAR. Nama Mata Kuliah : Web Dinamis Lanjut Kode Mata Kuliah : IKB : Wahyu Widodo, S.Kom Semester : 5

Algoritma Pemrograman 2C

JOBSHEET 8 INHERITANCE (PEWARISAN)

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

PEMROGRAMAN BERORIENTASI OBJEK

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

MODUL 1 PENGENALAN OOP

PEMBUATAN APLIKASI PERHITUNGAN TRANSAKSI DENGAN JAVA

Modul Bahasa Pemrograman 1

Pengenalan Algoritma

Pemrograman Berorientasi Obyek. Konsep OOP

Erick Kurniawan, S.Kom, M.Kom

PEMOGRAMAN WEB II MODUL. Oleh: CHALIFA CHAZAR MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

KELAS DAN OBJEK KELAS

Transkripsi:

1 MODUL PEMOGRAMAN WEB II Oleh: CHALIFA CHAZAR

2 MODUL 9 Kelas dan Objek Tujuan: Mahasiswa memahami penggunaan model pemograman berorintasi objek (OOP - Object Oriented Programming) untuk menyelesaikan permasalahan tertentu dalam kode PHP. Pustaka: Raharjo, B. (2015): Mudah Belajar PHP Teknik Penggunaan Fitur-Fitur Baru Dalam PHP 5. Informatika. Bandung Prasetio, A. (2015): Buku Pintar Webmaster. www.w3schools.com Dalam PHP, terdapat dua model pemograman, yaitu model pemograman prosedural dan model pemograman berorientasi objek (OOP - Object Oriented Programming). Pada modul-modul sebelumnya kita menggunakan model pemograman prosedural untuk menuliskan contohcontoh kode program. 1. Pengertian Kelas dan Objek Inti dari pemograman berorientasi objek adalah pembentukan kelas. Kelas merupakan model atau abstraksi yang merepresentasikan objek-objek yang ada di dalam dunia nyata. Kelas juga dapat didefinisikan sebagai kerangka atau cetak-biru (blueprint) dari suatu objek tertentu. Setiap objek memiliki data dan kemampuan. Contohnya, objek mobil. Mobil memiliki data berupa tahun pembuatan, merek, tipe, warna, nomor polisi, dan lain-lain. Selain data, mobil juga memiliki kemampuan seperti, maju, berhenti, mundur, belok kanan, belok kiri, dan lain-lain. Dalam konteks pemograman, data yang dimiliki oleh suatu objek disebut sebagai properti (atau atribut) dan kemampuan objek disebut sebagai metode. Properti direpresentasikan menggunakan variabel, sedangkan metode direpresentasikan menggunakan fungsi.

3 Proses pembentukan kelas dalam hal ini sebenarnya adalah proses memodelkan data dan kemampuan dari suatu objek ke dalam bentuk kode. Pemograman berorientasi objek merupakan pemograman yang tersusun oleh banyak kelas, yang selanjutnya diinstansiasi menjadi objek. Program Kelas 1 Kelas 2... Program Utama Esensinya, kelas adalah tipe data bentukan. Setiap kita mendefinisikan kelas maka kita membentuk suatu tipe data baru yang masih bersifat abstrak. Contoh nyata dari kelas disebut instace, atau dikenal juga dengan istilah objek. Perhatikan contoh berikut ini. //contoh kelas class Mobil { public $tahun; public $merek; public $tipe; public $warna; public function nyalakanmesin() { //... public function matikanmesin() { //... public function maju() { //... public function berhenti() { //... //contoh objek $mobil1 = new Mobil(); $mobil1->tahun = 2016; $mobil1->merek = "Toyota Inova"; $mobil1->tipe = "GX"; $mobil1->warna = "Grey"; $mobil1->nyalakanmesin(); $mobil1->maju(); $mobil1->berhenti();

4 Pada kode di atas, Mobil adalah kelas. Perintah new Mobil() akan menciptakan instance (objek) dari kelas Mobil dan memasukan objek tersebut ke variabel bertipe referensi dengan nama $mobil1. Maka, $mobil1 dapat dikatakan sebagai objek. 2. Prinsip Dasar dalam Pemograman Berorientasi Objek Suatu bahasa pemograman yang mendukung pemograman berorientasi objek harus dapat mengimplementasikan 3 prinsip dasar dari konsep-konsep berikut ini. Pembungkusan (encapsulation) Pewarisan (inheritance) Polimorfisme (polymorphism) 2.1 Pembungkusan Pembukusan adalah konsep penggabungan properti dan metode ke dalam suatu entitas tunggal yang disebut kelas. Saat kita membuat kelas, maka kita sedang mengimplementasikan konsep pembukusan. Dalam mendefinisikan suatu kelas, terdapat suatu ketentuan yang mengatur tingkat akses dari properti atau metode. Tingkat akases ini akan menentukan bagaimana properti atau metode dapat diakses dari lingkungan di luar kelas. Dalam PHP, penentuan tingkat akses (access-specifier) dibagi menjadi 3 jenis, yaitu: private, protected, dan public. Tingkat Akses pivate Properti dan metode di dalam suatu kelas yang didefinisikan dengan tingkat akses private hanya dapat diakses oleh kelas yang bersangkutan. Kelas lain (meskipun kelas turunan) dan kode lain di luar kelas tidak diizinkan untuk mengakses properti dan metode tersebut. class A { private $a1; $obj = new A(); $obj->a1 = 2; //obj tidak dapat mengakses class A()

5 Tingkat Akses protected Properti dan metode di dalam suatu kelas yang didefinisikan dengan tingkat akses protected akan dapat diakses oleh kelas yang bersangkutan dan kelas-kelas lain yang masih merupakan kelas turunan. Kode luar dan kelas lain yang bukan kelas turunan tetap tidak diizinkan untuk mengakses data dan fungsi tersebut. class A { protected $a2; class B extends A { public seta($nilai) { $this->a2 = 2; //dapat mengakses $a2 karena kelas B merupakan turunan dari kelas A $obj = new A(); $obj->a2 = 2; //obj tidak dapat mengakses class A() Tingkat Akses public Properti dan metode di dalam suatu kelas yang didefinisikan dengan tingkat akses public akan dapat diakses oleh seluruh kelas yang ada, baik di dalam kelas itu sendiri, kelas turunan, maupun kelas lain yang bukan turunan, bahkan oleh kode (non-kelas) lainnya.

6 Perhatikan contoh berikut ini. class A { public $a3; //mengakses $a3 dari kelas turunan class B extends A { public function seta($nilai) { $this->a3 = nilai; //mengakses $a3 dari kelas lain class C { public function seta($nilai) { A::$a3 = nilai; // mengkases $a3 dari kode $obj = new A(); $obj->a3 = 2; 2.2. Pewarisan Pewarisan adalah proses pembentukan kelas baru yang diturunkan dari kelas-kelas lain yang sebelumnya sudah ada. Kelas turunan secara otomatis akan mewarisi sifat-sifat yang dimiliki oleh kelas induk. 2.3. Polimorfisme Polimorfisme adalah suatu kejadian dimana suatu objek yang didefinisikan menggunakan kelas induk dapat berperan sebagai objek dari kelas-kelas turunan. Dengan demikian objek tersebut memiliki banyak bentuk (dapat melakukan banyak hal yang berbeda melalui cara yang sama). 3. Mendefinisikan Kelas Kelas didefinisikan menggunakan kata kunci class, dan diikuti dengan nama kelasnya. Badan kelas dibuat menggunakan tanda { dan.

7 Perhatikan contoh berikut ini. class NamaKelas { private $propertiprivate1;... protected $propertiprotected1;... public $propertipublic1;... public function NamaMetode1($param,...) { //isi metode... Contoh kelas sederhana //mendefinisikan kelas class Balok { //properti public $panjang; public $lebar; public $tinggi; //membuat objek dari kelas Balok $obj = new Balok(); //mengisi nilai ke dalam properti objek $obj->panjang = 6; $obj->lebar = 4; $obj->tinggi =2; //menghitung volume $volume = $obj->panjang * $obj->lebar * $obj->tinggi; //menampilkan volume echo "Volume Balok: ". $volume; 4. Mendefinisikan Metode Seperti yang tela disebutkan bahwa metode merepresentasikan kemampuan atau operasi yang dapat dilakukan oleh suatu objek. Pada contoh sebelumnya operasi perhitungan volume masih dilakukan di luar kelas. Operasi tersebut sebenarnya bisa dilakukan di dalam kelas, yaitu dengan mendefinisikannya sebagai metode.

8 Perhatikan contoh berikut ini. //mendefinisikan kelas class Balok { //properti public $panjang; public $lebar; public $tinggi; //mendefinisikan metode public function volume() { return $this->panjang * $this->lebar * $this->tinggi; //membuat objek dari kelas Balok $obj = new Balok(); //mengisi nilai ke dalam properti objek $obj->panjang = 6; $obj->lebar = 4; $obj->tinggi =2; //menghitung volume $volume = $obj->volume(); //menampilkan volume echo "Volume Balok: ". $volume; Anda juda dapat memasukan operasi lainnya, misalnya mencetak nilai volume ke dalam balok. Melalui cara seperti ini, kode di luar kelas hanya perlu memanggil metode untuk menampilkan nilai volume ke layar. Tugas 1 Coba lakukan perubahan pada contoh class Balok() diatas, sehingga untuk mencetak nilai volume dilakukan dengan menggunakan metode. 5. Menggunakan Kata Kunci private Dalam merancang suatu kelas, pada umumnya data atau variabel tidak boleh langsung diakses dari kode di luar kelas. Maka dari itu, kita perlu mendeklarasikannya dengan tingkat akses private. Oleh sebab itu untuk mengakses variabel-variabel di dalamnya kita perlu mendefinisikan metode yang berperan sebagai antarmuka atau jembatan antara data private di dalam kelas dengan kode di luar kelas.

9 Tugas 2 Coba lakukan perubahan pada contoh class Balok() diatas ke dalam akses private, sehingga untuk mengakses variabel-variabel dilakukan melalui suatu antarmuka. 6. Mendefinisikan Konstruktor Konstruktor adalah metode khusus yang akan dipanggil secara otomatis ketika suatu objek dari kelas tertentu dibuat. Konstruktor biasanya digunakan untuk melakukan inisialisasi atau pengisian nilai awal terhadap properti-properti yang terdapat di dalam suatu objek. Dalam PHP, konstruktor didefinisikan menggunakan fungsi construct(). 7. mendefinisikan Destruktor PHP menyediakan fasilitas Garbage Collector (GC) yang akan membuang objek secara otomatis ketika kode selesai dieksekusi atau suatu objek dari kelas tertentu sudah tidak lagi diacu oleh referensi manapun. Destruktor adalah kebalikan dari konstruktor, yang akan dipanggil secara otomatis sesaat sebelum objek dibuang dari memori oleh GC. Destruktor umumnya digunakan ketika mendefinisikan sebuah objek baru di dalam konstruktor. Bisa juga digunakan ketika kita mengakses file atau database di dalam konstruktor, dan kita ingin menutup file atau koneksi database tersebut melalui destruktor. Dalam PHP, destruktor didefinisikan menggunakan fungsi destruct().