Wednesday, August 21, 2019

PROJECT DATABASE

PROJECT DATABASE

Ide Project:

Client akan mengakses/mengubah data absen (Get, Post, Put, Delete) ke server sebagai contoh penerapan REST pada Codeigniter. REST API server tersebut selanjutnya akan diuji menggunakan Postman yang merupakan aplikasi ekstensi/tambahan dari Google Chrome.


Software:

  • Postman
  • VSCode
  • XAMPP

Cara Kerja: 

  • Download folder ServerREST pada link https://github.com/ardisaurus/ci-restserver dan salin pada C:\xampp\htdocs
  • Buat database pada aplikasi VSCode dengan nama absen.php seperti dibawah ini dan simpan menggunakan nama db.sql dan masukan beberapa data. Replace file tersebut di C:\xampp\htdocs\serverREST
 CREATE DATABASE absen;
 USE absen;
 CREATE TABLE IF NOT EXISTS `murid` (
`no` int(11NOT NULL AUTO_INCREMENT,
`nama` varchar(50NOT NULL,
PRIMARY KEY (`no`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
 USE absen;
INSERT INTO `murid` (`no``nama`VALUES(1'Orion'),
(2'Mars'),
(7'Alpha');
  • Kemudian buat kode untuk memprogram fungsi (Get, Post, Put, Delete) untuk RestAPI. Simpan dengan nama Absen.php dan salin pada C:\xampp\htdocs\serverREST\application\controllers
    <?php

    defined('BASEPATH') OR exit('No direct script access allowed');

    require APPPATH . '/libraries/REST_Controller.php';
    use Restserver\Libraries\REST_Controller;

    class absen extends REST_Controller {

        function __construct($config = 'rest') {
            parent::__construct($config);
            $this->load->database();
        }

        //Menampilkan data absen
        function index_get() {
            $no = $this->get('no');
            if ($no == '') {
                $absen = $this->db->get('murid')->result();
            } else {
                $this->db->where('no'$no);
                $absen = $this->db->get('murid')->result();
            }
            $this->response($absen200);
        }
        //Masukan function selanjutnya disini

        //Mengirim atau menambah data absen baru
        function index_post() {
            $data = array(
                        'no'           => $this->post('no'),
                        'nama'          => $this->post('nama'));
            $insert = $this->db->insert('murid'$data);
            if ($insert) {
                $this->response($data200);
            } else {
                $this->response(array('status' => 'fail'502));
            }
        }

        //Masukan function selanjutnya disini

        //Memperbarui data absen yang telah ada
         function index_put() {
            $no = $this->put('no');
            $data = array(
                        'no'       => $this->put('no'),
                        'nama'          => $this->put('nama'));
            $this->db->where('no'$no);
            $update = $this->db->update('murid'$data);
            if ($update) {
                $this->response($data200);
            } else {
                $this->response(array('status' => 'fail'502));
            }
        }

        //Masukan function selanjutnya disini

        //Menghapus salah satu data murid
        function index_delete() {
            $no = $this->delete('no');
            $this->db->where('no'$no);
            $delete = $this->db->delete('murid');
            if ($delete) {
                $this->response(array('status' => 'success'), 201);
            } else {
                $this->response(array('status' => 'fail'502));
            }
        }
    }
    ?>

  • Buka database.sql dan ubah seperti dibawah ini pada C:\xampp\htdocs\serverREST\application\config
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    $active_group = 'default';
    $query_builder = TRUE;

    $db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'absen',
        '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
    );
  • Jika langkah 1-3 sudah dijalankan, buka softare XAMPP kemudian aktifkan Module Apache, MySQL, dan FileZilla.


2

  • Masukkan file db.sql yang telah dibuat tadi lalu klik Go.
  •  Jika sudah masuk ke software Postman untuk menguji apakah program sudah berjalan sesuai yang diinginkan. Caranya: masukan get dan isi kolom url (contoh: http://127.0.0.1/serverREST/index.php/absen/ ) lalu kirimkan. Jika sudah benar akan mendapat tampilan seperti di bawah ini.
    3