Tugas 9 - CRUD

Membuat CRUD dengan Code Igniter

CodeIgniter adalah sebuah web application network yang bersifat open source yang digunakan untuk membangun aplikasi php dinamis. CodeIgniter menjadi sebuah framework PHP dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP yang dapat mempercepat pengembang untuk membuat sebuah aplikasi web. Selain ringan dan cepat, CodeIgniter juga memiliki dokumentasi yang super lengkap disertai dengan contoh implementasi kodenya.

Tahapan untuk membuat CRUD dengan CI adalah sbb : 

  1.  Install XAMPP dan CI
  2. Buat database pada MySql
  3. Buat tabel pada database yang telah dibuat
  4. Buat project CI dan jika sudah, buka config/database.php, kemudian konfigurasi seperti code dibawah ini :
    <?php
    $db['default'] = array(
    	'dsn'	=> '',
    	'hostname' => 'localhost',
    	'username' => 'root',
    	'password' => '',
    	'database' => 'crud',
    	'dbdriver' => 'mysqli',
    	'dbprefix' => '',
    	'pconnect' => FALSE,
    	'db_debug' => (ENVIRONMENT !== 'production'),
    	'cache_on' => FALSE,
    	'cachedir' => '',
    	'char_set' => 'utf8',
    	'dbcollat' => 'utf8_general_ci',
    	'swap_pre' => '',
    	'encrypt' => FALSE,
    	'compress' => FALSE,
    	'stricton' => FALSE,
    	'failover' => array(),
    	'save_queries' => TRUE
    );
    ?>
    
      
  5. Konfigurasi Model, View, dan Controller :
- Model :
<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Siswa_model extends CI_Model
{
    private $table = "tb_siswa";

    public function getAll()
    {
        return $this->db->get($this->table)->result();
	}
	
	public function save($data)
    {
        return $this->db->insert($this->table, $data);
    }
    
    public function getById($id)
    {
        return $this->db->get_where($this->table, ["kd_siswa" => $id])->row();
    }

    public function update($data,$id)
    {
        return $this->db->update($this->table, $data, array('kd_siswa' => $id));
    }

    public function delete($id)
    {
        return $this->db->delete($this->table, array("kd_siswa" => $id));
    }
}
 
- View :
<main role="main" class="container">
	<div class="card">
		<div class="card-header">Data Mahasiswa</div>
		<div class="card-body">
			<a href="<?php echo base_url(); ?>siswa/create" class="btn btn-success">Buat</a>
			<br />
			<br />
			<table class="table table-bordered">
				<tr>
					<th width="5%">No</th>
					<th>Nama</th>
					<th>Jenis Kelamin</th>
					<th>Tanggal Lahir</th>
					<th>Tempat Lahir</th>
					<th>Telp</th>
					<th>Alamat</th>
					<th>Action</th>
				</tr>
				<?php
				$no = 1;
				foreach ($siswa as $row) {
				?>
					<tr>
						<td widtd="5%"><?php echo $no++; ?></td>
						<td><?php echo $row->nama; ?></td>
						<td><?php echo $row->jenis_kelamin; ?></td>
						<td><?php echo $row->tanggal_lahir; ?></td>
						<td><?php echo $row->tempat_lahir; ?></td>
						<td><?php echo $row->no_telp; ?></td>
						<td><?php echo $row->alamat; ?></td>
						<td>
							<a href="<?php echo base_url(); ?>siswa/edit/<?php echo $row->kd_siswa; ?>" class="btn btn-warning">Edit</a>
							<a href="<?php echo base_url(); ?>siswa/delete/<?php echo $row->kd_siswa; ?>" class="btn btn-danger">Hapus</a>
						</td>
					</tr>
				<?php
				}
				?>
			</table>
		</div>
	</div>
</main>

<div class="container">
  	<div class="card">
  		<div class="card-header">Create Mahasiswa</div>
  		<div class="card-body">
  			<?php
				if (validation_errors() != false) {
				?>
  				<div class="alert alert-danger" role="alert">
  					<?php echo validation_errors(); ?>
  				</div>
  			<?php
				}
				?>
  			<form method="post" action="<?php echo base_url(); ?>siswa/save">
  				<div class="form-group">
  					<label for="nama">Nama</label>
  					<input type="text" class="form-control" id="nama" name="nama">
  				</div>

  				<div class="form-group">
  					<label for="jenis_kelamin">Jenis Kelamin</label>
  					<select name="jenis_kelamin" id="jenis_kelamin" class="form-control">
  						<option value="pria">Pria</option>
  						<option value="wanita">Wanita</option>
  					</select>
  				</div>

  				<div class="form-group">
  					<label for="tempat_lahir">Tempat Lahir</label>
  					<input type="text" class="form-control" id="tempat_lahir" name="tempat_lahir">
  				</div>

  				<div class="form-group">
  					<label for="tgl_lahir">Tanggal Lahir</label>
  					<input type="text" class="form-control datepicker" id="tanggal_lahir" name="tanggal_lahir">
  				</div>

  				<div class="form-group">
  					<label for="no_telp">No Telp</label>
  					<input type="number" class="form-control" id="no_telp" name="no_telp">
  				</div>

  				<div class="form-group">
  					<label for="alamat">Alamat</label>
  					<textarea class="form-control" name="alamat" id="alamat"></textarea>
  				</div>

  				<button type="submit" class="btn btn-primary">Submit</button>
  			</form>
  		</div>
  	</div>
  </div>

<div class="container">
  	<div class="card">
  		<div class="card-header">Edit Mahasiswa</div>
  		<div class="card-body">
  			<?php
				if (validation_errors() != false) {
				?>
  				<div class="alert alert-danger" role="alert">
  					<?php echo validation_errors(); ?>
  				</div>
  			<?php
				}
				?>
  			<form method="post" action="<?php echo base_url(); ?>siswa/update">
  				<input type="hidden" name="kd_siswa" id="kd_siswa" value="<?php echo $siswa->kd_siswa; ?>" />
  				<div class="form-group">
  					<label for="nama">Nama</label>
  					<input type="text" value="<?php echo $siswa->nama; ?>" class="form-control" id="nama" name="nama">
  				</div>

  				<div class="form-group">
  					<label for="jenis_kelamin">Jenis Kelamin</label>
  					<select name="jenis_kelamin" id="jenis_kelamin" class="form-control">
  						<option value="pria" <?php echo ($siswa->jenis_kelamin ? 'pria' : 'selected'); ?>>Pria</option>
  						<option value="wanita" <?php echo ($siswa->jenis_kelamin ? 'wanita' : 'selected'); ?>>Wanita</option>
  					</select>
  				</div>

  				<div class="form-group">
  					<label for="tempat_lahir">Tempat Lahir</label>
  					<input type="text" class="form-control" id="tempat_lahir" name="tempat_lahir" value="<?php echo $siswa->tempat_lahir; ?>">
  				</div>

  				<div class="form-group">
  					<label for="tgl_lahir">Tanggal Lahir</label>
  					<input type="text" class="form-control datepicker" readonly id="tanggal_lahir" name="tanggal_lahir" value="<?php echo $siswa->tanggal_lahir; ?>">
  				</div>

  				<div class="form-group">
  					<label for="no_telp">No Telp</label>
  					<input type="number" class="form-control" value="<?php echo $siswa->no_telp; ?>" id="no_telp" name="no_telp">
  				</div>

  				<div class="form-group">
  					<label for="alamat">Alamat</label>
  					<textarea class="form-control" name="alamat" id="alamat"><?php echo $siswa->alamat; ?></textarea>
  				</div>

  				<button type="submit" class="btn btn-primary">Update</button>
  			</form>
  		</div>
  	</div>
  </div>
 
- Controller :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Siswa extends CI_Controller {

	public function __construct()
    {
        parent::__construct();
        $this->load->model("siswa_model");
        $this->load->library('form_validation');
    }

	public function index()
	{
		$data['siswa'] = $this->siswa_model->getAll();
		$this->load->view('template/header');
		$this->load->view('siswa/index',$data);
		$this->load->view('template/footer');
	}

	public function create()
	{
		$this->load->view('template/header');
		$this->load->view('siswa/create');
		$this->load->view('template/footer');
	}

	public function save()
	{
		$this->form_validation->set_rules('nama','Nama','required');
		$this->form_validation->set_rules('jenis_kelamin','Jenis Kelamin','required');
		$this->form_validation->set_rules('tempat_lahir','Tempat Lahir','required');
		$this->form_validation->set_rules('tanggal_lahir','Tanggal Lahir','required');
		$this->form_validation->set_rules('no_telp','Nomor Telepon','required');
		$this->form_validation->set_rules('alamat','Alamat','required');
		if ($this->form_validation->run()==true)
        {
			$data['nama'] = $this->input->post('nama');
			$data['jenis_kelamin'] = $this->input->post('jenis_kelamin');
			$data['tempat_lahir'] = $this->input->post('tempat_lahir');
			$data['tanggal_lahir'] = $this->input->post('tanggal_lahir');
			$data['no_telp'] = $this->input->post('no_telp');
			$data['alamat'] = $this->input->post('alamat');
			$this->siswa_model->save($data);
			redirect('siswa');
		}
		else
		{
			$this->load->view('template/header');
			$this->load->view('siswa/create');
			$this->load->view('template/footer');
		}
	}

	function edit($kd_siswa)
	{
		$data['siswa'] = $this->siswa_model->getById($kd_siswa);
		$this->load->view('template/header');
		$this->load->view('siswa/edit',$data);
		$this->load->view('template/footer');
	}

	public function update()
	{
		$this->form_validation->set_rules('nama','Nama','required');
		$this->form_validation->set_rules('jenis_kelamin','Jenis Kelamin','required');
		$this->form_validation->set_rules('tempat_lahir','Tempat Lahir','required');
		$this->form_validation->set_rules('tanggal_lahir','Tanggal Lahir','required');
		$this->form_validation->set_rules('no_telp','Nomor Telepon','required');
		$this->form_validation->set_rules('alamat','Alamat','required');
		if ($this->form_validation->run()==true)
        {
		 	$kd_siswa = $this->input->post('kd_siswa');
			$data['nama'] = $this->input->post('nama');
			$data['jenis_kelamin'] = $this->input->post('jenis_kelamin');
			$data['tempat_lahir'] = $this->input->post('tempat_lahir');
			$data['tanggal_lahir'] = $this->input->post('tanggal_lahir');
			$data['no_telp'] = $this->input->post('no_telp');
			$data['alamat'] = $this->input->post('alamat');
			$this->siswa_model->update($data,$kd_siswa);
			redirect('siswa');
		}
		else
		{
			$kd_siswa = $this->input->post('kd_siswa');
			$data['siswa'] = $this->siswa_model->getById($kd_siswa);
			$this->load->view('template/header');
			$this->load->view('siswa/edit',$data);
			$this->load->view('template/footer');
		}
	}

	function delete($kd_siswa)
	{
		$this->siswa_model->delete($kd_siswa);
		redirect('siswa');
	}

}

Jika sudah, maka tampilannya akan seperti berikut : 



Komentar

Postingan populer dari blog ini

Tugas 6 - Razor Page

TUGAS 2 PBKK C - Membuat Sistem Application Dengan .NET Framework

TUGAS 7 - Mobile Development With Xamarin