Minggu, 01 Mei 2016

Membuat CRUD


PEMBUATAN CRUD PADA CODEIGNITER (CI)
kaliini saya akan membahas tentang CRUD. CRUD yang seperti saya  ketahui adalah (create, read, update, dan delete). Pada pembuatan website sederhana ini saya membuat CRUD,dimana saya bisa membuat (create) membaca (read), mengubah (update) dan juga menghapus (delete) isi dari web yang akan saya buat nantinya.
Langkah pertama yang saya lakukan yaitu menjalankan xampp,

setelah itu buka editor text . Di sini saya menggunakan Sublime text untuk editor text nya. 



Kemudian folder CodeIgniter yang sudah di sediakan di letakan ke dalam direktori xampp/htdoctsdan ganti nama nya sesuai keinginan anda, misalnya  Latihan_1.
Setelah itu masukkan folder CodeIgniter yang sudah berubah nama menjadi Latihan_1ke dalam editor sublime text.
Kemudian, buat database  dengan nama db_mahasiswa dan tabel mahasiswa, 

dan tabel Mahasiswa

Lakukan konfigurasi database,
Untuk knfigurasi database saya masuk pada editorautoload.phpkemudiantambahkan database seperti berikut ini.

Pada Konfigurasi database.php.saya ketikan nama database yang sudah di buat sebelumnya, dan username nya adalah root. Seperti gambar di bawah ini.


Menampilkandata dari database,
Pada folder controller sayamembuat file baru dengan nama Mahasiswa.php. dan ketikan kode berikut


<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Mahasiswa extends CI_Controller {
public function index()
{
$this->load->model('modelmahasiswa');
$judul                          = "Daftar Mahasiswa";
$data['judul']                = $judul;
$data['mahasiswa']       = $this->modelmahasiswa->list_mahasiswa()->result();
$this->load->view('vmahasiswa',$data);
}
}


Pada folder model, saya membuat file baru dengan nama ModelMahasiswa.phpkemudian memasukkan kode berikut kedalam file tersebut

<?php
class Modelmahasiswa extends CI_Model {
function list_mahasiswa(){
$mahasiswa = $this->db->get('mahasiswa');
return $mahasiswa;
}
}





Pada folder view,  saya membuat file baru  dengan nama Vmahasiswa.php. dan  saya masukkan kode berikut
 
<?php echo $judul; ?>
<?php echo anchor('mahasiswa/input', ' Input Data Mahasiswa');
?>
<hr>
<table border="1">
<tr>
<th>NIM</th>
<th>NAMA</th>
<th>AGAMA</th>
<th>ALAMAT</th>
</tr>
<?php foreach ($mahasiswa as $m){
            echo"
            <tr>
            <td>$m->nim</td>
            <td>$m->nama</td>
            <td>$m->agama</td>
            <td>$m->alamat</td>
            </tr>";
} ?>
</table>





Selajutnya sayamembuat inputandata,
langkah-langkah untuk membuat inputan data
 saya membuka file Mahasiswa.php yang sudah saya buat di folder controller tadi. Kemudian saya tambahkan kode berikut tepat di bawah tutup kurawal.


function input (){
                $this->load->view('inputmahasiswa');
}
function simpan (){
                $datamahasiswa = array(
                'nim'                      => $this->input->post('nim'),
                'nama'                   => $this->input->post('nama'),
                'agama'                 => $this->input->post('agama'),
                'alamat'                                => $this->input->post('alamat'));
$this->db->insert('mahasiswa', $datamahasiswa);
redirect('mahasiswa');
}



Pada folder view saya buat lagi file baru dengan nama inputmahasiswa.php, dan memasukkan kode berikut kedalam file inputmahasiswa.php

<!DOCTYPE html>
<html>
<head>
<p></p>
<title>Input Mahasiswa</title>
</head>
<body>
<?php echo form_open('mahasiswa/simpan'); ?>
<table>
<tr>
<td>NIM</td>
<td>
<?php echo form_input('nim', ''); ?>
</td>
</tr>
<tr>
<td>Nama</td>
<td>
<?php echo form_input('nama', ''); ?>
</td>
</tr>
<tr>
<td>Agama</td>
<td>
<?php echo form_input('agama', ''); ?>
</td>
</tr>
<tr>
<td>Alamat</td>
<td>
<?php echo form_textarea('alamat', ''); ?>
</td>
</tr>
<tr>
<td></td>
<td><?php echo form_submit('simpan', 'SIMPAN');
?>
</td>
</tr>
</table>
<?php echo form_close();
?>
</body>
</html>


kemudian hasilnya berikut


Selanjutnya saya membuatEdit Data,
  Saya Buka kembali file Mahasiswa.php yang ada pada folder controller dan kemudian saya tambahkan kode berikut

function edit (){
            $this->load->model('modelmahasiswa');
            $nim = $this->uri->segment(3);
            $data ['mahasiswa'] = $this->modelmahasiswa->editmahasiswa($nim)->row_array();
            $this->load->view('editmahasiswa', $data);
} function edit_simpan (){
            $id                               = $this->input->post('id');
            $datamahasiswa           = array(
                        'nim'                 => $this->input->post('nim'),
                        'nama'              => $this->input->post('nama'),
                        'agama'             => $this->input->post('agama'),
                        'alamat'            => $this->input->post('alamat'));
                        $this->db->where('nim',$id);
            $this->db->update('mahasiswa', $datamahasiswa);
            redirect('mahasiswa');
}



Lalu saya Buka kembali file modelmahasiswa.php yang ada pada folder model dan saya tambahkan kode berikut tepat di bawah tutup kurawal

function editmahasiswa ($nim){
            return $this->db->get_where('mahasiswa',array('nim'=>$nim));
}



Selanjutnya pada folder view sama buat lagi satu file baru dengan nama edtmahasiswa.php, dan saya masukkan kode berikut

<!DOCTYPE html>
<html>
<head>
<title>Input Mahasiswa</title>
</head>
<body>
<?php echo form_open('mahasiswa/edit_simpan'); ?>
<?php echo form_hidden('id',$this->uri->segment(3)); ?>
<table>
<tr>
<td>NIM</td>
<td>
<?php echo form_input('nim', $mahasiswa ['nim']); ?>
</td>
</tr>
<tr>
<td>Nama</td>
<td>
<?php echo form_input('nama', $mahasiswa ['nama']); ?>
</td>
</tr>




<tr>
<td>Agama</td>
<td>
<?php echo form_input('agama', $mahasiswa ['agama']); ?>
</td>
</tr>
<tr>
<td>Alamat</td>
<td>
<?php echo form_textarea('alamat', $mahasiswa ['alamat']); ?>
</td>
</tr>
<tr>
<td></td>
<td>
<?php echo form_submit('simpan', 'SIMPAN');
?>
</td>
</tr>
</table>
<?php echo form_close()
?>
</body>
</html>



setelah itu saya buka file vmahasiswa.php yang ada pada folder view yang sudah saya buat sebelumnya dan saya tambahkan kode berikut

  1.   <?php echo anchor('mahasiswa/input', ' Input Data Mahasiswa');  ?> 
  2.  <th>AKSI</th>
  3. <td>"anchor('mahasiswa/edit/'.$m->nim, 'EDIT')."
Untuk lebih jelasnya perhatikkan gambar berikut yang telah saya buat, dan sesuaikan seperti gambar ini. Kode yang di beri tanda merah adalah kode yang telah di tambahkan,
 


Yang Terakhir saya membuat kode hapus data.
untuk membuat perinta delete saya membuka file Mahasiswa.php yang ada di controller dan saya tambahkan kode berikut
function hapus(){
            $nim = $this->uri->segment(3);
            $this->db->where('nim',$nim);
            $this->db->delete('mahasiswa');
            redirect('mahasiswa');
}
}




Dan pada file vmahasiswa.phpsaya juga tambahkan kode berikut,

".anchor('mahasiswa/hapus/'.$m->nim, 'HAPUS')."</td>

Saya Ketikan kode di atas tepat di bawah kode edit data seperti gambar berikut.
Selamat mencoba,,,