{"id":1,"date":"2025-05-18T08:40:40","date_gmt":"2025-05-18T08:40:40","guid":{"rendered":"https:\/\/indahsyah.infokand23.my.id\/blog\/?p=1"},"modified":"2025-05-22T13:09:32","modified_gmt":"2025-05-22T13:09:32","slug":"pemrogramanweb6","status":"publish","type":"post","link":"https:\/\/indahsyah.infokand23.my.id\/blog\/pemrogramanweb6\/","title":{"rendered":"PRAKTIK CRUD SEDERHANA BERKONSEP OOP PHP &#038; MYSQL #6"},"content":{"rendered":"\n<p>Assalamu&#8217;alaikum warahmatullahi wabarakatuh. Hi, all! <br><br>Pada praktikum ke-6 mata kuliah pemrograman web semester 4 jurusan informatika, saya mempelajari dan mencobakan bagaimana membuat CRUD sederhana dengan konsep <em>Object Oriented Programming<\/em> (OOP) atau PBO dengan php dan <strong>MySQL<\/strong> di VS Code. Kali ini, saya akan memaparkan seluruh langkah-langkah yang harus dilakukan untuk membuat <strong>CRUD sederhana mengenai data mahasiswa<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>PENGENALAN SINGKAT<\/strong><\/h2>\n\n\n\n<p>Pemrograman Berorientasi Objek (Object-Oriented Programming\/OOP) adalah paradigma pemrograman yang berfokus pada penggunaan <strong>objek<\/strong> untuk membangun aplikasi. Konsep dasarnya dimulai dari <strong>class<\/strong>, yaitu blueprint atau template yang digunakan untuk membuat banyak objek (instance) dengan struktur dan perilaku yang sama. Ketika sebuah objek dibuat dari class, ia akan memiliki <strong>member variable<\/strong> (atribut) dan <strong>member function<\/strong> (metode). Atribut menyimpan data milik objek, sedangkan metode digunakan untuk mengakses dan memanipulasi data tersebut. OOP mendukung <strong>enkapsulasi<\/strong>, yaitu proses menggabungkan data dan fungsi dalam satu unit (objek), serta menyembunyikan detail implementasinya agar hanya fungsi yang relevan saja yang bisa diakses dari luar.<\/p>\n\n\n\n<p>Konsep <strong>inheritance (pewarisan)<\/strong> memungkinkan sebuah class baru (child class atau subclass) mewarisi atribut dan metode dari class lain (parent class atau superclass). Hal ini mendukung efisiensi dalam pengembangan program karena kode dapat digunakan kembali. <strong>Polymorphism<\/strong> memungkinkan fungsi atau metode yang sama digunakan dalam konteks berbeda, dan salah satu bentuk polymorphism adalah <strong>overloading<\/strong>, di mana suatu fungsi atau operator dapat memiliki implementasi berbeda tergantung pada tipe data yang digunakan. Selain itu, OOP juga menerapkan <strong>abstraksi data<\/strong>, yaitu menyembunyikan kompleksitas sistem dengan hanya menampilkan bagian penting kepada pengguna.<\/p>\n\n\n\n<p>Dua fungsi khusus dalam OOP adalah <strong>constructor<\/strong> dan <strong>destructor<\/strong>. Constructor dipanggil secara otomatis saat objek dibuat untuk menginisialisasi nilai awal, sedangkan destructor dipanggil saat objek dihapus atau keluar dari cakupan (scope) untuk melakukan proses pembersihan memori. Dengan seluruh konsep ini, OOP mempermudah pemrograman yang kompleks menjadi lebih modular, dapat digunakan kembali, dan lebih mudah dipelihara.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>PERSIAPAN<\/strong><\/h2>\n\n\n\n<p>Langkah pertama yang bisa dilakukan yakni menginstall VSCode dan XAMPP serta buka MySQL. Lalu, buat folder baru dalam folder htdocs dengan nama crud. Namun, saya membuat strukturnya seperti:<br><strong><br>htdocs&gt;web_programming&gt;OOP&gt;crud<\/strong><\/p>\n\n\n\n<p>Untuk struktur lebih lengkap, dapat berpedoman kepada struktur berikut.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"560\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image.png\" alt=\"\" class=\"wp-image-16\" style=\"width:207px;height:auto\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image.png 284w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-152x300.png 152w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/figure>\n\n\n\n<p>Buat folder <em>assets<\/em>, lalu buat file CSS dan JS dengan mengunduhnya pada link berikut.<br>CSS: <a href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.5\/dist\/css\/bootstrap.min.css\">https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.5\/dist\/css\/bootstrap.min.css<\/a><br>JS: <a href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.5\/dist\/js\/bootstrap.bundle.min.js\">https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.5\/dist\/js\/bootstrap.bundle.min.js<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>KONEKSI DATABASE<\/strong><\/h2>\n\n\n\n<p>Buat <em>database<\/em> baru dengan nama <strong>pemrograman_web<\/strong>, lalu buat tabel mahasiswa dengan 4 kolom, yakni ID, nama, NIM, dan jurusan, sehingga akan terlihat seperti ini di <em>database<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"180\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-16-1024x180.png\" alt=\"\" class=\"wp-image-53\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-16-1024x180.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-16-300x53.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-16-768x135.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-16.png 1248w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Setelah itu, kita bisa membuat koneksi ke MySQL dengan membuat <em>file<\/em> baru pada folder <strong>config<\/strong>, beri nama filenya <strong>Database.php<\/strong>. Buat kodenya seperti berikut. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"468\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-2-1024x468.png\" alt=\"\" class=\"wp-image-23\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-2-1024x468.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-2-300x137.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-2-768x351.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-2-1536x702.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-2.png 1819w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Kode ini digunakan untuk membuat koneksi ke <em>database<\/em> MySQL menggunakan OOP di PHP. File ini merupakan <em>class Database <\/em>yang punya <em>method getConnection() <\/em>untuk menghubungkan <em>website<\/em> ke database pemrograman_web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CONFIG<\/strong><\/h2>\n\n\n\n<p>Selanjutnya, buat file Config.php dalam folder config. Ini adalah file yang digunakan untuk menyimpan variabel konstan seperti alamat utama (URL dasar) dari proyek <em>website<\/em> (dalam kode yakni BASE_URL). Dengan adanya config dan BASE_URL, kita bisa memanggil alamat dasar ini di berbagai file dalam proyek tanpa harus menuliskannya berulang-ulang. Hal ini memudahkan pengelolaan dan perubahan URL jika suatu saat diperlukan.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"184\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-3-1024x184.png\" alt=\"\" class=\"wp-image-24\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-3-1024x184.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-3-300x54.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-3-768x138.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-3.png 1188w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>ALERT<\/strong><\/h2>\n\n\n\n<p>Kemudian, buat folder <strong><em>function <\/em><\/strong>dan buat file Alert.php. Ini digunakan untuk membuat fungsi yang memberikan feedback berupa pesan kepada pengguna saat beroperasi dengan data. Ada 2 <em>argument statement<\/em>, yaitu $msg yang berisi pesan dan $sts yang berisi kode. Jika status = 1, maka pesan berhasil, namun jika 0 maka pesan gagal. Berikut kode program fungsi alert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"999\" height=\"448\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-5.png\" alt=\"\" class=\"wp-image-26\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-5.png 999w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-5-300x135.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-5-768x344.png 768w\" sizes=\"auto, (max-width: 999px) 100vw, 999px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MODEL MAHASISWA<\/strong><\/h2>\n\n\n\n<p>Selanjutnya, buat folder <strong>model <\/strong>lalu tambah file baru dengan nama <strong>Mahasiswa.php<\/strong>. Class (yang dibuat untuk mewakili data tabel mahasiswa) ini dibuat untuk membuat fungsi operasi CRUD. Pertama-tama, tambahkan kode untuk memulai sesi dengan <strong>session_start()<\/strong> dan deklarasikan variabel yang terlibat dan digunakan sebagai berikut. Fungsi construct di baris bawah adalah kode untuk memanggil koneksi database dari MySQL<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"632\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-6.png\" alt=\"\" class=\"wp-image-27\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-6.png 660w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-6-300x287.png 300w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p>Setelahnya, buat fungsi CRUD: <strong>Create<\/strong> data mahasiswa baru, <strong>read<\/strong> data mahasiswa yang sudah ada, <strong>update<\/strong> data mahasiswa dari perubahan terbaru berdasarkan ID, dan <strong>delete <\/strong>untuk menghapus data mahasiswa berdasarkan ID jika salah.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>$_SESSION[\u2018flash_message\u2019] berfungsi untuk membuat <em>session<\/em> yang berisi pesan berhasil atau tidak berhasil sebuah data baru. Sedangkan, <em>header<\/em> digunakan untuk mengarahkan kembali setelah menekan tombol ke file index.php dengan parameter msg. Jadi, setelah aksi selesai, <em>user<\/em> akan diarahkan kembali ke halaman utama\/index.php dengan pesan sukses\/gagal.<\/p>\n\n\n\n<p>Fungsi <em>read<\/em> memiliki default parameter $id yang berisi string kosong, jika $id == \u201c\u201d maka akan mengeksekusi kueri untuk menampilkan seluruh data mahasiswa, jika $id !== \u201c\u201d maka akan mengeksekusi kueri untuk menampilkan data mahasiswa berdasarkan id mahasiswa. Berikut kode<br>program fungsi CRUD.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1009\" height=\"664\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-7.png\" alt=\"\" class=\"wp-image-28\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-7.png 1009w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-7-300x197.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-7-768x505.png 768w\" sizes=\"auto, (max-width: 1009px) 100vw, 1009px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"714\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-8-1024x714.png\" alt=\"\" class=\"wp-image-29\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-8-1024x714.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-8-300x209.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-8-768x535.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-8.png 1070w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FUNCTION MAHASISWA<\/strong><\/h2>\n\n\n\n<p>Kemudian, buat file baru di folder <strong>function<\/strong>, buat nama filenya <strong>Mahasiswa.php<\/strong>. File ini membantu sebagai jembatan antara database dan model yang telah dibuat tadi. File ini berfungsi sebagai <strong>controller<\/strong> yang menangani permintaan CUD dan mengarahkan ke method yang sesuai di class Mahasiswa. Berikut adalah kodenya.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"909\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-9.png\" alt=\"\" class=\"wp-image-32\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-9.png 965w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-9-300x283.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-9-768x723.png 768w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><\/figure>\n\n\n\n<p>Pertama akan dilakukan pengecekan sebuah parameter action yang dikirimkan melalui method GET, jika ada terdapat parameter action yang dikirimkan maka nilai parameter akan diambil dan digunakan sesuai dengan fungsinya. Singkatnya, kode ini tidak hanya mengambil koneksi ke database, namun juga membuat objek Mahasiswa dengan koneksi tersebut. Jika action=create, data dari form disimpan ke database. Jika action=update, data diubah berdasarkan id. Jika action=delete, data dihapus berdasarkan id.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>TAMPILAN DATA<\/strong><\/h2>\n\n\n\n<p>Untuk menampilkan data, bisa disebut file-filenya dengan sebutan &#8220;<strong>view<\/strong>&#8221; yang berfungsi untuk menampilkan dan memperbarui tampilan data. Beri nama dengan <strong>index.php.<\/strong> Ini adalah <strong>halaman utama <\/strong> yang menampilkan <strong>data mahasiswa<\/strong> dalam bentuk tabel, dan menyediakan tombol untuk tambah, edit, dan hapus data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1918\" height=\"1279\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-10-edited.png\" alt=\"\" class=\"wp-image-48\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-10-edited.png 1918w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-10-edited-300x200.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-10-edited-1024x683.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-10-edited-768x512.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-10-edited-1536x1024.png 1536w\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1847\" height=\"1232\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-11-edited.png\" alt=\"\" class=\"wp-image-47\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-11-edited.png 1847w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-11-edited-300x200.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-11-edited-1024x683.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-11-edited-768x512.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-11-edited-1536x1025.png 1536w\" sizes=\"auto, (max-width: 1847px) 100vw, 1847px\" \/><\/figure>\n\n\n\n<p>File ini berfungsi sebagai halaman utama untuk menampilkan data mahasiswa dari database dalam bentuk tabel. Pada bagian awal, file menghubungkan ke database dan memanggil method untuk mengambil data mahasiswa. Jika terdapat pesan dari sesi sebelumnya, seperti notifikasi sukses atau gagal saat menambah, mengedit, atau menghapus data, pesan tersebut akan ditampilkan sebagai alert. Di tabel, data mahasiswa ditampilkan dengan kolom NIM, Nama, dan Jurusan, serta terdapat tombol aksi untuk mengedit dan menghapus data mahasiswa. Tombol tambah mahasiswa mengarahkan ke halaman form input data baru. Saat tombol hapus diklik, pengguna akan diminta konfirmasi sebelum data dihapus. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"210\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-23.png\" alt=\"\" class=\"wp-image-64\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-23.png 704w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-23-300x89.png 300w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"356\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-21-1024x356.png\" alt=\"\" class=\"wp-image-60\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-21-1024x356.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-21-300x104.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-21-768x267.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-21-1536x533.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-21.png 1846w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Selanjutnya, buat file dengan nama edit.php untuk mengedit data yang sudah disubmit di data mahasiswa. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1846\" height=\"1231\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-12-edited.png\" alt=\"\" class=\"wp-image-46\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-12-edited.png 1846w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-12-edited-300x200.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-12-edited-1024x683.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-12-edited-768x512.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-12-edited-1536x1024.png 1536w\" sizes=\"auto, (max-width: 1846px) 100vw, 1846px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1918\" height=\"1278\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-13-edited.png\" alt=\"\" class=\"wp-image-45\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-13-edited.png 1918w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-13-edited-300x200.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-13-edited-1024x682.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-13-edited-768x512.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-13-edited-1536x1023.png 1536w\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" \/><\/figure>\n\n\n\n<p>File ini berfungsi sebagai halaman edit data mahasiswa. Pertama, file menghubungkan ke database dan memanggil method untuk mengambil data mahasiswa berdasarkan <code>id<\/code> yang dikirim lewat URL (<code>$_GET['id']<\/code>). Data mahasiswa yang diambil kemudian ditampilkan di form HTML agar pengguna bisa mengubahnya. Form ini memiliki input untuk NIM, Nama, dan Jurusan, dengan nilai awal (value) sudah terisi dari data mahasiswa yang diambil tadi. Ada juga input tersembunyi untuk menyimpan <code>id<\/code> mahasiswa supaya saat dikirim ke server, data yang diedit tahu targetnya. Saat tombol &#8220;Update&#8221; ditekan, form akan mengirim data ke <code>function\/Mahasiswa.php<\/code> dengan parameter <code>action=update<\/code>, di mana proses update di database akan dilakukan. Fungsi utama file ini adalah menampilkan form edit data mahasiswa dengan data awal terisi dan mempersiapkan data yang diupdate dikirim ke server.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"233\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-20-1024x233.png\" alt=\"\" class=\"wp-image-59\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-20-1024x233.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-20-300x68.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-20-768x174.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-20-1536x349.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-20.png 1959w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"309\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-22-1024x309.png\" alt=\"\" class=\"wp-image-61\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-22-1024x309.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-22-300x91.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-22-768x232.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-22-1536x464.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-22.png 1859w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Terakhir, buat file bernama create.php dalam folder CRUD tadi yang berisi form inputan untuk memambahkan data mahasiswa.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1739\" height=\"1159\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-14-edited.png\" alt=\"\" class=\"wp-image-44\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-14-edited.png 1739w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-14-edited-300x200.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-14-edited-1024x682.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-14-edited-768x512.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-14-edited-1536x1024.png 1536w\" sizes=\"auto, (max-width: 1739px) 100vw, 1739px\" \/><\/figure>\n\n\n\n<p>File ini adalah halaman untuk menambah data mahasiswa baru. Di sini, dibuat form dengan input untuk NIM, Nama, dan Jurusan yang wajib diisi (required). Setelah diisi, data akan dikirim via metode POST ke file function\/Mahasiswa.php dengan parameter action=create yang bertugas memproses penambahan data ke database. Jadi, fungsi utama halaman ini adalah menyediakan form input agar user bisa memasukkan data mahasiswa baru yang nantinya disimpan ke database.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-18-1024x300.png\" alt=\"\" class=\"wp-image-57\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-18-1024x300.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-18-300x88.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-18-768x225.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-18-1536x450.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-18.png 2035w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"350\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-19-1024x350.png\" alt=\"\" class=\"wp-image-58\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-19-1024x350.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-19-300x103.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-19-768x263.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-19-1536x525.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-19.png 1822w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>OPTIMALISASI CRUD<\/strong><\/h2>\n\n\n\n<p>Dari program yang telah dibuat, dapat dilakukan optimalisasi seperti:<\/p>\n\n\n\n<p>1. <strong>Menggabungkan <em>file<\/em> untuk <em>create<\/em> dan <em>edit <\/em>di dalam satu file saja<\/strong><\/p>\n\n\n\n<p>Terdapat redundansi antara create.php dan edit.php, karena keduanya sama-sama menampilkan formulir dengan input nim, nama, dan jurusan. Bedanya hanya di create.php buat <em>form<\/em> kosong untuk tambah data baru, sementara edit.php buat <em>form<\/em> dengan data sudah terisi untuk edit data lama. Jadi, untuk <strong>mempermudah pengelolaan<\/strong> dan <strong>mengurangi pengulangan kode<\/strong>., saya membuat file baru dengan nama <strong>form_mahasiswa.php<\/strong> untuk menangani <em>create<\/em> dan <em>edit <\/em>data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"796\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-24-1024x796.png\" alt=\"\" class=\"wp-image-69\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-24-1024x796.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-24-300x233.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-24-768x597.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-24.png 1462w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-25-1024x532.png\" alt=\"\" class=\"wp-image-70\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-25-1024x532.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-25-300x156.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-25-768x399.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-25-1536x798.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-25.png 1761w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Kode ini adalah halaman form dinamis untuk menambahkan (<em>create<\/em>) atau mengedit (<em>update<\/em>) data mahasiswa tergantung pada ada atau tidaknya parameter id di URL. Pertama, script memuat file koneksi database (Database.php) dan model mahasiswa (Mahasiswa.php), lalu membuat objek koneksi database dan objek Mahasiswa. Jika ada parameter id pada URL, maka dianggap mode edit dan data mahasiswa diambil berdasarkan id untuk ditampilkan di form, serta action form diarahkan ke proses update. Jika tidak ada id, maka form berjalan dalam mode create dengan field kosong dan action diarahkan ke proses create. Form ini menampilkan input untuk NIM, nama, dan jurusan, serta tombol submit yang teksnya akan berubah sesuai mode-nya (<em>Create <\/em>atau <em>Update<\/em>). Kode juga menggunakan fungsi htmlspecialchars() untuk menghindari potensi XSS saat menampilkan nilai di form.<\/p>\n\n\n\n<p>Pada index, disesuaikan juga seperti ini agar saat ditekaan tombol tambah dan edit maka akan menuju ke laman form_mahasiswa.php.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"112\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-26-1024x112.png\" alt=\"\" class=\"wp-image-71\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-26-1024x112.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-26-300x33.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-26-768x84.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-26.png 1216w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"59\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-27-1024x59.png\" alt=\"\" class=\"wp-image-72\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-27-1024x59.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-27-300x17.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-27-768x44.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-27-1536x89.png 1536w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-27.png 1694w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2. <strong>Menambahkan aturan untuk pengisian NIM, nama, dan jurusan<\/strong><\/p>\n\n\n\n<p>Aturan pengisian di tambah dan edit untuk NIM adalah hanya bisa diisi oleh integer. Sementara, untuk nama dan jurusan hanya bisa diisi oleh string. Jika tidak sesuai atau kolom kosong, muncul peringatan bahwa input tidak sesuai atau kolom masih kosong.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"849\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-32-1024x849.png\" alt=\"\" class=\"wp-image-82\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-32-1024x849.png 1024w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-32-300x249.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-32-768x637.png 768w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-32.png 1513w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Validasi data dibuat dengan JavaScript sebelum form dikirim (submit). Validasi dilakukan terhadap tiga field utama, yaitu NIM, Nama, dan Jurusan. Pertama-tama, kode menggunakan addEventListener untuk menangani submit form dengan ID. Saat tombol submit ditekan, kode ini dijalankan.<br>Langkah pertama di dalam fungsi ini adalah mengosongkan semua pesan kesalahan yang sebelumnya mungkin sudah ditampilkan, dengan mengakses elemen-elemen HTML yang memiliki ID nimError, namaError, dan jurusanError. Kemudian, variabel valid di-set ke true sebagai penanda bahwa secara default semua input dianggap valid. Setelah itu, masing-masing nilai input (nim, nama, dan jurusan) diambil menggunakan document.getElementById(\u2026).value.trim() untuk menghapus spasi kosong di awal atau akhir teks.<\/p>\n\n\n\n<p><br>Selanjutnya, validasi dilakukan satu per satu. Untuk nim, dicek apakah input kosong atau bukan angka murni menggunakan regex \/^\\d+$\/. Jika tidak valid, akan muncul pesan error dan valid diubah menjadi false. Hal serupa dilakukan untuk nama dan jurusan, dengan regex \/^[a-zA-Z\\s]+$\/ untuk memastikan hanya huruf dan spasi yang diizinkan. Jika ada satu saja field yang tidak valid, maka e.preventDefault() akan dipanggil di bagian akhir fungsi untuk mencegah form dikirim ke server, sehingga pengguna dapat memperbaiki inputnya terlebih dahulu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"629\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-28.png\" alt=\"\" class=\"wp-image-74\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-28.png 960w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-28-300x197.png 300w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-28-768x503.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"625\" height=\"606\" src=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-29.png\" alt=\"\" class=\"wp-image-75\" srcset=\"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-29.png 625w, https:\/\/indahsyah.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/05\/image-29-300x291.png 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/figure>\n\n\n\n<p>Untuk proyek dan implementasi CRUD langsung dapat dilihat dan dicobakan dari link proyek <a href=\"https:\/\/github.com\/ethereins\/PemrogramanWeb\/tree\/main\/OOP\/crud\" data-type=\"link\" data-id=\"https:\/\/github.com\/ethereins\/PemrogramanWeb\/tree\/main\/OOP\/crud\">GitHub <\/a>saya.<\/p>\n\n\n\n<p>Demikian pemaparan praktikum 6 pemrograman web kali ini. Silakan berikan kritik dan saran yang membangun untuk saya ke depannya. <\/p>\n\n\n\n<p>Gracias!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Assalamu&#8217;alaikum warahmatullahi wabarakatuh. Hi, all! Pada praktikum ke-6 mata kuliah pemrograman web semester 4 jurusan informatika, saya mempelajari dan mencobakan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":29,"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":133,"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/1\/revisions\/133"}],"wp:attachment":[{"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/indahsyah.infokand23.my.id\/blog\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}