You are on page 1of 7

20181 PEMROGRAMAN WEB 2

CRUD DI FRAMEWORK CODEIGNITER-TEMPLATE BOOTSTRAP ADMINLTE (Tabel Pemasok)

Pastikan anda sudah menyelesaikan video tutorial yang telah saya publish di channel youtube saya yaitu :
Novinaldi.

Berikut script code yang telah saya buat untuk tabel pemasok :

File controller -> Pemasok.php


<?php
class Pemasok extends CI_Controller {

public function __construct() {


parent::__construct();
$this->load->model('Modelpemasok', 'p');
$this->load->library(array('form_validation', 'session'));
}

function index() {
$tombol_cari = $this->input->post('tombolcari', true);
if (isset($tombol_cari)) {
$cari = $this->input->post('cari', true);
$this->session->set_userdata('caripemasok', $cari);
redirect('pemasok/index');
} else {
$cari = $this->session->userdata('caripemasok');
}

$querypemasok = $this->p->datapemasok($cari);

//Ini Konfigurasi Pagination


$this->load->library('pagination');
$config['base_url'] = site_url('pemasok/index/');
$config['total_rows'] = $querypemasok->num_rows();
$config['per_page'] = '5';
$config['next_link'] = 'Next';
$config['prev_link'] = 'Previous';
$config['first_link'] = 'Awal';
$config['last_link'] = 'Akhir';
$config['uri_segment'] = 3;

//Custom Pagination
$config['attributes']['rel'] = false;
$config['full_tag_open'] = '<nav aria-label="Page navigation example"><ul
class="pagination">';
$config['full_tag_close'] = '</ul></nav>';
$config['num_tag_open'] = '<li class="page-item">';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="page-item disabled"><li class="page-item active"><a
class="page-link" href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['next_tag_open'] = '<li class="page-item">';
$config['next_tag_close'] = '</li>';
$config['prev_tag_open'] = '<li class="page-item">';
$config['prev_tag_close'] = '</li>';
$config['first_tag_open'] = '<li class="page-item">';
$config['first_tag_close'] = '</li>';
$config['last_tag_open'] = '<li class="page-item">';
$config['last_tag_close'] = '</li>';
//custom pagination

$this->pagination->initialize($config);
$uri = $this->uri->segment(3);
$per_page = $config['per_page'];

$querypemasok_perpage = $this->p->datapemasok_perpage($cari, $per_page, $uri);

Novinaldi, M.Kom
20181 PEMROGRAMAN WEB 2

$data = array(
'tampil' => $querypemasok_perpage,
'cari' => $cari
);
$template = array(
'judulkonten' => 'Manajemen Data Pemasok',
'menusidebar' => $this->load->view('template/menu', '', TRUE),
'konten' => $this->load->view('pemasok/viewdata', $data, true),
);
$this->parser->parse('template/halaman', $template);
}

public function tambah() {


$template = array(
'judulkonten' => 'Form Tambah Pemasok',
'menusidebar' => $this->load->view('template/menu', '', TRUE),
'konten' => $this->load->view('pemasok/formtambah', '', TRUE),
);
$this->parser->parse('template/halaman', $template);
}

public function simpan() {


$kode = $this->input->post('kode', TRUE);
$nama = $this->input->post('nama', TRUE);
$alamat = $this->input->post('alamat', TRUE);
$telp = $this->input->post('telp', TRUE);

$this->form_validation->set_rules('kode', 'Kode Pemasok',


'required|min_length[5]|max_length[5]|is_unique[pemasok.pemkode]', array(
'required' => '%s tidak boleh kosong',
'min_length' => 'Minimal Karakter Dari %s adalah 5 Karakter',
'max_length' => 'Maksimal Karakter Dari %s adalah 5 Karakter',
'is_unique' => '%s sudah ada didalam database, coba yang lain'
));
$this->form_validation->set_rules('nama', 'Nama Pemasok', 'required', array(
'required' => '%s tidak boleh kosong'
));
$this->form_validation->set_rules('alamat', 'Alamat', 'required', array(
'required' => '%s tidak boleh kosong'
));
$this->form_validation->set_rules('telp', 'No.Telp/HP', 'required|numeric', array(
'required' => '%s tidak boleh kosong',
'numeric' => '%s harus angka'
));

if ($this->form_validation->run() == FALSE) {
$session = array(
'kode' => $kode,
'nama' => $nama,
'alamat' => $alamat,
'telp' => $telp,
'pesan' => '<div class="alert alert-danger"><strong>' . validation_errors() .
'</strong></div>'
);
$this->session->set_flashdata($session);
redirect('pemasok/tambah');
} else {
$querysimpandata = $this->p->simpandata($kode, $nama, $alamat, $telp);
if ($querysimpandata) {
$pesansukes = '<div class="alert alert-success"><strong>Data berhasil
disimpan</strong></div>';
$this->session->set_flashdata('pesan', $pesansukes);
redirect('pemasok/tambah');
}
}
}

public function edit() {


$kode = $this->uri->segment(3);
Novinaldi, M.Kom
20181 PEMROGRAMAN WEB 2

$queryambildata = $this->p->ambildata($kode);
if ($queryambildata->num_rows() > 0) {
$row = $queryambildata->row_array();
$data = array(
'kode' => $row['pemkode'],
'nama' => $row['pemnama'],
'alamat' => $row['pemalamat'],
'telp' => $row['pemnotelp']
);
} else {
exit('Maaf Data tidak ditemukan');
}
$template = array(
'judulkonten' => 'Form Edit Pemasok',
'menusidebar' => $this->load->view('template/menu', '', TRUE),
'konten' => $this->load->view('pemasok/formedit', $data, TRUE),
);
$this->parser->parse('template/halaman', $template);
}

public function update() {


$kode = $this->input->post('kode', TRUE);
$nama = $this->input->post('nama', TRUE);
$alamat = $this->input->post('alamat', TRUE);
$telp = $this->input->post('telp', TRUE);

$queryupdatedata = $this->p->updatedata($kode, $nama, $alamat, $telp);


if ($queryupdatedata) {
$pesansukes = '<div class="alert alert-success"><strong>Data berhasil di-
Update</strong></div>';
$this->session->set_flashdata('pesan', $pesansukes);
redirect('pemasok/edit/' . $kode);
}
}

public function hapus() {


$kode = $this->uri->segment(3);
$queryambildata = $this->p->ambildata($kode);
if ($queryambildata->num_rows() > 0) {
$this->p->hapusdata($kode);
$pesansukes = '<div class="alert alert-success">'
. '<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>'
. '<strong>Data Dengan Kode Pemasok : ' . $kode . ' berhasil di-Hapus</strong>'
. '</div>';
$this->session->set_flashdata('pesan', $pesansukes);
redirect('pemasok/index');
} else {
exit('Maaf Data tidak ditemukan');
}
}
}

File model -> Modelpemasok.php


Novinaldi, M.Kom
20181 PEMROGRAMAN WEB 2

<?php
class Modelpemasok extends CI_Model {

public function datapemasok($cari) {


$arraycari = array(
'pemkode' => $cari,
'pemnama' => $cari
);
$this->db->or_like($arraycari);
return $this->db->get('pemasok'); //query builder ci
}

public function simpandata($kode, $nama, $alamat, $telp) {


$field = array(
'pemkode' => $kode,
'pemnama' => $nama,
'pemalamat' => $alamat,
'pemnotelp' => $telp
);
return $this->db->insert('pemasok', $field);
}

public function ambildata($kode) {


return $this->db->get_where('pemasok', array('pemkode' => $kode));
}

public function updatedata($kode, $nama, $alamat, $telp) {


$field = array(
'pemnama' => $nama,
'pemalamat' => $alamat,
'pemnotelp' => $telp
);
$this->db->where('pemkode', $kode);
return $this->db->update('pemasok', $field);
}

public function hapusdata($kode) {


return $this->db->delete('pemasok', array('pemkode' => $kode));
}

public function datapemasok_perpage($cari, $per_page, $uri) {


$arraycari = array(
'pemkode' => $cari,
'pemnama' => $cari
);
$this->db->or_like($arraycari);
return $this->db->get('pemasok', $per_page, $uri);
}
}

File view -> viewdata.php


<script>
function tambahdata() {
location.href = ('<?php echo site_url('pemasok/tambah') ?>');
}
function editdata(k) {
location.href = ('<?php echo site_url('pemasok/edit/') ?>' + k);
}
function hapusdata(kode) {
pesan = confirm('Yakin Data Dengan Kode Konsumen : "' + kode + '" ini dihapus');
if (pesan) {
location.href = ('<?php echo site_url('pemasok/hapus/') ?>' + kode);
} else
return false;
}
</script>
Novinaldi, M.Kom
20181 PEMROGRAMAN WEB 2

<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">
<button type="button" class="btn btn-primary" onclick="return tambahdata();">
<i class="fa fa-plus"></i> Tambah Data
</button>
</h3>
</div>
<div class="box-body">
<div class="table table-responsive">
<?php echo $this->session->flashdata('pesan') ?>
<?php echo form_open('', array('class' => 'form-horizontal')) ?>
<div class="row form-group">
<div class="col col-md-2">
<label class="form-control-label">Cari Data</label>
</div>
<div class="col-12 col-md-4">
<input type="text" name="cari" value="<?php echo $cari; ?>"
class="form-control" placeholder="Input Kode dan Nama Pemasok">
</div>
<div class="col-12 col-md-2">
<button type="submit" class="btn btn-success" name="tombolcari">
<i class="fa fa-search"></i>
</button>
</div>
</div>
<?php echo form_close(); ?>
<table class="table table-striped">
<thead>
<tr>
<th>No</th>
<th>Kode Pemasok</th>
<th>Nama Pemasok</th>
<th>Alamat</th>
<th>No.Telp</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$nomor = 0 + $this->uri->segment(3);
foreach ($tampil->result_array() as $row):
$nomor++;
?>
<tr>
<td><?php echo $nomor; ?></td>
<td><?php echo $row['pemkode']; ?></td>
<td><?php echo $row['pemnama']; ?></td>
<td><?php echo $row['pemalamat']; ?></td>
<td><?php echo $row['pemnotelp']; ?></td>
<td>
<button type="button" class="btn btn-info"
onclick="return editdata('<?php echo
$row['pemkode'] ?>');" title="Edit Data">
<i class="fa fa-pencil"></i>
</button>
<button type="button" class="btn btn-danger"
onclick="return hapusdata('<?php echo
$row['pemkode'] ?>');" title="Hapus Data">
<i class="fa fa-remove"></i>
</button>
</td>
</tr>
<?php
endforeach;
Novinaldi, M.Kom
20181 PEMROGRAMAN WEB 2

?>
</tbody>
</table>
<div class="pull-right">
<?php echo $this->pagination->create_links(); ?>
</div>
</div>
</div>
</div>
</div>
</div>

File view-> formtambah.php


<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">
<button type="button" class="btn btn-warning" onclick="location.href = ('<?php
echo site_url('pemasok') ?>')">
<i class="fa fa-backward"></i> Kembali Lihat Data
</button>
</h3>
</div>
<div class="box-body">
<?php echo $this->session->flashdata('pesan'); ?>
<?php echo form_open('pemasok/simpan', array('class' => 'form-horizontal')); ?>
<div class="form-group">
<label class="col-sm-2 control-label">Kode Pemasok</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="kode" value="<?php echo
$this->session->flashdata('kode');?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Nama Pemasok</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="nama" value="<?php echo
$this->session->flashdata('nama');?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Alamat</label>
<div class="col-sm-8">
<textarea class="form-control" name="alamat"><?php echo $this->session-
>flashdata('alamat');?></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">No.Telp/HP</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="telp" value="<?php echo
$this->session->flashdata('telp');?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"></label>
<div class="col-sm-4">
<button type="submit" class="btn btn-primary">
<i class="fa fa-save"></i> Simpan
</button>
</div>
</div>
<?php echo form_close(); ?>
Novinaldi, M.Kom
20181 PEMROGRAMAN WEB 2

</div>
</div>
</div>
</div>

File view-> formedit.php


<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">
<button type="button" class="btn btn-warning" onclick="location.href = ('<?php
echo site_url('pemasok') ?>')">
<i class="fa fa-backward"></i> Kembali Lihat Data
</button>
</h3>
</div>
<div class="box-body">
<?php echo $this->session->flashdata('pesan'); ?>
<?php echo form_open('pemasok/update', array('class' => 'form-horizontal')); ?>
<div class="form-group">
<label class="col-sm-2 control-label">Kode Pemasok</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="kode" value="<?php echo
$kode; ?>" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Nama Pemasok</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="nama" value="<?php echo
$nama; ?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Alamat</label>
<div class="col-sm-8">
<textarea class="form-control" name="alamat"><?php echo $alamat;
?></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">No.Telp/HP</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="telp" value="<?php echo
$telp; ?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"></label>
<div class="col-sm-4">
<button type="submit" class="btn btn-success">
<i class="fa fa-save"></i> Update
</button>
</div>
</div>
<?php echo form_close(); ?>
</div>
</div>
</div>
</div>

Novinaldi, M.Kom

You might also like