- A. Requirements
- B. Install
- C. Konfigurasi
- D. Membuat File Migration dan Seed
- E. Menambah Fungsi Relasi
- F. Membuat Halaman Login
- G. Mengganti Layout yang Sudah Ada
- H. Mengubah Route
- I. Menampilan Data Item
- J. CRUD Keranjang
- K. CRUD Transaksi
- L. Akses File
- M. Insert Data Item
- N. Membuat Unit Test
- O. Fixbug
- PHP versi 7.1.3 keatas
- Composer
- Koneksi internet
-
Install Composer
-
Buka CMD atau Terminal
-
Install Laravel
-
Selanjutnya masuk ke folder project kasir pada cmd dan lanjut ke langkah berikutnya
-
Buat database dengan nama
dbKasir
-
Buka project kasir dengan text editor
-
Buka file
.env
-
Jika file
.env
tidak ada, run command berikut dan kemudian generate app key -
Generate app key
-
Konfigurasi laravel biasanya adalah konfigurasi database, tapi pastikan juga port MySQL pada
.env
dan laptop sudah sama -
Jalankan server laravel
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.
-
Membuat model
ItemCategory
beserta migrationnya.Buka file migration
ItemCategory
yang telah dibuat pada direktori/database/migrations
dan inisialisasikan atribut tablenya. -
Membuat model
Item
beserta migrationnya. -
Membuat model
Cart
beserta migrationnya. -
Membuat model
Transaction
beserta migrationnya. -
Membuat model
TransactionDetail
beserta migrationnya. -
Membuat sebuah file migration untuk function bernama
item_id_function
-
Membuat sebuah file migration untuk function bernama
item_quantity_function
-
Membuat sebuah file migration untuk procedure bernama
reduce_stock_item_procedure
-
Membuat sebuah file migration untuk trigger bernama
item_stock_trigger
-
Membuat seeder
ItemCategorySeeder
-
Menambah data seeder ItemCategory pada
database/seeds/ItemCategorySeeder.php
-
Memanggil
ItemCategorySeeder
padaDatabaseSeeder
-
Melakukan migration ke database MySql
Apabila terjadi error
SQLSTATE[42000]: Syntax error...
saat migrate, buka fileapp/Providers/AppServiceProvider.php
dan ubah menjadi seperti berikutKhusus untuk pengguna linux, Perintah
CREATE OR REPLACE
di Mysql Server Linux tidak ada, jadi jika dijalankan akan error seperti berikutUntuk 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
-
Fungsi - fungsi ini terdapat pada direktori app/
yang berfungsi untuk menyimpan seluruh file yang berkaitan dengan proses request dan response HTTP.
Di Laravel, untuk membuat halaman login lengkap dengan registernya, hanya perlu menjalankan perintah berikut
Lalu refresh projek laravel pada browser
-
Ubah layout
resources/views/home.blade.php
menjadi seperti berikutAtau copy code berikut
-
Mengubah route
/
mengarah ke home pada fileroutes/web.php
-
Mengubah route
/home
menjadi/
-
Mengirim data Item ke route
/
(home) Buka fileapp\Http\Controllers\HomeController.php
dan tambahkan code berikut -
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
-
Membuat file
CartController.php
-
Buka file
app\Http\Controllers\CartController.php
dan tambahkan fungsi berikut -
Buka file
routes\web.php
dan tambahkan route berikut -
Ubah form "Pilih Barang" pada
resources/views/home.blade.php
-
Ubah layout table keranjang pada
resources/views/home.blade.php
-
Membuat file
TransactionController.php
-
Buka file
app\Http\Controllers\TransactionController.php
dan tambahkan fungsi berikut -
Buka file
routes\web.php
dan tambahkan route berikut -
Ubah form "Pembayaran" pada
resources/views/home.blade.php
-
Buatlah folder bernama "transaction" pada
resources/views/
-
Tambahkan file
index.blade.php
pada folder transaction sebagai layout daftar transaksi -
Tambahkan file
show.blade.php
pada folder transaction sebagai layout detail transaksi
-
Buka file
database/migrations/..._create_items_table.php
dan ubah kolom description menjadi image -
Lakukan perintah berikut untuk migrasi ulang database
-
Ubahlah beberapa element yang ada pada file
resources/views/home.blade.php
-
Lakukan hal yang sama seperti diatas pada file
resources/views/transaction/show.blade.php
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
-
Masuk ke
localhost/phpmyadmin
melalui browser -
Pilih database
dbKasir
dan selanjutnya pilih tabelitems
-
Pilih tab Insert pada menu di bagian atas
-
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
-
Masukkan data seperti pada gambar berikut
-
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
Terdapat 2 cara, insert satu persatu dan insert sekaligus
-
-
Ketik perintah berikut pada cmd / terminal
-
Use Item model
-
Insert ke kolom
item_category_id
. 1=Makanan, 2=Minuman, 3=Alat Tulis, 4=Alat Dapur, 5=Pembersih -
Insert ke kolom
name
-
Insert ke kolom
price
-
Insert ke kolom
stock
-
Insert ke kolom
image
sesuai path gambar nya -
Save
-
Contoh command lengkapnya seperti berikut
-
Pada saat menjalankan perintah
$item->save();
, jika mengeluarkan outputtrue
berarti data sudah tersimpan di database Mysql. Untuk mengecek, bisa dilihat pada Phpmyadmin ataupun pada list barang di projek laravel
-
-
Jalankan perintah berikut untuk membuat sebuah unit test
--unit
menandakan bahwa test termasuk unit test -
Hapus beberapa file/folder
tests/Feature
tests/Unit/ExampleTest.php
-
Buka file
tests/Unit/CategoryModelTest.php
dan edit seperti berikutKita errorkan dahulu untuk mengetahui fungsi unit test (engga penting amat gan..)
-
Jalankan perintah berikut
-
Perbaiki bagian yang salah
-
Jalankan lagi perintah berikut
Fixbug Transaksi (max quantity)
-
Buka
app/Http/Controllers/TransactionController.php
dan ubah kode menjadi seperti berikut -
Lalu pada
resources/views/home.blade.php
di line 214