5
Sep

Creating A Simple Database Application Using CakePHP in 5 Minutes

Judul diatas bukanlah kalimat omong kosong, kata-kata sesumbar, atau hanya mungkin dilakukan oleh programmer profesional dan berpengalaman. Hal diatas mungkin dilakukan bahkan oleh pemula sekalipun. Itu mungkin dilakukan dengan adanya fitur scaffold yang tersedia di CakePHP.

Sebagai contoh, kita akan membuat suatu sistem sederhana yang dapat melakukan operasi create, retrieve, update, delete. Contoh dibawah ini dibuat dengan menggunakan MySQL sebagai database servernya.

Langkah pertama adalah membuat database untuk sistem ini.

SQL:

CREATE DATABASE `library`

Setelah database sudah dibuat, langkah kedua adalah membuat tablenya.

SQL:

CREATE TABLE `customers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nomor_anggota` varchar(255) NOT NULL,
  `nama` varchar(255) DEFAULT NULL,
  `alamat` varchar(255) DEFAULT NULL,
  `telpon` varchar(255) DEFAULT NULL,
  `created` datetime DEFAULT NULL,
  `updated` datetime DEFAULT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `nomor` (`nomor_anggota`)
)

Langkah ketiga adalah mengkonfigurasi koneksi databasenya dengan mengedit file yang terdapat di /app/config/database.php. Contoh konfigurasinya:

PHP:

var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => 'passsword1234',
        'database' => 'library',
        'prefix' => '',
);

Sebelum melanjutkan langkah-langkah selanjutnya, saya akan menjelaskan sekilas mengenai CakePHP. CakePHP adalah framework yang didesain mengikuti pattern-pattern (best practice dari system design), salah satunya adalah MVC (Model-View-Controller) pattern, dan CakePHP adalah framework yang sangat ketat dalam hal design MVC nya, sehingga kita harus mengikuti prinsip MVC jika ingin menggunakan CakePHP secara maksimal.

Keterangan lebih lanjut mengenai Model-View-Controller bisa dilihat di sini.

Langkah keempat adalah membuat Modelnya. Buat file baru bernama Customer.php dan simpan file tersebut di directory /app/models. Isi file dari tersebut adalah seperti di bawah ini:

PHP:

<?php
class Customer extends AppModel {
        var $name = 'Customer';
}
?>

Langkah selanjutnya adalah membuat Controllernya. Buat file baru bernama customers_controller.php dan simpan file tersebut di directory /app/controller. Isi file dari tersebut adalah seperti di bawah ini:

PHP:

<?php
class CustomersController extends AppController {
        var $name = 'Customers';
        var $scaffold;
}
?>

Selanjutnya buka browser, lalu browse ke http://[nama_server]/[nama_folder_cakePHP]/customers. Contohnya http://localhost/cake/customers.

Jika berhasil, maka sudah terbuat sistem sederhana yang bisa melakukan operasi create, retrieve, update, delete. Bahkan untuk list tablenya sudah ada pagination, sorting (jika judul kolomnya diklik, maka data akan diurutkan berdasarkan kolom tersebut), dan operasi-operasi update dan delete untuk tiap barisnya. Semuanya ini dimungkinkan dengan perintah scaffold. Hanya saja penggunaan scaffold ini tidak disarankan untuk sistem yang rumit karena kurangnya fleksibilitas.

Selamat ber CakePHP ria :D

free b2evolution skin

2 comments

Comment from: Antonio-vivaldo [Visitor]
Sangat basic mas!, Apakah bisa di jelaskan yang
lebih detail. Spt ngerubah layout etc.....
btw. thanks utk info ini.
04/21/09 @ 20:34
Comment from: Jushadi Arman [Visitor] Email
"Sarana Berbagi Pengetahuan" motto yang bagus moga bisa terus diamalkan, terima kasih infonya, saya baru tau yang namanya cakephp dan langsung tertarik untuk belajar...sekedar saran kalu bisa dibuatkan tutorial step by step beserta contoh proyek cakephp sederhana yg bisa download (mohon maaf kalu sdh ada coz sy memang belum cari lebih jauh) dan kalu ada tolong di berikan alamatx trims
08/15/09 @ 17:40

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)