SlideShare a Scribd company logo
1 of 29
Download to read offline
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
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
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
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
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
   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
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
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
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
{
               html::$windowed_urls = TRUE;

               parent::before();

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

               $this->template->title          = ‘alwayzz_motivation.web.id – Hello World’;

               $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()
       {
                if ($this->_ajax === TRUE)
                {
                          $this->request->response = $this->template->content;
                }
                else
                {
                          parent::after();
                }
       }

} // End Controller_Mybase




                                          10
d. Lalu pada folder web_kohana => application => views, penulis membuat sebuah file
   template.php dan isi filetersebut :
   <!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=”efifa” />
   <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>
   <body>
   <div class=”container”>

     <div id=”hd”>
       <div class=”bagHeader”>
           <div class=”Logo”><a href=”http://alwayzz_learning.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”>Home</a>
                    </li>
                    <li><a href=”#”>Motivasi</a>
                    <ul><li><a href=”Category1”>Hadist</a></li>
                    <li><a href=”Category2”>Mario Teguh</a></li>
                    <li><a href=”Category3”>Kata-Kata Mutiara</a><ul><li><a
   href=”Category3.1”>1. Puisi</a></li><li><a href=”Category3.2”>2. Pelajaran Hari Ini</a></li>
            </ul>
          </li>
           </ul>
                             <li><a href=”about”>About</a></li>
                             <li><a href=”contact”>Contact</a></li>
           </li>
           </ul> </td>
             <td width=”22%”align=”center”><?php echo date(“D, d M Y”)?></td>
       </tr>
       </table>

                                             11
</div>
  </div>
        <div id=”bd”>
  <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=”#”>Entri Populer</a></h3>
                               <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet.</div>
                       </div>
                       <div>
                               <h3><a href=”#”>links</a></h3>
                               <div>Phasellus mattis tincidunt nibh.</div>
                       </div>
                       <div>
                               <h3><a href=”#”>Other Menu</a></h3>
                               <div>Nam dui erat, auctor a, dignissim quis.</div>
                       </div>
                       </div>
  </td>
        </tr>
        </table>

 </div>
 <div id=”ft”>

        <div class=”bagFooter”><p>Powered by <a href=”http://alwayzz-
learning.blogspot.com”>alwayzz-learning.blogspot.com</a> Copyrights &copy; 2012 Email: <a
href=”mailto:sitinefifa@gmail.com”>sitinefifa@gmail.com.</a> All Right Reserved</p><p><a
href=”http://validator.w3.org/check?uri=referer”><img src=”http://www.w3.org/Icons/valid-
xhtml10” alt=”Valid XHTML 1.0 Transitional” height=”31” width=”88” /></a>



                                         12
&nbsp;<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
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;
}
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 : #CEFE98;
border-left : 2px solid #CEFE98;
border-right : 2px solid #CEFE98;
color : #000000;
height : 100%;
margin : 0 auto;
min-height : 100%;

                                            14
padding : 0;
}
.bagHeader {
background-color : #B55D80;
margin : auto;
position : relative;
width : auto;
height : 155px;
border : 1px solid #B55D80;
}
.TopMenu {
background-color : #FAA0A6;
clear : both;
height : 50px;
}
.Logo {
position : absolute;
width : auto;
height : auto;
left : 24px;
top : 19px;
}
.bagFooter {
background-color : #FAA0A6;
margin : 1 auto;
position : relative;
width : auto;
height : 75px;
border : 1px solid #FAA0A6;
}
#Content {
border : 0px solid #FCDDE2;
width : 100%;
height : 100%;
}
.OuterContentTitle {
border-left : 1px solid #FCDDE2;
border-right : 1px solid #FCDDE2;
border-top : 1px solid #FCDDE2;
margin : 10px 0 0;
}
.InnerContentTitle {

                                    15
background-color : #FCDDE2;
border-left : 1px solid #FCDDE2;
border-top : 1px solid #FCDDE2;
color : #000000;
font-size : 12px;
font-weight : bold;
height : 28px;
line-height : 26px;
padding-left : 10px;
}
.OuterBox {
border : 0px solid #FCDDE2;
margin : 0 0 10px;
}
.InnerBox {
background-color : #FCDDE2;
border-left : 1px solid #FCDDE2;
border-top : 1px solid #FCDDE2;
color : #000000;
padding : 10px;
}
.Breadcrumbs {
background-color : #d3dfeb;
color : #636c75;
float : right;
font-size : 10px;
font-weight : bold;
height : 12px;
line-height : 12px;
margin : 0;
padding : 12px 10px 0 0;
}
.Breadcrumbs a, .Breadcrumbs a:link, .Breadcrumbs a:active, .Breadcrumbs a:visited {
background-color : #CEFE98;
color : #CEFE98;
text-decoration : none;
}
.Breadcrumbs a:hover {
background-color : #CEFE98;
color : #CEFE98;
text-decoration : underline;
}

                                          16
/* typography.css */
html {font-size:100.01%;}
body {font-size:75%;color:#000;background:#fff;font-family:”Helvetica Neue”, Arial, Helvetica,
sans-serif;background-color : #ABDA70;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;}
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:#000;}
a {color:#009;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;}
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:#c3d9ff;}
th, td, caption {padding:4px 10px 4px 5px;}
tr.even td {background:#e5ecf9;}
tfoot {font-style:italic;}
caption {background:#eee;}

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

/* grid.css */
.showgrid {background:url(src/grid.png);}



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

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

                                         20
.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;}
.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;}
.pull-16 {margin-left:-640px;}

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


                                                 22
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
</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
* @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
/**
 * 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
$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
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
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

More Related Content

Recently uploaded

Català Individual 3r - Víctor.pdf JOCS FLORALS
Català Individual 3r - Víctor.pdf JOCS FLORALSCatalà Individual 3r - Víctor.pdf JOCS FLORALS
Català Individual 3r - Víctor.pdf JOCS FLORALSErnest Lluch
 
RESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptx
RESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptxRESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptx
RESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptxscbastidasv
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning ProjectNuckles
 
Castellà parelles 2n - Abril i Irina.pdf
Castellà parelles 2n - Abril i Irina.pdfCastellà parelles 2n - Abril i Irina.pdf
Castellà parelles 2n - Abril i Irina.pdfErnest Lluch
 
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfمحاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfKhaled Elbattawy
 
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Eesti Loodusturism
 
Català parelles 3r - Emma i Ariadna (1).pdf
Català parelles 3r - Emma i Ariadna (1).pdfCatalà parelles 3r - Emma i Ariadna (1).pdf
Català parelles 3r - Emma i Ariadna (1).pdfErnest Lluch
 

Recently uploaded (8)

Català Individual 3r - Víctor.pdf JOCS FLORALS
Català Individual 3r - Víctor.pdf JOCS FLORALSCatalà Individual 3r - Víctor.pdf JOCS FLORALS
Català Individual 3r - Víctor.pdf JOCS FLORALS
 
RESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptx
RESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptxRESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptx
RESOLUCION DEL SIMULACRO UNMSM 2023 ii 2.pptx
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Castellà parelles 2n - Abril i Irina.pdf
Castellà parelles 2n - Abril i Irina.pdfCastellà parelles 2n - Abril i Irina.pdf
Castellà parelles 2n - Abril i Irina.pdf
 
Díptic IFE (2) ifeifeifeife ife ife.pdf
Díptic IFE (2)  ifeifeifeife ife ife.pdfDíptic IFE (2)  ifeifeifeife ife ife.pdf
Díptic IFE (2) ifeifeifeife ife ife.pdf
 
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfمحاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
 
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
 
Català parelles 3r - Emma i Ariadna (1).pdf
Català parelles 3r - Emma i Ariadna (1).pdfCatalà parelles 3r - Emma i Ariadna (1).pdf
Català parelles 3r - Emma i Ariadna (1).pdf
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
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
  • 10. { html::$windowed_urls = TRUE; parent::before(); if (Request::$is_ajax OR $this->request !== Request::instance()) { $this->_ajax = TRUE; } $this->template->title = ‘alwayzz_motivation.web.id – Hello World’; $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() { if ($this->_ajax === TRUE) { $this->request->response = $this->template->content; } else { parent::after(); } } } // End Controller_Mybase 10
  • 11. d. Lalu pada folder web_kohana => application => views, penulis membuat sebuah file template.php dan isi filetersebut : <!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=”efifa” /> <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> <body> <div class=”container”> <div id=”hd”> <div class=”bagHeader”> <div class=”Logo”><a href=”http://alwayzz_learning.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”>Home</a> </li> <li><a href=”#”>Motivasi</a> <ul><li><a href=”Category1”>Hadist</a></li> <li><a href=”Category2”>Mario Teguh</a></li> <li><a href=”Category3”>Kata-Kata Mutiara</a><ul><li><a href=”Category3.1”>1. Puisi</a></li><li><a href=”Category3.2”>2. Pelajaran Hari Ini</a></li> </ul> </li> </ul> <li><a href=”about”>About</a></li> <li><a href=”contact”>Contact</a></li> </li> </ul> </td> <td width=”22%”align=”center”><?php echo date(“D, d M Y”)?></td> </tr> </table> 11
  • 12. </div> </div> <div id=”bd”> <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=”#”>Entri Populer</a></h3> <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div> </div> <div> <h3><a href=”#”>links</a></h3> <div>Phasellus mattis tincidunt nibh.</div> </div> <div> <h3><a href=”#”>Other Menu</a></h3> <div>Nam dui erat, auctor a, dignissim quis.</div> </div> </div> </td> </tr> </table> </div> <div id=”ft”> <div class=”bagFooter”><p>Powered by <a href=”http://alwayzz- learning.blogspot.com”>alwayzz-learning.blogspot.com</a> Copyrights &copy; 2012 Email: <a href=”mailto:sitinefifa@gmail.com”>sitinefifa@gmail.com.</a> All Right Reserved</p><p><a href=”http://validator.w3.org/check?uri=referer”><img src=”http://www.w3.org/Icons/valid- xhtml10” alt=”Valid XHTML 1.0 Transitional” height=”31” width=”88” /></a> 12
  • 13. &nbsp;<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
  • 14. 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; } 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 : #CEFE98; border-left : 2px solid #CEFE98; border-right : 2px solid #CEFE98; color : #000000; height : 100%; margin : 0 auto; min-height : 100%; 14
  • 15. padding : 0; } .bagHeader { background-color : #B55D80; margin : auto; position : relative; width : auto; height : 155px; border : 1px solid #B55D80; } .TopMenu { background-color : #FAA0A6; clear : both; height : 50px; } .Logo { position : absolute; width : auto; height : auto; left : 24px; top : 19px; } .bagFooter { background-color : #FAA0A6; margin : 1 auto; position : relative; width : auto; height : 75px; border : 1px solid #FAA0A6; } #Content { border : 0px solid #FCDDE2; width : 100%; height : 100%; } .OuterContentTitle { border-left : 1px solid #FCDDE2; border-right : 1px solid #FCDDE2; border-top : 1px solid #FCDDE2; margin : 10px 0 0; } .InnerContentTitle { 15
  • 16. background-color : #FCDDE2; border-left : 1px solid #FCDDE2; border-top : 1px solid #FCDDE2; color : #000000; font-size : 12px; font-weight : bold; height : 28px; line-height : 26px; padding-left : 10px; } .OuterBox { border : 0px solid #FCDDE2; margin : 0 0 10px; } .InnerBox { background-color : #FCDDE2; border-left : 1px solid #FCDDE2; border-top : 1px solid #FCDDE2; color : #000000; padding : 10px; } .Breadcrumbs { background-color : #d3dfeb; color : #636c75; float : right; font-size : 10px; font-weight : bold; height : 12px; line-height : 12px; margin : 0; padding : 12px 10px 0 0; } .Breadcrumbs a, .Breadcrumbs a:link, .Breadcrumbs a:active, .Breadcrumbs a:visited { background-color : #CEFE98; color : #CEFE98; text-decoration : none; } .Breadcrumbs a:hover { background-color : #CEFE98; color : #CEFE98; text-decoration : underline; } 16
  • 17. /* typography.css */ html {font-size:100.01%;} body {font-size:75%;color:#000;background:#fff;font-family:”Helvetica Neue”, Arial, Helvetica, sans-serif;background-color : #ABDA70;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;} 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:#000;} a {color:#009;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;} 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:#c3d9ff;} th, td, caption {padding:4px 10px 4px 5px;} tr.even td {background:#e5ecf9;} tfoot {font-style:italic;} caption {background:#eee;} 17
  • 18. .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;} .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;} /* grid.css */ .showgrid {background:url(src/grid.png);} 18
  • 19. .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;} .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;} 19
  • 20. 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;} 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;} .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;} 20
  • 21. .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;} .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;} .pull-16 {margin-left:-640px;} 21
  • 22. .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;} .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;} 22
  • 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