Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Makalah kohana
1. Tugas Makalah
Penggunaan Framework Kohana dalam Pembuatan Aplikasi Berbasis
Web Sederhana
Disusun Oleh :
Siti Nur Efifa/8113100045
POLITEKNIK KOTA MALANG
PROGRAM STUDI TEKNIK INFORMATIKA
TAHUN 2012
1
2. KATA PENGANTAR
Puji syukur penulis panjatkan ke hadirat Alloh SWT. bahwa penulis telah menyelesaikan tugas mata
kuliah pemrograman berbasis web dengan membahas “Penggunaan Framework Kohana dalam
Pembuatan Aplikasi Berbasis Web Sederhana” dalam bentuk makalah.
Dalam penyusunan tugas atau materi ini, tidak sedikit hambatan yang penulis hadapi. Namun penulis
menyadari bahwa kelancaran dalam penyusunan materi ini tidak lain berkat bantuan, dorongan dan
bimbingan orang tua, sehingga kendala-kendala yang penulis hadapi teratasi. Oleh karena itu penulis
mengucapkan terima kasih kepada :
1. Orang tua yang telah turut membantu, membimbing, dan mengatasi berbagai kesulitan sehingga
tugas ini selesai.
2. Teman dan kerabat yang memberikan petunjuk, kepada penulis sehingga penulis termotivasi dan
menyelesaikan tugas ini.
Semoga materi ini dapat bermanfaat dan menjadi sumbangan pemikiran bagi pihak yang membutuhkan,
khususnya bagi penulis sehingga tujuan yang diharapkan dapat tercapai, Amiin.
Malang, 6 Agustus 2012
Penulis
2
3. DAFTAR ISI
COVER .............................................................................................................................................. 1
KATA PENGANTAR ............................................................................................................................ 2
DAFTAR ISI........................................................................................................................................ 3
BAB I PENDAHULUAN ....................................................................................................................... 4
1.1. Latar Belakang............................................................................................................................ 4
1.2. Batasan Masalah ........................................................................................................................ 4
1.3. Rumusan Masalah ...................................................................................................................... 4
1.4. Tujuan Penulisan ........................................................................................................................ 4
BAB II TINJAUAN PUSTAKA ............................................................................................................... 5
2.1. Pengertian Framework .............................................................................................................. 5
2.2. Macam – Macam Framework..................................................................................................... 5
2.3.Framework Kohana versi 3.0.3 .................................................................................................... 5
BAB III PEMBAHASAN ....................................................................................................................... 7
3.1. Proses Menginstall Framework Kohana versi 3.0.3 ..................................................................... 7
3.2. Proses Pembuatan Website Sederhana Menggunakan Kohana dan JQuery ................................ 8
BAB IV PENUTUP .............................................................................................................................. 28
4.1. Kesimpulan ................................................................................................................................ 28
DAFTAR PUSTAKA ............................................................................................................................. 29
3
4. BAB I
PENDAHULUAN
1.1. Latar Belakang
Seiring berkembangnya jaman, umumnya dalam pemograman dalam bahasa PHP, orang cenderung
tidak menulis coding dari awal. Orang umumnya lebih memilih untuk menggunakan CMS, template
engine dan/atau framework untuk membuat pekerjaan mereka lebih ringan.
1.2. Batasan Masalah
Program web sederhana ini dibangun dengan menggunakan aplikasi pemograman bahasa : PHP5
serta framework : Kohana versi 3.0.3 dan juga menggunakan Javascript Library: jquery ui versi 1.8x.
1.3. Rumusan Masalah
Beberapa Rumusan masalah dari penulisan makalah ini adalah :
a. Bagaimana menginstall framework Kohana versi 3.0.3 ?
b. Bagaimana membangun program aplikasi web menggunakan framework Kohana versi 3.0.3 dan
JQuery ?
1.4. Tujuan Penulisan
Beberapa Tujuan dari penulisan makalah ini adalah :
a. Menginstall framework Kohana versi 3.0.3.
b. Membangun program aplikasi web menggunakan framework Kohana versi 3.0.3 dan JQuery.
4
5. BAB II
TINJAUAN PUSTAKA
2.1.Pengertian Framework
Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulanscript
(terutama class dan function) yang dapat membantu developer/programmer dalam menangani
berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel,
file,dll sehingga developer lebih fokus dan lebih cepat membangun aplikasi. Bisa juga dikatakan
Framework adalah komponen pemrorgaman yang siap re-use kapan saja, sehingga programmer
tidak harus membuat skrip yang sama untuk tugas yang sama.
2.2.Macam – Macam Framework
1. Framework PHP:
a. CakePHP
b. CodeIgniter (CI)
c. Symphony
d. Zend
e. Yii
f. Kohana
2. Framework Javascript:
a. JQuery
b. Mootools
3. Framework Ruby:
a. Ruby on Rails (ROR)
2.3.Framework Kohana versi 3.0.3
Kohana merupakan framework open source percabangan dari Code Igniter (CI), berorientasi pada
objek MVC (Model, View, Controller). Kerangka web dibangun dibawah lisensi BSD menggunakan
PHP5 dengan tujuan agar lebih cepat, aman dan kecil.
MVC adalah:
Model merupakan data pada aplikasi yang beroperasi. Biasanya sebuah database.
View berisi kode presentasi seperti HTML, CSS dan JavaScript.
Controller menafsirkan input dari user dan mengirimkan kepada model dan / view.
fitur utama pada kohana versi 3.0.3 :
Sangat aman
5
6. Sangat ringan
Kurva pembelajaran yang pendek
Menggunakan pola MVC
100% UTF-8 yang kompatibel
Sangat mudah untuk dikembangkan
Jquery adalah sebuah Library Javascript yang cepat dan ringkas yang mana dapat menyederhakan
document traversing, event handling, animating, dan Ajax interactions untuk pengembangan web
secara cepat.
6
7. BAB III
PEMBAHASAN
3.1. Proses Menginstall Framework Kohana versi 3.0.3
Proses pertama adalah mengunduh kohana pada situs resmi http://kohanaframework.org, penulis
menggunakan kohana versi 3.0.3. Setelah selesai mengunduh, penulis mengekstra folder kohana-
3.0.3.zip dan mengubah nama folder menjadi web_kohana. Lalu folder tersebut di letakkan pada
root dokumen webserver penulis.
Setelah itu, penulis mengubah konfigurasi yang ada dalam folder web_kohana. Penulis meng-copy
file example.htacces menjadi file .htacces, file .htacces datanya diubah sesuai dengan nama folder
kohana.
Selanjutnya pada folder web_kohana => application => bootstrap.php, penulis mengubah nama
folder sesuai dengan nama folder kohana.
7
8. Ketika membuka localhost pada web-browser, akan muncul tampilan seperti gambar dibawah.
Proses installasi belum selesai, penulis menghapus atau mengubah nama file install.php pada folder
web_kohana. Dan proses installasi berhasil ketika membuka localhost pada web-browser, akan
muncul tulisan “hello, world!”.
8
9. 3.2. Proses Pembuatan Website Sederhana Menggunakan Kohana dan JQuery.
Berikut cara membuat sebuah website sederhana menggunakan kohana versi 3.0.3 dan JQuery ui
versi 1.8x :
a. Pertama membuat folder media dalam root dokumen webserver penulis, folder tersebut diisi
dengan tiga folder lagi yaitu css, js dan images. (Data css dan js langsung bisa diisi dengan data
JQuery library yang sudah di unduh, penulis menggunakan JQuery ui versi 1.8x), sedangkan data
gambar (seperti logo) bisa langsung diisi pada folder images.
b. Selanjutnya, penulis membuat file myweb.php pada folder web_kohana => application =>
classes => controller, dan isi file tersebut :
<?php defined(‘SYSPATH’) or die(‘No direct script access.’);
class Controller_Myweb extends Controller_Mybase{
public function action_load($page)
{
$this->template->content = View::factory(‘pages/’.$page);
}
} // End Controller_MyWeb
c. Didalam folder controller, penulis menambahkan satu file lagi mybase.php sebagai extend dari
file myweb.php dan isi file tersebut :
<?php defined(‘SYSPATH’) or die(‘No direct script access.’);
class Controller_Mybase extends Controller_Template {
protected $_ajax = FALSE;
public $template = ‘template’;
public function before()
9
13. <a href=”http://jigsaw.w3.org/css-validator/check/referer”><img
style=”border:0;width:88px;height:31px” src=”http://jigsaw.w3.org/css-validator/images/vcss”
alt=”Valid CSS!” /></a></p>
</div>
</div>
</div>
</body>
</html>
e. Selanjutnya buat file css dengan nama screen.css pada folder web_kohana => media => css.
/* -----------------------------------------------------------------------
Blueprint CSS Framework 0.9
http://blueprintcss.org
* Copyright (c) 2007-Present. See LICENSE for more info.
* See README for instructions on how to use Blueprint.
* For credits and origins, see AUTHORS.
* This is a compressed file. See the sources in the ‘src’ directory.
----------------------------------------------------------------------- */
/* reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
13
23. hr {background:#CEFE98;color:#CEFE98;clear:both;float:none;width:100%;height:.1em;margin:0
0 1.45em;border:none;}
hr.space {background:#fff;color:#fff;visibility:hidden;}
.clearfix:after, .container:after
{content:”0020”;display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
.clearfix, .container {display:block;}
.clear {clear:both;}
f. Langkah berikutnya membuat sebuah file pada folder web_kohana => application => views =>
pages, file tersebut bernama home.php
<div class=”OuterContentTitle”>
<center><div class=”InnerContentTitle”>Welcome to Alwayzz Motivation Site
^^</div><center>
</div>
<div class=”OuterBox”>
<div class=”InnerBox”><p>Ketika kamu tetap tersenyum,meskipun merasa
sakit….<br />
Ketika
kamu tetap memberi,meskipun tak pernah dibalas…<br />
Ketika kamu tetap ceria,meskipun terluka…<br />
Ketika kamu tetap diam,meskipun perih…<br />
Dan ketika kamu bahagia,meskipun kehilangan…<br />
Disitulah ketulusan hati sedang diuji..<br />
Kesedihan mengajarkan tentang indahnya kebahagiaan…<br />
Seperti juga sakit,mengajarkan tentang nikmatnya sehat…<br />
Dan apabila sakit,ALLAH yg menyembuhkanya.Seringkali kita berputus
asa tatkala mendapatkn kesulitan atau cobaan.Padahal Allah Azza Wa Jalla telah memberi janji
bahwa dibalik kesulitan ada kemudahan,pasti ada jalan keluar yg begitu dekat.
</p>
</div>
</div>
g. Setelah semua proses selesai, penulis membuat sebuah file untuk page error pada folder
web_kohana => application => views => errors. File 404.php, berisi :
<html><head>
<title>404 Not Found</title></head><body vlink=”#ff9966” text=”#ffffff” bgcolor=”#0000cc”
link=”#ffffcc”>
<center><div align=”center”>
<pre><code>
23
24. </code><table border=”0” bgcolor=”#c0c0c0”><tbody><tr><td><code><font
color=”#330033”>ERR 404</font></code></td></tr></tbody></table>
FFFFFF0 FFFFFFF FF00000 FF00000 0FFFFF0 FF000FF FF000FF
FF000FF 000F000 FF00000 FF00000 FF000FF FF000FF 0FF0FF0
FFFFFF0 000F000 FF00000 FF00000 0FFF000 FF000FF 00FFF00
FFFFFF0 000F000 FF00000 FF00000 000FFF0 FF000FF 00FFF00
FF000FF 000F000 FF00000 FF00000 FF000FF FF000FF 0FF0FF0
FFFFFF0 FFFFFFF FFFFFFF FFFFFFF 0FFFFF0 0FFFFF0 FF000FF
You have attempted to access a non-existent page.
The current HTTP session will be terminated.
Press any key to continue<blink>_</blink>
</pre>
</div></center>
<hr>
<address><a href=”home”>thttpd/2.26 ??mar2010</a></address>
</body></html>
h. Terakhir, ubah file bootstrap.php pada folder web_kohana => application => bootstrap.php
menjadi seperti data di bawah :
<?php defined(‘SYSPATH’) or die(‘No direct script access.’);
//-- Environment setup --------------------------------------------------------
/**
* Set the default time zone.
*
* @see http://docs.kohanaphp.com/about.configuration
* @see http://php.net/timezones
*/
date_default_timezone_set(‘Asia/Jakarta’);
/**
* Set the default locale.
*
* @see http://docs.kohanaphp.com/about.configuration
* @see http://php.net/setlocale
*/
setlocale(LC_ALL, ‘en_US.utf-8’);
/**
* Enable the Kohana auto-loader.
*
24
25. * @see http://docs.kohanaphp.com/about.autoloading
* @see http://php.net/spl_autoload_register
*/
spl_autoload_register(array(‘Kohana’, ‘auto_load’));
/**
* Enable the Kohana auto-loader for unserialization.
*
* @see http://php.net/spl_autoload_call
* @see http://php.net/manual/var.configuration.php#unserialize-callback-func
*/
ini_set(‘unserialize_callback_func’, ‘spl_autoload_call’);
//-- Configuration and initialization -----------------------------------------
/**
* Initialize Kohana, setting the default options.
*
* The following options are available:
*
* - string base_url path, and optionally domain, of your application NULL
* - string index_file name of your index file, usually “index.php” index.php
* - string charset internal character set used for input and output utf-8
* - string cache_dir set the internal cache directory APPPATH/cache
* - boolean errors enable or disable error handling TRUE
* - boolean profile enable or disable internal profiling TRUE
* - boolean caching enable or disable internal caching FALSE
*/
Kohana::init(array(
‘base_url’ => ‘/web_kohana/’,
‘index_file’ => FALSE,
‘charset’ => ‘utf-8’,
‘errors’ => TRUE,
‘profile’ => TRUE,
‘cache_dir’ => APPPATH.’cache’,
‘caching’ => TRUE ));
/**
* Attach the file write to logging. Multiple writers are supported.
*/
Kohana::$log->attach(new Kohana_Log_File(APPPATH.’logs’));
25
26. /**
* Attach a file reader to config. Multiple readers are supported.
*/
Kohana::$config->attach(new Kohana_Config_File);
/**
* Enable modules. Modules are referenced by a relative or absolute path.
*/
Kohana::modules(array(
// ‘auth’ => MODPATH.’auth’, // Basic authentication
// ‘codebench’ => MODPATH.’codebench’, // Benchmarking tool
// ‘database’ => MODPATH.’database’, // Database access
// ‘image’ => MODPATH.’image’, // Image manipulation
// ‘orm’ => MODPATH.’orm’, // Object Relationship Mapping
// ‘pagination’ => MODPATH.’pagination’, // Paging of results
// ‘userguide’ => MODPATH.’userguide’, // User guide and API documentation
));
/**
* Set the routes. Each route must have a minimum of a name, a URI and a set of
* defaults for the URI.
*/
if ( ! Route::cache())
{
Route::set(‘default’, ‘(<page>)’, array(‘page’ => ‘.+’))
->defaults(array(
‘controller’ => ‘myweb’,
‘action’ => ‘load’,
‘page’ => ‘home’
));
/* Route::set(‘default’, ‘(<controller>(/<action>(/<id>)))’)
->defaults(array(
‘controller’ => ‘ko3’,
‘action’ => ‘index’,
)); */
Route::cache(TRUE);
}
/**
* Execute the main request. A source of the URI can be passed, eg: $_SERVER[‘PATH_INFO’].
* If no source is specified, the URI will be automatically detected.
*/
26
27. $request = Request::instance($_SERVER[‘PATH_INFO’]);
try
{
// Attempt to execute the response
$request->execute();
}
catch (Exception $e)
{
// Log the error
Kohana::$log->add(Kohana::ERROR, Kohana::exception_text($e));
// Create a 404 response
$request->status = 404;
$request->response = View::factory(‘errors/4042’);
}
$request->send_headers()->response;
echo $request->response;
i. Hasil uji coba pada web browser, pada tampilan home.
27
28. BAB IV
PENUTUP
4.1. Kesimpulan
Framework kohana mirip dengan CodeIgniter, karena memang percabangan dari basenya
CodeIgniter dengan kata lain kohana merupakan turunan CodeIgniter dengan menghilangkan
support untuk PHP 4.0 dan pengubahan beberapa aturan pada segi struktur.
28
29. DAFTAR PUSTAKA
Krizzna. "KOHANA PHP Framework Tutorial". From
http://www.indowebster.web.id/showthread.php?t=71671, 4 Agustus 2012.
"Pengertian Framework". From http://www.scribd.com/doc/52982287/PENGERTIAN-FRAMEWORK , 5
Agustus 2012.
Cheyuz. "Mengenal JQuery". From http://harian.cheyuz.com/_other/mengenal-jquery, 5 Agustus 2012.
29