Menampilkan Gallery dengan CSS Hotel Ajaib di Lembah Shanghai
Aug 14


Berawal dari sebuah chatting dengan teman tentang membahas bagaimana membangun sebuah project aplikasi dengan basis web. Dia merekomendasikan saya untuk mempelajari dan menggunakan Cake PHP. Wah…saya jadi berfikir makanan apa lagi ini..??? Dari namanya yg aneh “CAKE PHP” terlintas di kepala saya “CAKE = KUE”, laazziizzzz….. but ujung nya yang bikin ruwet “PHP”. Setelah selesai chat dengan dia, baru lah hunting dimulai, langsung dah dapat situsnya ini dia. Sebelum melangkah lebih jauh…kita harus mengerti dulu, btw karena aku baru juga didunia web programing + otodidax’s. Akhirnya ketemu deh di www.ukhuwah.or.id bacaan yang baik, baik dalam artian sesuai dengan bahasa yang aku pelajari dari sejak lahir, TK, SD, SMP, SMU dst, yaitu Bahasa Indonetia, ups..Indonesia. Ok, langsung aja dah bagi kamu yang ingin tau apa itu CakePHP baca ini :
Cake PHP atau orang lebih mengenalnya dengan nama CakePHP, adalah sebuah framework atau kerangka kerja untuk membuat aplikasi CRUD (Create, Read, Update, Delete) berbasis bahasa pemrograman PHP. CakePHP juga menjadi salah satu framework pilihan yang memungkinkan seorang developer web untuk membuat sebuah aplikasi dengan karakter pengembangan RAD (Rapid Application Development), yang memungkinkan untuk digunakan dan dikembangkan menjadi aplikasi lain yang lebih kompleks. CakePHP masih satu trah dan mempunyai hubungan darah yang cukup erat dengan Ruby on Rails, sebuah framework pemrograman Ruby. Artikel kali ini akan menjelaskan sedikit mengenai CakePHP. Harapannya, sebagai developer web kita tidak hanya terpaku pada satu metode konvensional saja, akan tetapi cobalah untuk meningkatkan kemampuan kita dalam mengembangkan aplikasi, seiring dengan semakin mudah dan berkembangnya bahasa pemrograman PHP itu sendiri.

Cake PHP dan Framework Lainnya

PHP merupakan sebuah bahasa pemrograman yang memungkinkan seorang developer membuat sebuah aplikasi berbasis web yang powerful. Seiring dengan semakin berkembangnya kebutuhan akan aplikasi berbasis PHP, dan semakin kompleksnya pengembangan aplikasi, dibutuhkan sebuah kerangka kerja (framework), yang terdiri dari file-file pustaka berupa class-class PHP yang bisa diincludekan dalam aplikasi yang sedang kita kembangkan.

Selama ini, pemahaman yang kita peroleh tentang aplikasi web berbasis PHP adalah sebuah aplikasi yang terdiri dari file-file PHP yang berisi kode-kode dan tag html yang dicampur dengan tag PHP, atau lebih dikenal dengan nama spaghetti code (iya lah, coba aja liat makanan spaghetti yang lebih mirip dengan bakmi campur). Pengembangan aplikasi berbasis konvensional seperti ini tidaklah keliru, namun akan menjadi masalah besar apabila aplikasi ini membutuhkan banyak fitur dan pengembangan di kemudian hari. Seiring dengan berkembangnya aplikasi berbasis OOP (Object Oriented Programming), akhirnya beberapa developer PHP bekerja sama untuk membuat sebuah framework yang memudahkan pekerjaan mereka dalam “mencetak” aplikasi baru. Banyak sekali framework yang beredar di internet, bahkan beberapa diantaranya membutuhkan instalasi PHP 5 (seperti Prado dan Zend). Dari beberapa framework yang ada, CakePHP adalah pilihan yang menarik dengan kemampuannya yang beragam dan adaptasinya pada instalasi PHP 4.1.x dan PHP 5.

CakePHP menjadi pilihan, karena beberapa kelebihannya, antara lain :

1. Open Source, ini adalah salah satu syarat untuk berkembangnya sebuah framework yang baik.

2. Riset yang terus-menerus dan terorganisir dengan baik. Sebuah framework bukanlah pekerjaan yang selesai dalam waktu 1 – 2 hari. Semakin terorganisirnya sebuah framework berbanding lurus dengan kualitas framework yang dihasilkan.

3. Dokumentasi yang lengkap. Framework yang baik harus mempunyai dokumentasi yang lengkap, karena sekumpulan class tanpa dokumentasi tak lebih dari sebongkah file yang asing dan menambah masalah developer. Untuk referensi lebih lengkap (gunakan manual dan API CakePHP), silahkan buka http://www.cakephp.org

4. OOP dan yang lebih penting lagi adalah MVC. MVC singkatan dari Model, View, Controller. Waduh, apalagi tuh ? Baca subbab selanjutnya !

5. CakePHP memungkinkan pengaturan user dan hak aksesnya dalam aplikasi yang kita kembangkan, dengan sarana yang lebih mudah dipahami. Fitur ini dikenal dengan nama Access Control List (ACL).

6. Scaffolding. Ya, barangkali inilah fitur yang jarang didapat pada framework lain. Hanya dengan menambahkan pada file controller Anda code :
var $scaffold ;
maka Cake akan secara otomatis mengenerate semua yang dibutuhkan untuk membuat aplikasi CRUD (Create, Read,Update, Delete) secara lengkap. Nggak percaya ? Tunggu aja edisi tutorial kelanjutan artikel ini.

Apa saja yang harus dipelajari untuk pemula ?

Untuk mempelajari CakePHP, setidaknya ada beberapa pemahaman yang seyogyanya dikuasai :

1. Pemrograman Berbasis Objek (OOP). PHP sudah mendukung OOP, dan untuk lebih memahami cara kerja framework, tidak ada salahnya anda mempelajari pola kerja OOP pada pemrograman PHP.

2. Model basis data relasional. Nggak wajib sih, tapi sangat membantu untuk memudahkan kita dalam menyusun basis data yang valid dan mudah dimengerti oleh framework. Apalagi untuk aplikasi rumit yang membutuhkan banyak tabel dan normalisasi.

3. Terminologi MVC. MVC singkatan dari Model, View, dan Controller.

Model : representasi aktif dari struktur database Anda. Framework berbasis MVC menekankan pentingnya disain database yang valid, termasuk hubungan antar tabel dalam database tersebut. Model memungkinkan developer untuk melakukan query antar database (bila memang diperintahkan oleh controller). Sebuah aplikasi MVC yang baik memisahkan antar tampilan dan logika kerja (logic). Model adalah sesuatu yang mewakili basis data yang diolah sedemikian rupa oleh controller (logic), untuk ditampilkan (view) hasil olahannya.

View : tampilan luar dari aplikasi Anda. User akan berhadapan langsung dengan tampilan ini. View tidak boleh mengandung bussiness logic, alias logika kerja aplikasi. Bisa dikatakan, view adalah template dari tampilan aplikasi Anda yang memudahkan Anda untuk menggantinya di kemudian hari.

Controller : inilah bagian yang paling signifikan dari sebuah aplikasi berbasis MVC. Benar dan tidaknya hasil olahan data akan sangat tergantung dari logika kerja aplikasi yang tersusun pada bagian controller ini. Controller akan mengolah data dari model, menyimpannya dalam variabel-variabel, dan menampilkannya pada view.

4. Last but not least adalah, segala sesuatu yang ada hubungannya dengan CakePHP, mulai dari manual, tutorial, API, artikel yang terkait dengannya, sampai kemudian contoh-contoh aplikasi yang ada. Pada bagian akhir artikel ini akan disediakan link downloadan tentang segala sesuatu yang mungkin dibutuhkan untuk pemula yang ingin mempelajari CakePHP dengan lebih sistematis.

Struktur kerja CakePHP

Bagan Struktur Kerja CakePHP

Dari gambar di atas, cara kerja CakePHP sebagian besar sudah bisa dijelaskan. Pertama kali, user melakukan request, yang akan ditangani oleh controller. Controller memiliki banyak methode yang akan menangani request. Controller akan mengambil data pada database melalui model. Model memberikan data yang relevan kepada controller. Controller akan mengolah data dan memberikannya pada view (tampilan) yang dipilih. Tampilan inilah yang akan dilihat oleh user pada browsernya.

Adapun susunan dari instalasi Cake adalah sebagai berikut :

o app/

    config/
    controllers/
    models/
    plugins/
    tmp/
    vendors/
    views/
    webroot/

o cake/

    config/
    docs/
    libs/

o vendors/

Keterangan lebih jauh tentang fungsi masing-masing file yang tersimpan pada folder-folder di atas bisa diakses pada http://manual.cakephp.org

Link untuk renungan CakePHP :

    CakePHP
    Indonesia CakePhp
    Cake Documentation Team
    Cakeforge
    cakebaker

4 Responses to “Apa itu CakePHP?”

  1. alex® Says:

    Cake itu…. yang lagunya I Will Survive kalo aku nggak salah :?

  2. admin Says:

    @alex;

    Ya…survive waktu aku dapat tugas utk memperlajarinya.

  3. mudabentara Says:

    Cake itu kue kan ?

  4. anonimous Says:

    Cake itu kue pasta, lazzziiizz…isinya library dibungkur dengan framework membuat org yg makan jadi ngk tag-tag karena sudah dideklarasikan ke bentuk yg simple. Waduh…kok jadi ngawur gini yah…. btw thanks for ref-nya

Leave a Reply