• Tidak ada hasil yang ditemukan

Makalah Code Igniter

N/A
N/A
Protected

Academic year: 2021

Membagikan "Makalah Code Igniter"

Copied!
14
0
0

Teks penuh

(1)

CODE IGNITER (CI)

A. Pengenalan Code Igniter

CodeIgniter adalah sebuah web application framework yang bersifat open source digunakan untuk membangun aplikasi php dinamis. Dengan framework CodeIgniter, pengembang dapat sangat mudah menggunakan framework ini untuk membuat suatu aplikasi web. Aplikasi ini dikembangkan dengan menggunakan arsitektur Model-View-Controller yang telah tersedia di framework CI dan ada banyak library dan helper yang berguna didalamnya dan tentunya mempermudah proses development.

Tujuan utama pengembangan CodeIgniter adalah untuk membantu developer untuk mengerjakan aplikasi lebih cepat daripada menulis semua code dari awal. Manfaatnya mempermudah dalam pengembangan karena CodeIgniter menyediakan berbagai macam library yang ada. Didalam sebuah framework biasanya sudah tersedia struktur aplikasi yang baik, standar coding (1), best practice (2) dan design pattern (3), dan common function (4). Dengan menggunakan framework kita dapat langsung fokus kepada business process yang dihadapi tanpa harus berfikir banyak masalah stuktur aplikasi, standar coding dan lain-lain. Selain kemudahan dan kecepatan dalam membangun sistem, dengan menggunakan framework tertentu kita juga dapat “menyeragamkan” cara kita mengimplementasikan kode program.

B. Fitur pada CodeIgniter

CodeIgniter adalah sebuah web application framework yang bersifat open source digunakan untuk membangun aplikasi php dinamis. CodeIgniter dikembangkan oleh Rick Ellis (htyp://www.ellislab.com). Kelebihan CodeIgniter adalah sangat ringan, terstruktur, mudah dipelajari, dokumentasi lengkap dan selain itu CodeIgniter juga memiliki fitur-fitur lainnya yang sangat bermanfaat antara lain :

Menggunakan pattern MVC

Dengan menggunakan pattern MVC ini, struktur kode yang dihasilkan menjadi lebih terstruktur dan memiliki standar yang jelas.

(2)

URL yang dihasilkan sangat URL friendly. Pada CodeIgniter diminimalisasi penggunaan $_GET dan di gantikan URL.

Kemudahan

Kemudahan dalam mempelajari, membuat library dan helper, memodifikasi serta meng-integrasikan library dan helper.

C. Keunggulan CodeIgniter

1. Gratis 2. Ringan

Inti sistem CodeIgniter hanya membutuhkan sangat sedikit library, hal ini merupakan perbedaan kontras dengan framework lain. Library lainnya dapat digunakan dinamis berdasarkan kebutuhan.

3. Cepat

Sampai saat ini CodeIgniter masih diakui sebagai framework yang paling cepat. 4. Menggunakan konsep MVC

5. Clean URL

URL yang digunakan CodeIgniter bersifat search-engine friendly. Menggunakan pendekatan segment-based.

6. Library yang lengkap 7. Dapat diperluas

Developer dapat dengan mudah mengembangkan (extend) library, helper atau bahkan perluasan class inti CodeIgniter.

8. Dukungan teknis yang lengkap di forum CodeIgniter

D. Instalasi dan Struktur CodeIgniter

Instalasi CodeIgniter sangat mudah. Meskipun namanya instalasi tetapi karena CodeIgniter adalah aplikasi berbasis website maka sebenarnya yang perlu dilakuka adalah meng-copy folder aplikasi CodeIgniter ke dalam folder htdocs atau DocumentRoot dari web server. Dengan menggunakan konfigurasi default saja maka CodeIgniter sudah dapat berjalan di web server kita. Adapun struktur utama dari CodeIgniter terbagi menjadi dua bagian, yaitu application dan sistem/core CodeIgniter. Application adalah tempat pengguna meletakkan code yang akan dibuat (berwarna merah dan biru sedangkan

(3)

sistem/core CodeIgniter berwarna oren). Folder sistem berisi library-library dan helper bawaan CodeIgniter.

Gambar 1. Struktur direktori CodeIgniter

Folder application : disinilah aplikasi yang akan kita bangun diletakkan.

Folder config

tempat menyimpan semua file konfigurasi yang ada di dalam aplikasi, mulai dari database, router dan autoload aplikasi.

Folder controllers

Tempat menyimpan semua fole controller.  Folder errors

Tempat menyimpan semua template error aplikasi.  Folder helpers

Tempat menyimpan helper-helper yang bukan berasal dari CI.  Folder hooks

Tempat menyimpan hook yang digunakan untuk mengubah alur fungsi dari core CI.

Folder language

Tempat menyimpan bahasa-bahasa yang akan di gunakan.  Folder libraries

Tempat menyimpan semua library buatan kita sendiri.  Folder models

Tempat menyimpan semua model.  Folder views

(4)

Folder system : menyimpan semua file baik itu file aplikasi yang dibuat mauoun core

frameworknya.  Folder cache

tempat menyimpan semua cache yang dibuat caching library.  Folder database

Tempat menyimpan semua driver database drivers dan class yang akan digunakan.

Folder fonts

Tempat menyimpan semua font yang digunakan image manipulation library.  Folder helpers

Tempat menyimpan semua helper core CI.  Folder language

Tempat menyimpan semua language core CI.  Folder language

Tempat menyimpan semua language core CI.  Folder libraries

Tempat menyimpan semua library core CI.  Folder logs

Tempat menyimpan semua logs generated oleh CI.  Folder plugin

Tempat menyimpan semua plugin core CI.  Folder scaffolding

Tempat menyimpan semua file yang berfungsi sebagai scaffolding.

Folder user_guide : berisi userguide/manual penggunaan CI.

Folder index.php : file yang akan menghandle semua request yang dilakukan oleh

client.

Folder index.html : merupakan gerbang utama untuk masuk dan mengakses segala

resource pada aplikasi CodeIgniter

(5)

E. Konsep MVC

Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model, bagian View dan bagian Controller. Didalam website dinamis setidaknya terdiri dari 3 hal yang paling pokok, yaitu basis data, logika aplikasi dan cara menampilkan halaman website. 3 hal tersebut dipresentasikan dengan MVC yaitu model untuk basis data, view untuk cara menampilkan halaman website dan controller untuk logika aplikasi.

1. Model

Biasanya didalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website. Karena sebuah website biasanya menggunakan basis data dalam menyimpan data maka bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL.

2. View

Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin didalam View tidak berisi logika-logika kode tapi hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

3. Controller

Controller merupakan penghubung antara Model dan View. Didalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari View kedalam struktur data didalam Model. Controller juga tidak boleh berisi kode untuk mengakses basis data. Tugas Controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.

F. CONTOH PROGRAM

Contoh programnya dengan penerapan menggunakan database :

(6)

Pertama kali kita membuat sebuah database bernama mahasiswa dan table bernama mahasiswa yang terdiri dari 3 field npm(int) nama(varchar) dan kota(varchar) seperti gambar diatas. $active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'mahasiswa'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE;

Penggalan code diatas merupakan bagian dari code database.php yg terdapat pada folder config/ dimana code ditas digunakan untuk mengkonfigurasi database , dengan hostname adalah locahost, username root dana database yang digunkana adalah mahasiswa.

<?php if ( !defined('BASEPATH')) exit('No direct script access allowed'); class Crud extends CI_Controller{

function __construct(){ parent::__construct(); $this->load->model('M_crud'); } function index() { $data['record'] = $this->M_crud->getDataMahasiswa(); $this->load->view('v_index',$data); } function tambahdata(){ $this->load->view('v_tambahdata'); } function actiontambah(){ $this->M_crud->actiontambah(); } function hapusdata($npm){ $this->M_crud->hapusdata($npm);

(7)

} function edit ($npm = 0){ $mhs = $this->M_crud->getSingleMahasiswa($npm); $data['npm'] = $mhs->npm; $data['nama'] = $mhs->nama; $data['kota'] = $mhs->kota; $this->load->view('v_editdata',$data); } function actionupdate() { $this->M_crud->actionupdate(); } }

Code diatas merupakan code dari file Crud.php yang terdapat pada controllers dimana code tersebut digunakan untuk memanggil atau menghubungkan file pada view dengan file pada model memberikan fungsi untuk operasi tambah edit dan hapus data yang ada pada m_crud.php . Dimana pada codingan ini index atau awal tampilan nya itu adalah v_index sebagai index utama.

<?php if ( ! defined ('BASEPATH')) exit ('no direct script access allowed'); class m_crud extends CI_Controller{

function getDataMahasiswa(){

return$this->db->get('mahasiswa'); }

function actiontambah(){

$npm =$this->input->post('npm', TRUE); $nama =$this->input->post('nama', TRUE); $kota =$this->input->post('kota', TRUE); $this->db->insert('mahasiswa', array('npm'=>$npm,'nama'=>$nama,'kota'=>$kota)); redirect('crud'); } function hapusdata($npm){ $this->db->delete('mahasiswa', array('npm'=>$npm)); redirect ('crud'); } function getSingleMahasiswa($npm){ $query = $this->db->get_where('mahasiswa', array('npm'=>$npm)); return $query->row(); } function actionupdate(){ $npm=$this->input->post('npm', TRUE); $nama=$this->input->post('nama',TRUE); $kota=$this->input->post('kota', TRUE); $this->db->where('npm',$npm); $this->db->update('mahasiswa', array( 'nama'=>$nama, 'kota'=>$kota )); redirect('crud');

(8)

} }

Code diatas merupakan code yang terdapat pada m_crud.php yang ada pada folder model/ . Code diatas digunakan untuk memberikan fungsi-fungsi seperti tambahdata, hapus data atau update data informasi yang terhubung dengan database.

<

<center><h1>Latihan CRUD</h1><center><hr/> <div class="table">

<?php

if($record->num_rows () == 0){

echo "<center><strong>tidak ada data tersedia</strong></center>";

} else { ?>

<center><h3><strong>Data Mahasiswa</strong></h3></center> <a href="crud/tambahdata">Tambah data</a>

<table class="table table-striped"> <tr> <td>NPM</td> <td>Nama</td> <td>Kota</td> <td colspan="2">Action</td> </tr> <?php foreach($record->result_array() as $key){ echo"<tr>"; echo"<td>".$key['npm']."</td>"; echo"<td>".$key['nama']."</td>"; echo"<td>".$key['kota']."</td>"; echo"<td><a href='crud/edit/".$key['npm']."'>Edit</a>"; echo"<td><a href='crud/hapusdata/". $key['npm']."'>Hapus</a>"; echo"</tr>"; }

(9)

?> </table> <?php } ?> </div> </body> </html>

Code diatas merupakan code dari file v_index.php yang ada pada folder view/ . code ini digunakan untuk merancang tampilan pada browser . Dimana file ini menjadi tampilan utama yang dirancang menggunakan table yang terdiri dari 5 kolom yaitu , npm nama kota edit dan hapus dan juga terdapat menu tambah data .

<!DOCTYPE html> <html>

<head>

<title>Latihan CRUD</title>

<link rel="stylesheet" href="../../../assets/bootstrap.min.css" /> <style> .tabel { width: 700px; margin: 0 auto; padding: 0; } </style> </head> <body> <center> <h1>Latihan CRUD</h1> </center> <hr/> <div class="tabel"> <center>

<h3><strong>Edit Data Mahasiswa</strong></h3> </center>

<form role="form" action="../actionupdate" method="post"> <div class="form-group">

<label for="npm">NPM</label>

<input type="text" name="npm1" class="form-control" id="npm" placeholder="NPM Mahasiswa" value="<?php echo $npm;?>" disabled>

(10)

<input type="hidden" name="npm" class="form-control" id="npm2" placeholder="NPM Mahasiswa" value="<?php echo $npm;?>">

</div>

<div class="form-group">

<label for="npm">Nama</label>

<input type="text" name="nama" class="form-control" id="nama" value="<?php echo $nama;?>" placeholder="Nama">

</div>

<div class="form-group">

<label for="kota">Kota</label>

<input type="text" name="kota" class="form-control" id="kota" value="<?php echo $kota;?>" placeholder="Kota">

</div>

<button type="submit" class="btn btn-default"> Submit </button> </form> </div> </body> </html>

Code diatas merupakan code dari file v_editdata.php yang ada pada folder view/ . Code ini digunakan untuk merancang tampilan pada browser bagian edit data. Pada tampilan ini terdapat 3 form input/edit text npm nama dan kota , npm di disable atau tidak bisa diubah , sedangkan nama dan kota bisa diedit . juga terdapat button submit untuk memproses edit data

<!DOCTYPE html> <html>

<head>

<title>Latihan CRUD</title>

<link rel="stylesheet" href="../../assets/bootstrap.min.css"/> <style> .tabel{ width: 700px; margin: 0 auto; padding: 0; }

(11)

</style> </head> <body> <center><h1>Latihan CRUD</h1></center> <br> <div class="tabel"> <center>

<h3><strong>Input Data Mahasiswa</strong></h3> </center>

<form role="form" action="actiontambah" method="post"> <div class="form-group">

<label for="npm">NPM</label>

<input type="text" name="npm" class="form-control" id="npm" placeholder="NPM Mahasiswa" required>

</div>

<div class="form-group">

<label for="nama">Nama</label>

<input type="text" name="nama" class="form-control" id="nama" placeholder="Nama Mahasiswa" required>

</div>

<div class="form-group">

<label for="kota">Kota</label>

<input type="text" name="kota" class="form-control" id="kota" placeholder="Kota" required>

</div>

<button type="submit" class="btn-btn-default"> Submit </button> </form> </div> </body> </html>

Code diatas merupakan code dari file v_tambahdata.php yang ada pada folder view/ . Code ini digunakan untuk merancang tampilan pada browser bagian tambah data. Pada tampilan ini terdapat 3 form input/edit text npm nama dan kota diaman disi untuk menambah data. juga terdapat button submit untuk memproses tambah data yang nantinya dimasukan pada database .

(12)

G. OUTPUT PROGRAM

Gambar 4. Ketika mengetikkan localhost/4IA04/index.php/CRUD/tambahdata

(13)

Gambar 6. Ketika data mahasiswa berhasil di input

(14)

Gambar 8. Ketika klik action hapus data

DAFTAR PUSTAKA

http://fiftin.staff.uad.ac.id/file/framework4.pdf

http://ilmuti.org/wp-content/uploads/2014/03/mengenal-codeigniter-framework1.pdf http://pintarci.blogspot.com/2014/09/pengenalan-struktur-codeigniter.html

Gambar

Gambar 1. Struktur direktori CodeIgniter
Gambar 2. Flowchart aplikasi pada web framework
Gambar 5. Ketika menginput data mahasiswa
Gambar 6. Ketika data mahasiswa berhasil di input

Referensi

Dokumen terkait

Code igniter adalah salah satu framework yang akan digunakan untuk membuat aplikasi peminjaman dan pengembalian koleksi berbasis Framework Code Igniter di Perpustakaan

Selanjutnya yang perlu disiapkan adalah aplikasi ShoutCast DSP yang digunakan untuk mengantarkan data audio dari Streamer kepada Streaming Server.. Proses instalasi cukup

Aplikasi administrator berbasis website ini memiliki fungsi untuk pekerja laboratorium Fakultas Ilmu Komputer agar dapat dengan mudah melihat siapa yang ingin

Aplikasi perpustakaan berbasis web ini diharapkan dapat menumbuhkan minat membaca bagi semua orang perlu adanya sistem yang berbasis web sehingga mudah diakses

Implementasi dan pelatihan penggunaan aplikasi e-KMS berbasis QR- Code dibantu oleh mahasiswa, dimana mahasiswa bertugas mengarahkan kader posyandu dalam proses

Perpustakaan adalah media untuk mendapatkan informasi yang beragam, ada baiknya bila diwujudkan dalam bentuk aplikasi website agar akses data dan pendaftaran lebih mudah tanpa

Melihat metode yang digunakan dalam pengembangan aplikasi terminal berbasis website pada penelitian ini, akan memaparkan bagaimana hasil implementasi dan testing

Penelitian terkait sudah dilakukan oleh Arizal dan Anisa yang membangun aplikasi sistem informasi manajemen wisuda berbasis website menggunakan metode waterfall.. Hasil dari penelitian