Friday, June 26, 2020

Proses 2 Transaksi Penjualan Produk Kamera

1. Membuat Database
Saya menamai database dengan nama jualkamera
Selanjutnya membuat tabel produk dengan struktur sebagai berikut
2.Konfigurasi code igniter

Mengatur autoload.php
    1. Buka file xampp/htdocs/jualkamera/application/config
  1. buka file autoload.php
  2. Cari $autoload['libraries'] = array();
  3. Ubah menjadi $autoload['libraries'] = array('database', 'session');
  4. Selanjutnya cari  $autoload['helper'] = array();
  5. Rubah menjadi $autoload['helper'] = array('url','form');
  6. Selanjutnya simpan
Mengatur config.php
    1. Buka file xampp/htdocs/jualkamera/application/config
  1. buka file config.php
  2. cari $config['base_url'] = 'localhost'
  3. ganti dengan $config['base_url'] = 'http://localhost/jualkamera/'
  4. cari $config['index_page'] = 'index.php';
  5. Ubah menjadi $config['index_page'] = '';
  6. Setelah itu simpan
Mengatur database.php
    1. Buka file xampp/htdocs/jualkamera/application/config
  1. buka database.php
  2. cari hostname ubah menjadi localhost
  3. Se1anjutnya kosongkan password 
  4. database diubah menjadi jualkamera
  5. striction ubah menjadi true
  6. simpan 
Untuk menghilangkan index.php dapat menggunakan .htaccess
  1. Simpan kode dibawah ini untuk menghilangkan index.php
  2. RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 
  3. Simpan kedalam folder codeigniter dan simpan dengan nama .htaccess
Mengatur routes.php
  1. Buka file xampp/htdocs/jualkamera/application/config
  2. buka routes.php
  3. cari $router['default_controller'] = 'welcome';
  4. menjadi $router['default_controller'] 'produk';
  5. simpan

3.Membuat model
<?php
defined('BASEPATH') OR exit('No direct script access allowed'); class Produk_model extends CI_Model{ public function create()
{
$nama = $this->input->post('nama_produk');
$brand = $this->input->post('nama_brand');
$produk = $this->input->post('deskripsi_produk');
$kondisi = $this->input->post('kondisi_produk');
$harga = $this->input->post('harga_produk');
$gambar = $_FILES['gambar_produk'];
if ($gambar=''){ } else {
$config['upload_path'] = './uploads/product';
$config['allowed_types'] = 'gif|jpg|png'; $this->load->library('upload',$config);
if(!$this->upload->do_upload('gambar_produk')){
$gambar = "standar.jpg";
} else {
$gambar = $this->upload->data('file_name');
}
}
$stok = $this->input->post('stok_produk'); $data = array (
'nama_produk' => $nama,
'nama_brand' => $brand,
'deskripsi_produk' => $produk,
'kondisi_produk' => $kondisi,
'harga_produk' => $harga,
'gambar_produk' => $gambar,
'stok_produk' => $stok
);
$this->db->insert('produk', $data);
} public function read()
{
$query=$this->db->get('produk');
return $query->result();
} } ?>
Pertama kita membuat model Produk_Model.php  yang mana nantinya akan digunakan untuk menerima
inputan langsung dari user dan berhubungan dengan view dan controller

fungsi create() berguna untuk menambahkan data, pertama variabel $nama,$brand,$produk,$kondisi
$harga,$gambar,$stok akan menampung terlebih dahulu data yang diinputkan oleh user,
lalu data data tersebut dijadikan array dengan variabel $data, selanjutnya data array tersebut
akan dieksekusi dengan perintah $this->db->insert('produk',$data); yang mana 'produk' ini adalah
tabel pada database yang telah kita buat  

fungsi create () berguna untuk melihat data yang telah diinputkan oleh user dengan $this->db->get('produk')
hal ini akan membuat kita untuk melihat semua data yang ada pada tabel

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

class Produk extends CI_Controller {

	public function __construct(){

		parent::__construct();

		$this->load->model('Produk_model');
	}	

	public function index()
	{
		$data['produks'] = $this->Produk_model->read();
		$this->load->view('produk/list_produk',$data);
	}

	public function add()
	{	
		if($this->input->post('submit')){
			$this->Produk_model->create();
		}
		$this->load->view('produk/form_produk');
	}


} 

?>
kita masukan perintah $this->load->model('Produk_model); berguna untuk menload model yang telah kita buat
pada pertama kali halaman dijalankan apabila disimpan di fungsi construct.

fungsi index(), berfungsi sebagai tampilan utama controller, $this->produk_model->read(); berguna untuk
memanggil fungsi yang ada pada model selanjunya ditampung kedalam variabel array $data['produks']
selanjutnya kita akan memperlihatkan view list produk dengan cara $this->load->view('produk/list_produk',$data);
hal tersebut sekaligus kita mengirimkan data yang telah kita panggil dalam model ke view
fungsi add, berfungsi untuk menambahkan data kedalam database, apabila user menekan tombol submit
maka otomatis  akan memanggil fungsi create()

5. Membuat View
  1. Buat folder produk pada view
  2. lalu buat form_produk.php <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.min.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.min.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.min.css')?>"> <script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.min.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/bootstrap.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/bootstrap.min.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/jquery.min.js')?>"></script> </head> <body> <h2>Form Produk</h2> <form method="post" action="" enctype="multipart/form-data"> <table> <tr> <td>Nama Produk : </td> <td><input type="text" name="nama_produk"></td required> </tr> <tr> <td>Nama Brand : </td> <td><input type="text" name="nama_brand"></td> </tr> <tr> <td>Deskripsi : </td> <td><textarea name="deskripsi_produk"></textarea></td> </tr> <tr> <td>Kondisi : </td> <td><input type="radio" name="kondisi_produk" id="" value="Baru">Baru <input type="radio" name="kondisi_produk" id="" value="Bekas">Bekas</td> </tr> <tr> <td>Harga : </td> <td><input type="text" name="harga_produk"></td> </tr> <tr> <td>Gambar : </td> <td><input type="file" name="gambar_produk"></td> </tr> <tr> <td>Stok : </td> <td><input type="text" name="stok_produk"></td> </tr> <tr> <td><input type="submit" name="submit" value="Tambah"> <input type="button" name="" value="Batal"></td> </tr> </table> </form> </body> </html>
  3. hal tersebut berfungsi untuk menerima inputan inputan data oleh user. nama produk, nama brand,harga,stok menggunakan input type text deskripsi diberikan input type textarea gambar diberikan input type file dan kondisi diberikan input type radio
   membuat halaman untuk menampilkan produk
  1. Buat list_produk.php pada folder produk
  2. <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> <!DOCTYPE html> <html> <head> <title>Jual Kameraaa</title> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap.min.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.min.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-grid.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.css')?>"> <link rel="stylesheet" type="text/css" href="<?=base_url('assets/bootstrap/css/bootstrap-reboot.min.css')?>"> <script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/bootstrap.bundle.min.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/bootstrap.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/bootstrap.min.js')?>"></script> <script src="<?=base_url('assets/bootstrap/js/jquery.min.js')?>"></script> </head> <body> <a href="<?=site_url('produk/add')?>">Tambah data</a> <h2>Daftar Produk Kamera</h2> <table border="1" cellspacing="1" cellpadding="10"> <tr> <th>No</th> <th>Nama</th> <th>Brand</th> <th>Deskripsi</th> <th>Kondisi</th> <th>Harga</th> <th>Gambar</th> <th>Stok</th> </tr> <?php $i=1; foreach($produks as $produk) { ?> <tr> <td><?= $i++?></td> <td><?= $produk->nama_produk?></td> <td><?= $produk->nama_brand?></td> <td><?= $produk->deskripsi_produk?></td> <td><?= $produk->kondisi_produk?></td> <td><?= $produk->harga_produk?></td> <td><img src="<?= base_url();?>uploads/product/<?=$produk->gambar_produk?>" width="100" height="100"></td> <td><?= $produk->stok_produk?></td> </tr><?php } ?> </table> </body> </html>
  3. Karena pada sebelumnya pada controller telah mengirimkan data array bernama $data['produks]' kita dapat menggunakan variabel tersebut untuk memperlihatkan data dengan menggunakan foreach dengan memanggil nama variabel yang telah diubah dengan foreach lalu memanggil nama kolom misalkan $produk->nama_produk maka hal tersebut dapat memperlihatkan data yang ada pada database
fungsi foreach dapat mengulang data tabel sebanyak jumlah data yang ada pada database berikut ini tampilan proses keduanya List Produk
Tambah Data


Mencari File/Gambar
Data telah masuk kedalam database








No comments:

Post a Comment

Proses 2 Transaksi Penjualan Produk Kamera

1. Membuat Database Saya menamai database dengan nama jualkamera Selanjutnya membuat tabel produk dengan struktur sebagai berikut 2.Kon...