TUGAS 7 PBKK - Membuat CRUD menggunakan CodeIgniter 3

TUGAS 7 PBKK - Membuat CRUD menggunakan CodeIgniter 3

Source Code : https://github.com/vierifath/Tugas7PBKK-B

 

        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. 

        Pada tugas 7 PBKK - B diminta untuk membuat sebuah website yang berisi create, read, update, and delete (CRUD) mahasiswa dengan menggunakan CodeIgniter. Sebelumnya, lakukan beberapa hal berikut:

Install XAMPP atau Web Server

Download Code Igniter

Tutorial CRUD CodeIgniter


Berikut tahapan untuk membuat website CRUD menggunakan CodeIgniter 3

 

Langkah #1 Membuat database pada mysql


 



Langkah #2 Selanjutnya kita membuat sebuah tabel di database tersebut, Buat tabel dengan nama tb_siswa dengan struktur sebagai berikut :


Langkah #3 Konfigurasi CodeIgniter. Buka config/database.php, kemudian konfigurasikan seperti ini:

$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
);


 

Langkah #4 Konfigurasi CRUD 

  •  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 
 
    1. Menampilkan data mahasiswa

<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>
 

        2. Menambahkan data mahasiswa

  <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>

 

 

        3. Mengedit data mahasiswa

  <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');
	}

}


Berikut tampilan website :

  • Tampilan data mahasiswa

  •   Create data mahasiswa



 

  •   Edit data mahasiswa
 


Berikut tampilan database :


Untuk mengakses source code dapat mengunjungi link github yang tertera di bawah judul. Terimakasih.


Comments

Popular posts from this blog

EAS PBKK B - PERABOTANKU - Aplikasi Toko Online dengan Codeigniter

Tugas 2 PBKK - Aplikasi .NET Framework