Jika kita bicara mengenai web pasti tidak terlepas dari bahasa pemrograman PHP, mengapa demikian ? dikarenakan PHP merupakan bahasa pemrograman yang sangat banyak digunakan untuk membuat sebuah web secara dinamis. Tidak hanya banyak digunakan, bahkan laboratorium teknik informatika di universitas gunadarma juga terdapat sebuah mata praktikum pemrograman web yang dikhususkan untuk tingkat 4 yang berfungsi menambah ilmu pengetahuan mahasiswa mengenai pemrograman berbasis web dengan menggunakan PHP. Salah satu framework yang akan digunakan adalah CodeIgniter.
Pada tutorial kali ini, penulis akan berbagi tulisan mengenai bagaimana membuat sebuah REST API dengan framework codeigniter.
CodeIgniter adalah sebuah framework PHP yang berfungsi untuk mempermudah sebuah development aplikasi dengan pattern MVC (model view controller).
Beberapa dari kita pernah mendengar framework, framework sebenarnya merupakan sebuah kerangka kerja yang akan kita gunakan. Dengan adanya kerangka kerja maka akan mempermudah development sebuah aplikasi, adanya standarisasi pembuatan aplikasi sehingga memperkecil kesalahan antara 1 developer dengan developer yang lain. Bagi yang belum melakukan instalasi kelengkapan coding PHP, silahkan akses di Instalasi Perlengkapan Coding PHP
Berikut merupakan tahapan yang akan kita kerjakan pada saat development REST API dengan codeigniter.
- Membuat Database
- Membuat Dan Setting Project CodeIgniter
- Tahap Development REST API
- Uji Coba REST API
Membuat Database
Oke setelah semua persiapan PHP selesai, kita mulai coding :D. Yang pertama kali kita buat adalah sebuah database beserta tabel dan columnnya. Silahkan buat sebuah database dengan nama akademik
kemudian jalankan codingan berikut untuk membuat tabel dan columnnya.
Membuat Dan Setting Project CodeIgniter
Setelah selesai dengan database selanjutnya kita akan mulai membuat project codeigniter dengan composer. Jalankan perintah berikut :
Kemudian update project dengan perintah composer.phar update
. Kita membuat project codeigniter berasal dari repository kenjis dikarenakan project codeigniter ini telah lengkap dan mudah dikonfigurasikan. Perintah diatas akan membuat sebuah project dengan nama Belajar-REST-CodeIgniter
. Silahkan buka project tersebut dengan editor kesayangan anda.
Selanjutnya kita akan melakukan beberapa konfigurasi. Buka file autoload.php
di dalam folder application/config/
kemudian ubah seperti berikut.
Menghilangkan index.php Pada URI (Uniform Resource Identifier)
Jika anda tidak ingin menggunakan index.php pada URI (Uniform Resource Identifier) maka buka file config.php
di dalam folder application/config/
berikut perubahannya
Tahap Development REST API
Silahkan buka file database.php
di dalam folder application/config/
kemudian isi konfigurasi seperti username, password, database dan hostnamenya. Oke karena codeigniter merupakan sebuah framework MVC (Model View Controller) maka kita akan mulai coding dari model. Buat sebuah file Mahasiswa.php
di dalam folder application/models/
dan berikut isi codingannya.
Berikut penjelasan mengenai kodingan diatas.
- function
getCountMahasiswa
berfungsi untuk mengambil banyak data mahasiswa, ini berfungsi untuk melakukan paging sebuah REST API. - function
getMahasiswa
berfungsi untuk mengambil data dari tabel mahasiswa bisa dilihat dari codingan berikut$this->db->get('mahasiswa')
bahwa tabel yang digunakan adalah tabel mahasiswa. - function
insertMahasiswa
berfungsi untuk menyimpan data mahasiswa, disini terdapat sebuah parameter yaitu$dataMahasiswa
yang berisi data mahasiswa. Data ini masih berupa array yang belum beraturan, sehingga diubah terlebih dahulu menjadi array biasa kemudian data tersebut disimpan. - function
updateMahasiswa
juga sama seperti function insertMahasiswa, hanya saja function ini terdapat 2 parameter yaitu$dataMahasiswa
dan$npm
dikarenakan kita akan melakukan update berdasarakan npm seorang mahasiswa. - dan yang terakhir adalah function
deleteMahasiswa
yang berfungsi untuk menghapus data berdasarkan npm.
Berikutnya adalah codingan dibagian controller.
berikut penjelasan mengenai codingan diatas.
- function
__construct
berfungsi untuk meload model yang telah kita deklarasikan agar model tersebut dapat kita gunakan. - function
getMahasiswa
berfungsi untuk mengambil seluruh data mahasiswa berdasarkan page dan size yang akan di request oleh client. Hasil query tersebut akan di encode menjadi format JSON, bisa dilihat pada bagianjson_encode
. - function
saveMahasiswa
berfungsi untuk menyimpan data mahasiswa, data diambil dari response JSON, data yang berupa JSON di decode terlebih dahulu sehingga menjadi object array, lalu object array ini di kirim ke model untuk disimpan. Jika berhasil maka nanti akan muncul tampilan success tersimpan dalam bentuk format JSON. - function
updateMahasiswa
sama seperti function saveMahasiswa, hanya saja function ini memiliki sebuah parameter$npm
untuk memperbarui data. - function
deleteMahasiswa
hanya menerima parameter$npm
saja sehingga tidak ada JSON yang dikirim. Function ini berfungsi untuk menghapus data mahasiswa.
Tahap terakhir adalah melakukan konfigurasi routes, buka file routes.php
di dalam folder application/config
, berikut adalah codingannya.
Bisa dilihat bahwa kita melakukan custom terhadap URI tersebut, berikut penjelasannya.
api/mahasiswa/(:num)/(:num)[GET]
berfungsi untuk mengambil data mahasiswa melalui method GET pada protokol HTTP. jangan lupa bahwa URI ini mempunyai 2 parameter yaitu page dan size untuk melakukan paging data.api/mahasiswa[POST]
berfungsi untuk menyimpan data mahasiswa, disini penulis menggunakan method POST, data yang dikirim berupa JSON.api/mahasiswa/(:any)[PUT]
berfungsi untuk memperbarui data, karena memperbarui data, URI ini mempunyai sebuah parameternpm
, data yang dikirim dalam bentuk JSON dan menggunakan method PUT pada protokol HTTP.api/mahasiswa/(:any)[DELETE]
berfungsi untuk menghapus data mahasiswa menggunakan method DELETE pada protokol HTTP dan juga menggunakan parameter npm.
Uji Coba REST API
Akhirnya selesai juga :D, Yuks lakukan uji coba REST API dengan postman. Jalankan server PHP terlebih dahulu dengan cara, masuk ke folder root project dengan terminal lalu jalankan perintah
dan berikut adalah hasilnya.
Kemudian kita lakukan uji coba dengan menggunakan method POST untuk menyimpan data seperti berikut.
Berikut uji coba dengan menggunakan method GET untuk mengambil data
Berikut uji coba dengan menggunakan method PUT untuk memperbarui data.
Berikut uji coba dengan menggunakan method DELETE untuk menghapus data.
Sekian tutorial membuat REST API dengan codeigniter dan terima kasih :). Untuk source code lengkap, penulis publish di Belajar REST CodeIgniter.