Sudrajad Hadi Saputra

Mahasiswa

Suka rebahan

Friendly

Baikk dong

I'm Sudrajad Hadi Saputra,
Human & Student
from Jember, East Java.

Persahabatan itu ibarat kita ngompol di celana, setiap orang dapat melihatnya, tapi hanya anda yang bisa merasakan kehangatannya

What I Do
Graduate

SDN Sidomekar 02 Semboro

MTs Hasanuddin Semboro

MAU Amanatul Ummah Pacet

Experience

Staff Ahli IP JMMI Divisi Website Kabinet Proaksi

Staff Ahli KMI 2020 Divisi Kaderisasi

Study

Kuliah lah di ITS, udah semester 6 nih, bentar lagi lulus insyaAllah

Recent Works

Evaluasi Akhir Semester PBKK

Evaluasi Akhir Semester PBKK

Latar Belakang

Penyakit Covid-19 sudah menyebar ke berbagai penjuru dunia, termasuk negara asia tenggara yaitu indonesia, oleh sebab itu indonesia menerapkan sistem lockdown, karena sistem tersebut banyak orang yang mulai kehilangan pekerjaan karena aturan tersebut, oleh sebab itu kami membuat website donasi yang bertujuan untuk membantu orang-orang yang kehilangan pekerjaannya untuk memenuhi kebutuhan sehari-hari

Deskripsi Website

Website ini terdiri dari 2 halaman utama, yaitu untuk pengguna umum dan admin, untuk pengguna umum menampilkan daftar donasi dan dapat melakukan donasi melalui website ini, sedangkan untuk admin menampilkan website untuk mengelola daftar donasi

Dokumentasi




Anggota

05111740000124 Furqan Aliyuddien
05111740000133 Arjun Aksan
05111740000040 Arini Puspitasari
05111740000158 Sudrajad Hadi Saputra

Link

github : EAS-PBKK
video : EAS-PBKK
website : EAS-PBKK

Akun

User : admin
Password : admin

Rangkuman dan Tutorial Framework Google

Google Spreadsheet

Google Sheets is a spreadsheet program included as part of a free, web-based software office suite offered by Google within its Google Drive service. It is a modern version of MS Excel. The service also includes Google Docs and Google Slides, a word processor and presentation program respectively. 

Google Apps Script

Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. Google Apps Script was initially developed by Mike Harm as a side project whilst working as a developer on Google Sheets.

Function

1. Add custom menus, dialogs, and sidebars to Google Docs, Sheets, and Forms.
2. Write custom functions and macros for Google Sheets.
3. Publish web apps — either standalone or embedded in Google Sites.
4. Interact with other Google services, including AdSense, Analytics, Calendar, Drive, Gmail, and Maps.
5. Build add-ons to extend Google Docs, Sheets, Slides, and Forms, and publish them to the Add-on store
6. Convert an Android app into an Android add-on so that it can exchange data with a user's Google Doc or Sheet on a mobile device.
7. Streamline Hangouts Chat workflows by building a chat bot.

Make Website with spreadsheet as database

1. open https://script.google.com/home/start
2. create 2 new file (code.gs and hello.html)
3. copy paste this code

code.gs
function doGet(e) {
  return HtmlService.createHtmlOutputFromFile("hello");
}

function userClicked(uname,uemail, ujenisKelamin, ualamat){
  var url = "https://docs.google.com/spreadsheets/d/1L4CFcpaIFK5GaWmZPbhihTK01u8PfN-fmSXz9J-Quqg/edit#gid=0"
  var ss = SpreadsheetApp.openByUrl(url);
  var ws = ss.getSheetByName("Data");

  ws.appendRow([new Date, uname,uemail,ujenisKelamin,ualamat]);

 // Logger.log(uname +"Someone clicked");
}

hello.html
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
 
    <style>
    body#LoginForm{ background-image:url("https://hdwallsource.com/img/2014/9/blur-26347-27038-hd-wallpapers.jpg"); background-repeat:no-repeat; background-position:center; background-size:cover; padding:10px;}

.form-heading { color:#fff; font-size:23px;}
.panel h2{ color:#444444; font-size:18px; margin:0 0 8px 0;}
.panel p { color:#777777; font-size:14px; margin-bottom:30px; line-height:24px;}
.login-form .form-control {
  background: #f7f7f7 none repeat scroll 0 0;
  border: 1px solid #d4d4d4;
  border-radius: 4px;
  font-size: 14px;
  height: 50px;
  line-height: 50px;
}
.main-div {
  background: #ffffff none repeat scroll 0 0;
  border-radius: 2px;
  margin: 10px auto 30px;
  max-width: 38%;
  padding: 50px 70px 70px 71px;
}

.login-form .form-group {
  margin-bottom:10px;
}
.login-form{ text-align:center;}
.forgot a {
  color: #777777;
  font-size: 14px;
  text-decoration: underline;
}
.login-form  .btn.btn-primary {
  background: #f0ad4e none repeat scroll 0 0;
  border-color: #f0ad4e;
  color: #ffffff;
  font-size: 14px;
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 0;
}
.forgot {
  text-align: left; margin-bottom:30px;
}
.botto-text {
  color: #ffffff;
  font-size: 14px;
  margin: auto;
}
.login-form .btn.btn-primary.reset {
  background: #ff9900 none repeat scroll 0 0;
}
.back { text-align: left; margin-top:10px;}
.back a {color: #444444; font-size: 13px;text-decoration: none;}
    </style>
  </head>
  <body id="LoginForm">
<div class="container">
<h1 class="form-heading">Form User</h1>
<div class="login-form">
<div class="main-div">
    <div class="panel">
   <h2>Registrasi</h2>
   </div>
 
        <div class="form-group">

            <input type="text" class="form-control" id="username" placeholder="Nama Lengkap">

        </div>

        <div class="form-group">

            <input type="text" class="form-control" id="email" placeholder="Email">

        </div>
     
        <div class="form-group">

            <input type="text" class="form-control" id="jenisKelamin" placeholder="Gender">

        </div>
        <div class="form-group">

            <input type="text" class="form-control" id="alamat" placeholder="Alamat">

        </div>
     
        <button id ="btn" class="btn btn-primary">Simpan</button>
    </div>
</div></div></div>

</body>

<script>
document.getElementById("btn").addEventListener("click",doStuff);

function doStuff(){
var uname = document.getElementById("username").value;
var uemail = document.getElementById("email").value;
var ujenisKelamin = document.getElementById("jenisKelamin").value;
var ualamat = document.getElementById("alamat").value;
google.script.run.userClicked(uname,uemail,ujenisKelamin, ualamat);
document.getElementById("username").value= "";
document.getElementById("email").value= "";
document.getElementById("jenisKelamin").value= "";
document.getElementById("alamat").value= "";
}
</script>
  </body>
</html>
4. Your data will automatically updated

Evaluasi Tengah Semester PBKK


Asumsi

1. Terdapat 4 user, admin, keuangan, gudang, kasir
2. Data penjualan dapat diexport dalam bentuk pdf
3. Pada saat transaksi user tinggal memasukkan kode atau nama barang dan jumlah barang, maka otomatis data akan tersimpan dan struk dapat di cetak
4. Admin dapat mengakses semua fitur yang ada
5. Keuangan dapat mengakses semua fitur pembayaran yang ada
6. Gudang dapat akses untuk mengatur barang yang ada pada sistem
7. Kasir dapat akses terhadap transaksi yang ada pada sistem

Deskripsi

Aplikasi Penjualan merupakan sistem informasi yang mencatat transaksi penjualan di kasir yang di bentuk menggunakan framework Code Igniter dan PHP 5

Website

https://information-navel.000webhostapp.com/

User dan Password

Admin
User : admin
Password : admin

Kasir
User : kasir
Password : kasir

Gudang
User : gudang
Password : gudang

Keuangan
User : keuangan
Password : keuangan

Note : karena menggunakan free hosting, website kadang tidak merespon, cukup lakukan reload maka website dapat di akses kembali

Fitur

1. Login

Terdapat 4 level akses, dan akan menampilkan halaman utama yang berbeda-beda

Dashboard Admin
dapat dilihat bahwa level akses admin dapat menggunakan semua fitur yang ada, laporan keuangan, pembayaran, daftar barang, dan hak akses untuk menambah user atau menghapus user

Dashboard Kasir
untuk kasir hanya dapat hak akses terhadap transaksi yang ada pada sistem

Dashboard Gudang
untuk bagian gudang hanya akan mendapat akses untuk mengedit barang yang ada pada sistem

Dashboard Keuangan
bagian keuangan hanya dapat melihat daftar barang, history transaksi dan mengeksport semua history keuangan dalam bentuk laporan pdf

2. Menambah Pelanggan

sistem dapat menambahkan pelanggan tertentu yang nantinya akan disimpan dalam database sistem

3. Cetak Transaksi

sistem dapat mencetak transaksi yang telah dilakukan

4. Melihat Laporan Keuangan

sistem dapat melihat laporan keuangan berdasarkan waktu yang di inputkan

5. Mengedit User

admin dapat mengedit data user yang ada pada sistem

6. Laporan Keuangan Berdasarkan Waktu yang Diinputkan

dapat mencetak laporan keuangan berdasarkan waktu yang diinputkan dalam bentuk pdf

7. List Merk Barang

dapat melihat merk apa saja yang telah di masukkan dalam sistem

8. List Kategori Barang

dapat melihat kategori barang yang ada pada sistem

9. Mengubah password

user dapat mengubah password

10. Melihat History Penjualan

dapat menampilkan history transaksi yang telah dilakukan

11. Menyimpan Data Pelanggan Tertentu

dapat melita, menyimpan, menghapus, dan menambahkan pelanggan tertentu pada sistem

Dokumentasi Source Code

karena terdapat banyak source code yang harus ditulis, maka dokumentasi saya alihkan ke github dengan link https://github.com/sudrajadhadi/ETS-PBKK

Tugas 7

Tugas

Mengatur Akses User

Langkah-langkah

1. Membuat Tabel untuk Users

a, Buka Phpmyadmin, buat tabel bernama users dengan 11 kolom
b. isi dengan sql ini :
CREATE TABLE `users` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(64) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `full_name` varchar(255) NOT NULL,
  `phone` varchar(20) NOT NULL,
  `role` enum('admin','customer') NOT NULL DEFAULT 'customer',
  `last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `photo` varchar(64) NOT NULL DEFAULT 'user_no_image.jpg',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `is_active` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`user_id`)
);

2. Membuat Model User

a. Buat model baru di dalam folder application/models/ dengan nama User_model.php, isi :
<?php

class User_model extends CI_Model
{
    private $_table = "users";

    public function doLogin(){
$post = $this->input->post();

        // cari user berdasarkan email dan username
        $this->db->where('email', $post["email"])
                ->or_where('username', $post["email"]);
        $user = $this->db->get($this->_table)->row();

        // jika user terdaftar
        if($user){
            // periksa password-nya
            $isPasswordTrue = password_verify($post["password"], $user->password);
            // periksa role-nya
            $isAdmin = $user->role == "admin";

            // jika password benar dan dia admin
            if($isPasswordTrue && $isAdmin){
                // login sukses yay!
                $this->session->set_userdata(['user_logged' => $user]);
                $this->_updateLastLogin($user->user_id);
                return true;
            }
        }
     
        // login gagal
return false;
    }

    public function isNotLogin(){
        return $this->session->userdata('user_logged') === null;
    }

    private function _updateLastLogin($user_id){
        $sql = "UPDATE {$this->_table} SET last_login=now() WHERE user_id={$user_id}";
        $this->db->query($sql);
    }

}

3. Membuat Controller Login

a. Membuat controller baru, di dalam folder controllers/admin/ dengan nama Login.php, isi :
<?php

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

    public function index()
    {
        // jika form login disubmit
        if($this->input->post()){
            if($this->user_model->doLogin()) redirect(site_url('admin'));
        }

        // tampilkan halaman login
        $this->load->view("admin/login_page.php");
    }

    public function logout()
    {
        // hancurkan semua sesi
        $this->session->sess_destroy();
        redirect(site_url('admin/login'));
    }
}
b. buka controller/admin/Overview.php dan controller/admin/Product.php, tambah kode ini :
$this->load->model("user_model");
if($this->user_model->isNotLogin()) redirect(site_url('admin/login'));

4. Membuat View untuk Halaman Login

a. Buat file baru di dalam folder application/views/admin/ dengan nama login_page.php, isi :
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Login Admin</title>

    <!-- Bootstrap core CSS-->
    <link href="<?php echo base_url('assets/bootstrap/css/bootstrap.min.css') ?>" rel="stylesheet">
</head>

<body>

    <div class="container">
        <div class="row">
            <div class="col-12 col-md-6 text-center mt-5 mx-auto p-4">
                <h1 class="h2">Login Admin</h1>
                <p class="lead">Silahkan masuk ke Panel Admin</p>
            </div>
        </div>
        <div class="row">
            <div class="col-12 col-md-5 mx-auto mt-5">
                <form action="<?= site_url('admin/login') ?>" method="POST">
                    <div class="form-group">
                        <label for="email">Email</label>
                        <input type="text" class="form-control" name="email" placeholder="Pakai username juga bisa.." required />
                    </div>
                    <div class="form-group">
                        <label for="password">Password</label>
                        <input type="password" class="form-control" name="password" placeholder="Password.." required />
                    </div>
                    <div class="form-group">
                        <div class="d-flex justify-content-between">
                            <div class="custom-control custom-checkbox">
                                <input type="checkbox" class="custom-control-input" name="rememberme" id="rememberme" />
                                <label class="custom-control-label" for="rememberme"> Ingat Saya</label>
                            </div>
                            <a href="<?= site_url('reset_password') ?>">Lupa Password?</a>
                        </div>
                    </div>
                    <div class="form-group">
                        <input type="submit" class="btn btn-success w-100" value="Login" />
                    </div>

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

</body>

</html>
b. buka file views/admin/_partials/modal.php, kemudian ubah alamat link Logout menjadi :
<a class="btn btn-primary" href="<?= site_url('admin/login/logout') ?>">Logout</a>

Screenshot

Source code : disini

Tugas 6

Tugas

Penanganan File Upload

Langkah-langkah

a. Buat folder baru di dalam project dengan nama upload, di dalamnya berisi folder lagi bernama product
b. Buka model Product_model.php, tambahakan method _uploadImage() tepat di bawah method delete() isi :
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";
}
c. Ubah method save() menjadi seperti di bawah ini
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"];
        return $this->db->insert($this->_table, $this);
    }
d. Ubah method update() menjadi seperti di bawah ini
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']));
    }
e. Tambahkan method _deleteImage()
private function _deleteImage($id)
{
    $product = $this->getById($id);
    if ($product->image != "default.jpg") {
     $filename = explode(".", $product->image)[0];
  return array_map('unlink', glob(FCPATH."upload/product/$filename.*"));
    }
}
f. Panggil method _deleteImage() pada method detele()
public function delete($id)
    {
        $this->_deleteImage($id);
        return $this->db->delete($this->_table, array("product_id" => $id));
    }

Screenshot


Source code : disini

PBKK 5

Tugas

Menghubungkan database dengan website

Langkah-langkah

1. Membuat database

a. buka PHPMyadmin
b. buat database baru dengan nama tokobuah
c. buat tabel products dengan 5 kolom
Kolom yang dibutuhkan :
1. product_id (Primary Key) bertipe string dengan panjang 64
2. name bertipe string dengan panjang 255
3. price bertipe integer
4. image bertipe string dengan panjang 255
5. description bertipe TEXT

2. Koonfigurasi codeigniter

a. buka config/database.php, kemudian isi :
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'tokobuah',
'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
);
b. buka config/autoload.php.
c. cari $autoload['libraries'] dan tambahkan database dan session
$autoload['libraries'] = array('database', 'session');

3. Membuat Model untuk Tabel

a. buat file baru di dalam direktori application/model/ dengan nama Product_model.php, isi :
<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Product_model extends CI_Model
{
    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']
        ];
    }

    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->description = $post["description"];
        return $this->db->insert($this->_table, $this);
    }

    public function update()
    {
        $post = $this->input->post();
        $this->product_id = $post["id"];
        $this->name = $post["name"];
        $this->price = $post["price"];
        $this->description = $post["description"];
        return $this->db->update($this->_table, $this, array('product_id' => $post['id']));
    }

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

4. Membuat Controller

a. buat file baru di dalam folder application/controllers/admin/ dengan nama Products.php, isi :
<?php

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

class Products extends CI_Controller
{
    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());

        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();
            $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'));
        }
    }
}

5. Membuat View

buat tiga macam view :
1. list.php untuk menampilkan data
2. new_form.php untuk menampilkan form tambah data
3. dan edit_form.php untuk menampilkan form edit data

1. View List Data
a. Buat file baru dengan nama list.php di dalam folder views/admin/product/ isi :
<!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/products/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>Name</th>
<th>Price</th>
<th>Photo</th>
<th>Description</th>
<th>Action</th>
</tr>
</thead>
<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>
<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>
<!-- /.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>

2. Membuat Form Add
a. buat file baru di dalam folder view/admin/product/ dengan nama new_form.php isi :
<!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/products/') ?>"><i class="fas fa-arrow-left"></i> Back</a>
</div>
<div class="card-body">

<form action="<?php echo site_url('admin/products/add') ?>" method="post" enctype="multipart/form-data" >
<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" />
<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">
<?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>

<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. Membuat Form Edit
a. buat file baru di dalam folder views/admin/product/ dengan nama edit_form.php isi :
<!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/products/') ?>"><i class="fas fa-arrow-left"></i>
Back</a>
</div>
<div class="card-body">

<form action="" method="post" enctype="multipart/form-data">
<!-- Note: atribut action dikosongkan, artinya action-nya akan diproses
oleh controller tempat vuew ini digunakan. Yakni index.php/admin/products/edit/ID --->

<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 ?>" />
<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('image') ? 'is-invalid':'' ?>"
type="file" name="image" />
<input type="hidden" name="old_image" value="<?php echo $product->image ?>" />
<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
</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>

Screenshot



Source code : disini

PBKK 3


Tugas

Implementasi petani kode


Hasil


Source Code : Disini

Cari Blog Ini

Contact Me

Adress/Street

Perumdos Blok U No.5

Phone number

+(62)81 63 42 045

Campus

Institut Teknologi Sepuluh Nopember