Pengenalan Framework CodeIgniter

Pengenalan Framework CodeIgniter


PHP adalah sebuah bahasa pemrograman web yang popular, tangguh dan dapat di peroleh
secara gratis. Belajar PHP cukup menyenangkan, karena bahasa ini tergolong mudah untuk di
pelajari. Untuk mempermudah dan mempercepat pengembangan aplikasi dengan PHP, banyak
bermunculan framework PHP, satu di antara nya adalah CodeIgniter.

CodeIgniter (CI) adalah salah satu framework php yang tangguh dan popular. CodeIgniter tergolong framework dengan ukuran kecil dan cukup mudah di kuasai. CI juga datang dengan manual yang tergolong lengkap.

  • Selayang Pandang CodeIgniter
CodeIgniter adalah sebuah framework PHP. Framework itu sendiri adalah suatu kerangka kerja yang berupa sekumpulan folder yang memuat file-file php yang menyediakan class, libraries, helpers, plugins dan lainnya . Framework menyediakan konfigurasi dan teknik coding tertentu.

  • Download CodeIgniter
Code Igniter dapat di peroleh secara gratis, dengan mendownload nya di sini atau juga dapat melalui github. Versi terakhir rilis saat ini adalah versi 3.0.

  • Instalasi Code Igniter
Karena berupa folder php, maka instalasi Code Igniter, cukup dengan mengekstrak file kompresi yang di dapat dari situs CodeIgniter dan menempatkannya di dalam folder direktori web server anda. Kemudian edit file config.php yang ada di application/config/config.php dan set base URL anda, misal: http://localhost/ci. Jika anda hendak menggunakan database, edit file database.php yang ada di application/config/database.php. Setting database anda di file teersebut. Setelah di lakukan instalasi dan setting, test lah CodeIgniter anda dengan membuka browser anda dan mengetikkan URL yang anda taruh di file config.php di atas, misal: http://localhost/ci. Jika muncul halaman welcome ala CodeIgniter, maka CodeIgniter telah siap di gunakan.

  • Konsep Model-View-Controller (MVC)
Konsep MVC adalah konsep pemisahan antara logic dengan tampilan dan database. Manfaat konsep ini adalah, membuat coding logic lebih simple, karena sudah di pisah dengan code untuk tampilan dan membuat programmer dapat bekerja secara terpisah dengan designer. Programmer mengerjakan logic, sedangkan designer berkutat dengan design dan tampilan.

Model → Merupakan code struktur data. Model berisi fungsi di dalam pengolahan database. Script SQL masuk pada bagian ini.

View → Merupakan code untuk menampilkan tampilan suta program. Tampilan dapat berupa web.

Controller → Merupakan code untuk logic, algoritma dan sebagai penghubung antara model, view, dan sumber lain yang di perlukan untuk mengolah HTTP request dan generate web page.

CI menerapkan pola MVC yang flexible, karena model dapat tidak di gunakan. Anda dapat hanya menggunakan Controller dan View saja dalam menggunakan CI tanpa Model. Jika anda tidak memerlukan pemisahan di dalam struktur data dan database atau menganggap penggunaan model hanya menambah kompleks aplikasi dengan keuntungan yang kurang sebanding, maka anda dapat tidak menggunakan model.
(Sumber: Maolana, 2011)
Setiap programmer PHP perlu memahami pentingnya memanfaatkan framework didalam membangun sebuah aplikasi. Ini tidak berlaku untuk programmer PHP saja, tetapi juga untuk setiap programmer dengan menggunakan bahasa pemrograman manapun. Tanpa adanya sebuah software framework maka pengembangan sebuah aplikasi akan menjadi semakin rumit dan memakan waktu yang lama. Karena biasanya sebuah software framework yang baik akan mampu menangani seluruh hal-hal standar yang dibutuhkan didalam pengembangan aplikasi. Hal-hal standar tersebut contohnya adalah masalah security, text-processing, pemodelan pemrograman (misalnya: modular atau MVC), database connectivity, dan lain-lain. Sehingga pada akhirnya seorang programmer hanya perlu fokus pada logika pemrograman yang berhubungan dengan kebutuhan untuk apa aplikasi tersebut dibangun. Hal yang perlu diperhatikan disini adalah bahwa setiap pengguna salah satu framework akan merasakan betapa mudahnya sebuah aplikasi itu dibangun dengan menggunakan framework tersebut jika dibandingkan tanpa menggunakan sebuah software framework.
Didalam dunia pemrograman PHP ada beberapa framework PHP yang terkenal dan sering dipakai untuk membangun sebuah aplikasi. Misalnya CodeIgniter, Zend Framework, CakePHP ataupun Symphoni. Tetapi didalam artikel ini tidak akan dibahas framework-framework tersebut secara satu persatu. Hal ini akan dibahas pada artikel yang lain. Selain itu saya tidak menekankan agar anda memakai salah satu software framework tertentu yang mungkin menurut anda lebih baik. Karena untuk menilai sebuah framework itu lebih baik dari yang lain diperlukan sebuah proses review yang mendalam. Siapa tahu anda juga dapat membuat software framework anda sendiri yang lebih hebat dari framework-framework yang sudah ada sekarang.
Software framework jika bisa dijelaskan adalah sekumpulan kode (code library) yang dirancang untuk memfasilitasi sebuah pengembangan aplikasi dengan membuat bagian-bagian berupa fungsi ataupun abstrak dari suatu bahasa pemrograman dan selanjutnya membuat serta menyediakan aturan-aturan standar bagaimana bagian-bagian berupa fungsi ataupun abstrak tersebut dapat diakses serta digunakan.
Dibawah ini adalah alasan-alasan mengapa menggunakan sebuah software framework didalam pemrograman PHP menjadi sangat penting. Walaupun didalam artikel ini tidak dibahas secara lengkap tentang pengertian framework secara lebih rinci namun diharapkan dengan membaca artikel ini anda akan beralih menjadi programmer yang framework-minded didalam pengembangan aplikasi.
Alasan ke-1 : Efektifitas dan Efisiensi Pemrograman
Dengan menggunakan sebuah software framework yang baik setidaknya akan mengurangi beban kerja seorang programmer karena akhirnya fokus seorang programmer hanya pada logika proses (alur proses pada aplikasi) sesuai dengan kebutuhan yang diminta kepadanya. Tentunya ini akan membuat pekerjaan pengembangan aplikasi akan menjadi cepat dan akan berujung pada penyerahan pekerjaan yang tepat waktu.
Mungkin akan menjadi semakin jelas jika saya berikan contoh. Untuk masalah security program tidak semua programmer mampu menangani permasalahan ini. Padahal fungsi security termasuk yang sangat penting didalam sebuah aplikasi besar yang membutuhkan tingkat security yang baik. Apalagi misalnya pada aplikasi yang menangani privacy keanggotaan pada sebuah komunitas ataupun aplikasi yang mengolah data berupa angka yang membutuhkan tingkat ‘kerahasiaan’ yang tinggi. Dengan memilih sebuah framework yang memiliki tingkat sekuritas yang baik, maka selanjutnya programmer hanya perlu memfokuskan diri pada kebutuhan untuk apa fungsi keamanan itu dibuat. Tentunya ini akan menghemat waktu bukan?
Alasan ke-2 : Memudahkan Stukturisasi dan Standarisasi Pemrograman
Masalah ini biasanya muncul jika seorang programmer sedang mengembangkan sebuah aplikasi besar apalagi sistem yang dibangun termasuk yang berukuran ‘raksasa’. Semakin banyak kode-kode program yang dibuat akan semakin sulit proses debugging-nya apabila jika kemudian terjadi error program atau jalannya program tidak sesuai dengan yang diinginkan. Maka dari itu pilihlah sebuah software framework yang memiliki standar serta struktur program yang baik, yaitu yang memudahkan anda untuk menelusuri, mencari bagian-bagian dari kode program anda yang mungkin perlu diperbaiki ataupun dikustomisasi.
Sebagai contoh pada framework CodeIgniter (CI) yang menggunakan konsep MVC (Model-View-Controller). Dengan konsep MVC ini maka seorang programmer bisa memilah-milah antara View, Controller dan Model dan selanjutnya mengembangkan sendiri struktur programnya. Maka penggunaan framework CodeIgniter membantu seorang programmer dalam menstrukturkan kode programnya berdasarkan konsep MVC, yaitu dengan memisahkan antara file-file tampilan/HTML pada bagian view, sedangkan file-file yang menangani logika proses pada bagian controller dan file-file yang menyimpan fungsi-procedure ataupun model pada bagian model. Dengan demikian selain kita bisa menggunakan semua library yang disediakan oleh software framework tersebut kita juga bisa menggunakannya sebagai standar untuk menstrukturkan program kita.
Alasan ke-3 : Memudahkan Koordinasi dan Pemeliharaan Untuk Pemrograman Terdistribusi
Pada pengembangan aplikasi yang berukuran besar seringkali seorang project manager harus melibatkan banyak anggota tim programmer. Sehingga pekerjaan pada satu buah proyek yang besar harus didistribusikan kepada tim yang beranggotakan programmer dengan jumlah yang banyak pula. Mungkin pada kasus ini mengikuti sebuah prinsip ‘semakin banyak orang yang terlibat semakin banyak pula solusi yang tercipta’. Walaupun tidak seluruhnya terbukti benar, karena kita sering menemui kenyataan bahwa semakin banyak orang semakin banyak pula keinginannya. Jadi sulit untuk mengatur banyak orang. Sehingga dengan banyaknya programmer yang terlibat pada suatu proyek menciptakan permasalahan yang tidak kalah rumit yaitu masalah standarisasi dan koordinasi. Sehebat apapun tim programmer didalam sebuah proyek tetapi kalau tidak terkoordinasi dengan baik dan juga standar yang baik didalam membuat kode program maka pengerjaan proyek tersebut bisa terlambat dan ujung-ujungnya proyek menjadi merugi. Dengan demikian penggunaan software framework akan membuat terkoordinasinya pekerjaan tim anda dan dengan melibatkan banyak anggota programmer akan menjadikan sebuah proyek dapat dikerjakan dengan lebih cepat. Jika sudah demikian maka menurut pengalaman saya, sebuah tim proyek hanya membutuhkan seorang integrator yang tugasnya mengintegrasikan hasil kerja anggota tim menjadi sebuah aplikasi besar.
Referensi:
Sofwan, Akhmad. Belajar PHP dengan Framework CodeIgniter. IlmuKomputer.com. 2007
Maolana, Anjar. Pentingnya Penggunaan Framework dalam Pemrograman. 2011 (online: http://anaksistem.blogspot.co.id/2011/12/pentingnya-penggunaan-framework-dalam.html)

You might also like