Friday, January 23, 2015

Jepretcode: Codeigniter Menghitung Jumlah Record dan Row Tiga Tabel

Codeigniter Menghitung Jumlah Record dan Row Tiga Tabel

Codeigniter bagaimana cara menghitung jumlah record dan row pada satu atau 2 atau 3 tabel. Sebagai contoh data sebuah provinsi lalu bagaimana menghitung jumlah kabupaten, jumlah kecamatan dan jumlah kelurahan didalam suatu provinsi tersebut, menghitung jumlah row atau record pada suatu tabel diperlukan untuk sebuah laporan tabel yang dikombinasikan dengan pagination. Seperti yang dilihat digambar menjelaskan bahwa terdapat 2 kabupaten dan 3 kecamatan serta 4 kelurahan yang ada didalam provinsi Riau

Berikut saya memberikan beberapa penjelasan dengan mengikuti dahulu contoh yang saya buat dibawah ini, dengan mengikuti contoh yang saya buat dibawah ini akan memberikan petunjuk penggunaan seperti menghitung record dari satu, dua, dan tiga tabel sekaligus dan dapat digunakan dalam keperluan laporan tabel yang akan anda buat sehingga Anda dapat memahaminya. Lalu apa saja yang ada didalam contoh yang dibuat dibawah ini.
  1. Codeiginter - Menghitung jumlah record atau row kabupaten, kecamatan dan kelurahan dalam suatu tabel provinsi
  2. Codeigniter - Cara Input, Edit, dan Hapus data provinsi, kabupaten, kecamatan, dan kelurahan
  3. Codeigniter - Mengambil id tertinggi atau max_id atau max_kode baik dari provinsi, kabupaten, kecamatan dan kelurahan.
  4. Codeigniter - Membuat Pagination untuk memudahkan dalam tampilan sehingga tidak memanjang kebawah.
  5. dan beberapa petunjuk lainnya yang dapat digunakan untuk keperluan database anda seperti menghitung jumlah mahasiswa yang masuk pada tahun sebelumnya.
Baiklah untuk melihat hasil yang saya buat sebagai contoh lakukan langkah-langkah membuat atau menghitung jumlah record dan row pada suatu tabel dan beberapa tabel, berikut ini:

- Langkah Pertama

Buatlah sebuah database dengan nama db_provinsi dan buatlah tabel didalam database dengan nama berikut dan untuk isi masing-masing tabel lihat kode dibawahnya.
  • Tabel provinsi,
  • Tabel kabupaten,
  • Tabel kecamatan,
  • Tabel kelurahan.
CREATE TABLE IF NOT EXISTS `provinsi` (
  `id_provinsi` varchar(6) NOT NULL,
  `nama_provinsi` varchar(25) NOT NULL,
  `ibukota_prov` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `kabupaten` (
  `id_kab` varchar(7) NOT NULL,
  `id_prov` varchar(6) NOT NULL,
  `nama_kabupaten` varchar(100) NOT NULL,
  `pusat_pemerintahan` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `kecamatan` (
  `id_kecamatan` varchar(8) NOT NULL,
  `id_kab` varchar(7) NOT NULL,
  `id_prov` varchar(6) NOT NULL,
  `nama_kecamatan` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `kelurahan` (
  `id_kelurahan` varchar(10) NOT NULL,
  `id_kecamatan` varchar(8) NOT NULL,
  `id_kab` varchar(7) NOT NULL,
  `id_prov` varchar(6) NOT NULL,
  `nama_kelurahan` varchar(100) NOT NULL,
  `kode_pos_kel` int(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

- Langkah kedua

Download codeigniter ver 2.2.0 karena saya menggunakannya versi yang itu, dan aktifkan dilocalhost Anda, dan buatlah folder dengan nama indonesia, saya juga menganggap anda sudah mengerti penempatan dan membuat folder didalam localhost.

- Langkah ketiga

Sebelum melakukan langkah ketiga ini bukalah database.php yang ada didalam folder application\config\ dan isilah username dan password mysql anda dan isilah database sesuai dengan nama database yang kita buat tadi yaitu db_provinsi.

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';

Menjadi

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'mysql';
$db['default']['database'] = 'db_provinsi';


Buatlah sebuah controller dengan nama wilayah.php didalam folder application\controllers\ lalu isi kode berikut dan copy kedalam file wilayah.php

<?php

class Wilayah extends CI_Controller{
 
 public function __construct(){
  parent::__construct();
  $this->load->model('model_wilayah');
 }
 
 public function index(){
  redirect('wilayah/provinsi');
 }
 
 //MODUL PROVINSI
 public function provinsi(){  
  if($this->uri->segment(3)==""){
   $offset=0;
  }else{
   $offset=$this->uri->segment(3);
  }
  $limit = 10;
  $data['provinsi'] = $this->model_wilayah->Lihat_Provinsi($offset, $limit);
  $data['jumlah_provinsi'] = $this->model_wilayah->jumlah_Provinsi(); 
  $data['jumlah_kabupaten'] = $this->model_wilayah->jumlah_Kabupaten();
  $data['jumlah_kecamatan'] = $this->model_wilayah->jumlah_Kecamatan();
  $data['jumlah_kelurahan'] = $this->model_wilayah->jumlah_Kelurahan();
  $config = array();
  $config['base_url'] = base_url(). 'wilayah/provinsi/';
  $config['per_page'] = $limit;
  $config['uri_segment'] = 3;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['jumlah_provinsi'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(3));
   $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function tambah_provinsi(){
  $data['kode_provinsi'] = $this->model_wilayah->Ambil_Kode_provinsi();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/tambah_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_tambah_provinsi(){ 
 $data['kode_provinsi'] = $this->model_wilayah->Ambil_Kode_provinsi();
 $this->form_validation->set_rules('nama_provinsi','Nama Provinsi', 'required|xss_clean|max_length[100]|trim|strip_tags');
 $this->form_validation->set_rules('ibukota_provinsi','Ibukota Provinsi', 'required|xss_clean|trim|strip_tags');
 if($this->form_validation->run() == TRUE){
   $input_id_provinsi = $this->input->post('id_provinsi');
   $input_nama_provinsi = $this->input->post('nama_provinsi');
   $input_ibukota_provinsi = $this->input->post('ibukota_provinsi');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_provinsi = str_replace($ganti, $oleh, $input_id_provinsi);
   $nama_provinsi = str_replace($ganti, $oleh, $input_nama_provinsi);
   $ibukota_provinsi = str_replace($ganti, $oleh, $input_ibukota_provinsi);
   $this->model_wilayah->Tambah_Provinsi($id_provinsi, $nama_provinsi, $ibukota_provinsi);   
   $this->session->set_flashdata('info', "Provinsi berhasil ditambahkan.");
   redirect('wilayah/provinsi');
 }
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/tambah_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function edit_provinsi($id_provinsi){
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/edit_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_provinsi(){
 $this->form_validation->set_rules('id_provinsi','Kode Provinsi');
 $this->form_validation->set_rules('nama_provinsi','Nama Provinsi', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_provinsi= $this->input->post('id_provinsi');
   $input_nama_provinsi= $this->input->post('nama_provinsi');
   $input_ibukota_prov= $this->input->post('ibukota_prov');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_provinsi = str_replace($ganti, $oleh, $input_id_provinsi);
   $nama_provinsi = str_replace($ganti, $oleh, $input_nama_provinsi);
   $ibukota_provinsi = str_replace($ganti, $oleh, $input_ibukota_prov);
   $this->model_wilayah->update_Provinsi($id_provinsi, $nama_provinsi, $ibukota_provinsi);   
   $this->session->set_flashdata('info', "Provinsi berhasil diubah, gambar diubah.");
   redirect('wilayah/provinsi');   
  }  
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/edit_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_provinsi($id_provinsi){
  //$query = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();      
  $this->model_wilayah->hapus_provinsi($id_provinsi);
  $this->session->set_flashdata('info', "Provinsi berhasil dihapus.");
  redirect('wilayah/provinsi');
 }
 
 public function hapus_contact($id){
  $this->modeladmin->hapus_contact($id);
  $this->session->set_flashdata('info', "Contact berhasil dihapus.");
  redirect('administrator/contact_us');
 }
 
 //END MODUL PROVINSI 
 
 //MODUL KABUPATEN 
 
 public function lihat_kabupaten($id_provinsi, $offset=0, $limit = 10) {
 $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
 $data['hitung_kabupaten_provinsi'] = $this->model_wilayah->Hitung_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi);
 $data['daftar_kabupaten'] = $this->model_wilayah->Ambil_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kabupaten/'.$id_provinsi.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kabupaten_provinsi'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/lihat_kabupaten', $data);
  $this->load->view('template/admin/footer');
  }
 
 public function tambah_kabupaten($id_provinsi){
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $data['kode_kab'] = $this->model_wilayah->Ambil_Kode_Kabupaten();
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/tambah_kabupaten', $data);
  $this->load->view('template/admin/footer');
 } 
 
 public function submit_tambah_kabupaten(){ 
 $this->form_validation->set_rules('id_provinsi','Kode Provinsi');
 $data['kode_kab'] = $this->model_wilayah->Ambil_Kode_Kabupaten();
 $this->form_validation->set_rules('nama_kabupaten','Nama Kabupaten', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){    
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kabupaten= $this->input->post('nama_kabupaten');
   $input_pusat_pemerintahan= $this->input->post('pusat_pemerintahan');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kabupaten = str_replace($ganti, $oleh, $input_nama_kabupaten);
   $pusat_pemerintahan = str_replace($ganti, $oleh, $input_pusat_pemerintahan);   
   $this->model_wilayah->Input_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan);   
   $this->session->set_flashdata('info', "Kabupaten berhasil ditambahkan.");
   redirect('wilayah/lihat_kabupaten/'.$id_prov);
  }  
  $id_provinsi = $this->input->post('id_prov');
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/tambah_kabupaten', $data);
  $this->load->view('template/admin/footer');
 }

 public function edit_kabupaten($id_kab){
  $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/edit_kabupaten', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_kabupaten(){
 $id_kab = $this->input->post('id_kab');
 $this->form_validation->set_rules('id_kab','Kode Kabupaten');
 $this->form_validation->set_rules('nama_kabupaten','Nama Kabupaten', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kabupaten= $this->input->post('nama_kabupaten');
   $input_pusat_pemerintahan= $this->input->post('pusat_pemerintahan');
   $input_kode_pos_kab= $this->input->post('kode_pos_kab');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kabupaten = str_replace($ganti, $oleh, $input_nama_kabupaten);
   $pusat_pemerintahan = str_replace($ganti, $oleh, $input_pusat_pemerintahan);
   $kode_pos_kab = str_replace($ganti, $oleh, $input_kode_pos_kab);   
   $this->model_wilayah->Update_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan);   
   $this->session->set_flashdata('info', "Kabupaten berhasil diubah, gambar diubah.");
   redirect('wilayah/lihat_kabupaten/'.$id_prov);
  }  
  $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $data['judul'] = "Tambah Kabupaten | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/edit_kabupaten', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_kabupaten($id_kab){
  $query = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();      
  $this->model_wilayah->Hapus_Kabupaten($id_kab);
  $this->session->set_flashdata('info', "Kabupaten berhasil dihapus.");
  redirect($_SERVER['HTTP_REFERER']);
 }
 
 //END MODUL Kabupaten 
 
 //MODUL KECAMATAN 
 
 public function lihat_kecamatan($id_provinsi, $offset=0, $limit = 10) { 
 $data['nama_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
 $data['id_provinsi'] = $this->model_wilayah->Ambil_Kecamatan_By_Provinsi($id_provinsi)->row();
 $data['hitung_kecamatan'] = $this->model_wilayah->Hitung_Kecamatan_Provinsi($id_provinsi);
 $data['lihat_kecamatan'] = $this->model_wilayah->Lihat_Kecamatan_By_Id_Provinsi($id_provinsi, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kecamatan/'.$id_provinsi.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kecamatan'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/lihat_kecamatan', $data);
  $this->load->view('template/admin/footer');
  }  
 
 public function tambah_kecamatan($id_kab){
  $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $data['kode_kec'] = $this->model_wilayah->Ambil_Kode_Kecamatan();
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/tambah_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_tambah_kecamatan(){
 $id_kab = $this->input->post('id_kab');
 $id_prov = $this->input->post('id_prov');
 $this->form_validation->set_rules('id_kab','Kode Kabupaten');
 $data['kode_kec'] = $this->model_wilayah->Ambil_Kode_Kecamatan();
 $this->form_validation->set_rules('nama_kecamatan','Nama Kecamatan', 'required|xss_clean|max_length[100]|trim|strip_tags'); 
 if($this->form_validation->run() == TRUE){    
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kecamatan= $this->input->post('nama_kecamatan');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kecamatan = str_replace($ganti, $oleh, $input_id_kecamatan);
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kecamatan = str_replace($ganti, $oleh, $input_nama_kecamatan);   
   $this->model_wilayah->Input_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan);   
   $this->session->set_flashdata('info', "Kecamatan berhasil ditambahkan.");
   redirect('wilayah/lihat_kecamatan_kabupaten/'.$id_kab); 
 }
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/tambah_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function lihat_kecamatan_kabupaten($id_kab, $offset=0, $limit = 10) {
 $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
 $data['Hitung_Kecamatan'] = $this->model_wilayah->Hitung_Kecamatan_Berdasarkan_Kabupaten($id_kab);
 $data['kecamatan'] = $this->model_wilayah->Lihat_Kecamatan_By_Id_Kabupaten($id_kab, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kecamatan_kabupaten/'.$id_kab.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['Hitung_Kecamatan'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/lihat_kecamatan_kabupaten', $data);
  $this->load->view('template/admin/footer');
  }

 public function edit_kecamatan($id_kecamatan){
  $data['edit_kecamatan'] = $this->model_wilayah->Edit_Kecamatan_By_Kecamatan($id_kecamatan)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/edit_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_kecamatan(){
 $this->form_validation->set_rules('id_kecamatan','Kode Kecamatan');
 $this->form_validation->set_rules('nama_kecamatan','Nama Kecamatan', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kecamatan= $this->input->post('nama_kecamatan');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kecamatan= str_replace($ganti, $oleh, $input_id_kecamatan);
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kecamatan = str_replace($ganti, $oleh, $input_nama_kecamatan);   
   $this->model_wilayah->Update_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan);   
   $this->session->set_flashdata('info', "Kecamatan berhasil diubah.");
   redirect('wilayah/lihat_kecamatan_kabupaten/'.$id_kab);   
  }  
  $data['edit_kecamatan'] = $this->model_wilayah->getEditKecamatan($id_kecamatan)->row();
  $data['judul'] = "Tambah Kecamatan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/edit_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_kecamatan($id_kecamatan){
  $query = $this->model_wilayah->Edit_Kecamatan_By_Kecamatan($id_kecamatan)->row();      
  $this->model_wilayah->hapus_kecamatan($id_kecamatan);
  $this->session->set_flashdata('info', "Kecamatan berhasil dihapus.");
  redirect($_SERVER['HTTP_REFERER']);
 } 
 
 //END MODUL KECAMATAN
 
 //MODUL KELURAHAN 
 
 public function lihat_kelurahan($id_provinsi, $offset=0, $limit = 10) {  
 $data['nama_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
 $data['edit_kecamatan'] = $this->model_wilayah->Edit_Kecamatan_by_Provinsi($id_provinsi)->row();
 $data['hitung_kelurahan_berdasarkan_provinsi'] = $this->model_wilayah->Hitung_Kelurahan_Berdasarkan_Provinsi($id_provinsi);
 $data['lihat_kelurahan_menurut_provinsi'] = $this->model_wilayah->Lihat_Semua_Kelurahan_By_Provinsi($id_provinsi, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kelurahan/'.$id_provinsi.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kelurahan_berdasarkan_provinsi'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/lihat_kelurahan', $data);
  $this->load->view('template/admin/footer');
  }
  
 public function lihat_kelurahan_kab($id_kab, $offset=0, $limit = 10) {
  $data['provinsi'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $data['kecamatan'] = $this->model_wilayah->Edit_Kecamatan_by_Kabupaten($id_kab)->row();
  $data['hitung_kelurahan_berdasarkan_kabupaten'] = $this->model_wilayah->Hitung_Kelurahan_Berdasarkan_Kabupaten($id_kab);
  $data['lihat_kelurahan_berdasarkan_kabupaten'] = $this->model_wilayah->Lihat_Semua_Kelurahan_By_Kabupaten($id_kab, $offset, $limit);
  $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kelurahan_kab/'.$id_kab.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kelurahan_berdasarkan_kabupaten'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/lihat_kelurahan_kab', $data);
  $this->load->view('template/admin/footer');
  }
 
 public function lihat_kelurahan_kec($id_kecamatan, $offset=0, $limit = 10) {
 $data['provinsi'] = $this->model_wilayah->Edit_Kelurahan_By_Kecamatan($id_kecamatan)->row();
 $data['hitung_kelurahan'] = $this->model_wilayah->Hitung_Kelurahan_Berdasarkan_Kecamatan($id_kecamatan);
 $data['lihat_kelurahan_berdasarkan_kecamatan'] = $this->model_wilayah->Lihat_Semua_Kelurahan_By_Kecamatan($id_kecamatan, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kelurahan_kec/'.$id_kecamatan.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kelurahan'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/lihat_kelurahan_kec', $data);
  $this->load->view('template/admin/footer');
  }
  
 public function tambah_kelurahan($id_kecamatan){
  $data['provinsi'] = $this->model_wilayah->Edit_Kelurahan_By_Kecamatan($id_kecamatan)->row();
  $data['kode_kel'] = $this->model_wilayah->Ambil_Kode_Kelurahan();
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/tambah_kelurahan', $data);
  $this->load->view('template/admin/footer');
 } 
 
 public function submit_tambah_kelurahan(){
 $id_kab = $this->input->post('id_kab');
 $id_prov = $this->input->post('id_prov');
 $id_kecamatan = $this->input->post('id_kecamatan');
 $this->form_validation->set_rules('id_kecamatan','Kode Kecamatan');
 $data['kode_kel'] = $this->model_wilayah->Ambil_Kode_Kelurahan();
 $this->form_validation->set_rules('nama_kelurahan','Nama Kelurahan', 'required|xss_clean|max_length[100]|trim|strip_tags'); 
 if($this->form_validation->run() == TRUE){    
   $input_id_kelurahan= $this->input->post('id_kelurahan');
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kelurahan= $this->input->post('nama_kelurahan');
   $input_kode_pos_kel= $this->input->post('kode_pos_kel');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kelurahan = str_replace($ganti, $oleh, $input_id_kelurahan);
   $id_kecamatan = str_replace($ganti, $oleh, $input_id_kecamatan);
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kelurahan = str_replace($ganti, $oleh, $input_nama_kelurahan);
   $kode_pos_kel = str_replace($ganti, $oleh, $input_kode_pos_kel);   
   $this->model_wilayah->Input_Kelurahan($id_kelurahan, $id_kecamatan, $id_kab, $id_prov, $nama_kelurahan, $kode_pos_kel);   
   $this->session->set_flashdata('info', "Kelurahan berhasil ditambahkan.");
   redirect('wilayah/lihat_kelurahan_kec/'.$id_kecamatan);
  }  
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/tambah_kelurahan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function edit_kelurahan($id_kelurahan){
  $data['edit_kelurahan'] = $this->model_wilayah->Edit_Kelurahan($id_kelurahan)->row();
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/edit_kelurahan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_kelurahan(){ 
 $id_prov = $this->input->post('id_provinsi');
 $this->form_validation->set_rules('id_kelurahan','Kode Kelurahan');
 $this->form_validation->set_rules('nama_kelurahan','Nama Kelurahan', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_kelurahan= $this->input->post('id_kelurahan');
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_nama_kelurahan= $this->input->post('nama_kelurahan');
   $input_kode_pos_kel= $this->input->post('kode_pos_kel');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kelurahan= str_replace($ganti, $oleh, $input_id_kelurahan);
   $id_kecamatan = str_replace($ganti, $oleh, $input_id_kecamatan);
   $nama_kelurahan = str_replace($ganti, $oleh, $input_nama_kelurahan);
   $kode_pos_kel = str_replace($ganti, $oleh, $input_kode_pos_kel);   
   $this->model_wilayah->Update_Kelurahan($id_kelurahan, $id_kecamatan, $nama_kelurahan, $kode_pos_kel);   
   $this->session->set_flashdata('info', "Kelurahan berhasil diubah, gambar diubah.");
   redirect('wilayah/lihat_kelurahan/'.$id_prov);
  }  
  $data['edit_kelurahan'] = $this->model_wilayah->Edit_Kelurahan($id_kelurahan)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/edit_kelurahan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_kelurahan($id_kelurahan){
  $query = $this->model_wilayah->Edit_Kelurahan($id_kelurahan)->row();      
  $this->model_wilayah->hapus_kelurahan($id_kelurahan);
  $this->session->set_flashdata('info', "Kelurahan berhasil dihapus.");
  redirect($_SERVER['HTTP_REFERER']);
 }
 
 //END KELURAHAN
}


- Langkah ke empat

Buka routes.php yang ada didalam folder application\config\ dan rubah welcome menjadi wilayah karena kita akan memanggil controller wilayah.php sebagai default controllernya

$route['default_controller'] = "welcome";

Menjadi

$route['default_controller'] = "wilayah";


- Langkah ke lima

Buatlah sebuah model dengan nama model_wilayah.php didalam folder application\models\ dan sesuaikan isi model_wilayah.php dengan kode berikut:

<?php 

class Model_wilayah extends CI_Model{
 
 public function __construct(){
  parent::__construct();
 }
 
 public function Lihat_Provinsi($offset, $limit){
  $query = $this->db->query("SELECT
      p.*, x.total_kabupaten, y.total_kecamatan, k.total_kelurahan
     FROM provinsi p

     LEFT OUTER JOIN (SELECT s.*, COUNT(s.id_prov) AS total_kabupaten
     FROM kabupaten s
     GROUP BY s.id_prov) x ON x.id_prov = p.id_provinsi

     LEFT OUTER JOIN (SELECT e.*, COUNT(e.id_prov) AS total_kecamatan
     FROM kecamatan e
     GROUP BY e.id_prov) y ON y.id_prov = p.id_provinsi

     LEFT OUTER JOIN (SELECT k.*, COUNT(k.id_prov) AS total_kelurahan
     FROM kelurahan k
     GROUP BY k.id_prov) k ON k.id_prov = p.id_provinsi
     
     LIMIT $offset, $limit");
     return $query;
 } 
 // ---------------------------------------------------------------------------
 public function jumlah_Provinsi(){
  $query = $this->db->query("
   SELECT * FROM provinsi
  ");
  return $query->num_rows();
 }
 
 public function jumlah_Kabupaten(){
  $query = $this->db->query("
   SELECT * FROM kabupaten
  ");
  return $query->num_rows();
 }
 
 public function jumlah_Kecamatan(){
  $query = $this->db->query("
   SELECT * FROM kecamatan
  ");
  return $query->num_rows();
 }
 
 public function jumlah_Kelurahan(){
  $query = $this->db->query("
   SELECT * FROM kelurahan
  ");
  return $query->num_rows();
 }
 // ---------------------------------------------------------------------------
 public function Hitung_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kabupaten WHERE id_prov = '$id_provinsi'");
  return $query->num_rows();
 }
 
 public function Hitung_Kecamatan_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_prov = '$id_provinsi'");
  return $query->num_rows();
 }
 
 public function Hitung_Kecamatan_Berdasarkan_Kabupaten($id_kab){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_kab = '$id_kab'");
  return $query->num_rows();
 }
 
 public function Hitung_Kelurahan_Berdasarkan_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_prov = '$id_provinsi'");
  return $query->num_rows();
 }
 
 public function Hitung_Kelurahan_Berdasarkan_Kabupaten($id_kab){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kab = '$id_kab'");
  return $query->num_rows();
 }
 
 public function Hitung_Kelurahan_Berdasarkan_Kecamatan($id_kecamatan){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kecamatan = '$id_kecamatan'");
  return $query->num_rows();
 }
 // ---------------------------------------------------------------------------
 
 public function Ambil_Kode_provinsi() {
  $query = $this->db->query("SELECT MAX(id_provinsi) as max_id FROM provinsi"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,2);
  $mkode_prov = $max_id2 +1;
  $maxkode_prov = 'PRO-'.sprintf("%02s",$mkode_prov);
  return $maxkode_prov;
 }
 
 public function Ambil_Kode_Kabupaten() {
  $query = $this->db->query("SELECT MAX(id_kab) as max_id FROM kabupaten"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,3);
  $mkode_kab = $max_id2 +1;
  $maxkode_kab = 'KAB-'.sprintf("%03s",$mkode_kab);
  return $maxkode_kab;
 }
 
 public function Ambil_Kode_Kecamatan() {
  $query = $this->db->query("SELECT MAX(id_kecamatan) as max_id FROM kecamatan"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,4);
  $mkode_kec = $max_id2 +1;
  $maxkode_kec = 'KEC-'.sprintf("%04s",$mkode_kec);
  return $maxkode_kec;
 }
 
 public function Ambil_Kode_Kelurahan() {
  $query = $this->db->query("SELECT MAX(id_kelurahan) as max_id FROM kelurahan"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,5);
  $mkode_kel = $max_id2 +1;
  $maxkode_kel = 'KEL-'.sprintf("%05s",$mkode_kel);
  return $maxkode_kel;
 }

 // ---------------------------------------------------------------------------
 public function Tambah_Provinsi($id_provinsi, $nama_provinsi, $ibukota_provinsi){
  $query = $this->db->query("INSERT INTO provinsi VALUES('$id_provinsi', '$nama_provinsi', '$ibukota_provinsi')");
 }
 
 public function Input_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan){
  $query = $this->db->query("INSERT INTO kabupaten VALUES('$id_kab', '$id_prov', '$nama_kabupaten', '$pusat_pemerintahan')");
 }
 
 public function Input_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan){
  $query = $this->db->query("INSERT INTO kecamatan VALUES('$id_kecamatan', '$id_kab', '$id_prov', '$nama_kecamatan')");
 }
 
 public function Input_Kelurahan($id_kelurahan, $id_kecamatan, $id_kab, $id_prov, $nama_kelurahan, $kode_pos_kel){
  $query = $this->db->query("INSERT INTO kelurahan VALUES('$id_kelurahan', '$id_kecamatan', '$id_kab', '$id_prov', '$nama_kelurahan', '$kode_pos_kel')");
 }
 // ---------------------------------------------------------------------------
 
 public function Ambil_Id_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM provinsi WHERE id_provinsi = '$id_provinsi'");
  return $query;
 }
 
 
 // ---------------------------------------------------------------------------
 public function update_Provinsi($id_provinsi, $nama_provinsi, $ibukota_prov){
  $query = $this->db->query("UPDATE provinsi 
         SET id_provinsi = '$id_provinsi',
         nama_provinsi = '$nama_provinsi',
         ibukota_prov = '$ibukota_prov'
         WHERE id_provinsi = '$id_provinsi'
        ");
 }
 
 public function Update_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan){
  $query = $this->db->query("UPDATE kabupaten 
         SET id_kab = '$id_kab',
         id_prov = '$id_prov',
         nama_kabupaten = '$nama_kabupaten',
         pusat_pemerintahan = '$pusat_pemerintahan'
         WHERE id_kab = '$id_kab'
        ");
 }
 
 public function Update_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan){
  $query = $this->db->query("UPDATE kecamatan 
         SET id_kecamatan = '$id_kecamatan',
         id_kab = '$id_kab', 
         id_prov = '$id_prov',
         nama_kecamatan = '$nama_kecamatan'    
         WHERE id_kecamatan = '$id_kecamatan'
        ");
 }
 
 public function Update_Kelurahan($id_kelurahan, $id_kecamatan, $nama_kelurahan, $kode_pos_kel){
  $query = $this->db->query("UPDATE kelurahan
         SET id_kelurahan = '$id_kelurahan',
         id_kecamatan = '$id_kecamatan',         
         nama_kelurahan = '$nama_kelurahan',
         kode_pos_kel = '$kode_pos_kel'         
         WHERE id_kelurahan = '$id_kelurahan'
        ");
 }
 // ---------------------------------------------------------------------------
 
 
 public function hapus_provinsi($id_provinsi){
  $this->db->query("DELETE FROM provinsi WHERE id_provinsi = '$id_provinsi' ");
 }
 
 public function Ambil_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi, $offset, $limit){
  $query = $this->db->query("SELECT 
  
     x.*, y.total_kecamatan, k.total_kelurahan
     FROM kabupaten x

     LEFT OUTER JOIN (SELECT e.*, COUNT(e.id_kab) AS total_kecamatan
     FROM kecamatan e
     GROUP BY e.id_kab) y ON y.id_kab = x.id_kab

     LEFT OUTER JOIN (SELECT k.*, COUNT(k.id_kab) AS total_kelurahan
     FROM kelurahan k
     GROUP BY k.id_kab) k ON k.id_kab = x.id_kab
     WHERE x.id_prov = '$id_provinsi'
     LIMIT $offset, $limit");
     
  return $query;
 }
 // ---------------------------------------------------------------------------
 public function Edit_Kabupaten($id_kab){
  $query = $this->db->query("SELECT kab.*, pro.id_provinsi, pro.nama_provinsi FROM kabupaten as kab, provinsi as pro
         WHERE id_kab = '$id_kab' AND id_prov = id_provinsi");
  return $query;
 }
 
 public function Edit_Kecamatan_By_Kecamatan($id_kecamatan){
  $query = $this->db->query("SELECT kec.*, kab.id_kab, kab.nama_kabupaten FROM kecamatan as kec, kabupaten as kab 
         WHERE kec.id_kecamatan = '$id_kecamatan' AND kec.id_kab = kab.id_kab");
  return $query;
 }
 
 public function Edit_Kecamatan_by_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_prov = '$id_provinsi'");
  return $query;
 }
 
 public function Edit_Kecamatan_by_Kabupaten($id_kab){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_kab = '$id_kab'");
  return $query;
 } 
 
 public function Edit_Kelurahan_By_Kecamatan($id_kecamatan){
  $query = $this->db->query("SELECT kec.*, pro.id_provinsi, pro.nama_provinsi, kab.id_kab, kab.nama_kabupaten 
         FROM kecamatan as kec, provinsi as pro, kabupaten as kab
         WHERE id_kecamatan = '$id_kecamatan' AND kec.id_prov = pro.id_provinsi AND kec.id_kab = kab.id_kab");
  return $query;
 }
 
 public function Edit_Kelurahan($id_kelurahan){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kelurahan = '$id_kelurahan'");
  return $query;
 }
 // ---------------------------------------------------------------------------
  
 public function Hapus_Kabupaten($id_kab){
  $this->db->query("DELETE FROM kabupaten WHERE id_kab = '$id_kab' ");
 }
 
 public function Ambil_Kecamatan_By_Provinsi($id_provinsi){
  if($id = $id_provinsi){
  $query = $this->db->query("SELECT * FROM kabupaten WHERE id_prov = '$id_provinsi'");
  return $query;
  }
  if($id = $id_kab){
   $query = $this->db->query("SELECT * FROM kabupaten WHERE id_kab = '$id_kab'");
   return $query;
  }
  else {
   return FALSE;
  }
 } 
 
 public function Lihat_Kecamatan_By_Id_Provinsi($id_provinsi, $offset, $limit){
  $query = $this->db->query("SELECT 
         kecamatan.id_kecamatan,
         kecamatan.id_kab,
         kecamatan.id_prov,
         kecamatan.nama_kecamatan,         
         count(kelurahan.id_kecamatan) as total_kelurahan
         FROM kecamatan
         LEFT JOIN kelurahan
         ON kelurahan.id_kecamatan = kecamatan.id_kecamatan
         WHERE kecamatan.id_prov = '$id_provinsi'
         GROUP BY kecamatan.id_kecamatan 
         ASC LIMIT $offset, $limit");
  return $query;
 }

 public function Lihat_Kecamatan_By_Id_Kabupaten($id_kab, $offset, $limit){
  $query = $this->db->query("SELECT 
         kecamatan.id_kecamatan,
         kecamatan.id_kab,
         kecamatan.id_prov,
         kecamatan.nama_kecamatan,         
         count(kelurahan.id_kecamatan) as total_kelurahan
         FROM kecamatan
         LEFT JOIN kelurahan
         ON kelurahan.id_kecamatan = kecamatan.id_kecamatan
         WHERE kecamatan.id_kab = '$id_kab'
         GROUP BY kecamatan.id_kecamatan
         ASC LIMIT $offset, $limit");
  return $query;
 }
 
 // ---------------------------------------------------------------------------
 public function Lihat_Semua_Kelurahan_By_Provinsi($id_provinsi, $offset, $limit){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_prov = '$id_provinsi'
         ORDER BY id_kecamatan ASC LIMIT $offset, $limit");        
  return $query;
 }
 
 public function Lihat_Semua_Kelurahan_By_Kabupaten($id_kab, $offset, $limit){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kab = '$id_kab'
         ORDER BY id_kecamatan ASC LIMIT $offset, $limit");        
  return $query;
 }
 
 public function Lihat_Semua_Kelurahan_By_Kecamatan($id_kecamatan, $offset, $limit){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kecamatan = '$id_kecamatan'
         ORDER BY id_kelurahan ASC LIMIT $offset, $limit");        
  return $query;
 }
 // ---------------------------------------------------------------------------
 
 public function hapus_kecamatan($id_kecamatan){
  $this->db->query("DELETE FROM kecamatan WHERE id_kecamatan = '$id_kecamatan' ");
 }
 
 public function hapus_kelurahan($id_kelurahan){
  $this->db->query("DELETE FROM kelurahan WHERE id_kelurahan = '$id_kelurahan' ");
 }
 
}


- Langkah ke enam

Langkah untuk membuat view yaitu buatlah file dengan nama provinsi.php yang ada didalam folder application\views\ admin\provinsi\ dan isi kode seperti dibawah ini didalam provinsi.php.

<div class="container">
  <div class="row">
   <div class="span12">
    <h1>Daftar Wilayah</h1><br />
    <div class="row">
     <!--sidebar menu -->
     <?php echo $this->load->view('template/admin/sidebar'); ?>
     <!--end sidebar menu -->
     <!-- table, content, etc -->
     <div class="span9">
      <div class=""><!-- basic tabs menu -->
      <?php if($this->session->flashdata('info')) { ?>
       <div class="alert alert-info">  
         <a class="close" data-dismiss="alert">x</a>  
         <strong>Info! </strong><?php echo $this->session->flashdata('info'); ?>  
       </div>
      <?php } ?>
       <ul class="nav nav-tabs">
        <li class="active"><a href="<?php echo base_url(); ?>wilayah/provinsi/">Provinsi</a></li>
        <li><a href="<?php echo base_url(); ?>wilayah/tambah_provinsi/">Tambah Provinsi</a></li>
       </ul>
      </div><!-- basic tabs menu -->
      <h5>Semua wilayah berjumlah sebanyak :<br>
      Provinsi : <?php echo $jumlah_provinsi; ?><br>
      Kabupaten : <?php echo $jumlah_kabupaten; ?><br> 
      Kecamatan : <?php echo $jumlah_kecamatan; ?><br>
      Kelurahan : <?php echo $jumlah_kelurahan; ?></h5><br />
       <table class="table table-striped table-bordered"><!-- table default style -->
        <thead>
         <th>No</th>
         <th>Nama Provinsi</th>
         <th>Ibukota Provinsi</th>
         <th>Kabupaten</th>
         <th>Kecamatan</th>
         <th>Kelurahan</th>
         <th colspan="2">Aksi</th>
        </thead>
        <tr>
        <?php $no=1; 
         foreach($provinsi->result() as $row){ 
        ?>
         <td><?php echo $this->session->userdata('row')+$no; ?></td>
         <td><?php echo ucwords($row->nama_provinsi); ?></td>
         <td><?php echo ucwords($row->ibukota_prov); ?></td>
         
         <td><a title="Lihat Kabupaten Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/lihat_kabupaten/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> <?php echo ucwords($row->total_kabupaten); ?>
         </a></td>
         
         <td><a title="Lihat Kecamatan Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/lihat_kecamatan/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> <?php echo ucwords($row->total_kecamatan); ?>
         </a></td>
         
         <td><a title="Lihat Kelurahan Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/lihat_kelurahan/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> <?php echo ucwords($row->total_kelurahan); ?>
         </a></td>
         
         <td border="0">
          <a title="Edit Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/edit_provinsi/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> Edit 
          </a> | <a href="#" onClick="if(confirm('Anda yakin HAPUS data ini? ')){document.location='<?php echo base_url()?>wilayah/hapus_provinsi/<?php echo $row->id_provinsi; ?>'}" title="Hapus Provinsi <?php echo $row->nama_provinsi; ?>" >
           <i class="icon-trash"></i> Hapus
          </a>
         </td>
        </tr>
       <?php 
        $no++;
        } 
       ?>
       </table><!-- table default style -->
       <div class="pagination">
        <ul>
         <?php echo $this->pagination->create_links(); ?>
        </ul>
       </div>
     </div>
     <!-- table, content, etc -->
    </div>
    <div class="row">
    </div>
   </div>
  </div>


Untuk mencobanya silahkan refresh localhost dan panggil folder indonesia. apakah yang terjadi? terjadi kesalahan:

  • Fatal error: Call to undefined function redirect()
  • A PHP Error was encountered Message: Undefined property: Wilayah::$db
  • Message: Undefined Property: Wilayah::$pagination
  • Message: Undefined Property: Wilayah::$session
  • An Error Was Encountered In order to use the Session class you are required to set an encryption key in your config file

Untuk kesalahan diatas coba lihat mengatasi kesalahan-kesalahan didalam codeigniter dalam mengatasi contoh yang sedang kita buat ini.

- Langkah ke tujuh

Menghilangkan index.php pada codeigniter dengan mengikuti petunjuk ini

- Langkah ke delapan

Untuk lengkapnya file views silahkan download dan lihat isinya disini , saya menggunakan Twitter Bootstrap sebagai template adminnya.

- Langkah ke Sembilan

Coba refresh lagi dilocalhost dan lihat kesalahan yang terjadi
  • Fatal error: Call to undefined function form_error()
Untuk kesalahan ini silahkan buka file autoload.php yang ada didalam folder application\config\ dan rubahlah kode seperti dibawah ini:

$autoload['libraries'] = array();

$autoload['helper'] = array();

Menjadi

$autoload['libraries'] = array('database','session','form_validation','image_lib','upload','pagination');

$autoload['helper'] = array('file','html','form','url');

Bagaimana apakah sudah jalan contoh yang diberikan, bisa diperhatikan disana terdapat beberapa cara untuk membuat count atau menghitung jumlah row atau record seperti yang sudah dilakukan pada contoh.
Silahkan lihat video tutorial meghitung jumlah record atau row dengan tiga tabel.

5 comments:

  1. thanks ya tutorialnya , ada source codenya kah ?

    ReplyDelete
  2. thanks ya tutorialnya , ada source codenya kah ?

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. gan boleh minta project sampelnya? cz saya bingung gan.
    klw agan bersedia kirim di email : suryaputraharas@gmail.com

    ReplyDelete