Cara Membuat REST API Menggunakan Codeigniter


Assalamu’alaikum teman - tema semua J
Kembali dengan Saya, kali ini saya akan membuatkan tutorial tentang “CARA MEMBUAT REST API MENGGUNAKAN CODEIGNITER”
Pertama kita siapkan bahan – bahan yang dibutuhkan :
  1. Codeigniter-3.1.9, bisa didownload disini
  2. Xampp
  3. Sublime atau Text Editor lainnya
  4.  Library Codeigniter-Restserver, bisa didownload disini
  5. Postman, bisa didownload disini
Langkah 1 – Instalasi dan Konfigurasi Codeigniter
Jika kalian sudah download Codeigniter, langsung saja di ekstrak dan tempatkan di C:\Xampp\htdocs\codeigniter\
Mengapa setelah htdocs itu ke codeigniter ? karena saya membuat folder baru yang bernama codeigniter. Saya membuat folder itu untuk membuat project – project Codeigniter. Jika codeigniter kalian sudah selesai di ekstrak

1. Rename(ganti nama) folder CodeIgniter-3.1.9 itu menjadi rest_server seperti gambar dibawah



2. Jika sudah buka Xampp kalian dan start Apache dan MySQL


3. Sekarang buka sublime lalu buka folder rest_server kalian. Kemudian konfigurasi dasar, buka file config.php yang ada dalam folder application/config/config.php carilah script seperti dibawah

$config['base_url'] = '';

Lalu masukan script seperti dibawah

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


Jika sudah sekarang silahkan buka web browser kalian dan masukan alamat http://localhost/codeigniter/rest_server/ maka akan muncul seperti dibawah





Langkah 2 – Membuat Database dan Tabel
Disini saya membuat Database dan Tabel nya di http://localhost/phpmyadmin
Buatlah sebuah database dengan nama akademik dan buatlah table dengan nama mahasiswa dan jurusan dengan format sebagai berikut :


CREATE TABLE `jurusan` (
  `id_jurusan` int(11) NOT NULL AUTO_INCREMENT,
  `nama_jurusan` varchar(50) NOT NULL,
  PRIMARY KEY (`id_jurusan`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;



CREATE TABLE `mahasiswa` (
  `nim` varchar(10) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `id_jurusan` int(11) NOT NULL,
  `alamat` text NOT NULL,
  PRIMARY KEY (`nim`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



Langkah 3 – Insert Data Dummy
Selanjutnya klik table jurusan->SQL isi script seperti dibawah lalu klik GO


INSERT INTO `jurusan` VALUES (1,'TEKNIK INFORMATIKA'),(2,'REKAMEDIS');

Setelah table jurusan sekarang table mahasiswa->SQL isi script seperti dibawah lalu klik Go


INSERT INTO `mahasiswa` VALUES ('TI102131','DESI HANDAYANI',2,'RANGKASBITUNG'),('TI102132','NURIS AKBAR',1,'aceh'),('TI102133','MUHAMMAD HAFIDZ MUZAKI',1,'CIMAHI'),('TI102134','IRMA MAULIANA',1,'ACEH TAMIANG');

Jika sudah sekarang saatnya melakukan konfigurasi untuk koneksi ke database, silahkan buka file database.php yang ada dalam folder application/config/database.php dan silahkan sesuaikan dengan settingan web server anda, ini contoh settingan pada web server di komputer yang saya gunakan :

$db['default'] = array(
                'dsn'       => '',
                'hostname' => 'localhost',
                'username' => 'root',
                'password' => '',
                'database' => 'akademik',
                'dbdriver' => 'mysqli',
                'dbprefix' => '',
                'pconnect' => FALSE,
                'db_debug' => (ENVIRONMENT !== 'production'),
                'cache_on' => FALSE,
                'cachedir' => '',
                'char_set' => 'utf8',
                'dbcollat' => 'utf8_general_ci',
                'swap_pre' => '',
                'encrypt' => FALSE,
                'compress' => FALSE,
                'stricton' => FALSE,
                'failover' => array(),
                'save_queries' => TRUE
);


langkah selanjutnya adalah meload library database, library ini merupakan library utama yang menyimpan perintah untuk mengelola database. silahkan buka file autoload.php yang ada pada folder application/config/autoload.php dan load librarynya seperti ini :

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



Langkah 4 – Instalasi Library Codeigniter-Restserver
Sekarang kita masuk ke tahap instalasi library codeigniter-restserver dengan codeigniter :
1. Silahkan ekstrak dan copy folder application ke dalam folder utama project kita.
2. Jika ada permintaan untuk mereplace file maka pilih replace saja.
3. Jika sampai pada tahap ini berhasil maka akan muncul seperti dibawah ini :


Selanjutnya kita akan membuat sebuah controller dengan nama Mahasiswa.php yang merupakan resource dari web service yang akan menangani request pengelolaan data dari table mahasiswa, berikut script nya :

<?php

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

use Restserver\Libraries\REST_Controller;

/**
*
*/
class Mahasiswa extends REST_Controller{
               
                function __construct($config = 'rest'){
                                parent::__construct($config);
                }

                // show data mahasiswa
                function index_get(){
                                $nim = $this->get('nim');
                                if ($nim == '') {
                                                $mahasiswa = $this->db->get('mahasiswa')->result();
                                } else {
                                                $this->db->where('nim', $nim);
                                                $mahasiswa = $this->db->get('mahasiswa')->result();
                                }
                                $this->response($mahasiswa, 200);
                }

                // insert new data to mahasiswa
                function index_post(){
                                $data = array(
                                                                'nim' => $this->put('nim'),
                                                                'nama' => $this->put('nama') ,
                                                                'id_jurusan' => $this->put('id_jurusan') ,
                                                                'alamat' => $this->put('alamat'));
                                $insert = $this->db->insert('mahasiswa', $data);
                                if ($insert) {
                                                $this->response($data, 200);
                                } else {
                                                $this->response(array('status' => 'fail', 502));
                                }
                }

                // update data mahasiswa
                function index_put(){
                                $nim = $this->put('nim');
                                $data = array(
                                                                'nim' => $this->put('nim'),
                                                                'nama' => $this->put('nama') ,
                                                                'id_jurusan' => $this->put('id_jurusan') ,
                                                                'alamat' => $this->put('alamat'));
                                $this->db->where('nim', $nim);
                                $update = $this->db->update('mahasiswa', $data);
                                if ($update) {
                                                $this->response($data, 200);
                                } else {
                                                $this->response(array('status' => 'fail', 502));
                                }
                }

                // delete mahasiswa
                function index_delete(){
                                $nim = $this->delete('nim');
                                $this->db->where('nim', $nim);
                                $delete = $this->db->delete('mahasiswa');
                                if ($delete) {
                                                $this->response(array('status' => 'success'), 201);
                                } else {
                                                $this->response(array('status' => 'fail', 502));
                                }
                }
}

 ?>

Langkah 5 – Pengujian menggunakan plugin Postman
Pengujian pertama adalah melakukan request untuk menampilkan seluruh data mahasiswa dengan method GET. Jalankan dengan memanggil alamat http://localhost/codeigniter/rest_server/index.php/mahasiswa/
Maka hasilnya akan menampilkan data seperti dibawah ini :



Pengujian selanjutnya, saya akan menampilkan data dosen berdasarkan nim yang akan saya inputkan, pada pengujian ini masih menggunakan method GET. Isikan Key nya dengan nim dan Valuenya dengan nomor nim yang sebelumnya kita tampilkan data. Maka hasilnya akan seperti dibawah :



Sekarang saya akan melakukan percobaan menginsert data dosen melalui web service menggunakan method POST. untuk bisa menginsert data maka saya harus mengisi parameter yang ada pada kolom x-www-form-urlencode seperti dibawah ini :



Hasilnya data yang tadi saya input sudah  masuk dan berhasil ditampilkan ketika saya melakukan request dengan method GET.



Selanjutnya saya akan melakukan percobaan update data dengan method PUT, pada percobaan kali ini data yang akan saya ubah hanyalah field alamat nya saja, untuk melakukan perubahan jangan lupa menyertakan nim yang merupakan key dalam proses update data pada layer web service



Setelah saya melakukan request update, lalu saya mencoba melakukan request data mahasiswa dengan method GET dan hasilnya data tersebut sudah berubah.



Pengujian selanjutnya saya akan melakukan request untuk menghapus sebuah data dengan method DELETE, untuk bisa menghapus data saya wajib mengirim nim g akan dihapus sebagai parameter yang akan digunakan di layer web service untuk melakukan penghapusan data.



Berikut ini adalah hasil respons setelah saya melakukan request penghapusan data dengan NIM TI102135.



Oke sekian tutorial dari saya CARA MEMBUAT REST API MENGGUNAKAN CODEIGNITER kali ini, semoga ilmu yang saya share bermanfaat untuk kalian semua. Terima kasih J

Wa'alaikumussalam

Tidak ada komentar:

Diberdayakan oleh Blogger.