Rumahweb Journal
Banner - belajar php dasar - enkapsulasi php

Belajar PHP Dasar Bagian 12: Apa Itu Enkapsulasi PHP?

Setelah kita belajar construct dan destruct pada sesi belajar PHP dasar bagian 11, dalam artikel ini kami akan menjelaskan secara detail tentang enkapsulasi PHP.

Apa itu Enkapsulasi PHP?

Enkapsulasi PHP adalah konsep dalam pemrograman berorientasi objek (OOP) yang bertujuan untuk melindungi data dan fungsi di dalam sebuah kelas, agar tidak dapat diakses secara langsung dari luar kelas tersebut.

Dengan enkapsulasi, Anda dapat mengontrol bagaimana data diakses dan dimodifikasi, agar manipulasi data dilakukan secara lebih aman. Konsep ini membantu menjaga integritas dan keamanan data dalam aplikasi.

Dalam PHP, terdapat tiga hak akses yang digunakan dalam proses enkapsulasi yaitu Public, Private, dan Protected.

Jenis Enkapsulasi PHP

Dalam PHP, enkapsulasi diterapkan dengan menggunakan pengaturan tingkat akses seperti Public, Private, dan Protected. Berikut penjelasan masing-masing jenisnya.

Public

Method atau property yang diberikan hak akses public dapat dipanggil di dalam maupun di luar dari class tersebut. Sehingga, selama method atau property tersebut telah dideklarasikan, maka dapat dipanggil dari mana saja.

Promo Hosting Murah Rumahweb

Berikut contoh penggunaan enkapsulasi public:

<?php
	class mobil{
		public $jenis = "sedan";
		public $merk = "BMW";
		public $warna = "merah";
		
		function dataMobil(){
			echo "Jenis Mobil : " . $this->jenis . "<br>"; //dipanggil dari dalam class
		}
	}
	class warnaMobil extends mobil { //class turunan dari mobil
		function warnanya(){
			echo "Warna Mobil : ".$this->warna."<br>";
		}
	}
	$mobilsaya = new mobil();
	$mobilsaya->dataMobil(); 
	$warnamobilsaya = new warnaMobil();
	$warnamobilsaya->warnanya();
	echo "Merk Mobil : ".$mobilsaya->merk; //dipanggil dari luar class
?>

Dan ketika diakses muncul seperti ini:

Tampilan contoh enkapsulasi public

Semua pemanggilan berhasil dilakukan karena enkapsulasi menggunakan public.

Protected

Method atau property yang diberikan hak akses protected hanya bisa dipanggil di dalam class tersebut saja, dan class-class yang berasal dari class tersebut. Jadi yang dapat memanggil adalah class itu sendiri, class parent (induk) atau class inherit (yang diwarisi, class di dalam class).

Sedangkan jika dipanggil dari luar class, maka class tersebut akan menemui error karena method atau property tersebut tidak dapat terbaca dari luar.

Berikut contoh penggunaan enkapsulasi protected:

<?php
	class mobil{
		protected $jenis = "sedan";
		protected $merk = "BMW";
		protected $warna = "merah";
		
		function dataMobil(){
			echo "Jenis Mobil : " . $this->jenis . "<br>"; //dipanggil dari dalam class
		}
	}
	class warnaMobil extends mobil { //class turunan dari mobil
		function warnanya(){
			echo "Warna Mobil : ".$this->warna."<br>";
		}
	}
	$mobilsaya = new mobil();
	$mobilsaya->dataMobil(); 
	$warnamobilsaya = new warnaMobil();
	$warnamobilsaya->warnanya();
	echo "Merk Mobil : ".$mobilsaya->merk; //dipanggil dari luar class
?>

Ketika diakses akan muncul tampilan seperti ini:

Tampilan contoh enkapsulasi protected

Pesan error muncul karena memanggil variabel yang terenkapsulasi protected dari luar class tersebut. Sedangkan kalau pemanggilan dilakukan di dalam class maupun turunan class (warnaMobil) dari class utamanya (mobil) dapat muncul.

Private

Method atau property yang diberikan hak akses private hanya dapat dipanggil khusus di dalam class tersebut saja. Tidak dapat dipanggil dari luar class, maupun class induk atau class turunanya.

Contoh penggunaan enkapsulasi private :

<?php
	class mobil{
		private $jenis = "sedan";
		private $merk = "BMW";
		private $warna = "merah";
		
		function dataMobil(){
			echo "Jenis Mobil : " . $this->jenis . "<br>"; //dipanggil dari dalam class
		}
	}
	class warnaMobil extends mobil { //class turunan dari mobil
		function warnanya(){
			echo "Warna Mobil : ".$this->warna."<br>";
		}
	}
	$mobilsaya = new mobil();
	$mobilsaya->dataMobil(); 
	$warnamobilsaya = new warnaMobil();
	$warnamobilsaya->warnanya();
	echo "Merk Mobil : ".$mobilsaya->merk; //dipanggil dari luar class
?>

Dan ketika diakses akan muncul tampilan seperti ini :

Tampilan contoh enkapsulasi private

Data hanya muncul jika pemanggilan dilakukan di dalam class tersebut saja, tidak di class turunanya atau di luar class. Jika dipanggil di class turunanya atau dari luar class akan muncul pesan error tersebut.

Selanjutnya dalam belajar PHP dasar bagian 12, kami akan menjelaskan tentang proses enkapsulasi pada function atau method dalam PHP.

Enkapsulasi pada Function/Method

Enkapsulasi dapat dilakukan untuk function/method juga, dideklarasikan sebelum kata function dibuat dengan fungsi enkapsulasi yang sama. Contoh penggunaanya seperti ini:

public function namafunction(){
	//isi function
}

Dan penerapanya dalam script kira kira seperti ini : 

<?php
	class mobil{
		private $jenis = "sedan";
		private $merk = "BMW";
		private $warna = "merah";
		
		public function jenisnya(){
			echo "Jenis Mobil : " . $this->jenis . "<br>";
		}
		protected function warnanya(){
			echo "Warna Mobil : ".$this->warna."<br>";
		}
		private function merknya(){
			echo "Merk Mobil : ".$this->merk;
		}
		function pemanggilan_merk(){
			return $this->merknya();
		}
	}
	class mobilnya extends mobil {
		function pemanggilan(){
			echo $this->jenisnya();
			echo $this->warnanya();
		}
	}
	echo "Pemanggilan public function <br>";
	$mobilsaya = new mobil();
	$mobilsaya->jenisnya();
	echo "<hr>";
	echo "Pemanggilan protected function (dipanggil dari class turunanya dahulu)<br>";
	$mobildia = new mobilnya();
	$mobildia->pemanggilan();
	echo "<hr>";
	echo "Pemanggilan private function (dipanggil dari function yang bisa diakses diluar class dahulu, lalu function tersebut yang kita panggil)<br>";
	$mobilsaya->pemanggilan_merk();
	echo "<hr>";
?>

Dan ketika diakses muncul tampilan seperti ini:

Tampilan contoh enkapsulasi pada function atau method - belajar php dasar

Kesimpulan

Enkapsulasi dalam PHP terdiri dari tiga jenis hak akses yaitu public, protected, dan private, yang masing-masing memiliki fungsinya sendiri.

Secara umum, enkapsulasi digunakan untuk melindungi dan menyembunyikan data selama proses pengolahan atau penampilannya. Dengan membagi data berdasarkan hak akses, enkapsulasi membantu menjaga keamanan data agar tidak mudah diakses sembarangan dan memastikan proses pengolahan data lebih terorganisir serta terfokus.

Demikian series belajar php dasar untuk pemula bagian 12 mengenai apa itu enkapsulasi PHP. Nantikan seri belajar php dasar selanjutnya dari Rumahweb Indonesia. Semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Cloud Hosting Terbaik Rumahweb

Edi Purnomo

Sedang baik-baik saja. Bagian dari Technical Support Rumahweb juga. Nulis Artikel juga.

banner pop up - Pindah Hosting ke Rumahweb