Blog
Cara Membuat REST API Menggunakan Codeigniter
- August 20, 2016
- Posted by: Nuris Akbar SST, M.Kom
- Category: Tutorial 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
Langkah 1 – Instalasi & Konfigurasi 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 :
Baca juga : Cara Install Xampp Pada OS Microsoft Windows
jika anda sudah menginstall xampp atau yang menggunakan program lain seperti wampp maka sekarang kita akan mulai tahapan menginstall codeigniter terlebih dahulu.
- silahkan download codeigniter pada situs resminya www.codeigniter.com
- kemudia extrack/ unzip file CodeIgniter-3.1.0.zip.
- setelah itu silahkan rename folder CodeIgniter-3.1.0 menjadi rest_server
- pindahkan folder api tersebut ke folder C:\xampp\htdocs.
- sekarang silahkan bukan web browser anda dan masukan http://localhost/rest_server/ pada web address maka akan muncul seperti ini :
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 :
$config['base_url'] = '';
dan ubah menjadi seperti ini :
$config['base_url'] = 'http://localhost/rest_server/';
Langkah 2 – Membuat Database & Tabel
langkah selanjutnya adalah membuat sebuah database baru yang akan menjadi tempat kita menyimpan data. silahkan buat sebuah database dengan nama akademik dan buatlah sebuah tabel dengan nama mahasiswa dan jurusan dengan format seperti berikut :
Jika anda malas membuat sendiri struktur database nya maka anda bisa menggunakan Query SQL berikut ini untuk membuat struktur tabel yang akan digunakan.
DROP TABLE IF EXISTS `jurusan`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; 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; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `mahasiswa`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; 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 4 – insert Data Dummy
untuk bisa menampilkan data maka kita akan butuh beberapa data dummy yang akan kita gunakan sebagai contoh nantinya, anda bisa memasukan sendiri atau menggunakan Query SQL dibawah untuk memasukan beberapa data dummy :
INSERT INTO `jurusan` VALUES (1,'TEKNIK INFORMATIKA'),(2,'REKAMEDIS'); 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' => 'restfull', '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
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.
sekarang kita masuk ke tahap instalasi library codeigniter-restsever denagn codeigniter :
- silahkan download library codeigniter-restserver
- lalu silahkan extrack dan copy folder application ke dalam folder utama project kita
- jika ada permintaan untuk mereplace file maka pilih yes saja.
- jika sampai pada tahap ini anda 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 tabel mahasiswa, berikut ini script nya :
<?php require APPPATH . '/libraries/REST_Controller.php'; 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->post('nim'), 'nama' => $this->post('nama'), 'id_jurusan' => $this->post('id_jurusan'), 'alamat' => $this->post('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 ( untuk melihat gambar lebih jelas silahkan klik gambar nya dan pilih open di new tab )
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.
Download Source Code Codeigniter Rest Server Download Database Rest Server
Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.
Author:nuris


Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.