Download - Makalah Framework KOHANA
MAKALAH
PEMBUATAN APLIKASI
BERBASIS WEB SEDERHANA Framework KOHANA
Disusun Oleh
REZA YULIANI _ 8113100041
POLITEKNIK KOTA MALANG
TEKNIK INFORMATIKA
TAHUN 2012
1
KATA PENGANTAR
Alhamdullilahiroobil alamin, puji syukur kita panjatkan kehadirat Allah SWT,
atas segala rahmat , nikmat, taufiq dan hidayahnya sehingga penulis dapat
mendapat kekuatan lahir batin untuk mengerjakan program dan makalah ini tanpa
ada hambatan
Dengan semakin berkembangnya dunia IT banyak sekali software – software
yang dikembangkan untuk memudahkan pengguna dalam melakukan pekerjaan ,
yang sebelumnya membutuhkan waktu cukup banyak untuk menyelesaikannya dan
dengan pembuatan software dapat mempersingkat penyelesaiannya.
Penulis membuat makalah ini untuk memenuhi persyaratan nilai mata kuliah
PHP yang mana pada materi kuliah ini di ajarkan berbagai macam cara untuk
pembuatan program web menggunakan framework , disini penulis menggunakan
framework KOHANA.
Dengan adanya laporan ini semoga bermanfaat bagi pembaca maupun
penulis untuk kedepannya, sehingga dapat mengerjakan dan membuat program
yang lebih bagus dan layak tentunya.
Penulis menyadari sepenuhnya, karena mungkin laporan ini jauh dari
sempurna, karena memang keterbatasan pengetahuan, pengalaman dan waktu
yang disediakan, sehingga penulis berharap apabila ada kesalahan dalam
pembuatan laporan yang diberikan , saya mohon maaf.
Malang, 14 agustus 2012
Disusun oleh,
Reza yuliani
2
DAFTAR ISI
Kata Pengantar ............................................................................................ 1
Daftar Isi ...................................................................................................... 2
BAB I PENDAHULUAN . ............................................................................. 3
1.1 Latar Belakang ........................................................................... 3
1.2 Batasan Masalah ........................................................................... 3
1.3 Rumusan Masalah ....................................................................... 4
1.4 Tujuan .......................................................................................... 4
BAB II TINJAUAN PUSTAKA ...................................................................... 5
2.1 Pengertian Framework ................................................................ 5
2.2 Macam Framework ....................................................................... 6
2.3 Pengertian kohana ....................................................................... 6
BAB III PEMBAHASAN ............................................................................... 8
3.1 Instalasi Framework Kohana ........................................................ 8
3.2 Pembuatan Web Sederhana Menggunakan Kohana .................. 9
BAB IV PENUTUP ................................................................................... 42
4.1 Kesimpulan ................................................................................. 42
DAFTAR PUSTAKA ................................................................................... 43
3
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam era globalisasi sekarang ini, komputer merupakan alat yang sangat
dibutuhkan oleh banyak instansi dan perusahaan-perusahaan milik negara
maupaun swasta. Pemakaian komputer saat ini berkembang semakin pesat
disegala bidang. Sejalan dengan berkembangnya dunia teknologi modern saat
ini, banyak mengakibatkan perubahan lingkungan manusia dalam menangani
setiap permasalahan yang terjadi yang berhubungan dengan proses
pembangunan secara menyeluruh.
Jika diperhatikan dan ditelusuri kemajuan yang telah dicapai itu, dapat terlihat
dengan jelas bahwa permasalahannya adalah terletak pada cara pembuatan web
yang di mulai dan dikerjakan dari dasar, tanpa melakukan riset terlebih dahulu.
Setelah meninjau permasalahan pada pembuatan sebuah web sederhana,
maka penulis mempunyai keinginan untuk membuat sebuah web dengan
menggunakan salah satu macam framework yaitu framework kohana, oleh
karena itu, pada kesempatan ini penulis mengkhususkan pembuatan web
sederhana dengan kohana. Perancangan web sederhana ini didasarkan atas
keinginan penulis untuk menyediakan informasi tentang cara menggunakan
framework dan cara membuat web menggunakan framework, agar proses
pembuatan web tersebut dapat lebih cepat dan simple untuk meringankan
pekerjaan seorang programmer.
1.2 Batasan Masalah
Batasan masalah dari system ini adalah :
1. Program web ini dibuat menggunakan framework kohana
2. Menggunakan bahasa pemrograman php5
3. Menggunakan javascript library “jquery”
4
1.3 Rumusan Masalah
Rumusan masalah yang akan dibahas pada makalah ini adalah :
1. Bagaimana membuat sebuah web sederhana menggunakan framework
kohana
1.4 Tujuan
Tujuan pembuatan makalah ini adalah :
1. Dapat membuat sebuah web dengan framework kohana
5
BAB II
TINJAUAN PUSTAKA
3.1 Pengertian Framework
Framework adalah kerangka kerja. Framework juga dapat diartikan
sebagai kumpulanscript (terutama class dan function) yang dapat membantu
developer/programmer dalammenangani berbagai masalah-masalah dalam
pemrograman seperti koneksi ke database, pemanggilan variabel, file,dll
sehingga developer lebih fokus dan lebih cepat membangunaplikasi.Bisa juga
dikatakan Framework adalah komponen pemrorgaman yang siap re-use
kapansaja, sehingga programmer tidak harus membuat skrip yang sama
untuk tugas yang sama.Misalkan saat anda membuat aplikasi web berbasis
ajax yang setiap kali harus melakukanXMLHttpRequest, maka Xajax telah
mempurmudahnya untuk anda dengan menciptakan sebuahobjek khusus
yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah satu
contohkecil, selebihnya Framework jauh lebih luas dari itu.
Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan
fungsi (libraries),maka seorang programmer tidak perlu lagi membuat fungsi-
fungsi (biasanya disebut kumpulanlibrary) dari awal, programmer tinggal
memanggil kumpulan library atau fungsi yang sudah adadidalam framerwork,
tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan
olehframework. Beberapa contoh fungsi-fungsi standar yang telah tersedia
dalam suatu framework adalah fungsi paging, enkripsi, email, SEO, session,
security, kalender, bahasa, manipulasigambar, grafik, tabel bergaya zebra,
validasi, upload, captcha, proteksi terhadap XSS(XSSfiltering), template,
kompresi, XML dan lain-lain.
6
3.2 Macam macam Framework
1. Framework PHP
a. CakePHP
b. Code Igniter (CI)
c. Symphony
d. Zend
e. Yii
f. Kohana
2. Framework Javascript
a. JQuery
b. Mootools
3. Framework Ruby
a. Ruby on Rails (ROR)
3.3 Pengertian kohana
Kohana adalah framework PHP 5 yang menggunakan pola arsitektur
Model View Controller (MVC). Ada beberapa alasan mengapa Anda harus
memilih Kohana tapi yang utama adalah keamanan, bobot dan
kesederhanaanya. MVC membuat logika aplikasi terpisah dari presentasi. Hal
ini memungkinkan kita untuk membuat kode lebih rapi dan menghemat waktu
untuk mencari bug.
MVCadalah :
Model ; merupakan data pada aplikasi yang beroperasi. Biasanya
sebuah database .
View ; berisi kode presentasi seperti HTML, CSS dan JavaScript.
7
Controller ; menafsirkan input dari user dan mengirimkan kepada
model dan / view.
Pada awalnya Kohana merupakan pencabangan dari CodeIgniter (CI), yang
merupakan produk Open-Source dari EllisLab
8
BAB III
PEMBAHASAN
3.1 Instalasi Framework Kohana
1. Langkah pertama adalah download kohana pada situs resmi
http://kohanaphp.com, Setelah selesai download, ekstrak folder
kohana.zip dan mengubah nama folder sesuai yang anda inginkan.
kemudian letakkan folder pada root didalam webserver anda
2. Kemudian ubah konfigurasi yang ada dalam folder frameworkku. dengan
meng-copy file example.htacces menjadi file .htacces, file .htacces
datanya diubah sesuai dengan nama folder kohana anda
9
3. Kemudian pada folder frameworkku - application - bootstrap.php, ubah
nama folder sesuai dengan nama folder kohana anda.
4. Setelah merubah konfigurasi pada file.php , coba jalankan pada browser
anda dengan mengetikkan seperti dibawah ini, jika sudah berhasil akan
muncul pesan pembuka “hello!! World”
3.2 Pembuatan Web Sederhana Menggunakan Kohana
1. Buatlah folder media dalam root dokumen webserver anda, isilah folder
dengan tiga folder lagi yaitu css, js dan images.
Pada folder css dan js isilah dengan data JQuery library yang sudah di
download sedangkan data gambar isikan pada folder images.
10
2. Pada folder frameworkku - application - classes - controller, buat file
dengan nama myweb.php dan isi file tersebut seperti dibawah ini
<?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
3. Dalam folder controller, buatlah file lain dengan nama mybase.php
sebagai extend dari file myweb.php dan isi file tersebut seperi dibwah ini
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Mybase extends Controller_Template {
protected $_ajax = FALSE;
public $template = 'template';
public function before()
{
html::$windowed_urls = TRUE;
11
parent::before();
if (Request::$is_ajax OR $this->request !== Request::instance())
{
$this->_ajax = TRUE;
}
$this->template->title = 'rezaoio.web.id';
$this->template->content = '';
$this->template->styles = array(
'media/css/screen.css',
'media/css/start/jquery-ui-1.8rc3.custom.css',
'media/css/superfish.css'
);
$this->template->scripts = array(
'media/js/jquery-1.4.2.min.js',
'media/js/jquery-ui-1.8rc3.custom.min.js',
'media/js/superfish.js',
'media/js/style.js'
);
}
public function after()
{
12
if ($this->_ajax === TRUE)
{
$this->request->response = $this->template->content;
}
else
{
parent::after();
}
}
} // End Controller_Mybase
4. Pada folder frameworkku - application - views, buatlah sebuah file dengan
nama template.php dan isi file tersebut seperti dibawah ini
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="reza" />
<meta name="description" content="Blogs powered by KOHANA PHP
Framework" />
<title><?php echo $title; ?></title>
<?php foreach($styles as $style) echo HTML::style($style), "\n"; ?>
<?php foreach($scripts as $script) echo HTML::script($script), "\n"; ?>
</head>
13
<body>
<div class="container">
<div id="hd">
<div class="bagHeader">
<div class="Logo"><a href="http://rezaoio.blogspot.com/"><?php echo
html::image('media/images/logo.png');?> </a></div>
</div>
<div class="TopMenu">
<table width="100%">
<tr>
<td> <ul class="sf-menu">
<li class="current"><a href="home">Beranda</a>
</li>
<li><a href="contact">Intip Yuk</a></li>
<li><a href="#">Kategori Resep</a>
<ul><li><a href="Category1">Kue Tradisional</a></li>
<li><a href="Category2">Kue Modern</a></li></ul>
</li>
</ul> </td>
<td width="22%"align="center"><?php echo date("D, d M Y")?></td>
</tr>
</table>
</div>
</div>
<div id="bd">
14
<table width="100%" cellpadding="20" cellspacing="20">
<tr>
<td width="78%">
<div id="Content">
<?php echo $content; ?>
</div>
</div>
</td>
<td width="22%">
<div id="accordion">
<div>
<h3><a href="#">Paling Baru</a></h3>
<ul><li><a
href="http://anekakuliner.com/resep/resep-khas-daerah/resep-kue-nastar-
sakura.html" title="Resep kue Nastar Sakura">kue Nastar Sakura</a></li>
<li><a href="http://anekakuliner.com/resep/resep-
khas-daerah/resep-kue-bika-jawa-pona.html" title="Resep Kue Bika Jawa
Pona">Kue Bika Jawa Pona</a></li>
<li><a href="http://anekakuliner.com/resep/resep-
khas-daerah/resep-japanese-cheesecake.html" title="Resep Japanese
Cheesecake">Japanese Cheesecake</a></li>
<li><a href="http://anekakuliner.com/resep/resep-
khas-daerah/resep-martabak-telor-spesial.html" title="Resep Martabak Telor
Spesial">Martabak Telor Spesial</a></li>
</ul>
</div>
<div>
15
<h3><a href="#">Resep Paling Dicari</a></h3>
<ul><li><a
href="http://anekakuliner.com/resep/resep-kue/resep-kue-cup-cake-kukus-ketan-
hitam.html" title="resep rainbow cake">resep rainbow cake</a></li>
<li><a href="http://anekakuliner.com/resep/resep-
khas-daerah/resep-kue-bika-ambon.html" title="resep lidah kucing rainbow">resep
lidah kucing rainbow</a></li>
<li><a href="http://anekakuliner.com/resep/resep-
khas-daerah/resep-martabak-telor-spesial.html" title="resep rainbow cake
kukus">resep rainbow cake kukus</a></li>
</ul>
</div>
</td>
</tr>
</table>
</div>
<div id="ft">
<div class="bagFooter"><div align="center"><p>Create by <a
href="http://rezaoio.blogspot.com">rezaoio.blogspot.com</a></p><p>Copyrights
©2012</p>
</div>
</div>
</div>
</body> </html>
16
5. Selanjutnya pada folder frameworkku - media - css. buat file css dengan
nama screen.css , dan isikan seperti dibawah ini
/* -----------------------------------------------------------------------
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 {
17
margin: 0;
padding: 0;
border: 0;
outline: 0;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
18
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
/*container */
#hd:after, #bd:after, #ft:after {
content : ".";
display : block;
height : 0;
clear : both;
visibility : hidden;
}
.container {
width : 874px;
background-color : #FFA70B;
border-left : 2px solid #FFA70B;
border-right : 2px solid #FFA70B;
color : #FFFFFF;
height : 100%;
19
margin : 0 auto;
min-height : 100%;
padding : 0;
}
.bagHeader {
background-color : #FFF2BB;
margin : auto;
position : relative;
width : auto;
height : 155px;
border : 1px solid #FFF2BB;
}
.TopMenu {
background-color : #664710;
clear : both;
height : 50px;
}
.Logo {
position : absolute;
width : auto;
height : auto;
left : 24px;
top : 19px;
}
.bagFooter {
20
background-color : #664710;
margin : 1 auto;
position : relative;
width : auto;
height : 75px;
border : 1px solid #664710;
}
#Content {
border : 0px solid #EDCB3A;
width : 100%;
height : 100%;
}
.OuterContentTitle {
border-left : 1px solid #EDCB3A;
border-right : 1px solid #EDCB3A;
border-top : 1px solid #EDCB3A;
margin : 10px 0 0;
}
.InnerContentTitle {
background-color : #EDCB3A;
border-left : 1px solid #EDCB3A;
border-top : 1px solid #EDCB3A;
color : #330000;
font-size : 24px;
font-weight : bold;
21
height : 28px;
line-height : 26px;
padding-left : 10px;
}
.OuterBox {
border : 0px solid #EDCB3A;
margin : 0 0 10px;
}
.InnerBox {
background-color : #EDCB3A;
border-left : 1px solid #EDCB3A;
border-top : 1px solid #EDCB3A;
color : #330000;
padding : 10px;
}
.Breadcrumbs {
background-color : #CCFF00;
color : #66CC00;
float : right;
font-size : 10px;
font-weight : bold;
height : 12px;
line-height : 12px;
margin : 0;
padding : 12px 10px 0 0;
22
}
.Breadcrumbs a, .Breadcrumbs a:link, .Breadcrumbs a:active, .Breadcrumbs
a:visited {
background-color : #CCFF00;
color : #669900;
text-decoration : none;
}
.Breadcrumbs a:hover {
background-color : #E9E9F2;
color : #E9E9F2;
text-decoration : underline;
}
/* typography.css */
html {font-size:100.01%;}
body {
font-size:75%;
color:#FFF;
background:#fff;
font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;
background-color : #68681B;
line-height : 20px;
}
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
h2 {font-size:2em;margin-bottom:0.75em;}
23
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
h6 {font-size:1em;font-weight:bold;}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
p {margin:0 0 1.5em;}
p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
a:focus, a:hover {
color:#FFF;
}
a {
color:#FF3;
text-decoration:underline;
}
blockquote {margin:1.5em;color:#666;font-style:italic;}
strong {font-weight:bold;}
em, dfn {font-style:italic;}
dfn {font-weight:bold;}
sup, sub {line-height:0;}
abbr, acronym {border-bottom:1px dotted #666;}
address {margin:0 0 1.5em;font-style:italic;}
del {color:#666;}
pre {margin:1.5em 0;white-space:pre;}
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
24
li ul, li ol {margin:0;}
ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
ul {list-style-type:disc;}
ol {list-style-type:decimal;}
dl {margin:0 0 1.5em 0;}
dl dt {font-weight:bold;}
dd {margin-left:1.5em;}
table {margin-bottom:1.4em;width:100%;}
th {font-weight:bold;}
thead th {background:#FF061E;}
th, td, caption {padding:4px 10px 4px 5px;}
tr.even td {background:#A00413;}
tfoot {font-style:italic;}
caption {background:#eee;}
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
.hide {display:none;}
.quiet {color:#666;}
.loud {color:#000;}
.highlight {background:#ff0;}
.added {background:#060;color:#fff;}
.removed {background:#900;color:#fff;}
.first {margin-left:0;padding-left:0;}
.last {margin-right:0;padding-right:0;}
.top {margin-top:0;padding-top:0;}
25
.bottom {margin-bottom:0;padding-bottom:0;}
/* forms.css */
label {font-weight:bold;}
fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
legend {font-weight:bold;font-size:1.2em;}
input[type=text], input[type=password], input.text, input.title, textarea, select
{background-color:#fff;border:1px solid #bbb;}
input[type=text]:focus, input[type=password]:focus, input.text:focus,
input.title:focus, textarea:focus, select:focus {border-color:#666;}
input[type=text], input[type=password], input.text, input.title, textarea, select
{margin:0.5em 0;}
input.text, input.title {width:300px;padding:5px;}
input.title {font-size:1.5em;}
textarea {width:390px;height:250px;padding:5px;}
input[type=checkbox], input[type=radio], input.checkbox, input.radio
{position:relative;top:.25em;}
form.inline {line-height:3;}
form.inline p {margin-bottom:0;}
.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
.error a {color:#8a1f11;}
.notice a {color:#514721;}
.success a {color:#264409;}
26
/* grid.css */
.showgrid {background:url(src/grid.png);}
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8,
.span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16,
.span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24
{float:left;margin-right:10px;}
.last {margin-right:0;}
.span-1 {width:30px;}
.span-2 {width:70px;}
.span-3 {width:110px;}
.span-4 {width:150px;}
.span-5 {width:190px;}
.span-6 {width:230px;}
.span-7 {width:270px;}
.span-8 {width:310px;}
.span-9 {width:350px;}
.span-10 {width:390px;}
.span-11 {width:430px;}
.span-12 {width:470px;}
.span-13 {width:510px;}
.span-14 {width:550px;}
.span-15 {width:590px;}
.span-16 {width:630px;}
.span-17 {width:670px;}
.span-18 {width:710px;}
.span-19 {width:750px;}
27
.span-20 {width:790px;}
.span-21 {width:830px;}
.span-22 {width:870px;}
.span-23 {width:910px;}
.span-24 {width:950px;margin-right:0;}
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3,
textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5,
input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8,
textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10,
input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13,
textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-
15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-
18, textarea.span-18, input.span-19, textarea.span-19, input.span-20,
textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-
22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-
width:1px!important;border-right-width:1px!important;padding-
left:5px!important;padding-right:5px!important;}
input.span-1, textarea.span-1 {width:18px!important;}
input.span-2, textarea.span-2 {width:58px!important;}
input.span-3, textarea.span-3 {width:98px!important;}
input.span-4, textarea.span-4 {width:138px!important;}
input.span-5, textarea.span-5 {width:178px!important;}
input.span-6, textarea.span-6 {width:218px!important;}
input.span-7, textarea.span-7 {width:258px!important;}
input.span-8, textarea.span-8 {width:298px!important;}
input.span-9, textarea.span-9 {width:338px!important;}
input.span-10, textarea.span-10 {width:378px!important;}
input.span-11, textarea.span-11 {width:418px!important;}
input.span-12, textarea.span-12 {width:458px!important;}
28
input.span-13, textarea.span-13 {width:498px!important;}
input.span-14, textarea.span-14 {width:538px!important;}
input.span-15, textarea.span-15 {width:578px!important;}
input.span-16, textarea.span-16 {width:618px!important;}
input.span-17, textarea.span-17 {width:658px!important;}
input.span-18, textarea.span-18 {width:698px!important;}
input.span-19, textarea.span-19 {width:738px!important;}
input.span-20, textarea.span-20 {width:778px!important;}
input.span-21, textarea.span-21 {width:818px!important;}
input.span-22, textarea.span-22 {width:858px!important;}
input.span-23, textarea.span-23 {width:898px!important;}
input.span-24, textarea.span-24 {width:938px!important;}
.append-1 {padding-right:40px;}
.append-2 {padding-right:80px;}
.append-3 {padding-right:120px;}
.append-4 {padding-right:160px;}
.append-5 {padding-right:200px;}
.append-6 {padding-right:240px;}
.append-7 {padding-right:280px;}
.append-8 {padding-right:320px;}
.append-9 {padding-right:360px;}
.append-10 {padding-right:400px;}
.append-11 {padding-right:440px;}
.append-12 {padding-right:480px;}
.append-13 {padding-right:520px;}
29
.append-14 {padding-right:560px;}
.append-15 {padding-right:600px;}
.append-16 {padding-right:640px;}
.append-17 {padding-right:680px;}
.append-18 {padding-right:720px;}
.append-19 {padding-right:760px;}
.append-20 {padding-right:800px;}
.append-21 {padding-right:840px;}
.append-22 {padding-right:880px;}
.append-23 {padding-right:920px;}
.prepend-1 {padding-left:40px;}
.prepend-2 {padding-left:80px;}
.prepend-3 {padding-left:120px;}
.prepend-4 {padding-left:160px;}
.prepend-5 {padding-left:200px;}
.prepend-6 {padding-left:240px;}
.prepend-7 {padding-left:280px;}
.prepend-8 {padding-left:320px;}
.prepend-9 {padding-left:360px;}
.prepend-10 {padding-left:400px;}
.prepend-11 {padding-left:440px;}
.prepend-12 {padding-left:480px;}
.prepend-13 {padding-left:520px;}
.prepend-14 {padding-left:560px;}
.prepend-15 {padding-left:600px;}
30
.prepend-16 {padding-left:640px;}
.prepend-17 {padding-left:680px;}
.prepend-18 {padding-left:720px;}
.prepend-19 {padding-left:760px;}
.prepend-20 {padding-left:800px;}
.prepend-21 {padding-left:840px;}
.prepend-22 {padding-left:880px;}
.prepend-23 {padding-left:920px;}
.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
.pull-1 {margin-left:-40px;}
.pull-2 {margin-left:-80px;}
.pull-3 {margin-left:-120px;}
.pull-4 {margin-left:-160px;}
.pull-5 {margin-left:-200px;}
.pull-6 {margin-left:-240px;}
.pull-7 {margin-left:-280px;}
.pull-8 {margin-left:-320px;}
.pull-9 {margin-left:-360px;}
.pull-10 {margin-left:-400px;}
.pull-11 {margin-left:-440px;}
.pull-12 {margin-left:-480px;}
.pull-13 {margin-left:-520px;}
.pull-14 {margin-left:-560px;}
.pull-15 {margin-left:-600px;}
31
.pull-16 {margin-left:-640px;}
.pull-17 {margin-left:-680px;}
.pull-18 {margin-left:-720px;}
.pull-19 {margin-left:-760px;}
.pull-20 {margin-left:-800px;}
.pull-21 {margin-left:-840px;}
.pull-22 {margin-left:-880px;}
.pull-23 {margin-left:-920px;}
.pull-24 {margin-left:-960px;}
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-
11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20,
.pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
.push-1 {margin:0 -40px 1.5em 40px;}
.push-2 {margin:0 -80px 1.5em 80px;}
.push-3 {margin:0 -120px 1.5em 120px;}
.push-4 {margin:0 -160px 1.5em 160px;}
.push-5 {margin:0 -200px 1.5em 200px;}
.push-6 {margin:0 -240px 1.5em 240px;}
.push-7 {margin:0 -280px 1.5em 280px;}
.push-8 {margin:0 -320px 1.5em 320px;}
.push-9 {margin:0 -360px 1.5em 360px;}
.push-10 {margin:0 -400px 1.5em 400px;}
.push-11 {margin:0 -440px 1.5em 440px;}
.push-12 {margin:0 -480px 1.5em 480px;}
.push-13 {margin:0 -520px 1.5em 520px;}
.push-14 {margin:0 -560px 1.5em 560px;}
32
.push-15 {margin:0 -600px 1.5em 600px;}
.push-16 {margin:0 -640px 1.5em 640px;}
.push-17 {margin:0 -680px 1.5em 680px;}
.push-18 {margin:0 -720px 1.5em 720px;}
.push-19 {margin:0 -760px 1.5em 760px;}
.push-20 {margin:0 -800px 1.5em 800px;}
.push-21 {margin:0 -840px 1.5em 840px;}
.push-22 {margin:0 -880px 1.5em 880px;}
.push-23 {margin:0 -920px 1.5em 920px;}
.push-24 {margin:0 -960px 1.5em 960px;}
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9,
.push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17,
.push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24
{float:right;position:relative;}
.prepend-top {margin-top:1.5em;}
.append-bottom {margin-bottom:1.5em;}
.box {padding:1.5em;margin-bottom:1.5em;background:#CEFE98;}
hr
{background:#CEFE98;color:#CEFE98;clear:both;float:none;width:100%;height:.1
em;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;}
33
6. Langkah berikutnya membuat sebuah file pada folder frameworkku -
application - views -> pages, dengan nama home.php
<div class="OuterContentTitle">
<center><div class="InnerContentTitle">Info dan tips
serbaguna untuk Anda</div><center>
</div>
<div class="OuterBox">
<div class="InnerBox"><p>Peluang usaha selalu bertebaran dimana
saja, begitu juga dengan ide usaha yang ada.
Namun, peluang dan ide yang tidak
dilakukan dengan pemikiran yang matang dan inovasi baru tentu saja dapat
membuat usaha menjadi hal yang biasa-biasa saja bahkan sia-sia.
Contohnya ide usaha membuat kue atau
camilan yang ringan, setiap orang memiliki ide ini,
namun sejauh mana pemikiran dan inovasi
yang ada sehingga usaha Anda menjadi berbeda.
Berikut beberapa tips yang mungkin dapat
membantu usaha Anda:
<br>1. Buat inovasi dengan camilan Anda, bisa berupa rasa yang lebih enak, rasa
yang unik dank khas
<br>2. Buat agar tampilan kotak kue/kotak kemasan Anda lucu dan semenarik
mungkin.
Anda bisa melihat betapa menariknya kotak kue/kemasan snack dan kue di
Jepang. Selain rasa mereka juga memperhatikan kemasan.
<br>3. Buat kekhasan produk menjadi nilai jual lebih
<br>4. Pernah tahu soal maicih? Atau Cupcake yang ngetren sekarang ini?
Camilan ini sudah seperti gaya hidup sekarang, maka Buat produk Anda sebagai
sebuah gaya hidup konsumen. Buat agar produk Anda sesuai dengan segala
34
macam pangsa pasar, tapi utamakan anak muda karena anak muda ini yang
mudah terpengaruh dan mengikuti trend yang ada.
<br>5. Gunakan kekuatan dunia online, selain memasarkan secara offline
pasarkan juga secara online. Pemasaran secara online sangat mudah karena
Anda tinggal membuat akun-akun di beberapa social media seperti twitter,
facebook dan sebagianya.
<br>6. Selain itu, Anda bisa memulai dengan membuka toko online terlebih dahulu
untuk menghemat pengeluaran karena Anda tidak perlu menyewa tempat.
Tertarik memulai usaha Anda?
</p>
</div>
</div>
7. Setelah semua langkah selesai, buatlah sebuah file untuk menampilkan
page error pada folder frameworkku - application - views - errors. Dengan
nama File 404.php, dan isikan seperti dibawah ini
<html><head>
<title>404 Not Found</title></head><body vlink="#ff9966" text="#ffffff"
bgcolor="#0000cc" link="#ffffcc">
<center><div align="center">
<pre><code>
</code><table border="0" bgcolor="#c0c0c0"><tbody><tr><td><code><font
color="#330033">ERR 404</font></code></td></tr></tbody></table>
35
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>
8. Kemudian, ubahlah file bootstrap.php pada folder frameworkku -
application - bootstrap.php menjadi seperti data di bawah
<?php defined('SYSPATH') or die('No direct script access.');
//-- Environment setup --------------------------------------------------------
36
/**
* 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.
*
* @see http://docs.kohanaphp.com/about.autoloading
* @see http://php.net/spl_autoload_register
*/
spl_autoload_register(array('Kohana', 'auto_load'));
/**
37
* 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' => '/frameworkku/',
'index_file' => FALSE,
38
'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'));
/**
* 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
39
// '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);
}
40
/**
* 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.
*/
$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;
41
9. Hasil uji coba pada browser anda, pada tampilan home akan tampil seperti
gambar dibwah ini
42
BAB IV
PENUTUP
4.1 Kesimpulan
Framework kohana merupakan percabangan dari CI, Kohana adalah
framework PHP5 yang menggunakan pola arsitektur Model View Controller.
MVC membuat logika aplikasi terpisah dari presentasi. Hal ini memungkinkan
kita untuk membuat kode lebih rapi dan menghemat waktu untuk mencari
bug.
43
DAFTAR PUSTAKA
http://www.scribd.com/doc/52982287/PENGERTIAN-FRAMEWORK
http://zhetsu-hilman.blogspot.com/2011/10/kohana.html= kohana
http://lenidisini.wordpress.com/2010/02/18/mengenal-kohana/-pengertian kohana
http://www.indowebster.web.id/showthread.php?t=71671 -KOHANA PHP Framework
Tutorial [UPDATED]