Tuesday, September 19, 2017

Mengenal Framework PHP CodeIgniter


 
             
  CodeIgniter adalah Kerangka Pengembangan Aplikasi - toolkit - untuk orang-orang yang membangun situs web menggunakan PHP. Tujuannya adalah untuk memungkinkan Anda mengembangkan proyek lebih cepat daripada yang Anda bisa jika Anda menulis kode dari nol, dengan menyediakan seperangkat perpustakaan yang kaya untuk tugas yang biasa dibutuhkan, serta antarmuka sederhana dan struktur logis untuk mengakses perpustakaan ini. CodeIgniter memungkinkan Anda memfokuskan secara kreatif pada proyek Anda dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas tertentu.
Download CodeIgniter

Codeigniter pertama kali ditulis oleh Rick Ellis, seorang musisi rock yang beralih profesi menjadi seorang programmer. Penulisan dilakukan Rick setelah melakukan suatu riset. Dalam riset tersebut, Rick menilai bahwa Framework PHP yang ada saat ini :
a.       Menggunakan banyak asumsi bahwa pemrograman memiliki ketrampilan tinggi dan pengetahuan luas.
b.      Mempersyaratkan ketergantungan pada PEAR (PHP Extension and Repository) dan banyak aplikasi Open Source lain.
c.       Hanya kompatibel dengan PHP 5.
d.      Berukuran terlalu besar atau terlalu minimalis untuk digunakan.
e.       Dokumentasinya kurang baik. Itu pun jika memiliki dokumentasi

Codeigniter dalam pengembangannya mendukung arsitektur Model-View-Controller (MVC). MVC sendiri muncul sejak era 70-an atas pemikiran Prof. Trygve Reenskaug, seorang berkebangsaan Norwegia. Dasar arsitektur ini adalah pemisahan antara logika aplikasi dengan tampilan, sehingga resiko terjadinya bug juga minimal, serta meningkatkan efesiensi pembangunan aplikasi.
Keunggulan Codeigniter dari pada Framework lain adalah:
a.       Codeigniter bersifat open source (gratis) sehingga dapat dikembangkan dengan luas.
b.      Codeigniter ringan digunakan untuk semua platform.
c.       Konsep MVC (Model-View-Controller) sehingga mempermudah pembedaan antara tampilan dan program.
d.      Friendly URL.
e.       Codeigniter mempunyai dokumentasi (user_guide) yang lengkap serta fungsi pada Codeigniter dapat ditambahkan.
f.       Ditulis menggunakan PHP 4 dan PHP 5.
g.      Memiliki paket Library yang lengkap.
h.      Dokumentasi lengkap dan jelas.

Untuk dapat menjalankan Codeigniter diperlukan server yang dapat menjalankan PHP versi atau yang lebih tinggi. Codeigniter mendukung berbagai jenis database, antara lain, RDBMS, MySQLi, Ms. Access, SQL Server, Postgres, oracle, SQLite dan ODBC.
Codeigniter juga mendukung berbagai macam fitur dalam pengembangan sistem, antara lain :
a.       Bekerja berdasarkan konsep MVC (Model-View-Controller)
b.      Mendukung PHP 4 dan 5
c.       Ringan dan cepat
d.      Mendukung berbagai jenis basis data
e.       Form dan Validasi
f.       Keamanan dan XSS Filtering
g.      Mendukung Active Record Database
h.      Pengaturan Session
i.        Tersedia kelas untuk pengiriman email
j.        Mendukung lokalisasi Bahasa
k.      Mendukung enkripsi data
l.        Mendukung caching
m.    Mendukung benchmarking
n.      Menghasilkan clean URL
o.      Memiliki helper dan library yang banyak
p.      Mencatat error yang terjadi
q.      Mendukung ektensi class dan plugin
r.        Class mendukung transfer via FTP

Codeigniter dalam prosesnya memiliki beberapa tahapan yang harus di lewati, alur kerjanya dapat di lihat pada Gambar 


Gambar Struktur Codeigniter

Dari gambar diatas dapat dijelaskan sebagai berikut :
a.       Index.php merupakan controller awal yang menginisialisasikan kebutuhan menjalankan Codeigniter.
b.      Router/Routing merupakan bagian yang menentukan kegiatan yang harus dilakukan ketika ada request dari client.
c.       Caching merupakan bagian yang melakukan cek apakah data sudah pernah diminta atau belum.
d.      Security sebelum aplikasi dikirimkan, maka akan terlebih dahulu data tersebut di filter sebagai keamanan.
e.       Controller merupakan pengendalai dari jalanya aplikasi, dan akan segera memproses sesuai request yang diminta.
f.       View merupakan bagian untuk menyajikan suatu informasi ke client/browser sesuai dengan permintaan.



No comments:

Post a Comment