Wednesday, April 1, 2020

PBKK ETS

 Aplikasi Point of Sale Menggunakan CI

Nama: Darfi Sultoni
NRP: 05111740000063
Kelas: A

A. Asumsi
Aplikasi POS ini dapat digunakan untuk gerai-gerai makanan. Aplikasi ini dapat melakukan manajemen informasi produk, kategori produk, pegawai(pengguna), serta transaksi.

demo aplikasi : Gerai Boba
username:password
1. admin:admin
2. kasir:kasir 

B. Fitur-fitur pada aplikas
1. Autentikasi (login & logout)

2. Kasir (transaksi)



 

3. Manajemen produk
 


4. Manajemen kategori
kurang lebih sama dengan produk
5. Manajemen pengguna
kurang lebih sama dengan produk

C. Dokumentasi Source Code

Aplikasi ini merupakan lanjutan dari aplikasi pembelajaran CI dari petanikode.com yang juga sudah saya coba sebelumnya dan terdokumentasi pada post-post sebelumnya.


 Langkah selanjutnya setelah menyelesaikan hingga Tugas 7 adalah menambahkan beberapa modul seperti produk, yakni Category dan Transaction. Modul transaction ini sedikit menantang karena saya menggunakan cukup banyak javascript untuk mewujudkannya.

 1. Category

Pada modul ini tidak jauh beda dengan modul produk, hanya berbeda nama dan jumlah field saja.Buat Model, Controller, dan View untuk modul ini, dapat dimulai dengan dasar dari modul produk.

controller Category.php
   a. index()
public function index()
{
        $data["categories"] = $this->category_model->getAll();
        $this->load->view("admin/category/list"$data);
}
   b.  add()
public function add()
    {
        if($this->session->user_logged->role != "admin"redirect(site_url('admin/categories'));
        $category = $this->category_model;
        $validation = $this->form_validation;
        $validation->set_rules($category->rules());

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

        $this->load->view("admin/category/new_form");
    }
   c. edit()
public function edit($id = null)
    {
        if($this->session->user_logged->role != "admin"redirect(site_url('admin/categories'));
        if (!isset($id)) redirect('admin/categories');
       
        $category = $this->category_model;
        $validation = $this->form_validation;
        $validation->set_rules($category->rules());

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

        $data["category"] = $category->getById($id);
        if (!$data["category"]) show_404();
        
        $this->load->view("admin/category/edit_form"$data);
    }
   d. delete()
public function delete($id=null)
    {
        if($this->session->user_logged->role != "admin"redirect(site_url('admin/categories'));
        if (!isset($id)) show_404();
        
        if ($this->category_model->delete($id)) {
            redirect(site_url('admin/categories'));
        }
    }
2. Transaction

Pada modul ini tidak jauh beda dengan modul produk, hanya berbeda nama dan jumlah field saja. Namun pada modul ini, untuk membuat laman Create dibutuhkan effort yang lebih. Pada laman create saya menggunakan model untuk menambahkan barang ke keranjang belanja. Beberapa teknologi yang saya manfaatkan: jQuery, Bootstrap Modal, jQuery AJAX.

untuk contoh source code yang lebih jelas dapat langsung mengunjungi repository saya di GitHub

No comments:

Post a Comment