Top Banner
MODUL 1 FRAMEWORK PHP CODE IGNITER
21

Modul 1 Pelatihan CI

Jan 02, 2016

Download

Documents

kudeta2008
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modul 1 Pelatihan CI

MODUL 1

FRAMEWORK PHP CODE IGNITER

Page 2: Modul 1 Pelatihan CI

DAFTAR ISI

Page 3: Modul 1 Pelatihan CI

BAGIAN I SEKILAS CODEIGNITER

Codeigniter adalah salah satu framework PHP yang bersifat open source dan

digunakan untuk membangun aplikasi web dinamis. Codeigniter termasuk

framework yang paling banyak digunakan saat ini karena kemudahan yang

ditawarkan oleh framework ini. Berdasarkan survey yang dilakukan oleh situs

www.phpframework.com pada tahun 2011, Codeigniter menempati

peringkat kedua.

Gambar 1. 1 Rangking Framework Codeigniter Versi Situs phpframework.com

Framework Codeigniter dibuat oleh Rick Ellis seorang musisi Rock yang

beralih menjadi programmer dan Codeigniter pertama kali dirilis pada tahun

2006. Versi terakhir yang dirilis pada tahun 20011 adalah versi 2.1.0.

1.1 Apa itu Framework

Framework adalah sebuah struktur konseptual dasar yang digunakan untuk

memecahkan sebuah permasalahan atau isu-isu kompleks pada

pengembangan aplikasi. Pada framework terdapat kumpulan fungsi dan kelas

yang siap untuk digunakan dalam pengembangan aplikasi. Fungsi dan kelas

yang ada pada framework biasanya merupakan fungsi dan kelas yang

Page 4: Modul 1 Pelatihan CI

seringkali digunakan dan diperlukan dalam pengembangan aplikasi sehingga

programmer tidak perlu lagi membuat fungsi dan kelas tersebut dari awal.

Sebagian besar framework yang ada saat ini mengadopsi model Model-View-

Controller (MVC).

1.2 Apa Keuntungan Menggunakan Framework

Salah satu alasan orang menggunakan framework dalam mengembangkan

aplikasi adalah karena kemudahan yang ditawarkan. Berikut ini adalah

beberapa keuntungan lain dalam penggunaan framework :

1) Menghemat Waktu Pengembangan. Framework biasanya

menyediakan library yang sering dibutuhkan dalam pengembangan

aplikasi sehingga programmer cukup fokus ke proses bisnis yang akan

dikerjakan.

2) Code Reuse. Dalam framework terdapat beberapa struktur standar

yang harus diikuti dan hal ini akan membuat programmer selalu

bekerja dalam sebuah standar yang disepakati dan dipahami

bersama. Standar ini dapat digunakan kembali pada proyek-proyek

lain.

3) Bantuan Komunitas. Untuk framework yang banyak digunakan, ada

banyak komunitas yang siap membantu jika ada permasalahan.

Keberadaan komunitas ini juga dapat membantu meningkatkan

pengembangan kemampuan pemrograman programmer.

4) Kumpulan Best Practice. Sebuah framework dapat dikatakan sebagai

kumpulan best practice yang sudah teruji. Secara tidak langsung,

penggunaan framework akan meningkatkan kualitas kode dari

aplikasi yang dibangun.

Page 5: Modul 1 Pelatihan CI

Jika mengacu kepada framework yang lebih spesifik, yaitu framework

Codeigniter yang digunakan pada buku ini, berikut adalah keunggulan

framework Codeigniter yang dapat menjadi pertimbangan :

1) Kecepatan. Codeigniter merupakan salah satu framework PHP yang

tercepat.

2) Mudah dalam Melakukan Modifikasi dan Adaptasi. Framework

Codeigniter tidak memerlukan spesifikasi server untuk

menjalankannya. Modifikasi aplikasi yang menggunakan framework

ini mudah dilakukan.

3) Dokumentasi Lengkap dan Jelas. Dokumentasi resmi yang selalu

diikutsertakan ketika mengunduh framework Codeigniter ini sangat

lengkap dan jelas. Semua hal yang diperlukan dalam mempelajari dan

memahami framework Codeigniter ini berada pada Dokumentasinya.

4) Learning Curve Rendah. Dalam mempelajari dan memahami

framework Codeigniter tidak memerlukan waktu dan usaha yang

lama. Setiap orang dengan berbagai tingkatan pengetahuan dan

keahlian akan sangat mudah dalam mempelajari framework

Codeigniter.

1.3 Konsep MVC

MVC merupakan singkatan dari Model View Controller. MVC sendiri

sebenarnya merupakan pola-pola perancangan atau dikenal dengan Design

Pattern yang memiliki design struktur pemisahan antara bisnis logic (proses),

data logic (penyimpanan data) dan presentation logic (antarmuka aplikasi).

Page 6: Modul 1 Pelatihan CI

Model MVC banyak diadopsi oleh framework yang ada saat ini. Berikut ini

adalah penjelasan detail mengenai MVC :

1) Model. Model adalah bagian yang berinteraksi langsung dengan

database. Kelas atau fungsi yang melakukan proses pembaharuan

data (update data), pengambilan data (load data), penyimpanan data

(store data) dan penghapusan data (delete data) terdapat pada

model.

2) View. View berhubungan erat dengan tampilan atau sesuatu yang

akan ditampilkan kepada pengguna aplikasi. Pada bagian ini

diharapkan untuk menghindari pemrosesan data. Pada Codeigniter

biasanya view berisi kode-kode untuk user interface (HTML, CSS dan

Javascript) dan variable-variabel yang berisi data yang siap untuk

ditampilkan (data yang berasal dari model dan controller).

3) Controller. Controller sendiri bertindak sebagai penghubung antara

Model dan View. Di Controller inilah binis logic diterapkan. Pada

Controller dimungkinkan terdapat pemrosesan data, validasi,

penanganan error, dsb.

Page 7: Modul 1 Pelatihan CI

Gambar 1. 2 Alur MVC

Untuk memahami cara kerja MVC, anda dapat melihat gambar 1.2 diatas.

Cara kerja MVC ini juga akan menjelaskan konsep Uniform Resource

Identifier (URI) yang ada pada framework Codeigniter. Jika menggunakan

framework Codeigniter, kita melihat URL seperti berikut :

http://www.situsku.com/index.php/barang/kategori/baju/xl 1 2 3 4 Segment 1 : Nama Kelas Controller Segment 2 : Nama fungsi atau method pada Kelas Controller Segment 3 : Parameter 1 Segment 4 : Parameter 2 Konsep URI pada framework Codeigniter menggunakan konsep URI dengan

pendekatan segment. Jika melihat URL diatas, berarti framework Codeigniter

akan melakukan pemanggilan method “kategori” yang ada pada kelas

“barang” dengan nilai parameter 1 yaitu “baju” dan nilai parameter 2 “xl”.

Page 8: Modul 1 Pelatihan CI

1.4 Struktur Direktori Framework Codeigniter

Berikut ini adalah penjelasan dan gambar struktur direktori framework

Codeigniter yang memperlihatkan dimana file Model, View dan Controller

disimpan dan memperlihatkan beberapa direktori penting yang menyimpan

file konfigurasi aplikasi dsb.

1) application/config. Berisi file-file konfigurasi yang perlu disesuaikan

dengan kebutuhan seperti koneksi database, helper dan library yang

akan di load.

2) application/controllers. Direktori untuk menyimpan semua file-file

controller yang diperlukan aplikasi.

3) application/models. Direktori untuk menyimpan semua file-file

model yang diperlukan aplikasi.

4) application/views. Direktori untuk menyimpan semua file-file view

yang diperlukan aplikasi.

Gambar 1. 3 Struktur Direktori (application) Framework Codeigniter

Page 9: Modul 1 Pelatihan CI

5) system/database. Direktori yang berisi file-file library untuk fungsi

database.

6) system/helpers. Direktori yang berisi file-file helper seperti Form

Helper, HTML Helper, Text Helper, dsb.

Page 10: Modul 1 Pelatihan CI

BAGIAN II DASAR-DASAR CODEIGNITER

Pada bagian ini akan dijelaskan apa-apa saja yang diperlukan untuk

mengembangkan aplikasi dengan menggunakan framework Codeigniter,

setting Codeigniter, mencoba membuat kode sederhana dan studi kasus

untuk melatih penggunaan helper dan library.

2.1 Kebutuhan

Berikut ini adalah kebutuhan yang diperlukan untuk menggunakan

framework Codeigniter :

1) XAMPP (Apache, MySQL, PHP)

2) Framework Codeigniter 2.1.0

3) PHP Editor (Notepad ++, PHP Designer, Dreamweaver, dsb)

2.2 Setting Framework Codeigniter

Untuk melakukan setting framework Codeigniter, lakukan langkah-langkah

berikut :

1) Install XAMPP

2) Ekstrak file CodeIgniter_2.1.0.zip ke direktori xampp/htdocs

3) Lakukan konfigurasi terhadap file config.php, autoload.php dan

routes.php sesuai dengan keperluan.

4) Lakukan testing dengan mengetikan alamat

http://localhost/trainingci pada address bar di browser.

Page 11: Modul 1 Pelatihan CI

Berikut ini adalah tampilan yang pada browser jika framework Codeigniter

telah berjalan dengan baik :

Gambar 2. 1 Tampilan Jika Konfigurasi Berhasil

Setelah konfigurasi selesai, kita dapat melakukan uji coba dengan membuat

file controller dan view sendiri, lalu eksekusi atau akses file controller

tersebut melalui browser. Untuk melakukan uji coba tersebut ikuti langkah-

langkah berikut ini :

1) Buatlah file percobaan.php dan simpan di direktori controllers.

Berikut ini adalah kode sumber dari file percobaan.php :

2) Buatlah file v_percobaan.php dan simpan di direktori views. Berikut

ini adalah kode sumber dari file v_percobaan.php :

<?php class Percobaan extends CI_Controller{ public function __construct() { parent::__construct(); } public function index() { $data['pesan'] = "Halo ini Codeigniter pertamaku !!"; $this->load->view('v_percobaan',$data); } }

Page 12: Modul 1 Pelatihan CI

Setelah kedua file diatas dibuat, maka lakukan eksekusi file terebut dengan

mengetikan alamat http://localhost/index.php/percobaan. Berikut tampilan

halaman hasil eksekusi kode diatas :

Gambar 2. 2 Tampilan Halaman Percobaan

Dalam menuliskan kode program, framework memiliki panduan dan bentuk

baku yang dapat dilihat pada dokumentasi Codeigniter (userguide) di menu

“Style Guide”. Aturan, standar dan aturan baku ini sangat penting jika sebuah

aplikasi dikembangkan secara bersama-sama atau dalam sebuah tim. Karena

dengan adanya standar tersebut, sebuah aplikasi yang dikembangkan akan

mudah untuk dikerjakan dan diperbaiki oleh siapapun yang meneruskan

pengembangan aplikasi tersebut.

<html> <head> <title>Percobaan View</title> </head> <body> <?php echo $pesan; ?> </body> </html>

Page 13: Modul 1 Pelatihan CI

2.3 Lebih Mudah dengan Library

Pembahasan mengenai library akan dilakukan pada saat pembuatan

controller yang memerlukan library tertentu agar lebih mudah dimengerti

dan dipahami karena langsung mempelajarinya melalui contoh. Library yang

akan digunakan pada studi kasus di buku ini adalah :

1) Cart Class

2) Email Class

3) File Uploading Class

4) Form Validation Class

5) HTML Table Class

6) Image Manipulation Class

7) Input Class

8) Pagination Class

9) Session Class

10) URI Class

Agar lebih memahami bagaimana sebuah library dapat mempermudah

programmer dalam membuat kode program, berikut adalah contoh kode

yang menggunakan library dan tidak menggunakan library. Contoh library

yang akan digunakan adalah library HTML Table Class. Gambar dibawah ini

adalah gambar yang akan ditampilkan dengan menggunakan HTML biasa dan

Library framework Codeigniter :

Gambar 2. 3 Contoh Tabel yang Akan Ditampilkan

Page 14: Modul 1 Pelatihan CI

Kode 2. 1 Kode HTML Native untuk Menampilkan Tabel dan Data

Kode 2. 2 Kode Program untuk Menampilkan Tabel dan Data Library

Untuk menggunakan sebuah library, harus mencantumkan kode berikut : $this->load->library('nama_library');

<table border="1"> <tr> <td>No</td> <td>Nama Barang</td> <td>Harga</td> <td>Stok</td> </tr> <tr> <td>1</td> <td>Tas</td> <td>Rp. 100.000</td> <td>5</td> </tr> <tr> <td>2</td> <td>Baju</td> <td>Rp. 80.000</td> <td>15</td> </tr> <tr> <td>3</td> <td>Sepatu <td>Rp. 150.000</td> <td>10</td> </tr> </table>

$this->load->library('table'); $tmpl = array ('table_open' => '<table border="1">'); $this->table->set_template($tmpl); $this->table->set_heading('No', 'Nama Barang', 'Harga','Stok'); $data = array( array('1', 'Tas', 'Rp. 100.000','5'), array('2', 'Baju', 'Rp. 80.000','15'), array('3', 'Sepatu', 'Rp. 150.000','10')

); $this->table->generate($data);

Page 15: Modul 1 Pelatihan CI

2.4 Lebih Mudah dengan Helper

Helper yang akan digunakan pada buku ini adalah helper yang sering

digunakan ketika mengembangkan aplikasi. Berikut adalah helper-helper

yang akan dibahas dan digunakan :

1) Form Helper

2) HTML Helper

3) URL Helper

4) Text dan String Helper (*Optional)

Seperti pada bagian library, pada bagian ini juga akan diberikan contoh

bagaimana menggunakan Helper dan penggunaan ini akan menunjukkan

bahwa sebuah Helper akan mempermudah pekerjaan dalam membuat kode

program.

Kode 2. 3 Kode HTML Native untuk Menyertakan File CSS

Kode 2. 4 Kode Program untuk Menyertakan File CSS dengan Helper

Untuk menggunakan sebuah helper, harus mencantumkan kode berikut : $this->load->library('nama_helper');

Jika ada banyak helper dan library yang selalu digunakan disetiap controller,

maka sebaiknya konfigurasi file autoload.php agak helper dan library

tersebut akan di load secara otomatis tanpa harus menuliskan perintah load

disetiap controller yang ada.

<link href="http://localhost/trainingci/css/style.css" rel="stylesheet" type="text/css" />

echo link_tag('css/style.css');

Page 16: Modul 1 Pelatihan CI

2.5 Lebih Mudah dengan ActiveRecord

ActiveRecord adalah sebuah library database yang memungkinkan kita untuk

melakukan penyimpanan data, modifikasi data dan penghapusan data

dengan menggunakan perintah yang sangat sederhana. Pada studi kasus di

buku ini, sebagaian besar file model akan menggunakan ActiveRecord.

Berikut ini adalah contoh penggunaan ActiveRecord :

Kode 2. 5 Kode PHP Native untuk Mengambil Data

Kode 2. 6 Kode Program untuk Mengambil Data dengan ActiveRecord

2.6 Bekerja dengan MVC

Sebelum melanjutkan ke materi studi kasus, pada bagian ini akan dicoba

untuk membuat aplikasi sederhana yang melibatkan Model-View-Controller

dengan mengikuti langkah-langkah berikut ini :

1) Buatlah database dengan nama trainingci.

2) Buatlah tabel barang sederhana yang memiliki struktur sbb :

kd_barang | varchar (5) | primary, nm_barang | varchar(20), harga

|int(12), stok | int(4).

3) Isi tabel tersebut dengan beberapa data.

<?php $conn = mysql_connect(‘localhost’,’root’,’123456’); mysql_select_db(‘trainingci’); $sql = “SELECT * FROM barang”; $result = mysql_query($sql); if(mysql_num_rows($result) > 0){

… }

?>

<?php $query = $this->db->get(‘barang’); if($query->num_rows() > 0)

{ }

?>

Page 17: Modul 1 Pelatihan CI

4) Buatlah model yang memiliki fungsi atau method untuk mengambil

data barang.

5) Buatlah halaman tampilan yang akan menampilkan data barang pada

sebuah tabel.

6) Buatlah controller yang memiliki fungsi atau method untuk

menampilkan data barang ke suatu halaman.

Agar langkah-langkah diatas dapat berjalan lancar, lakukanlah pengecekan

terhadap hal-hal berikut ini :

1) Konfigurasi database pada file database.php

(config/database.php)

2) Konfigurasi pada file autoload.php (config/autoload.php)

Solusi

Gambar 2. 4 Struktur Tabel Barang

Kode 2. 7 Kode Program File v_barang.php (view)

<?php echo $barang; ?>

Page 18: Modul 1 Pelatihan CI

Kode 2. 8 Kode Program File barang_model.php (model)

Kode 2. 9 Kode Program File barang_model.php (model)

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Barang_model extends CI_Model { public function __construct() { parent::__construct(); } public function get_all_data() { return $this->db->get('barang')->result(); } }

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Barang extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('barang_model','mb'); $this->load->library('table'); } public function view_barang() { $data = $this->mb->get_all_data(); $tmpl = array ('table_open' => '<table border="1">'); $this->table->set_template($tmpl); $this->table->set_heading('No', 'Nama Barang', 'Harga','Stok'); $no = 1; foreach($data as $barang) { $this->table->add_row($no,$barang->nm_barang, $barang->harga, $barang->stok); $no++; } $data['barang'] = $this->table->generate(); $this->load->view('v_barang',$data); } }

Page 19: Modul 1 Pelatihan CI

2.7 Studi Kasus

Membuat Aplikasi Penjualan Buku Online. Berikut adalah detail dari Aplikasi

Penjualan Buku Online tersebut :

1) Halaman Depan

a. Menampilkan Informasi Buku yang dijual (Gambar, Judul dan

Harga)

b. Fitur Registrasi User

c. Fitur Pencarian

2) Halaman Administrator

a. Halaman Kelola User (Add, Edit, Delete, List)

b. Halaman Kelola Buku (Add, Edit, Delete, List)

c. Laporan (Tampil dan Cetak | Export to XLS dan Simpan ke

PDF)

3) Halaman User

a. Fitur Ubah Profile

b. Kelola Pemesanan dan Pembelian Buku

c. Cetak Pemesanan

Page 20: Modul 1 Pelatihan CI

2.8 Run Down

Hari ke – 1

1) Pengenalan Codeigniter

2) Installasi XAMPP, PHP Editor dan Konfigurasi Codeigniter

3) PHP Dasar

4) Penjelasan penggunaan Codeigniter

5) Membuat aplikasi sederhana sebagai latihan menggunakan

Codeigniter

6) Menjelaskan studi kasus training

7) Membuat struktur database studi kasus

8) Membuat design layout sementara

9) Menjelaskan hal-hal yang perlu diperhatikan pada pegembangan

aplikasi pada studi kasus

10) Tanya Jawab

Hari ke – 2 (Menyelesaikan Halaman Depan)

1) Membuat halaman registrasi user

2) Membuat halaman untuk menambah data buku

3) Membuat halaman untuk menampilkan buku

4) Membuat fasilitas pencarian

5) Membuat halaman untuk menambah, menghapus dan

memodifikasi data buku

6) Melakukan pengecekan terhadap data user

• Pengecekan terhadap username yang sama

• Pengecekan email

• Pengecekan no telp

Page 21: Modul 1 Pelatihan CI

7) Melakukan pengecekan terhadap data buku

• Tipe dan Ukuran File gambar yang diperbolehkan untuk

diupload.

• Validasi pada form tambah buku.

• Pengecekan terhadap judul buku yang sama.

Hari ke – 3 (Menyelesaikan Halaman Administrator)

1) Membuat Fungsi untuk Pengiriman Info Registrasi

2) Menambahkan Fitur Paging

3) Membuat halaman management user

4) Membuat halaman management buku

5) Membuat Authentikasi User dan Login

Hari ke - 4 (Menyelesaikan Halaman User)

1) Membuat halaman untuk menampilkan dan mengubah profile

2) Membuat fitur untuk pembelian (cart) pada halaman depan

3) Membuat halaman untuk menampilkan dan mengelola data

pemesanan atau pembelian

Hari ke - 5

1) Membuat Report dalam bentuk PDF, XLS

2) Contoh-contoh kode program selain studi kasus mengenai CHART,

AJAX, Advanced Email