{"id":51815,"date":"2024-12-05T16:13:50","date_gmt":"2024-12-05T09:13:50","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=51815"},"modified":"2025-02-12T08:42:54","modified_gmt":"2025-02-12T01:42:54","slug":"belajar-php-dasar-12","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/belajar-php-dasar-12\/","title":{"rendered":"Belajar PHP Dasar Bagian 12: Apa Itu Enkapsulasi PHP?"},"content":{"rendered":"\n<p>Setelah kita belajar <em>construct <\/em>dan <em>destruct<\/em> pada sesi belajar PHP dasar <strong><a href=\"https:\/\/www.rumahweb.com\/journal\/belajar-php-dasar-11\/\" target=\"_blank\" rel=\"noopener\" title=\"\">bagian 11<\/a><\/strong>, dalam artikel ini kami akan menjelaskan secara detail tentang enkapsulasi PHP. <\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Enkapsulasi PHP?<\/h2>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Dalam <a href=\"https:\/\/blog.rumahweb.com\/php-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"php adalah\">PHP<\/a>, terdapat tiga hak akses yang digunakan dalam proses enkapsulasi yaitu <em>Public<\/em>, <em>Private<\/em>, dan <em>Protected<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jenis Enkapsulasi PHP<\/h2>\n\n\n\n<p>Dalam PHP, enkapsulasi diterapkan dengan menggunakan pengaturan tingkat akses seperti <em>Public<\/em>, <em>Private<\/em>, dan <em>Protected<\/em>. Berikut penjelasan masing-masing jenisnya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Public<\/em><\/h3>\n\n\n\n<p><em>Method <\/em>atau <em>property <\/em>yang diberikan hak akses <em>public <\/em>dapat dipanggil di dalam maupun di luar dari <em>class <\/em>tersebut. Sehingga, selama <em>method <\/em>atau <em>property <\/em>tersebut telah dideklarasikan, maka dapat dipanggil dari mana saja. <\/p>\n\n\n\n<p>Berikut contoh penggunaan enkapsulasi <em>public<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\tclass mobil{\n\t\tpublic $jenis = \"sedan\";\n\t\tpublic $merk = \"BMW\";\n\t\tpublic $warna = \"merah\";\n\t\t\n\t\tfunction dataMobil(){\n\t\t\techo \"Jenis Mobil : \" . $this-&gt;jenis . \"&lt;br&gt;\"; \/\/dipanggil dari dalam class\n\t\t}\n\t}\n\tclass warnaMobil extends mobil { \/\/class turunan dari mobil\n\t\tfunction warnanya(){\n\t\t\techo \"Warna Mobil : \".$this-&gt;warna.\"&lt;br&gt;\";\n\t\t}\n\t}\n\t$mobilsaya = new mobil();\n\t$mobilsaya-&gt;dataMobil(); \n\t$warnamobilsaya = new warnaMobil();\n\t$warnamobilsaya-&gt;warnanya();\n\techo \"Merk Mobil : \".$mobilsaya-&gt;merk; \/\/dipanggil dari luar class\n?&gt;<\/code><\/pre>\n\n\n\n<p>Dan ketika diakses muncul seperti ini:<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXf0hIw-XxnbfKQMsn2RK44CUa5-Ud8DL9FW1aYFI7UTTEoM8QVAuMl0GOPa1ssKw2EK7YtHsoAWeUxlkIgjLcpDBk54Nj3W0xdUgIeWCjp1Va0Qg35LZfIpLZawMvlGwbAeq3slTQ?key=uilXPniCTZSuS8kHgzui_g\" alt=\"Tampilan contoh enkapsulasi public\" style=\"width:523px;height:auto\"\/><\/figure>\n\n\n\n<p>Semua pemanggilan berhasil dilakukan karena enkapsulasi menggunakan <em>public<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Protected<\/em><\/h3>\n\n\n\n<p><em>Method <\/em>atau <em>property <\/em>yang diberikan hak akses <em>protected <\/em>hanya bisa dipanggil di dalam <em>class<\/em> tersebut saja, dan <em>class-class<\/em> yang berasal dari <em>class <\/em>tersebut. Jadi yang dapat memanggil adalah <em>class <\/em>itu sendiri, <em>class parent <\/em>(induk) atau <em>class inherit <\/em>(yang diwarisi, <em>class <\/em>di dalam <em>class<\/em>). <\/p>\n\n\n\n<p>Sedangkan jika dipanggil dari luar <em>class<\/em>, maka <em>class <\/em>tersebut akan menemui error karena <em>method <\/em>atau <em>property <\/em>tersebut tidak dapat terbaca dari luar.<\/p>\n\n\n\n<p>Berikut contoh penggunaan enkapsulasi <em>protected<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\tclass mobil{\n\t\tprotected $jenis = \"sedan\";\n\t\tprotected $merk = \"BMW\";\n\t\tprotected $warna = \"merah\";\n\t\t\n\t\tfunction dataMobil(){\n\t\t\techo \"Jenis Mobil : \" . $this-&gt;jenis . \"&lt;br&gt;\"; \/\/dipanggil dari dalam class\n\t\t}\n\t}\n\tclass warnaMobil extends mobil { \/\/class turunan dari mobil\n\t\tfunction warnanya(){\n\t\t\techo \"Warna Mobil : \".$this-&gt;warna.\"&lt;br&gt;\";\n\t\t}\n\t}\n\t$mobilsaya = new mobil();\n\t$mobilsaya-&gt;dataMobil(); \n\t$warnamobilsaya = new warnaMobil();\n\t$warnamobilsaya-&gt;warnanya();\n\techo \"Merk Mobil : \".$mobilsaya-&gt;merk; \/\/dipanggil dari luar class\n?&gt;<\/code><\/pre>\n\n\n\n<p>Ketika diakses akan muncul tampilan seperti ini:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfIuYR-n4owjNc1nNX46GoKyPRBY2JXnQB6zC9HN15CuoB_YJdJfT8IkKXEa52gvDuq8PN3XH3UEa1vsAK0N9cFWVJJb-0ZSx7s4AJNYuEX7p5TEr4FL3B0-y1CFV6nKsMsSWS8?key=uilXPniCTZSuS8kHgzui_g\" alt=\"Tampilan contoh enkapsulasi protected\"\/><\/figure>\n\n\n\n<p>Pesan error muncul karena memanggil variabel yang terenkapsulasi <em>protected <\/em>dari luar <em>class <\/em>tersebut. Sedangkan kalau pemanggilan dilakukan di dalam <em>class <\/em>maupun turunan <em>class <\/em>(warnaMobil) dari <em>class <\/em>utamanya (mobil) dapat muncul.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Private<\/em><\/h3>\n\n\n\n<p><em>Method <\/em>atau <em>property <\/em>yang diberikan hak akses <em>private <\/em>hanya dapat dipanggil khusus di dalam <em>class <\/em>tersebut saja. Tidak dapat dipanggil dari luar <em>class<\/em>, maupun <em>class <\/em>induk atau <em>class <\/em>turunanya.<\/p>\n\n\n\n<p>Contoh penggunaan enkapsulasi <em>private <\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\tclass mobil{\n\t\tprivate $jenis = \"sedan\";\n\t\tprivate $merk = \"BMW\";\n\t\tprivate $warna = \"merah\";\n\t\t\n\t\tfunction dataMobil(){\n\t\t\techo \"Jenis Mobil : \" . $this-&gt;jenis . \"&lt;br&gt;\"; \/\/dipanggil dari dalam class\n\t\t}\n\t}\n\tclass warnaMobil extends mobil { \/\/class turunan dari mobil\n\t\tfunction warnanya(){\n\t\t\techo \"Warna Mobil : \".$this-&gt;warna.\"&lt;br&gt;\";\n\t\t}\n\t}\n\t$mobilsaya = new mobil();\n\t$mobilsaya-&gt;dataMobil(); \n\t$warnamobilsaya = new warnaMobil();\n\t$warnamobilsaya-&gt;warnanya();\n\techo \"Merk Mobil : \".$mobilsaya-&gt;merk; \/\/dipanggil dari luar class\n?&gt;<\/code><\/pre>\n\n\n\n<p>Dan ketika diakses akan muncul tampilan seperti ini :<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfSFS6nAvDFrsdbB3msvqknN5kdQsmWWSFCgJJZdHqykSIO5TjrPYkHv24pOt2sogjZ_QF8MfhlGWtFm2TQ-TaDjjEKJH0VqiFaWN1NsFeYPRcE3elrW5v5RphIFTlV0fG8y1k3Lg?key=uilXPniCTZSuS8kHgzui_g\" alt=\"Tampilan contoh enkapsulasi private\"\/><\/figure>\n\n\n\n<p>Data hanya muncul jika pemanggilan dilakukan di dalam <em>class <\/em>tersebut saja, tidak di <em>class <\/em>turunanya atau di luar <em>class<\/em>. Jika dipanggil di <em>class <\/em>turunanya atau dari luar <em>class <\/em>akan muncul pesan <em>error <\/em>tersebut.<\/p>\n\n\n\n<p>Selanjutnya dalam belajar PHP dasar bagian 12, kami akan menjelaskan tentang proses enkapsulasi pada <em>function <\/em>atau <em>method <\/em>dalam PHP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enkapsulasi pada <em>Function<\/em>\/Method<\/h2>\n\n\n\n<p>Enkapsulasi dapat dilakukan untuk <em>function<\/em>\/<em>method <\/em>juga, dideklarasikan sebelum kata <em>function <\/em>dibuat dengan fungsi enkapsulasi yang sama. Contoh penggunaanya seperti ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public function namafunction(){\n\t\/\/isi function\n}\n\nDan penerapanya dalam script kira kira seperti ini : \n\n&lt;?php\n\tclass mobil{\n\t\tprivate $jenis = \"sedan\";\n\t\tprivate $merk = \"BMW\";\n\t\tprivate $warna = \"merah\";\n\t\t\n\t\tpublic function jenisnya(){\n\t\t\techo \"Jenis Mobil : \" . $this-&gt;jenis . \"&lt;br&gt;\";\n\t\t}\n\t\tprotected function warnanya(){\n\t\t\techo \"Warna Mobil : \".$this-&gt;warna.\"&lt;br&gt;\";\n\t\t}\n\t\tprivate function merknya(){\n\t\t\techo \"Merk Mobil : \".$this-&gt;merk;\n\t\t}\n\t\tfunction pemanggilan_merk(){\n\t\t\treturn $this-&gt;merknya();\n\t\t}\n\t}\n\tclass mobilnya extends mobil {\n\t\tfunction pemanggilan(){\n\t\t\techo $this-&gt;jenisnya();\n\t\t\techo $this-&gt;warnanya();\n\t\t}\n\t}\n\techo \"Pemanggilan public function &lt;br&gt;\";\n\t$mobilsaya = new mobil();\n\t$mobilsaya-&gt;jenisnya();\n\techo \"&lt;hr&gt;\";\n\techo \"Pemanggilan protected function (dipanggil dari class turunanya dahulu)&lt;br&gt;\";\n\t$mobildia = new mobilnya();\n\t$mobildia-&gt;pemanggilan();\n\techo \"&lt;hr&gt;\";\n\techo \"Pemanggilan private function (dipanggil dari function yang bisa diakses diluar class dahulu, lalu function tersebut yang kita panggil)&lt;br&gt;\";\n\t$mobilsaya-&gt;pemanggilan_merk();\n\techo \"&lt;hr&gt;\";\n?&gt;<\/code><\/pre>\n\n\n\n<p>Dan ketika diakses muncul tampilan seperti ini:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfFPzzt3ubAtucdXbhW1X8uIqUPWqWSod7e89lT4_4ygxe5AtQ8rsxD-7mQ5IQ0wHzWBGj6mG2uzibrxyifgs3UDWnCrBDHaw6jAbXGyzgoQgqdaAkHSht5tjbKw7Ir9VGaH8cyKw?key=uilXPniCTZSuS8kHgzui_g\" alt=\"Tampilan contoh enkapsulasi pada function atau method - belajar php dasar\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kesimpulan<\/h2>\n\n\n\n<p>Enkapsulasi dalam PHP terdiri dari tiga jenis hak akses yaitu <strong><em>public<\/em><\/strong>, <strong><em>protected<\/em><\/strong>, dan <strong><em>private<\/em><\/strong>, yang masing-masing memiliki fungsinya sendiri.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Demikian series belajar php dasar untuk pemula bagian 12 mengenai apa itu enkapsulasi PHP. Pada sesi belajar php dasar bagian 13, kita akan belajar tentang <a href=\"https:\/\/www.rumahweb.com\/journal\/belajar-php-dasar-bagian-13\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Inheritance pada OOP PHP<\/a>. Simak terus kelas belajar php dasar dari Rumahweb.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":352,"featured_media":52052,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[1749,45,2177,2202],"class_list":{"0":"post-51815","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-web-programming","8":"tag-belajar-php","9":"tag-php","10":"tag-php-dasar","11":"tag-tutorial-php"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/12\/Banner-belajar-php-dasar-enkapsulasi-php.png","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-dtJ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/51815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/352"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=51815"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/51815\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/52052"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=51815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=51815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=51815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}