CodeIgniter

Belajar CodeIgniter Part 1: Tutorial Membuat Controller

Selamat datang. Salam kembali jumpa di pertemuan yang pertama dalam sesi belajar CodeIgniter.

Pada kesempatan kali ini saya akan mengulas tentang cara membuat controller, pengaturan dasar dan cara menggunakan controller pada CodeIgniter.

Seperti yang sudah dijelaskan sebelumnya tentang Pengertian CodeIgniter, bahwa CodeIgniter menggunakan metode MVC untuk menciptakan syntax yang bersih. Asumsikan untuk memahami konsep OOP terlebih dahulu sebelum memulai belajar CodeIgniter. Karena CodeIgniter dibangun menggunakan konsep OOP (Object Oriented Programming).


Apa Itu Controller CodeIgniter

Sesuai dengan namanya, jika kita artikan kedalam bahasa Indonesia yang artinya pengatur atau pengontrol, nah yang dimaksud pengontrol disini adalah, controller yang berperan sebagai pengatur aksi dari aplikasi yang kita bangun.

Misalnya, CodeIginiter controller yang berperan paling penting dimulai mengirimkan parameter, menangani inputan form, mengatur view dan model, helper codeigniter atau mengaktifkan library dan masih banyak lagi.

Untuk memahami cara menggunkan Controller sekarang kita coba menjalankan project CodeIgniter yang sudah diinstall pada localhost, silahkan teman – teman buat dulu folder baru pada htdocs/nama_folder, disini saya membuat folder dengan nama irvan_gen kemudian copy CodeIgniter pada folder tersebut.

Setelah itu, untuk menjalankannya buka browser dan tuliskan localhost/nama_folder pada address bar, maka akan muncul welcome page CodeIgniter. Ini karena pengaturan default controller yang dijalankan pertama kali. Dapat dilihat pada application/controllers/welcome.php controller ini memanggil view welcome_message.php yang terletak pada folder view.

Jadi secara default saat pertama kali kamu menjalankan CodeIgniter, controller yang pertama kali dijalankan adalah controller welcome. Hal ini dapat kamu lihat pada pengaturan routes CodeIgniter yang menetapkan controller welcome sebagai controller default.

Baca: Pengertian & Pengenalan Framework CodeIgniter

Buka project controller yang sudah kamu letakkan pada localhost dan buka file routes.php yang terletak pada application/config/routes.php

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

Nah kita lihat kode program diatas, bahwa default_controller secara default menetapkan welcome, ada juga pengaturan untuk menangani halaman 404 atau halaman yang ditampilkan tidak dapat ditemukan, kamu dapat mengatur halaman 404 dengan cara memasukan controller yang ingin dijadikan sebagai halaman 404 pada aplikasi yang kamu buat.

$route[‘translate_uri_dashes’] = FALSE; adalah pengaturan untuk menetapkan nilai true/false untuk izin penggunaan “” (dash) pada controller di url saat dijalankan.

controller default ini dapat diakses dengan url

http://localhost/irvan_gen

maka akan muncul controller default codeigniter yaitu, controller welcome. Atau kamu bisa akses alamat ini.

http://localhost/irvan_gen/index.php/welcome

Cara Membuat Controller Pada CodeIgniter

Untuk membuat controller baru pada CodeIgniter kamu dapat membuat file baru pada application/controller/. Contoh disini saya membuat sebuah controller belajar.php untuk mendefinisikan class belajar, buat class baru dalam file belajar.php

application/controller/belajar.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Belajar extends CI_Controller {
	
	function __construct(){
		parent::__construct();
		
	}

	public function index(){
		echo "Ini adalah method Index pada controller belajar | Cara membuat controller pada CodeIgniter | IRVAN GEN";
	}

	public function halo(){
		echo "Ini adalah method Halo pada controller belajar | Cara membuat controller pada CodeIgniter | IRVAN GEN";
	}

}

Dapat dilihat pada controller yang saya buat diatas, pertama kali yang harus kita lakukan adalah extends controller baru dengan CI_Controller.

class Belajar extends CI_Controller {

Nama class harus diawali dengan huruf besar dan nama class harus sesuai dengan nama file controller yang dibuat, karena disini saya membuat file controllernya belajar.php maka penulisannya seperti diatas.

defined('BASEPATH') OR exit('No direct script access allowed');

Syntax diatas untuk mencegah akses langsung pada file controller. Kemudian kamu dapat membuat function construct() untuk menjalankan yang diinginkan pada saat contoller diakses. Biasanya pada fungsi construct() diletakan fungsi untuk memanggil library atau helper.

Kemudian untuk contoh method pada controller ini saya membuat dua buah method yaitu index dan halo.

public function index(){
	echo "ini adalah method Index pada controller belajar | Cara membuat controller pada codeigniter | IRVAN GEN";
}

public function halo(){
	echo "ini adalah method Halo pada controller belajar | Cara membuat controller pada codeigniter | IRVAN GEN"; 
}

untuk menjalankan method index, silahkan akses url dibawah ini

localhost/nama_folder/index.php/belajar

Untuk method index tidak boleh ditulis karena pada saat controller diakses, maka yang pertama dijalankan adalah method index.

Atau bisa juga.

localhost/nama_folder/index.php/belajar/index
Method Index - #IRVANGEN
Method Index – #IRVANGEN

Untuk mengakses method Halo dapat mengetik url dibawah ini

localhost/nama_folder/index.php/belajar/halo
Method Halo - #IRVANGEN
Method Halo – #IRVANGEN

Dan apabila kamu ingin menjalankan controller belajar ini sebagai controller default, kamu hanya tinggal setting pada bagian application/config/router.php

$route['default_controller'] = 'welcome';

welcome ganti dengan belajar.

$route['default_controller'] = 'belajar';

Selamat mencoba.


Penutup

Mungkin itu saja yang dapat saya sampaikan di pertemuan ini tentang Tutorial Membuat Controller Pada CodeIgniter. Jika kurang mengerti atau salah dalam penulisan maupun penyampaian, silahkan diskusikan di form komentar, semoga apa yang sudah kita pelajari dapat bermanfaat bagi kita semua.

Terimakasih.

Written by Irvan Nurfazri
No one can bring you true happiness except Allah. Founder Hobigame.id Instagram : ig.com/irvan_gen Profile

Leave a Reply

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