Konsep Model View Controller (MVC) pada Codeigniter

Apa itu MVC? Model, View, Controller (MVC) merupakan sebuah konsep arsitektur dalam pengembangan aplikasi berbasis web yang akan membagi aplikasi web menjadi 3 bagian. Tiap-tiap bagian ini memiliki fungsi yang berbeda-beda dan saling berkaitan. Seperti namanya, 3 bagian tersebut adalah Model, View, dan Controller. Berikut ini adalah fungsi dari ketiga bagian tersebut:
konsep-model-view-controller-mvc-pada-codeigniter
source: http://www.mindfiresolutions.com/blog/wp-content/uploads/Pros-and-Cons-of-CodeIgniter-Framework.jpg
  1. Model adalah bagian yang akan memproses data. Biasanya pada Model akan berisikan fungsi-fungsi yang membantu kalian untuk membuat, mengambil, memasukkan, memperbarui dan menghapus data pada database kalian.
  2. View adalah bagian yang akan menampilkan informasi kepada user/pengguna. View biasanya berisikan halaman web. Tetapi di Codeigniter, View juga bisa berupa potongan-potongan halaman seperti header atau footer.
  3. Controller adalah bagian yang berfungsi sebagai perantara antara Model dan View untuk memproses permintaan HTTP oleh pengguna dan menghasilkan halaman web.

Konsep Model View Controller (MVC) pada Codeigniter

    Supaya lebih memahami konsep MVC, mari kita bahas satu persatu Model, View, dan Controller.

    Controller

    Bagian-bagian URL pada codeigniter atau yang bisa disebut URI Segment:

    • Jika kamu sudah memakai hosting:
      http://webkamu.com/index.php/home/article/2018/12
    • Jika kamu masih menggunakan localhost
      http://localhost/belajarci/index.php/home/article/2018/12
    Keterangan:
    • webkamu.com adalah nama domain web kamu, jika kalian masih menggunakan localhost (xampp) nama nya jadi localhost/belajarci (belajarci adalah nama folder kamu menyimpan installan Codeigniter di htdocs)
    • home adalah Controller yang diakses (URI Segment pertama)
    • article Method yang diakses (URI Segment Kedua)
    • 2018/12 adalah Parameter yang akan diproses method (URI Segment Ketiga, Keempat, dan seterusnya)

    Membuat Controller di CodeIgniter

    Buka folder “application/controllers” pada folder kamu menyimpan installan codeigniter di htdocs . Lalu buat file baru dengan nama “Home.php”. Lalu ketikkan kode dibawah ini:

     <?php
       class Home extends CI_Controller {
          public function index() {
             echo "Halo, aku sedang belajar CI";
          }
       }
    ?> 

    Nama kelas harus sama dengan nama file controller-nya, misalkan tadi kita buat Home.php Contohnya class Home extends CI_Controller


    Memanggil Controller di Codeigniter

    Untuk memanggil Controller yang telah kalian buat tadi, kalian bisa membuka URL berikut.
    http://localhost/belajarci/index.php/home
    Dimana “belajarci” pada url diatas adalah nama folder installan codeigniter kamu di htdocs sedangkan “home” adalah nama controller yang akan dipanggil.

    Membuat dan memanggil Method di Codeigniter

     Pada tutorial membuat controller diatas terdapat sebuah method “index” yang akan terpanggil otomatis apabila tidak ada method yang didefinisikan pada URL.
    http://localhost/belajarci/ index.php/home
    Method kosong, sehingga web akan memuat method index yang ada pada controller home.
    http://localhost/belajarci/ index.php/home/about
    Method “about” dipanggil, sehingga web akan memuat method “about” yang ada pada controller home.
    Sekarang mari kita belajar membuat dan memanggil method pada codeigniter, berikut ini adalah caranya.
    Buka file controller Home yang tadi kalian buat, tambahkan kode berikut dibawah method index.

     public function about() {
        echo "halo, nama saya adalah xxxx";
    } 


    File controller Home akan menjadi:

     <?php
        class Home extends CI_Controller {
            public function index() {
                echo "Halo, aku sedang belajar CI";       
            }
    
            public function about() {
                echo "halo, nama saya adalah xxxx";
            }
        }
    ?> 

    Sekarang kamu coba memanggil method yang telah kita buat, dengan mengakses URL berikut.
    http://localhost/belajarci/ index.php/home/about
    Setelah mengakses URL diatas, web akan memuat tampilan teks seperti yang ada di dalam method about yaitu “halo, nama saya adalah xxxx".

    Mengirim variabel melalui URL di Codeigniter

    Jika URL yang akan diakses lebih dari dua segmen dimana segmen pertama adalah controller dan segmen kedua adalah method, maka segmen selebihnya akan diteruskan ke method sebagai parameter.
    Contohnya, kita akan mengakses URL seperti ini
    http://localhost/belajarci/index.php/home/artikel/2018/desember
    URL tersebut akan mengirimkan URI Segmen ke 3 dan 4 yaitu (“2018” dan “desember”). Untuk menerima variabel tersebut, mari kita buat method sebagai berikut.

     public function artikel($tahun, $bulan){
        echo $tahun;
        echo $bulan;
    } 


    View

    View dapat berupa halaman web yang sederhana atau kompleks, yang dapat dipanggil oleh controller untuk ditampilkan kepada user. Halaman web bisa juga berisi header, footer, sidebar dll. View tidak bisa dipanggil secara langsung oleh user.

    Cara Membuat View di Codeigniter

    Sekarang kita membuat view sederhana, buat file baru dulu didalam folder “view” yang terletak di “application/views” dengan nama home.php dan masukkan kode dibawah ini pada file tersebut.

     <!DOCTYPE html>
    <html lang = "en">
       <head>
          <meta charset = "utf-8">
          <title> Contoh View pada Codeigniter </title>
       </head>
       <body>
          Contoh View pada Codeigniter
       </body>
    </html> 

    Cara Memuat View di Codeigniter

    View dapat di muat dengan menambahkan kode berikut didalam method pada controller

    $this->load->view('nama_file');

    Untuk file view yang diletakkan didalam folder lain didalam folder “Views”, untuk memuatnya menggunakan kode berikut.

     $this->load->view('nama_folder/nama_file'); 


    Untuk menampilkan view yang telah dibuat tadi, mari kita memuat view “home.php” di method index pada controller Home. Ubah file controller Home menjadi seperti berikut.

     <?php
        class Home extends CI_Controller {
            public function index() {
                $this->load->view('home');     
            }
        }
    ?> 


    Sekarang coba akses URL http://localhost/belajarci/index.php/home

    Model

    Model dirancang untuk memanipulasi data pada database. Sebagai contoh, jika kalian membuat web yang akan berurusan dengan banyak data-data dan data tersebut akan disimpan didatabase, maka kalian harus membuat model yang berisikan fungsi-fungsi untuk memasukkan, menghapus, memperbarui dan mengambil data kalian di database.

    Cara Membuat Model di Codeigniter

    Model disimpan didalam folder “models” yang berada didalam “application/models”. Berikut ini adalah kode untuk membuat model di Codeigniter.

     <?php
       Class Nama_model_kamu extends CI_Model {
          Public function __construct() {
             parent::__construct();
          }
       }
    ?> 

    Kode diatas harus disimpan dengan nama “Nama_model_kamu.php”. Nama file dan nama class harus sama.

    Cara Memuat Model di Codeigniter

    Model dapat dimuat di controller dengan menambahkan kode berikut:

     $this->load->model('nama_model_kamu'); 

    Dimana nama_model_kamu adalah nama model yang akan dimuat. Setelah memuat model, kalian cukup memanggil method-nya dengan kode seperti dibawah.

     $this->nama_model->nama_method; 


    Kiraky
    Kiraky Kiraky adalah penulis utama dari blog ini yang sudah aktif dalam menulis di blog sejak 2008 dan suka membuat artikel tentang informasi, tips, dan trick.