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:
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
<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'); } }
Comments
Post a Comment