Anda di halaman 1dari 44

MAKALAH

PEMBUATAN APLIKASI BERBASIS WEB SEDERHANA


Framework KOHANA

Disusun Oleh REZA YULIANI _ 8113100041

POLITEKNIK KOTA MALANG TEKNIK INFORMATIKA TAHUN 2012

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

DAFTAR ISI Kata Pengantar ............................................................................................ Daftar Isi ...................................................................................................... BAB I PENDAHULUAN . ............................................................................. 1.1 Latar Belakang ........................................................................... 1 2 3 3 3 4 4 5 5 6 6 8 8 9 42 42 43

1.2 Batasan Masalah ........................................................................... 1.3 Rumusan Masalah ....................................................................... 1.4 Tujuan .......................................................................................... BAB II TINJAUAN PUSTAKA ...................................................................... 2.1 Pengertian Framework ................................................................ 2.2 Macam Framework ....................................................................... 2.3 Pengertian kohana ....................................................................... BAB III PEMBAHASAN ............................................................................... 3.1 Instalasi Framework Kohana ........................................................ 3.2 Pembuatan Web Sederhana Menggunakan Kohana .................. BAB IV PENUTUP ...................................................................................

4.1 Kesimpulan ................................................................................. DAFTAR PUSTAKA ...................................................................................

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
3

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

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 fungsifungsi (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.

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

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

BAB III PEMBAHASAN 3.1 Instalasi Framework Kohana 1. Langkah pertama adalah download kohana pada situs ekstrak resmi folder

http://kohanaphp.com,

Setelah

selesai

download,

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

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.

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;

10

parent::before();

if (Request::$is_ajax OR $this->request !== Request::instance()) { $this->_ajax = TRUE; }

$this->template->title $this->template->content $this->template->styles = array( 'media/css/screen.css',

= 'rezaoio.web.id'; = '';

'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() {

11

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>

12

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

13

<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-nastarsakura.html" title="Resep kue Nastar Sakura">kue Nastar Sakura</a></li> <li><a href="http://anekakuliner.com/resep/resepkhas-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/resepkhas-daerah/resep-japanese-cheesecake.html" title="Resep Japanese Cheesecake">Japanese Cheesecake</a></li> <li><a href="http://anekakuliner.com/resep/resepkhas-daerah/resep-martabak-telor-spesial.html" title="Resep Martabak Telor Spesial">Martabak Telor Spesial</a></li> </ul> </div> <div>

14

<h3><a href="#">Resep Paling Dicari</a></h3> <ul><li><a href="http://anekakuliner.com/resep/resep-kue/resep-kue-cup-cake-kukus-ketanhitam.html" title="resep rainbow cake">resep rainbow cake</a></li> <li><a href="http://anekakuliner.com/resep/resepkhas-daerah/resep-kue-bika-ambon.html" title="resep lidah kucing rainbow">resep lidah kucing rainbow</a></li> <li><a href="http://anekakuliner.com/resep/resepkhas-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 &copy;2012</p> </div> </div>

</div>

</body> </html>

15

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 {

16

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;

17

} 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%;

18

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 {

19

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;

20

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;

21

} .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;}

22

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

23

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

24

.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;}

25

/* 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;}

26

.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.span15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span18, 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.span22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-leftwidth:1px!important;border-right-width:1px!important;paddingleft: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;}

27

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

28

.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;}

29

.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;}

30

.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, .pull11, .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;}

31

.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;}

32

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

33

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>

34

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

35

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

/**

36

* 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 index.php

* - string index_file name of your index file, usually "index.php" * - string charset

internal character set used for input and output utf-8 APPPATH/cache TRUE TRUE FALSE

* - string cache_dir set the internal cache directory * - boolean errors * - boolean profile * - boolean caching */ Kohana::init(array( 'base_url' => '/frameworkku/', 'index_file' => FALSE, enable or disable error handling enable or disable internal profiling enable or disable internal caching

37

'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' // 'orm' => MODPATH.'image', => MODPATH.'orm', // Image manipulation // Object Relationship Mapping

38

// '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' 'page' )); /* Route::set('default', '(<controller>(/<action>(/<id>)))') ->defaults(array( 'controller' => 'ko3', 'action' )); */ Route::cache(TRUE); } => 'index', => 'load', => 'home'

39

/** * 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;

40

9. Hasil uji coba pada browser anda, pada tampilan home akan tampil seperti gambar dibwah ini

41

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.

42

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 Tutorial [UPDATED] -KOHANA PHP Framework

43

Anda mungkin juga menyukai