membangun web service dengan codeigniter dan sql server 2008

23
7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008 http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 1/23  Belajarphp.net – tutorial web development  MEMBANGUN WEB SERVICE MENGGUNAKAN CODEIGNITER DAN SQL SERVER BATAM, 25  27 NOVEMBER 2015 Nuris Akbar SST 1/1/2015 TRAINER : NURIS AKBAR SST 

Upload: akhmad-fauzan

Post on 05-Mar-2016

205 views

Category:

Documents


16 download

DESCRIPTION

Bagi Pemula

TRANSCRIPT

Page 1: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 1/23

 

Belajarphp.net – tutorial web development 

MEMBANGUN WEB SERVICE

MENGGUNAKAN CODEIGNITERDAN SQL SERVER BATAM, 25 – 27 NOVEMBER 2015

Nuris Akbar SST

1/1/2015

TRAINER : NURIS AKBAR SST 

Page 2: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 2/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

PENGANTAR DARI PENULIS

Ebook ini adalah softcopy dari workshop tentang

membangun web service yang saya ajarkan di batam kemarin

untuk salah satu perusahaan BUMN. Alhamdulillah dalam 2

hari  kami menyelesaikan belajar codeigniter dari basic dan

pada hari kedua membangun web service termasuk aplikasi

untuk client nya.

Tidak ada jaminan anda akan mendapatkan hasil yang

sama walupun anda punya panduan yang sama karna ebookini hanya bersifat pendukung, suasana belajar yang efektik

merupakan kunci keberhasilan mereka belajar dengan cepat

dan efektif.

Hal yang sama saya juga saya terapkan dalam panduan

belajar web development yang saya buat, anda akan saya

pandu belajar step by step + layanan konsultasi jika anda

mendapatkan masalah sehingga proses belajar jadi lebih cepat

dan efektif. Sudah banyak testimony yang bias anda lihatsendiri di web. Sekarang giliran anda untuk sukses

Untuk pemesanan video tutorial web development :

Tokopedia : https://tokopedia.com/tutorialpemogram 

SMS/ WA : 08969993552

BBM : 7D4D3286

Page 3: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 3/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

INSTALASI DAN KONFIGURASI DASAR CODEIGNITER

Codeigniter adalah salah satu framework yang memiliki minim konfigurasi, langkah pertama

yang akan kita lakukan adalah mengdownload master framework codeigniter disini

https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.3 

setelah itu Extrack source master codeigniter tersebut ke C:\xampp\htdocs dan ubahlah

nama folder codeigniter tersebut menjadi websrvice.

Langkah selanjutnya Aktifkan local web server yang sudah anda install dan setelah itu buka

web browser anda, coba akses http://localhost/webservice/ maka jika muncul welcome

codeigniter maka artinya anda sudah berhasil melakukan proses install codeigniter

Setelah proses instalasi berhasil maka kita akan melakukan beberapa konfigurasi sepertikonfigurasi web, database dan autoload . yang pertama adalah konfigurasi web ( config.php)

yang ada pada file application/config/config.php :

$config['base_url'] = 'http://localhost/webservice/';

$config['index_page'] = ''; 

langkah selanjutnya kita akan memperbaiki url system yang kita buat agar menjadi lebih SEO

friendly, secara default codeigniter akan menyertakan index.php sebelum nama controllerketika di akses pada web browser, nah solusi dari hal ini adalah membuat file .htacces pada

root project anda dan tulislah script berikut ini :

<IfModule mod_rewrite.c>Options -Indexes

RewriteEngine OnRewriteCond %{REQUEST_URI} ^/system.*RewriteRule ^(.*)$ index.php?/$1 [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ index.php?/$1 [L]

</IfModule> 

Page 4: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 4/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

MEMBUAT DAN KONFIGURASI DATABASE

Langkah selanjutnya kita akan membuat database dengam nama webservice, nantinya kita

akan membutuhkan 2 tabel sederhana untuk menyimpan data kita, strukturnya sebagai

berikut

Atau anda bisa membuat tabel tersebut dengan memasukan query SQL berikut ini :

CREATE TABLE IF  NOT EXISTS `customer` ( `customerID` int(11)  NOT  NULL, `customerName` varchar(40)  NOT  NULL, `customerCity` text NOT  NULL, `customerPhone` varchar(12)  NOT  NULL 

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1; 

CREATE TABLE IF  NOT EXISTS `customergroup` ( `groupID` int(11)  NOT  NULL, `groupName` varchar(50)  NOT  NULL 

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 ALTER  TABLE `customer`  ADD PRIMARY KEY (`customerID`);  ALTER  TABLE `customergroup`  ADD PRIMARY KEY (`groupID`);  ALTER  TABLE `customer`  MODIFY `customerID` int(11)  NOT  NULL AUTO_INCREMENT,AUTO_INCREMENT=6; 

 ALTER  TABLE `customergroup`  MODIFY `groupID` int(11)  NOT  NULL AUTO_INCREMENT;

Setelah selesai membuat database maka kita akan mengatur configurasi database

menyesuaikan dengan settingan dari web server, silahkan buka file database.php yang ada

pada application/config/database.php dan sesuaikan dengan konfigurasi anda

$db['default'] = array( 'dsn'  => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'webservice', 'dbdriver' => 'mysqli', 'save_queries' => TRUE 

);

Page 5: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 5/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

MEMBUAT APLIKASI DENGAN KONSEP MVC

Pada tahap ini kita akan membuat aplikasi sederhana untuk mengelola data customer

dangan konsep MVC ( model view controller ), nantinya kita akan memanfaatkan helper

dari codeigniter untuk mengenerate form, oleh karena itu kita perlu mengload dulu

helpernya, bukalah file autoload.php yang ada dalam folder config dan ubah sehinggan

menjadi seperti dibawah ini :

$autoload['libraries'] = array('database','session','template'); 

$autoload['helper'] = array('file','form','url');

Langkah selanjutnya adalah membuat controller, controller adalah salah satu bagian dari

konsep MVC yang bertugas menjadi perantara antara model dan view, juga sebagai tempat

untuk melakukan logika atau proses bisniss dari aplikasi yang kita buat, oke langsung saja

buat file baru dengan nama Customer.php didalam folder application/controller dan tulislah

script berikut :

<?php class Customer extends CI_Controller{ 

function  __construct() {  parent:: __construct(); $this->load->model('model_customer'); 

function index(){ $data['customers'] = $this->model_customer->select_all(); $this->load->view('customer/list',$data); 

function add(){ $this->load->view('customer/add'); 

function store(){ $this->model_customer->save(); 

redirect('customer'); } 

function edit(){ $id = $this->uri->segment(3); $data['customer'] = $this->model_customer->get_customer($id)

->row_array(); $this->load->view('customer/edit',$data); 

} function update(){ 

$this->model_customer->update(); redirect('customer'); 

function delete(){ $id = $this->uri->segment(3); $this->model_customer->delete($id); 

Page 6: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 6/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 redirect('customer'); 

} }

 

Langkah selanjutnya membuat model, model adalah sebuah class yang bertugas untuk

berinteraksi dengan database seperti proses insert, update, delete dan select,oke buatlah

sebuah file baru dengan nama Model_customer.php dan tulislah script berikut :

<?php class Model_customer extends CI_Model{ 

// return all data customer function select_all(){ 

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

// return one customer function get_customer($id){ $this->db->where('customerID',$id); return $this->db->get('customer'); 

// store new customer to database function save(){ 

$params = array( 'customerName'  =>  $this->input->post('name'), 'customerCity'  =>  $this->input->post('city'), 'customerphone' =>  $this->input->post('phone') 

); $this->db->insert('customer',$params); 

// update data customer function update(){ 

$this->db->where('customerID',  $this->input->post('id')); $params = array( 

'customerName'  =>  $this->input->post('name'), 'customerCity'  =>  $this->input->post('city'), 'customerphone' =>  $this->input->post('phone') 

); $this->db->insert('update',$params); 

// delete customer record function delete($id){ 

$this->db->where('customerID',$id); $this->db->delete('customer'); 

} } 

Sekarang kita akan membuat view yang merupakan bagian untuk menampilkan informasi

kepada client,lokasinya ada di application/views, oke supaya file file kita lebih terorganisir

maka buatlah sebuah folder dengan nama customer dan buatlah 3 file berikut :

Page 7: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 7/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Source code List.php

<h3>DATA CUSTOMER </h3> <?php echo anchor('customer/add','add new'); ?> <table border="1"> 

<tr><td> NO</td><td> NAMA LENGKAP</td><td> ALAMAT</td><td> NO HP</td><td colspan="2"> ACTION</td></tr> 

<?php $no=1; foreach ($customers->result() as $customer){ 

echo "<tr><td>$no</td><td>$customer->customerName</td><td>$customer->customerCity</td><td>$customer->customerPhone</td><td>".anchor('customer/edit/'.$customer-

>customerID,'Edit')."</td><td>".anchor('customer/delete/'.$customer-

>customerID,'Delete')."</td></tr>"; 

$no++; } ?> 

</table>

Page 8: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 8/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Source code add.php

<?php echo form_open('customer/store');?> <?php echo form_input('name', '',"placeholder='Nama'");?><br><br> <?php echo form_input('city', '',"placeholder='Kota'");?><br><br> <?php echo form_input('phone', '',"placeholder='No HP'");?><br><br> <?php echo form_submit('submit','simpan')?> </form> 

Page 9: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 9/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Source code edit.php

<?php echo form_open('customer/update');?> 

<?php echo form_hidden('id', $customer['customerID']);?> <?php echo form_input('name', $customer['customerName'],"placeholder='Nama Lengkap'");?><br><br> <?php echo form_input('city', $customer['customerCity'],"placeholder='Kota'");?><br><br> <?php echo form_input('phone',$customer['customerPhone'],"placeholder='NoHP'");?><br><br> <?php echo form_submit('submit','simpan')?> <?php echo anchor('customer','Kembali');?> </form> 

Page 10: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 10/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

INTEGRASI DENGAN BOOSTRAP

Langkah selanjutnya adalah kita akan memperbaiki tampilan aplikasi yang kita buat dengan

bantuan boostrap, untuk memulainya kita harus download boostrap dulu dan extrak

kedalam project kita, lalu rename folder tersebut menjadi boostrap

Lalu buatlah sebuah file baru dengan nama template_master.php pada folder

application/views, file template ini nantinya akan menjadi master template pada aplikasi

kita :

<!DOCTYPE html> <html lang="en"> 

<head> <meta charset="utf-8"> 

<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="../../favicon.ico"> <title>CRUD DATA CUSTOMER </title> <link href="<?php echo base_url();?> bootstrap/css/bootstrap.min.css" 

rel="stylesheet"> <link href="<?php echo base_url();?> bootstrap/css/sticky-footer-

navbar.css" rel="stylesheet"> </head> 

<body> 

<!-- Fixed navbar --> <nav class="navbar navbar-default navbar-fixed-top"> 

Page 11: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 11/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 <div class="container"> 

<div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-

toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 

<span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> 

</button> <a class="navbar-brand" href="#">CUSTOMER PANEL</a> 

</div> <div id="navbar" class="collapse navbar-collapse"> 

<ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><?php echo anchor('customer','LIST CUSTOMER');?></li> <li><?php echo anchor('customer/add','ENTRY');?></li> 

</ul> </div><!--/.nav-collapse --> 

</div> </nav> 

<!-- Begin page content --> <div class="container"> 

<?php echo $contents; ?> </div> 

<!-- Bootstrap core JavaScript================================================== --> 

<script src="<?php echo base_url();?> bootstrap/js/jquery.min.js"></script> 

<script src="<?php echo base_url();?> bootstrap/js/bootstrap.min.js"></script> 

</body> </html> 

Untuk management templating kita akan menggunakan library dari jeromejaglale.com dan

bisa anda download disini http://goo.gl/eLRspS , Kemudian anda harus mengestrack file

ci_template_library3.zip ke folder C:\xampp\htdocs\webservice\application\libraries

Page 12: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 12/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Library ini akan sering kita gunakan nantinya jadi oleh karena itu lebih baik kita lakukan

sedikit konfigurasi agar library ini selalu diload oleh system kita dengan menambahkan

template pada list library yang selalu diload, silahkan buka application/config/autoload.php

$autoload['libraries'] = array('database','session','template'); 

Masih ingat tampilan list customer yang kita buat tadi ? nah sekarang kita akan melakukan

sedikit manipulasi agar tampilan nya menjadi lebih menarik, caranya adalah dengan

menggunakan perintah dari library template agar meload template master yang kita buat,

buka controller customer :

// display all customer list function index(){ 

$data['customers'] = $this->model_customer->select_all();$this->load->view(‘customer/list’,$data); 

Lalu ubah menjadi

// display all customer list function index(){ 

$data['customers'] = $this->model_customer->select_all(); 

$this->template->load('template_master','customer/list',$data); }

Lalu kita akan ubah juga view untuk list customernya menggunakan style dari boostrap,

buka file views/customer/list.php dan ubahlah sehingga menjadi seperti ini:

<h3>DATA CUSTOMER </h3> <?php echo anchor('customer/add','ENTRY',array('class'=>'btn btn-dangerbtn-sm')); ?> <table class="table table-bordered"> 

<tr><td> NO</td><td> NAMA LENGKAP</td><td> ALAMAT</td><td> NO HP</td><td colspan="2"> ACTION</td></tr> 

<?php $no=1; 

Page 13: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 13/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 foreach ($customers->result() as $customer){ 

echo "<tr><td width='10'>$no</td><td>$customer->customerName</td><td>$customer->customerCity</td><td>$customer->customerPhone</td><td width='20'>".anchor('customer/edit/'.$customer-

>customerID,'Edit',array('class'=>'btn btn-danger btn-sm'))."</td><td width='20'>".anchor('customer/delete/'.$customer-

>customerID,'Delete',array('class'=>'btn btn-danger btn-sm'))."</td></tr>"; 

$no++; } ?> 

</table> 

Maka silahkan akses program anda melalui browser dan akan menjadi seperti ini :

Berikut ini adalah script full untuk controller yang sudah di modifikasi, dan script untuk

pemanggilan viewnya tidak saya hilangkan melainkan hanya diberikan tanda komentar saja :

Page 14: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 14/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 <?php class Customer extends CI_Controller{ 

function  __construct() {  parent:: __construct(); $this->load->model('model_customer'); 

// display all customer list function index(){ 

$data['customers'] = $this->model_customer->select_all(); //$this->load->view('customer/list',$data);  $this->template->load('template_master','customer/list',$data); 

// load form new customer function add(){ 

//$this->load->view('customer/add');  $this->template->load('template_master','customer/add'); 

// store customer to database function store(){ 

$this->model_customer->save(); redirect('customer'); 

}

function edit(){ $id = $this->uri->segment(3); 

$data['customer'] = $this->model_customer->get_customer($id)->row_array(); 

//$this->load->view('customer/edit',$data);  $this->template->load('template_master','customer/edit',$data); 

function update(){ $this->model_customer->update(); redirect('customer'); 

function delete(){ $id = $this->uri->segment(3); 

$this->model_customer->delete($id); redirect('customer'); 

} } 

Page 15: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 15/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Customer/add.php

<?php echo form_open('customer/store'); ?> 

<table class="table table-bordered"> <tr><td> Nama</td><td><?php echo form_input('name', '', "placeholder='Nama Lengkap' class='form-control'"); ?></td></tr> 

<tr><td>Kota</td><td><?php echo form_input('city', '', "placeholder='Kota' class='form-control'"); ?></td></tr> 

<tr><td> No HP</td><td><?php echo form_input('phone', '', "placeholder='No HP' class='form-control'"); ?></td></tr> 

<tr><td colspan="2"><?php echo form_submit('submit', 'simpan',"class='btn btn-danger btn-sm'") ?></td></tr> </table> </form> 

Hasil dari script berikut akan menghasilkan tampilan seperti ini, lebih rapi dan bagus kan ?

Page 16: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 16/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Application/edit.php

<?php echo form_open('customer/update'); ?> 

<?php echo form_hidden('id', $customer['customerID']);?> <table class="table table-bordered"> <tr><td> Nama</td><td><?php echo form_input('name', 

$customer['customerName'], "placeholder='Nama Lengkap' class='form-control'"); ?></td></tr> 

<tr><td>Kota</td><td><?php echo form_input('city', $customer['customerCity'], "placeholder='Kota' class='form-control'"); ?></td></tr> 

<tr><td> No HP</td><td><?php echo form_input('phone', $customer['customerPhone'], "placeholder='No HP' class='form-control'"); ?></td></tr> 

<tr><td colspan="2"> <?php echo form_submit('submit', 'simpan',"class='btn btn-danger

btn-sm'") ?> <?php echo anchor('customer','Kembali',array('class'=>'btn btn-danger btn-sm'));?> 

</td></tr> </table> </form>

 

Hasilnya akan menjadi seperti berikut ini :

Page 17: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 17/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

MEMBANGUN WEBSERVICE

Pada bab ini kita akan mencoba membuat webservice untuk layanan data customer, dimana

akan ada 2 resource yang akan bertindak sebagai client dan server. Server adalah source

web service yang menyediakan layanan data yang bersumber dari database sedangkan

client adalah source yang akan mengakses data yang diberikan oleh webservice.

Untuk membuat web service kita akan menggunakan library rest server untuk codeigniter 3

yang dibuat oleh chris kacerguis dari Austin, sourcenya bisa di download disini

https://github.com/chriskacerguis/codeigniter-restserver 

Page 18: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 18/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

Oke sebagai langkah pertama kita akan membangun web service nya terlebih dahulu,

silahkan extrack library codeigniter rest-server tadi kedalam project kita dan nanti anda

akan menemukan file rest.php yang ada difolder config dan REST_controller.php yang ada di

folder libraries.

Sekarang kita akan membuat controllernya dulu, buatlah sebuah file dengan nama Api.php

dan tulis scriptnya :

<?php /*** Webservice untuk data customer* web service untuk melayani transaksi data customer.** @package CodeIgniter

* @author Nuris Akbar,SST* @license MIT* @version 1.0.0*/ 

require APPPATH . '/libraries/REST_Controller.php' ; 

class Api extends REST_Controller { 

function  __construct($config = 'rest') {  parent:: __construct($config); 

function customers_get() { $id = $this->get('id'); if ($id) { 

$customer = $this->db->get_where('customer', array('customerID' => $id))->result(); 

} else { $customer = $this->db->get('customer')->result(); 

} // generate response if($customer){ 

$this->response($customer,200); }else{ 

$this->response(array('status'=>'not found'),404); 

} } 

function customers_post() { $params = array( 

'customerName'  => $this->post('name'), 'customerPhone' => $this->post('phone'), 'customerCity'  => $this->post('city')); 

$process = $this->db->insert('customer', $params); if($process){ 

// 201 artinya Successful creation of a resource. $this->response(array('status'=>'succes'),201); 

}else{ // 502 artinya Backend service failure (data store failure). return $this->response(array('status'=>'fail'), 502); 

Page 19: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 19/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

function customers_put() { $params = array( 

'customerName'  => $this->put('name'), 'customerPhone' => $this->put('phone'), 'customerCity'  => $this->put('city')); 

$this->db->where('customerID', $this->put('id')); $execute = $this->db->update('customer', $params); if($execute){ 

$this->response(array('status'=>'succes'),201); }else{ 

return $this->response(array('status'=>'fail'), 502); } 

function customers_delete($id) { $this->db->where('customerID', $this->delete('id')); $execute = $this->db->delete('customer'); if($execute){ 

$this->response(array('status'=>'succes'),201); }else{ 

return $this->response(array('status'=>'fail'), 502); } 

Penjelasan:

Tidak jauh berbeda dengan script CRUD yang sudah kita bahas sebelumnya cuman ada

beberapa hal yang perlu diperhatikan yaitu terkait untuk mendapatkan inputan, library rest-

server ini mendapatkan inputan sesuai dengan method yang disetting, agar lebih jelas

silahkan lihat tabel dibawah ini :

METHOD CARA REST-SERVER CARA CODEIGNITER

GET $this->get(‘id’);  $this->input->post(‘id’); 

POST $this->post(‘id’)  $this->input->get(‘id’); 

PUT $this->put(‘id);  --

DELETE $this->delete(‘id);  --

Selanjutnya kita bisa mengirimkan response kepada client terhadap status request yang

dilakukan oleh clietn dengan cara $this->response();

Setelah webservicenya sudah beres maka kita akan membuat controller untuk client nya,

caranya buatlah sebuah controller dengan nama Customer.php dan tulislah script berikut ini

Page 20: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 20/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 <?php 

/*** Controller untuk akses data webservice customer* web service untuk melayani transaksi data customer.** @package CodeIgniter* @author Nuris Akbar,SST* @license MIT* @version 1.0.0*/ 

class Customer extends CI_Controller { 

var $API = ""; 

function  __construct() {  parent:: __construct(); $this->API="http://localhost/webservice/customer/customers/ "; 

function index() { $data['customers'] = $this->__execute($this->API,'get', ''); $this->template->load('template_master', 'customer/list', $data); 

function add() { if (isset($_POST['submit'])) { 

$params = array( 

'name'  => $this->input->post('name'), 'phone'  => $this->input->post('phone'), 'city'  => $this->input->post('city')); 

$this->__execute($this->API,'post', $params); redirect('customer'); 

} else { $this->template->load('template_master', 'customer/add'); 

} } 

function edit() { if (isset($_POST['submit'])) { 

$params = array( 

'name'  => $this->input->post('name'), 'id'  => $this->input->post('id'), 'phone' => $this->input->post('phone'), 'city'  => $this->input->post('city')); 

$result = $this->__execute($this->API.'format/json/','put', $params); 

redirect('customer');

} else { $id = $this->uri->segment(3); $data['customer'] = $this->__execute(

$this->API.'id/'.$id,'get', array('id' => $id)); $this->template->load('template_master', 

'customer/edit', $data); 

Page 21: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 21/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 } 

function delete($id) { $this->__execute($this->API,'delete', array('id' => $id)); redirect('customer'); 

function __execute($url,$method,$param) { $username = 'admin'; $password = '1234'; $this->load->library('curl'); $this->curl->create($url); // Optional, delete this line if your API is open $result_login = $this->curl->http_login($username, $password); $this->curl->$method($param); $result = json_decode($this->curl->execute()); 

return $result; } 

Viewnya juga harus disesuaikan, pada tutorial pertama tentang codeigniter hasil yang

diberikan adalah berupa array dan sekarang data yang diberikan berupa object sehingga

cara mengakses datanya pun harus kita rubah. Oke silahkan buka view/customer/edit.php

dan sesuaikan dengan script berikut :

<?php echo form_open('customer/edit'); ?> <?php echo form_hidden('id', $customer[0]->customerID);?> <table class="table table-bordered"> 

<tr><td> Nama</td><td><?php echo form_input('name', $customer[0]->customerName, "placeholder='Nama Lengkap' class='form-control'"); ?></td></tr> 

<tr><td>Kota</td><td><?php echo form_input('city', $customer[0]->customerCity, "placeholder='Kota' class='form-control'"); ?></td></tr> 

<tr><td> No HP</td><td><?php echo form_input('phone', $customer[0]->customerPhone, "placeholder='No HP' class='form-control'"); ?></td></tr> 

<tr><td colspan="2"

> <?php echo form_submit('submit', 'simpan',"class='btn btn-danger

btn-sm'") ?> <?php echo anchor('customer','Kembali',array('class'=>'btn btn-

danger btn-sm'));?> </td></tr> 

</table> </form> 

Page 22: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 22/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

AUTHENTIFIKASI PENGGUNA

Library rest-server ini sudah menyediakan fasilitas authetifikasi yang memudahkan kita

untuk mengatur siapa saja yang mempunyai hak akses untuk menggunakan webservice yang

kita bangun, ada beberapa jenis authentifikasi yang disediakan yaitu basic, digest dan

session, kita juga bisa menggunakan library authetification yang lain untuk library ini

|--------------------------------------------------------------------------| REST Login|--------------------------------------------------------------------------|| Set to specify the REST API requires to be logged in|| FALSE No login required

| 'basic' Unsecure login| 'digest' More secure login| 'session' Check for a PHP session variable. See 'auth_source' to set the| authorization key|*/ $config['rest_auth'] = 'basic'; 

Anda bisa memilih salah satu jenis autentifikasi yang ingin digunakan, atau jika anda ingin

membuka akses webservice yang anda buat bisa dengan cara menmeberikan value FALSE

pada config rest_auth;

Lalu jika anda mensetting jenis authetifikasinya dengan basic atau yang lain, maka anda juga

harus menyertakan informasi authetification account yang digunakan untuk mengakses web

service, berikut ini contoh penggunaan nya :

function __execute($url,$method,$param) { $username = 'admin'; $password = '1234'; $this->load->library('curl'); 

$this->curl->create($url); // Optional, delete this line if your API is open $result_login = $this->curl->http_login($username, $password); // end optional for autehntification webservice $this->curl->$method($param); $result = json_decode($this->curl->execute()); return $result; 

------- Selesai --------

Page 23: Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

7/21/2019 Membangun Web Service Dengan Codeigniter Dan SQL Server 2008

http://slidepdf.com/reader/full/membangun-web-service-dengan-codeigniter-dan-sql-server-2008 23/23

MEMBANGUN WEB SERVICE MENGGUNAKAN

CODEIGNITER DAN SQL SERVER

2015

 

TENTANG PENULIS

Saya adalah seorang web developer dari Nanggroe

Aceh Darussalam, sekarang sedang menyelesaikan

pendidikan magister di salah satu sekolah tinggi

ilmu komputer dibandung.

Kegiatan utama saya adalah sebagai seorang

freelancer, Trainer dan pembuat video tutorial web

development dan pengelola website

belajarphp.net.

HP/ WA : 089699935552

PIN BBM : 53F552DE

Email : [email protected] 

Github : https://github.com/nurisakbar