Senin, 27 Agustus 2018

Cara membuat REST API dengan codeigniter

Assalamualaikum :)

Apa kabar kalian yang sedang membaca ? semoga sehat selalu ya :)

langsung saja ya. Disini saya akan membagikan sedikit ilmu yaitu cara membuat Rest API dengan Codeigniter dan postman. Sebelum masuk langkah pertama lebih baik kalian menginstal Codeigniter dan postmannya.
Berikut Linknya :

Jika kedua nya sudah terinstal sekarang kita masuk ke bagian konfigurasi codeigniternya dulu.
buka file yang barusan di download lalu extrack. Jika sudah di extrack ubah nama filenya menjadi rest_server, Lalu pindahkan file tersebut kedalam C:\xampp\htdocs. bagi yang belum ada xamppnya harap di install terlebih dahulu. 

Jika sudah ada xampp coba di cek versi phpnya bila di bawah 5.4 silahkan di upgrade karena jika tidak tutor ini menjadi sia sia hehehe...

kita lanjut

Buka file tersebut di editor kalian kalau saya menggunakan sublime jika sudah klik folder application/config/config.php 
sudah ketemukan ? kalau sudah ubah base_urlnya seperti ini


jika sudah kita buat databasenya di phpmyadmin
nyalakan xampp kalian, dan start action pada mysql dan apache
jika sudah buka browser anda lalu ketik Localhost/phpmyadmin atau klik button admin pada xampp
nah selanjutnya buat database dengan nama 'pelajar' dan table dengan nama 'murid' dan 'jurusan'.


berikut isi dari table jurusan dan murid




Apabila tablenya sudah jadi selanjutnya buat data dummynya di setiap table tersebut
caranya kalian lihat ada button Tambahkan. klik lalu isi dah datanya sesuka kalian.

Kalau sudah kita akan menjodohkan asekk wkwk 
menghubungkan databasenya :D

buka file config/database.php dan ubah seperti ini


sudahh sekarang databasenya sudah saling berhubungan wkwkwk

ehh iya ada satu langkah lagi agar databasenya bisa di kelola kita harus mengisi libraries yang kosong. dia terdapat pada file autoload.php yang sama-sama berada pada file application/config/autoload.php

ubah seperti in yaa :D

nah jika sudah selanjutnya kita harus menginstal librarynya agar kalian bisa mengimplementasikan restfull di framework ini.

caranya download dulu librarynya di codeigniter-restserver
kalau sudah sama seperti cara sebelumnya extrack lalu copy ke file rest_server  yang berada di htdocs, jangan hapus file sebelumnya replace saja.

jika sudah kita akan membuat controller dengan nama murid.php
lalu ikuti code berikut kalau bisa jangan di copas budayakan ketik wkwkw

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

use restserver\libraries\REST_Controller;
/**
*/
class Murid extends REST_Controller
{
function __construct($config = 'rest') {
        parent::__construct($config);
    }

    // show data mahasiswa
    function index_get() {
        $nim = $this->get('nim');
        if ($nim == '') {
            $murid = $this->db->get('murid')->result();
        } else {
            $this->db->where('nim', $nim);
            $murid = $this->db->get('murid')->result();
        }
        $this->response($murid, 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('murid', $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('murid', $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('murid');
        if ($delete) {
            $this->response(array('status' => 'success'), 201);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }
}


wahh banyak sekali kodenya ya wkwkw tapi ingat itu bukan untuk gebetan kalian hehehe... (receh ya)

Nah jika sudah kita coba buka di browser kalian dan ketikan http://localhost/rest_server/index.php/Murid maka akan muncul data dari database yang kalian isi sebelumnya. 

selanjutnya kita akan mencoba menggunakan plugin postman yang sudah di download dan install pastinya. Buka postman kalian lalu sign dan kalau sudah akan muncul tampilan homenya.

nahh sekarang kita akan tampilkan data dummynya pada postman copy url yang tadi lalu klik send dan jangan ubah method GET nya. maka akan muncul seperti di gambar

waaahh datanya sudah berhasil muncul :) 
jangan senang dulu masih ada insert,update, dan delete yang  wajib di pelajari

sekarang kita akan mencoba insert data di postman 
di sebelah kiri tempat kita memasukan link ada button yang bertuliskan "GET"
nah itu nama nya method.

kita ubah method GET tersebut menjadi POST karena kita akan menambahkan data yang di inginkan 
jika sudah klik params lalu ada button kecil yang muncul yang bertuliskan BODY, kalau sudah di klik akan muncul beberapa pilihan dan yang kita pilih itu x-www-form-urlencoded. 
nah ketika diklik akan muncul table yang kita isi dengan data yang kita cari.
isi table itu seperti pada gambar berikut

jika sudah diisi klik send dan di bawahnya akan muncul data yang telah di tambahkan.
biasakan klik SEND jika mengganti methodnya.
ketika di ubah menjadi method GET maka data yang sudah di tambahkan akan muncul.

Insert berhasil selanjutannya adalah UPDATE

sama seperti cara sebelumnya ubah method menjadi PUT lalu isi table bodynya sesuai dengan yang ada di data, lalu kalian ubah atau bisa kalian tambahkan di bagian nama atau alamat sesuai kemauan anda. kalau saya hanya menambahkan namanya saja 


klik SEND jangan lupa wkkw...
Yeyyy berhasill... data kalian telah terupdate.


wahhh sudah pusing blum ? belum lah baru bikin ginian wkkw
selanjutnya kalian bisa ke kamar mandi dlu, makan , minum air putih sih yang lebih penting. takutnya pas lagi ngoding dehidrasi kan trus pingsan di depan laptop yang masih menyala kan bahaya buat si laptop wkwkwk.. (garing pasti wkwk)

Serius nih hehehe kita akan membuat DELETEnyaa huuu... di delete mulu kaya wa mantan wkwkwk...

nahh selanjutnya kita ubah dulu method nya menjadi DELETE
klik parameternya atau tulisannya params

kita ketik data NIM nya saja, 

jika sudah klik SEND dan akan muncul seperti ini



dan data yang di pilih tadi pun menghilang :)


cara delete itu bisa anda praktekan kepada mantan anda insyaallah akan berhasil wkkw..

IYAPPSSSS... selesaaiii....

Mungkin hanya segitu saja materi dan bercandaan yang dapat saya sampaikan hehehe..
mohon maaf bisa ada kesalahan, dan harap tulis di koment kesalahan atau pertanyaan yang ingin di ucapkan. jangan ragu karena hanya keraguan yang menghambat kamu mendekati seseorang yang kamu suka hehehe..

oke sampai disini dulu yaaa :)

sampai bertemu di blog selanjutnya
Wassalam.