+6281 911 911 301

Pengenalan Codeigniter dari Struktur Folder, Fungsi, dan Instalasinya

Framework Codeigniter adalah salah satu framework yang digunakan untuk membuat website dengan berbasiskan PHP. Framework ini menggunakan metode MVC dalam memanajemen bait program yang dibuat.

Dengan MVC (Model-View-Controller) maka anda dapat memisahkan bait program yang berupa pengelolaan data ke database, bait program yang mengatur tampilan, dan bait program yang mengontrol semua aktifitas yang ada di website. MVC dapat membuat bait program tampak rapi dan berkelompok, disamping hal tersebut membuat themplate dari bait program juga akan lebih mudah.

Framework Codeigniter terbaru dapat di download pada url https://codeigniter.com/download yang sampai saat ini sudah sampai versi 3.1.6. Silakan anda download sesuai versi yang anda inginkan. Pastikan anda sudah menyesuaikan system requirement yang dibutuhkan untuk versi CI yang anda download agar tidak ada masalah saat anda memanggilnya di server lokal maupun di live server (server hosting).

Ketika anda mengekstrak file codeigniter berekstensikan .zip maka anda akan dihadapkan dengan beberapa folder. Struktur folder dari hasil ekstrak yaitu sebagai berikut:

/
application
- cache
- config
- controller
- core
- helpers
- hooks
- language
- libtaries
- logs
- models
- third_party
- views

system
user_guide

Namun jangan kawatir tidak seluruh folder harus anda pelajari. Folder yang perlu anda perhatikan yaitu pada folder application yang meliputi beberapa folder yang bisa anda pelajari di awal dan mempelajari folder yang lain ketika ada kasus yang mengharuskan anda menggunakan folder tersebut. Saya akan merubah fokus folder yang perlu anda pelajari di awal yaitu sebagai berikut:

/
application
- config
- controller
- model
- views

Tujuan dari fokus folder yang saya maksud adalah untuk membuat anda tidak bingung dengan penggunaan dari folder yang ada di dalam codeigniter dan berfokus pada MVC saja.

Folder Config

folder config adalah folder yang digunakan untuk meletakkan file configurasi. Pada folder ini terdapat beberapa file dengan ekstensi php. Namun untuk fungsi standar kita hanya perlu fokus ke beberapa file berikut:

/
config
- autoload.php
- config.php
- database.php
- routes.php

autoload.php

File konfigurasi yang pertama yaitu autoload.php, file ini digunakan untuk mengatur fungsi-fungsi yang akan dimuat otomatis di awal ketika program dijalankan. Adapun fungsi yang dimaksud yaitu:
1. Packages
2. Libraries
3. Drivers
4. Helper files
5. Custom config files
6. Language files
7. Models

config.php

Pada file ini terdapat beberapa configurasi yang secara standar sudah terconfigurasi. Namun terdapat beberapa configurasi yang perlu diperhatikan yakni:
$config['base_url']
$config['index_page']
$config['encryption_key']

database.php

Dilihat dari nama filenya maka anda sudah dapat menangkap apa fungsi dari file ini. File database.php digunakan untuk melakukan konfigurasi yang berkaitan dengan konfigurasi database dari website yang akan dibuat. Adapun configurasi yang perlu diperhatikan yaitu:

- hostname
- username
- password
- database?

routes.php

Untuk anda yang belum memahami tentang route akan saya gambarkan tentang penggunaan dari route itu sendiri. Route adalah salah satu cara untuk mengatur jalur atau rute yang digunakan untuk mengakses sebuah halaman website. Route ini juga sering digunakan agar tampilan link dari website yang dibuat lebih simpel dan lebih mudah untuk dipahami. Route juga bisa diartikan sebagai versi alias dari jalur utama menuju alamat asli. 
Pada file routes.php yang merupakan bawaan codeigniter akan berisikan bait program seperti berikut:
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

Baca juga: Penerapan URL Routing pada Framework Codeigniter

Folder Controller

Folder controller adalah folder yang berfungsi untuk menyimpan file-file controller yang digunakan untuk mengatur alur proses aliran data atau fungsi yang dibuat. Controller adalah salah satu bagian yang sangat berperan dalam website berbasiskan MVC. Tanpa controller view atau model tidak akan bisa tampil atau berjalan dengan semestinya.

Didalam sebuah controller terdapat satu class yang disesuaikan dengan nama file yang dibuat dan beberapa fungsi yang disesuaikan dengan kebutuhan yang ada. Pembahasan lebih lanjut terkait peranan controller akan saya bahas di bagian bawah artikel ini.

Folder Model

Folder model adalah folder yang berisikan file berekstensikan php, diamana file ini berisikan bait program yang digunakan untuk pengelolaan data ke database. Dengan bantuan controller yang merujuk ke model yang sesuai dan function yang sesuai maka sebuah proses yang berkaitan dengan database sudah bisa dibuat. 

Folder Views

Folder views adalah sebuah folder yang digunakan untuk menampung bait program yang berisikan desain antarmuka website. Anda juga dapat membuat folder di dalam folder views untuk mempermudah pengelompokan desain antarmuka yang anda buat. Pembahasan lebih lanjut akan saya bahas dengan menggunakan contoh kasus.


Setelah memahami fungsi folder dan file yang sebelumnya telah dijelaskan maka selanjutnya dilanjutkan ke bagian cara instalasi dan penggunaannya. Sebelumnya ada beberapa hal yang perlu dipersiapkan antara lain

  1. Pastikan anda telah mengaktifkan Apache dan MySql di XAMPP anda.
  2. Pastikan anda telah mencopy file codeigniter ke direktori htdocs atau custum folder yang anda miliki dan sesuaikan nama folder dengan nama yang anda inginkan.

Instalasi Codeigniter

Intalasi codeigiter dapat dilakukan beberapa tahapan yaitu:

  1. Melakukan configurasi pada file config.php (config/config.php), seperti code berikut:
    $root = "http://".$_SERVER['HTTP_HOST'];
    $root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']).'/';
    
    $config['base_url'] = $root;
    $config['index_page'] = ''; 
    $config['encryption_key'] = 'ewnIQalwwwzFqPJ9QK6hCMqlaZ1UpNja';

    dua kode di atas ($root) digunakan untuk mengatur agar base_url yang sesuai dengan direktori atau alamat standar, seperti contoh http://www.mahadisuta.com/ atau http://localhost/codeigniter/, jadi dengan kode tersebut anda tidak perlu merubah setingan base_url ketika melakukan upload ke live server (hosting).

    Untuk configurasi index_page digunakan untuk mengatur index dari halaman utama, secara default diisikan dengan index.php. Jika anda mengisikan index_page dengan index.php maka ketika anda mengakses website akan url yang akan muncul http://www.domain.com/index.php. Sedangkan jika anda mengosongkan index_page maka url yang akan muncul saat mengakses website yaitu http://www.domain.com/ tanpa ada index.php di blakangnya.

    konfigurasi berikutnya yaitu encription_key, konfigurasi ini digunakan utuk menyimpan kunci encription yang digunakan pada librari enkripsi yang disediakan codeigniter. Biasanya berisikan 32 bit karkater yang diacak dengan tujuan kunci menjadi lebih kuat.

  2. mengatur default_controller atau controller utama yang digunakan. Pada bagian ini anda dapat mengatur controller utama yang akan dijadikan controller yang digunakan ketika user mengakses alamat yang ada pada base_url. Seperti contoh saya membuat controller dengan nama HomeControl.php dan akan menjadikannya sebagai controller utama maka dapat di ser seperti berikut di routes.php (config/routes.php).
    $route['default_controller'] = 'HomeControl';


  3. Seperti yang telah di atur pada routes.php, maka selanjutnya kita membuat sebuah controller yang yang diberi nama HomeControl.php. Terkait dengan controller, terdapat aturan terkait penamaan nama file untuk setiap controller yang dibuat dimana setiap nama controller harus dimulai dengan huruf besar. Seperti contoh HomeControl, di awal nama diawali huruf besar dan di blakangnya bebas tergantung keinginan anda.

    Kemudian buat class dan function di dalam HomeControl.php
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    
    class HomeControl extends CI_Controller 
    {
      function index()
      {
        
      }

    dengan bait program di atas maka anda telah membuat sebuah class dan function, namun belum ada yang bisa dilakukan dengan function yang telah dibuat.

  4. Selanjutnya kita akan menampilkan sebuah halaman yaitu halaman yang diambil dari file home.php yang ada di folder views. Sebelum diinisiasi pada function index yang ada di file HomeControl.php hendaknya dibuat sebuah file home.php pada folder views dengan mengisikan bait program berikut.
    <!DOCTYPE html>
    <html>
    <head>
      <title>Belajar Codeigniter bersama Mahadisuta</title>
    </head>
    <body>
      Ini tampilan yang diambil di folder views dengan menggunakan controller HomeControl
    </body>
    </html>


  5. Langkah selanjutnya yaitu memanggil view pada HomeControl dengan menggunakan code $this->load->view();
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    
    class HomeControl extends CI_Controller 
    {
      function index()
      {
         $this->load->view('home');    
      }
    }

    dengan kode tersebut maka halaman home.php sudah dapat diakses dan akan menampilkan sesuai dengan tampilan yang ada di home.php.

    Baca juga: Membuat Templit HTML pada Framework Codeigniter


Demikian artikel ini, untuk pembahasan terkait integrasi model dengan controller dan view akan saya bahas pada artikel selanjutnya. Semoga bermanfaat.

Artikel Terkait

Pengujian White Box dan Black box
Dipublikasikan
30 Nov 2017

Pengujian White Box dan Black box Wajib Dilakukan Seorang Developer

Pengujian sistem secara white box dan black box semestinya telah dilakukan oleh developer untuk memastikan kualitas dari sistem yang dibuat.
URL Routing pada Framework Codeigniter
Dipublikasikan
7 Nov 2017

Penerapan URL Routing pada Framework Codeigniter

Artikel ini akan menjelaskan kepada anda terkait penerapan routing (route) pada framework Codeigniter.
Fungsi index.html pada Folder Codeigniter
Dipublikasikan
29 Oct 2017

Fungsi index.html pada Folder Codeigniter

Artikel ini menjelaskan tujuan dari penggunaan index.html pada setiap folder di Framework Codeigniter
Htaccess redirect 301 pada Codeigniter
Dipublikasikan
2 Oct 2017

Htaccess Redirect 301 pada Codeigniter

Anda mendapat error 301 dari aplikasi SEO yang anda gunakan, anda dapat menggunakan cara ini untuk mengatasinya.
Membuat Templit HTML pada Framework Codeigniter
Dipublikasikan
8 Oct 2017

Membuat Templit HTML pada Framework Codeigniter

Membuat templit html pada CodeIgniter akan mempersimpel coding website anda dan sekaligus mempermudah anda dalam memanajemen halaman.
Redirect SSL pada Codeigniter dengan Hooks
Dipublikasikan
2 Oct 2017

Cara Redirect SSL pada Codeigniter dengan Hooks

Anda pengguna framework codeigniter dan saat ini kebingungan untuk redirect SSL, anda dapat membaca artikel ini.