Tutorial Codeigniter Untuk Pemula

Sesuai judulnya Tutorial Belajar Codeigniter untuk pemula, di sini kita akan belajar Codeigniter dari awal, dimulai dari pengertian dan pengenalan terlebih dahulu ga langung tiba-tiba ngoding.

1. Pengenalan Codeigniter

Codeigniter merupakan suatu Web Application Framework (WAF) yang dirancang khusus untuk mempermudah developer web dalam mengembangkan aplikasi berbasis web.

Codeigniter berisi kumpulan kode berupa pustaka (library) dan alat (tools) yang dipadukan sedemikian rupa menjadi suatu kerangka kerja (framework). 

Codeigniter adalah framework web untuk bahasa pemrograman PHP yang rancang oleh Rick Ellis pada tahun 2006, penemu dan pendiri EllisLab (www.ellislab.com).

Ellislab adalah tim kerja yang berdiri pada tahun 2002 dan bergerak di bidang pembuatan software dan tool untuk para pengembang web.

Sejak tahun 2014 sampai sekarang, EllisLab telah menyerahkan hak kepemilikan codeigniter ke British Columbia Institute of Technology (BCIT) untuk proses pengembangan lebih lanjut.

Codeigniter memiliki banyak fitur (fasilitas) yang membantu para pengembang PHP untuk dapat membuat aplikasi web secara mudah dan cepat.

Codeigniter memiliki desain yang lebih sederhana dan bersifat fleksibel (tidak kaku).

Codeigniter mengizinkan para pengembang web untuk menggunakan framework secara parsial atau secara keseluruhan.

Ini berarti bahwa codeigniter masih memberikan kebebasan kepada pengembang untuk menulis bagian-bagian kode tertentu di dalam aplikasi menggunakan cara konvensional (tanpa framework).

Codeigniter menganut pola desain atau arsitektur Model-View-Controller (MVC) yang memisahkan bagian kode untuk penanganan proses bisnis dengan bagian kode untuk keperluan presentasi (tampilan).

Dengan menggunakan pola desain ini, memungkinkan para pengembangan web untuk mengerjakan aplikasi berbasis web secara bersama (teamwork).

Dengan begitu para pengembang web lebih berfokus pada bagiannya masingmasing tanpa mengganggu bagian yang lain.

Sehingga aplikasi yang dibangun akan selesai lebih cepat.


2. Keunggulan Codeigniter

Codeigniter merupakan sebuah toolkit yang ditujukan untuk Anda yang ingin membangun aplikasi berbasis web dalam bahasa pemrograman PHP.

Adapun beberapa keunggulan yang ditawarkan oleh codeigniter adalah sebagai berikut:

  1. Codeigniter adalah framework PHP yang bersifat open-source.
  1. Codeigniter memiliki ukuran yang kecil dibandingkan dengan framework lain. Setelah proses intalasi, framework Codeigniter hanya berukuran kurang lebih 2 MB (tanpa dokumentasi atau jika user_guide dihapus).
  1. Aplikasi yang dibuat menggunakan codeigniter bisa bejalan cepat.
  1. Codeigniter menggunakan pola desain Model-View-Controller (MVC) sehingga satu file tidak terlalu berisi banyak kode. Hal ini menjadikan kode lebih mudah dibaca, dipahami, dan dipelihara di kemudian hari.
  1. Codeigniter dapat diperluas sesuai dengan kebutuhan.
  1. Codeigniter terdokumentasi dengan baik informasi tentang pustaka (Library) dan fungsi yang disediakan oleh codeigniter dapat diperoleh melalui dokumentasi yang disertakan di dalam paket distribusinya.
  1. Codeigniter memiliki library dan helper yang lengkap.
  1. Codeigniter memiliki security yang handal seperti xss filtering, session encryption, dan lain-lain.
  1. Codeigniter mengizinkan pengembang web menggunakan library atau helper yang tidak disediakan oleh codeigniter seperti: Google Map API, Facebook API, fpdf, dan lain sebagainya.
  1. Codeigniter bersifat tidak kaku. sehingga memberikan kebebasan kepada developer web untuk mengembangkan aplikasi berbasis web bahkan tanpa framework.
  1. Codeigniter memiliki komunitas yang besar dan tersebar di seluruh dunia, sehingga memudahkan para pengembang web untuk memecahkan permasalahan (problem solving) yang dihadapi para pengembang web di saat mengembangkan aplikasi berbasis web.
  1. Codeigniter mendukung banyak RDBMS (Relational Database Management System) seperti MySQL, MySQLi, SQL Server, Oracle, Maria DB, PostgreSQL, SQLite, dan lain sebagainya.
  1. Codeigniter pada dasarnya menganut Clean URL dan mendukung SEO (Search Engine Optimazation).



Sebelum controller dipanggil, HTTP request dan data yang dikirimkan pengguna akan di sortir terlebih dahulu untuk alasan keamanan.
Controller memanggil file Model, Library, Helper, dan file lain yang dibutuhkan untuk menangani HTTP request.
Hasil akhirnya akan ditampilkan oleh file View kemudian dikirimkan ke browser pengguna untuk ditampilkan.
Jika modus caching diaktifkan, hasil view akan di-cache terlebih dahulu.
Sehingga jika nanti ada request yang sama, bisa langsung digunakan.
x

Sehingga setiap aplikasi yang dibangun menggunakan codeigniter lebih mudah di index oleh search engine populer seperti google, yahoo, msn, dan lain sebagainya.


3. Model-View-Controller (MVC)

Seperti yang saya singgung sebelumnya bahwa codeigniter menganut arsitektur Model-View-Controller (MVC).

Jadi, sangatlah penting bagi Anda untuk mengetahui konsep dari desain MVC ini. 

Apa itu Model-View-Controller (MVC)?

MVC adalah sebuah pendekatan yang ditempuh untuk memisahkan aplikasi menjadi tiga bagian, yaitu Model, View, dan Controller.

MVC memberikan struktur kepada aplikasi, sehingga dapat di capai “code reusability”.

Berikut penjabaran dari komponen-komponen MVC:

1. Model

Model merepresentasikan data yang digunakan aplikasi, seperti database, RSS, atau data yang diperoleh dari pemanggilan API, dan aksi yang melibatkan operasi Create, Read, Update, dan Delete (CRUD) data.

2. View

View adalah informasi yang ditampilkan kepada user melalui browser. Biasanya berupa file HTML atau kode PHP yang menyusun template untuk sebuah website.

Pada codeigniter, view dapat berupa bagian-bagian sebuah halaman, template, atau jenis lain dari halaman atau template.

3. Controller

Controller adalah “business logic” yang bertugas sebagai jembatan antara model dan view.

Controller akan merespon HTTP request yang datang dari user (melalui browser), dari request ini controller akan menentukan apa yang harus dilakukan.

Didalam codeigniter, secara detail MVC digambarkan sebagai berikut:

Pada gambar diatas, file “Index.php” berperan sebagai controller utama yang memanggil fungsifungsi dasar yang digunakan untuk menjalankan controller.

Router memeriksa HTTP request kemudian memutuskan Controller mana yang akan digunakan untuk menangani request tersebut.

Apabila file cache tersedia, alur aplikasi akan dilewati dan file cache tersebut yang akan dikirimkan ke browser pengguna.