PWPB | Enkapsulasi OOP PHP
Enkapsulasi PHP
Assalamualaikum wr wb, kembali lagi di blog saya. Pada kali ini saya membagikan sedikit materi mengenai enkapsulasi pada PHP tepatnya pada OOP PHP. Langsung saja ke materinya ,sebelum itu siapkan seperti biasa text editor,dan XAMPP nya.
Pengertian Enkapsulasi
Enkapsulasi adalah adalah salah satu yang paling terpenting di dalam pemrograman berorientasi objek(OOP). karena tahap enkapsulasi lah yang menentukan pemberian hak akses pada setiap property atau method. Enkapsulasi juga merupakan adalah metode untuk mengatur struktur pada class. dengan tujuan untuk menentukan hak akses pada property atau method. Enkapsulasi ini bertujuan untuk menyembunyikan informasi dari method dan property dengan alasan keamanan.
Mungkin cukup sekian materi yang dapat saya berikan semoga bermanfaat dan bisa membantu teman teman yang merasa kesulitan engenai materi ini. Mohon maaf bila ada kesalahan wassalamualaikum wr wb
Pengertian Enkapsulasi
Enkapsulasi adalah adalah salah satu yang paling terpenting di dalam pemrograman berorientasi objek(OOP). karena tahap enkapsulasi lah yang menentukan pemberian hak akses pada setiap property atau method. Enkapsulasi juga merupakan adalah metode untuk mengatur struktur pada class. dengan tujuan untuk menentukan hak akses pada property atau method. Enkapsulasi ini bertujuan untuk menyembunyikan informasi dari method dan property dengan alasan keamanan.
Studi Kasus
Pada studi kasus kali ini saya akan memberi contoh kodingan yang menggunakan konsep OOP dan menggunakan enkapsulasi . Langsung saja ke kodingannya
class HewanPeliharaan.php
Penjelasan : di class ini semua variable dibuat private agar dijaga keamanannya, setelah itu kita enkapsulasi variable yang private agar bisa diakases oleh class lain.
class KelompokMakan.php
Penjelasan : di class ini variablenya saya bikin protected dikarenakan biar lebih mudah aja diakses nya oleh class turunannya tapi keamanan datanya tetap terjaga. di class ini juga ada interface dan pengimplementasiannya.
class index.php
Pada studi kasus kali ini saya akan memberi contoh kodingan yang menggunakan konsep OOP dan menggunakan enkapsulasi . Langsung saja ke kodingannya
class HewanPeliharaan.php
<?php
include 'KelompokMakan.php';
class HewanPeliharaan extends KelompokMakan{
private $nama;
private $jenis;
public function setNama($nama){
$this->nama = $nama;
}
public function setJenisHewan($jenis){
$this->jenis = $jenis;
}
public function getNama() {
return $this->nama;
}
public function getJenisHewan(){
return $this->jenis;
}
public function bersuara() {
$jenis = $this->jenis;
switch($jenis) {
case 'Kucing' : return '<audio src="assets/sound/kucing.mp3" controls></audio>';
case 'Domba' : return '<audio src="assets/sound/domba.mp3" controls></audio>';
case 'Ular' : return '<audio src="assets/sound/ular.mp3" controls></audio>';
case 'Beruang' : return '<audio src="assets/sound/beruang.mp3" controls></audio>';
}
}
public function berkembangbiak(){
$jenis = $this->jenis;
switch($jenis) {
case 'Kucing' : return 'Vivipar';
case 'Domba' : return 'Vivipar';
case 'Ular' : return 'Ovovivipar';
case 'Beruang' : return 'Vivipar';
}
}
public function habitat(){
$jenis = $this->jenis;
switch($jenis) {
case 'Kucing' : return 'Darat';
case 'Domba' : return 'Darat';
case 'Ular' : return 'Amfibi';
case 'Beruang' : return 'Darat';
}
}
public function __CONSTRUCT ($nama,$jenis,$makanan){
$this->nama=$nama;
$this->jenis=$jenis;
$this->makanan=$makanan;
}
}
?>
Penjelasan : di class ini semua variable dibuat private agar dijaga keamanannya, setelah itu kita enkapsulasi variable yang private agar bisa diakases oleh class lain.
class KelompokMakan.php
<?php
// Deklarasi Interface Makan
interface makan{
public function jenis();
}
// Mengimplementasi Interface Makan
class KelompokMakan implements makan{
protected $makanan;
public function jenis(){
$makanan = $this->makanan;
switch($makanan) {
case 'Segala' : return 'Omnivora';
case 'Daging' : return 'Karnivora';
case 'Rumput' : return 'Herbivora';
}
}
}
?>
Penjelasan : di class ini variablenya saya bikin protected dikarenakan biar lebih mudah aja diakses nya oleh class turunannya tapi keamanan datanya tetap terjaga. di class ini juga ada interface dan pengimplementasiannya.
class index.php
<?php
include 'HewanPeliharaan.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Studi Kasus OOP PHP</title>
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
<center>
<h1>Daftar Hewan OOP PHP</h1>
<table border="1" width="50%" cellspacing="0">
<tr>
<th>Foto</th>
<th>Nama</th>
<th>Jenis</th>
<th>Suara</th>
<th>Tipe</th>
<th>Berkembang</th>
<th>Habitat</th>
</tr>
<tr align="center" class="cat">
<td><img src="assets/img/cat.png" width="90"></td>
<?php $sato1 = new HewanPeliharaan('Kitty','Kucing','Daging');
echo '
<td>'.$sato1->getNama().'</td>
<td>'.$sato1->getJenisHewan().'</td>
<td>'.$sato1->bersuara().'</td>
<td>'.$sato1->jenis().'</td>
<td>'.$sato1->berkembangbiak().'</td>
<td>'.$sato1->habitat().'</td>';
?>
</tr>
<tr align="center" class="domba">
<td><img src="assets/img/domba.png" width="90"></td>
<?php $sato2 = new HewanPeliharaan('Beni','Domba','Rumput');
echo '
<td>'.$sato2->getNama().'</td>
<td>'.$sato2->getJenisHewan().'</td>
<td>'.$sato2->bersuara().'</td>
<td>'.$sato2->jenis().'</td>
<td>'.$sato2->berkembangbiak().'</td>
<td>'.$sato2->habitat().'</td>';
?>
</tr>
<tr align="center" class="snake">
<td><img src="assets/img/snake.png" width="90"></td>
<?php $sato3 = new HewanPeliharaan('Manda','Ular','Daging');
echo '
<td>'.$sato3->getNama().'</td>
<td>'.$sato3->getJenisHewan().'</td>
<td>'.$sato3->bersuara().'</td>
<td>'.$sato3->jenis().'</td>
<td>'.$sato3->berkembangbiak().'</td>
<td>'.$sato3->habitat().'</td>';
?>
</tr>
<tr align="center" class="bear">
<td><img src="assets/img/bear.png" width="90"></td>
<?php $sato4 = new HewanPeliharaan('Makarov','Beruang','Segala');
echo '
<td>'.$sato4->getNama().'</td>
<td>'.$sato4->getJenisHewan().'</td>
<td>'.$sato4->bersuara().'</td>
<td>'.$sato4->jenis().'</td>
<td>'.$sato4->berkembangbiak().'</td>
<td>'.$sato4->habitat().'</td>';
?>
</tr>
</table>
</center>
</body>
</html>
Penjelasan : di class index ini kita hanya pemanggilan objek dari class HewanPeliharaan untuk ditampilkan di broswer
Hasil Dari Kodingan di atas :
Mungkin cukup sekian materi yang dapat saya berikan semoga bermanfaat dan bisa membantu teman teman yang merasa kesulitan engenai materi ini. Mohon maaf bila ada kesalahan wassalamualaikum wr wb

0 Comments