Anda di halaman 1dari 10

CARA MEMBUAT REST API

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

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 :

jika anda sudah menginstall xampp atau yang menggunakan program lain seperti wampp maka sekarang
kita akan mulai tahapan menginstall codeigniter terlebih dahulu.

1. silahkan download codeigniter pada situs resminya www.codeigniter.com


2. kemudia extrack/ unzip file CodeIgniter-3.1.0.zip.
3. setelah itu silahkan rename folder CodeIgniter-3.1.0 menjadi rest_server
4. pindahkan folder api tersebut ke folder C:\xampp\htdocs.
5. 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 :

1 $config['base_url'] = '';
dan ubah menjadi seperti ini :

1 $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.

1 DROP TABLE IF EXISTS `jurusan`;


2 /*!40101 SET @saved_cs_client = @@character_set_client */;
3 /*!40101 SET character_set_client = utf8 */;
4 CREATE TABLE `jurusan` (
5 `id_jurusan` int(11) NOT NULL AUTO_INCREMENT,
6 `nama_jurusan` varchar(50) NOT NULL,
7 PRIMARY KEY (`id_jurusan`)
8 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
9 /*!40101 SET character_set_client = @saved_cs_client */;
10
11 DROP TABLE IF EXISTS `mahasiswa`;
12 /*!40101 SET @saved_cs_client = @@character_set_client */;
13 /*!40101 SET character_set_client = utf8 */;
14 CREATE TABLE `mahasiswa` (
15 `nim` varchar(10) NOT NULL,
16 `nama` varchar(50) NOT NULL,
17 `id_jurusan` int(11) NOT NULL,
18 `alamat` text NOT NULL,
19 PRIMARY KEY (`nim`)
20 ) 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');


1 INSERT INTO `mahasiswa` VALUES ('TI102131','DESI HANDAYANI',2,'RANGKASBITUNG'),('TI102132','NURIS
2 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 :

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.

sekarang kita masuk ke tahap instalasi library codeigniter-restsever denagn codeigniter :

1. silahkan download library codeigniter-restserver


2. lalu silahkan extrack dan copy folder application ke dalam folder utama project kita
3. jika ada permintaan untuk mereplace file maka pilih yes saja.
4. 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 :

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 }

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.

Anda mungkin juga menyukai