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:
source: http://www.mindfiresolutions.com/blog/wp-content/uploads/Pros-and-Cons-of-CodeIgniter-Framework.jpg |
- 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.
- 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.
- 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
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
- 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:
Nama kelas harus sama dengan nama file controller-nya, misalkan tadi kita buat Home.php Contohnya class Home extends CI_Controller
<?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.
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.
File controller Home akan menjadi:
Sekarang kamu coba memanggil method yang telah kita buat, dengan mengakses URL berikut.
Contohnya, kita akan mengakses URL seperti ini
http://localhost/belajarci/index.php/homeDimana “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/homeMethod kosong, sehingga web akan memuat method index yang ada pada controller home.
http://localhost/belajarci/ index.php/home/aboutMethod “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/aboutSetelah 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/desemberURL 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.
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.
Sekarang coba akses URL http://localhost/belajarci/index.php/home
$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;