{"id":625,"date":"2021-12-14T09:33:34","date_gmt":"2021-12-14T02:33:34","guid":{"rendered":"https:\/\/duniacoding.info\/?p=625"},"modified":"2021-12-14T09:33:35","modified_gmt":"2021-12-14T02:33:35","slug":"belajar-php-penerapan-oop-di-php","status":"publish","type":"post","link":"https:\/\/duniacoding.id\/blog\/belajar-php-penerapan-oop-di-php\/","title":{"rendered":"Belajar PHP #11 : Penerapan OOP di PHP"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"465\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/carbon-9-1024x465.png\" alt=\"Penerapan OOP di PHP\" class=\"wp-image-632\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-9-1024x465.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-9-300x136.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-9-768x349.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-9-1536x698.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/carbon-9-2048x931.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pada artikel kali ini kita akan membahas<code> Perenapan OOP di PHP<\/code>, Artikel ini sedikit mirip dengan Artikel <a href=\"https:\/\/duniacoding.info\/belajar-php-koneksi-php-ke-database-mysql\/\" target=\"_blank\" rel=\"noopener\">Belajar PHP #8,<\/a> yaitu koneksi ke <code>Database Mysql<\/code> akan tetapi dengan <code>Penerapan OOP di PHP<\/code>. Bisa dibilang artikel ini adalah gabungan dari beberapa Artikel sebelumnya yaitu <code>OOP <\/code>dan <code>Koneksi Mysql<\/code>.<\/p>\n\n\n\n<p>Goals kita kali ini adalah kita bisa mengakses Database, dan bisa menampilkan data yang ada pada Database tersebut dengan konsep OOP. Langsung saja kita Praktekkan<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penerapan OOP di PHP untuk Koneksi MySQL<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pembuatan Database<\/h3>\n\n\n\n<p>Pertama, kita akan menghubungkan  Database MySQL kita dengan File PHP kita. Kalau dahulu kita menggunakan 1 file <code>config.php<\/code>. Sekarang kita akan mempraktekkan untuk membuat Database terlebih dahulu. Kita bisa menggunakan Bahasa SQL di Phpmyadmin kita. Jadi pastikan XAMPP kita jalan yaa.<\/p>\n\n\n\n<p>Membuat Tabel<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nCREATE DATABASE sekolah\n<\/pre><\/div>\n\n\n<p>Selanjutnya, kita buat tabel di dalam <code>Database <\/code>sekolah yaitu <code>tabel siswa<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nCREATE TABLE siswa (\n  id int(11) NOT NULL,\n  nama_siswa varchar(255) NOT NULL,\n  email varchar(255) NOT NULL,\n  jenis_kelamin varchar(2) NOT NULL\n)\n<\/pre><\/div>\n\n\n<p>Nah agar kita bisa mengisi tabel siswa tersebut dengan Data yang nanti akan kita tampilkan di Website kita.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nINSERT INTO siswa (id, nama_siswa, email, jenis_kelamin) VALUES\n(1, &#039;Alfian&#039;, &#039;alfian@gmail.com&#039;, &#039;L&#039;),\n(2, &#039;Dewi&#039;, &#039;dewi@gmail.com&#039;, &#039;P&#039;);\n<\/pre><\/div>\n\n\n<p>Okay, sekarang akan muncul di Database kita seperti ini.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"889\" height=\"165\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/oop-php-1.png\" alt=\"\" class=\"wp-image-627\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-1.png 889w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-1-300x56.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-1-768x143.png 768w\" sizes=\"(max-width: 889px) 100vw, 889px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Setting File PHP<\/h3>\n\n\n\n<p>Setelah selesai mengatur segala kebutuhan <code>Database<\/code>. Sekarang kita benar-benar akan Fokus ke Penerapan OOP di PHP. Pertama, kita akan Bahas <code>Struktur Folder<\/code> kita. <br>Jadi, disini aku membuat tiap <code>File OOP <\/code>ada di sebuah Folder sendiri dengan Nama <code>Controller<\/code>. Lalu file lain seperti <code>index <\/code>akan berapa diluar Folder <code>Controller<\/code>. Kurang lebih seperti ini.<\/p>\n\n\n\n<p>Folder Sekolah<br>&#8212; Controller<br>&#8212;&#8212; SiswaController.php<br>&#8212; index.php<br><\/p>\n\n\n\n<p>Atau kalau di Visual Studio Code terlihat seperti ini<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"427\" height=\"236\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/oop-php-2.png\" alt=\"\" class=\"wp-image-629\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-2.png 427w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-2-300x166.png 300w\" sizes=\"(max-width: 427px) 100vw, 427px\" \/><\/figure>\n\n\n\n<p>Sekarang, kita akan mulai menulis syntax di <code>SiswaController.php<\/code>, disini kita akan menerapkan sistem OOP, dimana akan ada <code>Class <\/code>sendiri dengan nama <code>Siswa<\/code>. Lalu ada <code>Fungsi <\/code>yang ada di dalam <code>Class Siswa<\/code>.<\/p>\n\n\n\n<p>File SiswaController.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;?php\n\nclass Siswa\n{\n    public $siswa;\n    public $pdo;\n\n    public function __construct()\n    {\n        $host = &quot;localhost&quot;;\n        $database = &quot;sekolah&quot;;\n        $user = &quot;root&quot;;\n        $password = &quot;&quot;;\n\n        $this-&gt;pdo = new PDO(&quot;mysql:host={$host}; dbname={$database}&quot;, $user, $password);\n    }\n\n    public function getAll()\n    {\n        $this-&gt;pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n        $query = &quot;SELECT * FROM siswa&quot;;\n        $stmt = $this-&gt;pdo-&gt;prepare($query);\n        $stmt-&gt;execute();\n\n        $result = $stmt-&gt;fetchAll();\n        return $result;\n    }\n}\n<\/pre><\/div>\n\n\n<p>Bisa dilihat di syntax diatas, Syntax diatas adalah Penerapan OOP di PHP yang kita buat. Kita sudah membuat <code>Class <\/code>dengan nama <code>Siswa<\/code>. Nah <code>Class Siswa<\/code> ini memiliki dua <code>Fungsi <\/code>yang berbeda, yaitu <code>__construct()<\/code> dan <code>getAll()<\/code>. Fungsi <code>__construct()<\/code> digunakan untuk Koneksi ke Database kita. Oleh karena itu disana ada beberapa settingan yaitu <code>$host, $database, $user, <\/code>dan <code>$password<\/code>.<\/p>\n\n\n\n<p>Setelah itu ada Fungsi <code>getAll()<\/code>. Fungsi ini memiliki <code>$query = \"SELECT * FROM siswa\";<\/code>. Nah Syntax SQL ini lah yang akan kita gunakan untuk mengambil Data dari Database dan menampilkannya di Website kita. <\/p>\n\n\n\n<p>Sekarang Kita selesai mengatur penerapan OOP di PHP, kita akan Fokus ke file <code>index.php<\/code>. Kita akan menggunakan Tabel dari Bootstrap sehingga tampilannya lebih baik<\/p>\n\n\n\n<p>File<code> index.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;!doctype html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n    &lt;!-- Required meta tags --&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\n\n    &lt;!-- Bootstrap CSS --&gt;\n    &lt;link href=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot; integrity=&quot;sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3&quot; crossorigin=&quot;anonymous&quot;&gt;\n\n    &lt;title&gt;Siswa&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div class=&quot;container mt-5&quot;&gt;\n        &lt;table class=&quot;table&quot;&gt;\n            &lt;thead&gt;\n                &lt;tr&gt;\n                    &lt;th scope=&quot;col&quot;&gt;No&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Nama&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Email&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Jenis Kelamin&lt;\/th&gt;\n                &lt;\/tr&gt;\n            &lt;\/thead&gt;\n            &lt;tbody&gt;\n                &lt;?php\n                include_once &#039;Controller\/SiswaController.php&#039;;\n                $siswa = new Siswa;\n\n                $row = $siswa-&gt;getAll();\n\n                $number = 1;\n                foreach ($row as $item) {\n                ?&gt;\n                    &lt;tr&gt;\n                        &lt;th scope=&quot;row&quot;&gt;&lt;?php echo $number ?&gt;&lt;\/th&gt;\n                        &lt;td&gt;&lt;?php echo $item&#91;&#039;nama_siswa&#039;] ?&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;?php echo $item&#91;&#039;email&#039;] ?&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;?php echo $item&#91;&#039;jenis_kelamin&#039;] ?&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                &lt;?php\n                    $number++;\n                }\n                ?&gt;\n            &lt;\/tbody&gt;\n        &lt;\/table&gt;\n    &lt;\/div&gt;\n\n    &lt;script src=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/js\/bootstrap.bundle.min.js&quot; integrity=&quot;sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p&quot; crossorigin=&quot;anonymous&quot;&gt;&lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p>Bisa dilihat pada syntax <code>&lt;?php<\/code> diatas. Disini kita memanggil <code>OOP <\/code>kita yaitu <code>SiswaController.php<\/code> yang berada di dalam Folder <code>Controller<\/code>. Setelah kita panggil, sekarang kita bisa menjalankan salah satu fungsi nya yaitu <code>getAll()<\/code> untuk mengambil semua Data dari Database.<\/p>\n\n\n\n<p>Karena Data yang ada pada Table <code>Siswa<\/code> bisa saja lebih dari satu. kita menggunakan perulangan <code>foreach<\/code> untuk menampilkan semua Data dari Database kita. <\/p>\n\n\n\n<p>Syntax diatas akan menghasilkan<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"205\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/oop-php-3-1-1024x205.png\" alt=\"\" class=\"wp-image-631\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-3-1-1024x205.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-3-1-300x60.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-3-1-768x154.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-3-1-1536x307.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/oop-php-3-1.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Gambar diatas sudah menampilkan semua Data yang ada di Database didalam Website kita. <\/p>\n\n\n\n<p>Kedepannya, kita akan terfokus untuk edit <code>SiswaController.php<\/code>. Didalam File Siswa itu, kita akan menuliskan beberapa Fungsi yang lain seperti Edit Data, Menambah Data, dan Bahkan menghapus Data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kesimpulan<\/h2>\n\n\n\n<p>Disini kita sudah sama-sama mempelajari Penerapan OOP di PHP. dan kita juga mengetahui bahwa Penerapan OOP di PHP ini sangat penting untuk memudahkan kita dalam membuat Codingan PHP kita, dan tentunya membuat Codingan kita lebih Rapi dan Mudah dibaca. <\/p>\n\n\n\n<p>Itu saja untuk Artikel kali ini teman-teman. Semoga bermanfaat untuk kita semua.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada artikel kali ini kita akan membahas Perenapan OOP di PHP, Artikel ini sedikit mirip dengan Artikel Belajar PHP #8, yaitu koneksi ke Database Mysql akan tetapi dengan Penerapan OOP di&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":632,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[82,46,81],"class_list":["post-625","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-oop-php","tag-php","tag-tuto"],"_links":{"self":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/comments?post=625"}],"version-history":[{"count":2,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/625\/revisions"}],"predecessor-version":[{"id":633,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/625\/revisions\/633"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media\/632"}],"wp:attachment":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media?parent=625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/categories?post=625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/tags?post=625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}