Anda di halaman 1dari 60

PERANCANGAN CRUD DATA ADMIN DENGAN

FRAMEWORK CODEIGNITER SEPATU ADIDAS

DI SUSUN OLEH:
RAHMAD BUDI ANSYAH 12160059
HUZAIFUL YAMAN 12160535

UNIVERSITAS BINA SARANA INFORMATIKA


SITEM INFORMASI
Page |1

KATA PENGANTAR

Dengan mengucapkan puji syukur kehadirat Allah SWT atas

terselesaikannya Laporan Tugas Pembuatan Website dengan judul : "DAFTAR

SEPATU ADIDAS". yang merupakan salah satu syarat kelulusan mata Kuliah

Web Programing Program Studi Sistem Informasi Universitas Bina Sarana

Informatika.

Selama melaksanakan Pembuatan Website dan dalam menyelesaikan

laporan ini, penulis telah banyak menerima bimbingan, pengarahan, petunjuk dan

saran, serta fasilitas yang membantu hingga akhir dari penulisan laporan ini. Untuk

itu penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada yang

terhormat:

1. Direktur Akademi Manajemen Informatikan dan Komputer Bina Sarana

Informatika.

2. Bapak Saiful Anwar selaku dosen pengajar mata Kuliah Web Programing.

Akhirnya penulis berharap semoga laporan ini bermanfaat bagi semua pihak

yang membantu, meskipun dalam laporan ini masih banyak kekurangannya. Oleh

karena itu kritik dan saran yang membangun tetap penulis harapkan.

Jakarta, 16 Desember 2018

Penulis
Page |2

DAFTAR ISI
KATA PENGANTAR ....................................................................................................... 1
DAFTAR ISI...................................................................................................................... 2
BAB I .................................................................................................................................. 3
PENDAHULUAN .............................................................................................................. 3
1.1 Latar Belakang Masalah ....................................................................................... 3
1.2 Rumusan Masalah ................................................................................................ 3
1.3 Maksud dan Tujuan .............................................................................................. 4
1.4 Metode Penelitian................................................................................................. 4
1.5 Ruang Lingkup..................................................................................................... 5
BAB II ................................................................................................................................ 6
LANDASAN TEORI ........................................................................................................ 6
2.1 Konsep Dasar Web ............................................................................................. 6
2.2 Bahasa pemograman ........................................................................................... 7
2.3 Metode Framework Codeigniter ....................................................................... 10
2.4 Kerangka MVC (Model, View, Controller) ...................................................... 11
BAB III............................................................................................................................. 13
PEMBAHASAN ............................................................................................................... 13
3.1 Pembuatan Database......................................................................................... 13
3.2 Konfigurasi Codeigniter ................................................................................... 16
3.3 Membuat Model ................................................................................................ 27
3.4 Membuat Controller .......................................................................................... 32
3.5 Membuat View.................................................................................................. 36
3.6 Membuat Form Add .......................................................................................... 43
3.7 Membuat Form Edit .......................................................................................... 48
3.8 Membuat Fitur Upload File............................................................................... 53
3.9 Tampilan Hasil .................................................................................................. 56
BAB IV ............................................................................................................................. 59
PENUTUP ........................................................................................................................ 59
4.1 Kesimpulan ....................................................................................................... 59
4.2 Saran ................................................................................................................. 59
Page |3

BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah

Dalam suatu toko sepatu terdapat permasalahan yang biasa terjadi yaitu

memberikan informasi kepada pelanggan terhadap barang yang tersedia di toko dan

update barang terbaru. Masalah ini akan menimbulkan kerugian bagi pihak toko

karena dengan ketidak tersediaanya informasi kepada pelanggan, maka pelanggan

akan mencari toko yang menyediakan informasi yang lebih update kepada pelanggan

agar pelanggan tidak perlu bolak balik ketika stok barang ditoko habis.

Masalah di atas dapat diatasi dengan melakukan penyediaan informasi terhadap

sepatu yang ada ditoko, harga sepatu, gambar sepatu dan deskripsi sepatu. Dengan

demikian pelanggan tidak perlu datang ke toko untuk menanyakan stok yang ada

ditoko.

1.2 Rumusan Masalah

Dengan latar belakang tersebut, maka dapat dirumuskan sebagai berikut:

1.2.1 Bagaimana membangun sebuah system aplikasi pengolahan data

sepatu Adidas.

1.2.2 Bagai mana merancang sistem informasi pengolahan data sepatu

Adidas.
Page |4

1.3 Maksud dan Tujuan

1.3.1 Maksud Penelitian

Maksud penelitian adalah untuk membuat suatu aplikasi system data

sepatu Adidas.

1.3.2 Tujuan penelitian

Untuk membuat perancangan sistem informasi yang dapat

mengelola data sepatu Adidas.

1.4 Metode Penelitian

Metode yang digunakan untuk mendapatkan data sebagai objek penulisan

adalah sebagai berikut:

1.4.1 Metode Pengamatan (Observasi)

Metode pengamatan dilakukan di Website Adidas.co.id dimana

penulis mengamati secara visual terhadap stok yang dimiliki

diperusahaan ADIDAS Indonesia.

1.4.2 Studi Pustaka (Library research)

Penulis mengumpulkan data dari buku-buku yang berkaitan

dengan masalah yang akan dibahas.


Page |5

1.5 Ruang Lingkup

Adapun ruang lingkup dari penulisan Laporan Daftar Sepatu Adidas ini

membahas tentang sistem informasi penyediaan informasi sepatu yang dimiliki

oleh toko sepatu ADIDAS dengan memberi batasan yang meliputi input nama

sepatu, input harga sepatu, upload gambar sepatu dan input deskripsi sepatu.
Page |6

BAB II
LANDASAN TEORI
2.1 Konsep Dasar Web

2.1.1 Website

Banyak orang beranggapan website sama dengan internet. Padahal,

website dan internet adalah hal yang berbeda. Menurut Abdullah

(2015:1), “Website atau disingkat web, dapat diartikan sekumpulan

halaman yang terdiri dari beberapa laman yang berisi informasi

dalam bentuk data digital baik berupa text, gambar, video, audio,

dan animasi lainnya yang disediakan melalui jalur koneksi

internet”. Lebih jelasnya, website merupakan halaman-halaman

yang berisi informasi yang ditampilkan oleh browser seperti

Mozilla Firefox, Google Chrome atau yang lainnya, sedangkan

internet adalah jaringan yang digunakan untuk mengirim informasi

pada website.
Page |7

2.2 Bahasa pemograman

2.2.1 Hypertext PHP

Menurut Hidayatullah dan Kawistara (2015:231),”PHP

Hypertext Preprocessor atau disingkat dengan PHP ini adalah

suatu bahasa scripting khususnya digunakan untuk web

development.” Karena sifatnya yang server side scripting, maka

untuk menjalankan PHP harus menggunakan web server. PHP

sendiri dapat melakukan tugas-tugas yang dilakukan dengan

mekanisme CGI (Common Gateway Interface) seperti

mengambil, mengumpulkan data dari database, meng-generate

halaman dinamis, atau bahkan menerima dan mengirim cookie.

Dan yang menjadi keutamaan PHP itu sendiri adalah PHP bisa

digunakan di berbagai operating system, diantaranya Linux,

Unix, Windows, Mac OsX, RISC OS, dan operating system

lainnya
Page |8

2.2.2 JavaScript

Menurut Ignas (2016:2), ”JavaScript adalah bahasa yang

digunakan untuk membuat program yang digunakan supaya

dokumen HTML yang ditampilkan dalam browser menjadi lebih

interaktif, tidak sekedar indah saja.” JavaScript memberikan

beberapa fungsionalistas ke dalam halaman web, sehingga dapat

menjadi sebuah program yang disajikan dengan menggunakan

antar muka web.

2.2.3 Bootstrap

Adalah sebuah library framework CSS yang dibuat khusus untuk

bagian pengembangan front-end website. Bootstrap juga

merupakan salah satu framework HTML, CSS

dan javascript yang paling populer di kalangan web developer

yang digunakan untuk mengembangkan sebuah website yang

responsive. Sehingga halaman website nantinya dapat

menyesuaikan sesuai dengan ukuran monitor device (desktop,

tablet, ponsel ) yang digunakan pengguna disaat mengakses

website website dari browser. Pada mulanya bootstrap bernama

"Twitter Blueprint" yang dikembankan oleh Mark Otto dan Jacob

Thornton di Twitter sebagai kerangka kerja untuk mendorong

konsistensi di alat internal.


Page |9

2.2.4 Basis Data

Menurut Hidayatullah dan Kawistara (2015:147), “Basis data

dapat didefinisikan sebagai himpunan kelompok data yang saling

berhubungan yang diorganisasikan sedemikian rupa agar kelak

dapat dimanfaatkan kembali dengan cepat dan mudah.” Prinsip

utamanya adalah pengaturan data. Tujuan utamanya kemudahan

dan kecepatan dalam pengambilan kembali data.

2.2.4.1 MySql

MySQL adalah salah satu aplikasi DBMS (Database

Management System) yang sudah sangat banyak

digunakan oleh para pemrogram aplikasi web. Menurut

Hidayatullah dan Kawistara (2015:180), “Kelebihan dari

MySQL adalah gratis, handal, selalu di-update dan

banyak forum yang memfasilitasi para pengguna jika

memiliki kendala. MySQL juga menjadi DBMS yang

sering dibundling dengan web server sehingga proses

instalasinya jadi lebih mudah.”.


P a g e | 10

2.3 Metode Framework Codeigniter

Framework adalah kerangka kerja khususnya dalam dunia programming

atau dalam pengembangan sebuah aplikasi berbasis web, mobile maupun desktop.

Di dalam Framework ini sudah tersedia berbagai library, plugin, fungsi, variabel

dan sebagainya jadi seorang programmer tidak harus lagi dipusingkan mencari

library-library, plugin-plugin dan fungsi-fungsi, karena sudah tersedia di dalam

framework tersebut atau tidak perlu mengetik kode dari awal lagi.

Khusus untuk Framework Codeigniter ini sudah banyak sekali tersedia

library-library yang biasanya diperlukan dalam pengembangan sebuah website

ataupun aplikasi berbasis web, mulai dari library untuk mengoperasikan database

sampai library untuk masalah keamanan/autentifikasi.

Framework Codeigniter ini juga menganut Konsep MVC (Model, View,

Controller). Secara garis besar Konsep MVC ini adalah sebuah metode untuk

membuat sebuah aplikasi dengan memisahkan Data (Model) dari tampilan (View)

serta cara memprosesnya (Controller).


P a g e | 11

Framework Codeigniter ini pertama kali dibuat oleh Rick Ellis seorang

musisi sekaligus juga seorang programmer, dan kemudian Framework ini dirilis

pada tanggal 28 Februari 2006 dan sejak tahun 2014 sampai saat ini Framework

Codeigniter ini telah dimiliki dan dikembangkan oleh British Columbia Institute

of Technology (BCIT) situs resminya beralamat di https://www.codeigniter.com/

Gambar : Alur Kerja Codeigniter

2.4 Kerangka MVC (Model, View, Controller)

Adalah sebuah pola desain (design pattern)arsitektur pengembangan

aplikasi yang memisahkan dan mengelompokan beberapa kode sesuai

dengan fungsinya MVC (Model, View, Controller) membagi aplikasi ke

dalam tiga bagian fungsional model, view, dan controller.

 Model adalah kode-kode untuk model bisnis dan data/Data

yang tersedia untuk diproses. biasanya berhubungan langsung

dengan database untuk memanipulasi data (add, edit, delete,

upload), menangani validasi dari bagian controller, namun

tidak dapat berhubungan langsung dengan bagian view.

 View merupakan bagian yang menangani presentation logic.

berisi kode-kode/HTML untuk tampilan.


P a g e | 12

 Controller merupakan bagian yang mengatur hubungan

antara bagian model dan bagian view, controller berfungsi

untuk menerima request dan data dari user kemudian

menentukan apa yang akan diproses oleh

aplikasi/ menampilkan data (Model) ke tampilan HTML

(View).

Gambar : Kerangka MVC


P a g e | 13

BAB III

PEMBAHASAN
3.1 Pembuatan Database

Silahkan buka PHPMyadmin, kemudian buatlah database baru dengan

nama adidas.

Setelah itu, buat tabel products dengan 5 kolom. Tabel ini nanti akan

menyimpan data produk.


P a g e | 14

Kolom yang dibutuhkan:

product_id (Primary Key) bertipe string dengan panjang 64;

name bertipe string dengan panjang 255.

price bertipe integer.

image bertipe string dengan panjang 255.

description bertipe TEXT.

Terakhir, klik Save untuk menyimpan


P a g e | 15

Sehingga kita sekarang punya tabel products dengan struktur seperti ini:
P a g e | 16

3.2 Konfigurasi Codeigniter

Silahkan buka config/database.php, kemudian isi seperti ini:

Berikutnya, silahkan buka config/autoload.php.

Kemudian cari $autoload['libraries'] dan tambahkan database dan session di sana.


P a g e | 17

Ini artinya, kita akan me-load library database dan session secara otomatis.

Apa fungsinya?

Library database akan menyediakan fungsi-fungsi untuk operasi database. Kita

butuh ini, karena kita akan menggunakan database dalam aplikasi;

Library session menyediakan fungsi-fungsi untuk mengakses

variabel $_SESSION. Kita butuh ini untuk menampilkan flash message dan

membuat login.

Membuat template Admin menggunakan Bootstrap 4

Hal yang pertama harus dilakukan adalah mendownload SB Admin dari website

startbootstrap.com
P a g e | 18

Setelah itu, kita akan mendapatkan sebuah file ZIP. Ekstrak file tersebut

sehingga kita punya file SB admin seperti ini:

Kita tinggal copy/paste file dan folder yang dibutuhkan. Berikut ini folder yang

harus kita copy:

Folder css

Folder js

Folder vendor –rename menjadi–> assets

Untuk folder vendor, kita akan ubah namanya menjadi assets agar tidak

bercampur dengan folder vendor dari composer.

Folder vendor berisi library front-end dari pihak ketiga, seperti: Bootstrap,Font

awesome untuk ikon, chart.js, datatables, dan jquery.

Folder sass dapat juga kita copy apabila kita ingin memodifikasi

dan menggunakan sass pada project.


P a g e | 19

Namun, karena kita hanya akan memakai saja. Kita cukup copy tiga folder yang
tadi dan paste ke folder projek adidas.

Buat sebuah direktori baru di dalam direktori views dengan nama admin. Lalu

di dalamnya berisi kode php dengan nama overview.php.

File overview.php akan menjadi template untuk halaman home admin.

Isi dari file overview.php akan kita ambil dari file index.html SB Admin.
P a g e | 20

Silahkan buka kembali template SB Admin, ambil semua kode yang ada di dalam

file index.html lalu copy ke overview.php.

Sehingga file overview.php akan terisi seperti 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">

<!--

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.


P a g e | 21

-->

<?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>
P a g e | 22

</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>
P a g e | 23

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


P a g e | 24

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


P a g e | 25

<div class="card-header">

<i class="fas fa-chart-area"></i>

Statistik Pengunjung</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 -->


P a g e | 26

<?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 sebuah route baru untuk controller Overview.

Buka file config/routes.php, lalu tambahkan kode ini:

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

Setelah itu coba buka http://localhost/adidas/index.php/admin/, maka kita akan

mendapatkan tampilan seperti ini:


P a g e | 27

3.3 Membuat Model

Silahkan buat file baru di dalam direktori application/model/ dengan nama

Product_model.php.

Selanjutnya kita akan mulai menulis kode untuk Product_model.php.

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

class Product_model extends CI_Model


P a g e | 28

private $_table = "products";

public $product_id;

public $name;

public $price;

public $image = "default.jpg";

public $description;

public function rules()

return [

['field' => 'name',

'label' => 'Name',

'rules' => 'required'],

['field' => 'price',

'label' => 'Price',

'rules' => 'numeric'],

['field' => 'description',

'label' => 'Description',

'rules' => 'required'] ]; }


P a g e | 29

public function getAll()

return $this->db->get($this->_table)->result();

public function getById($id)

return $this->db->get_where($this->_table, ["product_id" => $id])->row();

public function save()

$post = $this->input->post();

$this->product_id = uniqid();

$this->name = $post["name"];

$this->price = $post["price"];

$this->image = $this->_uploadimage();

$this->description = $post["description"];

$this->db->insert($this->_table, $this);

}
P a g e | 30

public function update()


{

$post = $this->input->post();

$this->product_id = $post["id"];

$this->name = $post["name"];

$this->price = $post["price"];

if (!empty($_FILES["image"]["name"])) {

$this->image = $this->_uploadImage();

} else {

$this->image = $post["old_image"];

$this->description = $post["description"];

$this->db->update($this->_table, $this, array('product_id' => $post['id']));

}
P a g e | 31

public function delete($id)

return $this->db->delete($this->_table, array("product_id" => $id));

private function _uploadImage()

$config['upload_path'] = './upload/product/';

$config['allowed_types'] = 'gif|jpg|png';

$config['file_name'] = $this->product_id;

$config['overwrite'] = true;

$config['max_size'] = 1024; // 1MB

// $config['max_width'] = 1024;

// $config['max_height'] = 768;

$this->load->library('upload', $config);

if ($this->upload->do_upload('image')) {

return $this->upload->data("file_name");

} return "default.jpg";

}}
P a g e | 32

3.4 Membuat Controller

Silahkan buat file baru di dalam folder application/controllers/admin/dengan

nama Products.php.

Kemudian isi file Products.php dengan kode berikut:

<?php

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

class Products extends CI_Controller


P a g e | 33

public function __construct()

parent::__construct();

$this->load->model("product_model");

$this->load->library('form_validation');

public function index()

$data["products"] = $this->product_model->getAll();

$this->load->view("admin/product/list", $data);

public function add()

$product = $this->product_model;

$validation = $this->form_validation;

$validation->set_rules($product->rules());
P a g e | 34

if ($validation->run()) {

$product->save();

$this->session->set_flashdata('success', 'Berhasil disimpan');

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

public function edit($id = null)

if (!isset($id)) redirect('admin/products');

$product = $this->product_model;

$validation = $this->form_validation;

$validation->set_rules($product->rules());

if ($validation->run()) {

$product->update();
P a g e | 35

$this->session->set_flashdata('success', 'Berhasil disimpan');

$data["product"] = $product->getById($id);

if (!$data["product"]) show_404();

$this->load->view("admin/product/edit_form", $data);

public function delete($id=null)

if (!isset($id)) show_404();

if ($this->product_model->delete($id)) {

redirect(site_url('admin/products'));

}
P a g e | 36

3.5 Membuat View

silahkan buat folder baru pada direktori views/admin dengan nama product.

Setelah itu, kita akan membuat ketiga view di dalam folder views/admin/product/.

Membuat View list data


P a g e | 37

Buatlah file baru dengan nama list.php di dalam folder views/admin/product/.

Setelah itu, isi dengan kode berikut:

<!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">
P a g e | 38

<?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/products/add') ?>"><i class="fas fa-plus"></i> Add New</a>

</div>

<div class="card-body">
P a g e | 39

<div class="table-responsive">

<table class="table table-

hover" id="dataTable" width="100%" cellspacing="0">

<thead>

<tr>

<th>Name</th>

<th>Price</th>

<th>Photo</th>

<th>Description</th>

<th>Action</th>

</tr>

</thead>
P a g e | 40

<tbody>

<?php foreach ($products as $product): ?>

<tr> <td width="150">

<?php echo $product->name ?>

</td>

<td>

<?php echo $product->price ?>

</td>

<td>

<img src="<?php echo base_url('upload/product/'.$product->image) ?>"

width="64" />

</td>
P a g e | 41

<td class="small">

<?php echo substr($product->description, 0, 120) ?>...</td>

<td width="250">

<a href="<?php echo site_url('admin/products/edit/'.$product->product_id) ?>"

class="btn btn-small"><i class="fas fa-edit"></i> Edit</a>

<a onclick="deleteConfirm('<?php echo

site_url('admin/products/delete/'.$product->product_id) ?>')"

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>
P a g e | 42

<!-- /.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>

View porduct/list.php bertugas untuk menampilkan data pada halaman admin.


P a g e | 43

3.6 Membuat Form Add

View berikutnya yang harus kita buat adalah new_form.php.

Silahkan buat file baru di dalam folder view/admin/product/ dengan

nama new_form.php.

Setelah itu, isi dengan kode berikut:

<!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">
P a g e | 44

<?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/products/') ?>"><i class="fas fa-arrow-left"></i> Back</a>

</div>

<div class="card-body">

<form action="<?php

base_url('admin/product/add') ?>" method="post" enctype="multipart/form-data"

>

<div class="form-group">

<label for="name">Name*</label>
P a g e | 45

<input class="form-control <?php echo form_error('name') ? 'is-invalid':''

?>"type="text" name="name" placeholder="Product name" />

<div class="invalid-feedback">

<?php echo form_error('name') ?>

</div>

</div>

<div class="form-group">

<label for="price">Price*</label>

<input class="form-control <?php echo form_error('price') ? 'is-invalid':'' ?>"

type="number" name="price" min="0" placeholder="Product price" />

<div class="invalid-feedback">

<?php echo form_error('price') ?>

</div>

</div>

<div class="form-group">

<label for="name">Photo</label>

<input class="form-control-file <?php echo form_error('price') ? 'is-invalid':'' ?>"

type="file" name="image" />

<div class="invalid-feedback">
P a g e | 46

<?php echo form_error('image') ?>

</div>

</div>

<div class="form-group">

<label for="name">Description*</label>

<textarea class="form-control <?php echo form_error('description') ? 'is-invalid':''

?>"

name="description" placeholder="Product description..."></textarea>

<div class="invalid-feedback">

<?php echo form_error('description') ?>

</div>

</div>

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

</form>

</div>
P a g e | 47

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

View new_form.php betugas untuk menampilkan form input untuk pembuatan


data baru.
Form ini akan mengirim data ke: /admin/products/add (controller products,

method add).
P a g e | 48

3.7 Membuat Form Edit

Silahkan buat file baru di dalam folder views/admin/product/ dengan

nama edit_form.php.

Setelah itu, isi dengan kode berikut:

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


P a g e | 49

<?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/products/') ?>"><i class="fas fa-arrow-

left"></i>

Back</a>

</div>

<div class="card-body">

<form action="<?php base_url(" admin/product/edit") ?>" method="post"

enctype="multipart/form-data" >

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

<div class="form-group">

<label for="name">Name*</label>

<input class="form-control <?php echo form_error('name') ? 'is-invalid':'' ?>"

type="text" name="name" placeholder="Product name" value="<?php echo

$product->name ?>" />


P a g e | 50

<div class="invalid-feedback">

<?php echo form_error('name') ?>

</div>

</div>

<div class="form-group">

<label for="price">Price</label>

<input class="form-control <?php echo form_error('price') ? 'is-invalid':'' ?>"

type="number" name="price" min="0" placeholder="Product price"

value="<?php echo $product->price ?>" />

<div class="invalid-feedback">

<?php echo form_error('price') ?>

</div>

</div>

<div class="form-group">

<label for="name">Photo</label>

<input class="form-control-file <?php echo form_error('price') ? 'is-invalid':'' ?>"

type="file" name="image" />

<input type="hidden" name="old_image" value="<?php echo $product->image

?>" />
P a g e | 51

<div class="invalid-feedback">

<?php echo form_error('image') ?>

</div>

</div>

<div class="form-group">

<label for="name">Description*</label>

<textarea class="form-control <?php echo form_error('description') ? 'is-invalid':''

?>"

name="description" placeholder="Product description..."><?php echo $product-

>description ?></textarea>

<div class="invalid-feedback">

<?php echo form_error('description') ?>

</div>

</div>

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

</form>

</div>

<div class="card-footer small text-muted">

* required fields
P a g e | 52

</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>
P a g e | 53

3.8 Membuat Fitur Upload File

Buat folder baru di dalam project dengan nama upload, lalu di dalamnya berisi

folder lagi bernama product.

Silahkan buka model Product_model.php, kemudian tambahakan

method _uploadImage() tepat di bawah method delete().

Berikut ini isi kode method _uploadImage():


P a g e | 54

private function _uploadImage()

$config['upload_path'] = './upload/product/';

$config['allowed_types'] = 'gif|jpg|png';

$config['file_name'] = $this->product_id;

$config['overwrite'] = true;

$config['max_size'] = 1024; // 1MB

// $config['max_width'] = 1024;

// $config['max_height'] = 768;

$this->load->library('upload', $config);

if ($this->upload->do_upload('image')) {

return $this->upload->data("file_name");

return "default.jpg";

Pada method save() kita tambah kan kode dibawah ini.

$this->image = $this->_uploadimage();
P a g e | 55

Sedangkan pada methode update() ditambahkan kode dibawah ini.

if (!empty($_FILES["image"]["name"])) {

$this->image = $this->_uploadImage();

} else {

$this->image = $post["old_image"];

}
P a g e | 56

3.9 Tampilan Hasil

3.9.1 Tampilan Dashboard

3.9.2 Tampilan New Product


P a g e | 57

3.9.3 Tampilan List Product

3.9.4 Tampilan Hapus


P a g e | 58

3.9.5 Tampilan Edit


P a g e | 59

BAB IV

PENUTUP
4.1 Kesimpulan
Dari project yang penulis lakukan tentang perancangan CRUD,
maka dapat disimpulkan bahwa :

1. Tahapan-tahapan yang dibutuhkan dalam perancangan sebuah


CRUD menggunakan beberapa metode. Salah satunya adalah
metode framework codeigniter.
2. Dengan adanya CRUD ini maka dapat mempermudah mengolah
informasi tentang database
4.2 Saran

Dalam perancangan CRUD ini, penulis sadar masih banyak


kekurangan yang perlu ditambahkan dalam pengembangan
sistemCRUD selanjutnya, antara lain:

1. Belum menjadi satu kesatuan sistem untuk mengolah database,


hanya berupa fitur input,update dan delete saja.
2. Dalam segi tampilan, masih banyak yang perlu di kembangkan.
3. Segi keamanan juga harus lebih ditingkatkan khususnya untuk
password.

Anda mungkin juga menyukai