Aplikasi GIS Geographic Information system berbasis web (codeigniter) – bagian III

Pada bagian ketiga ini akan kita akan membuat model untuk masing-masing table pada database simplegis.

model adalah “class” yang akan kita buat untuk transaksi dengan masing-masing table pada database. Pada database simplegis ada 5 table, yaitu table tbl_jembatan, tbl_jalan, tbl_koordinatjalan,tbl_koordinatjembatan, dan juga table tbl_user. Tapi kita hanya akan membuat 4 model saja untuk tabel tbl_jalan, tbl_jembatan, tbl_koordinatjalan, dan tbl_koordinatjembatan. Sedangkan tbl_user kedepannya akan kita ganti dengan tabel dari Ion auth library untuk sistem loginnya.

pertama kita akan membuat model untuk table user. prinsipnya adalah kita membuat untuk transaksi CRUD (CREATE, READ, UPDATE, DELETE). Scriptnya adalah sebagai berikut :

Sebelumnya, kita buat semua file model di folder /application/model.
Pertama-tama kita akan membuat model untuk table tbl_jalan,nama filenya kita kasih nama Model_jalan.php, jangan lupa nama file harus huruf besar.

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

class Model_jalan extends CI_Model{

    public function create(){
        $data = array('namajalan' => $this->input->post('namajalan'),
        'keterangan'=>$this->input->post('keterangan'));
        $query = $this->db->insert('tbl_jalan', $data);
        return $query;
    }
    public function getAll(){
        $query = $this->db->get('tbl_jalan');
        return $query;
    }
    public function read($id){
        $this->db->where('id_jalan', $id);
        $query = $this->db->get('tbl_jalan');
        return $query;
    }
    public function delete($id){
        $this->db->where('id_jalan', $id);
        $query = $this->db->delete('tbl_jalan');
        return $query;
    }
    public function update($id){
        $data = array('namajalan' => $this->input->post('namajalan'),
        'keterangan'=>$this->input->post('keterangan'));
        $this->db->where('id_jalan', $id);
        $query = $this->db->update('tbl_jalan', $data);
        return $query;
    }

}

selanjutnya adalah model untuk table tbl_jembatan, kita kasih nama Model_jembatan.php, Scriptnya adalah sebagai berikut :

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

class Model_jembatan extends CI_Model{

    public function create(){
        $data = array('namajembatan' => $this->input->post('namajembatan'),
        'keterangan'=>$this->input->post('keterangan'));
        $query = $this->db->insert('tbl_jembatan', $data);
        return $query;
    }
    public function getAll(){
        $query = $this->db->get('tbl_jembatan');
        return $query;
    }
    public function read($id){
        $this->db->where('id_jembatan', $id);
        $query = $this->db->get('tbl_jembatan');
        return $query;
    }
    public function delete($id){
        $this->db->where('id_jembatan', $id);
        $query = $this->db->delete('tbl_jembatan');
        return $query;
    }
    public function update($id){
        $data = array('namajembatan' => $this->input->post('namajembatan'),
        'keterangan'=>$this->input->post('keterangan'));
        $this->db->where('id_jembatan', $id);
        $query = $this->db->update('tbl_jembatan', $data);
        return $query;
    }

}

Selanjutnya kita akan membuat model untuk table tbl_koordinatjalan, filenya kita kasih nama Model_koordinatjalan.php. Scriptnya adalah sebagai berikut :

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

class Model_koordinatjalan extends CI_Model{

    public function create($jalan,$latitude,$longitude){
        $data = array('jalan_id' => $jalan,
        'latitude'=>$latitude,
        'longitude'=>$longitude);
        $query = $this->db->insert('tbl_koordinatjalan', $data);
        return $query;
    }
    public function getAll(){
        $this->db->select('*');//kita akan mengambil semua data
        $this->db->from('tbl_koordinatjalan');
        $this->db->join('tbl_jalan', 'tbl_jalan.id_jalan = tbl_koordinatjalan.jalan_id');//kita join tbl jalan dengan foreign key jalan_id
        $query = $this->db->get();
        return $query;
    }
    public function read($id){
        $this->db->select('*');//kita akan mengambil semua data
        $this->db->from('tbl_koordinatjalan');
        $this->db->join('tbl_jalan', 'tbl_jalan.id_jalan = tbl_koordinatjalan.jalan_id');//kita join tbl jalan dengan foreign key jalan_id
        $this->db->where('id_koordinatjalan', $id);
        $query = $this->db->get();
        return $query;
    }
    public function update($jalan,$latitude,$longitude,$id){
        $data = array('jalan_id' => $jalan,
        'latitude'=>$latitude,
        'longitude'=>$longitude);
        $this->db->where('id_koordinatjalan', $id);
        $query = $this->db->update('tbl_koordinatjalan',$data);
        return $query;
    }
    public function delete($id){
        $this->db->where('id_koordinatjalan', $id);
        $query = $this->db->delete('tbl_koordinatjalan');
        return $query;
    }

}

Terakhir kita akan membuat model table tbl_koordinatjembatan, kita kasih nama Model_koordinatjembatan.php. Scriptnya adalah sebagai berikut :

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

class Model_koordinatjembatan extends CI_Model{

    public function create($jembatan,$latitude,$longitude){
        $data = array('jembatan_id' => $jembatan,
        'latitude'=>$latitude,
        'longitude'=>$longitude);
        $query = $this->db->insert('tbl_koordinatjembatan', $data);
        return $query;
    }
    public function getAll(){
        $this->db->select('*');//kita akan mengambil semua data
        $this->db->from('tbl_koordinatjembatan');
        $this->db->join('tbl_jembatan', 'tbl_jembatan.id_jembatan = tbl_koordinatjembatan.jembatan_id');//kita join tbl jembatan dengan foreign key jembatan_id
        $query = $this->db->get();
        return $query;
    }
    public function read($id){
        $this->db->select('*');//kita akan mengambil semua data
        $this->db->from('tbl_koordinatjembatan');
        $this->db->join('tbl_jembatan', 'tbl_jembatan.id_jembatan = tbl_koordinatjembatan.jembatan_id');//kita join tbl jembatan dengan foreign key jembatan_id
        $this->db->where('id_koordinatjembatan', $id);
        $query = $this->db->get();
        return $query;
    }
    public function update($jembatan,$latitude,$longitude,$id){
        $data = array('jembatan_id' => $jembatan,
        'latitude'=>$latitude,
        'longitude'=>$longitude);
        $this->db->where('id_koordinatjembatan', $id);
        $query = $this->db->update('tbl_koordinatjembatan',$data);
        return $query;
    }
    public function delete($id){
        $this->db->where('id_koordinatjembatan', $id);
        $query = $this->db->delete('tbl_koordinatjembatan');
        return $query;
    }

}

Cukup sekian pada bagian ketiga ini, selanjutnya kita akan membahas tentang Controller. πŸ˜€

1 thought on “Aplikasi GIS Geographic Information system berbasis web (codeigniter) – bagian III

  1. Pingback: Aplikasi GIS Geographic Information system berbasis web (codeigniter) – bagian III – Kodingan

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.