Jul 25, 2011

Belajar Aplikasi CRUD Sederhana Dengan CodeIgniter

Mastereon - Setelah sebelumnya kita Belajar Membuat Login Sederhana CodeIgniter, sekarang saatnya kawan ber-eksperimen belajar aplikasi CRUD (Create, Read, Update dan Delete) sederhana dengan CodeIgniter. Dengan aplikasi CRUD ini kita dapat menambah, membaca, mengedit dan menghapus data pada database. Sebelumnya kita telah membuat aplikasi Login dimana setelah melakukan proses Login, kita akan di 'redirect' alias dibawa ke halaman 'dashboard' secara otomatis. Sekarang kita akan mengubah aturannya yaitu setelah Login kita akan di-redirect ke halaman data_mahasiswa.
Buka kembali file 'admin.php' pada application > controllers, cari kode berikut:
$this->session->set_userdata($session_data);
redirect('admin/dashboard');
Ganti dengan menjadi kode berikut:
$this->session->set_userdata($session_data);
redirect('data_mahasiswa');
Sekarang kita akan membuat sebuah halaman 'Mahasiswa' yang tentunya terproteksi oleh Login, artinya untuk mengakses halaman ini kita harus melakukan login terlebih dahulu. Di halaman ini kita dapat melakukan proses CRUD (Create, Read, Update dan Delete) artinya kita bisa menambah, menampilkan, mengubah dan menghapus data mahasiswa. Sebelumnya kita harus menyiapkan sebuah tabel SQL 'mahasiswa' dengan struktur sebagai berikut:
--
-- Table structure for table `mahasiswa`
--
CREATE TABLE IF NOT EXISTS `mahasiswa` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nim` varchar(10) NOT NULL,
`nama` varchar(50) NOT NULL,
`alamat` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
--
-- Dumping data for table `mahasiswa`
--
INSERT INTO `mahasiswa` (`id`, `nim`, `nama`, `alamat`) VALUES
(1, '11111111', 'Mastereon', 'Pontianak'),
(2, '22222222', 'Reon', 'Jakarta');
Setelah tabel siap, pertama-tama kita buat file Model dan beri nama 'mahasiswa_model.php' dengan kode berikut:
db->get('mahasiswa')->result();
    }
	
	function insert($add_mahasiswa)
	{
        $this->db->insert('mahasiswa', $add_mahasiswa);
    }
	
	function delete($id)
	{
        $this->db->delete('mahasiswa', array('id'=>$id));
    }
	
	function update($id)
	{
        $this->db->where('id',$id)->update('mahasiswa', $_POST);
    }
    function select($id)
	{
        return $this->db->get_where('mahasiswa', array('id'=>$id))->row();
    }
}
Setelah file model siap, buat sebuah file controller dengan nama 'data_mahasiswa.php' dan isi kode berikut:
load->model('mahasiswa_model');
		//Cek sesi login, bila tidak maka akan jalankan fungsi public function check_logged_in()
		$this->check_logged_in();
    }
    
	function index(){
        $data['mahasiswa'] = $this->mahasiswa_model->selectAll();
        $this->load->view('data_mahasiswa_view', $data);
    }
	
	function add() {
			if($_POST==NULL) {
            $this->load->view('add_view');
        }
		else 
		{
		$add_mahasiswa = array(
				'nim' => $this->input->post('nim') ,
				'nama' => $this->input->post('nama') ,
				'alamat' => $this->input->post('alamat')
            );
            $this->mahasiswa_model->insert($add_mahasiswa);
            redirect('data_mahasiswa/index');
        }
    }
	
	function delete($id)
	{
        $this->mahasiswa_model->delete($id);
        redirect('data_mahasiswa');
    }
	
	function edit($id) 
	{
        if($_POST==NULL) 
		{
            $data['m'] = $this->mahasiswa_model->select($id);
            $this->load->view('edit_view',$data);
        }
		else 
		{
            $this->mahasiswa_model->update($id);
            redirect('data_mahasiswa');
        }
    }
	
	//Fungsi untuk mengecek sesi login
	public function check_logged_in() {
        if ($this->session->userdata('is_login') != TRUE) {
            redirect('users/login', 'refresh');
            exit();
        }
    }
	
}
?>
Terakhir kita buat 3 buah file view, dengan koding sebagai berikut:

data_mahasiswa_view.php

Data Mahasiswa

No NIM Nama Alamat Aksi
nim ?> nama ?> alamat ?> id, 'Ubah') . ' | ' . anchor('data_mahasiswa/delete/'.$m->id, 'Hapus'); ?>

add_view.php

Tambah data

NIM
Nama
Alamat

edit_view.php

Ubah data

NIM
Nama
Alamat
Letakkan semua file-nya di foldernya masing-masing yaitu di folder controllers, models dan views. Untuk mengetesnya silahkan buka browser dan masukkan alamat-nya http://localhost/belajar/index.php/data_mahasiswa, kalau tidak ada kesalahan akan muncul halaman login. Login terlebih dahulu dengan username 'admin' dan password 'admin'. Koding lengkapnya juga bisa di download di sini. Selamat belajar!

Share this

1 Response to "Belajar Aplikasi CRUD Sederhana Dengan CodeIgniter"

  1. Mohon maaf sebelumnya..
    Tutorial yang Anda berikan sungguh membantu ane, gan :)
    Belum lagi, ane masih baru di framework CodeIgniter ini..
    Hmmm, kalo bisa ditambah lagi, gan..tutorialnya! Semoga ilmu yang agan punya, semakin bermanfaat..

    Ditunggu, tutor selanjutnya :)

    #Othides#

    ReplyDelete

DISCLAIMER - Mastereon.com does not host any files on it’s servers. All point to content hosted on third party websites. Mastereon.com does not accept responsibility for content hosted on third party websites and does not have any involvement in the downloading/uploading of movies, softwares, images or else. Mastereon.com just post links available in internet.