Sabtu, 23 Mei 2015

APLIKASI GIS GEOGRAPHIC INFORMATION SYSTEM BERBASIS WEB (codeigniter) bagian VI

Pada bagian ini, kita fokus pada function jembatan(). Isinya hampir sama dengan function jalan() yang kita bahas sebelumnya. langsung aja, bikin file jembatanform.php di dalam folder 'view/admin'.

Script jembatanform.php.


<form action="<?php echo site_url('admin/createjembatan') ?>" method="POST">
 <table>
  <tr>
   <td><label for="namajembatan">Nama jembatan</label></td>
   <td><input type="text" name="namajembatan"></td>
  </tr>
  <tr>
   <td><label for="keterangan">Keterangan</label></td>
   <td><textarea name="keterangan" id="keterangan" cols="30" rows="10"></textarea></td>
  </tr>
  <tr>
   <td><input type="submit" value="simpan"></td>
  </tr>
 </table>
</form>
<?php if ($itemjembatan->num_rows()!=null) {
 $no = 1;
 echo "<table>";
 echo "<th>No</th>";
 echo "<th>Nama jembatan</th>";
 echo "<th>Keterangan</th>";
 foreach ($itemjembatan->result() as $jembatan) {
  echo "<tr>";
  echo "<td>".$no++."</td>";
  echo "<td>".$jembatan->namajembatan."</td>";
  echo "<td>".$jembatan->keterangan."</td>";
  echo "<td><a href='".site_url('admin/editjembatan')."/".$jembatan->id_jembatan."'>edit</a>";
  echo " <a href='".site_url('admin/deletejembatan')."/".$jembatan->id_jembatan."'>delete</a></td>";
  echo "</tr>";
 }
 echo "</table>";
} ?>

Selanjutnya kita coba dengan membuka di browser dengan alamat "http://localhost/simplegis/index.php/admin/jembatan".

Bersambung ke bagian selanjutnya, bikin form untuk mengambil latitude dan longitude dari google map.

APLIKASI GIS GEOGRAPHIC INFORMATION SYSTEM BERBASIS WEB (codeigniter) bagian V

Postingan pindah ke www.fadlur.com
Pada bagian kelima ini kita akan fokus pada CRUD bagian jalan. pertama kita liat function jalan().
public function jalan(){
  $data = array('content' => 'admin/jalanform',
   'itemjalan'=>$this->model_jalan->getAll());
  $this->load->view('templates/template', $data, FALSE);
 }

Di dalam function jalan() ada array bernama "$data", di dalam array terdapat 'content' dan 'itemjalan'.

Content adalah variable yang akan kita gunakan untuk memanggil view (bagian dari MVC). View adalah bagian yang akan dilihat oleh pengunjung website. Di aplikasi gis ini, kita akan membuat 3 folder di dalam view yaitu folder "admin", "home", "templates". Folder admin akan kita gunakan untuk menampung file view yang akan kita panggil menggunakan Controller admin, sedangkan folder templates akan digunakan sebagai tempat menampung file header.php, footer.php dan template.php

Pertama kita akan membuat 3 file di dalam folder templates dulu, header.php, footer.php dan template.php.

Isi file header.php

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Simple Gis</title>
</head>
<body>
 <table>
  <tr>
   <td><a href='<?php echo site_url("admin/jalan") ?>'>jalan</a></td>
   <td><a href='<?php echo site_url("admin/jembatan") ?>'>jembatan</a></td>
  </tr>
 </table>
<!--content-->

File view yang kita buat cukup sederhana, cukup menggunakan table untuk layout tampilan.

selajutnya adalah file footer.php

<!--end content-->
</body>
</html>

Dan terakhir adalah template.php


<?php
 $this->load->view('templates/header');
 $this->load->view($content);
 $this->load->view('templates/footer');
?>


Balik lagi ke function jalan(), intinya di dalam function jalan, kita hanya akan memanggil view dengan nama jalanform.php di dalam folder admin. Selain itu kita juga memasukkan seluruh data table jalan dengan nama variable, "itemjalan".

Script jalanform.php.

<form action="<?php echo site_url('admin/createjalan') ?>" method="POST">
 <table>
  <tr>
   <td><label for="namajalan">Nama Jalan</label></td>
   <td><input type="text" name="namajalan"></td>
  </tr>
  <tr>
   <td><label for="keterangan">Keterangan</label></td>
   <td><textarea name="keterangan" id="keterangan" cols="30" rows="10"></textarea></td>
  </tr>
  <tr>
   <td><input type="submit" value="simpan"></td>
  </tr>
 </table>
</form>
<?php if ($itemjalan->num_rows()!=null) {
 $no = 1;
 echo "<table>";
 echo "<th>No</th>";
 echo "<th>Nama Jalan</th>";
 echo "<th>Keterangan</th>";
 foreach ($itemjalan->result() as $jalan) {
  echo "<tr>";
  echo "<td>".$no++."</td>";
  echo "<td>".$jalan->namajalan."</td>";
  echo "<td>".$jalan->keterangan."</td>";
  echo "<td><a href='".site_url('admin/editjalan')."/".$jalan->id_jalan."'>edit</a>";
  echo " <a href='".site_url('admin/deletejalan')."/".$jalan->id_jalan."'>delete</a></td>";
  echo "</tr>";
 }
 echo "</table>";
} ?>

Sekarang coba panggil dengan browser "http://localhost/simplegis/index.php/admin/jalan".

Bersambung ke bagian CRUD jembatan.

Jumat, 22 Mei 2015

APLIKASI GIS GEOGRAPHIC INFORMATION SYSTEM BERBASIS WEB (codeigniter) bagian IV

Postingan pindah ke www.fadlur.com

Pada bagian keempat ini, bagian yang akan kita buat adalah bagian controller. Controller di Codeigniter adalah sebuah class yang berisi function yang digunakan sebagai alamat uri. Kurang lebih seperti itu. lebih jelasnya baca sendiri di user_guide di dalam folder codeigniter hasil download.

Controller yang akan kita buat pertama kali adalah controller dengan nama admin.php. Buat file ini di folder Application/controller dengan nama admin.php. Agar tidak membingungkan pada tahap awal, file admin.php akan kita isi sebagai function yang kita gunakan sebagai CRUD (Create, Read, Update dan Delete) data jalan dan jembatan.

Isi file admin.php adalah sebagai berikut :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Admin extends CI_Controller {

 public function __construct()
 {
  parent::__construct();
  $this->load->model('model_jalan');
  $this->load->model('model_jembatan');
  $this->load->model('model_koordinatjalan');
  $this->load->model('model_koordinatjembatan');
 }
 public function index()
 {
  $this->jalan();
 }
 //crud jalan
 public function jalan(){
  $data = array('content' => 'admin/jalanform',
   'itemjalan'=>$this->model_jalan->getAll());
  $this->load->view('templates/template', $data, FALSE);
 }
 public function createjalan(){
  if ($this->model_jalan->create()) {
   redirect('admin/jalan');
  }else{
   redirect('admin/jalan');
  }
 }
 public function editjalan(){
  $data = array('content' => 'admin/editjalanform',
   'itemjalan'=>$this->model_jalan->read($this->uri->segment(3)));
  $this->load->view('templates/template', $data, FALSE);
 }
 public function updatejalan(){
  if ($this->model_jalan->update()) {
   redirect('admin/jalan');
  }else{
   redirect('admin/jalan');
  }
 }
 public function deletejalan(){
  if ($this->model_jalan->delete()) {
   redirect('admin/jalan');
  }else{
   redirect('admin/jalan');
  }
 }
 //end crud jalan
 //crud jembatan
 public function jembatan(){
  $data = array('content' => 'admin/jembatanform',
   'itemjembatan'=>$this->model_jembatan->getAll());
  $this->load->view('templates/template', $data, FALSE);
 }
 public function createjembatan(){
  if ($this->model_jembatan->create()) {
   redirect('admin/jembatan');
  }else{
   redirect('admin/jembatan');
  }
 }
 public function editjembatan(){
  $data = array('content' => 'admin/editjembatanform',
   'itemjembatan'=>$this->model_jembatan->read($this->uri->segment(3)));
  $this->load->view('templates/template', $data, FALSE);
 }
 public function updatejembatan(){
  if ($this->model_jembatan->update()) {
   redirect('admin/jembatan');
  }else{
   redirect('admin/jembatan');
  }
 }
 public function deletejembatan(){
  if ($this->model_jembatan->delete()) {
   redirect('admin/jembatan');
  }else{
   redirect('admin/jembatan');
  }
 }
 //end crud jembatan

}

/* End of file admin.php */
/* Location: ./application/controllers/admin.php */

setelah file admin.php kita buat, selanjutnya akan kita bedah satu-satu dari masing-masing function. Pada bagian pertama adalah CRUD untuk jalan. Untuk CRUD jalan terdiri dari 5 function yaitu, public function jalan(), public function createjalan(), public function editjalan(), public function updatejalan(), public function deletejalan().

Sedangkan pada bagian kedua, adalah CRUD untuk jembatan. Untuk CRUD jembatan juga terdiri dari 5 function yaitu,  public function jembatan(), public function createjembatan(), public function editjembatan(), public function updatejembatan(), public function deletejembatan().

Penjelasan masing-masing function akan kita bahas di bagian selanjutnya, terima kasih. semoga bermanfaat dan berkah. :D