Top Banner
CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web Sunu Wibirama, S.T. (www.idcake.web.id )
54

xXx - Buku CakePHP A4

Nov 29, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: xXx - Buku CakePHP A4

CakePHP Framework !Strategi Cepat Pengembangan Aplikasi Web

Sunu Wibirama, S.T.(www.idcake.web.id)

Page 2: xXx - Buku CakePHP A4

Terima kasih kuucapkan untuk :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

i

Page 3: xXx - Buku CakePHP A4

Kata Pengantar

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

ii

Page 4: xXx - Buku CakePHP A4

Daftar Isi

Pendahuluan 1

Bab 1. CakePHP 5

1.1 Pengembangan Aplikasi Berbasis Framework 5

1.2 Profil CakePHP 6

1.3 Mengapa CakePHP ? 7

1.3. Struktur Aplikasi 10

Bab 2. Instalasi dan Kebutuhan Dasar 13

2.1. Kebutuhan Dasar 13

2.2. Instalasi Paket AppServ 14

2.3. Instalasi Paket Pendukung 21

2.4. Konfigurasi Server 22

Bab 3. Instalasi CakePHP 25

3.1. Instalasi dan Konfigurasi 25

3.2. Routing CakePHP 30

3.3. Hello World ! 32

3.4. Scaffolding 35

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

iii

Page 5: xXx - Buku CakePHP A4

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

iv

Page 6: xXx - Buku CakePHP A4

Pendahuluan

Gambaran Umum BukuBuku ini membahas tentang penggunaan framework CakePHP sebagai dasar untuk

membangun aplikasi web, terutama aplikasi berskala besar (enterprise). Bagi Anda para

programmer pemula, buku ini akan memberikan wawasan kepada Anda sekaligus

mengajak Anda untuk masuk ke paradigma baru pemrograman PHP, yang berbasis pada

konsep OOP (Object Oriented Programming) dan MVC (model view controller). Bagi Anda

para programmer profesional, buku ini akan mengajak Anda untuk bergabung dalam

sebuah komunitas pengguna CakePHP, sebuah framework PHP yang saat ini menempati

urutan pertama sebagai framework yang banyak digunakan oleh para pengembang

aplikasi amatir dan profesional. Berbagai aplikasi web terkenal di dunia tercatat

menggunakan CakePHP sebagai bagian atau keseluruhan inti aplikasi. Tercatat portal

Yahoo!, TextLinkBroker.Com, Panasonic, dan masih banyak lagi aplikasi web yang

dikembangkan dengan CakePHP. Selain itu, buku ini akan menjelaskan secara jelas dan

bertahap tentang bagian-bagian dari CakePHP, contoh riil aplikasi yang dibangun dengan

CakePHP dan beberapa tips-tips menarik seputar CakePHP.

Bab 1. CakePHPPada bab ini Anda akan dijelaskan tentang dasar pengembangan aplikasi web

menggunakan framework berbasis PHP. Selain itu, akan dibahas pula profil, kelebihan dan

kurangan serta struktur dasar aplikasi CakePHP, sehingga memberikan gambaran awal

tentang framework CakePHP dan mengapa CakePHP layak dipilih untuk dasar

pengembangan aplikasi web.

Bab 2. Instalasi dan Kebutuhan Dasar Bab ini akan menjelaskan tentang kebutuhan dasar sistem yang digunakan, meliputi

spesifikasi minimal komputer yang diperlukan, web server dan database server, serta

program pendukung lainnya. Bab ini juga akan menjelaskan secara sekilas panduan

instalasi paket server yang akan digunakan, serta paket pendukung lainnya.

Bab 3. Instalasi CakePHPBab ini akan menjelaskan tahapan instalasi dan konfigurasi CakePHP, sesuai dengan server

yang digunakan. Pada bab ini, Anda akan dipandu langkah demi langkah untuk

menginstalasi CakePHP, melakukan konfigurasi pada database, routing aplikasi, membuat

contoh aplikasi dasar dan mencoba Scaffolding (fitur spesial CakePHP).

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

1

Page 7: xXx - Buku CakePHP A4

Bab 4. Prinsip Kerja : Resep Sebelum Memasak Bab ini akan menjelaskan secara detail arsitektur CakePHP yang menggunakan konsep

MVC (model view controller). Bagian awal akan menjelaskan tentang gambaran umum

konsep MVC. Berturut-turut akan dibahas masing-masing komponen MVC dan

penerapannya pada framework CakePHP.

Bab 5. Mengenal Komponen dan ElemenBab ini akan menjelaskan kepada Anda tentang konsep penggunaan komponen dan

elemen dalam mendukung pembuatan aplikasi web. Penjelasan pada bab ini disertai

potongan-potongan source code untuk memperjelas pemahaman.

Bab 6. Mengenal Helper Bab ini akan menjelaskan kepada Anda tentang konsep templating dan pembuatan

tampilan (presentation logic) di framework CakePHP. Fitur templating ini didukung oleh

beberapa kelas helper yang menyediakan berbagai fungsi untuk mempermudah

templating.

BAB 7. Mengenal Access Control List Bab ini akan menjelaskan kepada Anda tentang penggunaan Access Control List (ACL) pada

framework CakePHP. Penjelasan disertai dengan contoh penggunaan yang memperjelas

pemahaman.

Bab 8. Sanitasi dan Validasi DataCake PHP mendukung sanitasi dan validasi data. Bab ini akan menjelaskan secara singkat

tentang metode sanitasi dan validasi data dalam sebuah aplikasi berbasis framework

CakePHP dan penerapannya.

Bab 9. Mengenal Plug-inCakePHP juga memungkinkan para developer untuk membuat aplikasi kecil yang bisa

digunakan berkali-kali untuk mendukung pembuatan aplikasi yang lebih besar. Aplikasi

kecil ini disebut dengan plug-in. Bab ini akan mengajak Anda untuk melongok sekilas

proses pembuatan plug-in dan penerapannya.

Bab 10. Manajemen ErrorCakePHP juga mendukung manajemen error, yang akan melindungi aplikasi yang Anda

buat dari berbagai macam gangguan yang tidak diinginkan. Fasilitas manajemen error

yang disediakan CakePHP akan mempermudah developer untuk menampilkan error

dengan tampilan yang “aman” sesuai dengan kesalahan yang terjadi.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

2

Page 8: xXx - Buku CakePHP A4

Bab 11. Mari Memasak : Resep Andalan CakePHPBab ini adalah bab yang paling ditunggu-tunggu. Berisi tutorial bersambung yang akan

menuntun Anda langkah demi langkah untuk membuat sebuah aplikasi blog, lengkap

dengan halaman administrasi dan berbagai macam modul yang akan menyertainya.

Bab 12. Tips dan TrikBab ini berisi sedikit tips dan trik khusus yang berkaitan dengan CakePHP, maupun seputar

pemrograman PHP yang bermanfaat untuk mendukung proses pengembangan aplikasi

web berbasis CakePHP.

Bab 13. Penutup Bab ini adalah penutup dari buku ini. Didalamnya berisi harapan – harapan dan gambaran

aplikasi enterprise lain yang bisa dikembangkan dari aplikasi blog yang Anda buat.

Bab 14. Referensi Web Bab ini akan membahas beberapa referensi online yang bisa menjadi rujukan untuk

mempelajari CakePHP ke tingkat lanjut. Referensi disertai dengan gambar, tema utama

website, dan penjelasan singkat.

Keterangan Ikon Buku

Ikon CD

Ikon ini menggambarkan bagian tertentu pada buku yang

terletak pada halaman terkait, yang bisa dijumpai pada CD

Pendukung

Ikon Peringatan

Ikon ini menggambarkan bagian tertentu pada buku yang

terletak pada halaman terkait, yang berisi catatan penting

atau tips-tips yang berguna

Ikon FAQ

Ikon ini menggambarkan bagian tertentu pada buku yang

terletak pada halaman terkait, yang berisi pertanyaan-

pertanyaan dan solusi permasalahan yang sering dijumpai.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

3

Page 9: xXx - Buku CakePHP A4

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

4

Page 10: xXx - Buku CakePHP A4

Bab 1. CakePHP

1.1 Pengembangan Aplikasi Berbasis Framework

PHP adalah sebuah bahasa pemrograman yang memungkinkan seorang developer

(programmer atau system analist) membuat sebuah aplikasi berbasis web yang powerful

sekaligus mampu mengampu database berskala besar. Dalam perkembangannya, seorang

programmer PHP seringkali dituntut untuk menyelesaikan berbagai macam aplikasi

dengan tingkat kerumitan yang cukup tinggi dalam waktu singkat. Di sisi lain, programmer

juga dituntut untuk menciptakan sebuah dasar aplikasi yang bisa dikembangkan menjadi

aplikasi lain dengan skala yang lebih besar dengan melibatkan banyak anggota tim.

Aplikasi web berskala besar seringkali diasosiasikan dengan indikasi-indikasi sebagai

berikut :

• Diakses oleh banyak orang (public access)

• Melibatkan database dengan skala record diatas 1000

• Mempunyai banyak modul, seperti modul berita, modul administrasi, modul keuangan,

modul pencarian tingkat lanjut, modul polling dan sebagainya

• Dikerjakan oleh sebuah tim pengembang dengan spesialisasi tugas

Berbicara tentang aplikasi web berskala besar tentu tidak bisa dilepaskan dari pembagian

peran anggota tim. Aplikasi web, terutama web berskala besar, tidak hanya membutuhkan

seorang programmer saja, akan tetapi melibatkan pula seorang web desainer, system

analist, database maintainer, manajer keuangan, manajer riset dan promosi dan manajer

proyek yang akan mengatur jalannya pembuatan, pengembangan dan pemeliharaan

aplikasi tersebut. Tingkat kerumitan dan kesamaan cara pandang inilah yang melahirkan

konsep kerangka kerja (framework) dalam pengembangan aplikasi berbasis web.

Framework memudahkan anggota tim untuk bekerja bersama dengan satu cara pandang,

sekaligus memudahkan pembagian kerja. Pada umumnya, framework terdiri dari file-file

pustaka berupa kelas-kelas PHP yang bisa digunakan dan dikolaborasikan dalam aplikasi

yang sedang Anda kembangkan.

Di internet, tersedia puluhan, bahkan ratusan framework dan Content Management System

(CMS). Sebut saja Mojavi, Prado, Agavi, Seagull, Code Igniter, Fusebox, PHP Nuke, Post

Nuke, Mambo, Joomla, Wordpress, Blogspot, Aura, Endonesia, dan masih banyak lagi. Ada

beberapa developer yang menyediakan file inti (core) framework saja, beserta manualnya,

tanpa memberikan contoh-contoh aplikasi secara detail, misalnya Fusebox dan Mojavi

(saat ini riset Mojavi terhenti, tapi dikembangkan menjadi framework baru, yakni Agavi).

Ada juga framework yang benar-benar dibuat untuk membangun aplikasi enterprise,

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

5

Page 11: xXx - Buku CakePHP A4

memberikan contoh yang detail, manual yang lengkap, namun memiliki ukuran besar dan

memerlukan instalasi PHP 5 supaya bisa berjalan dengan baik, misalnya Prado. Terkadang

orang mengartikan framework adalah dasar dari CMS. Di sisi lain, CMS tak lain juga sebuah

framework dengan bermacam modul yang datang bersamanya.

Buku ini membahas sebuah framework berbasis bahasa pemrograman PHP yang sering

digunakan untuk mengembangkan aplikasi web dalam waktu singkat. Framework tersebut

dikenal dengan nama CakePHP. Dalam buku ini, Anda diajak untuk memahami konsep

dasar pengembangan aplikasi web berbasis framework dengan konsep pemisahan

bussiness logic (logika bisnis atau logika kerja sistem) dan presentation logic (logika

tampilan sistem). Konsep pemisahan logic ini sangat erat kaitannya dengan penerapan

konsep OOP (Object Oriented Programming) dan MVC (model view controller) yang akan

diulas pada bagian lain dari bab ini dan pada bab 4. Anda juga akan diajak untuk

mengenali satu per satu bagian-bagian dari framework CakePHP dan dilengkapi dengan

contoh penggunaannya dalam membangun aplikasi web. Bab 11 dari buku ini akan

menyuguhkan penerapan langsung framework CakePHP untuk membuat berbagai macam

aplikasi dan mengkombinasikannya menjadi satu aplikasi utuh, sebuah blog lengkap

dengan modul administrasi, modul manajemen user, modul manajemen error dan modul-

modul tambahan lainnya. Bab 12 dari buku ini akan menyajikan beberapa tips dan trik

CakePHP yang tak lain adalah dokumentasi dari pengalaman penulis saat mengerjakan

berbagai macam project dengan menggunakan CakePHP. Selain itu, bab ini juga berisi

beberapa pertanyaan umum, diskusi singkat, dan berbagai inovasi yang telah dituangkan

beberapa developer CakePHP yang penulis ambil dari milis CakePHP (Indonesia) dan situs

CakePHP Indonesia. Sebagai penutup, buku ini juga akan memberikan daftar situs-situs

CakePHP yang sangat cocok untuk dipelajari dan digunakan sebagai referensi tingkat

lanjut.

1.2 Profil CakePHP

CakePHP adalah sebuah framework open source yang digunakan untuk mengembangkan

aplikasi web dengan dasar kerja CRUD (Create, Read, Update, Delete). CakePHP juga

menjadi salah satu framework pilihan yang memungkinkan developer untuk membuat

sebuah aplikasi web dengan karakter pengembangan RAD (Rapid Application

Development), yang memungkinkan untuk digunakan dan dikembangkan menjadi

aplikasi lain yang lebih kompleks. CakePHP terdiri dari file-file pustaka (library), kelas-kelas,

dan infrastruktur run-time yang terinspirasi oleh framework Ruby on Rails. CakePHP juga

banyak digunakan oleh para programmer yang memilih untuk bekerja dengan struktur

yang rapi dan padat tanpa kehilangan fleksibilitas pengembangan framework.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

6

Page 12: xXx - Buku CakePHP A4

Pada tahun 2005, Michal Tatarynowicz mulai menulis beberapa kelas untuk sebuah dasar

aplikasi RAD dengan menggunakan bahasa pemrograman PHP. Ia menyadari bahwa

beberapa kelas yang ia ciptakan sangat memungkinkan untuk dikembangkan menjadi

sebuah framework yang lebih lengkap dan praktis. Akhirnya, Michal mempublikasikan hasil

kerjanya di bawah lisensi MIT Amerika Serikat, menamainya dengan Cake dan

menawarkan pengembangannya pada komunitas developer PHP dan saat ini proyek

tersebut dikenal dengan nama CakePHP.

Gambar 1.1. Logo Resmi CakePHP

CakePHP bersifat terbuka, bebas didapatkan, dan bebas dikembangkan. Komunitas

pengembang CakePHP mengajak seluruh programmer PHP untuk bergabung dalam Cake

Software Foundation Inc. yang membawahi proyek pengembangan CakePHP dan aplikasi

berbasis CakePHP. Informasi tentang CakePHP bisa didapatkan pada situs resmi Cake

Software Foundation di website www.cakephp.org

Selain website resmi, para pengembang CakePHP juga biasa berdiskusi dengan

menggunakan IRC (Internet Relay Chat). Di sini Anda bisa berjumpa dengan banyak

Bakers, sebutan untuk mereka yang menjadi developer CakePHP. Forum diskusi CakePHP

ini bisa dikunjungi di channel #cakephp pada server irc.freenode.com.

1.3 Mengapa CakePHP ?

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 kode-kode PHP atau lebih dikenal dengan nama spaghetti code (iya lah,

coba aja liat makanan spaghetti yang lebih mirip dengan bakmi campur ! ).

Pengembangan aplikasi web dengan cara konvensional seperti ini tidaklah keliru, namun

akan menjadi masalah besar apabila aplikasi ini membutuhkan banyak fitur dan

pengembangan di kemudian hari. Framework CakePHP menjadi pilihan untuk mengatasi

berbagai permasalahan yang muncul dalam pengembangan aplikasi web, karena

beberapa kelebihannya, antara lain :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

7

Page 13: xXx - Buku CakePHP A4

Open Source

CakePHP bebas didapatkan dan dikembangkan. CakePHP mempunyai lisensi MIT. Ini

adalah salah satu syarat yang baik untuk berkembangnya sebuah framework.

Riset yang terorganisir dengan baik

Pengembangan framework bukanlah pekerjaan yang selesai dalam waktu 1-2 hari.

Semakin terorganisirnya pengembangan sebuah framework akan berbanding lurus

dengan kualitas framework yang dihasilkan. CakePHP memenuhi syarat ini dan

dikembangkan dalam riset yang terorganisir dan berkesinambungan di bawah Cake

Software Foundation.

Dokumentasi yang lengkap

Framework yang baik harus mempunyai dokumentasi yang lengkap, karena sekumpulan

kelas 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

Kompatibel dengan PHP 4 dan PHP 5

CakePHP berjalan mulus di server Apache yang menggunakan PHP 4 maupun PHP 5.

Fleksibilitas dan kompatibilitas inilah yang banyak menarik minat para programmer untuk

menggunakan framework CakePHP sebagai dasar untuk pengembangan aplikasi mereka.

Konsep CRUD terintegrasi

CakePHP menerapkan konsep CRUD (Create, Read, Update, Delete) terintegrasi yang

membantu interaksinya dengan database dan menyederhanakan query.

Arsitektur OOP dan MVC

Kelas-kelas yang menjadi dasar dari CakePHP ditulis dengan konsep Object Oriented

Programming yang memudahkan programmer untuk melakukan penambahan,

pengurangan dan modifikasi kelas dan fungsi yang digunakan. CakePHP menggunakan

arsitektur Model, View, Controller (MVC) yang memisahkan database logic (Model),

presentation logic (View) dan bussiness logic (Controller).

Fitur Scaffolding

Ya, barangkali inilah fitur yang jarang didapat pada framework lain. CakePHP mempunyai

fitur yang mampu men-generate prototipe aplikasi Anda, sebelum Anda menyusun source

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

8

Page 14: xXx - Buku CakePHP A4

code-nya secara lengkap. Cukup tambahkan variabel $scaffold di controller Anda, dan

sim salabim ! Aplikasi web Anda sudah bisa Anda nikmati.

Manajemen akses bagi user

CakePHP memungkinkan pengaturan user dan hak aksesnya dalam aplikasi yang Anda

kembangkan, dengan sarana yang lebih mudah dipahami. Fitur ini dikenal dengan nama

Access Control List (ACL).

Validasi dan sanitasi data

CakePHP mempunyai kelas-kelas dasar yang membantu programmer untuk melakukan

sanitasi dan validasi data pada aplikasinya.

Komponen Security, Session, dan Request Handling yang terintegrasi

CakePHP menyediakan komponen-komponen untuk menangani masalah Session,

Keamanan (Security) dan Request Handling yang sudah terintegrasi dalam kelas dasar

CakePHP. Developer cukup menyertakan komponen tersebut pada controller aplikasi dan

memasukkan parameter-parameter untuk mendapatkan hasil yang diinginkan.

Metode templating yang simpel

Sebagaimana framework-framework yang lain, CakePHP juga mendukung metode

templating yang sangat mudah digunakan untuk membantu programmer dan web

disainer menciptakan tampilan aplikasi yang indah dan mudah dimodifikasi. CakePHP

mempunyai kelas helper yang mendukung templating HTML, Ajax, Javascript dan masih

banyak lagi.

Cocok untuk segala strukutur direktori

CakePHP mempunyai sistem konfigurasi yang menyediakan berbagai macam pilihan

konfigurasi, sesuai dengan struktur direktori pengembangan aplikasi berbasis framework

CakePHP.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

9

Page 15: xXx - Buku CakePHP A4

1.3. Struktur Aplikasi

Gambar 1.2. Struktur kerja CakePHP (Grahambird.co.uk)

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

method (fungsi – fungsi) 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 browser-nya.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

10

Page 16: xXx - Buku CakePHP A4

Gambar 1.3. Struktur Folder CakePHP

Folder /app adalah folder di mana aplikasi web akan dikembangkan. Folder ini berisi

beberapa folder lainnya, antara lain :

• /config : berisi file – file konfigurasi CakePHP, termasuk konfigurasi database, debug

option, ACL config, dan routing option.

• /controllers : berisi file-file controller yang akan berperan sebagai bussiness logic dari

aplikasi.

• /models : berisi file-file model yang akan berperan sebagai database logic dari aplikasi.

• /plugins : folder ini digunakan apabila seorang developer ingin mengembangkan

aplikasi kecil sebagai pendukung aplikasi utama. Folder ini berfungsi sebagai tempat

penyimpanan aplikasi pendukung tersebut.

• /tmp : digunakan untuk fungsi caching dan logging aplikasi

• /vendors : digunakan apabila programmer melibatkan beberapa aplikasi-aplikasi

tambahan (third-party application) yang dikembangkan oleh developer lainnya.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

11

Page 17: xXx - Buku CakePHP A4

• /views : berisi file - file view yang akan berperan sebagai presentation logic dari aplikasi

Anda. Folder ini juga memiliki beberapa sub folder yang digunakan untuk menyimpan

untuk menyimpan halaman statis (folder /pages), halaman layout dasar aplikasi (folder /

layouts), tampilan tambahan yang fleksibel (fodler /elements) dan sebagainya.

• /webroot : folder ini berfungsi sebagai DocumentRoot dari aplikasi yang Anda buat.

Server akan mengakses file index.php yang diletakkan di folder ini.

Folder /cake berisi kelas dan pustaka dasar CakePHP. Pengembang aplikasi tidak

disarankan untuk mengubah file-file di folder ini. Namun untuk beberapa keperluan, para

developer CakePHP biasanya melakukan beberapa modifikasi dan perubahan source code

pada file yang ada di folder ini.

Folder /vendors digunakan untuk menyimpan aplikasi third-party yang digunakan dalam

lingkup yang lebih luas. Pemisahan antara folder /app dan folder /cake memungkinkan

developer untuk memasang banyak folder /app dengan memanfaatkan satu folder /cake

saja. Hal ini juga memudahkan developer untuk melakukan update framework CakePHP,

cukup download versi terbaru dan timpakan ke folder /cake yang lama tanpa

mengganggu folder /app.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

12

Page 18: xXx - Buku CakePHP A4

Bab 2. Instalasi dan Kebutuhan Dasar

2.1. Kebutuhan Dasar

Dalam mengerjakan semua latihan yang ada pada buku ini, Anda membutuhkan

komputer dengan spesifikasi minimum sebagai berikut :

• Sistem Operasi Windows 98 SE atau sesudahnya. Bagi Anda yang menggunakan OS

selain Windows, seperti GNU/Linux atau MacOS X, pastikan sistem operasi Anda berjalan

dengan baik pada komputer Anda. Pada buku ini, Kami akan menyajikan contoh instalasi

Apache, MySQL dan PHP pada dua sistem operasi yang berbeda, yakni Windows XP dan

Linux Mandriva.

• Prosesor Intel Pentium Celeron atau AMD dengan clock / kecepatan minimal 500 MHz

• RAM 128 MB

• Kapasitas Harddisk 10 GB

• Resolusi Monitor 800 x 600 pixel, disarankan 1024x768 pixel

• CD-ROM 16x

Selain itu, Anda membutuhkan pula beberapa paket instalasi sebagai berikut :

• Paket installer Apache, PHP 4 atau PHP 5, dan MySQL . Ada banyak vendor yang

menyediakan paket installer trio Apache, PHP dan MySQL. Kami menyediakan paket

installer AppServ yang versi terbarunya bisa Anda download di http://

www.appservnetwork.com

• Paket instalasi CakePHP terbaru (pada saat buku ini ditulis, Cake Software Foundation

me-launching versi stabil Cake 1.1.10.3825 dan versi pengembangan Cake 1.2.0.4206

dev. Anda bisa mendapatkan paket terbaru cake di situs resmi CakePHP, yakni http://

www.cakephp.org

• Paket instalasi phpMyAdmin (digunakan untuk memudahkan manajemen database

berbasis web).

• Software editor teks, seperti Notepad++, Editplus, Textpad, PHP Designer, Macromedia

Dreamweaver dan lain sebagainya.

• Manual dan API CakePHP yang terbaru (dua hal ini bukan sesuatu yang wajib dimiliki,

tapi alangkah baiknya seorang developer memiliki paket source code CakePHP sekaligus

buku panduannya).

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

13

Page 19: xXx - Buku CakePHP A4

Kami menyertakan beberapa paket instalasi bersama CD pada buku ini,

seperti paket AppServ 2.5.4a yang berisi installer Apache 2, PHP 5 dan

MySQL 4. Selain itu kami juga menyertakan file-file CakePHP, manual dan

API, serta beberapa source code pendukung latihan.

2.2. Instalasi Paket AppServ

Pada bab ini, Anda akan melakukan instalasi paket Apache, PHP dan MySQL pada sistem

operasi Windows XP. Bagi Anda yang menggunakan sistem operasi selain Windows XP,

kami menyertakan juga contoh langkah instalasi paket Apache, PHP dan MySQL pada

Linux Mandriva.

Instalasi Apache, PHP dan MySQL pada Windows XP

1. Pastikan di komputer Anda tidak ter-install paket Apache, PHP dan MySQL lainnya.

2. Klik dua kali paket installer AppServ 2.5.4a dan pastikan Anda menjumpai welcome

window sebagai berikut

Gambar 2.1. Tampilan Awal Installer AppServ untuk Windows

3. Tentukan direktori tempat Anda akan meng-install paket AppServ Anda. Apabila

Anda tidak yakin dengan apa yang Anda lakukan, klik tombol Next dan biarkan

AppServ ter-install secara default pada direktori C:\AppServ.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

14

Page 20: xXx - Buku CakePHP A4

Gambar 2.2. Menentukan letak direktori instalasi

4. Tentukan nama server, email administrator dan port yang akan digunakan. Secara

default, Apache akan menempati port 80.

Gambar 2.3. Menentukan konfigurasi Apache

5. Masukkan informasi tentang server MySQL. Biarkan AppServ mengisikan form isian

secara default jika Anda tidak yakin dengan apa yang akan Anda lakukan.

Gambar 2.4. Menentukan konfigurasi MySQL

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

15

Page 21: xXx - Buku CakePHP A4

6. Instalasi AppServ Anda selesai ! Kini Anda bisa langsung menjalankannya dengan

mengisikan tanda √ pada checkbox Apache dan MySQL.

Gambar 2.5. Menjalankan Apache dan MySQL

7. Untuk memulai dan menghentikan Apache dan MySQL server, klik Start Menu >

AppServ > Service Control Server.

Gambar 2.6. Menjalankan AppServ dari Start Menu

Apabila instalasi Anda benar dan tidak mengalami kendala, pada layar komputer Anda

akan terlihat prompt sebagai berikut :

Gambar 2.7. Server Apache Berjalan Normal

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

16

Page 22: xXx - Buku CakePHP A4

Instalasi Apache, PHP dan MySQL pada Linux Mandriva

Untuk keperluan instalasi pada sistem operasi selain Windows, kami

menyarankan Anda menggunakan paket instalasi tarball (source) atau

compact (deb, rpm) yang sesuai dengan distro linux Anda. Paket installer

Apache bisa Anda download di http://www.apache.org. Sedangkan paket

installer PHP bisa Anda dapatkan di http://www.php.net. Paket installer MySQL

bisa Anda dapatkan di http://www.mysql.com . Beberapa distro linux tertentu

membutuhkan library xml2 supaya installer PHP bisa berjalan dengan baik.

Pada instalasi ini, Anda akan menggunakan Apache 2.0.54, PHP 5.0.5 (atau yang lebih

rendah dari versi ini) and MySQL 4.1.11. Sebelum instalasi dimulai, anggaplah bahwa

dalam sistem operasi yang Anda gunakan belum terdapat instalasi AMP (Apache, MySQL,

PHP) sama sekali. Jikapun sudah ada dan Anda ingin mencoba meng-upgrade dengan

versi terbaru, cobalah untuk meng-uninstall versi lama yang telah Anda install. Sebelum

Anda memulai instalasi, pastikan Anda mempunyai hak akses sebagai user root, atau Anda

termasuk dalam group wheel (root, gid=0) yang memungkinkan Anda untuk

menjalankan dan mengoonfigurasi AMP.

Beberapa poin penting yang akan Anda bicarakan antara lain :

1. Mendapatkan resources Apache, PHP & MySQL

2. Meng-install MySQL 4.1.x

3. Meng-install Apache 2.x

4. Meng-install PHP 5.x

5. Memulai Apache Web Server

6. Testing PHP

1. Mendapatkan resources Apache, PHP & MySQL

Download dulu source-nya dari situs ini :

Apache 2.x - http://httpd.apache.org/download.cgi

PHP 5.x - http://us2.php.net/downloads.php

MySQL 4.1.x - http://dev.mysql.com/downloads/mysql/4.1.html#source

2.Meng-install MySQL 4.1.x

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

17

Page 23: xXx - Buku CakePHP A4

Ekstrak dan konfigurasi dahulu source MySQL. Setelah itu, Anda boleh langsung meng-

compile-nya :

#tar -xzvf mysql-4.1.11.tar.gz#cd mysql-4.1.11#./configure --prefix=/usr/local/mysql#make#make install

Setelah instalasi selesai, jangan lupa untuk mengopikan file CNF ke area konfigurasi pada

linux Anda (pada umumnya terletak di folder /etc) :

#cp support-files/my-medium.cnf /etc/my.cnf

Kemudian, lakukan instalasi database MySQL dan memulainya (pastikan Anda mengganti

terlebih dahulu hak akses beberapa folder yang akan diakses oleh database Anda. Untuk

mengetahuinya, cobalah mengecek error yang ada bila perintah di bawah tidak berjalan

dengan baik). Eksekusi perintah di bawah ini pada konsole Anda :

#/usr/sbin/groupadd mysql #/usr/sbin/useradd -g mysql mysql#/usr/local/mysql/bin/mysql_install_db#chown -R root:mysql /usr/local/mysql#chown -R mysql:mysql /usr/local/mysql/data

Kemudian, langkah yang terakhir adalah mengubah konfigurasi dalam file ld.so.conf

dan menambahkan satu baris konfigurasi dalam file tersebut :

#vi /etc/ld.so.conf Tambahkan baris ini :

#/usr/local/mysql/lib/mysql Untuk menjalankan MySQL, gunakan perintah berikut :

#/usr/local/mysql/bin/mysqld_safe ?user=mysql & Untuk mengganti password MySQL, lakukan dengan perintah berikut :

#/usr/local/mysql/bin/mysqladmin -u root password <new_password> (isikan <new_password> dengan password Anda)

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

18

Page 24: xXx - Buku CakePHP A4

3. Menginstal Apache 2.x

Ikuti dulu langkah-langkah di bawah :

#tar -xzvf httpd-2.0.54.tar.gz#cd httpd-2.0.54#./configure --prefix=/usr/local/apache --enable-mods-shared=all#make#make install

4. Menginstal PHP 5.x

Untuk menginstal source PHP, langkah-langkahnya adalah :

#tar -xzvf php-5.0.4.tar.gz#cd php-5.0.4#./configure – prefix=/usr/local/php --with-apxs2=/usr/local/apache/#bin/apxs --with-mysql=/usr/local/mysql#make#make install

Kopikan file php.ini ke area yang ditentukan :

#cp php.ini-dist /usr/local/lib/php.ini

Langkah selanjutnya adalah men-setup ekstensi .php dan .phtml supaya bisa di-parsing

oleh PHP engine. Untuk itu, bukalah file httpd.conf dengan editor teks :

#vi /usr/local/apache/conf/httpd.conf

Pada file ini, tambahkan beberapa baris konfigurasi. Carilah dimana line AddType berada

dan tambahkan baris di bawah ini :

AddType application/x-httpd-php .php .phtml

Simpan kembali file httpd.conf

5. Memulai Apache Web Server

Untuk memulai Apache :

#/usr/local/apache/bin/apachectl start

Untuk me-restart Apache bila ada konfigurasi yang diganti saat Apache dijalankan :

/usr/local/apache/bin/apachectl restart

6.Testing PHP

Buatlah dengan editor teks suatu file yang bernama phpinfo.php pada direktori /usr/

local/apache/htdocs/ dan masukkan kode php di bawah :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

19

Page 25: xXx - Buku CakePHP A4

File : phpinfo.php

<?phpphpinfo(); ?>

Oke ! Jalankan web browser dan jalankan http://localhost/phpinfo.php . Kalau muncul layar

yang menunjukkan informasi Apache , PHP dan MySQL yang ter-install, berarti Anda sudah

berhasil.

Otomatisasi Apache dan MySQL Server Saat Booting

Beberapa paket instalasi Apache, MySQL dan PHP untuk Windows sudah melakukan

konfigurasi secara otomatis supaya Apache dan MySQL Server dieksekusi saat komputer

booting. Permasalahannya adalah, apa yang harus Anda lakukan apabila Anda

menginstalasi Apache, MySQL, dan PHP pada sistem operasi Linux ? Yang harus Anda

lakukan untuk melakukan otomatisasi tersebut tak lain adalah mengopikan file-file

executeable MySQL dan Apache ke folder /etc/init.d, sehingga keduanya menjadi

bagian dari servis-servis (daemon) yang akan aktif manakala komputer Anda dihidupkan.

Berikut ini adalah langkah -langkahnya :

1. Mengaktifkan MySQL

Mulai dengan MySQL. Pertama kali, masuklah sebagai user root. Kemudian dalam direktori

kerja MySQL Anda (atau direktori instalasi) masuklah ke folder MySQL dengan perintah

berikut ini :

#cd /home/xxxx/mysql-4.0.16

Kemudian kopikan file mysql.server ke folder /etc/init.d sebagai berikut :

#cd support-files/mysql.server /etc/init.d/mysql

Kemudian kopikan file mysql.server ke folder /etc/init.d sebagai berikut :

Selanjutnya, Anda buat beberapa link untuk aktifasi MySQL pada run level 3 (text mode) dan

run level 5 (GUI mode / Graphic Mode).

#cd /etc/rc3.d#ln -s ../init.d/mysql S85mysql#ln -s ../init.d/mysql K85mysql#cd /etc/rc5.d #ln -s ../init.d/mysql S85mysql#ln -s ../init.d/mysql K85mysql

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

20

Page 26: xXx - Buku CakePHP A4

#cd ../init.d #chmod 755 mysql

2. Mengaktifkan Apache

Tetap sebagai user root, pindah ke direktori kerja dengan perintah berikut ini :

#cd /usr/local/apache/bin

Kemudian kopikan file apachectl dengan perintah sebagai berikut :

#cp apachectl /etc/init.d/httpd

Sebgaimana pada MySQL, kini saatnya membuat link aktivasi untuk run level 3 dan run level

5 :

#cd /etc/rc3.d #ln -s ../init.d/httpd S85httpd #ln -s ../init.d/httpd K85httpd#cd /etc/rc5.d#ln -s ../init.d/httpd S85httpd#ln -s ../init.d/httpd K85httpd

Reboot komputer Anda dan cek konfigurasi yang sudah Anda lakukan. Amati proses yang

berjalan saat komputer booting. Apache (HTTPD) dan MySQL Server akan dieksekusi

sebagai daemon pada saat booting.

2.3. Instalasi Paket Pendukung

Setelah Anda melakukan instalasi paket Apache, PHP dan MySQL, tentu Anda

membutuhkan editor teks yang baik untuk menuliskan script-script PHP Anda. Kami

menyertakan paket installer PHP Designer versi 2005 dan Notepad++ yang bisa di-

download secara gratis melalui internet. Apabila Anda pengguna produk-produk

Macromedia, Anda bisa menggunakan Macromedia Dreamweaver untuk melakukan

pengeditan script Anda. Salah satu keuntungan menggunakan editor teks khusus untuk

pemrograman PHP adalah, Anda bisa mengetahui perbedaan script PHP dan selain PHP

(misalkan HTML, CSS, atau Javascript) berdasarkan warna yang diberikan oleh editor teks.

Selain itu, editor teks khusus pemrograman PHP biasanya memberikan nomer-nomer

baris, sehingga memudahkan programmer untuk melakukan pelacakan kesalahan. Untuk

instalasi PHP Designer, Anda cukup melakukan klik dua kali pada file installer

phpdesigner_setup.exe. Selanjutnya ikuti petunjuk instalasi yang ada.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

21

Page 27: xXx - Buku CakePHP A4

Gambar 2.8. Tampilan PHP Designer versi 2005

2.4. Konfigurasi Server

Apakah CakePHP selalu berjalan mulus di setiap server Apache ? CakePHP

menggunakan sistem url rewrite secara default. Pada beberapa installer

Apache, developer terkadang harus mengubah konfigurasi pada file

httpd.conf supaya Apache server mendukung url rewrite (mod_rewrite).

Selain itu, file .htaccess harus bisa ditulisi server. Penjelasan tentang hal

tersebut ada pada sub bab ini.

Seringkali permasalahan instalasi membuat sebagian programmer merasa putus asa untuk

menggunakan CakePHP sebagai framework pilihannya. Ada beberapa hal yang harus

diperhatikan, terkait dengan permasalahan instalasi yang sering dijumpai oleh pengguna

CakePHP :

1. Pastikan server Apache Anda mendukung penggunaan session dan mod_rewrite.

Untuk melakukan pengecekan, buka file C:\AppServ\apache\conf

\httpd.conf dan pastikan baris berikut dieksekusi oleh Apache (tidak ada tanda

‘#’ di depannya) :

LoadModule rewrite_module modules/mod_rewrite.so libexec/httpd/mod_rewrite.so AddModule mod_rewrite.c

2. Pastikan file .htaccess diperkenankan untuk di-override. Untuk mengetahuinya,

pada file httpd.conf, pastikan pilihan AllowOverride diset All untuk direktori

instalasi CakePHP Anda, atau DocumentRoot Anda. Gambar di bawah ini

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

22

Page 28: xXx - Buku CakePHP A4

memperlihatkan instalasi CakePHP pada server Apache, dengan permasalahan

file .htaccess yang tidak di-override. Sekilas, tampaknya instalasi tidak

bermasalah, namun coba bandingkan dengan gambar berikutnya. Instalasi

CakePHP yang tidak bermasalah akan memunculkan logo “CakePHP Power” seperti

ini di bagian bawah, serta layout halaman yang tampak indah.

Instalasi CakePHP bermasalah tidak akan menampilkan logo “CakePHP Power” dan

layout halaman polos (putih), dengan tulisan hitam di atasnya.

Gambar 2.9. Instalasi CakePHP bermasalah

Gambar 2.10. Instalasi CakePHP berhasil

3. Untuk memastikan bahwa instalasi CakePHP Anda mengandung file .htaccess,

pastikan Anda mendapatkan file instalasi CakePHP dalam bentuk .zip atau .tar.gz

dari repository CakePHP. Seringkali, saat Anda mengopikan file-file CakePHP,

beberapa sistem operasi menganggap file berawalan “ . ” (titik) sebagai file hidden

(tersembunyi), sehingga file-file yang Anda kopi tidak melibatkan file .htaccess.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

23

Page 29: xXx - Buku CakePHP A4

4. Jika Anda melakukan instalasi CakePHP pada direktori user Anda (dengan struktur

url sebagai berikut http://localhost/~usernameAnda/), maka Anda perlu

mengubah file .htaccess Anda. Tambahkan baris RewriteBase /

~usernameAnda/ pada file .htaccess Anda. Tambahkan di file .htaccess di

dalam folder /CakePHP, /app, dan /webroot.

5. Jika Anda merasa terganggu dengan struktur url panjangan seperti ini http://

example.com/posts/?CAKEPHP=4kgj577sgabvnmhjgkdiuy1956if6ska

maka tambahkan baris php_flag session.trans_id off pada

file .htaccess Anda.

6. Beberapa sistem operasi berbasis Unix mempermasalahkan hak akses folder /tmp

yang terletak di /CakePHP/app/tmp. Folder /tmp ini erat kaitannya dengan

caching dan logging aplikasi Anda. Anda perlu mengubah hak akses folder /tmp

berikut sub direktori dan file di dalamnya, sehingga menjadi drwxrwxrwx, atau

dengan melakukan perintah chmod 777 untuk tiap-tiap direktori dan file.

7. Pastikan instalasi Anda benar-benar sesuai dengan apa yang dibutuhkan oleh

CakePHP. Keterangan lebih lanjut tentang konfigurasi server ini bisa Anda lihat di

manual CakePHP.

Demikian beberapa hal yang harus Anda perhatikan saat melakukan instalasi dan

konfigurasi Apache, MySQL dan PHP di sistem operasi Anda. Semoga penjelasan di atas

mempermudah Anda untuk menyediakan lingkungan pengembangan aplikasi berbasis

web yang baik. Pada bab 3, Anda akan diperkenalkan dengan langkah-langkah instalasi

framework CakePHP.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

24

Page 30: xXx - Buku CakePHP A4

Bab 3. Instalasi CakePHP

3.1. Instalasi dan Konfigurasi

Paket Instalasi CakePHP

Ada beberapa cara untuk memperoleh paket instalasi CakePHP : mendapatkan paket

instalasi versi stabil dari CakeForge, mendapatkan paket instalasi versi pengembangan

(nightly build), atau mendapatkan versi terbaru dari SVN. Untuk medapatkan paket instalasi

versi stabil, Anda bisa mengunjungi situs CakeForge pada alamat :

http://cakeforge.org/projects/cakephp/

Untuk mendapatkan paket nightly build, dengan beberapa perbaikan pada bug-bug

(kesalahan) yang ada, Anda bisa mendapatkannya di :

http://cakephp.org/downloads/index/nightly

Untuk mendapatkan versi terbaru dari repository SVN, gunakan client SVN favorit Anda dan

lakukan koneksi ke :

https://svn.cakephp.org/repo/trunk/cake/

dan pilih beberapa versi yang ada.

Melakukan Ekstraksi Paket Instalasi

Setelah Anda mendapatkan paket instalasi tersebut, letakkan paket instalasi pada

wwwroot (DocumentRoot, biasanya pada sistem operasi Windows diletakkan pada C:

\AppServ\www . Untuk sistem operasi Linux, biasanya diletakkan di direktori /usr/

local/apache/htdocs/. Untuk meyakinkan Anda, silahkan Anda cek konfigurasi file

httpd.conf, dengan melakukan pencarian baris menggunakan kata kunci frase

DocumentRoot). Setelah itu, ekstrak paket instalasi Anda. Ada tiga cara instalasi framework

CakePHP. Model instalasi yang pertama adalah Development Setup, yang akan

memudahkan Anda untuk melihat banyak aplikasi berbasis CakePHP di bawah satu

domain. Model instalasi yang kedua adalah Production Setup yang akan memungkinkan

Anda untuk melihat hanya satu aplikasi berbasis CakePHP di bawah satu domain. Model

instalasi ketiga adalah Custom Setup yang akan memudahkan Anda untuk meletakkan

folder /app dari aplikasi CakePHP Anda di mana pun yang Anda inginkan. Model instalasi

ketiga ini juga memungkinkan satu folder library CakePHP digunakan oleh banyak aplikasi

berbasis CakePHP.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

25

Page 31: xXx - Buku CakePHP A4

Model Instalasi 1 : Development Setup

Untuk model Development Setup, kita bisa meletakkan instalasi CakePHP dengan susunan

instalasi sebagai berikut :

/wwwroot /cake /app /cake /vendors .htaccess index.php

Pada instalasi ini, folder wwwroot (DocumentRoot Anda) akan berperan sebagai web root,

sehingga apabila diakses dari browser, url aplikasi CakePHP Anda akan terlihat

sebagaimana berikut ini :

www.situsku.com/cake/namaController/namaAction/param1/param2

Secara garis besar, susunan folder instalasi CakePHP pada sistem operasi Windows XP bisa

dilihat pada Gambar 3.1 di bawah ini. penulis menyederhanakan nama folder paket

cake_1.x.x.x.xxx/ menjadi folder cake/ saja.

Gambar 3.1. Struktur instalasi CakePHP di Windows XP

Model Instalasi 2 : Production Setup

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

26

Page 32: xXx - Buku CakePHP A4

Untuk model Production Setup, Anda harus memiliki hak untuk mengubah konfigurasi

DocumentRoot pada server Anda. Dengan demikian, CakePHP akan menjadi aplikasi

tunggal yang ter-install di server Anda. Susunan instalasi dari Production Setup sebagai

berikut :

/cake /app /config /controllers /models /plugins /tmp /vendors /views /webroot <-- Folder ini menjadi DocumentRoot Anda .htaccess index.php /cake /vendors .htaccess index.php

Model Production Setup memerlukan konfigurasi pada file httpd.conf. Di bawah ini

adalah contoh konfigurasi yang memungkinkan untuk mengubah DocumentRoot Anda :

DocumentRoot /path_ke_instalasi_cake/app/webroot

Pada instalasi ini, folder webroot pada aplikasi CakePHP akan berperan sebagai web root

aplikasi secara keseluruhan, sehingga apabila diakses dari browser, url aplikasi CakePHP

Anda akan terlihat sebagaimana berikut ini :

http://www.situsku.com/namaController/namaAction/param1/param2

Model Instalasi 3 : Custom Setup

Pada beberapa kondisi khusus, Anda mungkin menginginkan peletakan direktori aplikasi

CakePHP pada folder-folder yang berbeda di dalam harddisk Anda. Kondisi ini barangkali

dilatarbelakangi oleh adanya restriksi pada konfigurasi server Anda, atau Anda

menginginkan beberapa aplikasi CakePHP mengakses pustaka CakePHP yang sama. Ada

tiga komponen utama pada aplikasi CakePHP :

• Inti dari pustaka CakePHP pada folder /cake

• Aplikasi berbasis CakePHP yang akan Anda kembangkan pada folder /app

• Folder web root aplikasi Anda yang berisi gambar, file javascript, file css dan lain

sebagainya akan diletakkan pada folder /app/webroot.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

27

Page 33: xXx - Buku CakePHP A4

Masing-masing direktori ini bisa diletakkan di mana saja di file system Anda, dengan

catatan folder webroot harus bisa diakses oleh web server Anda. Anda bahkan bisa

memindahkan folder webroot keluar dari folder /app selama Anda memberitahu CakePHP

di mana Anda meletakkan direktori webroot Anda. Untuk melakukan konfigurasi pada

instalasi dengan model Custom Setup ini, Anda harus melakukan sedikit perubahan pada

file /app/webroot/index.php. Jika Anda mencermati isi file index.php ini, Anda akan

menjumpai setidaknya tiga variabel pokok, yakni : ROOT, APP_DIR, dan

CAKE_CORE_INCLUDE_PATH.

• ROOT seyogyanya di set pada path yang menunjuk ke direktori yang mengandung

folder /app ;

• APP_DIR seyogyanya diset pada path folder /app itu sendiri.

• CAKE_CORE_INCLUDE_PATH seyogyanya diset pada path folder /cake yakni folder

pustaka CakePHP.

Sebelum Anda melakukan perubahan, seharusnya secara lengkap susunan konfigurasi

pada file index.php sebagai berikut :

File : index.php

<?php....

if (!defined('ROOT')){ define('ROOT',dirname(dirname(dirname(__FILE__))));}

if (!defined('APP_DIR')){ define('APP_DIR',basename(dirname(dirname(__FILE__))));}

if (!defined('CAKE_CORE_INCLUDE_PATH')){ define('CAKE_CORE_INCLUDE_PATH', ROOT);}

......

?>

Contoh di bawah ini akan memperjelas langkah konfigurasi Anda. Asumsikan, Anda

menginginkan CakePHP untuk bekerja dengan susunan sebagai berikut :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

28

Page 34: xXx - Buku CakePHP A4

1. Pustaka Cake akan digunakan bersama dengan aplikasi lainnya, dan akan

diletakkan pada folder /usr/lib/cake (asumsikan, sistem operasi Anda adalah

Linux).

2. Folder webroot Anda akan Anda letakkan di /var/www/situsku

3. Aplikasi Anda akan Anda letakkan di /home/aku/situsku

/home /aku /situsku <-- Sebelumnya adalah /cake_install/app /config /controllers /models /plugins /tmp /vendors /views index.php

/var /www /situsku <-- Sebelumnya adalah /cake_install/app/webroot /css /files /img /js .htaccess css.php favicon.ico index.php

/usr /lib /cake <-- Sebelumnya adalah /cake_install/cake /cake /config /docs /libs /scripts app_controller.php app_model.php basics.php bootstrap.php dispatcher.php /vendors Untuk model struktur instalasi sebagaimana di atas, Anda akan melakukan perubahan

pada file index.php (yang saat ini terletak di direktori /var/www/situsku/index.php)

sebagai berikut :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

29

Page 35: xXx - Buku CakePHP A4

File : index.php

<?php......

if (!defined('ROOT')){ define('ROOT', DS.'home'.DS.'aku');}

if (!defined('APP_DIR')){ define ('APP_DIR', 'situsku');}

if (!defined('CAKE_CORE_INCLUDE_PATH')){ define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib'.DS.'cake');}

....?>

Pada konfigurasi ini direkomendasikan menggunakan konstanta ‘DS’

daripada karakter ‘/’ (garis miring) untuk menuliskan path konfigurasi. Hal

ini untuk mencegah munculnya peringatan kesalahan ‘missing file’ yang

disebabkan oleh kesalahan penggunaan delimiter. Konfigurasi ini juga

akan membuat aplikasi kita lebih kompatibel dengan konfigurasi server

lainnya.

Dari berbagai model instalasi di atas, instalasi model pertamalah yang akan Anda gunakan

untuk membangun aplikasi berdasarkan langkah-langkah yang ada di buku ini. Instalasi

model pertama ini adalah model yang termudah dan tercepat apabila dibandingkan

dengan model yang lainnya.

3.2. Routing CakePHP

Sebelum masuk pada langkah pertama untuk menampilkan “Hello World”, kita akan

membahas sekilas tentang Routing. Routing adalah sebuah metode khusus yang

disediakan oleh CakePHP untuk memudahkan developer aplikasi mengatur susunan url

aplikasi dan membuatnya rapi. Seringkali dalam sebuah aplikasi web berbasis php, kita

menjumpai url sebagai berikut :

http://www.situsku.com/index.php?sid=745334f54eb465994f3eef6c63d94503&lang=34

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

30

Page 36: xXx - Buku CakePHP A4

Routing akan mengarahkan url aplikasi pada controller dan action tertentu, sesuai

konfigurasi yang kita letakkan pada file /app/config/routes.php. Isi dari file

routes.php sebagai berikut :

File : routes.php

<?php.....

$Route->connect('/', array('controller'=>'pages', 'action' => 'display', 'home'));

$Route->connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));

$Route->connect('/tests', array('controller' => 'tests', 'action' => 'index'));

....?>

Secara umum, struktur Routing CakePHP 1.1.xx.xxxx sebagai berikut :

$Route->connect ('URL', array('controller'=>'namaController', 'action'=>'namaAction', 'parameter'));

Dengan penjelasan sebagai berikut :

• URL : bagian dari url situs yang ingin Anda petakan dengan Routing.

• namaController : nama controller yang akan kita panggil melalui url. controller berupa

sebuah kelas php.

• namaAction : nama action pada controller yang akan kita panggil. Action berupa sebuah

fungsi di dalam kelas controller tersebut.

• parameter : nilai dari parameter pertama pada action tersebut.

Dengan demikian, bisa dikatakan Routing akan mengarahkan bagian url tertentu ke

namaController::namaAction(‘parameter’). Konfigurasi Routing Anda, secara

default sebagai berikut :

$Route->connect('/', array('controller'=>'pages', 'action' => 'display', 'home'));

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

31

Page 37: xXx - Buku CakePHP A4

Apabila user mengakses url ‘/’ atau dengan kata lain mengarahkan browser pada instalasi

CakePHP, maka CakePHP secara otomatis akan mengarahkan browser pada controller

PagesController dengan action display dan parameter home. Kita akan melihat

implementasi Routing pada sub bab berikutnya.

3.3. Hello World !

Apabila instalasi CakePHP Anda tidak bermasalah, Anda akan menjumpai halaman

pertama sebagaimana gambar di bawah ini apabila Anda mengarahkan browser ke

direktori instalasi CakePHP. Direktori instalasi CakePHP diakses dengan url :

http://localhost/cake/

Gambar 3.2. Instalasi CakePHP berhasil

Gambar di atas memberikan informasi pada Anda bahwa CakePHP memerlukan

konfigurasi database supaya bisa terkoneksi dengan server database MySQL yang telah

Anda install bersama dengan server Apache sebagaimana dijelaskan pada bab 2. Selain itu,

CakePHP juga memberikan beberapa petunjuk awal untuk memulai pengembangan web,

yakni dengan memberikan tiga buah pesan :

• Kita diminta untuk membuat sebuah file bernama home.thtml pada direktori /app/

views/pages/ yang akan mengganti konten (isi) dari tampilan halaman depan.

• Kita diminta untuk membuat sebuah file bernama default.thtml yang akan

menggantikan layout tampilan halaman depan. Perlu diingat, layout berfungsi sebagai

header dan footer dari halaman aplikasi yang akan selalu muncul saat konten berubah

(semacam template halaman web).

• Apabila kita akan menambahkan file css, CakePHP menyediakan lokasinya, yakni pada

folder /app/webroot/css/.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

32

Page 38: xXx - Buku CakePHP A4

Sebagai langkah awal, kita akan mulai dengan membuat sebuah file bernama

home.thtml pada folder /app/views/page/. Buat file kosong bernama home.thtml

dan isikan script di bawah ini :

File : home.thtml

<h1>Halo, dunia !<br/></h1><h3>Ini adalah script CakePHP pertama penulis<h3>

Simpan file tersebut, kemudian arahkan browser Anda pada url :

http://localhost/cake/

Anda akan melihat tampilan sebagaimana gambar di bawah ini

Gambar 3.3. Tampilan home.thtml

Anda sudah berhasil membuat halaman web dengan CakePHP untuk pertama kalinya.

Cukup mudah bukan ? Selanjutnya, kita akan mencoba mengimplementasikan konsep

Routing dengan script kedua. Buat sebuah file bernama hello.thtml dan letakkan pada

folder /app/views/pages/. Isikan script di bawah ini pada file hello.thtml Anda :

File : hello.thtml

<h3>Selamat datang, di aplikasi CakePHP <br/></h3><p>Ini adalah contoh pertama penerapan routing dan halaman statis</p>

Selanjutnya, buka file /app/contig/routes.php dan ganti konfigurasi Routing Anda.

Arahkan CakePHP pada halaman hello.thtml dengan mengganti file konfigurasi

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

33

Page 39: xXx - Buku CakePHP A4

routes.php, sehingga apabila sebelumnya file konfigurasi Anda tampak sebagaimana di

bawah ini :

File : routes.php

<?....$Route->connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));....?>

Setelah diarahkan pada halaman statis hello.thtml, akan berubah menjadi seperti ini :

File : routes.php

<?....$Route->connect('/', array('controller' => 'pages', 'action' => 'display', 'hello'));....?>

Arahkan kembali browser Anda ke direktori instalasi CakePHP. Browser Anda akan

menampilkan halaman web berikut ini :

Gambar 3.4. Tampilan hello.thtml

Perhatikan title bar pada halaman web CakePHP Anda. Secara otomatis, CakePHP akan

memberikan judul “CakePHP : Hello” pada saat Anda mengakses halaman statis hello.thtml.

Langkah pertama menciptakan aplikasi dengan CakePHP sudah kita lalui. Pada

pembahasan selanjutnya, kita akan melihat fitur lain CakePHP yang akan membuat Anda

terkaget-kaget : Scaffolding !

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

34

Page 40: xXx - Buku CakePHP A4

3.4. Scaffolding

Apa itu Scaffolding ? Scaffolding adalah sebuah fitur yang disediakan CakePHP untuk

memudahkan pengembang aplikasi web menampilkan dan menganalisa konten database

pada saat pertama kali mereka mengembangkan aplikasi web dinamis, dengan konten

web yang bisa ditambahkan, diubah dan dihapus secara interaktif melalui halaman web.

Sebelum masuk pada penjelasan, ada baiknya kita mencoba terlebih dahulu fitur

Scaffolding. Ikuti langkah-langkah di bawah ini dengan seksama dan lihatlah keajaiban

yang ditawarkan Scaffolding untuk Anda.

Kali ini, kita akan membuat sebuah aplikasi web untuk melakukan manajemen pemain

sepakbola Liga Indonesia. Dengan aplikasi ini, kita bisa menambahkan (Add), mengubah

(Edit), dan menampilkan (View) pemain secara interaktif. Anda hanya membutuhkan waktu

kurang dari 4 menit untuk membuat semuanya berjalan !

Sebelum masuk pada aplikasi, kita akan membuat database-nya terlebih dahulu. Buka

aplikasi web phpMyAdmin dengan mengakses :

http://localhost/phpmyadmin/

Apabila Anda belum memiliki aplikasi phpMyAdmin, Anda bisa menggunakan source

phpMyAdmin yang tersedia pada CD atau mendapatkan versi terbarunya melalui internet.

Setelah Anda membuka phpMyAdmin, buatlah sebuah database dengan nama

latihancake. Database ini nantinya akan kita gunakan seterusnya untuk membuat

proyek-proyek aplikasi web berskala menengah di akhir buku ini. Setelah Anda berhasil

menciptakan sebuah database baru, buatlah dua buah tabel baru, tabel players dan

teams dengan struktur di bawah ini :

Tabel 3.1. Tabel ‘players’

Nama Field Tipe Data Keterangan

id small int (5) Unsigned, Not null, auto_increment, primary key

firstname varchar(50) Not null

position varchar(25) Not null

team_id small int (6) Null

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

35

Page 41: xXx - Buku CakePHP A4

Tabel 3.2. Tabel ‘teams’

Nama Field Tipe Data Keterangan

id small int (5) Unsigned, Not null, auto_increment, primary key

name varchar(50) Not null

atau dengan mengeksekusi perintah SQL di bawah ini :

Query SQL untuk Tabel ‘players’ dan ‘teams’

CREATE TABLE `players` ( `id` smallint(5) unsigned NOT NULL auto_increment, `firstname` varchar(50) NOT NULL default '', `position` varchar(25) NOT NULL default '', `team_id` smallint(6) default NULL, PRIMARY KEY (`id`));

CREATE TABLE `teams` ( `id` smallint(5) unsigned NOT NULL auto_increment, `name` varchar(50) NOT NULL default '', PRIMARY KEY (`id`));

Perhatikan field team_id pada tabel players. Ini adalah foreign key yang dipetakan ke

primary key tabel teams. Field tersebut diberi nama demikian karena CakePHP mampu

secara otomatis mengidentifikasinya sebagai foreign key dan memanfaatkannya untuk

menampilkan berbagai macam hal yang menarik seperti membuat komponen HTML

listbox saat menambahkan dan mengedit pemain baru.

Ada beberapa peraturan yang harus ditaati supaya fitur Scaffolding ini berjalan dengan

baik :

• Apabila Anda ingin memetakan sebuah foreign key ke sebuah tabel, pada aplikasi kita

adalah tabel teams ke tabel players, maka foreign key tersebut harus diberi nama

dengan TABLE_id, dimana TABLE adaIah bentuk tunggal dari foreign table yang kita

petakan. Dalam hal ini, kita memberi nama foreign key kita dengan nama team_id

(team adalah bentuk tunggal dari teams).

• Tabel yang akan kita buat harus dipetakan pada controller yang mendefinisikan variabel

$scaffold. Kita akan melihat penerapannya pada contoh ini.

• Apabila Anda ingin memanfaatkan keunggulan CakePHP untuk memetakan hubungan

(asosiasi) antar tabel, tabel yang Anda buat harus dihubungkan pada model yang

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

36

Page 42: xXx - Buku CakePHP A4

mendefinisikan asosiasi tabel-tabel yang relevan. CakePHP mendukung empat jenis

asosiasi antar tabel: hasOne, hasMany, belongsTo, dan hasAndBelongsToMany. Pada

aplikasi kita, masing-masing pemain berasosiasi dengan satu tim, sehingga kita akan

menggunakan jenis asosiasi belongsTo. Penjelasan lebih lengkap mengenai jenis

asosiasi, model, controller, dan view terdapat pada bab selanjutnya.

Langkah kedua adalah menghubungkan aplikasi CakePHP dengan database Anda. Buka

f o l d e r /app/config/ . A n d a a k a n m e n e m u k a n s e b u a h fi l e b e r n a m a

database.php.default. Ubah nama file tersebut, sehingga menjadi database.php.

Selanjutnya, ubah dan sesuaikan konfigurasi database pada file tersebut. Sebelum Anda

ubah, file database.php akan tampak sebagaimana di bawah ini :

File : database.php

<?phpclass DATABASE_CONFIG{ var $default = array( 'driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'user', 'password' => 'password', 'database' => 'project_name', 'prefix' => '');

var $test = array( 'driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'user', 'password' => 'password', 'database' => 'project_name-test', 'prefix' => '');}?>

Kita akan menggunakan variabel $default pada kelas DATABASE_CONFIG. Untuk itu,

variabel $test bisa Anda hapus. Ubah isi variabel $default tersebut dengan mengisikan

latihancake pada elemen array database, localhost pada elemen array host,

username_database_anda pada elemen array login, password_database_anda pada

elemen array password. Setelah Anda ubah dan sesuaikan dengan konfigurasi database

Anda, maka file tersebut akan tampak sebagaimana di bawah ini. Sebagai catatan, penulis

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

37

Page 43: xXx - Buku CakePHP A4

menggunakan username ‘root’ dengan password ‘root’ untuk mengakses database milik

penulis. Anda bisa menggunakan username dan password yang sesuai.

File : database.php

<?phpclass DATABASE_CONFIG{ var $default = array( 'driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'root', 'password' => 'root', 'database' => 'latihancake', 'prefix' => '');

}?>

Setelah Anda selesai menciptakan database dan tabel yang dibutuhkan, serta

mengarahkan instalasi CakePHP Anda pada database latihancake, saatnya kita berkutat

dengan aplikasi web berbasis CakePHP. Untuk membuat aplikasi ini, Anda akan membuat

script pada tiga struktur pokok CakePHP, yakni model, controller dan view. Struktur model

berupa sebuah kelas PHP yang menangani manajemen data dan berhubungan langsung

dengan tabel database Anda. Struktur controller berupa sebuah kelas PHP yang akan

menangani proses request dari pengguna aplikasi, mengambil data dari model, dan

memberikan hasil request kepada view. Struktur view adalah gabungan script HTML dan

PHP yang akan menampilkan hasil request kepada pengguna melalui browser. Penjelasan

lebih lanjut mengenai konsep Model-View-Controler (MVC) akan dibahas pada bab

selanjutnya.

Buka folder /app/controllers/. Di dalam folder tersebut, buatlah sebuah file PHP

dengan nama players_controller.php. Isikan script di bawah ini :

File : players_controller.php

<?php class PlayersController extends AppController { var $scaffold; } ?>

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

38

Page 44: xXx - Buku CakePHP A4

Jangan pernah meninggalkan karakter kosong (spasi) setelah tanda ‘?>’ di akhir

script karena CakePHP akan memunculkan pesan peringatan pada halaman

aplikasi Anda.

Masih pada folder controllers, buatlah sebuah file controller kedua bernama

teams_controller.php. Isikan script di bawah ini :

File : teams_controller.php

<?php class TeamsController extends AppController { var $scaffold; } ?>

Dua buah file ini nantinya akan bertugas menangani semua request dari user, termasuk

menambahkan pemain atau nama tim, mengubah, dan bahkan menghapusnya.

Selanjutnya, buka folder /app/models/. Buatlah file model untuk tabel players dengan

nama player.php. Isikan script di bawah ini :

File : player.php

<?php class Player extends AppModel { var $name = 'Player'; var $belongsTo = array('Team' => array('className' => 'Team', 'conditions' => '', 'order' => '', 'foreignKey' => 'team_id' ) ); } ?>

Masih pada folder yang sama, buatlah model untuk tabel teams dengan nama team.php.

Isikan script di bawah ini :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

39

Page 45: xXx - Buku CakePHP A4

File : team.php

<?phpclass Team extends AppModel { var $name = 'Team'; var $displayField = 'name'; } ?>

Script penjelasan fitur Scaffolding, baik kelas controller maupun model dapat

diambil dari CD yang kami sertakan bersama dengan buku ini.

Arahkan browser Anda pada url di bawah ini dan lihatlah apa yang dilakukan oleh

Scaffolding :

http://localhost/cake/teams

Gambar 3.5. Tampilan halaman List Teams

Cobalah untuk menambahkan nama-nama tim sepakbola kesayangan Anda dengan

masuk pada link New Team. Sebagai contoh, Anda menambahkan empat buah tim yang

berlaga di Liga Indonesia : PSIM, Persija Jakarta, PSMS Medan, dan Persebaya Surabaya.

Tampilan halaman tim setelah Anda menambahkan empat buah tim tersebut sebagai

berikut :

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

40

Page 46: xXx - Buku CakePHP A4

Gambar 3.6. Halaman List Teams telah terisi

Untuk melakukan pengubahan record atau isi database, Anda cukup menekan link Edit.

Untuk menghapus record, Anda bisa menekan link Delete. Untuk menampilkan informasi

record, Anda bisa masuk pada link View. Kini, arahkan browser Anda pada halaman players

dengan url :

http://localhost/cake/players

Gambar 3.7. Tampilan List Players

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

41

Page 47: xXx - Buku CakePHP A4

Kini Anda akan menambahkan seorang pemain depan (striker) bernama Bejo pada tim

Persija. Setelah membuka link New Player, Anda akan menemukan form isian, berikut

komponen listbox yang berisi nama-nama tim, sebagaimana gambar berikut ini :

Gambar 3.8. Menambahkan pemain

Setelah Anda menambahkan beberapa pemain, halaman List Players akan tampak

sebagaimana di bawah ini :

Gambar 3.9. Halaman List Players telah terisi

Fitur Scaffolding yang menakjubkan telah Anda ciptakan dan dalam waktu kurang dari 4

menit CakePHP membantu Anda mewujudkan impian Anda untuk membuat sebuah

aplikasi web yang menarik. Sangat mudah, bukan ?

Pada dasarnya, fitur Scaffolding bekerja pada file controller saat Anda menambahkan

variabel $scaffold. Untuk pengembangan aplikasi selanjutnya, variabel $scaffold

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

42

Page 48: xXx - Buku CakePHP A4

hanya digunakan untuk membantu memberikan sekilas gambaran aplikasi yang akan

Anda ciptakan. Nantinya variabel ini akan dihilangkan dan Anda diminta untuk membuat

sendiri fungsi-fungsi di dalam kelas-kelas PHP Anda, baik pada kelas-kelas model maupun

controller. Dengan demikian, Anda bisa lebih leluasa melakukan inovasi-inovasi pada

aplikasi web Anda.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

43

Page 49: xXx - Buku CakePHP A4

Referensi Online

Nama Situs Profil

Situs Resmi CakePHP

http://cakephp.org

Situs ini adalah situs resmi framework

CakePHP. Anda bisa mendapatkan berbagai

macam hal yang berkaitan dengan CakePHP

secara langsung, seperti link referensi online,

manual, API, dan berbagai macam berita

terbaru tentang Cake Software Foundation.

Situs CakeForge

http://cakeforge.org

Situs yang berisi project-project Open Source

yang dikembangkan dengan frmaework

CakePHP. Situs ini cukup representatif untuk

dijadikan sumber referensi utama dalam

pembuatan aplikasi berbasis CakePHP

21 Things about CakePHP

http://avatarfinancial.com/pages/cake/

Situs ini yang layak menjadi referensi utama

untuk Anda yang baru pertama kali

mengenal CakePHP. Situs ini berisi penjelasan

singkat tentang 21 hal yang bisa dipelajari

oleh programmer PHP yang ter tar ik

menggunakan CakePHP sebagai dasar

aplikasi web yang dibuatnya.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

44

Page 50: xXx - Buku CakePHP A4

Nama Situs Profil

Bakery CakePHP

http://bakery.cakephp.org

Situs resmi CakePHP yang berisi tips dan trik

seputar CakePHP. Dikemas dalam tampilan

yang cukup menawan, situs ini menjadi

referensi pengembang CakePHP saat

menemui permasalahan yang berhubungan

dengan pengembangan CakePHP dengan

aplikasi third-party lainnya dan segudang trik

lainnya.

Baking With Sosa

http://nolimit-studio.com/baking/

Blog milik salah seorang disainer web

CakePHP sekaligus developer CakePHP,

Armando Sosa. Berisi berbagai macam tips

dan trik seputar CakePHP dan cerita-cerita

menarik di balik pengembangan CakePHP.

Layak untuk disimak, jika Anda memang

seorang developer yang penasaran dengan

kisah di balik pengembangan CakePHP.

Cake Baker 42dh

http://cakebaker.42dh.com

Blog milik Daniel Hofstetter yang berisi

pengalamannya selama berkontribusi

sebagai salah satu anggota tim developer

CakePHP. Sangat menarik dan membantu kita

untuk memahami proses pengembangan

CakePHP, perbaikan bug-bug yang terdapat

di dalamnya, sampai dengan cerita-cerita

lucu dan menarik dari pemilik blog. Anda bisa

mendapatkan pula contoh aplikasi-aplikasi

buatan Daniel di blog ini.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

45

Page 51: xXx - Buku CakePHP A4

Nama Situs Profil

Cake Bits

http://cakebits.net

Blog yang berisi info terbaru tentang aplikasi

berbasis CakePHP dan berbagai berita

tentang CakePHP yang dikumpulkan dari

situs-situs tutorial CakePHP. Meskipun bukan

situs resmi milik Cake Software Foundation,

situs ini menjadi rujukan yang cukup baik

tentang berita-berita terbaru seputar

CakePHP.

Unofficial CakePHP API

http://docs.cakephp.nu/

Situs ini berisi dokumentasi dan API

(Application Programming Interface) CakePHP.

Penjelasan class-class, function, dan berbagai

macam turunan dari class di CakePHP

dijelaskan di situs ini. Meskipun bukan situs

resmi Cake Software Foundation, situs ini bisa

menjadi rujukan teknis yang cukup baik.

CakePHP Japan

http://cakephp.seesaa.net

Apabila Anda mahir berbahasa Jepang,

mungkin ada baiknya melongok situs ini dan

melihat- l ihat is inya. Cukup menarik ,

meskipun tidak jauh berbeda dari beberapa

situs CakePHP lain. Anda juga akan

m e n j u m p a i c o n t o h - c o n t o h a p l i k a s i

sederhana buatan developer Jepang. Oya,

jika Anda tidak bisa berbahasa Jepang, klik

saja link “English” di pojok kanan.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

46

Page 52: xXx - Buku CakePHP A4

Nama Situs Profil

CakePHP Indonesia

http://idcake.web.id/

Situs CakePHP berbahasa Indonesia, awalnya

menjadi tempat untuk menampung segala

macam unek-unek, artikel, dan curahan hati

developer CakePHP di Jogja khususnya dan

di Indonesia secara umum. Bergabunglah

bersama kami dan kirimkan pengalaman

menarik Anda bersama CakePHP.

Milis CakePHP bahasa Indonesia

http://groups.yahoo.com/group/id-

cakephp/

Mailing list CakePHP berbahasa Indonesia

y a n g m e n j a d i a j a n g b e r k u m p u l

“baker” (developer dan user) CakePHP. Jika

A n d a m e n g a l a m i k e s u l i t a n s a a t

menggunakan CakePHP, jangan sungkan-

sungkan untuk bergabung dan berdiskusi di

mailing list ini.

Milis CakePHP bahasa Inggris

http://groups.google.com/group/cake-

php/

Mailing list CakePHP berbahasa Inggris. Milis

ini direkomendasikan oleh seluruh baker di

dunia sebagai ajang diskusi resmi pengguna

CakePHP. Bergabunglah dan dapatkan

berbagai macam info, trik dan tips, lowongan

kerja dan masih banyak lagi.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

47

Page 53: xXx - Buku CakePHP A4

Nama Situs Profil

Old CakePHP Wiki

http://tinyurl.com/yqnqf2

Jika Anda ingin melihat dokumentasi lama

dari CakePHP, cobalah berkunjung ke Old

CakePHP Wiki. Saat ini, dokumentasi Wiki

CakePHP sudah dipindahkan ke Bakery

C a k e P H P m e s k i p u n b e l u m s e m u a

dokumentasi dimasukkan ke dalam Bakery

CakePHP. Jika Anda masih penasaran,

kunjungi situs ini dan rasakan sensasi

dokumentasi ala Wikipedia untuk aplikasi

CakePHP Anda.

Thinking PHP

http://thinkingphp.org/

B l o g m i l i k Fe l i x G e i s e n d ö r fe r a l i a s

the_undefined ini berisi artikel-artikel yang

cukup berisi tentang pemrograman web,

termasuk CakePHP. Dari bobot dan tingkat

kesulitan tutorial, situs ini masuk dalam

kategori lanjut dan sangat cocok jika

m e m a n g A n d a s u d a h m e n g g e l u t i

pemrograman web dalam kurun waktu yang

cukup lama (2 - 3 tahun).

Noswald’s Blog

http://www.ad7six.com/

Blog milik Andy Dawson, salah seorang baker

dari Inggris yang membuat beberapa snippet

(source code pendek / class) dan plug-in untuk

CakePHP. Berisi beberapa tips-tips menarik

tentang pengembangan plug-in untuk

CakePHP , berikut contoh-contohnya.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

48

Page 54: xXx - Buku CakePHP A4

Nama Situs Profil

Planet MVC

http://www.planetmvc.com/

Anda tertarik dengan framework MVC selain

CakePHP ? Kunjungi situs Planet MVC dan

dapatkan informasi terbaru seputar beberapa

framework MVC terkenal di dunia.

Rossoft’s Blog

http://rossoft.wordpress.com/

Blog milik Miguel Ros, berisi beberapa tutorial

menarik tentang CakePHP. Cocok sebagai

referensi sekunder dan bahan pengayaan

untuk aplikasi kita.

H3rald.Com

http://h3rald.com/

Blog dan portal milik Fabio Cevasco, salah

seorang pengembang CakePHP 1.1 sekaligus

penulis beberapa artikel pemrograman web.

Ia juga berencana untuk menerbitkan buku

re s m i C a k e P H P d a r i Ca k e S o f t w a re

Foundation yang berjudul “CakePHP Recipes”

meskipun sampai saat ini belum terealisasi.

CakePHP Framework ! Strategi Cepat Pengembangan Aplikasi Web

49