Pengenalan Codeigniter
Hallo sahabat sekalian, pada tutorial kali ini kita akan membahas tentang framework php yaitu codeigniter.
Ayo Langsung aja!
Codeigniter merupakan suatu Web Application Framework (WAF) yang dirancang khusus untuk mempermudah para developer web dalam mengembangkan apilkasi berbasis web. Codeigniter berisi kumpulan kode berupa pustaka (library) dan alat (tools) yang dipadukan sedemikian rupa menjadi suatu kerangka kerja (framework).
- Kenapa harus codeigniter?
Codeigniter adalah framework web untuk bahasa pemrograman PHP, yang dibuat 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. Saat ini, situs web resmi dari Codeigniter telah berubah dari
www.ellislab.com menjadi
www.codeigniter.com
- Apa bedanya dengan PHP Native?
Codeigniter memiliki banyak fitur (fasilitas) yang membantu pada pengembang PHP untuk dapat membuat aplikasi web secara mudah dan cepat. Dibandingkan dengan framework web PHP lainnya, harus diakui bahwa Codeigniter memiliki desain yang lebih sederhana dan bersifat fleksibel (tidak kaku).
Codeigniter mengizinkan para pengembang untuk menggunakan framework secara parsial atau secara keseluruhan. Ini berarti bahwa codeigniter masih memberi 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, memungkin para pengembang web untuk mengerjakan aplikasi berbasis web secara bersama (teamwork). Dengan begitu para pengembang web lebih bisa berfokus pada bagiannya masing-masing tanpa mengganggu bagian yang lain. Sehingga aplikasi yang dibangun akan selesai lebih cepat.
Sekian dulu pembahasan tentang Codeigniter, semoga sahabat semua dapat memahaminya dengan baik. berikutnya kita akan membahas kenapa kita perlu belajar membuat aplikasi berbasis web menggunakan codeigniter.
- Beberapa keunggulan Codeigniter
Codeigniter merupakan sebuah toolkit yang ditujukan untuk orang yang ingin membangun aplikasi berbasis web dalam bahasa pemrograman PHP. Beberapa keunggulan yang ditawarkan oleh Codeigniter adalah sebagai berikut:
- Codeigniter adalah framework PHP yang bersifat open-source.
- 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).
- Aplikasi yang dibuat menggunakan codeigniter bisa bejalan cepat.
- 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.
- Codeigniter dapat diperluas sesuai dengan kebutuhan.
- Codeigniter terdokumentasi dengan baik informasi tentang pustaka kelas (Library) dan fungsi yang disediakan oleh codeigniter dapat diperoleh melalui dokumentasi yang disertakan di dalam paket distribusinya.
- Codeigniter memiliki library dan helper yang lengkap.
- Codeigniter memiliki security yang handal seperti xss filtering, session encryption, dan lain-lain.
- Codeigniter mengizinkan pengembang web menggunakan library atau helper yang tidak disediakan oleh codeigniter seperti: Google Map API, Facebook API, fpdf, dan lain sebagainya.
- Codeigniter bersifat tidak kaku. sehingga memberikan kebebasan kepada developer web untuk mengembangkan aplikasi berbasis web bahkan tanpa framework.
- 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.
- Codeigniter mendukung banyak RDBMS (Relational Database Management System) seperti MySQL, MySQLi, SQL Server, Oracle, Maria DB, PostgreSQL, SQLite, dan lain sebagainya.
- Codeigniter pada dasarnya menganut Clean URL dan mendukung SEO (Search Engine Optimazation). Sehingga setiap aplikasi yang dibangun menggunakan codeigniter lebih mudah di index oleh search engine populer seperti google, yahoo, msn, dan lain sebagainya.
- Pengetahuan Apa yang diperlukan untuk mempelajari Codeigniter?
Codeigniter adalah framework web untuk PHP. Pada saat menggunakan Codeigniter, sebelumnya Anda harus sudah akrab dengan proses pembuatan web secara manual menggunakan PHP (tanpa framawork).
Dengan kata lain, sebelum menggunakan Codeigniter Anda harus memiliki pengetahuan tentang bahasa pemrograman PHP terlebih dahulu. Tidak harus mahir yang penting secara konsep Anda memahaminya. Selain itu, Codeigniter merupakan framework web yang mengimplementasikan pola desain MVC (Model-View-Controller).
Pada teknik pemrograman menggunakan arsitektur MVC, kita akan banyak bekerja dengan pembuatan Model, View, dan Controller. Model dan Controller merupakan komponen aplikasi yang berupa kelas, dan kelas merupakan jantung dari gaya pemrograman berorientasi objek.
Maka dari itu, pada saat menggunakan Codeigniter, Anda juga harus memiliki pengetahuan tentang konsep pemrograman berorientasi objek beserta implementasinya.
Untuk keperluan pengaksesan database, Anda juga perlu memiliki pengetahuan tentang SQL (Structured Query Language) yaitu sebuah bahasa standard yang digunakan oleh seluruh DBMS (Database Management System).
Saya simpulkan dalam beberapa point:
1. HTML (Hypertext Markup Language)
Untuk belajar membuat aplikasi berbasis web, tentu saja tidak luput dari yang namanya HTML. Karena HTML merupakan bahasa permrograman web yang paling dasar dan berjalan di client-side.
2. CSS (Cascading Style Sheet)
CSS dibutuhkan untuk mempercantik interface (tampilan) dari suatu halaman website. Akan tetapi kebutuhannya tidak wajib.
3. Dasar-dasar PHP (Hypertext Processor)
Berhubung codeigniter merupakan framework PHP. Maka Anda harus mengetahui sedikit banyaknya tentang bahasa permrograman server-side PHP. Tidak harus mahir, yang penting Anda tau struktur dan cara kerja PHP seperti apa.
4. MVC (Model-View-Controller)
Codeigniter menganut desain pattern MVC. Disaat Anda mengerti apa itu MVC, maka Anda akan merasa dimanjakan disaat membuat aplikasi berbasis web yang cukup kompleks.
5. SQL (Structured Query Language)
SQL merupakan bahasa standard yang digunakan oleh seluruh DBMS (database management system) seperti MySQL, Maria DB, Oracle, SQL Server, SQLite, PostgreSQL, dan lain-lain.
Bahasa SQL ini wajib Anda ketahui disaat Anda membangun aplikasi berbasis web dengan menggunakan database sebagai gudang data.
Disini penulis menggunakan Codeigniter versi 2.2.6 sedangkan versi terbarunya sekarang adalah versi 3.0 keatas. Anda dapat mengunjungi situs resmi Codeigniter secara berkala untuk memeriksa versi terbarunya.
Kenapa menggunakan versi 2.2.6? karena versi tersebut telah dinobatkan sebagai versi stable dari dan masih menggunakan default DBMS (database management system) yaitu MySQL.
Sedangkan untuk versi 3.0 keatas dianjurkan menggunakan MySQLi dan juga PHP versi terbaru, sedangkan kita membuat aplikasi untuk public dan kita tidak tahu apakah browser yang digunakan publik sudah upgrade atau belum.
Nah, untuk mengurangi kemingkinan masalah browser tidak mendukung ada baiknya kita gunakan versi 2.2.6.
Instalasi Codeigniter sangat sederhana dan mudah dilakukan. Anda hanya perlu mengekstrak file paket framework yang diunduh ke direktori C:\wamp\www jika anda menggunakan Wampserver atau C:\xampp\htdocs jika Anda menggunakan XAMPP sebagai web server.
Nah, disini penulis menggunakan Wampserver jadi penulis mengextract file paket codeigniter kedalam folder C:\wamp\www sehingga didalam folder www terdapat folder Codeigniter-2.2.6 yang sudah diekstrak.
Agar mudah dibaca, Anda dapat mengubah folder Codeigniter-2.2.6 menjadi nama project yang sedang anda kerjakan misalnya penulis sedang mengerjakan project “coba” berarti penulis mengganti nama folder Codeigniter-2.2.6 menjadi “coba” (tanpa kutip).
Untuk memeriksa apakah codeigniter sudah terpasang dengan benar atau belum, Anda dapat menjalankan web browser, lalu tuliskan alamat berikut:
- Konfigurasi Dasar Codeigniter
Konfigurasi dasar pada Codeigniter merupakan point penting dalam membangun website dengan codeigniter. Anda tidak bisa membuat website dengan Codeigniter jika anda tidak memahami konfigurasi dasar ini.
Folder application/config berisi file-file configurasi Codeigniter. File-file ini akan mempengaruhi kerja codeigniter. Untuk memberikan gambaran penggunaan file-file configurasi Codeigniter.
1. Config.php
File config.php berisi konfigurasi utama dari aplikasi yang sedang dibuat. Pada dasarnya config.php berisi definisi variabel bernama $config. Variabel ini bertipe “associative array” dan memiliki index/key untuk masing-masing itemnya. Nama-nama index key tersebut menggambarkan data apa yang ditampungnya. Ada banyak item di config.php namum kita hanya akan membahas satu saja yaitu base_url.
Base_url digunakan untuk mendefinisikan url website/aplikasi yang kita buat. Base_url ini merupakan url dasar dari suatu aplikasi berbasis web misalnya
www.apple.com atau
www.codeigniter.com.
Untuk mengatur base_url, silahkan buka file config.php yang ada di dalam folder application/config dan cari kode seperti berikut:
$config['base_url'] = '';
Lalu ubah menjadi seperti ini:
$config['base_url'] = 'http://localhost/coba/';
“coba” merupakan nama folder paket Codeigniter yang sudah dilakukan instalasi. Jika anda belum paham bagaimana instalasi codeigniter silahkan baca artikel sebelumnya disini, sedangkan localhost merupakan default server lokal. Nah, base_url ini akan diganti dengan nama domain saat anda mengonlinekan website/aplikasi yang telah anda buat.
2. Autoload.phpKonfiguasi berikutnya yang perlu anda atur adalah autoload.php. konfigurasi ini bertujuan untuk menentukan sumber daya apa yang akan diload (dijalankan) secara otomatis. Cara penggunaannya sederhana, misalnya kita ingin meload library database, pagination dan lain-lain secara otomatis maka kita tinggal mengubah
$autoload['libraries'] = array();
Menjadi
$autoload['libraries'] = array('database', 'pagination');
Atau anda juga mau meload beberapa helper secara otomatis maka kita tinggal mengubah
$autoload['helper'] = array();
Menjadi
$autoload['helper'] = array('url', 'file');
3. Database.phpFile database.php berisi semua informasi yang diperlukan untuk berhubungan dengan database. Ada 4 item utama yang perlu didefinisikan di database.php, yaitu hostname, username, password, dan database (nama database) adapun contoh pengaturannya buka file database.php yang ada dalam folder application/config dan cari kode seperti berikut:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysqli';
Silahkan atur sesuai dengan database yang telah anda buat contoh:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'db_coba';
$db['default']['dbdriver'] = 'mysqli';