MENGGUNAKAN CODEIGNITER
Membuat Rest Api Dengan Codeigniter – REST (REpresentational State Transfer) adalah suatu arsitektur
metode komunikasi yang sering diterapkan dalam pengembangan layanan berbasis web. Arsitektur REST,
yang umumnya dijalankan via HTTP (Hypertext Transfer Protocol), melibatkan proses pembacaan laman
web tertentu yang memuat sebuah file XML atau JSON. File inilah yang menguraikan dan memuat konten
yang hendak disajikan. Setelah melalui sebuah proses definisi tertentu, konsumen akan bisa mengakses
antarmuka aplikasi yang dimaksudkan.
Kekhasan REST terletak pada interaksi antara klien dan server yang difasilitasi oleh sejumlah tipe
operasional (verba) dan Universal Resource Identifiers (URIs) yang unik bagi tiap-tiap sumberdaya.
Masing-masing verba – GET, POST, PUT dan DELETE – memiliki makna operasional khusus untuk
menghindari ambiguitas. pada postingann kali ini kita akan membuat resfull menggunakan framework
codeigniter
sebelum melakukan instalasi pastikan anda sudah mempersiapkan web server untuk menyimpan aplikasi
yang akan kita bangun nantinya, jika belum punya anda sangat saya sarankan untuk membaca postingan
dibawah ini terlebih dahulu :
jika anda sudah menginstall xampp atau yang menggunakan program lain seperti wampp maka sekarang
kita akan mulai tahapan menginstall codeigniter terlebih dahulu.
selamat sampai pada tahap ini anda sudah berhasil menginstall codeigniter, tahap selanjutnya adalah
melakukan konfigurasi dasar, silahkan buka file config.php yang ada dalah folder
application/config/config.php menggunakan IDE kesayangan anda. silahkan cari script berikut ini :
1 $config['base_url'] = '';
dan ubah menjadi seperti ini :
1 $config['base_url'] = 'http://localhost/rest_server/';
Jika anda malas membuat sendiri struktur database nya maka anda bisa menggunakan Query SQL berikut
ini untuk membuat struktur tabel yang akan digunakan.
1 $db['default'] = array(
2 'dsn' => '',
3 'hostname' => 'localhost',
4 'username' => 'root',
5 'password' => '',
6 'database' => 'restfull',
7 'dbdriver' => 'mysqli',
8 'dbprefix' => '',
9 'pconnect' => FALSE,
10 'db_debug' => (ENVIRONMENT !== 'production'),
11 'cache_on' => FALSE,
12 'cachedir' => '',
13 'char_set' => 'utf8',
14 'dbcollat' => 'utf8_general_ci',
15 'swap_pre' => '',
16 'encrypt' => FALSE,
17 'compress' => FALSE,
18 'stricton' => FALSE,
19 'failover' => array(),
20 'save_queries' => TRUE
21 );
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 :
1 $autoload['libraries'] = array('database');
Langkah 4 – Instalasi Library Codeigniter-Restserver
library ini dibuat oleh sekarang developer asal austin bernama Chris Kacerguis , library codeigniter-
restserver ini dibuat untuk bisa mengimplementasikan restfull pada framework codeigniter. agar library ini
berjalan dengan lancar maka dibutuhkan codeigniter versi 3 dan versi PHP minimal 5.4.
selanjutnya kita akan membuat sebuah controller dengan nama Mahasiswa.php yang merupakan resource
dari web service yang akan menangani request pengelolaan data dari tabel mahasiswa, berikut ini script
nya :
1 <?php
2
3 require APPPATH . '/libraries/REST_Controller.php';
4
5 class mahasiswa extends REST_Controller {
6
7 function __construct($config = 'rest') {
8 parent::__construct($config);
9 }
10
11 // show data mahasiswa
12 function index_get() {
13 $nim = $this->get('nim');
14 if ($nim == '') {
15 $mahasiswa = $this->db->get('mahasiswa')->result();
16 } else {
17 $this->db->where('nim', $nim);
18 $mahasiswa = $this->db->get('mahasiswa')->result();
19 }
20 $this->response($mahasiswa, 200);
21 }
22
23 // insert new data to mahasiswa
24 function index_post() {
25 $data = array(
26 'nim' => $this->post('nim'),
27 'nama' => $this->post('nama'),
28 'id_jurusan' => $this->post('id_jurusan'),
29 'alamat' => $this->post('alamat'));
30 $insert = $this->db->insert('mahasiswa', $data);
31 if ($insert) {
32 $this->response($data, 200);
33 } else {
34 $this->response(array('status' => 'fail', 502));
35 }
36 }
37
38 // update data mahasiswa
39 function index_put() {
40 $nim = $this->put('nim');
41 $data = array(
42 'nim' => $this->put('nim'),
43 'nama' => $this->put('nama'),
44 'id_jurusan'=> $this->put('id_jurusan'),
45 'alamat' => $this->put('alamat'));
46 $this->db->where('nim', $nim);
47 $update = $this->db->update('mahasiswa', $data);
48 if ($update) {
49 $this->response($data, 200);
50 } else {
51 $this->response(array('status' => 'fail', 502));
52 }
53 }
54
55 // delete mahasiswa
56 function index_delete() {
57 $nim = $this->delete('nim');
58 $this->db->where('nim', $nim);
59 $delete = $this->db->delete('mahasiswa');
60 if ($delete) {
61 $this->response(array('status' => 'success'), 201);
62 } else {
63 $this->response(array('status' => 'fail', 502));
64 }
65 }
66
67 }
pengujian selanjutnya adalah saya ingin menampilkan data dosen berdasarkan nim yang akan saya
inputkan, pada penujian ini masih menggunakan methode GET.
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
sekian postingan Cara Membuat Restfull API Menggunakan Codeigniter kali ini, semoga ilmu ini
bermanfaat bagi anda.