Tuesday, May 10, 2016

Belajar Model Pada CodeIgniter

Sumber: http://helmykkediricomp.blogspot.co.id/

Membuat CRUD ( Create, Read, Update, Delete ) - Pada Frame works CodeIgniter , CRUD merupakan suatu fungsi dasar yang harus ada dalam sebuah pemrograman atau aplikasi karena proses menambahkan, mengubah, membaca dan menghapus data merupakan fungsi vital yang harus ada dalam sebuah aplikasi dinamis.

Pengenalan Framework CodeIgniter 

Frameworks CodeIgniter merupakan salah satu framework yang disediakan untuk membangun sebuah website dengan lebih efisien, cepat, mudah dan aman. Framework ini memakai sebuah system yang dikenal dengan MVC (Model-View-Controller) di mana masing-masing memiliki fungsi diantaranya :

– Model, digunakan untuk mengelola atau mengatur segala jenis hal yang berhubungan dengan data atau database dan tidak boleh ada source code untuk membuat tampilan karena untuk tampilan dimasukkan kedalam view.
– View, merupakan tempat untuk mengelola segala macam source code yang berhubungan dengan tampilan suatu halaman web  meliputi HTML,CSS, maupun Javascript.
– Controller, merupakan tempat yang berfungsi memanggil atau menyambungkan antara View dengan  Model.

Berikut kita akan belajar membuat CRUD data barang  :

1. Buat Database dengan nama misal CRUDCodeIgniter dan buat tabel dengan nama data_barangkemudian isikan field nama dan tipe data sebagai berikut :

- nama id type data int panjang 11
- nama nama type data int panjang 150 
- nama harga type data float panjang 11 
- nama stok type data int panjang 11 
  

Tabel data_barang

2. Konfigurasi database , masuk di C:\xampp\htdocs\CRUDCodeIgniter\application\config dan edit file database.php cari systax berikut :

 $db['default']['hostname'] = 'localhost';  // masukkan host name
$db['default']['username'] = 'root';         // user name root default
$db['default']['password'] = '';                // pass kosong default
$db['default']['database'] = 'CRUDCodeIgniter';   // nama database

3. Selanjutnya kita rubah base_url  ( alamat untuk memanggil codeigniter karena bisa jadi folder yang kita buat berbeda-beda namanya , buka CRUDCodeIgniter \ application \ config \ config.phpkemudian cari kode syntax dibawah ini :

 $config['base_url']    = 'http://localhost:81/CRUDCodeIgniter/'; 
// silahkan di ubah sesuai konfigurasi anda 

4. Selanjutnya buat file data_produk.php padaC:\xampp\htdocs\CRUDCodeIgniter\application\controllers  kemudian masukkan kode berikut ini :

 
//nama class harus diawali dengan kapital, walaupun nama file semua kecil
class Data_produk extends CI_Controller {

    public function index()
    {
        $this->load->helper('url');
        $this->load->database();   //memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');  //memanggil model m_data_produk
        $data['data_produk'] = $this->m_data_produk->list_data();//memanggil fungsi di model dan menerima hasil fungsi yang dimasukan ke $data['data_produk']
        $this->load->view('v_data_produk',$data);//memanggil view yang nanti kita akan buat dan memasukan $data dari model tadi
    }
   
    public function Input()
    {
        $this->load->helper('form');//memanggil helper form nanti penggunaannya di v_input_produk.php
        $data['type']="INPUT";// definisi type, karena nanti juga ada edit
        $this->load->view('v_input_produk',$data);// memanggil view v_input_produk.php
    }
   
    public function Edit()
    {
        $this->load->helper('form');//memanggil helper form nanti penggunaannya di v_input_produk.php
       
        $this->load->database();//memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');//memanggil model m_data_produk.php
       
        $id = $this->input->get('produk');//mengambil param produk dari get
        $data['produk'] = $this->m_data_produk->getEdit($id);
        $data['type']="EDIT";// definisi type, karena nanti juga ada edit
        $this->load->view('v_input_produk',$data);// memanggil view v_input_produk.php
    }
   
    public function Post(){
        $this->load->database();//memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');//memanggil model m_data_produk.php
       
        //mengambil data dari post memasukan ke array agar lebih mudah 
        $param = array(
                'nama' => $this->input->post('nama'),
                'harga' => $this->input->post('harga'),
                'stok'=> $this->input->post('stok')
                );
        //jika simpan == input 
        if($this->input->post('simpan')=="INPUT"){
            $this->m_data_produk->input($param);   
        }else
        if($this->input->post('simpan')=="EDIT"){
            $id= $this->input->post('id');
            $this->m_data_produk->edit($param,$id);   
        }
       
        //memanggil helper url untuk fungsi redirect
        $this->load->helper('url');
        //mengalihkan ke list data produk setelah input atau edit selesai
        redirect('data_produk','refresh');
    }
   
    public function Delete(){
        $this->load->database();//memanggil pengaturan database dan mengaktifkannya
        $this->load->model('m_data_produk');//memanggil model m_data_produk.php
        $id = $this->input->get('produk');
        $this->m_data_produk->delete($id);
       
        $this->load->helper('url');
        redirect('data_produk','refresh');
    }
}
5. Lalu kita buat models , silahkan menuju keC:\xampp\htdocs\CRUDCodeIgniter\application\models
lalu buat file baru bernama m_data_produk.php dan masukkan script berikut :

 class M_data_produk extends CI_Model {
  
 function __construct()
    {
        // Memanggil Model constructor
        parent::__construct();
    }
     
    function list_data(){
        $query = $this->db->get('data_barang');// mengambil semua data dari tabel data_barang
         
        return $query->result();// mengembalikan ke controller hasil dari query ke table data_barang
    }
    
    function input($param){
        $this->db->insert('data_barang',$param);
        return true;
    }
    
    function getEdit($id){
        $this->db->where('id',$id);
        $query = $this->db->get('data_barang');
        
        return $query->result();
    }
    
    function edit($param,$id){
        $this->db->where('id',$id);
        $this->db->update('data_barang',$param);
        return true;
    }
    
    function delete($id){  // hapus data berdasarkan id
        $this->db->where('id',$id);
        $this->db->delete('data_barang');
    }
}
 6. Untuk menampilkan hasilnya kita buat view nya , view berfungsi untuk menampilkan halaman dan view berisi html, php maupun java script silahkan menuju keC:\xampp\htdocs\CRUDCodeIgniter\application\views  dan buat file baru bernamav_data_produk.php setelah itu masukkan script berikut :


isi file v_data_produk.php


Hasilnya :

No comments:

Post a Comment