Selamat datang di KOS-IT - Making and Developing…
Pada tutorial sebelumnya, kita sudah mengetahui cara menginstall Codeigniter dan mengenal struktur direktori dari Codeigniter.
Pada tutorial kali ini kita akan belajar tentang routing dan MVC pada projek 1 kita yaitu Sistem Management Kepanitaan.
Namun sebelum kita melakukannya ada baiknya kita berkenalan dulu dengan konsep dasar Codeigniter
Codeigniter adalah framework PHP yang menggunakan konsep MVC.
Apa itu MVC ?
Mari kita bahas
Mengenal Konsep MVC pada Codeigniter
Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller).
MVC membagi aplikasi ke dalam tiga bagian fungsional: model, view, dan controller.
- Model, Model mewakili struktur data. Model merupakan bagian yang bertugas untuk mengatur, menyiapkan, memanipulasi, dan mengorganisir data (biasanya dari basis data). Tugas yang ia lakukan meliputi memasukkan data ke basis data, pembaruan data, menghapus data, dan lain-lain. Model menjalankan tugasnya berdasarkan instruksi dari controller.
- View, View merupakan bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.
- Controller, Controller merupakan bagian yang menjembatani model dan view. Controller berisi perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
Dengan menggunakan metode MVC maka aplikasi akan lebih mudah untuk dirawat dan dikembangkan. Untuk memahami metode pengembangan aplikasi menggunakan MVC diperlukan pengetahuan tentang pemrograman berorientasi objek (Object-oriented programming).
Alur kerja seperti ini
- Mulai;
- User mengirim request ke web;
- File yang pertama kali dieksekusi adalah
index.php
- Lalu dari
index.php
, request akan diteruskan olehrouters.php
routers.php
akan mencari cache di server, apabila tedapat cache maka cache itu yang akan dikirim sebagai balasan (response). Apabila tidak ada cache barulah request diteruskan ke Controller- Controller akan bertanggunag jawab untuk mengambil data dari Model dan me-rendernya ke dalam View dengan menggunakan library, plugin, dan helper yang ada.
- Hasil render (view) dikirim ke pengguna dan disimpan dalam cache, apabila fitur cache aktif
- Selesai.
Memahami Router pada Codeigniter
Router pada Codeigniter bertugas untuk menentukan controller dan method/fungsi yang akan dieksekusi.
Ketika kita membuka, http://localhost/simkep/ maka fungsi yang akan dieksekusi adalah fungsi index() yang berada di dalam controller welcome.
class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
Kenapa bisa begitu?
Ini karena konfigurasi router defaultnya adalah controller welcome
.
Coba saja buka pada file
config/routers.php
Fungsi index()
adalah fungsi yang akan dieksekusi saat kita mengakses controller welcome
.
Sekarang coba buka: http://localhost/simkep/index.php/welcome/index/ , maka kita akan mendapatkan hal yang sama seperti membuka http://localhost/simkep/..
Membuat Beberapa Router
Sebagai latihan, coba tambahkan route /about/
dan /contact/
di dalam Controller
Welcome
dengan method ini:
public function about()
{
// fungsi untuk me-load view about.php
$this->load->view('about');
}
public function contact()
{
// fungsi untuk me-load view contact.php
$this->load->view('contact');
}
Tambahkan di bawah method index()
.
Setelah itu tambahkan dua buah file view di dalam direktori
views
dengan isi sebagai berikut.
views/about.php
<h1>About Us</h1>
<p>Ini adalah halaman about</p>
views/contact.php
<h1>Contact Us</h1>
<p>Ini adalah halaman Contact</p>
Route sudah kita tambahkan.
Sekarang coba buka:
Hasilnya adalah akan terjadi error 404 not found.
Kenapa seperti itu?
Ini karena route yang baru saja kita buat, belum didaftarkan ke dalam routers.php
.
Sekarang buka file
config/routers.php
, lalu tambahkan kode berikut.
$route['about'] = 'welcome/about';
$route['contact'] = 'welcome/contact';
Tambahkan di bawah kode route yang sudah ada.
Hasilnya:
Apakah kita harus menambahkan route pada routers.php di setiap pembuatan route baru?
Jawabannya:
Tidak harus, karena CI juga mampu mendeteksi otomatis route berdasarkan nama controller dan method yang dibuat.
Ini formatnya:
http://example.com/[controller-class]/[controller-method]/[arguments]
Penambahan route pada
routers.php
dibutuhkan saat kita ingin membuat kustom route untuk controller tertentu.
Apa Selanjutnya?
Kita sudah belajar tentang MVC dan Route. Ini memang masih dasar. Selanjutnya nanti kita akan banyak menggunakannya.
Jadi, harap diphami betul dua hal ini.
Jika masih bingung, silahkan ditanyakan melalui komentar.
Berikutnya pelajari tentang:
- Tutorial SIMKEP dengan Codeiniter #3: (View) Cara Menggunakan Bootstrap pada Codeiniger
- Tutorial SIMKEP dengan Codeiniter #4: (View) Membuat Template Admin
- Tutorial SIMKEP dengan Codeiniter #5: (Model) Membuat CRUD yang Baik
- Tutorial SIMKEP dengan Codeiniter #6: Membuat Fitur Login
- Tutorial SIMKEP dengan Codeiniter #7: Membuat Fitur Upload Gambar
- Tutorial SIMKEP dengan Codeiniter #8: Membuat Fitur Pencarian (Admin)
- Tutorial SIMKEP dengan Codeiniter #9: Membuat Template untuk Landing Page dan Produk
- Tutorial SIMKEP dengan Codeiniter #10: Membuat Pagination
- Tutorial SIMKEP dengan Codeiniter #11: Cara Menggunakan Databales dan Optimasi
- Tutorial SIMKEP dengan Codeiniter #12: Cara Membuat Laporan dengan DomPDF
Selamat belajar.
# Sebelumnya