=
Pada postingan blog kali ini, saya akan membahas mengenai konsep CRUD (Create, Read, Update, dan Delete) pada bahasa pemrograman PHP. saya akan membahas mengenai CRUD dalam bahasa pemrograman PHP. Mengutip dari RevoUpedia, CRUD adalah kumpulan fungsi dasar yang umum digunakan dalam manajemen database. Fungsi Create, Read, Update, dan Delete yang dimiliki CRUD adalah dasar untuk sebagian besar aplikasi software yang berkaitan dengan penyimpanan dan pengambilan data. CRUD sering digunakan dalam logika backend aplikasi web, software, aplikasi mobile, dan sistem lain yang memerlukan manajemen data. Ini adalah dasar interaksi dengan database.
Dalam praktikum yang telah saya lakukan, saya menerapkan konsep CRUD menggunakan bahasa pemrograman PHP dengan pendekatan OOP (Object-oriented Programming). Menurut penjelasan dari Codepolitan, OOP merupakan paradigma pemrograman yang menitikberatkan pada penggunaan objek sebagai struktur data utama, di mana objek tersebut menggabungkan antara data dan fungsi. Dengan pendekatan ini, kita dapat menyatukan perilaku dan data ke dalam satu kesatuan yang disebut objek, alih-alih hanya mengandalkan prosedur dan fungsi secara terpisah.
TUJUAN PRATIKUM
Tujuan praktikum ini yaitu mahasiswa mampu mengimplementasikan konsep Object Oriented
Programming pada PHP dengan membuat aplikasi CRUD Sederhana
LANGKAH-LANGKAH
buat struktur file seperti berikut

kemudian download framework bootstrap
css: https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css
JS = https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/js/bootstrap.bundle.min.js
File pada link tersebut dimasukkan ke folder assets dan dipisahkan antara CSS dan JS agar mempermudah dalam manajemen file.
lalu,buat database dan table baru dengan nama table mahasiswa,dengan query berikut

setelah itu buat kode program pada config.php seperti berikut:

ode PHP tersebut membuat sebuah class bernama Database yang berfungsi untuk menangani koneksi ke database MySQL dengan menggunakan ekstensi MySQLi. Class ini memiliki properti privat untuk menyimpan informasi koneksi seperti host (localhost), nama database (pemrograman_web), username (root), dan password (dikosongkan). Sementara itu, properti publik conn digunakan untuk menampung objek koneksi yang terbentuk.
Metode getConnection() bertugas untuk mencoba membangun koneksi database melalui instansiasi new mysqli(...). Bila koneksi berhasil, objek koneksi akan disimpan ke dalam $this->conn dan dikembalikan. Namun jika gagal, maka blok catch akan menangkap kesalahan dan menampilkan pesan error. Dengan menggunakan class ini, proses koneksi ke database menjadi lebih terstruktur dan efisien dalam aplikasi PHP.
Setelah itu, kita perlu membuat file config.php. File ini digunakan untuk mendefinisikan variabel konstanta yang dapat diakses dari berbagai class. Dalam praktikum ini, kita akan membuat sebuah konstanta bernama BASE_URL, yang berisi URL dasar dari proyek yang sedang dikembangkan. Tambahkan potongan kode berikut ke dalam config.php.
tambahkan kode program berikut pada config.php

Dari program ini, kita bisa tahu bahwa yang saya lakukan masih secara lokal dan belum terhubung di internet.
Selanjutnya, kita perlu membuat file alert.php. File ini berfungsi untuk mendefinisikan sebuah fungsi yang digunakan untuk menampilkan pesan saat melakukan operasi terhadap data. Fungsi ini memiliki dua parameter, yaitu $msg yang berisi isi pesan, dan $sts yang menunjukkan status operasi. Jika nilai $sts adalah 1, maka akan ditampilkan pesan bahwa operasi berhasil. Sebaliknya, jika bernilai 0, maka akan ditampilkan pesan bahwa operasi gagal. Berikut adalah kode fungsi alert yang digunakan.

Selanjutnya, kita membuat model mahasiswa. Class Mahasiswa digunakan untuk membuat fungsi operasi Create, Read, Update dan Delete data Mahasiswa, berikut ini Langkah-langkah pembuatan class Mahasiswa:
- Tambahkan session_start() pada baris paling atas kode program
- Buat class dengan nama Mahasiswa di folder model

Selanjutnya deklarasikan variable-variabel yang dibutuhkan seperti gambar berikut.

Buat fungsi constructor yag berisi memanggil koneksi database seperti gambar berikut.

buat fungsi create yang nantinya digunakan untuk menambahkan data mahasiswa seperti kode program berikut.

Potongan kode PHP ini merupakan bagian dari sebuah class (kemungkinan bernama Mahasiswa atau yang serupa), yang berfungsi untuk menambahkan data baru ke dalam database. Metode create() menjalankan perintah SQL INSERT INTO untuk memasukkan data berupa nim, nama, dan jurusan ke tabel yang ditentukan oleh properti $this->table_name.
Langkah pertama dimulai dengan menyusun query menggunakan metode prepare() dari objek koneksi $this->conn, lalu tiga parameter (nim, nama, dan jurusan) diikat ke query tersebut dengan bind_param("sss", ...), di mana ketiga “s” menandakan bahwa ketiga nilai tersebut bertipe string. Jika query berhasil dieksekusi, maka pesan sukses akan disimpan di $_SESSION['flash_message'] dan pengguna akan diarahkan ke index.php?msg=1. Sebaliknya, jika eksekusi gagal, pesan kesalahan akan disimpan dan pengguna diarahkan ke index.php?msg=0.
buat fungsi read() dalam PHP yang berada di dalam sebuah class (misalnya class Mahasiswa). Fungsi ini akan menampilkan semua data mahasiswa jika parameter $id kosong, dan menampilkan data mahasiswa berdasarkan ID jika parameter tersebut diisi:

buat fungsi update untuk melakukan perubahan data mahasiswa berdasarkan ID mahasiswa, berikut ini kode programnya.

buat fungsi delete untuk menghapus data mahaiswa berdasarkan ID, berikut ini kode program untuk fungsi delete

Kemudian, kita akan membuat fungsi mahasiswa. Fungsi mahasiswa ini berfungsi sebagai controller yang menghubungkan antara class/model mahasiswa dengan view, buka file Mahasiswa.php yang berada dalam folder function kemudian tambahkan kode program seperti berikut.
Tambahkan file Database.php, Config.php dan Mahasiswa.php dengan menggunakan perintah include seperti gambar berikut

buat object baru di database dan mahasiswa,lalu koneksikan dengan data base seperti program berikut ini

lalu tambahkan kode berikut

Langkah awal yang dilakukan adalah memeriksa apakah terdapat parameter action yang dikirim melalui metode GET. Jika parameter tersebut tersedia, maka nilainya akan diambil dan diproses sesuai dengan fungsinya. Terdapat tiga jenis nilai yang mungkin dikirim melalui parameter ini, yaitu create, delete, dan update, yang masing-masing akan memicu fungsi tertentu sesuai dengan jenis aksi yang diminta.
lalu, buat halaman view sederhana menggunakan bootstrap. Untuk view menjadi halaman depan dari program yaitu diberi nama index.php. Berikut adalah kodenya:





berikut hasilnya halaman akan seperti berikut

lalu buat halaman create sederhana menggunakan bootstrap dengan kode berikut

ketika tombol tambah data di klik,maka akan muncul halaman create seperti ini

lalu,buar halaman edit sederhana dengan nama edit.php, dengan kode berikut


lalu,jika salah satu tombol edit di klik,maka akan tampil seperti berikut

lalu,coba masukkan salah satu data

klik simpan,lalu akan jadi seperti ini

OPtimasi kode
- menjadikan halaman menjadi dinamis
dengan cara membuat folder incude dan membuat dua folder yaitu header.php dan footer.php Hal ini akan membuat kode dapat digunakan berkali-kali dan kita tidak perlu menambahkan hal yang sama berulang.
Isi dari header.php seperti berikut:

isi footer seperti berikut

untuk contoh penggunaannya kita hanya perlu memanggil file yang sudah dibuat di awal dan akhir halaman

beri padding pada judul

ubah halaman create menjadi bentuk card dan jadikan pemilihan jurusan menjadi dropdown

berikan validasi jika input data salah

berikut kode lengkapnya


tambahkan juga sanitasi input agar terhindar dari sql injection dan xss scripting

KESIMPULAN
Artikel ini menyimpulkan bahwa pemrograman web, terutama dengan bahasa PHP, sangat mengandalkan konsep CRUD (Create, Read, Update, Delete) sebagai fondasi dalam pengelolaan database. Penulis menguraikan penerapan konsep tersebut melalui Pemrograman Berorientasi Objek (OOP), yang memungkinkan penggabungan data dan fungsi ke dalam satu kesatuan objek. Praktikum ini dirancang untuk membantu pembaca memahami secara mendalam cara membuat aplikasi CRUD sederhana di PHP dengan pendekatan yang lebih efisien dan dinamis. Dengan mengikuti panduan yang diberikan, pembaca diharapkan dapat lebih mudah mengerti struktur serta proses pengembangan aplikasi berbasis data.
