Buatlah folder dengan nama “crud” dan juga file dengan struktur nya seperti ini

Masuk ke phpMyAdmin lalu buatlah database baru, beri nama “pemrograman_web” dan buat table, ketikkan kode sql seperti pada gambar ini


Pada folder “config” di file “Database.php” lalu ketikkan kode seperti gambar pada berikut ini

Berikutnya buatlah pada file Config.php dengan kode untuk base url, yang mana berfungsi sebagai url dasar dari proyek yang akan dibuat, untuk kodenya seperti berikut ini

Selanjutnya adalah pada folder function yaitu di file Alert.php ,gunanya memasukan pesan saat kode berjalan

Selanjutnya Mahasiswa.php, pada file ini kita membuat kode CRUD (Create, Read, Update, Delete) dari data mahasiswa yang akan dimasukan dan diproses.

Selanjutnya kita membuat file dengan nama Mahasiswa.php di folder model, yaitu menambahkan kode untuk fungsi fungsi yang akan mengolah program ini. Yang pertama adalah fungsi create

Data siswa disimpan ke database dengan fungsi create(). Untuk menghindari SQL Injection, pertama-tama dibuat query INSERT INTO dengan placeholder (?). Query dibuat dengan prepare() dan diisi dengan data NIM, nama, dan jurusan dengan menggunakan bind_param() dengan tipe string. Kemudian, query dijalankan dengan menggunakan execute(). Pesan “Data berhasil disimpan!” disimpan ke dalam session dan pengguna diarahkan ke halaman index.php dengan parameter msg=1 jika berhasil. Jika gagal, pesan kegagalan disimpan ke dalam session dan pengguna diarahkan ke halaman yang sama dengan parameter msg=0. Fungsi ini memungkinkan pengguna berkomentar melalui pesan dan pengalihan halaman selain menyimpan data.Catatan: $_SESSION[‘flash_messagge’] dapat digunakan untuk membuat sesi yang mengandung pesan data yang ditambahkan dengan berhasil atau tidak berhasil. Namun, header digunakan untuk mengarahkan ke file index.php dengan parameter msg.
Selanjutnya adalah menyambung dari kode create yaitu read yang digunakan untuk menampilkan data mahasiswa. Kodenya adalah seperti ini

Data dapat diambil dari database dengan menggunakan fungsi read($id=””). Data dari tabel akan diambil jika $id kosong, tetapi jika $id diisi, hanya data dengan id tersebut yang diambil. Nama tabel dibuat dengan menggunakan properti $this->table_name. Selanjutnya, pertanyaan yang dibuat dijalankan dengan $this->conn->query($query), dan fungsi ini mengembalikan hasilnya. Oleh karena itu, fungsi ini fleksibel. Ini dapat menampilkan semua data atau hanya satu data yang diidentifikasi.
Selanjutnya fungsi update yaitu untuk fungsi update. Pada kode ini berguna untuk melakukan perubahan data mahasiswa berdasarkan ID mahasiswa, untuk kodenya sebagai berikut :

Kode yang terakhir yakni Mahasiswa.php adalah delete, kode ini berfungsi unutk menghapus data mahasiswa berdasarkan ID:

- Selanjutnya berpindah pada folder Function di file Mahasiswa.
- construct($db)
- Menginisialisasi koneksi database ke properti $conn saat objek Mahasiswa dibuat.
- create($nim, $nama, $jurusan)
- Menambahkan data mahasiswa baru ke tabel mahasiswa.
- read($id = “”)
- Jika parameter $id kosong: menampilkan semua data mahasiswa.
- Jika $id diberikan: menampilkan satu data mahasiswa berdasarkan id.
- update($id, $nim, $nama, $jurusan)
- Mengubah data mahasiswa berdasarkan ID tertentu.
- delete($id)
- Menghapus data mahasiswa berdasarkan ID.



Selanjutnya adalah untuk menampilkan data data yang diolah, menampilkan form input dan update dari mahasiswa, untuk itu dilakukan pada route yaitu pada index.php dengan kodenya adalah seperti ini



Kode ini merupakan halaman utama yang akan menampilkan data siswa dalam bentuk tabel menggunakan Bootstrap. File konfigurasi database, model Student, dan fungsi peringatan diimpor terlebih dahulu pada bagian atas. Setelah itu, koneksi ke database dibuat, dan objek $siswa digunakan untuk mengakses fungsi read(), yang mengambil semua data siswa dari tabel. Di bagian bawah halaman, ada tabel HTML yang menunjukkan hasilnya. Tombol “Tambah Mahasiswa” di atas tabel membawa Anda ke halaman create.php untuk menambahkan data baru.
Selain itu, ada fitur notifikasi yang menampilkan pesan berhasil atau gagal berdasarkan parameter msg di URL dan isi dari $_SESSION[‘flash_message’], dan kemudian session dihapus untuk mencegah penampilan ulangnya. Setiap baris data mahasiswa dengan NIM, nama, dan jurusan ditampilkan di dalam tabel.

Selanjutnya adalah membuat Create.php. file ini berisi form untuk inputan yang digunakan untuk menambahkan data mahasiswa, untuk kode lengkapnya adalah sebagai berikut ini :




Di bagian atas, file konfigurasi database dan model siswa dimuat, dan kemudian dibuat objek $siswa untuk mengakses data. Jika ada parameter id di URL, fungsi read() digunakan untuk mengambil data siswa berdasarkan ID tersebut, dan hasilnya disimpan ke variabel $result. Di bagian HTML, form edit ditampilkan, yang sudah terisi otomatis dengan data siswa berdasarkan ID tersebut. Form ini terdiri dari input NIM, nama, dan jurusan, serta satu input tersembunyi yang mengandung data siswa. Saat formulir dikirimkan, data akan dikirim ke Mahasiswa.php melalui metode POST dengan aksi update. Aksi ini akan memproses perubahan data di database. Untuk membuat tampilan lebih responsif dan rapi, gunakan Bootstrap. Oleh karena itu, pengguna dapat dengan mudah dan aman memperbarui data siswa di halaman ini.

Terakhir adalah pada file Edit.php yang mana berisi form untuk melakukan perbubaha data mahasiswa. Untuk kode lengkapnya adalah sebagai berikut ini


Pada kode ini, file konfigurasi database dan model Mahasiswa dimuat, lalu dibuat objek $mahasiswa. Jika terdapat parameter id di URL, maka data mahasiswa dengan ID tersebut diambil menggunakan fungsi read() dan disimpan dalam variabel $result. Di bagian HTML, ditampilkan form yang sudah terisi otomatis dengan data mahasiswa (NIM, nama, jurusan), termasuk input tersembunyi untuk ID. Form ini akan mengirim data ke Mahasiswa.php dengan aksi update menggunakan metode POST saat tombol “Update” ditekan. Halaman ini menggunakan Bootstrap untuk tampilan yang rapi dan responsif, dan berfungsi sebagai antarmuka bagi pengguna untuk memperbarui data mahasiswa dengan mudah.


Perubahan untuk Optimalisasi dan Penyempurnaan Kode
Perubahan yang saya lakukan pada laman web saya terletak pada kolom “Nim” dimna hanya bisa memasukan dan memproses integer dan bukan string.serta terdapay sebuah pesan yang akan memberikan pemberitahuan kesalahan input
