- 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
.envtidak ada, run command berikut dan kemudian generate app key -
Generate app key
-
Konfigurasi laravel biasanya adalah konfigurasi database, tapi pastikan juga port MySQL pada
.envdan 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
ItemCategorybeserta migrationnya.Buka file migration
ItemCategoryyang telah dibuat pada direktori/database/migrationsdan inisialisasikan atribut tablenya. -
Membuat model
Itembeserta migrationnya. -
Membuat model
Cartbeserta migrationnya. -
Membuat model
Transactionbeserta migrationnya. -
Membuat model
TransactionDetailbeserta 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
ItemCategorySeederpadaDatabaseSeeder -
Melakukan migration ke database MySql
Apabila terjadi error
SQLSTATE[42000]: Syntax error...saat migrate, buka fileapp/Providers/AppServiceProvider.phpdan ubah menjadi seperti berikutKhusus untuk pengguna linux, Perintah
CREATE OR REPLACEdi 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.phpmenjadi seperti berikutAtau copy code berikut
-
Mengubah route
/mengarah ke home pada fileroutes/web.php -
Mengubah route
/homemenjadi/
-
Mengirim data Item ke route
/(home) Buka fileapp\Http\Controllers\HomeController.phpdan tambahkan code berikut -
Menampilkan data item di home
Edit file
resources/views/home.blade.phpdan 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.phpdan tambahkan fungsi berikut -
Buka file
routes\web.phpdan 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.phpdan tambahkan fungsi berikut -
Buka file
routes\web.phpdan tambahkan route berikut -
Ubah form "Pembayaran" pada
resources/views/home.blade.php -
Buatlah folder bernama "transaction" pada
resources/views/ -
Tambahkan file
index.blade.phppada folder transaction sebagai layout daftar transaksi -
Tambahkan file
show.blade.phppada folder transaction sebagai layout detail transaksi
-
Buka file
database/migrations/..._create_items_table.phpdan 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/phpmyadminmelalui browser -
Pilih database
dbKasirdan 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
imagesesuai path gambar nya -
Save
-
Contoh command lengkapnya seperti berikut
-
Pada saat menjalankan perintah
$item->save();, jika mengeluarkan outputtrueberarti 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
--unitmenandakan bahwa test termasuk unit test -
Hapus beberapa file/folder
tests/Featuretests/Unit/ExampleTest.php
-
Buka file
tests/Unit/CategoryModelTest.phpdan 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.phpdan ubah kode menjadi seperti berikut -
Lalu pada
resources/views/home.blade.phpdi line 214














































































