Strategi Cepat Pengembangan Aplikasi Web

Sunu Wibirama, S.T.

( www.idcake.web.id )

Terima kasih kuucapkan untuk :

Kata Pengantar

Daftar Isi

1 Bab 1. CakePHP

Pendahuluan

1.1 Pengembangan Aplikasi Berbasis Framework

1.2 Profil CakePHP

1.3 Mengapa CakePHP ?

10

1.3. Struktur Aplikasi

13

Bab 2. Instalasi dan Kebutuhan Dasar

13

2.1. Kebutuhan Dasar

14

2.2. Instalasi Paket AppServ

21

2.3. Instalasi Paket Pendukung

22

2.4. Konfigurasi Server

25

Bab 3. Instalasi CakePHP

25

3.1. Instalasi dan Konfigurasi

30

3.2. Routing CakePHP

32

3.3. Hello World !

35

3.4. Scaffolding

Pendahuluan

Gambaran Umum Buku

Buku 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. CakePHP

Pada 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 CakePHP

Bab 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).

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 Elemen

Bab 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 Data

Cake 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-in

CakePHP 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 Error

CakePHP 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.

Bab 11. Mari Memasak : Resep Andalan CakePHP

Bab 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 Trik

Bab 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.

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, 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,

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.

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 :

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 Ya, barangkali inilah fitur yang jarang didapat pada framework lain. CakePHP mempunyai fitur yang mampu men-generate prototipe aplikasi Anda, sebelum Anda menyusun source

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.

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.

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.

• /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 .

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).

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 .

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

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

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

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)

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 :

File : phpinfo.php

<?php phpinfo(); ?>

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

#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.

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 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

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 .

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 mak a tambahk an 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.

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.

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

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.

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 :

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 :

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

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'));

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/.

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 Selanjutnya, buka file /app/contig/routes.php dan ganti konfigurasi Routing Anda. Arahkan CakePHP pada halaman hello.thtml dengan mengganti file konfigurasi

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