BELAJAR MEMBUAT REST API MENGGUNAKAN CODEIGNITER


Assalamualaiku wr.wb

Saya ingin mengajarkan cara membuat rest api menggunakan codeigniter, sebelum itu saya mau jelasin dulu nih... BUDYAKAN MEMBACA YA!

API
Application Programming Interface (API) adalah sebuah teknologi untuk memfasilitasi pertukaran informasi atau data antara dua atau lebih aplikasi perangkat lunak. API adalah antarmuka virtual antara dua fungsi perangkat lunak yang saling bekerja sama, seperti antara sebuah word processor dan spreadsheet. Sebuah API mendefinisikan bagaimana cara programmer memanfaatkan suatu fitur tertentu dari sebuah komputer. API tersedia untuk sistem windowing, sistem file, sistem basis data dan sistem jaringan.

CODEIGNITER
Codeigniter merupakan aplikasi sumber terbuka yang berupa framework PHP dengan model MVC(Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP.

Nahh sekarang kita lanjut belajar membuatnya nih.

#LANGKAH PERTAMA
Sebelumnya anda harus mempunyai aplikasi Xampp terlebih dahulu, jika sudah kita akan mulai tahapan menginstal codeigniter.

1.    Download Codeigniter-3.1.0.zip.
2.    Kemudian extrack file Codeigniter.
3.    Setelah itu rename folder Codeigniter-3.1.0 menjadi rest_server.
4.    Pindahkan folder tersebut ke folder C:\xampp\htdogs.
5.    Lalu buka web browser anda dan masukkan http://localhost/rest_server/ maka akan muncul seperti ini :


Tahap berikutnya melakukan konfigurasi dasar, silahkan buka file config.php yang ada di dalam folder application/config/config.php menggunakan aplikasi sublime, silahkan cari script berikut ini :

$config[‘base_url’] – ‘’;

Dan diubah menjadi seperti ini :

$config[‘base_url’] – ‘http://localhost/rest_server/’;

#LANGKAH KEDUA
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 :

CREATE TABLE ‘jurusan’ (
‘id_jurusan’ int(11) NOT NULL AUTO_INCREMENT,
‘nama_jurusan’ varchar(50) NOT NULL,
PRIMARY KEY (‘id_juruan’)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

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 KETIGA
Agar bias menampilkan data maka kita akan butuh beberapa data dummy yang akan kita gunakan.

INSERT INTO ‘jurusan’ VALUES (1,‘TEKNIK INFORMATIKA’),(2,‘REKADEMIS’);
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');

Sekarang konfigurasi untuk koneksi ke database, silahkan buka file database.php yang ada di dalam folder application/config/database.php lalu sesuaikan dengan settingan web server anda :

$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
);

Selanjutnya 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 KEEMPAT
Sekarang kita masuk ke instalasi library codeigniter-restserver dengan codeigniter :

1.      Download library codeigniter-restserver
2.      Extrack dan copy folder application ke dalam C:\xampp\htdogs\rest_server.
3.      Kalau ada permintaan untuk mereplace file maka pilih yes saja.
4.      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 pengolahan data dari table mahasiswa, berikut ini scriptnya :

<?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 KELIMA
Jalankan di browser anda http://localhost/rest_server/index.php/Mahasiswa maka akan muncul seperti ini.


Kemudian sekarang jalankan menggunakan Postman, seperti ini hasilnya.



Sekian dari saya kurang lebihnya mohon maaf, semoga bermanfaat untuk para pembaca.
Terima Kasih (:

Komentar

Postingan populer dari blog ini

Tutorial Layout Buku Tabungan Menggunakan Android Studio

Use Case Diagram

Pengertian Basis Data