0% menganggap dokumen ini bermanfaat (0 suara)
237 tayangan15 halaman

Tutorial Dasar Menggunakan Framework CakePHP

Dasar-dasar dalam menggunakan Framework CakePHP mulai dari instalasi, pengaturan konfigurasi dan pengaturan aplikasi.

Diunggah oleh

Al-Umam Scarlet
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
237 tayangan15 halaman

Tutorial Dasar Menggunakan Framework CakePHP

Dasar-dasar dalam menggunakan Framework CakePHP mulai dari instalasi, pengaturan konfigurasi dan pengaturan aplikasi.

Diunggah oleh

Al-Umam Scarlet
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

2015 Muhammad Khoirul Umam - PT.

Pelangi Indodata

IT WEB DEVELOPMENT

PT. PELANGI INDODATA


HTML, CSS, JavaScript dan PHP
1. Memahami Dasar-Dasar HTML, CSS, dan JavaScript.
- Membuat tabel menggunakan HTML dengan struktur yang sesuai dengan kebutuhan, contoh :
<!DOCTYPE html>
<html>
<head>
<title>Table Design Using HTML</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<table border="1px" cellpadding="5px" cellspacing="3px">
<caption>Table Design Using HTML</caption>
<tr>
<th rowspan="2">Nr</th>
<th rowspan="2">Employee's Name</th>
<th colspan="2">Gender</th>
<th colspan="4">Blood Type</th>
<th rowspan="2">Occupation</th>
</tr>
<tr>
<th scope="col">Male</td>
<th scope="col">Female</td>
<th scope="col">A</td>
<th scope="col">B</td>
<th scope="col">AB</td>
<th scope="col">O</td>
</tr>
<tr>
<td align="center">1</td>
<td>Clinton Bellace</td>
<td></td>
<td align="center">x</td>
<td align="center">x</td>
<td></td>
<td></td>
<td></td>
<td>Front-End Developer</td>
</tr>
Halaman 1

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata


<tr>
<td align="center">2</td>
<td>Richard Antroph</td>
<td align="center">x</td>
<td></td>
<td></td>
<td></td>
<td align="center">x</td>
<td></td>
<td>Back-End Developer</td>
</tr>
<tr>
<td align="center">3</td>
<td>Natasya Einsten</td>
<td></td>
<td align="center">x</td>
<td></td>
<td align="center">x</td>
<td></td>
<td></td>
<td>Sales Marketing</td>
</tr>
<tr>
<td align="center">4</td>
<td>Albert Stephenhar</td>
<td align="center">x</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td align="center">x</td>
<td>Mobile App Developer</td>
</tr>
</table>
</body>
</html>

Halaman 2

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

- Merubah layout/tampilan tabel menggunakan CSS, contoh :


@charset "UTF-8";
table, tr, th, td {
border: 1px solid #333;
border-collapse: collapse;
padding: 10px;
}
table caption {
font-size: 16px;
font-weight: bold;
margin: 10px auto;
}
table tr th {
background-color: #D6D6D6;
}
table tr:nth-of-type(even) {
background-color: #E6E6E6;
}
input[type="button"]:hover {
cursor: pointer;
}

Halaman 3

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

- Mengambil nilai dari sebuah inputan dan menampilkannya menggunakan JavaScript, contoh :
<div align="center" style="margin-top: 100px;">
Hello there! What is your name? <input type="text" id="name">
<input type="button" id="greets" onclick="Greets()" value="Greets!">
</div>
<script type="text/javascript">
function Greets() {
var name = document.getElementById("name").value;
if (name!=="") {
window.alert("Hello "+ name + ", nice to meet you!");
return document.getElementById("name").value="";
} else {
window.alert("Sorry, I don't know yourname!");
}
}
</script>

Halaman 4

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

2. Memahami PHP dan Mampu Menerapkannya Dalam Pemrograman Web Dinamis.


- Menerapkan fungsi percabangan/branching dan perulangan/looping, contoh :
<form name="looping" method="post">
Input any numbers : <input type="text" name="number">
<input type="submit" name="execute" value="Execute">
</form>
<?php
if (isset($_POST['execute']) and $_POST['execute']=="Execute") {
echo "Output : <br>";
$number=$_POST['number'];
if (preg_match('/^[1-9][0-9]{0,3}$/', $number)) {
$c=$number;
for ($a=1; $a<=$c; $a++) {
for ($b=1; $b<$a; $b++) {
echo "$b ";
//echo "*";
}
echo "<br>";
}
for ($a=$c; $a>=1; $a--) {
for ($b=1; $b<=$a; $b++) {
echo "$b ";
Halaman 5

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata


//echo "*";
}
echo "<br>";
}
} else {
echo "Please input any numbers (maximum is 4 digits)!";
}
}
?>
3. Memahami Pemrograman Web Dinamis Dengan PHP dan Database.
- Membuat file konfigurasi untuk menghubungkan ke database, contoh :
<?php
define('db_host','localhost');
define('db_user','root');
define('db_pass','');
define('db_name','testing');
$conn=mysql_connect(db_host,db_user,db_pass)
or die (mysql_error());
if ($conn) {
mysql_select_db(db_name);
echo "Database is connected...";
}
?>
- Membuat halaman login multiuser dengan berbagai level/hak akses, contoh :

Halaman 6

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

- Mampu menerapkan konsep CRUD (Create, Read, Update, Delete), contoh :

Untuk contoh lengkapnya bisa di download di GitHub, silahkan buka link berikut ini :
http://github.com/umamscarlet/prakerin-smk

Halaman 7

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

CakePHP Framework
1. Memahami Konsep MVC (Model, View, Controller).
Model Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu
seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan
lain-lain.
View View adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman
web.
Controller Controller merupakan bagian yang menjembatani model dan view. Controller berisi
perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.

Halaman 8

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata


Konsep MVC Pada CakePHP

Gambar diatas menunjukkan sebuah contoh dari kerangka request MVC dalam CakePHP. Untuk
memahami pola diatas, asumsikan seoran klien/user bernama Umam sebagai berikut :
1) Umam membuka tautan/link Beli baju ini sekarang! di halaman beranda (home) sebuah
aplikasi Online Store. Link tersebut merujuk ke http://www.example.com/clothes/buy dan
browser yang digunakannya akan membuat request/permintaan ke web server aplikasi Online
Store tersebut.
2) Dispatcher kemudian akan mengecek URL request (/clothes/buy), dan mengarahkan request
tersebut ke Controller yang sesuai.
3) Controller akan melakukan eksekusi/mejalankan perintah-perintah logic yang ada. Misalnya,
Controller akan mengecek apakah Umam telah login atau belum.
4) Controller juga menggunakan Model untuk memperoleh data dari aplikasi. Model umumnya
merepresentasikan suatu tabel didalam database. Dalam contoh ini, Controller menggunakan
Model untuk mengambil data pembelian buku terakhir si umam dari database.
5) Setelah memproses data, Controller akan memberikan hasilnya ke View. View akan mengambil
data akhir dan menyiapkannya untuk ditampilkan ke klien/user. View ini dalam CakePHP
umumnya berupa dokumen HTML dengan ekstensi file .ctp.
6) Saat View selesai menggunakan data yang diberikan oleh Controller untuk menghasilkan
tampilan, isi dari View tersebut akan dikembalikan ke browser dan kemudian ditampilkan
sehingga klien/user bisa melihatnya.
2. Instalasi CakePHP di Server Lokal (localhost).
Download package CakePHP di http://www.cakephp.org atau langsng menuju ke halaman GitHub
CakePHP di http://github.com/cakephp/cakephp/releases dan pilih versi CakePHP yang sesuai dengan
kebutuhan, sebagai contoh pilih CakePHP versi 2.7.3 (buka link berikut ini:
http://github.com/cakephp/cakephp/tree/2.7.3) dan setelah selesai di download kemudian extract file
Halaman 9

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata


tersebut. Lalu pindahkan folder hasil extract tersebut ke dalam folder /var/www/ (untuk pengguna
Linux) atau /xampp/htdocs/ 9untuk pengguna Windows).
Setelah itu buka file core.php yang berada di folder /cakephp-2.7.3/app/Config/ dan edit nilai dari
Security.salt dan Security.cipherSeed pada bagian berikut ini :
/**
* A random string used in security hashing methods.
*/
Configure::write('Security.salt',
'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
// Edit tulisan 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'
/**
* A random numeric string (digits only) used to encrypt/decrypt
strings.
*/
Configure::write('Security.cipherSeed',
'76859309657453542496749683645');
// Edit tulisan '76859309657453542496749683645'
Masih di dalam folder /cakephp-2.7.3/app/Config/ , Rename file database.php.default menjadi
database.php, kemudian buka file tersebut dan edit pada bagian berikut ini sesuai dengan database
yang akan digunakan :
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
Sebagai contoh awal, buatlah sebuah database dengan nama testing dan edit baris tersebut menjadi
seperti berikut ini :
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'testing',
Halaman 10

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata


'prefix' => '',
//'encoding' => 'utf8',
);
Simpan kedua file tersebut (core.php dan database.php), buka url berikut pada browser
http://localhost/cakephp-2.7.3 maka akan tampil halaman seperti pada gambar berikut ini :

Jika sudah muncul halaman seperti pada gambar diatas, artinya CakePHP sudah berhasil di install dan
siap untuk di gunakan.
3. Memasang Plugin CakePHP
Sebagai contoh pasanglah Plugin DebugKit, silahkan ikuti langkah-langkah berikut ini :
Download package Plugin DebugKit di GitHub (http://github.com/cakephp/debug_kit), untuk versi
CakePHP 2.2.x download melalui url berikut http://github.com/cakephp/debug_kit/tree/2.2 kemudian
extract file tersebut, rename folder hasil extract menjadi DebugKit dan pindahkan ke folder
/app/Plugin, kemudian buka file bootstrap.php (/app/Config/bootstrap.php) dan tambahkan script
berikut ini :
CakePlugin::load('DebugKit');
Buka file AppController.php (/app/Controller/AppController.php) dan aktifkan DebugKit Toolbar
dengan cara menmabhakna script berikut ini :
class AppController extends Controller {
public $components = array('DebugKit.Toolbar');
}
Kemudian simpan kedua file tersebut dan buka kembali url http://localhost/cakephp-2.7.3 di browser,
Halaman 11

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata


jika muncul Toolbar seperti pada gambar berikut ini maka Plugin DebugKit sudah berhasil di pasang.

4. Membuat Aplikasi CRUD Dengan CakePHP


Menggunakan fitur Cake Bake untuk membuat aplikasi CRUD, sebagai contoh awal buatlah table
baru dengan nama movies pada database test yang telah dibuat sebelumnya. Jalankan query SQL
berikut ini untuk membuatnya :
CREATE TABLE IF NOT EXISTS `movies` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(250) NOT NULL,
`genre` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Kemudian buka jendela Terminal (untuk pengguna Linux) atau Command-Prompt (untuk pengguna
Windows) dan ikuti langkah-langkah berikut ini :
Masuk ke folder /app
cd /var/www/cakephp-2.7.3/app atau cd /xampp/htdocs/cakephp-2.7.3/app
Gunakan perintah cake bake untuk memulai proses pembuatan aplikasi CRUD
Console/cake bake all
Dan ikuti langkah-langkah sesuai dengan instruksi yang tampil, perhatikan gambar berikut ini :

Halaman 12

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

Pada gambar diatas muncul keterangan Possible Models based on your current database, artinya
CakePHP akan menampilkan semua tabel didalam database yang memungkinkan untuk dibuat aplikasi
CRUD, karena sebelumnya hanya tabel movies saja yang dibuat maka yang akan tampil juga hanya
keterangan Movie.

Halaman 13

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

Gambar diatas menunjukan bahwa proses pembuatan aplikasi CRUD sedang berlangsung, dalam hal
ini silahkan ditunggu saja. Dan untuk keterangan PHPUnit is not installed. Do you want to bake unit
test files anyway? muncul karena komponen PHPUnit belum di install.

Halaman 14

2015 Muhammad Khoirul Umam - PT. Pelangi Indodata

Jika sudah muncul keterangan Baking All complete, artinya proses pembuatan aplikasi CRUD sudah
selesai, untuk memastikannya silahkan buka url berikut http://localhost/cakephp-2.7.3/movies di
browser dan lihat hasilnya.

Jika muncul halaman seperti pada gambar diatas, artinya aplikasi CRUD benar-benar telah berhasil
dibuat dan siap untuk digunakan. Silahkan dicoba untuk melakukan aksi seperti Add, Edit dan Delete.

Halaman 15

Anda mungkin juga menyukai