Skip to content

khoiron14/kasir

Repository files navigation

Kasir Praktikum

Note : Kalo baca yang teliti ya bos!!!!

Table of Contents

A. Requirements

  • PHP versi 7.1.3 keatas
  • Composer
  • Koneksi internet

↥ back to top

B. Install

  1. Install Composer

  2. Buka CMD atau Terminal

  3. Install Laravel

  4. Selanjutnya masuk ke folder project kasir pada cmd dan lanjut ke langkah berikutnya

↥ back to top

C. Konfigurasi

  1. Buat database dengan nama dbKasir

  2. Buka project kasir dengan text editor

  3. Buka file .env

  4. Jika file .env tidak ada, run command berikut dan kemudian generate app key

  5. Generate app key

  6. Konfigurasi laravel biasanya adalah konfigurasi database, tapi pastikan juga port MySQL pada .env dan laptop sudah sama

  7. Jalankan server laravel

↥ back to top

D. Membuat File Migration dan Seed

Dalam project ini ada 5 Model/Tabel yang perlu dibuat, yaitu: ItemCategory, Item, Cart, Transaction dan TransactionDetail. Selain itu kita juga memerlukan 4 file migration lagi untuk membuat Function, Procedure, dan Trigger.

  1. Membuat model ItemCategory beserta migrationnya.

    Buka file migration ItemCategory yang telah dibuat pada direktori /database/migrations dan inisialisasikan atribut tablenya.

  2. Membuat model Item beserta migrationnya.

  3. Membuat model Cart beserta migrationnya.

  4. Membuat model Transaction beserta migrationnya.

  5. Membuat model TransactionDetail beserta migrationnya.

  6. Membuat sebuah file migration untuk function bernama item_id_function

  7. Membuat sebuah file migration untuk function bernama item_quantity_function

  8. Membuat sebuah file migration untuk procedure bernama reduce_stock_item_procedure

  9. Membuat sebuah file migration untuk trigger bernama item_stock_trigger

  10. Membuat seeder ItemCategorySeeder

  11. Menambah data seeder ItemCategory pada database/seeds/ItemCategorySeeder.php

  12. Memanggil ItemCategorySeeder pada DatabaseSeeder

  13. Melakukan migration ke database MySql

    Apabila terjadi error SQLSTATE[42000]: Syntax error... saat migrate, buka file app/Providers/AppServiceProvider.php dan ubah menjadi seperti berikut

    Khusus untuk pengguna linux, Perintah CREATE OR REPLACE di Mysql Server Linux tidak ada, jadi jika dijalankan akan error seperti berikut

    Untuk memperbaiki kode, ubah syntax Mysql menjadi seperti berikut

    • database/migrations/2019_02_19_030567_item_id_function.php

    • database/migrations/2019_02_19_030568_item_quantity_function.php

    • database/migrations/2019_02_19_030639_reduce_stock_item_procedure.php

    • database/migrations/2019_02_19_030817_item_stock_trigger.php

    Lalu ulangi lagi perintah berikut

↥ back to top

E. Menambah Fungsi Relasi

Fungsi - fungsi ini terdapat pada direktori app/ yang berfungsi untuk menyimpan seluruh file yang berkaitan dengan proses request dan response HTTP.

  1. Cart.php

  2. Item.php

  3. ItemCategory.php

  4. Transaction.php

  5. TransactionDetail.php

  6. User.php

↥ back to top

F. Membuat Halaman Login

Di Laravel, untuk membuat halaman login lengkap dengan registernya, hanya perlu menjalankan perintah berikut

Lalu refresh projek laravel pada browser

↥ back to top

G. Mengganti Layout yang Sudah Ada

  1. Ubah layout resources/views/home.blade.php menjadi seperti berikut

    Atau copy code berikut

↥ back to top

H. Mengubah Route

  1. Mengubah route / mengarah ke home pada file routes/web.php

  2. Mengubah route /home menjadi /

    1. app/Http/Controllers/Auth/LoginController.php

    2. app/Http/Controllers/Auth/RegisterController.php

    3. app/Http/Controllers/Auth/ResetPasswordController.php

    4. app/Http/Controllers/Auth/VerificationController.php

    5. app/Http/Middleware/RedirectIfAuthenticated.php

↥ back to top

I. Menampilkan data Item

  1. Mengirim data Item ke route / (home) Buka file app\Http\Controllers\HomeController.php dan tambahkan code berikut

  2. Menampilkan data item di home

    Edit file resources/views/home.blade.php dan tambahkan kode berikut pada tag <tbody> dibagian modal pada form "Pilih Barang"

    Jangan lupa tambahkan id pada setiap inputan

↥ back to top

J. CRUD Keranjang

  1. Membuat file CartController.php

  2. Buka file app\Http\Controllers\CartController.php dan tambahkan fungsi berikut

  3. Buka file routes\web.php dan tambahkan route berikut

  4. Ubah form "Pilih Barang" pada resources/views/home.blade.php

  5. Ubah layout table keranjang pada resources/views/home.blade.php

↥ back to top

K. CRUD Transaksi

  1. Membuat file TransactionController.php

  2. Buka file app\Http\Controllers\TransactionController.php dan tambahkan fungsi berikut

  3. Buka file routes\web.php dan tambahkan route berikut

  4. Ubah form "Pembayaran" pada resources/views/home.blade.php

  5. Buatlah folder bernama "transaction" pada resources/views/

  6. Tambahkan file index.blade.php pada folder transaction sebagai layout daftar transaksi

  7. Tambahkan file show.blade.php pada folder transaction sebagai layout detail transaksi

↥ back to top

L. Akses File

  1. Buka file database/migrations/..._create_items_table.php dan ubah kolom description menjadi image

  2. Lakukan perintah berikut untuk migrasi ulang database

  3. Ubahlah beberapa element yang ada pada file resources/views/home.blade.php

  4. Lakukan hal yang sama seperti diatas pada file resources/views/transaction/show.blade.php

↥ back to top

M. Insert Data Item

Untuk insert data pada laravel, tersedia dua pilihan, yaitu melalui Phpmyadmin dan Laravel Tinker. Sebelum menambahkan data Item, buatlah folder bernama "image" pada public/ dan isi folder tersebut dengan beberapa gambar

1. Melalui Phpmyadmin

  1. Masuk ke localhost/phpmyadmin melalui browser

  2. Pilih database dbKasir dan selanjutnya pilih tabel items

  3. Pilih tab Insert pada menu di bagian atas

  4. Masukkan data pada form yang sudah disediakan, untuk kolom image gunakan path gambar yang telah di tambahkan pada folder public/image, contoh: image/sendok.png

  5. Masukkan data seperti pada gambar berikut

  6. Jika sudah, klik go dan data akan otomatis tersimpan pada database. Reload dan cek pada database Mysql atau project laravel untuk mengecek, seperti pada gambar berikut

2. Melalui Laravel Tinker

Terdapat 2 cara, insert satu persatu dan insert sekaligus

  1. Insert satu persatu

    1. Ketik perintah berikut pada cmd / terminal

    2. Use Item model

    3. Insert ke kolom item_category_id. 1=Makanan, 2=Minuman, 3=Alat Tulis, 4=Alat Dapur, 5=Pembersih

    4. Insert ke kolom name

    5. Insert ke kolom price

    6. Insert ke kolom stock

    7. Insert ke kolom image sesuai path gambar nya

    8. Save

    9. Contoh command lengkapnya seperti berikut

    10. Pada saat menjalankan perintah $item->save();, jika mengeluarkan output true berarti data sudah tersimpan di database Mysql. Untuk mengecek, bisa dilihat pada Phpmyadmin ataupun pada list barang di projek laravel

  2. Insert sekaligus

    1. Menggunakan model Item sekaligus meng insert data

    2. Save

    3. Data sudah tersimpan ke database, jika ingin menampilan data dalam Array, ketik perintah berikut

↥ back to top

N. Membuat Unit Test

  1. Jalankan perintah berikut untuk membuat sebuah unit test

    --unit menandakan bahwa test termasuk unit test

  2. Hapus beberapa file/folder

    • tests/Feature
    • tests/Unit/ExampleTest.php
  3. Buka file tests/Unit/CategoryModelTest.php dan edit seperti berikut

    Kita errorkan dahulu untuk mengetahui fungsi unit test (engga penting amat gan..)

  4. Jalankan perintah berikut

  5. Perbaiki bagian yang salah

  6. Jalankan lagi perintah berikut

↥ back to top

O. Fixbug

Fixbug Transaksi (max quantity)

  1. Buka app/Http/Controllers/TransactionController.php dan ubah kode menjadi seperti berikut

  2. Lalu pada resources/views/home.blade.php di line 214

↥ back to top

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages