MVC
What Is It?

Model View Controller (MVC)

Model View Controller atau yang biasa disebut dengan MVC merupakan sebuah design pattern yang digunakan untuk mengatur file. MVC memisahkan data logic (Model) dari presentation logic (View) dan process logic (Controller). Atau secara sederhana konsep MVC adalah memisahkan antara desain interface, data, dan proses.

MVC adalah konsep yang sangat umum digunakan dalam banyak kerangka kerja pengembangan perangkat lunak, termasuk kerangka kerja web seperti CodeIgniter, Laravel, Ruby on Rails, dan banyak lainnya.

Model

  • Model digunakan untuk model bisnis dan mengelola data
  • Model biasanya berhubungan dengan database untuk manipulasi data.
  • Pada CodeIgniter, biasanya model disimpan pada app/Models.
  • Contoh impelementasi database pada folder Models dengan nama class MahasiswaModel
<?php

namespace App\Models;

use CodeIgniter\Model;

class MahasiswaModel extends Model
{
    public function getMahasiswa()
    {
        $db = db_connect();
        $sql = "SELECT * from mahasiswa";

        $data = $db->query($sql);
        return $data->getResult();
    }
}
PHP

View

  • View berisi kode program untuk menampilkan informasi kerpada pengguna
  • Pada CodeIgniter, biasanya view disimpan pada app/Views.
  • Contoh impelementasi tampilan user interface Daftar Mahasiswa pada folder Views dengan nama class v_mahasiswa
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Daftar Mahasiswa</title>
</head>

<body>
    <table id="list-data" class="display">
        <thead>
            <tr>
                <th>NIM</th>
                <th>Nama</th>
                <th>Tingkat</th>
                <th>Alamat</th>
            </tr>
        </thead>
        <?php
        foreach ($mahasiswa as $key => $id_mhs) {
        ?>
            <tr>
                <td><?php echo $id_mhs->nim; ?></td>
                <td><?php echo $id_mhs->nama_mhs; ?></td>
                <td><?php echo $id_mhs->tingkat; ?></td>
                <td><?php echo $id_mhs->alamat; ?></td>
            </tr>
        <?php
        }
        ?>
    </table>
</body>

</html>
PHP

Controller

  • Controller adalah pernghubung antara view dan model, karena model tidak dapat berhubungan langsung dengan view ataupun sebaliknya
  • Tugas controller adalah sebagai pemrosesan data atau alur logic program, menyediakan variabel yang akan ditampilkan di view, pemanggilan model sehingga model dapat mengakses database
  • Pada CodeIgniter, biasanya controller disimpan pada app/Controllers.
  • Contoh impelementasi pemrosesan alur data Mahasiswa pada folder Controllers dengan nama class Mahasiswa
<?php

namespace App\Controllers;

use App\Models\MahasiswaModel;

class Mahasiswa extends BaseController
{
    function __construct()
    {
        $this->mhs = new MahasiswaModel();
    }

    public function index()
    {
        $listMahasiswa = $this->mhs->getMahasiswa();

        $data['mahasiswa'] = $listMahasiswa;

        echo view('v_mahasiswa', $data);
    }
}
PHP

Jika project di-running pada web browser dengan memanggil url halaman yang di-request yaitu daftar-mahasiswa, maka tampilan yang muncul adalah sebagai berikut:

contoh memanggil alamat url localhost/web_ci4_pra/ci4_mvc/public/daftar-mahasiswa
gambar ilustrasi konsep MVC

a founder of december skies code, a software engineering teacher, and a lifelong learner who just tries her best at whatever she does. let's work together!

Leave a Reply

Your email address will not be published. Required fields are marked *