Crazy About Cake

Pada awal tahun ini, saya kelimpahan proyek web lagi dari seorang kawan. Sama seperti proyek-proyek web sebelumnya, menggunakan php-mysql. Jadi apa bedanya? Istimewanya proyek kali ini adalah pembuatannya yang menggunakan framework, sesuatu yang sebelumnya saya anggap sebagai mistik, repot, aneh, dan ribed. Hehehehe, maklumlah gue Cuma programmer web amatiran yang Cuma ngerti cara prosedural ajah, dan lagi kesusahan belajar konsep OOP (object oriented programming). Teman saya itu tahu betul saya Cuma bisa cara prosedural, tapi dia mau mencipratkan pekerjaan tersebut kepada saya, tentu dia punya pertimbangan sendiri, maka saya pun berani menyanggupinya, karena saya percay a dia punya kepercayaan tersendiri kepada saya (jeh ribed).

Intinya gue ambil pekerjaan itu, dan memang proyek itulah yang saya butuhkan agar saya bisa dan ‘terpaksa’ betul-betul belajar mengenai OOP (sekali lagi, object-oriented programing). Saya mulai modul pertama saya dalam keadaan buta terhadap keajaiban-keajaiban yang dilakukan framework buatan teman saya tersebut. Dia kasih saya API dasar dari frameworknya, tapi tetep aja saya belum bisa dan biasa baca dokumentasi API, jadi patokan saya adalah contoh yang dia beri, dan beberapa penerangan tentang cara kerja framework tersebut dari beliau –which is banyak yang saya lupa–. Perkembangan proyek berjalan lamat-lamat (2 bulan ya ves?), baru pada masa-masa akhir proyek itulah saya mulai mengerti tentang kerja framework itu (karena juga ditengah jalan saya diangkat jadi ‘system analyst’, karena system analis yang satunya mandek), sehingga saya tidak perlu lagi ‘nyontek’ ke skrip yang sudah ada.

Bekal ilmu terbesar disitu adalah saya mulai mengerti tentang konsep three-tier (Model-View-Controller). Dimana kehandalannya adalah terdapat pada pemisahan logika-tampilan-database. Setelah proyek tersebut 90% rampung dan sekarang sedang dalam tahap uji-coba oleh usernya, terbetik dihati ingin mencoba sebuah framework php yang lainnya. Selain ingin tahu, juga ingin memastikan benar-tidaknya pemahaman saya tentang three-tier, dan jelas ingin menguatkan apa yang baru saja saya ngerti. Didepan Firefox, saya mengingat-ingat nama framework yang pernah saya dengar….. Teringatlah rekomendasi teman saya fahdi duluuuuu banget yaitu CakePHP, langsung saya ketik; http://www.cakephp.org disitulah mulainya saya masuk ke dunia CakePhp Rapid Development. Saya download package-nya, manualnya, API-nya (pake TeleportPro), lantas saya tinggalkan menumpuk di harddisk selama hampir sebulan. Begitu ada waktu luang, langsung saya buka itu package, manual, dan API nya.

Yah saya ulik itu package sebagaimana ‘konvensi’ menggunakan skrip orang lain, baca README, INSTALL, dan keterangan berbentuk dokumen teks lainnya. Saya baca manualnya dengan runut. Hehehehe yang bikin saya pengen ketawa, orang-orang baik yang sudah membuat skrip dan manual itu selalu saja mengatakan kepada pembaca sebuah pernyataan yang seperti: “…kita menggunakan konsep MVC, anda tidak mengerti apa itu MVC? Tenang saja itu tidak sesulit kelihatannya, bahkan saat ini anda tidak perlu betul-betul mengerti tentang MVC….” Anda tahu, kalimat-kalimat seperti itu menenangkan, dan percaya atau tidak, itu membantu membuat sesuatu yang rumit jadi terbayang seperti mudah, dan juga tenang karena kita jadi percaya bahwa ada orang-orang baik yang mencoba menjelaskan kerumitan itu dengan cara yang paling mudah dimengerti orang.

Pada akhir manual tersebut, ada dua buah tutorial membuat aplikasi dengan framework CakePHP. Hmm disinilah dimulainya pengertian praktis dari suatu aplikasi yang baru kita baca (setidaknya bagi saya). Dua tutorial untuk membuat modul user dan modul login. Saya lakukan, dan berhasil! Fufufufu mata saya berbinar-binar, dan ngomong sendiri, yoi, ini baru cepet buat bikin aplikasi web. Kebetulan juga saat itu ada rencana bikin website buat klub petualang SMA gue (Mothahari Adventure Team). Jadilah sudah, dapet ‘mainan’ baru plus kesempatan buat praktek. Mulailah saya bikin itu website, dan makin tenggelam saya dalam manual dan API CakePHP (saat itulah saya baru bener-bener bisa baca dan ngerti maksud dari API itu apa :p). Dalam kurun waktu 3 hari, website itu pun rampung sekitar 80%, dan sudah online terpasang, tinggal proses otentikasinya yang belum.

Dari situ saya makin gandrung sama CakePHP, karena hal tersebut betul-betul memudahkan pengerjaan aplikasi web. Beberapa rencana baru mulai berdatangan, yaitu mengkoding ulang (bahasanya aneh ya) mustnews dan Mustang Forum berikut blog ini menggunakan CakePHP. Dalam proses koding ulang mustnews inilah muncul hambatan-hambatan baru (yang disebabkan ketidak-tahuan saya), but it’s all fun ^_^