DI SUSUN OLEH:
RAHMAD BUDI ANSYAH 12160059
HUZAIFUL YAMAN 12160535
KATA PENGANTAR
SEPATU ADIDAS". yang merupakan salah satu syarat kelulusan mata Kuliah
Informatika.
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:
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.
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
akan mencari toko yang menyediakan informasi yang lebih update kepada pelanggan
agar pelanggan tidak perlu bolak balik ketika stok barang ditoko habis.
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.
sepatu Adidas.
Adidas.
Page |4
sepatu Adidas.
Adapun ruang lingkup dari penulisan Laporan Daftar Sepatu Adidas ini
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
dalam bentuk data digital baik berupa text, gambar, video, audio,
pada website.
Page |7
Dan yang menjadi keutamaan PHP itu sendiri adalah PHP bisa
lainnya
Page |8
2.2.2 JavaScript
2.2.3 Bootstrap
2.2.4.1 MySql
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
framework tersebut atau tidak perlu mengetik kode dari awal lagi.
ataupun aplikasi berbasis web, mulai dari library untuk mengoperasikan database
Controller). Secara garis besar Konsep MVC ini adalah sebuah metode untuk
membuat sebuah aplikasi dengan memisahkan Data (Model) dari tampilan (View)
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
(View).
BAB III
PEMBAHASAN
3.1 Pembuatan Database
nama adidas.
Setelah itu, buat tabel products dengan 5 kolom. Tabel ini nanti akan
Sehingga kita sekarang punya tabel products dengan struktur seperti ini:
P a g e | 16
Ini artinya, kita akan me-load library database dan session secara otomatis.
Apa fungsinya?
variabel $_SESSION. Kita butuh ini untuk menampilkan flash message dan
membuat login.
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
Kita tinggal copy/paste file dan folder yang dibutuhkan. Berikut ini folder yang
Folder css
Folder js
Untuk folder vendor, kita akan ubah namanya menjadi assets agar tidak
Folder vendor berisi library front-end dari pihak ketiga, seperti: Bootstrap,Font
Folder sass dapat juga kita copy apabila kita ingin memodifikasi
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
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
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body id="page-top">
<div id="wrapper">
<div id="content-wrapper">
<div class="container-fluid">
<!--
-->
<div class="row">
<div class="card-body">
<div class="card-body-icon">
</div>
</div>
href="#">
<span class="float-right">
</span>
</a>
P a g e | 22
</div>
</div>
<div class="card-body">
<div class="card-body-icon">
</div>
</div>
href="#">
<span class="float-right">
</span>
</a>
</div>
</div>
P a g e | 23
<div class="card-body">
<div class="card-body-icon">
</div>
</div>
href="#">
<span class="float-right">
</span>
</a>
</div>
</div>
<div class="card-body">
<div class="card-body-icon">
</div>
</div>
href="#">
<span class="float-right">
</span>
</a>
</div>
</div>
</div>
<div class="card-header">
Statistik Pengunjung</div>
<div class="card-body">
height="30"></canvas>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
$route['admin'] = 'admin/overview';
Product_model.php.
public $product_id;
public $name;
public $price;
public $description;
return [
return $this->db->get($this->_table)->result();
$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
$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"];
}
P a g e | 31
$config['upload_path'] = './upload/product/';
$config['allowed_types'] = 'gif|jpg|png';
$config['file_name'] = $this->product_id;
$config['overwrite'] = true;
// $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
nama Products.php.
<?php
parent::__construct();
$this->load->model("product_model");
$this->load->library('form_validation');
$data["products"] = $this->product_model->getAll();
$this->load->view("admin/product/list", $data);
$product = $this->product_model;
$validation = $this->form_validation;
$validation->set_rules($product->rules());
P a g e | 34
if ($validation->run()) {
$product->save();
$this->load->view("admin/product/new_form");
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
$data["product"] = $product->getById($id);
if (!$data["product"]) show_404();
$this->load->view("admin/product/edit_form", $data);
if (!isset($id)) show_404();
if ($this->product_model->delete($id)) {
redirect(site_url('admin/products'));
}
P a g e | 36
silahkan buat folder baru pada direktori views/admin dengan nama product.
Setelah itu, kita akan membuat ketiga view di dalam folder views/admin/product/.
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body id="page-top">
<div id="wrapper">
P a g e | 38
<div id="content-wrapper">
<div class="container-fluid">
<?php $this->load-
>view("admin/_partials/breadcrumb.php") ?>
<div class="card-header">
</div>
<div class="card-body">
P a g e | 39
<div class="table-responsive">
<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>
</td>
<td>
</td>
<td>
width="64" />
</td>
P a g e | 41
<td class="small">
<td width="250">
site_url('admin/products/delete/'.$product->product_id) ?>')"
Hapus</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
P a g e | 42
</div>
</div>
<script>
function deleteConfirm(url){
$('#btn-delete').attr('href', url);
$('#deleteModal').modal();
</script>
</body>
</html>
nama new_form.php.
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body id="page-top">
<div id="wrapper">
<div id="content-wrapper">
<div class="container-fluid">
P a g e | 44
>flashdata('success'); ?>
</div>
<div class="card-header">
</div>
<div class="card-body">
<form action="<?php
>
<div class="form-group">
<label for="name">Name*</label>
P a g e | 45
<div class="invalid-feedback">
</div>
</div>
<div class="form-group">
<label for="price">Price*</label>
<div class="invalid-feedback">
</div>
</div>
<div class="form-group">
<label for="name">Photo</label>
<div class="invalid-feedback">
P a g e | 46
</div>
</div>
<div class="form-group">
<label for="name">Description*</label>
?>"
<div class="invalid-feedback">
</div>
</div>
</form>
</div>
P a g e | 47
* required fields
</div>
</div>
<?php $this->load-
>view("admin/_partials/footer.php") ?>
</div>
</div>
</body>
</html>
method add).
P a g e | 48
nama edit_form.php.
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body id="page-top">
<div id="wrapper">
<div id="content-wrapper">
<div class="container-fluid">
</div>
<div class="card-header">
left"></i>
Back</a>
</div>
<div class="card-body">
enctype="multipart/form-data" >
<div class="form-group">
<label for="name">Name*</label>
<div class="invalid-feedback">
</div>
</div>
<div class="form-group">
<label for="price">Price</label>
<div class="invalid-feedback">
</div>
</div>
<div class="form-group">
<label for="name">Photo</label>
?>" />
P a g e | 51
<div class="invalid-feedback">
</div>
</div>
<div class="form-group">
<label for="name">Description*</label>
?>"
>description ?></textarea>
<div class="invalid-feedback">
</div>
</div>
</form>
</div>
* required fields
P a g e | 52
</div>
</div>
</div>
</div>
</body>
</html>
P a g e | 53
Buat folder baru di dalam project dengan nama upload, lalu di dalamnya berisi
$config['upload_path'] = './upload/product/';
$config['allowed_types'] = 'gif|jpg|png';
$config['file_name'] = $this->product_id;
$config['overwrite'] = true;
// $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";
$this->image = $this->_uploadimage();
P a g e | 55
if (!empty($_FILES["image"]["name"])) {
$this->image = $this->_uploadImage();
} else {
$this->image = $post["old_image"];
}
P a g e | 56
BAB IV
PENUTUP
4.1 Kesimpulan
Dari project yang penulis lakukan tentang perancangan CRUD,
maka dapat disimpulkan bahwa :