Anda di halaman 1dari 15

Membuat Aplikasi Point of Sale dengan Laravel dan AJAX

Sanksi Pelanggaran Pasal 113


Undang-Undang Nomor 28 Tahun 2014
tentang Hak Cipta
1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi
sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf i untuk Penggunaan
Secara Komersial dipidana dengan pidana penjara paling lama 1 (satu) tahun
dan/atau pidana denda paling banyak Rp100.000.000 (seratus juta rupiah).
2. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau
pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta
sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf c, huruf d, huruf f,
dan/atau huruf h untuk Penggunaan Secara Komersial dipidana dengan
pidana penjara paling lama 3 (tiga) tahun dan/atau pidana denda paling
banyak Rp500.000.000,00 (lima ratus juta rupiah).
3. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau
pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta
sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf a, huruf b, huruf e,
dan/atau huruf g untuk Penggunaan Secara Komersial dipidana dengan
pidana penjara paling lama 4 (empat) tahun dan/atau pidana denda paling
banyak Rp1.000.000.000,00 (satu miliar rupiah).
4. Setiap Orang yang memenuhi unsur sebagaimana dimaksud pada ayat (3)
yang dilakukan dalam bentuk pembajakan, dipidana dengan pidana penjara
paling lama 10 (sepuluh) tahun dan/atau pidana denda paling banyak
Rp4.000.000.000,00 (empat miliar rupiah).
Membuat Aplikasi Point of Sale dengan Laravel
dan AJAX

Rohi Abdulloh

PENERBIT PT ELEX MEDIA KOMPUTINDO


Membuat Aplikasi Point of Sale dengan Laravel dan AJAX
Rohi Abdulloh
© 2017, PT Elex Media Komputindo, Jakarta
Hak cipta dilindungi undang-undang
Diterbitkan pertama kali oleh
Penerbit PT Elex Media Komputindo
Kelompok Gramedia, Anggota IKAPI, Jakarta 2017

717051371
ISBN: 978-602-02-4109-2

[eEp]

Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian atau


seluruh isi buku ini tanpa izin tertulis dari penerbit.

Dicetak oleh Percetakan PT Gramedia, Jakarta


Isi di luar tanggung jawab percetakan
DAFTAR ISI

KATA PENGANTAR................................................................................ V
DAFTAR ISI ........................................................................................ VII
BAB 1 PENGETAHUAN DASAR LARAVEL ................................................ 1
1.1 Kenal Lebih Dekat dengan Laravel ............................................1
1.1.1 Pengenalan Laravel ..............................................................1
1.1.2 Keunggulan Laravel .............................................................2
1.2 Software Pendukung Laravel .....................................................4
1.2.1 Text Editor ...........................................................................4
1.2.2 Web Server ..........................................................................4
1.2.3 Composer ............................................................................5
1.3 Instalasi dan Memulai Projek di Laravel......................................6
1.4 Memahami Struktur Folder Laravel............................................7
1.5 Memahami Struktur Folder App ................................................9
1.6 Generate Key untuk Aplikasi....................................................10
1.7 Konfigurasi Database ..............................................................10
1.8 Menghilangkan Public pada URL .............................................11
1.9 Menambah Dependency..........................................................11
BAB 2 MENJELAJAHI FITUR LARAVEL ................................................. 13
2.1 Artisan.....................................................................................13
2.2 Migration .................................................................................15
2.2.1 Membuat Tabel ..................................................................16
2.2.2 Rolling Back Migration .......................................................18
2.2.3 Modifikasi Tabel .................................................................19
2.2.4 Modifikasi Kolom................................................................20
2.3 Model ......................................................................................22
2.4 Seeder.....................................................................................23
2.4.1 Cara Membuat Seeder........................................................23

vii
2.4.2 Menggunakan Model Factory .............................................25
2.5 Routing ...................................................................................26
2.5.1 Cara Membuat Route .........................................................26
2.5.2 Berbagai Route Method......................................................27
2.5.3 Berbagai Cara Penulisan Route ..........................................28
2.6 Query Builder dan Eloquent ORM ...........................................29
2.6.1 Menampilkan Data .............................................................30
2.6.2 Menambahkan Data ...........................................................33
2.6.3 Memperbarui Data .............................................................34
2.6.4 Menghapus Data ................................................................34
2.7 Relationship ............................................................................35
2.8 View dan Blade Template ........................................................38
2.8.1 Membuat View....................................................................38
2.8.2 Menampilkan Data dengan Blade Template .......................39
2.8.3 Control Structure pada Blade Template .............................40
2.8.4 Menampilkan Data dari Database.......................................41
2.8.5 Layout dengan Blade Template..........................................42
2.9 Controller ................................................................................44
2.10 Authentication .........................................................................48
2.11 Middleware ..............................................................................50
2.11.1 Menerapkan Middleware.....................................................51
2.11.2 Membuat Middleware .........................................................51
BAB 3 OPERASI CRUD PADA LARAVEL .............................................. 55
3.1 Menyiapkan Controller.............................................................56
3.2 Menampilkan Data ..................................................................56
3.3 Menampilkan Form Tambah ...................................................59
3.4 Menyimpan Data Form Tambah..............................................61
3.5 Menampilkan Form Edit ..........................................................63
3.6 Menyimpan Data Form Edit.....................................................65
3.7 Menghapus Data .....................................................................66
BAB 4 IMPLEMENTASI AJAX PADA LARAVEL ....................................... 69
4.1 Menyiapkan Aset yang Diperlukan ...........................................69
4.2 Membuat Route dan Controller................................................70
4.3 Mengubah File Template.........................................................71
4.4 Menampilkan Data dengan DataTable.....................................72
4.5 Menggunakan Server Side DataTable ......................................75
4.6 Menampilkan Form Tambah ...................................................78
4.7 Menyimpan Data Form Tambah..............................................80
4.8 Menampilkan Form Edit ..........................................................83
4.9 Menyimpan Data Form Edit.....................................................84

viii
4.10 Menghapus Data .....................................................................85
BAB 5 TRIK LARAVEL PILIHAN ........................................................... 87
5.1 Membuat PDF .........................................................................87
5.2 Mencetak Barcode...................................................................90
5.3 Impor dan Ekspor File Excel....................................................93
5.4 Konversi Tanggal Bahasa Indonesia ........................................97
5.5 Konversi Angka ke Format Mata Uang.....................................99
5.6 Membuat Angka Terbilang ....................................................100
5.7 Direct Printing dengan PHP Printer........................................102
BAB 6 PERSIAPAN MEMBUAT APLIKASI POS..................................... 105
6.1 Membuat Proyek Baru ...........................................................105
6.2 Konfigurasi Database ............................................................106
6.3 Menambahkan Dependency ..................................................106
6.4 Membuat Tabel dengan Migration .........................................107
6.5 Membuat Seeder ...................................................................111
6.6 Membuat Autentikasi.............................................................112
6.7 Membuat Helper....................................................................113
6.8 Membuat Middleware ............................................................114
6.9 Memasang Template AdminLTE ...........................................115
BAB 7 PROSES PEMBUATAN APLIKASI POS...................................... 117
7.1 Mengubah Tampilan Login....................................................117
7.2 Mengubah Master Template Aplikasi .....................................120
7.3 Mengatur Dashboard Sementara...........................................125
7.4 Membuat Halaman Manajemen Kategori...............................128
7.4.1 Membuat Route................................................................128
7.4.2 Membuat Model ...............................................................129
7.4.3 Membuat Controller .........................................................130
7.4.4 Membuat View Index ........................................................131
7.4.5 Membuat View Form ........................................................134
7.5 Membuat Halaman Manajemen Produk.................................136
7.5.1 Membuat Route................................................................136
7.5.2 Membuat Model ...............................................................136
7.5.3 Membuat Controller .........................................................137
7.5.4 Membuat View Index ........................................................140
7.5.5 Membuat View Form ........................................................144
7.5.6 Membuat View Barcode....................................................146
7.6 Membuat Halaman Manajemen Supplier ...............................147
7.6.1 Membuat Route................................................................148
7.6.2 Membuat Model ...............................................................148
7.6.3 Membuat Controller .........................................................148

ix
7.6.4 Membuat View Index ........................................................150
7.6.5 Membuat View Form ........................................................153
7.7 Membuat Halaman Manajemen Member ...............................154
7.7.1 Membuat Route................................................................154
7.7.2 Membuat Model ...............................................................155
7.7.3 Membuat Controller .........................................................155
7.7.4 Membuat View Index ........................................................157
7.7.5 Membuat View Form ........................................................161
7.7.6 Membuat View Cetak Kartu ..............................................163
7.8 Membuat Halaman Manajemen Pengeluaran.........................165
7.8.1 Membuat Route................................................................166
7.8.2 Membuat Model ...............................................................166
7.8.3 Membuat Controller .........................................................166
7.8.4 Membuat View Index ........................................................168
7.8.5 Membuat View Form ........................................................171
7.9 Membuat Halaman Manajemen User dan Ubah Profil ............172
7.9.1 Membuat Route................................................................172
7.9.2 Membuat Controller .........................................................173
7.9.3 Membuat View Index ........................................................176
7.9.4 Membuat View Form ........................................................178
7.9.5 Membuat View Edit Profil..................................................180
7.10 Membuat Halaman Manajemen Pembelian............................184
7.10.1 Membuat Model ...............................................................184
7.10.2 Membuat Route................................................................184
7.10.3 Membuat Controller .........................................................185
7.10.4 Membuat View Index ........................................................187
7.10.5 Membuat View Detail........................................................190
7.10.6 Membuat View Supplier ....................................................191
7.11 Membuat Halaman Transaksi Pembelian...............................192
7.11.1 Membuat Model ...............................................................193
7.11.2 Membuat Route................................................................193
7.11.3 Membuat Controller .........................................................194
7.11.4 Membuat View Index ........................................................196
7.11.5 Membuat View Produk......................................................201
7.12 Membuat Halaman Manajemen Penjualan.............................203
7.12.1 Membuat Model ...............................................................203
7.12.2 Membuat Route................................................................204
7.12.3 Membuat Controller .........................................................204
7.12.4 Membuat View Index ........................................................206
7.12.5 Membuat View Detail........................................................208
7.13 Membuat Halaman Transaksi Penjualan................................209

x
7.13.1 Membuat Model ...............................................................210
7.13.2 Membuat Route................................................................210
7.13.3 Membuat Controller .........................................................211
7.13.4 Membuat View Index ........................................................216
7.13.5 Membuat View Produk......................................................223
7.13.6 Membuat View Member ....................................................223
7.13.7 Membuat View Selesai Transaksi ......................................225
7.13.8 Membuat View Nota PDF .................................................227
7.14 Membuat Halaman Laporan ..................................................229
7.14.1 Membuat Route................................................................229
7.14.2 Membuat Controller .........................................................230
7.14.3 Membuat View Index ........................................................232
7.14.4 Membuat View Form ........................................................234
7.14.5 Membuat View PDF..........................................................236
7.15 Membuat Halaman Setting (Pengaturan) ...............................237
7.15.1 Membuat Model ...............................................................237
7.15.2 Membuat Route................................................................238
7.15.3 Membuat Controller .........................................................238
7.15.4 Membuat View Index ........................................................239
7.16 Mengubah Tampilan Dashboard ..........................................243
7.16.1 Mengubah File Controller .................................................243
7.16.2 Mengubah Dashboard Admin...........................................244
7.16.3 Mengubah Dashboard Kasir .............................................247
KATA PENGANTAR............................................................................ 249

xi
PENGETAHUAN DASAR
LARAVEL

1.1 Kenal Lebih Dekat dengan Laravel

1.1.1 Pengenalan Laravel

Laravel merupakan salah satu dari sekian banyak framework PHP yang
dapat digunakan secara gratis. Laravel dikembangkan oleh programmer
keren asal Amerika yaitu Taylor Otwell pada tahun 2011. Sejak dirilis ke
publik, secara perlahan Laravel mulai merebut perhatian para
programmer dunia. Hingga buku ini di tulis, Laravel telah menjadi salah
satu framework favorit programmer dunia, mengalahkan framework-
framework pendahulunya yang sudah lebih dulu lahir.
Bagi yang belum kenal istilah framework, secara sederhana framework
dapat diartikan sebagai kumpulan kode-kode program yang akan selalu
digunakan pada setiap pembuatan aplikasi. Karena selalu digunakan,
maka kode-kode tersebut dikumpulkan dan disusun secara rapi pada
folder-folder agar mudah digunakan dan jadilah sebuah framework.
Artinya, pembaca sebenarnya juga dapat membuat framework sendiri.
Jika pembaca sudah sering membuat aplikasi, dan dari aplikasi-aplikasi
yang dibuat tersebut ada kode-kode yang selalu digunakan berulang-
ulang, agar tidak selalu membuatnya dari awal, maka pembaca
mengumpulkannya. Kumpulan-kumpulan kode tersebut dapat disebut
sebagai framework.

1
Di internet banyak sekali framework yang dibuat oleh programmer baik
hati yang dapat digunakan secara gratis. Salah satu yang terbaik adalah
framework Laravel.
Keberadaan framework sangat membantu dalam pembuatan aplikasi
karena kita tidak harus membuat segala sesuatunya dari awal.
Framework sudah menyediakan banyak hal yang kita butuhkan sehingga
kita lebih konsentrasi pada pembuatan modul-modul aplikasi.

1.1.2 Keunggulan Laravel

Sekarang Laravel telah menjadi salah satu framework terbaik dan paling
banyak digunakan oleh programmer dunia. Lihat saja data yang
ditunjukkan di website techinputs.com pada artikelnya yang
dipublikasikan pada bulan Januari 2017 berikut:

Gambar 1.1 Perbandingan framework PHP menurut techinputs.com

Pada gambar di atas, dapat kita lihat Laravel menempati urutan pertama
dengan popularitas mencapai 24,85%. Selain itu, jika dilihat pada
Google Trends, pengguna laravel selalu meningkat dari tahun ke tahun.

2
Gambar 1.2 Tren ketertarikan terhadap framework PHP dari tahun ke
tahun

Di balik keberhasilan Laravel tersebut tentu ada sesuatu yang


membuatnya menjadi framework yang disukai para programmer. Di
antara keunggulan Laravel dibandingkan dengan framework lain yaitu
sebagai berikut:
¾ Laravel memiliki banyak fitur yang tidak dimiliki oleh framework lain.
¾ Laravel merupakan framework PHP yang ekspresif, artinya sintaks
pada Laravel menggunakan bahasa yang mudah dimengerti
sehingga programmer pemula sekalipun akan mudah paham
kegunaan suatu sintaks walaupun belum mempelajarinya.
¾ Laravel memiliki dokumentasi yang cukup lengkap, bahkan setiap
versinya memiliki dokumentasi tersendiri mulai dari cara instalasi
hingga penggunaan fitur-fiturnya.
¾ Laravel digunakan oleh banyak programmer sehingga banyak library
yang mendukung Laravel yang diciptakan para programmer pecinta
Laravel.
¾ Laravel didukung oleh Composer sehingga library-library Laravel
dapat diperoleh dengan mudah dari internet menggunakan
Composer. Composer sendiri merupakan Dependency Management
PHP yang membantu kita untuk mendapatkan library yang kita pakai
dan menginstalnya dari internet.

3
¾ Laravel memiliki template engine tersendiri yang diberi nama blade
yang memudahkan kita menampilkan data pada template HTML.

1.2 Software Pendukung Laravel


Untuk dapat menggunakan Laravel, kita membutuhkan beberapa
software yang harus diinstal pada komputer. Beberapa software tersebut
di antaranya sebagai berikut:

1.2.1 Text Editor

Text editor tentu menjadi kebutuhan wajib yang harus dimiliki untuk
menulis pemrograman web. Pembaca bebas memilih text editor yang
sesuai dengan kebutuhan. Beberapa text editor yang biasa digunakan
oleh para programmer di antaranya Notepad++, Sublime Text,
Brackets, dan sebagainya.

1.2.2 Web Server

Web server berperan sebagai penyedia layanan web pada komputer


lokal. Laravel mendukung web server Apache maupun Ngix. Pada buku
ini, penulis menggunakan Xampp yang di dalamnya menggunakan
server Apache. Paket aplikasi ini dapat diunduh dari website
apchefriends.org. Adapun versi yang digunakan pada buku ini yaitu
versi 3.2.2 yang telah mendukung PHP versi 5.6.30. Untuk menjalankan
Laravel versi 5.4 dibutuhkan PHP minimal versi 5.6.4.

4
Gambar 1.3 Xampp Control Panel untuk mengaktifkan maupun
konfigurasi web server Apache

1.2.3 Composer

Composer digunakan untuk memudahkan instalasi Laravel dan


mendapatkan library yang dibutuhkan dari internet. Jadi, sebelum instal
Laravel wajib instal aplikasi ini terlebih dahulu. Aplikasi ini dapat diunduh
dari website getcomposer.org.
Saat instalasi Composer, pastikan dapat mendeteksi letak PHP. Biasanya
terletak pada folder xampp/php.

Gambar 1.4 Memilih path PHP saat instalasi Composer

Anda mungkin juga menyukai