Langsung ke konten utama

Database + CRUD + PHP Code Igniter + XAMPP = GGWP, Cara CRUD paling Gampang dan Menarik!!!!

CRUD? GAMPANG!
     Berikut cara-cara yang harus kamu persiapkan untuk memulai..

  1. Membuat Database
  2. Konfigurasi CI
  3. Membuat Model
  4. Membuat Controller 
  5. Membuat View
  6. Membat Form Add 
  7. Membuat Form Edit
  8. Membuat Fitur Hapus Data
Tapi sebelum melakukan tahap-tahap diatas, kita samain dulu yuk Bootstrap ,file dan lain-lain yang akan kita pergunakan. 
Kalian tentunya sudah punya data CI kan? nah ganti nama file nya dengan nama CodeIgniter2. nah nanti kita akan membuat website jualan batik, kenapa namanya CodeIgniter2 ? karena untuk bedain dari tutor sebelumnya yang nama filenya CodeIgniter.
kalo sudah, dicek dulu di http://localhost/CodeIgniter2.
kalo sudah muncul tampilan welcome page dari Code Igniter maka tahap awal sudah berhasil.
Nah selanjutnya untuk Bootstrapnya kita memakai template SB Admin. download disini.
menurut saya SB Admin sudah memakai Bootstrap 4 yang bagus. jadi saya pilih itu deh sebagai template.. oke lanjut yaaa.
Langkah-Langkah konfigurasi Bootstrap
  • Konfigurasi di CI nya.
           Konfigurasi Base Urlnya, di config/config.php. isi bagian 
           $config['base_url'] = '' ; menjadi $config['base_url'] = 'http://localhost/CodeIgniter2';
           lalu di autoload.php nya diganti menjadi $autoload['helper'] = array('url');
           di constants.php tambahkan kode sebagai berikut di paling bawah kode, :             define('SITE_NAME','Tokobatik');
       gampang kan? gak paham? anda cupu wkwk, coba deh teliti lagi liat kodenya.. latihan memahami peletakan kode yahh!! semangat!!!
  • Download dan Ekstrak SB Admin
           Ekstrak aja seperti biasa boi
  • Tambahkan SB Admin ke CI
          copy paste aja yang ini boi... jadi yang di Copy Paste itu folder css,js dan vendor, nah yang vendor di rename aja jadi assets, biar ga numpuk vendornya.
  • Membuat dan Modifikasi Template
          Buat folder baru namanya admin, buat didalam folder views di CodeIgniter 2 yahh, nah didalam folder views nanti ditambahin file baru namanya overview.php. isi dari overviewnya dari index.html di SB Admin, copy semua kodenya lalu paste di overview.php yahh.
nih kalo punya aku.. 

<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->load->view("admin/_partials/head.php") ?>
</head>
<body id="page-top">

<?php $this->load->view("admin/_partials/navbar.php") ?>

<div id="wrapper">

<?php $this->load->view("admin/_partials/sidebar.php") ?>

<div id="content-wrapper">

<div class="container-fluid">

        <!-- 
        karena ini halaman overview (home), kita matikan partial breadcrumb.
        Jika anda ingin mengampilkan breadcrumb di halaman overview,
        silahkan hilangkan komentar (//) di tag PHP di bawah.
        -->
<?php //$this->load->view("admin/_partials/breadcrumb.php") ?>

<!-- Icon Cards-->
<div class="row">
<div class="col-xl-3 col-sm-6 mb-3">
<div class="card text-white bg-primary o-hidden h-100">
<div class="card-body">
<div class="card-body-icon">
<i class="fas fa-fw fa-comments"></i>
</div>
<div class="mr-5">26 New Messages!</div>
</div>
<a class="card-footer text-white clearfix small z-1" href="#">
<span class="float-left">View Details</span>
<span class="float-right">
<i class="fas fa-angle-right"></i>
</span>
</a>
</div>
</div>
<div class="col-xl-3 col-sm-6 mb-3">
<div class="card text-white bg-warning o-hidden h-100">
<div class="card-body">
<div class="card-body-icon">
<i class="fas fa-fw fa-list"></i>
</div>
<div class="mr-5">11 New Tasks!</div>
</div>
<a class="card-footer text-white clearfix small z-1" href="#">
<span class="float-left">View Details</span>
<span class="float-right">
<i class="fas fa-angle-right"></i>
</span>
</a>
</div>
</div>
<div class="col-xl-3 col-sm-6 mb-3">
<div class="card text-white bg-success o-hidden h-100">
<div class="card-body">
<div class="card-body-icon">
<i class="fas fa-fw fa-shopping-cart"></i>
</div>
<div class="mr-5">123 New Orders!</div>
</div>
<a class="card-footer text-white clearfix small z-1" href="#">
<span class="float-left">View Details</span>
<span class="float-right">
<i class="fas fa-angle-right"></i>
</span>
</a>
</div>
</div>
<div class="col-xl-3 col-sm-6 mb-3">
<div class="card text-white bg-danger o-hidden h-100">
<div class="card-body">
<div class="card-body-icon">
<i class="fas fa-fw fa-life-ring"></i>
</div>
<div class="mr-5">13 New Tickets!</div>
</div>
<a class="card-footer text-white clearfix small z-1" href="#">
<span class="float-left">View Details</span>
<span class="float-right">
<i class="fas fa-angle-right"></i>
</span>
</a>
</div>
</div>
</div>

<!-- Area Chart Example-->
<div class="card mb-3">
<div class="card-header">
<i class="fas fa-chart-area"></i>
Visitor Stats</div>
<div class="card-body">
<canvas id="myAreaChart" width="100%" height="30"></canvas>
</div>
<div class="card-footer small text-muted">Updated yesterday at 11:59 PM</div>
</div>

</div>
<!-- /.container-fluid -->

<!-- Sticky Footer -->
<?php $this->load->view("admin/_partials/footer.php") ?>

</div>
<!-- /.content-wrapper -->

</div>
<!-- /#wrapper -->


<?php $this->load->view("admin/_partials/scrolltop.php") ?>
<?php $this->load->view("admin/_partials/modal.php") ?>
<?php $this->load->view("admin/_partials/js.php") ?>
    
</body>
</html>

setelah itu buat di controllers/admin file overview.php juga yaa.. nih isinya 

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Overview extends CI_Controller {
    public function __construct()
    {
parent::__construct();
}

public function index()
{
        // load view admin/overview.php
        $this->load->view("admin/overview");
}
}

buka file config/routes.php lalu tambahkan kode ini dibawah ya :

$route['admin'] = 'admin/overview';

lalu coba http://localhost/CodeIgniter2/index.php/admin/

selanjutnya kita akan buat partial template agar rapihh
namun saya jujur tidak paham betul, referensi saya ambil dari petani kode
kalian bisa klik di link ini .
ikutin aja disuruh buat apa, saya juga ngikut disitu semua. karena saya belum belajar sampai sana mau menjelaskan takut salah haha maafkan saya. 
oke next aja yuk!!
kita langsung masuk ketahap" yang diatas yahhh
1. Membuat Database!!

diperhatikan !! kita membuat DB dengan nama tokobatik lalu membuat tabel baru dengan nama barang, lalu isi tabel barang dan detail nya isikan seperti gambar yahhh. harus sama loh yaa!!
2.Konfigurasi CI
oke langsung aja ke database.php yahh, kita isi bagian ini dengan kode :

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'tokobatik',
'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
);
jadi biar terhubung DB dengan CI nya boii.. 
lalu autoload nya juga diisi ini yaa :

$autoload['libraries'] = array('database','session');
nah cocok udah.. 
kita langsung ke tahap 3
3.Membuat Model
kita buat file baru dengan nama Barang_model.php yaaa. lalu di letakkan di directory ini yaa :
application/model/Barang_model.php
nah isi dengan kode ini ya :
<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Barang_model extends CI_Model
{
    private $_table = "barang";

    public $id_barang;
    public $nama;
    public $harga;
    public $foto = "default.jpg";
    public $deskripsi;

    public function rules()
    {
        return [
            ['field' => 'nama',
            'label' => 'Nama',
            'rules' => 'required'],

            ['field' => 'harga',
            'label' => 'Harga',
            'rules' => 'numeric'],
            
            ['field' => 'deskripsi',
            'label' => 'Deskripsi',
            'rules' => 'required']
        ];
    }

    public function getAll()
    {
        return $this->db->get($this->_table)->result();
    }
    
    public function getById($id)
    {
        return $this->db->get_where($this->_table, ["id_barang" => $id])->row();
    }

    public function save()
    {
        $post = $this->input->post();
        $this->id_barang = uniqid();
        $this->nama = $post["nama"];
        $this->harga = $post["harga"];
        $this->deskripsi = $post["deskripsi"];
        $this->db->insert($this->_table, $this);
    }

    public function update()
    {
        $post = $this->input->post();
        $this->id_barang = $post["id"];
        $this->nama = $post["nama"];
        $this->harga = $post["harga"];
        $this->deskripsi = $post["deskripsi"];
        $this->db->update($this->_table, $this, array('id_barang' => $post['id']));
    }

    public function delete($id)
    {
        return $this->db->delete($this->_table, array("id_barang" => $id));
    }
}

4.Membuat Controller 
buat file Barang.php di directory application/controllers/Admin/Barang.php 
isi dengan kode ini ya :
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Barang extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model("barang_model");
        $this->load->library('form_validation');
    }

    public function index()
    {
        $data["barang"] = $this->barang_model->getAll();
        $this->load->view("admin/barang/list", $data);
    }

    public function add()
    {
        $barang = $this->barang_model;
        $validation = $this->form_validation;
        $validation->set_rules($barang->rules());

        if ($validation->run()) {
            $barang->save();
            $this->session->set_flashdata('success', 'Berhasil disimpan');
        }

        $this->load->view("admin/barang/new_form");
    }

    public function edit($id = null)
    {
        if (!isset($id)) redirect('admin/barang');
       
        $barang = $this->barang_model;
        $validation = $this->form_validation;
        $validation->set_rules($barang->rules());

        if ($validation->run()) {
            $barang->update();
            $this->session->set_flashdata('success', 'Berhasil disimpan');
        }

        $data["barang"] = $barang->getById($id);
        if (!$data["barang"]) show_404();
        
        $this->load->view("admin/barang/edit_form", $data);
    }

    public function delete($id=null)
    {
        if (!isset($id)) show_404();
        
        if ($this->barang_model->delete($id)) {
            redirect(site_url('admin/barang'));
        }
    }
}

5.Membuat View
kita akan membuat 3 file yaitu :
1.list.php
 di directory views/admin/barang 
isi dengan kode ini :

<!DOCTYPE html>
<html lang="en">

<head>
<?php $this->load->view("admin/_partials/head.php") ?>
</head>

<body id="page-top">

<?php $this->load->view("admin/_partials/navbar.php") ?>
<div id="wrapper">

<?php $this->load->view("admin/_partials/sidebar.php") ?>

<div id="content-wrapper">

<div class="container-fluid">

<?php $this->load->view("admin/_partials/breadcrumb.php") ?>

<!-- DataTables -->
<div class="card mb-3">
<div class="card-header">
<a href="<?php echo site_url('admin/barang/add') ?>"><i class="fas fa-plus"></i> Add New</a>
</div>
<div class="card-body">

<div class="table-responsive">
<table class="table table-hover" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>Nama</th>
<th>Harga</th>
<th>Foto</th>
<th>Deskripsi</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach ($barang as $barang): ?>
<tr>
<td width="150">
<?php echo $barang->nama ?>
</td>
<td>
<?php echo $barang->harga ?>
</td>
<td>
<img src="<?php echo base_url('upload/barang/'.$barang->foto) ?>" width="64" />
</td>
<td class="small">
<?php echo substr($barang->deskripsi, 0, 120) ?>...</td>
<td width="250">
<a href="<?php echo site_url('admin/barang/edit/'.$barang->id_barang) ?>"
class="btn btn-small"><i class="fas fa-edit"></i> Edit</a>
<a onclick="deleteConfirm('<?php echo site_url('admin/barang/delete/'.$barang->id_barang) ?>')"
href="#!" class="btn btn-small text-danger"><i class="fas fa-trash"></i> Hapus</a>
</td>
</tr>
<?php endforeach; ?>

</tbody>
</table>
</div>
</div>
</div>

</div>
<!-- /.container-fluid -->

<!-- Sticky Footer -->
<?php $this->load->view("admin/_partials/footer.php") ?>

</div>
<!-- /.content-wrapper -->

</div>
<!-- /#wrapper -->


<?php $this->load->view("admin/_partials/scrolltop.php") ?>
<?php $this->load->view("admin/_partials/modal.php") ?>

<?php $this->load->view("admin/_partials/js.php") ?>
<script>
function deleteConfirm(url){
$('#btn-delete').attr('href', url);
$('#deleteModal').modal();
}
</script>
</body>

</html>
2.new_form.php
nah di file ini sama dengan tahap 6 yaitu membuat form add.
directory nya sama dengan list.php
diisi dengan kode ini :

<!DOCTYPE html>
<html lang="en">

<head>
<?php $this->load->view("admin/_partials/head.php") ?>
</head>

<body id="page-top">

<?php $this->load->view("admin/_partials/navbar.php") ?>
<div id="wrapper">

<?php $this->load->view("admin/_partials/sidebar.php") ?>

<div id="content-wrapper">

<div class="container-fluid">

<?php $this->load->view("admin/_partials/breadcrumb.php") ?>

<?php if ($this->session->flashdata('success')): ?>
<div class="alert alert-success" role="alert">
<?php echo $this->session->flashdata('success'); ?>
</div>
<?php endif; ?>

<div class="card mb-3">
<div class="card-header">
<a href="<?php echo site_url('admin/barang/') ?>"><i class="fas fa-arrow-left"></i> Back</a>
</div>
<div class="card-body">

<form action="<?php base_url('admin/barang/add') ?>" method="post" enctype="multipart/form-data" >
<div class="form-group">
<label for="nama">Nama*</label>
<input class="form-control <?php echo form_error('nama') ? 'is-invalid':'' ?>"
type="text" name="nama" placeholder="Nama Barang" />
<div class="invalid-feedback">
<?php echo form_error('nama') ?>
</div>
</div>

<div class="form-group">
<label for="harga">Harga*</label>
<input class="form-control <?php echo form_error('harga') ? 'is-invalid':'' ?>"
type="number" name="harga" min="0" placeholder="Harga Barang" />
<div class="invalid-feedback">
<?php echo form_error('harga') ?>
</div>
</div>


<div class="form-group">
<label for="nama">Foto</label>
<input class="form-control-file <?php echo form_error('harga') ? 'is-invalid':'' ?>"
type="file" name="foto" />
<div class="invalid-feedback">
<?php echo form_error('foto') ?>
</div>
</div>

<div class="form-group">
<label for="nama">Deskripsi*</label>
<textarea class="form-control <?php echo form_error('deskripsi') ? 'is-invalid':'' ?>"
name="deskripsi" placeholder="Deskripsi Barang..."></textarea>
<div class="invalid-feedback">
<?php echo form_error('deskripsi') ?>
</div>
</div>

<input class="btn btn-success" type="submit" name="btn" value="Save" />
</form>

</div>

<div class="card-footer small text-muted">
* required fields
</div>


</div>
<!-- /.container-fluid -->

<!-- Sticky Footer -->
<?php $this->load->view("admin/_partials/footer.php") ?>

</div>
<!-- /.content-wrapper -->

</div>
<!-- /#wrapper -->


<?php $this->load->view("admin/_partials/scrolltop.php") ?>

<?php $this->load->view("admin/_partials/js.php") ?>

</body>

</html>
3.edit_form.php
di file ini samaa dengan tahap ke 7 yaitu membuat form edit.
directory nya sama juga dengan list.php
kodenya :

<!DOCTYPE html>
<html lang="en">

<head>
<?php $this->load->view("admin/_partials/head.php") ?>
</head>

<body id="page-top">

<?php $this->load->view("admin/_partials/navbar.php") ?>
<div id="wrapper">

<?php $this->load->view("admin/_partials/sidebar.php") ?>

<div id="content-wrapper">

<div class="container-fluid">

<?php $this->load->view("admin/_partials/breadcrumb.php") ?>

<?php if ($this->session->flashdata('success')): ?>
<div class="alert alert-success" role="alert">
<?php echo $this->session->flashdata('success'); ?>
</div>
<?php endif; ?>

<!-- Card  -->
<div class="card mb-3">
<div class="card-header">

<a href="<?php echo site_url('admin/barang/') ?>"><i class="fas fa-arrow-left"></i>
Back</a>
</div>
<div class="card-body">

<form action="<?php base_url('admin/barang/edit') ?>" method="post" enctype="multipart/form-data">

<input type="hidden" name="id" value="<?php echo $barang->id_barang?>" />

<div class="form-group">
<label for="nama">Nama*</label>
<input class="form-control <?php echo form_error('nama') ? 'is-invalid':'' ?>"
type="text" name="nama" placeholder="Nama Barang" value="<?php echo $barang->nama ?>" />
<div class="invalid-feedback">
<?php echo form_error('nama') ?>
</div>
</div>

<div class="form-group">
<label for="harga">Harga</label>
<input class="form-control <?php echo form_error('harga') ? 'is-invalid':'' ?>"
type="number" name="harga" min="0" placeholder="Harga Barang" value="<?php echo $barang->harga ?>" />
<div class="invalid-feedback">
<?php echo form_error('harga') ?>
</div>
</div>


<div class="form-group">
<label for="nama">Foto</label>
<input class="form-control-file <?php echo form_error('foto') ? 'is-invalid':'' ?>"
type="file" name="foto" />
<input type="hidden" name="old_image" value="<?php echo $barang->foto ?>" />
<div class="invalid-feedback">
<?php echo form_error('foto') ?>
</div>
</div>

<div class="form-group">
<label for="nama">Deskripsi*</label>
<textarea class="form-control <?php echo form_error('deskripsi') ? 'is-invalid':'' ?>"
name="deskripsi" placeholder="Deskripsi Barang..."><?php echo $barang->deskripsi ?></textarea>
<div class="invalid-feedback">
<?php echo form_error('deskripsi') ?>
</div>
</div>

<input class="btn btn-success" type="submit" name="btn" value="Save" />
</form>

</div>

<div class="card-footer small text-muted">
* required fields
</div>


</div>
<!-- /.container-fluid -->

<!-- Sticky Footer -->
<?php $this->load->view("admin/_partials/footer.php") ?>

</div>
<!-- /.content-wrapper -->

</div>
<!-- /#wrapper -->

<?php $this->load->view("admin/_partials/scrolltop.php") ?>

<?php $this->load->view("admin/_partials/js.php") ?>

</body>

</html>

bisa dicoba di link  http://localhost/CodeIgniter2/index.php/admin/barang/
silahkan coba fitur add dan editnya jika berhasil maka selamattt!!! 
saya coba buat fitur add dengan menambahkan data dengan nama Batik Jawa
yang terakhir yaitu membuat fitur hapus data , 
sebenarnya dikode atas sudah saya cantumkan yaitu, coba cek di list.php
bagian bawah sebelum tag penutup body ada kode :

<script>
function deleteConfirm(url){
$('#btn-delete').attr('href', url);
$('#deleteModal').modal();
}
</script>
lalu cek di views/admin/_partials/modal.php di tag komen delete confirmation.
 nah kode" itu berupa JS yang berupa peringatan konfirmasi penghapusan data gitu.. jadi lebih interaktif dan tidak bisa asal hapus data.

nah jika kalian sudah mengikuti tutorial dengan benar,, maka tampilannya akan seperti ini
http://localhost/CodeIgniter2/index.php/admin/barang 
nah begitu tampilannya, keren bukan??
haha yaiyalahh!! bukan kaleng-kaleng..



Kalian ada yang ingin ditanyakan? silahkan kontak saya lewat Email yang tersedia yah.
kalau tidak ingin repot saya sediakan halaman tutorial lain yang lebih jelas 
ini dia klik aja
Apa yang saya jelaskan berdasarkan tutor dari petani kode!!!! keren kan ?
haha.
oke sampai sini dulu tutorial kali ini semoga membantu!! see yaa!!! 







Komentar

Postingan populer dari blog ini

Pengenalan Tentang PCI (Peripheral Component Interconnect)

Apa sih PCI itu? Pengertian PCI. PCI atau singkatan dari Peripheral Component Interconnect adalah suatu bandwith tinggi yang populer, yang mana prosesor independent nya dapat berfungsi sebagai bus Mezzenine atau bus Periferal. Bus ini didesain untuk menangani beberapa perangkat keras. Dibandingkan spesifikasi bus lainnya, PCI mampu bekerja lebih baik untuk subsistem input maupun output berkecepatan tinggi sebagai contoh; Graphic Display Adapters, Network Interface Controllers dan lainnya. Standard nya berlaku sampai penggunaan 64 saluran data pada kecepatan 66 MHZ, kelajuan transfernya 528 Mbyte/S,atau 4,224 Gbps. PCI hanya memerlukan sedikit keping untuk mendukung bus lainnya yang terhubung dengan bus PCI, tentu saja ini membuat PCI lebih ekonomis untuk kebutuhan Input atau Output dari sistem modern. pada tahun 1990 intel mulai menerapkan PCI untuk sistem berbasis pentiumnya. PCI dirancang untuk mendukung berbagai macam konfigurasi berbasis mikproprosesor. PCI sendiri menggunakan

HEBAT BANGETTT!!| TEKNOLOGI MULTIMEDIA DI BIDANG KESEHATAN INI MENYELAMATKAN RIBUAN NYAWA MANUSIA ! SALUT

BEBERAPA TEKNOLOGI MULTIMEDIA DIBIDANG KESEHATAN       halo geng udah lama banget gak post di blog kali ini, karena emang ngepost karena untuk memenuhi tugas kuliah aja wkwk. oke langsung aja kali ini kita akan bahas tekmologi-teknologi apa saja yang teah membuat banyak perubahan di era modern ini khususnya dibidang kesehatan, yuk simak gan!!!      Pertama agar lebih afdol kita jabarkan dulu nih arti dari kesehatan itu sendiri. Kesehatan  adalah keadaan sejahtera dari badan,  jiwa , dan  sosial  yang memungkinkan setiap orang hidup  produktif  secara sosial, dan  ekonomis .  Pemeliharaan kesehatan adalah upaya penaggulangan, dan pencegahan gangguan kesehatan yang memerlukan pemeriksaan, pengobatan dan/atau perawatan termasuk kehamilan, dan persalinan.      Nah pemanfaatan teknologi dibidang kesehatan tentu saja membantu pihak kesehatan dalam banyak hal, apa aja sih teknologi dibidang kesehatan ini ? 1.Rekam medis Berbasis Komputer (Computer Based Patient Record)