Memahami MVC di CodeIgniter: Model, View, Controller

dani indra

Memahami MVC di CodeIgniter: Model, View, Controller

MVC (Model-View-Controller) adalah paradigma desain perangkat lunak yang memisahkan logika bisnis, tampilan, dan pengelolaan input pengguna. CodeIgniter, sebagai framework PHP yang populer, mengadopsi konsep MVC untuk membantu pengembangan aplikasi web menjadi lebih terstruktur dan mudah dimengerti. Dalam artikel ini, kita akan membahas setiap komponen MVC di CodeIgniter: Model, View, dan Controller.

1. Model: Logika Bisnis dan Pengelolaan Database

Model dalam CodeIgniter bertanggung jawab untuk menangani logika bisnis dan interaksi dengan database. Model mempresentasikan data dan aturan bisnis yang mendasari aplikasi. Dengan menggunakan model, pengembang dapat mengakses dan memanipulasi data tanpa perlu menyentuh langsung database.

Contoh Model CodeIgniter:

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 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]);
    }
}

2. View: Presentasi Data dan Antarmuka Pengguna

View bertanggung jawab untuk menangani tampilan dan presentasi data kepada pengguna. View berisi markup HTML, elemen-elemen tampilan, dan templat yang memungkinkan pengembang untuk memformat dan menampilkan data secara visual. Data yang ditampilkan di dalam view diperoleh dari model atau kontroler.

Contoh View CodeIgniter:

<!-- Tampilan untuk Menampilkan Data Mahasiswa -->
<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>

3. Controller: Mengelola Logika Aplikasi dan Interaksi Pengguna

Controller bertanggung jawab untuk mengelola logika aplikasi dan berinteraksi dengan model dan view. Controller menerima input dari pengguna, memprosesnya, dan menentukan tampilan mana yang harus ditampilkan. Controller juga memanggil fungsi-fungsi di model untuk mengambil atau memanipulasi data.

Contoh Controller CodeIgniter:

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);
    }

    public function tambah() {
        // Proses tambah data mahasiswa
    }

    public function update($id) {
        // Proses update data mahasiswa
    }

    public function hapus($id) {
        // Proses hapus data mahasiswa
    }
}

Ringkasan:

  • Model: Menangani logika bisnis dan interaksi dengan database.
  • View: Menangani tampilan dan presentasi data kepada pengguna.
  • Controller: Mengelola logika aplikasi dan interaksi pengguna, memproses input, dan menentukan tampilan mana yang harus ditampilkan.

Dengan memahami peran masing-masing komponen MVC di CodeIgniter, pengembang dapat mengorganisir kode dengan lebih baik, meningkatkan keterbacaan, dan mempermudah pemeliharaan aplikasi. Semua komponen saling berinteraksi untuk menciptakan aplikasi yang terstruktur dan efisien.

Leave a Comment