Minggu, 13 Agustus 2017

Berkenalan dengan Framework CodeIgniter

Berkenalan dengan Framework CodeIgniter - Hallo sahabat lupacode semuanya, salam coding ! Setelah sebelumnya saya telah meberikan tutorial mengenai beberapa materi mengenai Bahasa Pemrograman kepada sahabat lupacode semuanya, dimana saya telah memberikan materi - materi tersebut dari dasar sekali untuk sahabat semua pelajari dari awal.

Pada materi pertama, saya telah memberikan Tutorial yang dapat sahabat semua pelajar dari dasar, diantaranya adalah sebagai berikut :
  1. Belajar HTML dan CSS dari Dasar
  2. Belajar CSS dari Dasar 
  3. Belajar CSS3 Lanjutan
  4. Jagon Menggunakan Sublime Text
  5. Kumpulan Source Code Aplikasi Berbasis Web
 Mengenal CodeIgniter CI - lupacode.net
Mengenal CodeIgniter CI

Berkenalan dengan CodeIgniter

Pada pembahasan materi kali ini, saya akan mencoba membuatkan materi tutorial mengenai framework CodeIgniter, sebelum kita masuk ke dalam pembahasan sintaks dari codeigniter, sebaiknya terlebih dahulu kita harus tau apa itu Codeigniter...

Menurut hasil survey yang dilakukan oleh hongkiat.com CodeIgniter merupakan salah satu framework PHP yang paling popular saat ini Nomor 3 di dunia. Di Indonesia sendiri pengguna framework codeigniter ini ternyata yang paling banyak diantara Negara yang lainnya. Oleh karena itu, saat ini perusahaan - perusahaan banyak sekali yang membutuhkan seorang developer yang menguasai framework CodeIgniter ini.

Pengertian dari framework sendiri ialah merupakan kumpulan dari fungsi - fungsi atau prosedur - prosedur dan class tertentu dengan tujuan tertentu yang sudah siap digunakan, sehingga bagi seorang developer yang menggunakan sebuah framework maka akan sangat membantu mempercepat didalam pengerjaanya sendiri.

. . . Kenapa menggunakan Framework ?

Ada beberapa alasan mengapa kita  menggunakan Framework diantaranya adalah :
  • Mempercepat dan mempermudah dalam pembuatan aplikasi berbasis web
  • Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
  • Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dan lain-lain
  • Lebih bebas dalam pengembangan jika dibandingkan CMS
CodeIgniter sendiri dibuat oleh seorang musisi rock yang saat ini menjadi seorang programmer, dia adalah Rick Ellis. Kemudian Rick Ellis sendiri membangun sebuah perusahaan yang bernama Ellis Lab, yang saat ini mengembangkan beberapa produk unggulan yang salah satunya adalah framework CodeIgniter.

Framewrok CodeIgniter sendiri pertama kali dirilis pada 28 Februari 2006. Kemudian untuk versi dari CodeIgniter itu sendiri masih terus dikembangkan. Versi yang stabil dari framework CodeIgniter itu sendiri yaitu versi 2.2 (2004) dan sampai saat ini sudah ada versi 3 terbaru. Saat ini framework CodeIgniter sendiri terus dikembangkan oleh British Columbia Institute of Technology.

...Bagaimana Cara Kerja CodeIgniter ?

Cara kerja CodeIgniter itu sendiri yaitu dengan menggunakan konsep MVC. Untuk lebih jelasnya sebagai gambaran, lihatlah cara kerja Codeigniter pada gambar berikut ini :
Sistem dan konsep MVC pada framework codeigniter

Adapun alur yang terdapat didalam Framework CodeIgniter adalah sebagai berikut :
  • Index.php: File index.php disini mempunyai tugas sebagai file yang pertama kali akan dibaca oleh program tersebut.
  • The Router: Fungsi dari Router sendiri akan memeriksa HTTP request untuk menentukan hal apa yang harus dilakukan oleh program itu sendiri.
  • Security: Sebelum file controller di load secara keseluruhan, HTTP request dan data yang disubmit oleh user akan disaring terlebih dahulu melalui fasilitas security yang dimiliki oleh framewrok codeigniter itu sendiri.
  • Controller: Sebuah Controller akan membuka file model, core libraries, helper dan semua resources yang dibutuhkan dalam program tersebut.
  • View: Hal yang terakhir akan dilakukan adalah membaca semua program yang ada dalam view file dan mengirimkannya ke browser supaya dapat dilihat. Apabila file view sudah ada yang di “cache” maka file view baru yang belum ter-cache akan mengupdate file view yang sudah ada.
...Bagaimana Contoh MVC ?

Berikut ini saya akan coba tuliskan Contoh file untuk Model, View dan Controller sebagai berikut :
1. Contoh file untuk Model / M_artikel.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class M_artikel extends CI_Model {

 public function __construct(){
  parent::__construct();
 }

 public function create($table,$data){
  $this->db->insert($table,$data);
 }

 public function read($table){
  $query = $this->db->query("SELECT * From $table order by ID DESC");
  if($query->num_rows()> 0){
   foreach ($query->result_array() as $row) {
    $data [] = $row;
   }
   $query->free_result();
  }
  else{
   $data=NULL;
  }
  return $data;
 }

}

2. Contoh File untuk View / M_view.php

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Asus Community</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css');?>">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  <script src="<?php echo base_url('assets/js/bootstrap.min.js');?>"></script>
</head>
<body>
 
<!-- ini adalah navigation bar -->
 <nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Home</a></li>
      <li class="dropdown">
        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1
        <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a href="#">Page 1-1</a></li>
          <li><a href="#">Page 1-2</a></li>
          <li><a href="#">Page 1-3</a></li>
        </ul>
      </li>
      <li><a href="#">Page 2</a></li>
      <li><a href="#">Page 3</a></li>
    </ul>
     <ul class="nav navbar-nav navbar-right">
      <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
      <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
    </ul>
  </div>
</nav>
<!-- end navbar -->

<div class="panel panel-default">
  <div class="panel-body"><h1>Halaman Artikel</h1></div>
</div>
 &nbsp; &nbsp;
 <a href="<?php echo base_url('index.php/home/tambah_artikel');?>" class="btn btn-primary">Tambah Artikel</a>
 
<br/>
<br/>
 
 <div class="container">
 <div class="table-responsive">
  <h2>Daftar Artikel</h2>
  <p>Berikut adalah daftar artikel yang terbaru : </p>            
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Judul Artikel</th>
        <th>Penulis</th>
        <th>Tanggal Publish</th>
        <th>Option</th>
      </tr>
    </thead>
    <tbody>
    <?php if(!empty($record)): ?>
     <?php foreach ($record as $row): ?>
      <tr>
        <td><?php echo $row['judul'];?></td>
        <td><?php echo $row['penulis'];?></td>
        <td><?php echo $row['date'];?></td>
        <td>
         <button type="button" class="btn btn-success"  >Edit</button>
         <button type="button" class="btn btn-danger" >Hapus</button>
        </td>
      </tr>
  <?php endforeach;?>
  <?php endif; ?>
    </tbody>
  </table>
</div>
</div>


</body>
</html>

3. Contoh File Untuk Controller / M_Controller.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller {

 public function __construct(){
  parent::__construct();
 }

 public function index(){
  $this->load->model('M_artikel');
  $data = array(
   'record' => $this->M_artikel->read('tbl_artikel')
   );
  $this->load->view('artikel',$data);
 }

 public function tambah_artikel(){
  $action = $this->uri->segment(3);
  if($action=='kirim'){
   $post = $this->input->post();
  $this->load->model('M_artikel');
  if (!empty($post['judul']) && !empty($post['penulis']) && !empty($post['content'])){
   $data = array(
     'judul' => $post['judul'],
     'penulis' => $post['penulis'],
     'date' => date('Y-m-d'),
     'content' => $post['content'],
    );
  $this->M_artikel->create('tbl_artikel',$data);
  redirect ('');
  }

  else{
   $this->load->view('gagal');
  }
 }
 else{
   $this->load->view('tambah_artikel');
  }
 }

}

Baiklah mungkin diatas pembahasan perdana dalam materi CodeIgniter yang pertama kali dalam blog lupacode ini, selanjutnya kita akan mulai masuk ke dalam materi pembahasan utamanya, tapi saya tidak akan melanjutkannya disini, jadi tunggu saja update nya.

Bagi sahabat lupacode semuanya yang saat ini sedang mempelajari framework codeigniter, kita sama-sama belajar serta mempelejari semuanya dari awal dan dari dasar pada blog lupacode - Tutorial pemrograman.

Baiklah mungkin itu saja untuk pembahasan mengenai Mengenal Framework CodeIgniter sampai berjumpa kembali didalam postingan materi selanjutnya dari lupacode. Terimakasih telah berkunjung, happy coding !

Silahkan berkomentar yang baik dan menarik sesuai dengan isi konten.
Komentar yang tidak diperbolehkan :

1. Berbau penghinaan SARA & PXXN
2. Komentar dengan Link hidup ( akan dianggap spam )
3. Komentar tidak nyambung dengan isi postingan
EmoticonEmoticon