Kita akan membuat semacam homepage dengan konsep URI. URI (Uniform Resource Identifier) berperan untuk mengakses sebuah halaman dalam aplikasi web, tak terkecuali di dalam CI.

Buat file home.php

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

class Home extends CI_Controller
{
   public function __construct()
   {
      parent::__construct();
   }
   public function manajemen_menu()
   {
      echo "Ini adalah halaman untuk manajemen menu";
   }
}
simpan di dalam folder codeigniter -> application -> controllers dengan nama home.php
Pada kasus di atas, URI-nya adalah ‘home/manajemen_menu’, di mana home berarti controller, dan manajemen_menu adalah suatu fungsi yang ada di controller home. Jadi, URI tersebut akan menjalankan apapun yang ada dalam fungsi manajemen_menu, yang merupakan salah satu fungsi yang ada di controller home.
setelah itu jalankan http://localhost/codeigniter/index.php/home/manajemen_menu pada web browser
Maka akan muncul tulisan:
Ini adalah halaman untuk manajemen menu
nah abis itu ketik ini:
bisa ga?
pasti muncul error huahahahaha
Kenapa?
Karena ga ada fungsinya. Kalo kita mengakses controller hometanpa diikuti dengan fungsi (seperti pada URL di atas), maka CI akan mengarahkan request ke fungsi index di controller yang sama.
Nah, kita kan belum punya fungsi index di controller home,  jadi  muncul lah itu si halaman 404.
Intinya, kita harus bikin suatu fungsi dulu pada controller kalo mau ngakses fungsi itu.
Sumber: