{"id":6,"date":"2025-05-18T16:39:19","date_gmt":"2025-05-18T16:39:19","guid":{"rendered":"https:\/\/nia.infokand23.my.id\/blog\/?p=6"},"modified":"2025-05-18T16:39:19","modified_gmt":"2025-05-18T16:39:19","slug":"laporan-1","status":"publish","type":"post","link":"https:\/\/nia.infokand23.my.id\/blog\/laporan-1\/","title":{"rendered":"Laporan 1"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Laporan praktikum web pertemuan 6<\/h1>\n\n\n\n<h1 class=\"wp-block-heading\">LAPORAN PRAKTIKUM<\/h1>\n\n\n\n<p>#OOP PHP &amp; MySQL \u2013 CRUD Sederhana<a href=\"https:\/\/github.com\/deviapujiastuti\/pweb.git\" target=\"_blank\" rel=\"noreferrer noopener\"> <\/a><\/p>\n\n\n\n<a href=\"https:\/\/github.com\/NiaRamadhani31\/DesainWebNiaRamadhani\" target=\"_blank\">\n  <img decoding=\"async\" src=\"https:\/\/github.githubassets.com\/images\/modules\/logos_page\/GitHub-Mark.png\" alt=\"GitHub\" width=\"30\" style=\"vertical-align: middle;\">\n  cllick\n<\/a>\n\n\n\n<p>1. Tujuan<\/p>\n\n\n\n<p>Tujuan praktikum ini : mahasiswa mampu mengimplementasikan konsep Object Oriented Programming pada PHP dengan membuat aplikasi CRUD Sederhana.<\/p>\n\n\n\n<p>2. Konsep OOP<\/p>\n\n\n\n<p>a. <strong>Destructor<\/strong>&nbsp;\u2212 refers to a special type of function which will be called automatically whenever an object is deleted or goes out of scope.<\/p>\n\n\n\n<p>b. <strong>Class<\/strong>&nbsp;\u2013 a template for making many instances of the same kind (or class) of object.<\/p>\n\n\n\n<p>c. <strong>Object<\/strong>&nbsp;\u2212 individual instance of the data structure defined by a class.<\/p>\n\n\n\n<p>d. <strong>Member Variable<\/strong>&nbsp;\u2212 These are the variables defined inside a class. This data will be invisible to the outside of the class and can be accessed via member functions. These variables are called attribute of the object once an object is created.<\/p>\n\n\n\n<p>4. <strong>Member Function<\/strong>&nbsp;\u2212 These are the function defined inside a class and are used to access object data.<\/p>\n\n\n\n<p>e. <strong>Inheritance<\/strong>&nbsp;\u2212 When a class is defined by inheriting existing function of a parent class then it is called inheritance. Here child class will inherit all or few member functions and variables of a parent class.<\/p>\n\n\n\n<p>f. <strong>Parent Class<\/strong>&nbsp;\u2212 A class that is inherited from by another class. This is also called a base class or super class.<\/p>\n\n\n\n<p>g. <strong>Child Class<\/strong>&nbsp;\u2212 A class that inherits from another class. This is also called a subclass or derived class.<\/p>\n\n\n\n<p>h. <strong>Polymorphism<\/strong>&nbsp;\u2212 Same function can be used for different purposes.<\/p>\n\n\n\n<p>i. <strong>Overloading<\/strong>&nbsp;\u2212 a type of polymorphism in which some or all of operators have different implementations depending on the types of their arguments. Similarly functions can also be overloaded with different implementation.<\/p>\n\n\n\n<p>j. <strong>Data Abstraction<\/strong>&nbsp;\u2212 Any representation of data in which the implementation details are hidden (abstracted).<\/p>\n\n\n\n<p>k. <strong>Encapsulation<\/strong>&nbsp;\u2212 refers to a concept where we encapsulate all the data and member functions together to form an object.<\/p>\n\n\n\n<p>l. <strong>Constructor<\/strong>&nbsp;\u2212 refers to a special type of function which will be called automatically whenever there is an object formation from a class.<\/p>\n\n\n\n<p><strong>Langkah- Langkah Pengerjaan<\/strong><\/p>\n\n\n\n<p>1. Buat folder baru didalam folder&nbsp;<strong>htdocs<\/strong>, kemudian buka menggunakan VS Code dan buat struktur file atau direktori seperti gambar berikut ini.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/devia.infokand23.my.id\/laprak1\/wp-content\/uploads\/2025\/05\/prak6.1-1.png\" alt=\"\" class=\"wp-image-18\"\/><\/figure>\n\n\n\n<p>2. Koneksi ke database<\/p>\n\n\n\n<p>a. Pertama-tama buat database baru dengan nama pemrograman_web, kemudian buat table mahasiswa sebagai berikut.<\/p>\n\n\n\n<p>CREATE TABLE <code>mahasiswa<\/code> (<br><code>id<\/code> int(11) NOT NULL,<br><code>nim<\/code> varchar(16) NOT NULL,<br><code>nama<\/code> varchar(128) NOT NULL,<br><code>jurusan<\/code> varchar(128) NOT NULL<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;<\/p>\n\n\n\n<p>b. Selanjutnya membuat koneksi ke database, buka file&nbsp;<strong>config\/Database.php<\/strong>&nbsp;dan ketikan kode program Berkut ini.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nclass Database {\n    private $host = \"localhost\";\n    private $db_name = \"pemrograman_web\";\n    private $username = \"root\";\n    private $password = \"\";\n    public $conn;\n\n    public function getConnection() {\n        $this-&gt;conn = null;\n        try {\n            $this-&gt;conn = new mysqli($this-&gt;host, $this-&gt;username, $this-&gt;password, $this-&gt;db_name);\n        } catch (Exception $e) {\n            echo \"Connection error: \" . $e-&gt;getMessage();\n        }\n        return $this-&gt;conn;\n    }\n}\n?&gt;<\/code><\/pre>\n\n\n\n<p>c. File Config.php<\/p>\n\n\n\n<p>File Config.php digunakan untuk membuat variable constant yang mana nantinya dapat diakases dari kelas manapun, pada praktikum ini akan membuat variable constant dengan nama&nbsp;<strong>BASE_URL<\/strong>&nbsp;yang berisi string base url dari project yang akan dibuat.<\/p>\n\n\n\n<p>D. Alert.php<\/p>\n\n\n\n<p><strong>Alert.php<\/strong>&nbsp;digunakan untuk membuat sebuah function yang berfungsi untuk menampilkan pesan Ketika melakukan operasi terhadap data, fungsi ini memiliki 2 buah argument statement yaitu&nbsp;<code>$msg<\/code>&nbsp;yang berisi pesan dan&nbsp;<code>$sts<\/code>&nbsp;yang berisi kode jika status 1 maka pesan berhasil dan jika 0 maka pesan gagal. Berikut kode program fungsi alert.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nfunction alert($msg, $sts) {\n    if($sts == 1) {\n        $tipe = 'success';\n    } else {\n        $tipe = 'danger';\n    }\n\n    echo '\n        &lt;div class=\"alert alert-'.$tipe.'\" role=\"alert\"&gt;'.$msg.'\n        &lt;\/div&gt;\n    ';\n}<\/code><\/pre>\n\n\n\n<p>E. Model Mahasiswa<\/p>\n\n\n\n<p>Class Mahasiswa digunakan untuk membuat fungsi operasi Create, Read, Update dan Delete data Mahasiswa, berikut ini Langkah-langkah pembuatan class Mahasiswa.<\/p>\n\n\n\n<p>1. Tambahkan&nbsp;<code>session_start()<\/code>&nbsp;pada baris paling atas kode program<\/p>\n\n\n\n<p>2. Buat class dengan nama Mahasiswa<\/p>\n\n\n\n<p>3. Deklarasikan variabel yang dibutuhkan dan fungsi constructor yang memanggil koneksi database<\/p>\n\n\n\n<p>&lt;?php<br>session_start();<br>class Mahasiswa {<br>private $conn;<br>private $table_name = \u201cmahasiswa\u201d;<\/p>\n\n\n\n<p>public $id;<br>public $nim;<br>public $nama;<br>public $jurusan;<br><br>public function __construct($db) {<br>$this-&gt;conn = $db;<br>}<\/p>\n\n\n\n<p>4. Buat fungsi&nbsp;<strong>create<\/strong>&nbsp;yang nantinya digunakan untuk menambahkan data mahasiswa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    public function create() {\n        $query = \"INSERT INTO \" . $this-&gt;table_name . \" SET nim=?, nama=?, jurusan=?\";\n        $stmt = $this-&gt;conn-&gt;prepare($query);\n        $stmt-&gt;bind_param(\"sss\", $this-&gt;nim, $this-&gt;nama, $this-&gt;jurusan);\n        if ($stmt-&gt;execute()) {\n            $_SESSION&#91;'flash_message'] = \"Data berhasil disimpan!\";\n            header(\"Location: \" . BASE_URL . \"index.php?msg=1\");\n        } else {\n            $_SESSION&#91;'flash_message'] = \"Data gagal disimpan!\";\n            header(\"Location: \" . BASE_URL . \"index.php?msg=0\");\n        }\n    }<\/code><\/pre>\n\n\n\n<p>5. Buat fungsi&nbsp;<strong>read<\/strong>&nbsp;untuk menampilkan data mahasiswa, fungsi read memiliki default parameter&nbsp;<code>$id<\/code>&nbsp;yang berisi string kosong, jika&nbsp;<code>$id == \u201c\u201d<\/code>&nbsp;maka akan mengeksekusi query untuk menampilkan seluruh data mahasiswa, jika&nbsp;<code>$id !== \u201c\u201d<\/code>&nbsp;maka akan mengeksekusi query untuk menampilkan data mahasiswa berdasarkan&nbsp;<strong>id<\/strong>&nbsp;mahasiswa. Berikut kode program fungsi read.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  public function read($id=\"\") {\n        if ($id == \"\") {\n            $query = \"SELECT * FROM \" . $this-&gt;table_name;\n        } else {\n            $query = \"SELECT * FROM \" . $this-&gt;table_name . \" WHERE id= \" . $id;\n        }\n        $result = $this-&gt;conn-&gt;query($query);\n        return $result;\n    }<\/code><\/pre>\n\n\n\n<p>6. Buat fungsi&nbsp;<strong>update<\/strong>&nbsp;untuk melakukan perubahan data mahasiswa berdasarkan ID mahasiswa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> public function update() {\n        $query = \"UPDATE \" . $this-&gt;table_name . \" SET nim=?, nama=?, jurusan=? WHERE id=?\";\n        $stmt = $this-&gt;conn-&gt;prepare($query);\n        $stmt-&gt;bind_param(\"ssss\", $this-&gt;nim, $this-&gt;nama, $this-&gt;jurusan, $this-&gt;id);\n        if ($stmt-&gt;execute()) {\n            $_SESSION&#91;'flash_message'] = \"Data berhasil diupdate!\";\n            header(\"Location: \" . BASE_URL . \"index.php?msg=1\");\n        } else {\n            $_SESSION&#91;'flash_message'] = \"Data gagal diupdate!\";\n            header(\"Location: \" . BASE_URL . \"index.php?msg=0\");\n        }\n    }<\/code><\/pre>\n\n\n\n<p>7. Buat fungsi&nbsp;<strong>delete<\/strong>&nbsp;untuk menghapus data mahasiswa berdasarkan ID<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    public function delete() {\n        $query = \"DELETE FROM \" . $this-&gt;table_name . \" WHERE id=?\";\n        $stmt = $this-&gt;conn-&gt;prepare($query);\n        $stmt-&gt;bind_param(\"s\", $this-&gt;id);\n        if ($stmt-&gt;execute()) {\n            $_SESSION&#91;'flash_message'] = \"Data berhasil dihapus!\";\n            header(\"Location: \" . BASE_URL . \"index.php?msg=1\");\n        } else {\n            $_SESSION&#91;'flash_message'] = \"Data gagal disimpan!\";\n            header(\"Location: \" . BASE_URL . \"index.php?msg=0\");\n        }\n    }\n}\n?&gt;<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">F. Fungsi Mahasiswa<\/h5>\n\n\n\n<p>Fungsi mahasiswa ini berfungsi sebagai&nbsp;<strong>controller<\/strong>&nbsp;yang menghubungkan antara&nbsp;<strong>class\/model mahasiswa<\/strong>&nbsp;dengan&nbsp;<strong>view<\/strong>, buka file function\/Mahasiswa.php, kemudian tambahkan kode program berikut<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\ninclude_once '..\/config\/Database.php';\ninclude '..\/config\/Config.php';\ninclude_once '..\/model\/Mahasiswa.php';\n\n$database = new Database();\n$db = $database-&gt;getConnection();\n$mahasiswa = new Mahasiswa($db);\n\nif (isset($_GET&#91;'action'])) {\n    if ($_GET&#91;'action'] == 'create') {\n        $mahasiswa-&gt;nim = $_POST&#91;'nim'];\n        $mahasiswa-&gt;nama = $_POST&#91;'nama'];\n        $mahasiswa-&gt;jurusan = $_POST&#91;'jurusan'];\n        $mahasiswa-&gt;create();\n    } elseif ($_GET&#91;'action'] == 'delete') {\n        $mahasiswa-&gt;id = $_GET&#91;'id'];\n        $mahasiswa-&gt;delete();\n    } elseif ($_GET&#91;'action'] == 'update') {\n        $mahasiswa-&gt;id = $_POST&#91;'id'];\n        $mahasiswa-&gt;nim = $_POST&#91;'nim'];\n        $mahasiswa-&gt;nama = $_POST&#91;'nama'];\n        $mahasiswa-&gt;jurusan = $_POST&#91;'jurusan'];\n        $mahasiswa-&gt;update();\n    }\n}\n?&gt;<\/code><\/pre>\n\n\n\n<p>Pertama akan dilakukan pengecekan sebuah parameter&nbsp;<strong>action<\/strong>&nbsp;yang dikirimkan melalui method&nbsp;<strong>GET<\/strong>, jika ada terdapat parameter action yang dikirimkan maka nilai parameter akan diambil dan digunakan sesuai dengan fungsinya, ada 3 buah isi parameter yang dikirimkan yaitu&nbsp;<strong>create, delete dan update.<\/strong><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">G. View<\/h5>\n\n\n\n<p>View ini berfungsi untuk menampilkan data, menampilkan form input dan update data mahasiswa.<\/p>\n\n\n\n<p><strong>index.php<\/strong><\/p>\n\n\n\n<p>File Index.php ini berisi tampilan data-data mahasiswa yang telah berhasil diinputkan kedalam database, berikut ini kode program Index.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\ninclude 'function\/Alert.php'; \ninclude_once '.\/config\/Database.php'; \ninclude_once '.\/model\/Mahasiswa.php';\n\n$database = new Database();\n$db = $database-&gt;getConnection();\n$mahasiswa = new Mahasiswa($db);\n$result = $mahasiswa-&gt;read();\n?&gt;\n\n&lt;!doctype html&gt;\n&lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"utf-8\"&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\n        &lt;title&gt;OOP - CRUD&lt;\/title&gt;\n        &lt;link href=\"assets\/css\/bootstrap.min.css\" rel=\"stylesheet\"&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;div class=\"container\"&gt;\n            &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-lg-12\"&gt;\n                    &lt;h4 class=\"text-center\"&gt;Data Mahasiswa&lt;\/h4&gt;\n                    &lt;a class=\"btn btn-primary btn-sm mb-2\" href=\"create.php\"&gt;Tambah Mahasiswa&lt;\/a&gt;\n                    &lt;!-- show alert --&gt;\n                    &lt;?php\n                        if (isset($_SESSION&#91;'flash_message']) &amp;&amp; isset($_GET&#91;'msg'])) { \n                            if ($_GET&#91;'msg'] == '1') {\n                                alert($_SESSION&#91;'flash_message'], 1);\n                            }else{\n                                alert($_SESSION&#91;'flash_message'], 0);\n                            }\n                        }\n                    ?&gt;\n                    &lt;table class=\"table table-stripped table-bordered\"&gt;\n                        &lt;thead&gt;\n                            &lt;tr&gt;\n                                &lt;th&gt;#&lt;\/th&gt;\n                                &lt;th&gt;NIM&lt;\/th&gt;\n                                &lt;th&gt;NAMA&lt;\/th&gt;\n                                &lt;th&gt;JURUSAN&lt;\/th&gt;\n                                &lt;th&gt;ACTION&lt;\/th&gt;\n                            &lt;\/tr&gt;\n                        &lt;\/thead&gt;\n                        &lt;tbody&gt;\n                            &lt;?php $no=1; while ($row = $result-&gt;fetch_assoc()) { ?&gt;\n                                &lt;tr&gt;\n                                    &lt;td&gt;&lt;?=$no++?&gt;&lt;\/td&gt;\n                                    &lt;td&gt;&lt;?=$row&#91;'nim']?&gt;&lt;\/td&gt;\n                                    &lt;td&gt;&lt;?=$row&#91;'nama']?&gt;&lt;\/td&gt;\n                                    &lt;td&gt;&lt;?=$row&#91;'jurusan']?&gt;&lt;\/td&gt;\n                                    &lt;td&gt;\n                                        &lt;a class=\"btn btn-success btn-sm\" href=\"edit.php?id=&lt;?=$row&#91;'id']?&gt;\"&gt;Edit&lt;\/a&gt;\n                                        &lt;a class=\"btn btn-danger btn-sm\" href=\"function\/Mahasiswa.php?action=delete&amp;&amp;id=&lt;?=$row &#91;'id']?&gt;\" onclick=\"return confirm('Anda yakin ingin menghapus Data &lt;?php echo $row&#91;'nama'];?&gt;?');\"&gt;Hapus&lt;\/a&gt;\n                                    &lt;\/td&gt;\n                                &lt;\/tr&gt;\n                            &lt;?php } ?&gt;\n                        &lt;\/tbody&gt;\n\n                    &lt;\/table&gt;\n\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;script src=\"assets\/js\/bootstrap.bundle.min.js\"&gt;&lt;\/script&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<p><strong>Create.php<\/strong><\/p>\n\n\n\n<p>File ini berisi form input data mahasiswa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!doctype html&gt;\n&lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"utf-8\"&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\n        &lt;title&gt;OOP - Create&lt;\/title&gt;\n        &lt;link href=\"assets\/css\/bootstrap.min.css\" rel=\"stylesheet\"&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;div class=\"container\"&gt;\n            &lt;div class=\"row\"&gt;\n                &lt;h1&gt;Create Mahasiswa&lt;\/h1&gt;\n                &lt;form action=\"function\/Mahasiswa.php?action=create\" method=\"post\"&gt;\n                    &lt;div class=\"form-group\"&gt;\n                        &lt;label for=\"nim\"&gt;NIM&lt;\/label&gt;\n                        &lt;input type=\"text\" class=\"form-control\" name=\"nim\" required&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=\"form-group\"&gt;\n                        &lt;label for=\"nama\"&gt;Nama&lt;\/label&gt;\n                        &lt;input type=\"text\" class=\"form-control\" name=\"nama\" required&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=\"form-group\"&gt;\n                        &lt;label for=\"jurusan\"&gt;Jurusan&lt;\/label&gt;\n                        &lt;input type=\"text\" class=\"form-control\" name=\"jurusan\" required&gt;\n                    &lt;\/div&gt;\n                        &lt;button type=\"submit\" class=\"btn btn-primary mt-2\"&gt;Create&lt;\/button&gt;\n                &lt;\/form&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;script src=\"assets\/js\/bootstrap.bundle.min.js\"&gt;&lt;\/script&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<p><strong>Edit.php<\/strong><\/p>\n\n\n\n<p>File ini berisi form untuk melakukan perubahan data mahasiswa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\ninclude_once '.\/config\/Database.php'; \ninclude_once '.\/model\/Mahasiswa.php';\n\n$database = new Database();\n$db = $database-&gt;getConnection();\n\n$mahasiswa = new Mahasiswa($db);\n\nif (isset($_GET&#91;'id'])) {\n$result = $mahasiswa-&gt;read($_GET&#91;'id'])-&gt;fetch_assoc();\n}\n?&gt;\n&lt;!doctype html&gt;\n&lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"utf-8\"&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\n        &lt;title&gt;OOP - Edit&lt;\/title&gt;\n        &lt;link href=\"assets\/css\/bootstrap.min.css\" rel=\"stylesheet\" integrity=\"sha384-SgOJa3DmI69IUzQ2PVdRZhwQ+dy64\/BUtbMJw1MZ8t5HZApcHrRKUc4W0kG879m7\" crossorigin=\"anonymous\"&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;div class=\"container\"&gt;\n            &lt;div class=\"row\"&gt;\n                &lt;h1&gt;Edit Mahasiswa&lt;\/h1&gt;\n                &lt;form action=\"function\/Mahasiswa.php?action=update\" method=\"post\"&gt;\n                    &lt;div class=\"form-group\"&gt;\n                        &lt;label for=\"nim\"&gt;NIM&lt;\/label&gt;\n                        &lt;input type=\"hidden\" class=\"form-control\" name=\"id\" value=\"&lt;?=$result&#91;'id'];?&gt;\" required&gt;\n                        &lt;input type=\"text\" class=\"form-control\" name=\"nim\" value=\"&lt;?=$result&#91;'nim'];?&gt;\" required&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=\"form-group\"&gt;\n                        &lt;label for=\"nama\"&gt;Nama&lt;\/label&gt;\n                        &lt;input type=\"text\" class=\"form-control\" name=\"nama\" value=\"&lt;?=$result&#91;'nama'];?&gt;\" required&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=\"form-group\"&gt;\n                        &lt;label for=\"jurusan\"&gt;Jurusan&lt;\/label&gt;\n                        &lt;input type=\"text\" class=\"form-control\" name=\"jurusan\" value=\"&lt;?=$result&#91;'jurusan'];?&gt;\" required&gt;\n                    &lt;\/div&gt;\n                    &lt;button type=\"submit\" class=\"btn btn-primary mt- 2\"&gt;Update&lt;\/button&gt;\n                &lt;\/form&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;script src=\"assets\/js\/bootstrap.bundle.min.js\" integrity=\"sha384-k6d4wzSIapyDyv1kpU366\/PK5hCdSbCRGRCMv+eplOQJWyd1fbcAu9OCUj5zNLiq\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<p>H. Efisiensi Kode<\/p>\n\n\n\n<p>Program CRUD dapat diefisiensi dengan menggabungkan halaman create.php dan edit.php menjadi satu, dengan nama form.php. logika if else digunakan pada form.php, Jadi ketika query yang diminta adalah create maka form.php akan menampilkan kondisi yang sesuai untuk create data, dan sebaliknya. Setelah itu, di index.php ubah bagian-bagian yang mereferensi ke create.php dan edit.php menjadi mereferensi ke form.php. Jika sudah berhasil, file create.php dan edit.php bisa dihapus.<\/p>\n\n\n\n<p>buat form.php dengan isi kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\ninclude_once '.\/config\/Database.php';\ninclude_once '.\/model\/Mahasiswa.php';\n\n$database = new Database();\n$db = $database-&gt;getConnection();\n$mahasiswa = new Mahasiswa($db);\n\n$isEdit = false;\n$data = &#91;\n    'id' =&gt; '',\n    'nim' =&gt; '',\n    'nama' =&gt; '',\n    'jurusan' =&gt; ''\n];\n\nif (isset($_GET&#91;'id'])) {\n    $result = $mahasiswa-&gt;read($_GET&#91;'id'])-&gt;fetch_assoc();\n    if ($result) {\n        $isEdit = true;\n        $data = $result;\n    }\n}\n\n$formAction = $isEdit ? 'function\/Mahasiswa.php?action=update' : 'function\/Mahasiswa.php?action=create';\n$formTitle = $isEdit ? 'Edit Mahasiswa' : 'Create Mahasiswa';\n$submitText = $isEdit ? 'Update' : 'Create';\n?&gt;\n\n&lt;!doctype html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"utf-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\n    &lt;title&gt;&lt;?= $formTitle ?&gt;&lt;\/title&gt;\n    &lt;link href=\"assets\/css\/bootstrap.min.css\" rel=\"stylesheet\"&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;div class=\"container\"&gt;\n    &lt;div class=\"row\"&gt;\n        &lt;h1&gt;&lt;?= $formTitle ?&gt;&lt;\/h1&gt;\n        &lt;form action=\"&lt;?= $formAction ?&gt;\" method=\"post\"&gt;\n            &lt;?php if ($isEdit): ?&gt;\n                &lt;input type=\"hidden\" name=\"id\" value=\"&lt;?= $data&#91;'id'] ?&gt;\"&gt;\n            &lt;?php endif; ?&gt;\n            &lt;div class=\"form-group\"&gt;\n                &lt;label for=\"nim\"&gt;NIM&lt;\/label&gt;\n                &lt;input type=\"text\" class=\"form-control\" name=\"nim\" value=\"&lt;?= $data&#91;'nim'] ?&gt;\" required&gt;\n            &lt;\/div&gt;\n            &lt;div class=\"form-group\"&gt;\n                &lt;label for=\"nama\"&gt;Nama&lt;\/label&gt;\n                &lt;input type=\"text\" class=\"form-control\" name=\"nama\" value=\"&lt;?= $data&#91;'nama'] ?&gt;\" required&gt;\n            &lt;\/div&gt;\n            &lt;div class=\"form-group\"&gt;\n                &lt;label for=\"jurusan\"&gt;Jurusan&lt;\/label&gt;\n                &lt;input type=\"text\" class=\"form-control\" name=\"jurusan\" value=\"&lt;?= $data&#91;'jurusan'] ?&gt;\" required&gt;\n            &lt;\/div&gt;\n            &lt;button type=\"submit\" class=\"btn btn-primary mt-2\"&gt;&lt;?= $submitText ?&gt;&lt;\/button&gt;\n        &lt;\/form&gt;\n    &lt;\/div&gt;\n&lt;\/div&gt;\n&lt;script src=\"assets\/js\/bootstrap.bundle.min.js\"&gt;&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Laporan praktikum web pertemuan 6 LAPORAN PRAKTIKUM #OOP PHP &amp; MySQL \u2013 CRUD Sederhana cllick 1. Tujuan Tujuan praktikum ini : mahasiswa mampu mengimplementasikan konsep Object Oriented Programming pada PHP dengan membuat aplikasi CRUD Sederhana. 2. Konsep OOP a. Destructor&nbsp;\u2212 refers to a special type of function which will be called automatically whenever an object [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":2,"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/6\/revisions"}],"predecessor-version":[{"id":12,"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/6\/revisions\/12"}],"wp:attachment":[{"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/media?parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/categories?post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nia.infokand23.my.id\/blog\/wp-json\/wp\/v2\/tags?post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}