Cara Membuat REST API di Framework CodeIgniter #6 : Hapus Data dari Database


Cara Membuat REST API di Framework CodeIgniter #6 : Hapus Data dari Database

Cara Membuat REST API di Framework CodeIgniter #6 : Hapus Data dari Database - Halo teman-teman semuanya, diartikel sebelumnya kita sudah berhasil mengupdate data ke database dengan REST API di Framework CodeIgniter.

Pada kesempatan kali ini kita semua akan belajar bagaimana cara membuat Hapus data dengan REST API di Framework CodeIgniter menggunakan method GET.

Langsung saja kita mulai, silahkan kalian buka controller Siswa.php di dalam folder application/controllers dan silahkan tambahkan fungsi dibawah ini :

/**
     * Delete Data Siswa
     */
    public function delete($id_siswa)
    {
        //get ID siswa from URL
        $id_siswa = $this->uri->segment(3);

        //delete data from model
        $delete = $this->M_siswa->delete_siswa($id_siswa);

        if($delete) {

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success' => true,
                    'message' => 'Data Berhasil Dihapus!'
                )
            );

        } else {

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success' => false,
                    'message' => 'Data Gagal Dihapus!'
                )
            );
        }

    }

Kode diatas digunakan untuk menghapus data siswa berdasarkan ID. jika diperhatikan pada kode dibawah ini :

//get ID siswa from URL
$id_siswa = $this->uri->segment(3);

Kode tersebut diguakan untuk medapatkan ID siswa dari URL dengan segment ke 3.

Jika controller Siswa.php ditulis lengkap, kurang lebih seperti berikut ini :

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

class Siswa extends CI_Controller {

    public function __construct() {
        parent::__construct();
        //load model
        $this->load->model('M_siswa');
        //load library form validasi
        $this->load->library('form_validation');
    }

    /**
     * Get All Data
     */
    public function index()
    {
        $siswa = $this->M_siswa->get_all();

        $response = array();

        foreach($siswa->result() as $hasil) {

            $response[] = array(
                'nama_siswa' => $hasil->nama_siswa,
                'alamat'     => $hasil->alamat         
            );

        }
        
        header('Content-Type: application/json');
        echo json_encode(
            array(
                'success' => true,
                'message' => 'Get All Data Siswa',
                'data'    => $response  
            )
        );

    }

    /**
     * Simpan Data
     */
    public function simpan()
    {
        //set validasi
        $this->form_validation->set_rules('nama_siswa','Nama Siswa','required');
        $this->form_validation->set_rules('alamat','Alamat Siswa','required');

        if($this->form_validation->run() == TRUE){

            $data = array(
                'nama_siswa' => $this->input->post("nama_siswa"),
                'alamat'     => $this->input->post("alamat"),
            );

            $simpan = $this->M_siswa->simpan_siswa($data);

            if($simpan) {

                header('Content-Type: application/json');
                echo json_encode(
                    array(
                        'success' => true,
                        'message' => 'Data Berhasil Disimpan!'
                    )
                );

            } else {

                header('Content-Type: application/json');
                echo json_encode(
                    array(
                        'success' => false,
                        'message' => 'Data Gagal Disimpan!'
                    )
                );
            }
            

        }else{

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success'    => false,
                    'message'    => validation_errors()
                )
            );

        }

    }

    /**
     * Detail Data Siswa
     */
    public function detail($id_siswa)
    {
        //get ID siswa from URL
        $id_siswa = $this->uri->segment(3);

        $siswa = $this->M_siswa->detail_siswa($id_siswa)->row();
     
        if($siswa) {

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success' => true,
                    'data'    => array(
                        'nama_siswa' => $siswa->nama_siswa,
                        'alamat'     => $siswa->alamat   
                    )  
                )
            );

        } else {

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success' => false,
                    'message' => 'Data Siswa Tidak Ditemukan!'
                )
            );

        }
        
    }

    /**
     * Update Data Siswa
     */
    public function update()
    {
        //set validasi
        $this->form_validation->set_rules('id_siswa','ID Siswa','required');
        $this->form_validation->set_rules('nama_siswa','Nama Siswa','required');
        $this->form_validation->set_rules('alamat','Alamat Siswa','required');

        if($this->form_validation->run() == TRUE){

            $id['id_siswa'] = $this->input->post("id_siswa");
            $data = array(
                'nama_siswa' => $this->input->post("nama_siswa"),
                'alamat'     => $this->input->post("alamat"),
            );

            $update = $this->M_siswa->update_siswa($data, $id);

            if($update) {

                header('Content-Type: application/json');
                echo json_encode(
                    array(
                        'success' => true,
                        'message' => 'Data Berhasil Diupdate!'
                    )
                );

            } else {

                header('Content-Type: application/json');
                echo json_encode(
                    array(
                        'success' => false,
                        'message' => 'Data Gagal Diupdate!'
                    )
                );
            }
            

        }else{

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success'    => false,
                    'message'    => validation_errors()
                )
            );

        }
    }

    /**
     * Delete Data Siswa
     */
    public function delete($id_siswa)
    {
        //get ID siswa from URL
        $id_siswa = $this->uri->segment(3);

        //delete data from model
        $delete = $this->M_siswa->delete_siswa($id_siswa);

        if($delete) {

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success' => true,
                    'message' => 'Data Berhasil Dihapus!'
                )
            );

        } else {

            header('Content-Type: application/json');
            echo json_encode(
                array(
                    'success' => false,
                    'message' => 'Data Gagal Dihapus!'
                )
            );
        }

    }

}

Sekarang kita juga akan menambahkan fungsi baru di dalam Model M_siswa.php, kurang lebih seperti berikut ini :

/**
     * Delete Data Siswa
     */
    public function delete_siswa($id_siswa)
    {
        $this->db->where('id_siswa', $id_siswa);
        $delete = $this->db->delete('tbl_siswa');

        if($delete) {
            return TRUE;
        } else {
            return FALSE;
        }

    }

Kode diatas menjalankan sebuah Query hapus data ke database berdasarkan ID siswa yang di kirim melalui controller.

Jika Models M_siswa.php ditulis lengkap, kurang lebih seperti berikut ini :

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

class M_siswa extends CI_Model {

    /**
     * Get All Data Siswa
     */
    public function get_all()
    {
        $this->db->select("*");
        $this->db->from("tbl_siswa");
        $this->db->order_by("id_siswa", "DESC");
        return $this->db->get();

    }

    /**
     * Simpan Data Siswa
     */
    public function simpan_siswa($data)
    {
        $simpan = $this->db->insert("tbl_siswa", $data);

        if($simpan) {
            return TRUE;
        } else {
            return FALSE;
        }

    }

     /**
     * Detail Data Siswa
     */
    public function detail_siswa($id_siswa)
    {
        $this->db->select("*");
        $this->db->from("tbl_siswa");
        $this->db->where("id_siswa", $id_siswa);
        return $this->db->get();

    }

    /**
     * Update Data Siswa
     */
    public function update_siswa($data, $id)
    {
        $update = $this->db->update("tbl_siswa", $data, $id);

        if($update) {
            return TRUE;
        } else {
            return FALSE;
        }

    }

    /**
     * Delete Data Siswa
     */
    public function delete_siswa($id_siswa)
    {
        $this->db->where('id_siswa', $id_siswa);
        $delete = $this->db->delete('tbl_siswa');

        if($delete) {
            return TRUE;
        } else {
            return FALSE;
        }

    }

}

Sekarang silahkan kalian jalankan http://localhost/api-codeigniter/index.php/siswa/delete/1 menggunakan Postman dengan Method GET.

Jika proses hapus berhasil, kalian akan mendapatkan sebuah hasil response kurang lebih seperti berikut ini :

{
    "success": true,
    "message": "Data Berhasil Dihapus!"
}

Sampai disini pembahasan tentang membuat hapus data dengan REST API di Framework CodeIgniter. Jika teman-teman mengalami kesulitan dan kendala selama belajar. Silahkan bisa bertanya melalui kolom komentar di setiap artikel. Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami