CRUD adalah singkatan dari Create Read Update Delete , yang sering digunakan pada aplikasi-aplikasi pengolahan data yang kebanyakan mengguanakan fungsi CRUD didalamnya . Fungsi ini digunakan untuk menambahkan data, menghapus data, serta mengupdate data. Dalam artikel ini saya mencoba memberikan sebuah c...

Fungsi Insert Data dalam CRUD (CREATE READ UPDATE DELETE) di Codeigniter

CRUD adalah singkatan dari Create Read Update Delete , yang sering digunakan pada aplikasi-aplikasi pengolahan data yang kebanyakan mengguanakan fungsi CRUD didalamnya . Fungsi ini digunakan untuk menambahkan data, menghapus data, serta mengupdate data.

Dalam artikel ini saya mencoba memberikan sebuah contoh penerapan crud sederhana di dalam codeigniter, sebelumnya mari kita bahas dulu apa saja yang diperlu dikonfigurasi di framework codeigniter ini : (perlu diketahui konfigurasinya terdapat pada folder config)

Ceritanya saya akan membuat aplikasi sederhana tentang pengolahan data absen (namanya juga cerita saya, jadi terserah saya aahahahahaa -agak sedikit pemaksaan-)

autoload.php

file ini berisi tentang resource (library, helper, plugins, model, fungsi ) yang akan langsung di load secara otomatis ketika aplikasi akan dijalankan.

Misalnya :

$autoload[‘libraries’]=array(‘database’,’form_validation’,’table’);

$autoload[‘helper’]=array(‘form’,’url’);

$autoload[‘plugin’]=array();

$autoload[‘config’]=array();

$autoload[‘language’]=array();

$autoload[‘model’]=array();

config.php,

konfigurasi dasar pada aplikasi yang akan dibuat. Konfigurasi pertama yang dilakukan adalah menentukan base_url() dari aplikasi anda

$config[‘base_url’]=”http://example.com/” <-- diisi sesuai dengan aplikasi;

Keuntungan menggunakan cara ini adalah anda tidak perlu menulis ulang secara lengkap url jika diperlukan, misalnya untuk menentukan action pada form. Cukup dengan menggunakan fungsi base_url(). Apalagi jika anda harus mengalihkan aplikasi anda pada server lain, maka anda cukup mengganti base_url anda.Hal kedua adalah mengatur konfigurasi encrytion key untuk menjalankan session.

$config['encryption_key'] = 'iBo5B9'<-- diisi terserah;

database.php

$db['default']['hostname'] = "localhost";

$db['default']['username'] = "root";

$db['default']['password'] = "";

$db['default']['database'] = "crud" ; <-- diisi sesuai dengan database yang sudah dibuat

 

Ok, tidak perlu kebanyakan basa basi ,mari kita lanjut ke langkah-langkahnya J

Pertama-tama kita buat dulu tabel ‘tabel_person’ pada database untuk menyimpan data tersebut. Dengan perintah sql seperti dibawah ini :

Create table ‘tabel_person’(

‘id’ int(4) not null auto increment primary key,

‘nama’ varchar(100),

‘tgl_lahir’ date);

Tabel di dalam database sudah dibuat , dan sekarang lanjut ke penulisan kode :) karena codeigniter itu bersifat MVC (model view controller), penulisan kode apa duluan yang dilakukan ya ??? bingung ??? jangan bingung kita lakukan bagian view terlebih dahulu :)

View(personInput.php)

saya membuat view dengan nama personInput.php dan disimpan dalam direktori view. Isi dari personInput.php sebagai berikut:

1.

<form action="PersonController/input">

2.

    <table border="0">

3.

        <tr>

4.

            <td>Nama</td>

5.

            <td>:</td>

6.

            <td><input name="nama" type="text"></td>

7.

        </tr>

8.

        <tr>

9.

            <td>Tanggal Lahir</td>

10.

             <td>:</td>

11.

            <td>

12.

                <select name="tanggal">

13.

                    <?php for($tgl=1;$tgl<=30;$tgl++):?>

14.

                    <option value="<?php echo $tgl?>"><?php echo $tgl;?></option>

15.

                    <?php endfor;?>

16.

                </select>

17.

                <select name="bulan">

18.

                    <?php for($bln=1;$bln<=12;$bln++):?>

19.

                    <option value="<?php echo $bln?>"><?php echo $bln;?></option>

20.

                    <?php endfor;?>

21.

                </select>

22.

                <select name="thn">

23.

                    <?php for($thn=1970;$thn<=2015;$thn++):?>

24.

                    <option value="<?php echo $thn?>"><?php echo $thn;?></option>

25.

                    <?php endfor;?>

26.

                </select>

27.

            </td>

28.

        </tr>

29.

        <tr><td rowspan="3"><input type="submit" name="submit" value="simpan"></td></tr>

30.

    </table>

31.

</form>

 

View ini sangat sederhana, sangat dasar dan mudah dipahami.

Penjelasan :

  • <?php for($tgl=1;$tgl<=31;$tgl++):?> pada baris 13 merupakan perulangan yang nantinya akan ditampilkan sebagai tanggal dengan patokan 1 bulan = 31 hari.
  • <?php for($bln=1;$bln<=12;$bln++):?> pada baris 18 merupakan perulangan yang akan ditampilkan sebagai bulan dengan patokan 1 tahun=12 bulan.
  • <?php for($thn=1970;$thn<=2015;$thn++):?> pada baris 23 merupakan perulangan yang akan ditampilkan sebagai tahun dengan patokan dari tahun 1970-sampai 2015.
  • Tiga point diatas, nantinya akan include ke dalam 1 field dalam tabel person :)

Setelah view, kita mau nulis kode apa lagi ???

kita akan melakukan penulisan kode di bagian model(perlu diketahui model ini tempaa semua fungsi-fungsi mengenai manipulasi database seperti insert, update, delete, select , join dan lain-lain) .. mari kita lihat bagaimana penulisan kode-nya

model (personModel.php)

1.

<?

2.

class PersonModel extends CI_Model{

3.

    function insert(){

4.

        $this->db->set('nama',$this->input->post('nama'));

5.

        $this->db->set('tgl_lahir',$this->input->post('tahun').'-'.$this->input->post('bulan').'-'.$this->input->post('tanggal'));

6.

        return $this->db->insert('tabel_person');

7.

    }

8.

}

9.

?>

Penjelasan:

  • class personModel extends CI_Model, pada baris ke-1 maksudnya membuat class model dengan nama personModel.
  • Pada baris ke-3 sampai baris ke-7 merupakan fungsi insert data/ penambahan data
  • $this->db->set('nama',$this->input->post('nama')), pada baris ke- 4 merupakan fungsi untuk menge-set field nama dalam tabel_person dengan inputan dari view personInput.php dengan fungsi $this->input->post('nama')).

Controller

Controller itu seperti apa sih ?? bentar lagi dijelaskan kok (sabar...sabar...sabar) :) pada intinya controller digunakan untuk menyatukan data yang dikirimkan dari view dan model , boleh dibilang sebagai pemrosesan data dari view dan model :)

Gimana penulisan kodenya ??

1.

<?php

2.

class PersonController extends CI_Controller{

3.

     public function __construct() {

4.

         parent::__construct();

5.

         $this->load->model('PersonModel');

6.

     }

7.

     function index(){

8.

        $this->load->view('personInput');

9.

     }

10.

     function input(){

11.

         if($this->input->post('submit')):

12.

            $this->PersonModel->insert();

13.

         endif;

14.

         $this->load->view('personInput');

15.

     }

16.

 }

17.

?>

Penjelasan:

  • class PersonController extends CI_Controller, maksudnya membuat class dengan nama PersonController, dengan catatan nama class harus diawali dengan huruf kapital.
  • Pada baris ke-7 sampai ke-9 merupakan fungsi default controller yang nanti jika ditampilkan fungsi ini yang akan ditampilkan.
  • Pada baris ke-10 sampai ke-15 merupakan fungsi input data dengan mengambil data dari model ($this->PersonModel->insert() ) dan juga view ($this->load->view('personInput')).

About Author

Bung-Ko

orang yang bersahaja, penampilan tidak pernah rapi .. tapi punya semangat belajar yang tinggi :D


Comment & Discussions

    Please LOGIN before if you want to give the comment.