Tutorial CodeIgniter Part II

Di tutorial yang kedua ini, kita akan bahas bagaimana cara membuat CRUD dengan menggunakan CI…. kenapa kita harus belajar membuat aplikasi CRUD? soalnya ini merupakan dasar kita untuk ke depannya.. untuk membuat aplikasi yang kompleks, sebenarnya kita hanya mengelola dan mengolah database, meliputi membuat database (Create), membaca (Read), mengubah (Update), menghapus (Delete), ato disingkat menjadi CRUD.



Adapun di sini kita akan belajar membuat model untuk data yang akan diolah, view untuk membuat interface, dan controller untuk mengolah model dan ngeload view..



OK, pertama-tama, kita buat sebuah database bernama tutorial_ci, dan buatlah sebuah table bernama mahasiswa (kenapa selalu ‘mahasiswa’? ga punya contoh lain :P ), isinya ada id, nim, nama, alamat.. OK segitu saja.. kamu tinggal copy SQL berikut:



CREATE TABLE IF NOT EXISTS `mahasiswa` (

`id` int(5) NOT NULL AUTO_INCREMENT,

`nim` varchar(20) NOT NULL,

`nama` varchar(100) NOT NULL,

`alamat` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



Jadi kita membuat tabel kosong bernama ‘mahasiswa’ dengan field seperti di atas…



Quote:


Diharapkan kamu yang mengikuti tutorial ini udah pernah mengikuti tutorial sebelumnya.. kenapa? karena konfigurasinya kita menggunakan konfigurasi di tutorial dasar part I, bisa klik di sini

Seperti pada tutorial dasar part I, webroot kita ini diasumsikan bernama “webku”, dan konfigurasinya diasumsikan sama, oleh karena itu silahkan baca tutorial dasar part I terlebih dahulu.

1. Menampilkan semua data



OK, langkah pertama adalah membuat sebuah model….



Buatlah sebuah file mahasiswa_model.php di /system/application/models dengan isi adalah barisan kode seperti berikut:



PHP Code:


<?php
class Mahasiswa_model extends Model {



}
?>


Sejauh ini, kita sudah membuat sebuah model untuk mahasiswa, yang nantinya mempunyai banyak fungsi untuk mengolah table ‘mahasiswa’…



Di bawah ini, kita akan menambahkan function selectAll(), yang mana berfungsi untuk menyeleksi semua field di table mahasiswa (select * from mahasiswa), jadi code tadi setelah ditambahkan menjadi seperti berikut:



PHP Code:


<?php


class Mahasiswa_model extends Model {

    function 
selectAll(){

        return 
$this->db->get('mahasiswa')->result();

    }  

}
?>


Nah, sejauh ini kita sudah bikin function selectAll() yang berfungsi untuk memilih semua field dari table mahasiswa.



Setelah itu, model akan diolah oleh controller, jadi sekarang kita buat sebuah controller yang berfungsi untuk memanipulasi objek mahasiswa_model…



OK, buatlah sebuah controller bernama data_mahasiswa.php di /system/application/controllers dengan isi file sebagai berikut:



PHP Code:


<?php


class Data_mahasiswa extends Controller {

    function  
__construct() {

        
parent::Controller();

    }

}
?>


function __construct() adalah sebagai konstruktor… berbagai perintah yang ada di dalam fungsi ini akan selalu dipanggil di saat objek Data_mahasiswa dibuat… jadi berbagai fungsi untuk meload library, model, helper, dan sebagainya, kita tinggal masukkan di function ini supaya tidak diketik ulang di setiap fungsi….



Karena kita akan meload model mahasiswa_model setiap kali dibuat controller, maka kita load modelnya di bagian __construct() di dalam controller Data_mahasiswa. Jadi kode lengkapnya seperti berikut:



PHP Code:


<?php
class Data_mahasiswa extends Controller {

    function  
__construct() {

        
parent::Controller();

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

    }



}
?>


Kemudian, kita buat function index() sebagai penampil semua data yang ada di table mahasiswa, jadi URLnya akan berbentuk http://localhost/webku/data_mahasiswa/index ATAU http://localhost/webku/data_mahasiswa (Index tidak perlu dituliskan)



PHP Code:


<?php
class Data_mahasiswa extends Controller {

    function  
__construct() {

        
parent::Controller();

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

    }

    function 
index(){

        
$data['mahasiswa'] = $this->mahasiswa_model->selectAll();

        
$this->load->view('data_mahasiswa_view'$data);

    }

}
?>


Di dalam function index() di atas, kita lihat ada script seperti ini:

$data['mahasiswa'] = $this->mahasiswa_model->selectAll();

kode tersebut berarti data hasil keluaran dari function selectAll() di model mahasiswa_model berupa array dan disimpan di dalam array $data['mahasiswa'], yang nantinya data tersebut bisa diakses di view..



Kemudian kita lihat lagi, ada script berikut:

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

function view() dalam objek ‘load’ adalah untuk meload view yang sudah kita buat di /system/application/views, dengan mengeset variable hasil ekstrak dari variable $data, sehingga nanti bisa diakses dari view..



OK, kita buat view-nya dengan nama file data_mahasiswa_view.php di /system/application/views dengan isi sebagai berikut ini:

PHP Code:


<h1>Data Mahasiswa</h1>

<table>

    <thead>

        <tr>

            <th>No</th>

            <th>NIM</th>

            <th>Nama</th>

            <th>Alamat</th>

            <th>Aksi</th>

        </tr>

    </thead>

    <tbody>

        <?php $i 1 ?>
        <?php foreach($mahasiswa as $m): ?>
        <tr>

            <td><?php echo $i++ ?></td>

            <td><?php echo $m->nim ?></td>

            <td><?php echo $m->nama ?></td>

            <td><?php echo $m->alamat ?></td>

            <td></td>

        </tr>

        <?php endforeach ?>
    </tbody>

</table>


Sekarang, coba buka alamat di browser: http://localhost/webku/data_mahasiswa, keluar apa? table kan? dengan data KOSONG….



OK, sekarang kita lanjut ke sesi yg kedua.. yaitu MENAMBAHKAN DATA…



2. Menambahkan data



Silakan buat sebuah anchor() (a) di bawah table di dalam file data_mahasiswa_view.php..

anchor() adalah function helper yang udah tersedia di CI, untuk menggantikan tag ‘a’



Buatlah sebuah anchor sebagai link ke function add() di Controller (fungsi ini belum dibuat), caranya dengan menambahkan script berikut:



<?php echo anchor('data_mahasiswa/add', 'Tambah Data') ?>



jadi kode lengkapnya di data_mahasiswa_view.php adalah sebagai berikut:



PHP Code:


<h1>Data Mahasiswa</h1>

<table>

    <thead>

        <tr>

            <th>No</th>

            <th>NIM</th>

            <th>Nama</th>

            <th>Alamat</th>

            <th>Aksi</th>

        </tr>

    </thead>

    <tbody>

        <?php $i 1 ?>
        <?php foreach($mahasiswa as $m): ?>
        <tr>

            <td><?php echo $i++ ?></td>

            <td><?php echo $m->nim ?></td>

            <td><?php echo $m->nama ?></td>

            <td><?php echo $m->alamat ?></td>

            <td></td>

        </tr>

        <?php endforeach ?>
    </tbody>

</table>

<?php echo anchor('data_mahasiswa/add''Tambah Data'?>


Langkah selanjutnya adalah membuat function add() di controller data_mahasiswa.php, tambahkan function ini:



PHP Code:


...

    function 
add(){

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

    }

...



Di sana terdapat code untuk meload file view yang bernama add_view.php…

Silakan buat view add_view.php di folder /system/application/views dengan isi sebagai berikut:



PHP Code:


<h1>Tambah data</h1>

<
form action="" method="post">

    <
table>

        <
tr>

            <
th>NIM</th>

            <
td><input name="nim" /></td>

        </
tr>

        <
tr>

            <
th>Nama</th>

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

        </
tr>

        <
tr>

            <
th>Alamat</th>

            <
td><textarea name="alamat"></textarea></td>

        </
tr>

        <
tr>

            <
th></th>

            <
td><input type="submit" value="tambah" /></td>

        </
tr>

    </
table>

</
form>



Perlu diketahui bahwa cara di atas belum menggunakan library ‘form’ bawaan dari CI.. kita memakai cara manual dulu, sebelum nanti kita bahas penggunaan helper di CI di tutorial selanjutnya…



Method yang digunakan yaitu POST, yang akan menghasilkan sebuah variable array $_POST…



Sebelumnya, kita tambahkan function insert() di model mahasiswa_model.php seperti berikut:



PHP Code:


...

    function 
insert($set){

        
$this->db->insert('mahasiswa'$set);

    }

...



function insert tersebut sudah ada di library database CI, jadi kita tidak usah membuat query ‘insert into….’ lagi…



sekarang, di Controller data_mahasiswa.php kita ubah function add() menjadi seperti berikut:



PHP Code:


...

    function 
add() {

        if(
$_POST==NULL) {

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

        }else {

            
$this->mahasiswa_model->insert($_POST);

            
redirect('data_mahasiswa/index');

        }

    }

...



Kita jelasin, di sana ada fungsi If untuk mengecek apakah data dari $_POST sudah terSET atau belum… kalo kita udah mengklik submit, berarti kita sudah mengeset variable $_POST… jika belum (=NULL), maka program hanya meload view saja….



Sejauh ini, kamu berhasil membuat aplikasi CI untuk menambahkan data ke database dan menampilkannya….



Sementara segini aja dulu ya…

Cheyuz-nya cape 2 jam ngetik trus nih,,, hahaha..

tapi gpp, demi kalian



Nanti di part III kita akan membuat untuk update dan delete nya….

selamat mencoba…
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description

Video Gallery

  • Linux
    sekedar informasi, sekarang zimbra sudah diakuisisi oleh VMWare. jadi nantinya logo webmail zimbra kita akan ada logo VMware-nya.
  • Foto
    kalo mau buat efek foto kembar yang penting pilih minimal 3 foto (mau lebih juga terserah anda aj..)yang setingan tempat dan letak kameranya
  • Network
    setelah anda membongkar dus, dan menyiapkan koneksi. yang perlu anda lakukan adalah:
  • Serba-Serbi
    16 Cara Mengikat Sepatu Ala Jepang share buat teman2 & cew ato cow yang senang menggunakan sepatu bertali. Selamat mencoba
  • Tips-Trik
    Jika agan pengguna komputer, pasti sudah tidak asing lagi dengan yang namanya mouse. Mouse adalah salah satu pendamping setia dari komputer. Hampir semua jenis mouse memiliki 3 buah tombol. Tombol kiri, tombol kanan dan tombol scroll yang ada di tengah
  • Windows
    Windows 7 merupakan versi yang jauh lebih baik daripada versi terbaru windows, yaitu windows Vista. Dan windows 7 dilengkapi dengan banyak fitur baru.