Framework CodeIgniter

  • 0
Beberapa bulan yang lalu saya mendapatkan rekomendasi dari salah satu rekan kerja saya untuk mempelajari CodeIgniter dalam pembuatan website.Saya sendiri masih awam dengan Framework Codeigniter tersebut,karena tuntutan pekerjaan dari perusahaan yang saya tempati ini,akhirnya saya mempelajarinya. Setelah searching beberapa meteri melalui google,saya menemukan  penjelasan yang mudah dipahami untuk kalangan yang masih awam seputar framework seperti saya.Terimakasih kepada http://www.kuliahit.com yang telah menulis serta menerangkan apa itu CodeIgniter. Melalui artikel yang ditulisnya,saya bener bener terbantu dalam memahami Framework terutama CodeIgniter.

NB: Sebelum Anda mempelajari CodeIgniter alangkah baiknya anda pelajari PHP dan OOP terlebih dahulu

Sebenernya apa sih yang disebut dengan framework itu?
Framework bisa diartikan sebagai alat yang digunakan untuk membantu pekerjaan.Dapat pula diartikan sebagai alat untuk mempermudah pembuatan website.Jika kita menggunakan CMS maka kita tinggal menjalankan nya tanpa harus membuat kode-kode nya,akan tetapi tidak dengan framework.Dengan framework kita masih harus menuliskan kode-kodenya,perbedaannya adalah kode-kode yang kita tulis harus menyesuaikan dengan lingkungan framework yang kita gunakan,akan tetapi hal itu terbayar setelah kita menguasai dan memahami framework itu sendiri.

Framewok sendiri menyediakan berbagai macam fungsi siap pakai yang bisa kita gunakan dalam pembuatan website,sehingga banyak kode atau fungsi yang telihat tidak seperti biasanya,karena fungsi-fungsi itu merupakan fungsi bawaan dari framework dan bukan fungsi asli dari php. Fungsi tersebut terkadang merupakan pengembagan atau penyesuaian fungsi asli php agar lebih mudah digunakan atau agar lebih susai dengan kebutuhan.

CodeIgniter
CodeIgniter atau yang sering disebut sebgai CI adalah satu dari sekian banyak framework php yang bertaburan,codeigniter dikembangkan oleh Rick Ellis (http://www.ellislab.com). Tujuannya adalah untuk framework yang akan dapat digunakan untuk pengembangan  proyek pembuatan website secara lebih cepat dibandingkan  pembuatan website dengan cara koding secara manual dengan menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website,dengan antar muka yang sederhana dan struktur logika untuk mengakses pustaka  yang dibutuhkan. Codeigniter membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatak kode untuk berbagai tujuan pembuatan website.

Alasan memilih Codeigniter:
1.Gratis
Codeigniter dilisensikan dibawah  lisensi Apache/BSD style open source license,ini berarti kita dapat menggunakannya sesuai keinginan kita.

2.Berjalan di PHP versi 4 dan 5.
Sekarang ini php sudah berjalan di versi 5,meskipun begitu orang masih banyak yang tetap menggunakan PHP versi 4,oleh sebab itu Codeigniter dikembangkan agar tetap kompatibel dengan php versi 4 dan dapat dijalankan pada php versi 5.

3.Ringan dan Cepat
Secara default Codeigniter hanya berjalan dengan me load beberapa pustaka saja,dengan demikian hanya membutuhkan resource yang sedikit sehigga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunaakan bisa diload sesuai dengan kebutuhan.

4.Menggunakan MVC
CodeIgniter menggunakan lingkungan pengembangan dengan metode Model View Controller (MVC) yang membedakan antara logika dan persentasi/tampilan,sehingga tugas  lebih bisa dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.

5.Dokumentasi
Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya.Dalam hal ini CodeIgniter sangat luar biasa,terdapat dokumentasi yang sangat lengkap tenteang semua hal yang ada dalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya tersedia.Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.

6.Pustaka yang Lengkap
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan misalnya saja koneksi database,email,session dan cookies,keamanan,manipulasi gambar dan banyak lagi.

Fitur-fitur CodeIgniter
Berikut fitur-fitur yang didukung oleh CodeIgniter:
  • Sistem berbasis Model View Controller
  • Kompatibel dengan PHP versi 4.
  • Ringan dan cepat.
  • Terdapat dukungan untuk berbagai basis data.
  • Mendukung active record Database.
  • Mendukung form dan validasi data masukan
  • Keamanan dan xss filtering
  • Tersedia pengaturan session
  • Tersedia class untuk mengirimkan email.
  • Tersedia class untuk memanipulasi gambar(cropping,resize,rotate dan lain-lain).
  • Tersedia class untuk upload file.
  • Tersedia class yang mendukung transfer via FTP.
  • Mendukung lokalisasi bahasa
  • Tersedia class untuk melakukan pagination(Membuat tampilan perhalaman)
  • Mendukung enkripsi  data
  • Mendukung benchmarking
  • Mendukung caching
  • Pencatatan error yang terjadi
  • Tersedia class untuk membuat calender
  • Tersedia class untuk user agent,misalnya type browser dan system operasi yang digunakan pengunjung
  • Tersedia class untuk membuat template website
  • Tersedia class untuk membuat trackback
  • Tersedia pustaka untuk bekerja dengan XMP-RPC
  • Menghasilkan clean URL
  • URI routing yang flexibel
  • Mendukung hooks,extensi class dan plugin.
  • Memiliki helper yang sangat banyak jumlahnya.

Model View Controller
Seperti sudah disebutkan diatas tadi bahwa CodeIgniter menerapkan lingkungan pengembangan dengan metode MVC (Model,View,Controller).MVC memisahkan antara logika pembuatan kode dengan pembuatan template atau tampilan website. Penggunaaan MVC membuat pembuatan sebuat proyek website menjadi lebih terstruktur dan lebih sederhana.

Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model,bagian View dan bagian Controller.Didalam website dinamis setidaknya terdiri dari 3 hal yang paling pokok,yaitu basis data,logika aplikasi dan cara menampilkan halaman website.3 hal tersebut dipresentasikan dengan MVC yaitu model untuk basis data,view untuk cara menampilkan halaman website dan controller untuk logika aplikasi.

1.Model
Mempresentasikan struktur data dari website yang bisa berupa basis data maupun data lain,misalnya dalam bentuk file teks,atau file xml. Biasanya didalam model akan berisi class dan fungsi untuk mengambil ,melakukan update dan menghapus data website. Karena sebuat website biasanya menggunakan basis data dalam menyimpan data maka bagian model akan menghubungkan dengan perintah perintah query SQL. MOdel bisa dibilang khusus digunakan untuk melakukan koneksi ke basis data oleh karena itu logika logika pemrogaman yang berada didalam model juga harus yang berhubungan dengan basis data.Misalnya saja pemilihan kondisi tetapi untuk memilih melakukan query yang mana.

2.View
Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin didalam View tidak berisi logika logika kode tetapi hanya berisi data yang siap ditampilkan. View bisa dibilang adalah halaman website yang dibuat menggunakan html dengan bantuan css maupun javascript. Didalam view jangan pernah ada kode untuk melakukan koneksi ke basis data. View hanya dikhusukan untuk menampilkan data-data haril dari model dan controller.

3.Contoller
Controller merupakan penghubung antara Model dan View. Didalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari view kedalam struktur data didalam Model. COntroller juga tidak boleh berisi kode kode untuk mengakses basis data.Tugas controller adalah menyediakan berbagao variable yang akan ditampilkan diview,memanggil model untuk melakukan akses ke basis data,menyediakan penanganan error,mengerjakan proses logika dari aplikasi serta melakukan  validasi atau cek terhadap input.

Secara singkat urutan sebuat request adalah sebagai berikut:User berhubungan dengan view dimana didalam view inilah informasi ditampilkan.Saat user melakukan permintaan atau request maka permintaan tersebut akan diproses oleh Controller. Apa yang harus dilakukan, data apa yang diinginkan,apakah ingin melihat data atau memasukkan data atau mungkin melakukan validasi data terlebih dahulu,semua itu akan diproses melalui controller. Kemudian Contoller akan meminta Model untuk menyelesaikan permintaan,entah itu melakukan query atau apapun. Dari model data akan dikirim kembali untuk diproses lebih lanjut didalam Controller dan baru dari Controller data akan ditampilkan di View.







Tidak ada komentar:

Posting Komentar

Terimkasih jika sobat mau meninggalkan komntar untuk post ini,Insyaalloh saya akan berkunjung ke Blog sahabat.

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.