Panduan Lengkap CRUD di CodeIgniter: Membuat, Membaca, Mengupdate, dan Menghapus Data

dani indra

Panduan Lengkap CRUD di CodeIgniter: Membuat, Membaca, Mengupdate, dan Menghapus Data

CRUD (Create, Read, Update, Delete) adalah operasi dasar dalam pengembangan aplikasi web yang memungkinkan pengelolaan data. CodeIgniter, sebagai framework PHP yang ringan, menyediakan alat yang efektif untuk mengimplementasikan fungsi CRUD. Dalam panduan ini, kita akan menjelaskan langkah-langkah untuk membuat, membaca, mengupdate, dan menghapus data menggunakan CodeIgniter.

1. Pendahuluan: Struktur Proyek CodeIgniter

Pastikan Anda sudah menginstal dan mengkonfigurasi CodeIgniter. Struktur dasar proyek CodeIgniter terdiri dari folder application, system, dan public (atau assets). Pahami struktur ini karena nantinya kita akan membuat kontroler, model, dan tampilan di dalam folder application.

2. Membuat Database dan Tabel:

Buat database di MySQL atau database server lainnya. Kemudian, buat tabel untuk entitas yang akan kita kelola.

CREATE TABLE mahasiswa (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nama VARCHAR(255),
    nim VARCHAR(20),
    jurusan VARCHAR(50)
);

3. Konfigurasi Database CodeIgniter:

Konfigurasi koneksi database CodeIgniter di file application/config/database.php.

$db['default'] = array(
    'dsn'    => '',
    'hostname' => 'localhost',
    'username' => 'username',
    'password' => 'password',
    'database' => 'nama_database',
    // ...
);

4. Buat Kontroler untuk CRUD:

Buat kontroler (Mahasiswa.php) di folder application/controllers untuk menangani operasi CRUD.

class Mahasiswa extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->model('Mahasiswa_model');
    }

    public function index() {
        $data['mahasiswa'] = $this->Mahasiswa_model->get_mahasiswa();
        $this->load->view('mahasiswa/index', $data);
    }

    // Tambahkan fungsi create, read, update, delete di sini
}

5. Buat Model untuk Mengakses Database:

Buat model (Mahasiswa_model.php) di folder application/models untuk menangani operasi database.

class Mahasiswa_model extends CI_Model {
    public function get_mahasiswa() {
        return $this->db->get('mahasiswa')->result_array();
    }

    public function tambah_mahasiswa($data) {
        $this->db->insert('mahasiswa', $data);
    }

    public function get_mahasiswa_by_id($id) {
        return $this->db->get_where('mahasiswa', ['id' => $id])->row_array();
    }

    public function update_mahasiswa($id, $data) {
        $this->db->where('id', $id);
        $this->db->update('mahasiswa', $data);
    }

    public function hapus_mahasiswa($id) {
        $this->db->delete('mahasiswa', ['id' => $id]);
    }
}

6. Buat Tampilan (View):

Buat tampilan (index.php) di folder application/views/mahasiswa untuk menampilkan data.

<!-- Tabel untuk Menampilkan Data -->
<table>
    <tr>
        <th>ID</th>
        <th>Nama</th>
        <th>NIM</th>
        <th>Jurusan</th>
        <th>Aksi</th>
    </tr>
    <?php foreach ($mahasiswa as $mhs) : ?>
        <tr>
            <td><?= $mhs['id']; ?></td>
            <td><?= $mhs['nama']; ?></td>
            <td><?= $mhs['nim']; ?></td>
            <td><?= $mhs['jurusan']; ?></td>
            <td>
                <!-- Tambahkan tombol untuk update dan delete -->
            </td>
        </tr>
    <?php endforeach; ?>
</table>

7. Implementasi Fungsi CRUD pada Kontroler:

Tambahkan fungsi-fungsi CRUD pada kontroler (Mahasiswa.php). Pastikan untuk memanggil model yang sesuai.

public function tambah() {
    $data = [
        'nama' => $this->input->post('nama'),
        'nim' => $this->input->post('nim'),
        'jurusan' => $this->input->post('jurusan')
    ];

    $this->Mahasiswa_model->tambah_mahasiswa($data);
    redirect('mahasiswa');
}

public function edit($id) {
    $data['mahasiswa'] = $this->Mahasiswa_model->get_mahasiswa_by_id($id);
    $this->load->view('mahasiswa/edit', $data);
}

public function update($id) {
    $data = [
        'nama' => $this->input->post('nama'),
        'nim' => $this->input->post('nim'),
        'jurusan' => $this->input->post('jurusan')
    ];

    $this->Mahasiswa_model->update_mahasiswa($id, $data);
    redirect('mahasiswa');
}

public function hapus($id) {
    $this->Mahasiswa_model->hapus_mahasiswa($id);
    redirect('mahasiswa');
}

8. Buat Form untuk Tambah dan Edit:

Buat form (tambah.php dan edit.php) di folder application/views/mahasiswa untuk menambah dan mengedit data.

<!-- Form Tambah Mahasiswa -->
<form action="<?= base_url('mahasiswa/tambah'); ?>" method="post">
    <!-- ... Tambahkan input form ... -->
    <button type="submit">Simpan</button>
</form>

<!-- Form Edit Mahasiswa -->
<form action="<?= base_url('mahasiswa/update/' . $mahasiswa['id']); ?>" method="post">
    <!-- ... Tambahkan input form ... -->
    <button type="submit">Update</button>
</form>

9. Rute (Routes) CodeIgniter:

Tambahkan rute di file application/config/routes.php untuk mengarahkan ke fungsi CRUD yang sesuai.

$route['mahasiswa'] = 'mahasiswa/index';
$route['mahasiswa/tambah'] = 'mahasiswa/tambah';
$route['mahasiswa/edit/(:any)'] = 'mahasiswa/edit/$1';
$route['mahasiswa/update/(:any)'] = 'mahasiswa/update/$1';
$route['mahasiswa/hapus/(:any)'] = 'mahasiswa/hapus/$1';

10. Uji Coba Aplikasi Anda:

Buka browser dan akses aplikasi Anda

di http://localhost/nama-proyek/mahasiswa. Coba tambahkan, baca, update, dan hapus data untuk memastikan fungsi CRUD berjalan dengan baik.

Dengan mengikuti panduan ini, Anda telah berhasil membuat aplikasi CRUD sederhana menggunakan CodeIgniter. Jika Anda ingin meningkatkan fungsionalitas atau menyesuaikan sesuai kebutuhan proyek, Anda dapat terus menjelajahi dokumentasi resmi CodeIgniter dan eksperimen dengan fitur-fitur tambahan yang ditawarkan oleh framework ini.

Leave a Comment