Model View Controller merupakan suatu konsep yang cukup populer dalam
pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah
aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi
kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern
dalam suatu aplikasi yaitu :
View,
merupakan bagian yang menangani presentation logic. Pada suatu aplikasi
web bagian ini biasanya berupa file template HTML, yang diatur oleh
controller. View berfungsi untuk menerima dan merepresentasikan data
kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian
model.
Model,
biasanya berhubungan langsung dengan database untuk memanipulasi data
(insert, update, delete, search), menangani validasi dari bagian
controller, namun tidak dapat berhubungan langsung dengan bagian view.
Controller,
merupakan bagian yang mengatur hubungan antara bagian model dan bagian
view, controller berfungsi untuk menerima request dan data dari user
kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai
dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan
controller, sedangkan designer yang menangani bagian view, sehingga penggunaan
arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun
demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam
menangani variabel-variabel yang akan ditampilkan.
Ada beberapa
kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,
Performa sangat cepat
: salah satu alasan tidak menggunakan framework adalah karena eksekusinya
yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat
cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang
paling cepat dibanding framework yang lain.
Konfigurasi yang
sangat minim (nearly zero configuration) : tentu saja untuk
menyesuaikan dengan database dan keleluasaan routing tetap diizinkan
melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti
database.php atau autoload.php, namun untuk menggunakan codeigniter dengan
setting standard, anda hanya perlu merubah sedikit saja file pada folder
config.
Banyak komunitas:
dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi
dengan yang lain, baik itu bertanya atau teknologi terbaru.
Dokumentasi yang
sangat lengkap : Setiap paket instalasi codeigniter sudah disertai
user guide yang sangat bagus dan lengkap untuk dijadikan permulaan,
bahasanya pun mudah dipahami.
Dan banyak lagi yang lainnya.
B. PENGERTIAN CODEIGNITER
Codeigniter adalah sebuah aplikasi open source, yaitu aplikasi yang bebas
untuk digunakan oleh siapapun tanpa harus membayar lisensi untuk
menggunakannya.
Codeigniter juga merupakan sebuah framework untuk membangun sebuah aplikasi
website dinamis menggunakan PHP yang dapat digunakan dengan cepat dan mudah
tanpa harus membangun apilkasi PHP dari awal.
Kelebihan dari codeigniter dari framework lainnya adalah :
1. Mendukung PHP4 dan PHP 5
2. Dolumentasi yang sangat lengkap
3. mudah untuk dipelajari
4. Performa yang cepat,
5. Menggunakan MVC (Model View Controller) yang membedakan antara logika,
tampilan.
C. KONFIGURASI DASAR CODEIGNITER
Pada folder System/application/config,
terdapat beberapa file konfigurasi dasar untuk Codeigniter.
Di sini akan dibahas mengenai 4 file konfigurasi penting yang akan menetukan
kinerja Codeigniter, diantaranya : Config.php, database.php, autoload.php,
dan routes.php.
Pertama-tama kita bahas konfigurasi
Config.php
Pada config.php berisi konfigurasi dasar
dari aplikasi yang kita buat. Konfigurasi yang pertama adalah base URL dari
aplikasi kita. Kita menentukannya secara lengkap dengan menyertakan bagian
http:// juga, misalnya :
$config ['base_url'] = "http://webblog.com/";
Keuntungan menggunakan cara ini adalah kita tidak
perlu menulis ulang secara lengkap URL jika diperlukan, misalnya untuk
menentukan action pada form. Cukup menggunakan fungsi base_url. Apalagi jika
anda harus mengalihkan aplikasi kita pada web server lain, maka kita cukup
mengganti base_url nya. Hal kedua untuk konfigurasi adalah URL untuk homepage
dengan mengatur “$config ['index_page']“. Artinya, index.php akan muncul pada
homepage anda. contoh :
http://localhost/webblog/index.php/blog
Sehingga sebaiknya biarkan saja setting untuk
index page sesuai defaultnya, yaitu index.php
$config ['index_page'] = "index.php" ;
Setelah kita mengatur kedua konfigurasi di atas,
sebaiknya untuk yang lain dibiarkan dulu saja.
Yang kedua, sekarang kita bahas konfigurasi
dari database.php
File database.php berisi semua informasi yang
diperlukan untuk berhubungan dengan database. Saat ini, Codeigniter mendukung
MySQL(4.1 +), MySQLi, MS SQL, Postgres, Oracle, SQLite, dan ODBC. Untuk
berhubungan dengan database, cukup memasukkan informasi yang valid mengenai
hostname, username, password, nama database, dan driver database. misalnya :
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'simdik';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
terdapat 5 poin penting dalam konfigurasi database,
yaitu : hostname, username, password, database (nama databse) dan
dbdriver(engine RDBMS). Sesuaikan dengan yang ada di komputer kita, jika kita
mengisi dengan benar maka tidak akan ada masalah.
yang ke-tiga kita bahas mengenai konfigurasi
autoload.php
File autoload.php menspesifikasikan resource apa saja yang akan di load
secara otomatis oleh Codeigniter.
Dan yang ke-empat kita bahas mengenai konfigurasi pada routes.php
File konfigurasi routes.php di gunakan untuk melakukan remap URI request
agar mengarah ke suatu fungsi tertentu pada sebuah controller.Contoh, kita
memiliki sebuah controller bernama blog dengan fungsi index di
dalamnya. URI dari pasangan kombinasi controller atau fungsi akan tempak
seperti :
http://webblog.com/blog/index
Selanjutnya, jika controller kita memiliki sebuah fungsi halaman yang
menerima sebuah parameter berupa bilangan, URI akan tampak seperti :
http://webblog.com/blog/halaman/5
Nah, pada intinya konfigurasi diatas bertujuan untuk mempermudah kita dalam
penggunaan Codeigniter. Agar tidak memanggil berkali-kali suatu model atau
database, kita cukup mengkonfigurasi pada file Config.php.