Anda di halaman 1dari 162

PRAKTIKUM PEMROGRAMAN INTERNET

Oleh:
KELOMPOK XX
Ni Kadek Giofanni Chandra Devi (1605551001)

PROGRAM STUDI TEKNOLOGI INFORMASI


FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2018
KATA PENGANTAR

Puji syukur terhadap Tuhan Yang Maha Esa, karena atas berkatnya
penyusunan laporan yang berjudul “Praktikum Pemrograman Internet” dapat
diselesaikan. Tujuan disusunnya laporan ini untuk memenuhi tugas akhir semester 4
dari mata kuliah Praktikum Pemrograman Internet. Untuk itu, pada kesempatan ini
penulis mengucapkan banyak terima kasih kepada:
1. Bapak I Nyoman Piarsa, S.T.,M.T. selaku dosen pengampu mata kuliah
Praktikum Pemrograman Internet
2. Asisten dosen yang telah membimbing dalam melakukan praktikum dan
penyusunan Laporan Praktikum Pemrograman Internet.
3. Teman-teman dan semua pihak yang telah membantu memberikan ide atas
terselesaikannya Laporan Praktikum Pemrograman Internet.
Penulis menyadari bahwa laporan ini masih jauh dari kata sempurna, baik
dalam penyusunan, bahasan, maupun penulisan. Oleh karena itu. Diharapkan kritik
dan saran yang bersifat membangun dari semua pihak demi tercapainya
kesempurnaan dalam laporan akhir Praktikum Pemrograman Internet.
Semoga laporan ini dapat memberikan informasi yang bermanfaat bagi
masyarakat, agar wawasan dan pengetahuan dapat berkembang lebih luas lagi

Jimbaran,24 Mei 2018

Tim Penyusun

ii
ABSTRAK

Pemrograman web e-commerce pada penjualan jasa laundry bertujuan untuk


mempermudah masyarakat dalam melakukan pemesanan jasa laundry sehingga
masyarakat tidak lagi kesulitan untuk melakukan pekerjaan rumah seperti
membersihkan dan merapikan baju. Tentunya tanpa mengeluarkan waktu lebih untuk
mengantar dan mengambil pakaian tersebut langsung ke penjual jasa laundry.
Metode yang digunakan penulis adalah dengan melakukan studi literatur
menganai sistem website e-commerce, kemudian dilakukan perancangan desain dan
sistem kerja website dan diimplementasikan dengan dibuatnya website e-commerce
ini.
Tugas praktikum ini bertujuan membangun sebuah sistem penjualan jasa
laundry online. Sistem perancangan dalam pembuatan website e-commerce pada
penjualan jasa laundry ini dikembangkan dengan bahasa pemrograman PHP yang
dikombinasikan dengan database MySQL. Kelebihan penjualan dan pemesanan jasa
laundry pada website ini adalah menghemat waktu dan biaya dibandingkan dengan
pemesanan secara langsung datang ke laundry, dan website ini juga menyediakan
pelayanan antar jemput untuk pakaian yang akan di-laundry.

Keywords : Website, PHP, MySQL

iii
DAFTAR ISI

KATA PENGANTAR.................................................................................................ii
ABSTRAK...................................................................................................................iii
DAFTAR ISI...............................................................................................................iv
DAFTAR TABEL.......................................................................................................vi
DAFTAR GAMBAR.................................................................................................vii
BAB I PENDAHULUAN............................................................................................1
1.1 Latar Belakang......................................................................................................1
1.2 Rumusan Masalah.................................................................................................2
1.3 Tujuan Penelitian..................................................................................................2
1.4 Manfaat Penelitian................................................................................................2
1.5 Batasan Masalah...................................................................................................3
1.6 Sistematika Penulisan...........................................................................................3
BAB II TINJAUAN PUSTAKA................................................................................5
2.1 Sistem Informasi...................................................................................................5
2.2 Internet..................................................................................................................7
2.3 Website..................................................................................................................8
2.4 Database...............................................................................................................8
2.4.2 MySQL..................................................................................................10
2.5 Pemrograman Web..............................................................................................11
2.6 HTML.................................................................................................................11
2.7 PHP.....................................................................................................................12
2.8 Apache................................................................................................................13
2.9 CSS.....................................................................................................................13
2.10 Javascript............................................................................................................14
2.11 JQuery.................................................................................................................14
2.12 Laravel................................................................................................................14
BAB III METODOLOGI PENELITIAN...............................................................17
3.1 Tempat dan Waktu Penelitian.............................................................................17
3.2 Sumber Data.......................................................................................................17
3.3 Gambaran Umum Sistem....................................................................................17

iv
3.3.1 Use Case Diagram.................................................................................17
BAB IV PEMBAHASAN.........................................................................................20
4.1 Source Code........................................................................................................20
4.1.1 Model.....................................................................................................20
4.1.2 Controller..............................................................................................26
4.1.3 View.......................................................................................................59
4.2 Uji Coba............................................................................................................134
4.2.1 User.....................................................................................................134
4.2.2 Pegawai................................................................................................138
4.2.3 Manager.................................................................................................145
BAB V PENUTUP..................................................................................................151
5.1 Simpulan...........................................................................................................151
5.2 Saran.................................................................................................................151
DAFTAR PUSTAKA..............................................................................................152

v
DAFTAR GAMBAR

Tabel 4. 1

vi
DAFTAR KODE PROGRAM

vii
DAFTAR TABEL

viii
BAB I
PENDAHULUAN

Bab I merupakan pendahuluan dari laporan Praktikum Pemrograman Internet.


Laporan Bab I ini membahas tentang latar belakang masalah, rumusan masalah,
tujuan penelitian, manfaat penelitian, serta sistematika penulisan yang menjadikan
awal dalam proses penulisan laporan pemrograman internet ini.
1.1 Latar Belakang
Perkembangan dunia bisnis saat ini sangat pesat, usaha banyak bermunculan
dimana-mana, baik usaha dagang dalam penyediaan barang maupun usaha dalam
pelayanan jasa. Usaha yang memberikan layanan jasa salah satunya adalah laundry.
Jasa laundry merupakan salah satu usaha yang cukup menjanjikan, kebutuhan
manusia akan waktu di era serba cepat ini sangat diperlukan keefektifan dalam
mengelola dan manajemen semua aktivitas rumah tangga membuat masyarakat ingin
serba praktis, terutama bagi para pelajar atau mahasiswa yang biasanya tidak
memiliki waktu untuk mengurus pakaiannya karena disibukkan dengan kegiatan di
kampus.
Perkembangan teknologi dan informasi yang sangat pesat membuat kegiatan
bisnis semakin meningkat, sehingga membuat teknologi saat ini sangat diperlukan di
segala bidang. Khususnya bagi para pelaku bisnis yang banyak menghadapi banyak
persaingan dalam dunia bisnis, oleh karena itu dibutuhkan strategi informasi yang
tepat untuk mendukung tercapainya keberhasilan pada perusahaan agar semakin
efektif dan efisien, serta dapat menciptakan suatu keunggulan yang kompetitif dalam
proses bisnisnya.
Perencanaan strategi bisnis yang tepat merupakan suatu hal yang penting dan
harus diperhatikan perusahaan untuk melindungi posisi perusahaan dari para pesaing.
Banyaknya pesaing di bidang jasa laundry dan dry clean saat ini menyebabkan
perusahaan harus bersaing dengan ketat agar perusahaan dapat tetap terus
memberikan pelayanan untuk pelanggan setianya.

1
2

Berdasarkan uraian diatas maka dilakukan pembuatan serta pengembangan


suatu sistem informasi yang bernama Jimbaran Laundry untuk mengelola pelayanan,
memberikan informasi yang akurat, cepat dan tepat sehingga dapat mendukung
kegiatan operasional bagi penyedia layanan jasa laundry. Dengan memberikan
pelayanan secara online melalui sistem web ini akan lebih memberikan kemudahan
bagi konsumen, dengan memanfaatkan web ini konsumen bisa menggunakan jasa
untuk antar-jemput pakaian apabila tidak memiliki waktu untuk membawa
pakaiannya langsung ke tempat laundry, hal ini akan sesuai pada prinsip efisiensi.

1.2 Rumusan Masalah


Berdasarkaan latar belakang yang telah dibuat, maka adapun perumusan
masalah yang dirumuskan sebagai berikut.
a. Bagaimana perancangan website Jimbaran Laundry
b. Bagaimana bisnis proses dari website Jimbaran Laundry.
c. Bagaimana membangun website Jimbaran Laundry menggunakan framework
Laravel

1.3 Tujuan Penelitian


Melihat dari rumusan masalah di atas, adapun tujuan dari laporan Praktikum
Pemrograman Internet ini adalah sebagai berikut.
a. Memenuhi tugas mata kuliah Praktikum Pemrograman Internet
b. Merancang suatu aplikasi berbasis web.
c. Mengimplementasikan framework Laravel.
d. Mengimplementasikan rancangan menjadi aplikasi berbasis web yang
sebenarnya.

1.4 Manfaat Penelitian


Manfaat yang dapat diambil setelah penelitian ini selesai dilaksanakan yaitu,
diharapkan pada praktikum ini dapat memberikan pemikiran terhadap pengembangan
3

ilmu pengetahuan khususnya Teknologi Informasi berkaitan dengan perancangan


sistem website.

1.5 Batasan Masalah


Adapun beberapa masalah yang dapat membatasi masalah, diangkat pada
laporan Praktikum Pemrograman Internet ini meliputi perancangan bisnis proses,
perancangan database pada MySQL, penggunaan fungsi model, view, controller pada
bahasa pemrograman PHP dan framework Laravel, serta penggunaan CSS Bootstrap
untuk memperindah tampilan website.

1.6 Sistematika Penulisan


Sistematika penulisan yang digunakan pada laporan Praktikum Pemrograman
Internet ini terdiri dari pembahasan umum secara teori disertai dengan pemaparan
contoh dari penjelasan tersebut. Pengambilan teori menggunakan metode
pengumpulan data seperti artikel yang nantinya akan dirangkum dari beberapa
sumber.

Tabel 1. 1 Sistematika Penulisan


BAB I Bab I merupakan pendahuluan dari laporan Praktikum
Pemrograman Internet. Laporan pada Bab I ini mengenai latar
belakang, rumusan masalah, tujuan penelitian, manfaat
penelitian, batasan masalah dan sistematika penulisan yang
digunakan dalam proses penulisan laporan Praktikum
Pemrograman Internet ini.

BAB II Bab II merupakan tinjauan pustaka dari laporan Praktikum


Pemrograman Internet. Laporan Bab II ini membahas tentang
landasan teori secara umum yang menjadikan dasar untuk
digunakan dalam proses penulisan laporan Pemrograman
Internet.
4

BAB III Bab III merupakan metode dan perancangan sistem dari
laporan Praktikum Pemrograman Internet. Laporan Bab III
membahas tentang tempat dan waktu penelitian, sumber data,
dan perancangan website Jimbaran Laundry.
BAB IV Bab IV merupakan pembahasan dari laporan Praktikum
Pemrograman Internet. Laporan Bab IV membahas tentang
kode program pada model, view, controller dan screenshoot
tampilan website yang dipraktikan pada mata kuliah Praktikum
Pemrograman Internet.
BAB V Bab V merupakan penutup dari laporan Praktikum
Pemrograman Internet.Laporan ini mengenai kesimpulan dari
keseluruhan modul-modul Praktikum Pemrograman Internet
serta saran atau masukan yang diberikan oleh dosen pengempu
mata kuliah Praktikum Pemrograman Internet.
BAB II
TINJAUAN PUSTAKA

Bab II merupakan tinjauan pustaka dari laporan Praktikum Pemrograman


Internet. Laporan Bab II ini membahas tentang landasan teori secara umum yang
menjadikan dasar untuk digunakan dalam proses penulisan laporan Pemrograman
Internet.
2.1 Sistem Informasi
Sistem dapat didefinisikan sebagai himpunan dari sekelompok elemen-elemen
yang mempunyai keterkaitan dan keterhubungan satu sama lain dan kesemuanya
membentuk satu kesatuan yang utuh. McLeod (2001) memberi batasan sistem sebagai
sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai
suatu tujuan.
Terminologi sistem dalam area sistem informasi digunakan untuk menjelaskan
sekumpulan komponen-komponen yang berkaitan satu sama lain yang bekerja
bersama-sama untuk mencapai tujuan umum, yaitu dalam menerima masukan-
masukan dan menghasilkan keluaran-keluaran dalam suatu proses transformasi yang
terorganisir. Sistem terdiri dari komponen-komponen atau fungsi utama yaitu input,
processing dan output.
2.1.1 Input
Input atau masukan mencakup elemen-elemen yang bertugas dalam
pemasukan ke dalam sistem untuk diproses lebih lanjut.

2.1.2 Processing
Processing melibatkan proses transformasi yang mengonversi atau mengubah
masukan menjadi keluaran di dalam sistem.

5
6

2.1.3 Output
Output mencakup elemen-elemen hasil transformasi melalui berbagai proses
pengolahan yang ada dalam sistem sebagaimana yang dikehendaki.
Sistem informasi menurut Marimin et al (2006) merupakan komponen-
komponen dalam organisasi atau perusahaan yang berhubungan dengan proses
penciptaan dan pengaliran informasi yang akan digunakan oleh satu atau lebih
pengguna. Sistem informasi pada dasarnya merupakan suatu sistem yang dibuat oleh
manusia, yang terdiri dari komponen-komponen dalam organisasi untuk mencapai
suatu tujuan yaitu menyajikan informasi. Sistem informasi meneroma masukan data
dan intruksi, mengolah data sesuai intruksi dan mengeluarkan hasilnya.
Burch dan Grudnitski (1989) menyatakan bahwa sistem informasi terdiri dari
komponen-komponen yang disebut sebagai blok pembangun (building block), blok
model (model block), blok keluaran (output block), blok teknologi (technology block),
blok basis data (database block) dan blok kendali (controls block). Komponen-
komponen sistem informasi tersebut dapat dijelaskan sebagai berikut.
2.1.4 Blok masukan (input block)
Blok masukan meliputi metode-metode dan media untuk menangkap data
yang akan dimasukan dan dapat berupa dokumen-dokumen dasar.

2.1.5 Blok model (model block)


Blok model terdiri dari kombinasi prosedur, logika, dan model-model yang
berfungsi untuk memanipulasi data masukan dan data yang tersimpan di dalam basis
data, sehingga menjadi informasi tertentu yang diinginkan.

2.1.6 Blok keluaran (output block)


Blok keluaran berupa berbagi dara keluaran seperti dokumen keluaran dan
informasi yang berkualitas yang berguna untuk semua pemakai.
7

2.1.7 Blok teknologi (technology block)


Blok teknologi digunakan untuk menerima masukan, menjalankan model,
menyimpan dan menelusuri/mengakses data, menghasilkan dan mengirimkan
keluaran serta membantu pengendalian dari sistem secara keseluruhan.

2.1.8 Blok basis data (database block)


Kumpulan dari data yang saling berhubungan satu dengan lainnya dan
tersimpan pada sutau perangkat keras dan digunakan perangkat lunak untuk
memanipulasinya.

2.1.9 Blok kendali (controls block)


Pencegahan hal-hal yang dapat merusak sistem dan penanggulangan masalah
pengendalian terhadap operasional sistem secara cepat, tercakup di dalamnya aspek
pencegahan dan penangan terhadap kesalahan atau kegagalan sistem serta integrasi
dan pengembangan sistem.

2.2 Internet
Internet merupakan sebuah solusi jaringan yang dapat menghubungkan
beberapa jaringan lokal yang ada pada suatu daerah, kota, atau bahkan pada suatu
negara untuk dapat menghubungkan beberapa komputer sehingga menjadi sebuah
kelompok jaringan. TCP/IP yaitu sebuah protocol yang mengidentifikasi sebuah
komputer yang terhubung di dalam jaringan. TCP/IP memiliki teknik
mengidentifikasi dengan menggunakan penomoran yang dinamakan internet protocol
address (IP Address). Dengan menggunakan nomor ini sebuah komputer dapat
terhubung dengan komputer lain dalam sebuah jaringan atau dalam jaringan local
yang disebut internet (Nugroho, 2004).
8

2.3 Website
Menurut Nugroho (2004), World Wide Web yang sering disingkat WWW
adalah layanan yang disediakan server untuk komputer client dalam mengakses data
di server. Komputer client merupakan suatu komputer yang digunakan untuk
mengakses layanan server seperti web. Dengan adanya WWW seorang pengguna
dapat menampilkan halaman virtual yang disebut website.
Pada tahun 1990 World Wide Web mulai dikembangkan olah CERN
(Laboratorium Fisika Partikel di Swiss) berdasarkan proposal yang dibuat oleh Tim
Bernes-lee. Namun demikian WWW browser yang baru lahir dua tahun kemudian,
tepatnya tahun 1992 dengan nama Viola. Viola diluncurkan oleh Pei Wei dan
didistribusikan bersama CERN.
Jika dilihat dari proses kerjanya WWW dapat dibagi menjadi beberapa
komponen seperti berikut:
a. Protocol adalah sebuah media yang distandarkan untuk dapat mengakses
komputer ke dalam jaringan. WWW memiliki standar protocol yang bernama
Hypertext Transfer Protocol (HTTP).
b. Address merupakan alamat yang berkaitan dengan penamaan sebuah
komputer didalam jaringan alamat ini merupakan sebuah nomor yang dimiliki
sebuah komputer yang sering disebut nomor IP, akan tetapi dengan
perkembangan zaman dibentuklah metode baru yang bernama domain name,
sehingga nomor IP tersebut digantikan dengan sebuah alamat yang dinamakan
Uniform Resource Locator (URL).
c. Hypertext Markup Language (HTML) yaitu salah satu bahasa scripting yang
dapat menghasilkan halaman website sehingga halaman tersebut dapat diakses
pada setiap komputer pengakses (client).

2.4 Database
Basis Data atau Database adalah kumpulan informasi yang disimpan di dalam
komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang
9

digunakan untuk mengelola dan memanggil query basis data disebut sistem
manajemen basis data database management system, (DBMS). Sistem basis data
dipelajari dalam ilmu informasi. Istilah “basis data” berawal dari ilmu komputer.
Konsep dasar dari basis data merupakan kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari
jenis fakta yang tersimpan di dalamnya, penjelasan ini disebut skema. Skema
menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek
tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur
basis data, ini dikenal sebagai model basis data atau model data. Model yang umum
digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili
semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap
tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi
matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan
nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model
jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan
perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data
Database Management System (DBMS).
2.4.1 Database Management System (DBMS)
DBMS (Database Management System) merupakan sistem pengorganisasian
data pada komputer. DBMS (Database Management System) adalah perangkat lunak
yang memungkinkan untuk membangun basis data yang berbasis komputerisasi.
DBMS (Database Management System) adalah perantara user dengan basis data
sehingga dengan adanya DBMS (Database Management System), user akan dengan
mudah mencari dan menambahkan informasi pada database.
Fungsi dari DBMS adalah sebagai penghubung antara user dengan database
sehingga memungkinkan pengguna dapat mengakses database dengan cepat dan
mudah. Adapun contoh-contoh dari DBMS (Database Management System) adalah :
MySQL, Oracle dan microsoft SQL Server. Komponen-komponen dari DBMS
(Database Management System)
10

a. File manager berfungsi untuk mengelola struktur data yang digunakan untuk
mempresentasikan informasi yang tersimpan dalam disk.
b. Database Manager berfungsi untuk menyediakan interface antar data dengan
program alikasi dan query.
c. Query Processor berfungsi sebagai penterjemah perintah dalam bahasa query
ke intruksi low – level yang dapat dimengerti database manager.
d. DML Precompiler berfungsi sebagai pengkonversi pernyataan atau perintah
DML, yang ditambahkan dalam suatu program aplikasi kepemangin prosedur
normal dalam bahasa induk.
e. DDL Compiler digunakan untuk mengkonversi berbagai perintah DDL ke
dalam sekumpulan tabel yang mengandung metadata.

2.4.2 MySQL
MySQL merupakan Software yang bersifat open source, sesuai dengan
namanya, bahasa standar MySQL adalah SQL. SQL adalah singkatan dari Structured
Query Language dan sering disebut squel. SQL mulai dikembangkan pada akhir
tahun 70-an di Laboratorium IBM, Sanjose, California. Sedangkan MySQL Front
merupakan Software yang digunakan untuk memudahkan dalam mengatur database
yang dibuat baik dalam penambahan tabel, record dan field maupun menghapus dan
mengedit database yang ada. SQL adalah bahasa yang digunakan untuk
berkomunikasi dengan database.
Perintah-perintah yang digunakan pada bahasa SQL antara lain :
a. Select digunakan untuk menampilkan data sesuai kriteria yang kita tentukan.
b. Create digunakan untuk membuat tabel baru.
c. Insert digunakan untuk menyisipkan atau menambah baris pada tabel.
d. Update digunakan untuk mengupdate atau merubah isi data dalam tabel.
e. Delete digunakan untuk menghapus baris/record data dalam tabel
f. Drop digunakan untuk menghapus tabel atau database.
11

2.5 Pemrograman Web


Pemrograman web diambil dari 2 suku kata yaitu pemrograman dan web.
Pemrograman diartikan proses, cara, perbuatan program. Definisi Web yaitu jaringan
komputer yang terdiri dari kumpulan situs internet yang menawarkan teks dan grafik
dan suara dan sumber daya animasi melalui protokol transfer hypertext. Orang
banyak mengenal web dengan istilah WWW (world wide web), World Wide Web
adalah layanan internet yang paling populer saat ini internet mulai dikenal dan
digunakan secara luas setelah adanya layanan WWW. WWW adalah halaman-
halaman website yang dapat saling terkoneksi satu dengan lainnya (hyperlink) yang
membentuk samudra belantara informasi. WWW berjalan dengan protokol
HyperText Transfer Protocol (HTTP). Halaman Web merupakan file teks murni
(plain text) yang berisi sintak-sintak HTML yang dapat dibuka/ dilihat/ diterjemahkan
dengan Internet Browser. Sintak HTML mampu memuat konten text, gambar, audio,
video dan animasi. Kini internet identik dengan web, karena kepopuleran web sebagai
standar interface pada lanyanan-layanan yang ada di internet, dari awalnya sebagai
penyedia informasi, ini digunakan juga untuk komunikasi dari email sampai dengan
chatting, sampai dengan melakukan transaksi bisnis (commerce).
Banyak keuntungan yang diberikan oleh Aplikasi berbasis Web daripada
aplikasi berbasis desktop, sehingga aplikasi berbasis web telah diadopsi oleh
perusahaan sebagai bagian dari strategi teknologi informasinya, karena beberapa
alasan berupa akses informasi mudah, setup server lebih mudah, informasi mudah
didistribusikan, bebas platform dimana informasi dapat disajikan oleh browser web
pada sistem operasi mana saja karena adanya standar dokumen berbagai tipe data
dapat disajikan.

2.6 HTML
HTML adalah bahasa markup yang digunakan untuk membuat halaman web.
HTML merupakan bahasa markup atau penandaan terhadap sebuah dokumen teks.
Tanda ini digunakan untuk menentukan format atau style dari teks yang di tandai.
HTML dibuat oleh Tim Berners-Lee ketika bekerja untuk CERN dan dipopulerkan
12

pertama kali oleh browser Mosaic. Awal tahun 1990 HTML mengalami
perkembangan yang sangat pesat. Setiap pengembangan HTML selalu menambahkan
kemampuan dan fasilitas yang lebih baik dari versi sebelumnya.
HTML disahkan sebagai suatu dokumen HTML standar, sebelumnya harus
disetujui oleh W3C untuk dievaluasi secara ketat. Setiap terjadi perkembangansuatu
versi HTML, maka browser harus memperbaiki diri agar bisa mendukung kode-kode
HTML yang baru tersebut. Sebab jika tidak, browser tak akan bisa menampilkan
HTML tersebut.
Fungsi utama HTML adalah membuat, mendesain, dan mengontrol tampilan
dari web page dan isinya. Selain itu HTML juga berfungsi untuk mempublikasikan
document secara online sehingga dapat diakses dan dilihat dari seluruh dunia. HTML
digunakan untuk membuat online form yang dapat digunakan untuk menangani
pendaftaran transaksi secara online. Fungsi lain dari HTML adalah menambahkan
object – object seperti image, audio, video dan juga Java applet di dalam
dokumennya.

2.7 PHP
PHP merupakan bahasa pemograman berbasis web, dimana sistem yang
diterapkan adalah sisi server side. PHP disisipkan antara skrip-skrip bahasa HTML
dan arena bahasa server side lainnya, sehingga PHP akan dieksekusi secara langsung
oleh server.
Kelebihan PHP yaitu web yang menggunakan PHP mudah dibuat dan
memiliki kecepatan akses yang cukup tinggi. Skrip-skrip PHP berjalan dalam web
server yang berbeda dan dalam sistem operasi yang berbeda. PHP berjalan dalam
berbagai sistem operasi seperti UNIX, Windows dan Macintosh. PHP juga berjalan
pada web server Microsoft Personal Web Server, Apache, IIS, Xitami dan
sebagainya. PHP diletakan dalam tag HTML karena termasuk bahasa embedded.
Web server diperlukan untuk menjalankan PHP dimana web server bertugas
untuk memproses file-file PHP dan mengirimkan hasil pemrosesan untuk ditampilkan
di browser client sehingga PHP termasuk server-side scripting (script yang diproses
13

di sisi server). Web server adalah software yang di-install pada komputer lokal
ataupun komputer lain yang berada di jaringan intranet atau internet yang berfungsi
untuk melayani permintaan-permintaan web dari client. Web server yang paling
banyak digunakan saat ini untuk PHP adalah Apache.
Selain Apache, PHP juga memerlukan PHP binary yang bisa dikonfigurasikan
sebagai modul Apache atau pun sebagai aplikasi CGI. Untuk media penyimpanan
datanya (database server), PHP biasa menggunakan MySQL. Setelah meng-instal
ketiga komponen ini, program PHP dapat langsung dibuat dan dijalankan melalui
web browser.

2.8 Apache
Apache adalah Software yang menyimpan serta mendistribusikan data ke
komputer lain (client) lewat internet yang meminta (request) informasi tersebut. Pada
dasarnya Apache adalah “A PathCHy” (patch). Apache merupakan web server yang
dikeluarkan oleh NSCA yaitu NSCA HTTPD sekitar tahun 1995-an.

2.9 CSS
CSS adalah bahasa pemrograman web yang digunakan untuk mempercantik
halaman web dan mengendalikan beberapa komponen sebuah web, sehingga lebih
terstruktur dan seragam. CSS digunakan dalam mengendalikan ukuran gambar, warna
teks, warna tabel, ukuran border, warna border, warna hyperlink, warna mouse over,
spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter
lainnya. CSS diartikan sebagai bahasa style sheet untuk mengatur tampilan dokumen.
CSS memungkinkan tampilan halaman yang sama dengan format yang berbeda.
Tahun 1996 CSS menjadi teknologi internet yang direkomendasikan oleh
World Wide Web Consortium atau W3C. CSS distandarisasi oleh Internet Explorer
dan Netscape untuk melepas browser terbaru yang mendekati standar CSS.
Kelebihan CSS yaitu dapat memisahkan desain dengan konten halaman web,
mengatur desain seefisien mungkin, mengubah suatu tema halaman web, dan
sebagainya. CSS menghadirkan sesuatu yang tidak dapat dilakukan oleh HTML. CSS
14

lebih mudah di-download karena ukuran file-nya lebih ringan. Satu CSS dapat
digunakan pada banyak halaman web.

2.10 Javascript
Javascript merupakan modifikasi dari bahasa C++ dengan pola penulisan yang
lebih sederhana. Intrepeter bahasa ini sudah disediakan ASP ataupun Internet
Explorer. Javascript merupakan bahasa yang bersifat client side, dimana bahasa ini
akan dieksekusi oleh browser di sisi user. Berbeda dari bahasa PHP yang bersifat
client side bahasa ini sangat tergantung dari kemampuan user yang menjalankannya,
jadi dalam penulisan bahasa ini sangat diperhatikan kemampuan user yang
menjalankannya.

2.11 JQuery
JQuery merupakan library Javascript multiplatform yang dirancang untuk
memudahkan penyusunan client-side script pada file HTML. Sintaks JQuery
dirancang untuk memudahkan pengembang website dalam menavigasi dokumen,
menyeleksi elemen-elemen DOM, menerapkan animasi, mengaplikasikan events,
serta membangun aplikasi AJAX.
JQuery membantu menciptakan berbagai plugin berbasis library Javascript.
Plugin-plugin dapat menyusun sejumlah abstraksi untuk interaksi dan animasi
sederhana, dan beberapa efek yang cukup kompleks dan berbagai widget yang dapat
dikonfigurasikan. Fitur-fitur inti JQuery meliputi:
a. Syntax ekspresif (CSS selectors) untuk menunjuk elemen pada dokumen.
b. Query yang efektif dan efisien dalam menemukan elemen pada dokumen.
c. Kumpulan method yang berguna untuk memanipulasi elemen yang terpilih
d. Succinct idiom (method berantai) untuk membuat sequence dari operasi yang
dibuat.
15

2.12 Laravel
Laravel adalah framework yang digunakan untuk web development di PHP.
Laravel dibangun dengan konsep MVC (Model View Controller). Laravel
mengembangkan website berbasis MVP dan ditulis dalam PHP. Laravel dirancang
untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya
pengembangan awal dan biaya maintenance, serta mempermudah pengerjaan karena
menyediakan sintaks yang ekspresif dan akan mengefisiensikan waktu pembuatan.
MVC merupakan metode dalam pembuatan aplikasi dengan memisahkan data
(Model) dari tampilan (View) dan cara memprosesnya (Controller). MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun
sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang
menjadi kontrol sebuah aplikasi web. MVC terdiri dari, sebagai berikut.
a. Model mewakili struktur data. Model berisi fungsi-fungsi yang membantu
dalam pengelolaan database seperti memasukkan data ke database, pembaruan
data dan lain-lain.
b. View adalah bagian yang mengatur tampilan ke pengguna. View berupa
halaman web.
c. Controller merupakan bagian yang menjembatani model dan view.
Laravel memiliki beberapa fitur yang digunakan untuk membangun sebuah
website. Fitur- fitur yang ada pada Laravel, yaitu sebagai berikut.
a. Bundles, fitur sistem pengemasan modular dan tersedia di beragam aplikasi.
b. Eloquent ORM, menerapkan PHP lanjutan menyediakan metode internal dari
pola active record yang mengatasi masalah pada hubungan objek database.
c. Application Logic, aplikasi yang menggunakan controller atau bagian route.
d. Reverse Routing, relasi atau hubungan antara link dan route.
e. Restful Controllers, memisahkan logika dalam melayani HTTP GET and
POST.
f. Class Auto Loading, menyediakan loading otomatis untuk class PHP.
g. View Composer, kode unit logikal yang dapat dieksekusi ketika view sedang
loading.
16

h. IoC Container, memungkinkan objek baru yang dihasilkan dengan pembalikan


controller.
i. Migration, menyediakan sistem kontrol untuk skema database.
j. Unit Testing, banyak tes untuk mendeteksi dan mencegah regresi.
k. Automatic Pagination, menyederhanakan tugas dari penerapan halaman.
BAB III
METODOLOGI PENELITIAN

Bab III merupakan metode dan perancangan sistem dari laporan Praktikum
Pemrograman Internet. Laporan Bab III membahas tentang tempat dan waktu
penelitian, sumber data, dan perancangan website Jimbaran Laundry.
3.1 Tempat dan Waktu Penelitian
Tempat pembuatan laporan Praktikum Pemrograman Internet ini bertempat di
kampus Program Studi Teknologi Informasi Fakultas Teknik Universitas Udayana
yang bertempat di Bukit, Jimbaran dengan rentangan waktu pembuatan selama tiga
bulan dari Maret sampai Mei 2018.

3.2 Sumber Data


Sumber data yang digunakan pada Laporan Praktikum Pemrograman
Internet ini berupa sebuah data baru yang dibuat sendiri (sumber data primer) dan
sumber data yang diperoleh dari data yang sudah ada (sumber data sekunder), data
yang dikumpulkan dalam Laporan Praktikum Pemrograman Internet ini berasal dari
berbagai sumber yaitu, sebagai berikut.
a. Data primer berasal dari hasil diskusi atau berbagi pengalaman dan pendapat
dari diskusi kelompok.
b. Data sekunder berasal dari hasil publikasi berbagai sumber yang ada di
internet.

3.3 Gambaran Umum Sistem


Gambaran umum sistem perancangan website Jimbaran Laundry di paparkan
melalui use case diagram. Berikut adalah use case diagram dari perancangan sistem
website Jimbaran Laundry.

17
3.3.1 Use Case Diagram
Use case diagram merupakan gambaran graphical dari beberapa atau semua
actor, use case dan interaksi diantaranya yang memperkenalkan suatu sistem. Use
case

18
19

tidak menjelaskan secara detail mengenai penggunaan use case, hanya memberikan
gambaran singkat hubungan antara use case, actor, dan sistem. Fungsi-fungsi yang
terdapat dalam sistem akan diketahui melalui use case diagram.

Gambar 3. 1 Use Case Diagram Member


Gambar 3.1 merupakan use case diagram member, use case diagram
member tersebut menunjukkan aktivitas apa saja yang dapat dilakukan oleh member.
Aktivitas yang dapat dilakukan oleh member antara lain login dan register, melihat
riwayat transaksi, melihat kebijakan service, melakukan order, memberi kritik dan
saran serta logout.
20

Gambar 3. 2 Use Case Diagram Pegawai


Gambar 3.2 merupakan use case diagram pegawai. Use case diagram
pegawai menunjukkan aktivitas apa saja yang dapat dilakukan oleh pegawai.
Aktivitas yang dapat dilakukan oleh pegawai antara lain login dan register,
mengelola laundry seperti memasukkan data service, menambah data member,
pembatalan order, edit data dan harga paket, melihat detail transaksi dan logout.

Gambar 3. 3 Use Case Diagram Manager


Gambar 3.3 merupakan use case diagram manager. Use case diagram
manager menunjukkan aktivitas apa saja yang dapat dilakukan oleh manager.
Aktivitas yang dapat dilakukan oleh manager antara lain login, melihat detail
transaksi seperti pengeluaran dan pendapatan, melihat data member, melihat data
pegawai, dan logout.
BAB IV
PEMBAHASAN

Bab IV merupakan pembahasan dari laporan Praktikum Pemrograman


Internet. Laporan Bab IV membahas tentang kode program pada model, view,
controller dan screenshoot tampilan website yang dipraktikan pada mata kuliah
Praktikum Pemrograman Internet.
4.1 Source Code
Source code (atau disebut juga source) adalah kumpulan pernyataan atau
deklarasi bahasa pemrogramman komputer yang ditulis dan dapat di baca manusia.
Source code memungkinkan programmer untuk berkomunikasi dengan komputer
menggunakan beberapa perintah yang telah terdefinisi. Berikut adalah source code
dari mode, view, controller dari sistem Jimbaran Laundry.
4.1.1 Model
Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang
membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis
data, pembaruan data dan lain-lain.
4.1.1.1 Model Admin
Model admin adalah perantara atau antarmuka yang menghubungkan tabel
admins dengan controller pada Laravel. Kode program 4.1 merupakan kode program
model admin.

21
22

<?php

namespace App;

// use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class Admin extends Authenticatable


{
protected $table = 'admins';

public function transaksi(){


return $this->hasMany(Transaksi::class, 'admin_id');
}

public function role(){


return $this->belongsTo(Role::class, 'role_id');
}

use Notifiable;

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email','alamat','telp', 'password',
];

/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Kode Program 4. 1 Model Admin

Kode program 4.1 merupakan kode program model admin yang merupakan
penghubung antara tabel admins dengan controller pada laravel. Kode program 4.1
menunjukan bahwa tabel admins menjadi foreign key pada tabel transaksi dan pada
tabel admins berisi foreign key dari tabel role.
23

4.1.1.2 Model Detail Transaksi


Model detail transaksi adalah perantara atau antarmuka yang menghubungkan
tabel det_transaksi dengan controller pada Laravel. Kode program 4.2 merupakan
kode program model detail transaksi.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class DetailTransaksi extends Model


{
protected $table = 'det_transaksi';
public $timestamps = false;

public function transaksi(){


return $this->belongsTo('App\Transaksi', 'transaksi_id');
}

public function paket(){


return $this->belongsTo('App\Paket', 'paket_id');
}
}
Kode Program 4. 2 Model Detail Transaksi
Kode program 4.2 merupakan kode program model detail transaksi yang
merupakan penghubung antara tabel det_transaksi dengan controller pada Laravel.
Kode program 4.2 menunjukan bahwa pada tabel det_transaksi berisi foreign kay
dari tabel transaksi dan tabel pakets.

4.1.1.3 Model Member


Model member adalah perantara atau antarmuka yangg menghubungkan tabel
users dengan controller pada Laravel. Kode program 4.3 merupakan kode program
model member.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
24

class Member extends Model


{
protected $table = 'users';

public function transaksi(){


return $this->hasMany(Transaksi::class, 'user_id');
}

}
Kode Program 4. 3 Model Member
Kode program 4.3 merupakan kode program model member yang merupakan
penghubung antara tabel users dengan controller pada Laravel. Kode program 4.3
menunjukan bahwa tabel users menjadi foreign key pada tabel transaksi.
4.1.1.4 Model Message
Model message adalah perantara atau antarmuka yang menghubungkan tabel
message dengan controller pada Laravel. Kode program 4.4 merupakan kode
program model message

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Message extends Model


{
protected $table = 'message';
}
Kode Program 4. 4 Model Message

Kode program 4.4 merupakan kode program model message. Kode program
4.4 merupakan penghubung antara tabel message dengan controller pada Laravel.

4.1.1.5 Model Paket


Model paket adalah perantara atau antarmuka yg menghubungkan tabel
pakets dengan controller pada Laravel. Kode program 4.5 merupakan kode program
model paket.

<?php
25

namespace App;

use Illuminate\Database\Eloquent\Model;

class Paket extends Model


{
protected $table= 'pakets';
public $timestamps = false;

public function det_transaksi(){


return $this->hasOne('App\DetailTransaksi', 'paket_id');
}
}
Kode Program 4. 5 Model Paket
Kode program 4.5 merupakan kode program model paket yang merupakan
penghubung antara tabel pakets dengan controller pada Laravel. Kode program 4.5
menunjukan bahwa tabel pakets menjadi foreign key pada tabel detail transaksi.

4.1.1.6 Model Role


Model role adalah perantara atau antarmuka yang menghubungkan tabel role
dengan controller pada Laravel. Kode program 4.6 merupakan kode program model
role.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Role extends Model


{
protected $table = 'role';

public $timestamps = false;

public function admin(){


return $this->hasMany('App\Admin', 'role_id');
}
}
Kode Program 4. 6 Model Role
26

Kode program 4.6 merupakan kode program model role yang merupakan
penghubung antara tabel role dengan controller pada Laravel. Kode program 4.6
menunjukan bahwa tabel role menjadi foreign key pada tabel admins.

4.1.1.7 Model Transaksi


Model transaksi adalah perantara atau antarmuka yang menghubungkan tabel
transaksi dengan controller pada Laravel. Kode program 4.7 merupakan kode
program model transaksi.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Transaksi extends Model


{
protected $table = 'transaksi';
// public $timestamps = false;

public function member(){


return $this->belongsTo('App\Member', 'user_id');
}

public function admin(){


return $this->belongsTo('App\Admin', 'admin_id');
}

public function det_transaksi(){


return $this->hasMany('App\DetailTransaksi',
'transaksi_id');
}

}
Kode Program 4. 7 Model Transaksi
Kode program 4.7 merupakan kode program model transaksi yang merupakan
penghubung antara tabel transaksi dengan controller pada Laravel. Kode program
4.7 menunjukan bahwa tabel transaksi admin menjadi foreign key pada tabel
det_transaksi dan pada tabel transaksi berisi foreign key dari tabel admins dan
tabel users.
27

4.1.1.8 Model User


Model user adalah perantara atau antarmuka yang menghubungkan tabel
users dengan controller pada Laravel. Kode program 4.8 merupakan kode program
model user.

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable


{
use Notifiable;

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email','alamat','telp', 'password',
];

/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];

}
Kode Program 4. 8 Model User
Kode program 4.8 merupakan kode program model user. Model user
merupakan penghubung antara tabel users dengan controller pada Laravel.

4.1.2 Controller
Controller merupakan bagian yang mejembatani model dan view. Controller
berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang
akan diproses oleh aplikasi. Controller berisi perintah-perintah yang berfungsi untuk
28

memproses suatu data dan mengirimkannya ke halaman web. Web Jimbaran Laundry
memiliki beberapa controller dengan fungsi-fungsi yang ada di dalamnya. Berikut
merupakan penjelasan mengenai setiap fungsi dari controller aplikasi Jimbaran
Laundry.
4.1.2.1 Authentication Admin
Authentication admin merupakan controller yang berisi fungsi-fungsi yang
berkaitan untuk akses admin ke sistem Jimbaran Laundry.
a. Login Controller
Fungsi login controller pada sistem Jimbaran Laundry adalah untuk
melakukan login yang dilakukan oleh admin.
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;

class LoginController extends Controller


{

|------------------------------------------------------------------
--------
| Login Controller

|------------------------------------------------------------------
--------

use AuthenticatesUsers;

public function __construct()


{
$this->middleware('guest:admin')->except('logout');
}

protected function sendLoginResponse(Request $request){


$request->session()->regenerate();

$this->clearLoginAttempts($request);

// foreach($this->guard()->user()->role as $role) {
if($this->guard()->user()->role->name == 'Manager'){
return redirect('/manager');
}elseif($this->guard()->user()->role->name == 'Pegawai'){
29

return redirect('/pegawai');
}
}
public function showLoginForm(){
return view('admin.login');
}
protected function guard(){
return Auth::guard('admin');
}
}

Kode Program 4. 9 Login Controller Auth Admin

Kode program 4.9 merupakan source code dari controller auth admin untuk
melakukan login yang menggunakan middleware sebagai pembatas antara admin dan
user. Di dalam login controller terdapat role yang mengatur admin saat login, apakah
admin tersebut sebagai pegawai atau manager.
4.1.2.2 Transaksi Baru Controller
Fungsi transaksi baru controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Transaksi dan model Member dengan view transaksi
dalam folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use Carbon\Carbon;
use App\Member;
use Validator;
class TransaksiBaruController extends Controller
{
{
$member = Member::all();

return view('pegawai.transaksi', compact('member'));


}

public function store(Request $request)


{
$transaksi = new Transaksi;

if($request->nama_customer == NULL){
return redirect()->back()->with('error', 'Terjadi
Kesalahan Dalam Pengisisan Data');
30

}else{
$transaksi->user_id = $request->nama_customer;
$transaksi->status_bayar = 'belum bayar';
$transaksi->tgl_order = Carbon::now();
$transaksi->catatan = $request->message;
$transaksi->status_order = 'order';
$transaksi->save();

// return $transaksi;

return redirect('/transaksi')->with('success',
'Transaksi Baru Telah Ditambahkan');
}

}
}
Kode Program 4. 10 Transaksi Baru Controller

Kode progam 4.10 merupakan source code dari transaksi baru controller.
Fungsi transaksi controller untuk menambahkan transaksi baru yang menampilkan
seluruh data dari member.

4.1.2.3 Authentication User


Authentication user merupakan controller yang berisi fungsi-fungsi yang
berkaitan untuk akses ke sistem oleh member.
a. Register Controller User
Fungsi register user controller pada sistem Jimbaran Laundry adalah untuk
melakukan proses register yang dilakukan oleh member.

<?php

namespace App\Http\Controllers\Auth;

use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller


{
|--------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------
use RegistersUsers;
31

public function __construct()


{
$this->middleware('guest');
}

protected function validator(array $data)


{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|
unique:users',
'alamat' => 'required|string|max:255',
'telp' => 'required|string|max:12',
'password' => 'required|string|min:8|confirmed',
]);
}

protected function create(array $data)


{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'alamat' => $data['alamat'],
'telp' => $data['telp'],
'password' => bcrypt($data['password']),
]);
}
}

Kode Program 4. 11 Register Controller

Kode program 4.11 merupakan source code dari register controller, fungsi
dari register controller user adalah untuk menyimpan data diri yang dimasukkan oleh
member di form register yang nantinya digunakan untuk melakukan login.

b. Login Controller User


Fungsi login controller user pada sistem Jimbaran Laundry adalah untuk
melakukan proses login yang dilakukan oleh member.
32

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller


{
|--------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------

use AuthenticatesUsers;
protected $redirectTo = '/user';

public function __construct()


{
$this->middleware('guest')->except('logout');
}
}
Kode Program 4. 12 Login Controller User

Kode program 4.12 merupakan source code dari login controller user. Fungsi
login controller user berisi middleware sebagai user yang berfungsi sebagai login ke
halaman user.

4.1.2.4 User Controller


Fungsi user controller pada sistem Jimbaran Laundry merupakan jembatan
antara model Transaksi dan model User dengan views userHome.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use App\User;
use Auth;
use Carbon\Carbon;
use App\DetailTransaksi;

class UserController extends Controller


{
public function index()
{
if(!empty(Auth::user()->id)){
33

$id = Auth::user()->id;
$table =Transaksi::join('users', 'users.id', '=',
'transaksi.user_id')
->join('admins', 'admins.id', '=',
'transaksi.admin_id')
->join('det_transaksi', 'transaksi.id','=',
'det_transaksi.transaksi_id')
->join('pakets', 'pakets.id', '=',
'det_transaksi.paket_id')
->where(function($query){
$query->where('transaksi.status_order','!
=','diambil');
})
->where('user_id', $id)
->orderBy('transaksi.id', 'desc')
->get();

$user = User::all();

// return $table;
return view('user.userHome', compact('table', 'user'));
}else{
return view('user.userHome');
}
}

public function store(Request $request)


{
$transaksi = new Transaksi;

$transaksi->user_id = Auth::user()->id;
$transaksi->status_bayar = 'belum bayar';
$transaksi->tgl_order = Carbon::now();
$transaksi->catatan = $request->message;
$transaksi->status_order = 'order';
$transaksi->save();

// return $transaksi;

return redirect('/user');
}
}

Kode Program 4. 13 User Controller


Kode program 4.13 merupakan source code user controller. Fungsi user
controller adalah untuk menampilkan data transaksi yang sudah dilakukan oleh
member dan menyimpan data transaksi jika member ingin melakukan transaksi baru.
34

4.1.2.5 Profile Controller


Fungsi profile controller pada sistem Jimbaran Laundry adalah jembatan
antara model Member, model Transaksi dan model DetailTransaksi dengan views
profile dalam folder user.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Member;
use App\Transaksi;
use App\DetailTransaksi;
use Auth;

class ProfileController extends Controller


{
public function index()
{ $id = Auth::user()->id;
$profile = Member::find($id);
if(!empty(Auth::user()->id)){
$table = Transaksi::with('member', 'det_transaksi')-
>where(function($query){
$id = Auth::user()->id;
$query->where('status_order', 'diambil')
->where('user_id', $id);
})
->get();

// return $table;
return view('user.profile', compact('table',
'profile'));
}else{
return view('user.userHome');
}
}

public function show($id)


{
$data = Transaksi::find($id);
$table = DetailTransaksi::with('transaksi', 'paket')
->where('transaksi_id', $id)
->get();

// return $data;

return view('user.detailTransaksi', compact('table',


'data'));
}
35

public function update(Request $request, $id)


{
$update = Member::find($id);

$update->name = $request->name;
$update->email = $request->email;
$update->alamat = $request->alamat;
$update->telp = $request->telp;
$update->save();

return redirect()->back()->with('success', 'Data Diri


Berhasil Diperbaharui');
}
}
Kode Program 4. 14 Profile Controller
Kode program 4.14 merupakan source code dari profile controller. Fungsi
profile controller adalah untuk menampilkan data diri dari member dan data transaksi
yang sudah dilakukan serta untuk memperbaharui data diri member.

4.1.2.6 Password Controller


Fungsi password controller pada sistem Jimbaran Laundry merupakan
penghubung antara model Member dengan views profile dalam folder user yang
berfungsi sebagai pengubah password.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Member;
use Auth;
use Validator;

class PasswordController extends Controller


{

public function index()


{
$id = Auth::user()->id;
$pass = Member::find($id);

return view('user.profile', compact('pass'));


}

public function update(Request $request, $id)


36

{
$validator = Validator::make($request->all(), [
'password' => 'required|string|min:8|confirmed',
]);

if($validator->fails()){
return redirect()->back()->with('error', 'Password
Tidak Dapat Diganti');
}
$update = Member::find($id);

$update->password = bcrypt($request->get('password'));
$update->save();

return redirect('/profile')->with('success', 'Password


berhasil Diganti');

}
}
Kode Program 4. 15 Password Controller
Kode program 4.15 merupakan source code dari password controller. Fungsi
password controller yaitu berfungsi untuk mengubah password dari member.
4.1.2.7 Pegawai Home Controller
Fungsi pegawai home controller pada sistem Jimbaran Laundry adalah
sebagai penghubung antara model Transaksi dengan view pegawaiHome dalam
folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use Carbon\Carbon;

class PegawaiHomeController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}
public function index()
{
$trans = Transaksi::with('member')->where('status_order',
'order')->get();
$alert = Transaksi::with('member')->where('status_order',
37

'order')->orderBy('id', 'desc')->get();

return view('pegawai.pegawaiHome', compact('trans',


'alert'));
}
public function create()
{
$alert = Transaksi::with('member')->where('status_order',
'order')->get();

return view('layout.pegawai', compact('alert'));


}
public function update(Request $request, $id)
{
$batal = Transaksi::find($id);

$batal->tgl_batal = Carbon::now();
$batal->status_order = 'batal';
$batal->save();

return redirect('/pegawai');
}
}

Kode Program 4. 16 Pegawai Home Controller


Kode program 4.16 merupakan source code dari pegawai home controller.
Fungsi pegawai home controller adalah untuk menampilkan data transaksi baru dan
mengubah status order menjadi batal jika transaksi dibatalkan.

4.1.2.8 Transaksi Controller


Fungsi transaksi controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Transaksi, model Paket, model DetailTransaksi dan
model Member dengan view transaksi dalam folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use App\Paket;
use App\DetailTransaksi;
use Carbon\Carbon;
use App\Member;
use Auth;
38

use DB;

class TransaksiController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}

public function index()


{
$transaksi = Transaksi::with('member', 'det_transaksi')-
>where('status_order', '!=', 'batal')->orderBy('id', 'desc')-
>get();
$paket = Paket::all();
$member = Member::all();
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();

return view('pegawai.transaksi', compact('transaksi',


'paket', 'member', 'alert'));
}

public function loadData(Request $request){


if ($request->has('q')) {
$cari = $request->q;
$data = DB::table('pakets')->select('id', 'nama_paket',
'harga')->where('id', '=', $cari)->first();

return response()->json($data);
}
}
public function store(Request $request)
{
$proses2 = Transaksi::find($request->id);
$proses = new DetailTransaksi;
$modal = Paket::find($request->paket);

if($request->paket != NULL){
$proses2->admin_id = Auth::user()->id;
$proses->transaksi_id = $request->get('id');
$proses->paket_id = $request->paket;
$proses->jumlah = $request->jumlah;
$proses->modal = ($modal->modal)*($request->jumlah);
$proses->total_bayar = $request->total;
$proses->tgl_proses = Carbon::now();
$proses2->status_order = 'proses';
$proses->status_order = 'proses';
$proses->save();
$proses2->save();

// return $proses2;
39

return redirect()->back()->with('success', 'Transaksi


Berhasil Di Proses');
}else{
return redirect()->back()->with('error', 'Transaksi
Gagal Di Proses');
}

}
public function update(Request $request, $id)
{
$batal = Transaksi::find($id);

$batal->tgl_batal = Carbon::now();
$batal->status_order = 'batal';
$batal->save();

return redirect('/transaksi');
}
}
Kode Program 4. 17 Transaksi Controller
Kode progam 4.17 merupakan source code dari transaksi controller. Fungsi
transaksi controller untuk menampilkan seluruh transaksi yang ada pada tabel
transaksi terkecuali dengan status_order batal.
40

4.1.2.9 Profile Manager Controller


Fungsi profile manager controller pada sistem Jimbaran Laundry sebagai
penghubung antara model Admin dengan view profilePegawai pada folder manager.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Message;

class ProfileManagerController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('manager');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();

return view('manager.profileManager', compact('message'));


}
public function update(Request $request, $id)
{
$validator = Validator::make($request->all(), [
'password' => 'required|string|min:8|confirmed',
]);

$profile = Admin::find($id);

if($request->password == null){
$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->save();

return redirect()->back()->with('success', 'Data Diri


Berhasil Diperbaharui');

}else{
if($validator->fails()){
return redirect()->back()->with('error', 'Password
41

Dan Data Diri Tidak Dapat Diperbaharui');


}else{

$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->password = bcrypt($request-
>get('password'));

$profile->save();

return redirect()->back()->with('success',
'Password Dan Data Diri Berhasil Diperbaharui');
}
}
}
}
Kode Program 4. 18 Profile Manager Controller
Kode progam 4.18 merupakan source code dari profile manager controller.
profile manager controller berfungsi menampilkan data manager yang sudah login
dan manager dapat merubah data diri dan password.

4.1.2.10 Proses Controller


Fungsi proses controller pada sistem Jimbaran Laundry sebagai penghubung
antara model DetailTransaksi dengan views proses dalam folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use App\DetailTransaksi;
use Carbon\Carbon;
use DB;

class ProsesController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}

public function index()


{
// $proses = Transaksi::join('users', 'users.id', '=',
42

'transaksi.user_id')
// ->join('admins', 'admins.id', '=', 'transaksi.admin_id')
// ->join('det_transaksi', 'det_transaksi.transaksi_id',
'=', 'transaksi.id')
// ->join('pakets', 'pakets.id', '=',
'det_transaksi.paket_id')
// ->get();
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();
$proses = DetailTransaksi::with('transaksi', 'paket')-
>where('status_order', 'proses')->orderBy('id', 'desc')->get();

return view('pegawai.proses', compact('proses', 'alert'));


}

public function update(Request $request, $id)


{
$selesai = DetailTransaksi::find($id);
$selesai2 = Transaksi::find($selesai->transaksi_id);

$selesai->tgl_selesai = Carbon::now();
$selesai->status_order = 'selesai';
$selesai2->status_order = 'selesai';
$selesai->save();
$selesai2->save();

// return $selesai;

return redirect()->back();
}
}
Kode Program 4. 19 Proses Controller
Kode program 4.19 merupakan source code dari proses controller. Proses
controller berfungsi untuk menampilkan seluruh data yang ada pada tabel
det_transaksi dengan status_order proses. Proses controller juga berfungsi
untuk merubah status _order menjadi selesai jika transaksi selesai di proses.

4.1.2.11 Selesai Controller


Fungsi selesai controller pada sistem Jimbaran Laundry sebagai penghubung
antara model DetailTransaksi dengan views selesai dalam folder pegawai.

<?php

namespace App\Http\Controllers;
43

use Illuminate\Http\Request;
use App\DetailTransaksi;
use App\Transaksi;
use Carbon\Carbon;

class SelesaiController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}

public function index()


{
$selesai = DetailTransaksi::with('transaksi', 'paket')-
>where('status_order', 'selesai')->orderBy('id', 'desc')->get();
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();

return view('pegawai.selesai', compact('selesai',


'alert'));
}
public function store(Request $request)
{
// $transaksi2 = Transaksi::find($request->id);
// $transkasi = DetailTransaksi::find($request->id);

// $transaksi->tgl_diambil = Carbon::now();
// $transaksi->status_order = 'diambil';
// $transaksi2->status_order = 'diambil';
// $transaksi->save();

// return redirect('/selesai');
}

public function update(Request $request, $id)


{
$diambil = DetailTransaksi::find($id);
$diambil2 = Transaksi::find($diambil->transaksi_id);

$diambil->tgl_diambil = Carbon::now();
$diambil->status_order = 'diambil';
$diambil2->status_order = 'diambil';
$diambil->save();
$diambil2->save();

// return $diambil;

return redirect()->back();
}
}
Kode Program 4. 20 Detail Transaksi Controller
44

Kode program 4.20 merupakan source code dari detail transaksi controller.
Detail transaksi controller berfungsi untuk menampilkan detail transaksi dari tabel
det_transaksi sesuai dengan transaksi_id.

4.1.2.12 Member Controller


Fungsi member controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Member dengan views member dan views transaksi dalam
folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Member;
use App\Transaksi;
use Validator;
use DB;
class MemberController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}
public function index()
{
$member = Member::all();
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();

return view('pegawai.member', compact('member', 'alert'));


}

public function loadData(Request $request){


if ($request->has('q')) {
$cari = $request->q;
$data = DB::table('users')->select('id', 'name',
'alamat', 'telp')->where('id', 'LIKE', '%' .$cari. '%')->first();
return response()->json($data);
}
}
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:255|unique:users',
45

'email' => 'required|string|email|max:255|


unique:users',
]);
$tambah = new Member;

if($validator->fails()){
return redirect('/member')->with('error', 'Maaf Terjadi
Kesalahan Pengisian Data');
}else{
$tambah->name = $request->get('name');
$tambah->email = $request->get('email');
$tambah->alamat = $request->alamat;
$tambah->telp = $request->telp;
$tambah->password = bcrypt('12345678');
$tambah->save();

return redirect('/member')->with('success', 'Data


Member Tersimpan');
}
}

Kode Program 4. 21 Member Controller


Kode program 4.21 merupakan source code dari member controller. Member
controller berfungsi untuk menampilkan seluruh data member yang ada pada tabel
users dan menyimpan data member yang baru yang dibuat oleh pegawai.

4.1.2.13 Diambil Controller


Fungsi diambil controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Transaksi dengan view diambil dalam folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;

class DiambilController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}
/**
* Display a listing of the resource.
46

*
* @return \Illuminate\Http\Response
*/
public function index()
{
$diambil = Transaksi::join('users', 'users.id', '=',
'transaksi.user_id')
->join('det_transaksi', 'det_transaksi.transaksi_id', '=',
'transaksi.id')
->where('det_transaksi.status_order', 'diambil')->get();
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();

return view('pegawai.diambil', compact('diambil',


'alert'));
}
}

Kode Program 4. 22 Diambil Controller


Kode program 4.22 merupakan source code dari diambil controller. Diambil
controller berfungsi untuk menampilkan data pada tabel transaksi dengan
status_order diambil.

4.1.2.14 Batal Controller


Fungsi batal controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Transaksi dengan view diambil dalam folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;

class BatalController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}
public function index()
{
$batal = Transaksi::with('member')->where('status_order',
'batal')->get();
$alert = Transaksi::with('member')->where('status_order',
47

'order')->orderBy('id', 'desc')->get();

return view('pegawai.batal', compact('batal', 'alert'));


}
}
Kode Program 4. 23 Batal Controller
Kode program 4.23 batal controller merupakan source code dari batal
controller. Batal controller berfungsi untuk menampilkan data pada tabel transaksi
dengan status_order batal.

4.1.2.15 Paket Controller


Fungsi paket controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Paket dengan view paket dalam folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Paket;
use Validator;
use App\Transaksi;
use DB;

class PaketController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}
public function index()
{
$paket = Paket::all();
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();

return view('pegawai.paket', compact('paket', 'alert'));


}

public function store(Request $request)


{
$validator = Validator::make($request->all() ,[
'nama_paket' => 'required|string|unique:pakets',
]);
48

$paket = new Paket;

if($validator->fails()){
return redirect('/paket')->with('error', 'Paket Sudah
Ada');
}else{
$paket->nama_paket = $request->get('nama_paket');
$paket->harga = $request->harga_paket;
$paket->modal = $request->modal_paket;
$paket->save();

return redirect('/paket')->with('success', 'Paket


Tersimpan');
}

}
public function update(Request $request, $id)
{
$paket = Paket::find($id);

$paket->nama_paket = $request->nama_paket;
$paket->harga = $request->harga_paket;
$paket->modal = $request->modal_paket;
$paket->save();
return redirect('/paket')->with('success', 'Paket Update');
}
}
Kode Program 4. 24 Paket Controller
Kode program 4.24 merupakan source code dari paket controller. Paket
controller berfungsi untuk menampilkan data dari tabel pakets.

4.1.2.16 Profile Pegawai Controller


Fungsi profile pegawai controller adalah sebagai penghubung antara model
admin dengan views profilePegawai pada folder pegawai.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use App\Admin;
use Validator;

class ProfilePegawaiController extends Controller


{
public function __construct()
49

{
$this->middleware('auth:admin');
$this->middleware('pegawai');
}
public function index()
{
$alert = Transaksi::with('member')->where('status_order',
'order')->orderBy('id', 'desc')->get();

return view ('pegawai.profilePegawai', compact('alert'));


}

public function update(Request $request, $id)


{
$validator = Validator::make($request->all(), [
'password' => 'required|string|min:8|confirmed',
]);

$profile = Admin::find($id);

if($request->password == null){
$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->save();

return redirect()->back()->with('success', 'Data Diri


Berhasil Diperbaharui');

}else{
if($validator->fails()){
return redirect()->back()->with('error', 'Password
Dan Data Diri Tidak Dapat Diperbaharui');
}else{

$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->password = bcrypt($request-
>get('password'));

$profile->save();

return redirect()->back()->with('success',
'Password Dan Data Diri Berhasil Diperbaharui');
}
}
}
}
Kode Program 4. 25 Profile Pegawai Controller
50

Kode program 4.25 merupakan source code dari profile pegawai controller.
profile pegawai controller berfungsi untuk menampilkan data pegawai yang sudah
login dan pegawai dapat merubah data diri dan password.

4.1.2.17 Manager Home Controller


Fungsi manager home controller pada sistem Jimbaran Laundry adalah
sebagai penghubung antara model Transaksi, model Member, model Admin dan
model Message dengan view adminHome dalam folder manager.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use App\Member;
use App\Admin;
use App\Message;

class ManagerHomeController extends Controller


{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('manager');
}

public function index()


{
$pendapatan = Transaksi::join('det_transaksi',
'transaksi.id', '=','det_transaksi.transaksi_id' )
->where('status_bayar', '=', 'lunas')->get();

$member = Member::all();
$admin = Admin::all();
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();
$message2 = Message::orderBy('status','=','blm_dilihat',
'desc')->get();
return view('manager.managerHome', compact('pendapatan',
'member', 'admin', 'message', 'message2'));
51

public function store(Request $request)


{
$message = new Message;

$message->email = $request->email;
$message->subject = $request->subject;
$message->message = $request->message;
$message->status = 'blm_dilihat';
$message->save();

return redirect()->back();
}
public function update(Request $request, $id)
{
$mess = Message::find($id);

$mess->status = 'dilihat';
$mess->save();

return redirect()->back();
}
Kode Program 4. 26 Manager Home Controller
Kode program 4.26 merupakan source code dari manager home controller.
manager home controller berfungsi untuk menampilkan jumlah data pegawai, jumlah
data member, data keuangan dan data pesan pada halaman manager home.

4.1.2.18 Pendapatan Controller


Fungsi pendapatan controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model DetailTransaksi dengan views pendapatan dalam folder
manager.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\DetailTransaksi;
use App\Transaksi;
use App\Message;
use DB;

class PendapatanController extends Controller


{
52

public function __construct()


{
$this->middleware('auth:admin');
$this->middleware('manager');
}
public function index()
{
$pendapatan = Transaksi::with('member', 'det_transaksi')-
>where('status_bayar', '=', 'lunas')->get();
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();

// return $pendapatan;
return view('manager.pendapatan',
compact('pendapatan','message'));
}

public function listPendapatan(Request $request){


if(isset($request->from_date, $request->to_date)){
$list = DB::table('transaksi')
-
>select('users.name','transaksi.tgl_order',DB::raw('SUM(total_bayar
) as total'),DB::raw('SUM(modal) as modal'))
->join('users', 'transaksi.user_id', '=', 'users.id')
->join('det_transaksi', 'det_transaksi.transaksi_id',
'=', 'transaksi.id')
->whereBetween('transaksi.tgl_order', [$request-
>from_date, $request->to_date])
->where('transaksi.status_bayar', '=', 'lunas')
->groupBy('transaksi.tgl_order')
->get();
return $list;
// return view('manager.pendapatan',
compact('list'));
}
}
}
Kode Program 4. 27 Pendapatan Controller
Kode program 4.27 merupakan source code dari pendapatan controller.
pendapatan controller berfungsi untuk menampilkan data yang ada pada tabel
transaksi dengan status_bayar lunas.

4.1.2.19 Pengeluaran Controller


Fungsi pengeluaran controller pada sistem Jimbaran Laundry adalah sebagai
penghubung antara model Transaksi dengan view pengeluaran.

<?php
53

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Transaksi;
use App\Message;
use DB;

class PengeluaranController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('manager');
}

public function index()


{
$pengeluaran = Transaksi::with('member', 'det_transaksi')-
>where('status_bayar', '=', 'lunas')->get();
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();

// return $pengeluaran;
return view('manager.pengeluaran',
compact('pengeluaran','message'));
}

public function listPengeluaran(Request $request){


if(isset($request->from_date, $request->to_date)){
$list = DB::table('transaksi')
-
>select('users.name','transaksi.tgl_order',DB::raw('SUM(modal) as
modal'))
->join('users', 'transaksi.user_id', '=', 'users.id')
->join('det_transaksi', 'det_transaksi.transaksi_id',
'=', 'transaksi.id')
->whereBetween('transaksi.tgl_order', [$request-
>from_date, $request->to_date])
->where('transaksi.status_bayar', '=', 'lunas')
->groupBy('transaksi.tgl_order')
->get();
return $list;
}
}
}
Kode Program 4. 28 Pengeluaran Controller
Kode program 4.28 merupakan source code dari pengeluaran controller,
pengeluaran controller berfungsi untuk menampilkan data yang ada pada tabel
transaksi dengan status ‘lunas’.
54

4.1.2.20 Member Manager Controller


Fungsi member manager controller pada sistem Jimbaran Laundry adalah
sebagai penghubung antara model Member dengan view dataMember dalam folder
manager.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Member;
use App\Message;

class MemberManagerController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('manager');
}
public function index()
{
$member = Member::all();
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();

return view('manager.dataMember', compact('member',


'message'));
}
}
Kode Program 4. 29 Member Manager Controller

Kode program 4.29 merupakan source code dari member manager controller.
member manager controller berfungsi untuk menampilkan seluruh data member yang
ada pada tabel users.

4.1.2.21 Pegawai Manager Controller


Fungsi pegawai manager controller pada sistem Jimbaran Laundry adalah
sebagai penghubung antara model Admin dan model Role dengan views dataPegawai
dalam folder manager.
55

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Admin;
use App\Role;
use App\Message;
use Validator;
use DB;

class PegawaiManagerController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('manager');
}
public function index()
{
$pegawai = Admin::all();
$role = Role::all();
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();

return view('manager.dataPegawai', compact('pegawai',


'role', 'message'));

public function store(Request $request)


{
$validator = Validator::make($request->all(), [
'name' => 'required|string|unique:admins',
'email' => 'required|string|unique:admins',
]);
$tambah = new Admin;

if($validator->fails()){
return redirect()->back()->with('error', 'Terjadi
Kesalahan Dalam Pengisisan Data');
}
$tambah->name = $request->get('name');
$tambah->email = $request->get('email');
$tambah->alamat = $request->alamat;
$tambah->telp = $request->telp;
$tambah->password = bcrypt('12345678');
$tambah->role_id = $request->role;
$tambah->save();
return redirect()->back()->with('success', 'Data Pegawai
Baru Tersimpan');
}
public function update(Request $request, $id)
{
56

$tambah = Admin::find($id);

$tambah->name = $request->name;
$tambah->email = $request->email;
$tambah->alamat = $request->alamat;
$tambah->telp = $request->telp;
$tambah->role_id = $request->role;
$tambah->save();

return redirect('/pegawaiM')->with('success', 'Data Pegawai


Diperbaharui');
}
}
Kode Program 4. 30 Pegawai Manager Controller

Kode program 4.30 merupakan source code dari pegawai manager controller.
pegawai manager controller berfungsi untuk menampilkan seluruh data admin yang
ada pada tabel admins.

4.1.2.22 Profile Manager Controller


Fungsi profile manager controller pada sistem Jimbaran Laundry sebagai
penghubung antara model Admin dengan view profilePegawai pada folder manager.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Message;

class ProfileManagerController extends Controller


{
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('manager');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$message = Message::where('status', '=', 'blm_dilihat')-
>orderBy('id', 'desc')->get();
57

return view('manager.profileManager', compact('message'));


}
public function update(Request $request, $id)
{
$validator = Validator::make($request->all(), [
'password' => 'required|string|min:8|confirmed',
]);

$profile = Admin::find($id);

if($request->password == null){
$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->save();

return redirect()->back()->with('success', 'Data Diri


Berhasil Diperbaharui');

}else{
if($validator->fails()){
return redirect()->back()->with('error', 'Password
Dan Data Diri Tidak Dapat Diperbaharui');
}else{

$profile->name = $request->name;
$profile->email = $request->email;
$profile->alamat = $request->alamat;
$profile->password = bcrypt($request-
>get('password'));

$profile->save();

return redirect()->back()->with('success',
'Password Dan Data Diri Berhasil Diperbaharui');
}
}
}
}
Kode Program 4. 31 Profile Manager Controller

Kode progam 4.31 merupakan source code dari profile manager controller.
profile manager controller berfungsi menampilkan data manager yang sudah login
dan manager dapat merubah data diri dan password.
58

4.1.2.23 Route Web


Route web berfungsi sebagi pembuat alamat pemanggil di setiap halaman
yang ingin dituju dengan menghubungkan ke controller untuk memanggil setiap
fungsi yang ada pada controller.

<?php

/*
|------------------------------------------------------------------
| Web Routes
|------------------------------------------------------------------
|
| Here is where you can register web routes for your application.
These
| routes are loaded by the RouteServiceProvider within a group
which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
return view('welcome');
});

Auth::routes();

Route::resource('memberM', 'MemberManagerController');

Route::resource('member', 'MemberController');

Route::resource('profile', 'ProfileController')-
>middleware('auth');

Route::resource('transaksi', 'TransaksiController');

Route::resource('paket', 'PaketController');

Route::resource('pegawaiM', 'PegawaiManagerController');

Route::resource('user', 'UserController');

Route::resource('pegawai', 'PegawaiHomeController');

Route::resource('manager', 'ManagerHomeController');

Route::resource('transaksiA', 'TransaksiBaruController');

Route::resource('selesai', 'SelesaiController');
59

Route::resource('proses', 'ProsesController');

Route::resource('diambil', 'DiambilController');

Route::resource('batal', 'BatalController');

Route::resource('password', 'PasswordController');

Route::resource('detailTransaksi', 'DetailTransaksiController');

Route::get('/data', 'MemberController@loadData');
Route::get('/harga', 'TransaksiController@loadData');

Route::resource('/pendapatan', 'PendapatanController');
Route::get('/listPendapatan',
'PendapatanController@listPendapatan');

Route::resource('/pengeluaran', 'PengeluaranController');
Route::get('/listPengeluaran',
'PengeluaranController@listPengeluaran');

Route::GET('admin/home', 'AdminController@index');
Route::GET('admin', 'Admin\LoginController@showLoginForm')-
>name('admin.login');
Route::POST('admin', 'Admin\LoginController@login');
Route::POST('admin-password/email', 'Admin\
ForgotPasswordController@sendResetLinkEmail')-
>name('admin.password.email');
Route::GET('admin-password/reset', 'Admin\
ForgotPasswordController@showLinkRequestForm')-
>name('admin.password.request');
Route::POST('admin-password/reset', 'Admin\
ResetPasswordController@reset');
Route::POST('admin-password/reset/{token}', 'Admin\
ResetPasswordController@showResetForm')-
>name('admin.password.reset');

Route::resource('/profilePegawai', 'ProfilePegawaiController');

Route::resource('/profileManager', 'ProfileManagerController');

Route::resource('/message', 'MessageController');
Kode Program 4. 32 Route web
Kode Program 4.32 merupakan source code dalam route web untuk
memanggil setip halaman dalam web. Resource digunakan untuk memanggil semua
sumber method yang ada seperti POST , GET dan DELETE.
60

4.1.2.24 Manager Middleware


Fungsi Manager Middleware adalah sebagai pembatas dalam Authentication
Admin pada saat login.

<?php

namespace App\Http\Middleware;

use Closure;
use Auth;

class ManagerMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::user()->role->name == 'Manager'){
return $next($request);
}
return redirect('/user');
}
}
Kode Program 4. 33 Manager Middleware

Kode Program 4.33 merupakan source code dari Manager Middleware.


Manager Middleware berfungsi untuk mengecek admin yang login menggunakan
role. Jika admin yang login role-nya sebagai pegawai dan ingin mengarah ke
halaman manager maka halaman yang ingin dituju tidak dapat diakses dan balik ke
halaman user home. Begitu juga sebaliknya di dalam file Manager Middleware.

4.1.3 View
View merupakan semua tampilan yang terdapat dari website Jimbaran
Laundry dimana dari view tersebut kita bisa melihat fitur-fitur apa saja yang terdapat
di dalam website.
61

4.1.3.1 View Home


Tampilan utama di dalam website Jimbaran Laundry adalah Home. Tampilan
home ini hanya dapat dilihat oleh user yang belum login ke dalam website berikut
tampilannya.

Gambar 4. 1 View Home


Gambar 4.1 merupakan gambar tampilan home website Jimbaran Laundry
dimana terdapat dua tombol sign in yaitu di tengah dan di pojok kanan atas. Hal ini
karena user belum login kedalam website.

<!--==========================
Hero Section
============================-->
<section id="home">
<div class="hero-container">
<h1>Welcome to Jimbaran Laundry</h1>
<h2>We Are Ready to Serve</h2>
@guest
<a class="btn-get-started" href="/login">Sign
In</a>
@else
<a href="#order" class="btn-get-started">Welcome
{{Auth::user()->name}}</a>
@endguest
</div>
</section><!-- #hero -->
Kode Program 4. 34 Source Code View Home
62

Kode Program 4.34 merupakan kode program tampilan home dilihat dari kode
program tersebut terdapat sign in button yang digunakan untuk user masuk ke dalam
website.
63

4.1.3.2 View About


Tampilan about us merupakan tampilan tentang informasi website jimbaran
laundry. Tampilan seperti ini muncul disaat pengguna belum melakukan order.

Gambar 4. 2 View About


Gambar 4.2 merupakan gambar tampilan about pengguna yang belum masuk
ke website. Tampilan about ini terdapat tombol order now yang berguna untuk user
langsung segera melakukan pemesanan namun sebelum itu perlu login terlebih
dahulu.
64

@guest
<!--==========================
About Section
============================-->
<section id="about">
<div class="container wow fadeInUp">
<div class="section-header">
<h3 class="section-title">About Us</h3>
<p class="section-description">Jimbaran
Laundry</p>
</div>
<div class="row">
<div class="description">
<p>
Jimbaran Laundry berdiri pada tahun 2018
</p>

</div>
</div>
</div>
</section><!-- #about -->
<!--==========================
Call To Action Section
============================-->
<section id="call-to-action">
<div class="container wow fadeIn">
<div class="row">
<div class="col-md-9 cta-btn-container text-
center">
<a class="cta-btn" href="/login">Order
Now</a>
</div>
</div>

</div>
</section><!-- #call-to-action -->
Kode Program 4. 35 Source Code View About
Kode Program 4.35 merupakan kode program tampilan about yang berisi
tentang informasi website, selain itu juga terdapat tombol order yang berfungsi bagi
pengguna untuk melakukan order dan login secara langsung.

4.1.3.3 View Services


Tampilan service berisi tentang servis-servis yang ditawarkan oleh Jimbaran
Laundry dalam melayani pelanggannya.
65

Gambar 4. 3 View Services


Gambar 4.3 merupakan gambar tampilan services yang berisi servis di
Jimbaran Laundry seperti antar jemput, layanan 24 jam, pelayanan per item, layanan
per kilo, paket dan menjaga kebersihan pakaian.
66

<!--==========================
Services Section
============================-->

<section id="services">
<div class="container wow fadeIn">
<div class="section-header">
<h3 class="section-title">Services</h3>
<p class="section-description-p">Jimbaran
Laundry</p>
</div>
<div class="row">
<div class="col-lg-4 col-md-6 wow fadeInUp"
data-wow-delay="0.2s">
<div class="box">
<div class="icon"><a href=""><img
src="/img/delivery.png"></img></a></div>
<h4 class="title"><a href="">Antar
Jemput</a></h4>
<p class="description">Menerima Layanan
Antar Jemput Sekitaran Bukit Jimbaran </p>
</div>
</div>
<div class="col-lg-4 col-md-6 wow fadeInUp"
data-wow-delay="0.4s">
<div class="box">
<div class="icon"><a href=""><img
src="/img/24-logo.png"></img></a></div>
<h4 class="title"><a href="">24
Jam</a></h4>
<p class="description">Menerima Layanan 24
Jam Non-stop Selama Hari Kerja</p>
</div>
</div>
<div class="col-lg-4 col-md-6 wow fadeInUp"
data-wow-delay="0.6s">
<div class="box">
<div class="icon"><a href=""><img
src="/img/shirt.png"></img></a></div>
<h4 class="title"><a
href="">Item's</a></h4>
<p class="description">Menerima Layanan
Laundry Per Items-nya</p>
</div>
</div>

<div class="col-lg-4 col-md-6 wow fadeInUp"


data-wow-delay="0.2s">
<div class="box">
<div class="icon"><a href=""><img
src="/img/weight-tool.png"></img></a></div>
<h4 class="title"><a
href="">Kilo's</a></h4>
<p class="description">Menerima Layanan
67

Laundry Per Kilonya</p>


</div>
</div>
<div class="col-lg-4 col-md-6 wow fadeInUp"
data-wow-delay="0.4s">
<div class="box">
<div class="icon"><a href=""><img
src="/img/paket.png"></img></a></div>
<h4 class="title"><a href="">Paket</a></h4>
<p class="description">Menerima Layanan
Express (24 jam) dan Ordinary (48 jam)</p>
</div>
</div>
<div class="col-lg-4 col-md-6 wow fadeInUp"
data-wow-delay="0.6s">
<div class="box">
<div class="icon"><a href=""><img
src="/img/flower.png"></img></a></div>
<h4 class="title"><a href="">Fresh</a></h4>
<p class="description">Kami Menjamin 100%
Pakaian Anda Menjadi Wangi dan Bersih</p>
</div>
</div>
</div>

</div>
</section><!-- #services -->
Kode Program 4. 36 Source Code View Services
Kode Program 4.36 merupakan kode program tampilan services
menggunakan enam buah kolom yang berisi informasi tentang servis yang diberikan
bagi pelanggan Jimbaran Laundry.

4.1.3.4 View Contact Us


Tampilan contact us merupakan tampilan yang memberikan informasi
tentang Jimbaran Laundry yang bertujuan agar pelanggan dapat dengan mudah
menghubungi Jimbaran Laundry jika terjadi kendala.
68

Gambar 4. 4 View Contact Us


Gambar 4.4 merupakan tampilan contact us yang berisikan tentang alamat
Jimbaran Laundry kemudian nomor telepon yang dapat dihubungi dan juga email
69

<!--==========================
Contact Section
============================-->
<section id="contact" class="section-bg wow
fadeInUp">
<div class="container">

<div class="section-header">
<h3 class="section-title">Contact Us</h3>
<p class="section-description">Jimbaran
Laundry</p>
</div>

<div class="row contact-info">

<div class="col-md-4">
<div class="contact-address">
<i class="fa fa-home"></i>
<h3>Address</h3>
<address>Jalan Bingin Sari no 2,
Jimbaran</address>
</div>
</div>

<div class="col-md-4">
<div class="contact-phone">
<i class="fa fa-phone"></i>
<h3>Phone Number</h3>
<p><a href="tel:+62 370 6162456">+62 370
6162456</a></p>
</div>
</div>

<div class="col-md-4">
<div class="contact-email">
<i class="fa fa-envelope"></i>
<h3>Email</h3>
<p><a
href="mailto:laundryjimbaran@gmail.com">laundryjimbaran@gmail.com</
a></p>
</div>
</div>

</div>
<div class="social-links">
<a href="#" class="twitter"><i class="fa
fa-twitter"></i></a>
<a href="#" class="facebook"><i class="fa
fa-facebook"></i></a>
<a href="#" class="instagram"><i class="fa
fa-instagram"></i></a>
<a href="#" class="google-plus"><i
class="fa fa-google-plus"></i></a>
<a href="#" class="linkedin"><i class="fa
70

fa-linkedin"></i></a>
</div>

</div>
</section><!-- #contact -->

<div id="map" style="height: 500px; width: 100%;


border-top:1px solid darkgray"></div>
<script>
function initMap() {
var jimbaran = {lat: -8.801701, lng:
115.168090};
// var jimbaran2 = {lat: -8.796158, lng:
115.176203};
var map = new
google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: jimbaran,
// jimbaran2
});
var marker = new google.maps.Marker({
position: jimbaran,
map: map
});
// var marker2 = new google.maps.Marker({
// position: jimbaran2,
// map: map
// });
}
</script>
<script async defer
src=" https://www.google.co.id/maps/api/js?key=
AIzaSyBtLd0gS3tily-
lFM38ztLYSs8lZLc2eFY&callback=initMap">
</script>

@guest

@else
<section id="pesan" style="padding:20px;
border:1px solid #87939c">
<div class="container wow fadeInUp">
<div class="section-header">
<h3 class="section-title">Kritik dan
Saran</h3>
<p class="section-description">Jimbaran
Laundry</p>
</div>
</div>

<div class="container wow fadeInUp">


<div class="row justify-content-center">

<div class="col-lg-5 col-md-8 pull-


71

right">
<div class="form">
<form action="/manager" method="POST"
>
{{csrf_field()}}
<div class="form-group">
<input type="email" class="form-
control" name="email" id="email" value="{{Auth::user()->email}}"
data-rule="email" data-msg="Please enter a valid email" readonly/>
<div class="validation"></div>
</div>
<div class="form-group">
<input type="text" class="form-
control" name="subject" id="subject" placeholder="Subject" data-
rule="minlen:4" data-msg="Please enter at least 8 chars of subject"
required/>
<div class="validation"></div>
</div>
<div class="form-group">
<textarea class="form-control"
name="message" id="message" rows="5" data-rule="required" data-
msg="Please write something for us" placeholder="Message"
required></textarea>
<div class="validation"></div>
</div>
<div class="text-center"><button
class="btn btn-primary tombol" type="submit"><i class="fa fa-paper-
plane"></i> Message</button></div>
</form>
</div>
</div>

</div>

</div>
</section><!-- #contact -->
@endguest
Kode Program 4. 37 Source Code View Contact Us
Kode Program 4.37 merupakan kode program tampilan contact us yang
menggunakan Google Maps API untuk memberikan informasi alamat lengkap dari
Jimbaran Laundry.

4.1.3.5 View Sign In User


Tampilan sign in adalah tampilan dimana user akan masuk ke dalam website
Jimbaran Laundry untuk melakukan proses transaksi di dalam website Jimbaran
Laundry.
72

Gambar 4. 5 View Sign In User


Gambar 4.5 merupakan tampilan sign in user yang akan meminta pengguna
memasukkan email dan password yang telah dibuat sebelummnya dalam form
register.
73

<form id="login-form" action="{{ route('login') }}" method="POST"


role="form" style="display: block;">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('email') ? ' has-
error' : '' }}">
<input type="email" name="email" id="email"
tabindex="1" class="form-control" placeholder="Email"
value="{{old('email')}}">
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group {{ $errors->has('password') ? '
has-error' : '' }}">
<input type="password" name="password"
id="password" tabindex="2" class="form-control"
placeholder="Password">
</div>
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password')
}}</strong>
</span>
@endif
<div class="form-group text-center">
<input type="checkbox" tabindex="3" class=""
name="remember" id="remember" {{ old('remember') ? 'checked' :
'' }} >
<label for="remember" > Remember Me</label>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="login-submit"
id="login-submit" tabindex="4" class="form-control btn btn-login"
value="Log In">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<a
href="{{ route('password.request') }}" tabindex="5" class="forgot-
password">Forgot Password?</a>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
74

<div class="col-lg-12">
<div class="text-center">
<a href="/admin" tabindex="5"
class="forgot-password">Login as Admin?</a>
</div>
</div>
</div>
</div>
</form>
Kode Program 4. 38 Source Code View Sign In User
Kode Program 4.38 merupakan kode program tampilan sign in user yang akan
meneriman inputan email dan password dan mengecek ke database apakah user
tersebut sudah terdaftar atau belum, dan jika belum bisa dapat langsung melakukan
registrasi.

4.1.3.6 View Register


Tampilan register merupakan tampilan pengguna yang akan medaftarkan diri
sebagai pelanggan di Jimbaran Laundry.

Gambar 4. 6 View Register


Gambar 4.6 merupakan tampilan register yang akan meminta pengguna untuk
memasukkan nama, alamat email, alamat rumah, no telepon, dan password.
75

@section('content')
<form id="register-form" action="{{ route('register') }}"
method="POST" role="form">
{{ csrf_field() }}

<div class="form-group {{ $errors->has('name') ? ' has-


error' : '' }}">
<input type="text" name="name" id="name"
tabindex="1" class="form-control" placeholder="Name"
value="{{ old('name') }}" required>

@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>

<div class="form-group{{ $errors->has('email') ? ' has-


error' : '' }}">
<input type="email" name="email" id="email"
tabindex="1" class="form-control" placeholder="Email Address"
value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="help-blocfk">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>

<div class="form-group {{ $errors->has('alamat') ? '


has-error' : '' }}">
<input type="text" name="alamat" id="alamat"
tabindex="1" class="form-control" placeholder="Address"
value="{{ old('alamat') }}" required>

@if ($errors->has('alamat'))
<span class="help-block">
<strong>{{ $errors->first('alamat')
}}</strong>
</span>
@endif
</div>

<div class="form-group {{ $errors->has('telp') ? ' has-


error' : '' }}">
<input type="text" name="telp" id="telp"
tabindex="1" class="form-control" placeholder="Telephone Number"
value="{{ old('telp') }}" maxlength="12" required>

@if ($errors->has('telp'))
<span class="help-block">
<strong>{{ $errors->first('telp') }}</strong>
</span>
76

@endif
</div>

<div class="form-group{{ $errors->has('password') ? '


has-error' : '' }}">

<input id="password" type="password"


class="form-control" name="password" placeholder="Password"
required>

@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors-
>first('password') }}</strong>
</span>
@endif
</div>

<div class="form-group">

<input id="password-confirm"
type="password" class="form-control" placeholder="Confirm Password"
name="password_confirmation" required>

</div>

<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="register-submit"
id="register-submit" tabindex="4" class="form-control btn btn-
register" value="Register">
</div>
</div>
</div>
</form>
@endsection
Kode Program 4. 39 Source Code View Register
Kode Program 4.39 merupakan kode program tampilan register yang
memberikan form pedaftaran bagi pengguna baru yang ingin berlangganan di
Jimbaran Laundry.

4.1.3.7 View Sign In Admin


Tampilan sign in admin merupakan tampilan bagi admin yang ingin masuk
dan melakukan proses transaksi dari pelanggan.
77

Gambar 4. 7 View Sign In Admin


Gambar 4.7 merupakan tampilan sign in admin yang akan meminta admin
untuk memasukkan alamat email dan password yang telah dibuat oleh manager dari
Jimbaran Laundry.
78

<form id="login-form" action="{{ route('admin.login') }}"


method="POST" role="form" style="display: block;">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('email') ? ' has-
error' : '' }}">
<input type="email" name="email" id="email"
tabindex="1" class="form-control" placeholder="Email"
value="{{old('email')}}">
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group {{ $errors->has('password') ? '
has-error' : '' }}">
<input type="password" name="password"
id="password" tabindex="2" class="form-control"
placeholder="Password">
</div>
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password')
}}</strong>
</span>
@endif
<div class="form-group text-center">
<input type="checkbox" tabindex="3" class=""
name="remember" id="remember" {{ old('remember') ? 'checked' :
'' }} >
<label for="remember" > Remember Me</label>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="login-submit"
id="login-submit" tabindex="4" class="form-control btn btn-login"
value="Log In">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<a
href="{{ route('admin.password.request') }}" tabindex="5"
class="forgot-password">Forgot Password?</a>
</div>
</div>
</div>
</div>
</form>
Kode Program 4. 40 Source Code View Sign In Admin
79

Kode Program 4.40 merupakan kode program tampilan sign in admin yang
akan meneriman inputan email dan password dan mengecek ke database apakah
admin tersebut sudah terdaftar atau belum, dan jika belum bisa dapat langsung
melakukan harus manager yang melakukan pedaftaran admin.

4.1.3.8 View Home Admin


Tampilan home admin adalah tampilan pegawai sebagai admin yang dapat
melihat data order pelanggan di Jimbaran Laundry.

Gambar 4. 8 View Home Admin


Gambar 4.8 merupakan tampilan home admin yang dapat melihat transaksi
baru yang dimasukan oleh pelanggan Jimbaran Laundry dan akan diproses oleh
admin.
80

@section('content')
<div class="content-wrapper">
<div class="container-fluid">

<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a >Home</a>
</li>
</ol>

<div class="card mb-3">


<div class="card-header">
<i class="fa fa-table"></i> New Transaksi

<a href="/transaksi">
<span class="float-right">Go To
<i class="fa fa-angle-right"></i>
</span>
</a>

</div>

<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable"
width="100%" cellspacing="0">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Telp</th>
<th>Alamat</th>
<th>Waktu</th>
<th>Catatan</th>
<th width="20px">Action</th>
</tr>
</thead>

<tbody>
<?php $no = 0;?>
@foreach($trans as $row)
<?php $no++ ;?>
<tr>
<td>{{$no}}</td>
<td>{{$row->member->name}}</td>
<td>{{$row->member->telp}}</td>
<td>{{$row->member->alamat}}</td>
<td>{{$row->tgl_order}}</td>
<td>{{$row->catatan}}</td>
<td>
{{-- <a data-toggle="modal"
href="/deleteTransaksi/{{$row->id}}"><i class="fa
fa-trash"></i></a> --}}
81

<button type="button" class="btn btn-danger


btn-block" data-toggle="modal" data-target="#deleteModal_{{$row-
>id}}" title="Batal"><i class="fa fa-times"></i></button>

<!-- Batal Modal-->


<div class="modal fade"
id="deleteModal_{{$row->id}}" tabindex="-1" role="dialog" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"
role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#FDFC47; color:#000">
<h5 class="modal-title"
id="deleteModalLabel">Batal Transaksi</h5>
<button class="close" type="button"
data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Apakah Anda
Ingin Membatalkan Transaksi?</div>
<div class="modal-footer">
<button class="btn btn-secondary"
type="button" data-dismiss="modal">Cancel</button>
<form action="/pegawai/{{$row-
>id}}" method="POST">
{{csrf_field()}}
{{method_field('PUT')}}
<button type="submit"
class="btn btn-danger"> Batal</button>
</form>

</div>
</div>
</div>
</div>

</td>

</tr>
@endforeach
</tbody>

</table>
</div>
</div>
</div>
</div>
Kode Program 4. 41 Source Code View Home Admin
Kode Program 4.41 merupakan kode program tampilan home admin yang
menampilkan form list transaksi baru.
82

4.1.3.9 View Transaksi Admin


Tampilan transaksi admin merupakan tampilan admin yang berisi tentang
transaksi yang terjadi seperti sedang proses ataupun sudah selesai.

Gambar 4. 9 View Transaksi Admin


Gambar 4.9 merupakan tampilan transaksi admin yang mengatur tentang
proses transaksi yang sudah di order sebelumnya dan merubah status order-an jika
sudah diproses ataupun sudah selesai.
83

@section('tables')

<div class="card mb-3">


<div class="card-header">
<i class="fa fa-clock-o"></i> Transaksi
<span class="float-right">
<a data-toggle="modal" href="#tambahModal">
<i class="fa fa-plus"> Tambah Transaksi</i>
</a>
</span>
</div>

<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable"
width="100%" cellspacing="0">
<thead>
<tr>
<th width="20px">No</th>
<th>Nama</th>
<th width="130px">Waktu</th>
<th width="200px">Catatan</th>
<th>Total</th>
<th width="50px">Status</th>
<th width="70px">Action</th>
</tr>
</thead>
<tbody>
@php($no=0)
@foreach($transaksi as $row)
@php($no++)
@if($row->status_order != 'batal')
<tr>
<td>{{$no}}</td>
<td>{{$row->member->name}}</td>
<td>{{$row->tgl_order}}</td>
<td>{{$row->catatan}}</td>
<td>{{$row->det_transaksi-
>sum('total_bayar')}}</td>
@if($row->status_order == 'order')
<td><span class="badge badge-warning col-md-
12">{{$row->status_order}}</span></td>
@elseif($row->status_order == 'proses')
<td><span class="badge badge-primary col-md-
12">{{$row->status_order}}</span></td>
@elseif($row->status_order == 'batal')
<td><span class="badge badge-danger col-md-
12">{{$row->status_order}}</span></td>
@else
<td><span class="badge badge-success col-md-
12">{{$row->status_order}}</span></td>
@endif
<td>
@if($row->status_order == 'order')
84

<button type="button" class="btn btn-


primary" data-toggle="modal" data-target="#prosesModal_{{$row-
>id}}" title="Proses"><i class="fa fa-refresh"></i></button>
<button type="button" class="btn btn-
danger" data-toggle="modal" data-target="#deleteModal_{{$row->id}}"
title="Batal"><i class="fa fa-times"></i></button>
@elseif($row->status_order == 'proses')
@if($row->det_transaksi->count('id') !=
NULL)
@if($row->status_bayar == 'belum
bayar')
<button type="button" class="btn btn-
success" data-toggle="modal" data-target="#prosesModal_{{$row-
>id}}" title="Tambah"><i class="fa fa-plus"></i></button>
<a class="btn btn-info"
href="/detailTransaksi/{{$row->id}}" title="Detail Transaksi"><i
class="fa fa-eye"></i></a>
@else
<a class="btn btn-info col-md-12"
href="/detailTransaksi/{{$row->id}}" title="Detail Transaksi"><i
class="fa fa-eye"></i></button>
@endif
@else
<button type="button" class="btn btn-
success" data-toggle="modal" data-target="#prosesModal_{{$row-
>id}}" title="Tambah"><i class="fa fa-plus"></i></button>
<button type="button" class="btn btn-
danger" data-toggle="modal" data-target="#deleteModal_{{$row->id}}"
title="Batal"><i class="fa fa-times"></i></button>
@endif
@else
<a class="btn btn-info col-md-12"
href="/detailTransaksi/{{$row->id}}" title="Detail Transaksi"><i
class="fa fa-eye"></i></button>
@endif

<!-- Batal Modal-->


<div class="modal fade" id="deleteModal_{{$row-
>id}}" tabindex="-1" role="dialog" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#FDFC47; color:#000">
<h5 class="modal-title"
id="deleteModalLabel">Batal Transaksi</h5>
<button class="close" type="button"
data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Apakah Anda
Ingin Membatalkan Transaksi?</div>
<div class="modal-footer">
85

<button class="btn btn-secondary"


type="button" data-dismiss="modal">Cancel</button>
<form action="/transaksi/{{$row-
>id}}" method="POST">
{{csrf_field()}}
{{method_field('PUT')}}
<button type="submit" class="btn
btn-danger"> Batal</button>
</form>

</div>
</div>
</div>
</div>

<!--Proses Modal-->
<div class="modal" id="prosesModal_{{$row->id}}"
tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#2F80ED; color:#fff;">
<h5 class="modal-title"
id="prosesModalLabel">Transaksi</h5>
<button type="button" class="close" data-
dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body proses">
<form action="/transaksi" method="POST">
{{csrf_field()}}
<div class="form-group">
<label> ID </label>
<input type="text" name="id"
class="form-control col-md-2" id="id" value="{{$row->id}}" readonly
/>
</div>

<div class="form-group">
<label> Paket </label>
<select name="paket" class="form-
control paket">
<option value="">Paket</option>
@foreach($paket as $row)
<option value="{{$row-
>id}}">{{$row->nama_paket}}</option>
@endforeach
</select>
</div>

<div class="form-group">
86

<label> Harga</label>
<input type="text" name="harga"
class="harga form-control" id="harga" maxlength="2"
onkeyup="sum();" disabled />
<div class="validation"></div>
</div>

<div class="form-group">
<label> Jumlah</label>
<input type="text" name="jumlah"
class="jumlah form-control" id="jumlah" maxlength="4" required>
<div class="validation"></div>
</div>

<div class="form-group">
<label> Total </label>
<input type="text" name="total"
class="total form-control" id="total" value="" readonly/>
</div>

{{-- <div class="form-group checkbox pull-


right">
<label><input type="checkbox"
name="lunas" id="lunas" value="lunas"> Lunas</label>
</div> --}}

<div class="form-group">
<button type="submit" class="form-control
btn btn-primary">Proses</button>

</div>

{{-- <script>
function sum() {
var harga =
document.getElementsByClassName('harga').value;
var jumlah =
document.get('jumlah').value;
var result = parseInt(harga) *
parseInt(jumlah);
if (!isNaN(result)) {
//
document.parent().parent().find('#total').value = result;
console.log(result)
}
}
</script> --}}
</form>
</div>
</div>
</div>

</div>
</td>
87

</tr>
@endif
@endforeach
</tbody>
</table>
</div>
</div>

<!--Tambah Modal-->
<div class="modal fade" id="tambahModal" tabindex="-1"
role="dialog" aria-labelledby="exampleModalLabel" aria-
hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header" style="background-
color:#56ab2f; color:#fff">
<h5 class="modal-title"
id="tambahModalLabel">Transaksi Baru</h5>
<button type="button" class="close" data-
dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="/transaksiA " method="POST"
role="form" class="contactForm">
{{csrf_field()}}
<div class="form-group">
<label> Name :</label>
<select name="nama_customer"
id="nama_customer" class="form-control">
<option value="">Nama</option>
@foreach($member as $row)
<option value="{{$row->id}}">{{$row-
>name}}</option>
@endforeach
</select>
<div class="validation"></div>
</div>

<div class="form-group">
<label> Alamat :</label>
<textarea name="alamat_customer"
id="alamat_customer" class="form-control" placeholder="Alamat"
readonly></textarea>
</div>

<div class="form-group">
<label> Telp :</label>
<input type="text" name="telp_customer"
class="form-control" id="telp_customer" placeholder="Telp"
readonly>
<div class="validation"></div>
88

</div>

<div class="form-group">
<label> Note :</label>
<textarea class="form-control" name="message"
rows="5" data-msg="Please write something for us"
placeholder="Message"></textarea>
<div class="validation"></div>
</div>

<div class="form-group"><button type="submit"


class="form-control btn btn-success btn-block
">Order</button></div>
</form>
</div>
</div>
</div>
</div>
@endsection

@section('script')
<!-- Tampilkan Data member -->
<script>
$(document).ready(function(){
$("#nama_customer").on('change', function(){
if($(this).val() != ''){
var name = $("#nama_customer").val();
// console.log(typeof(name) )
$.ajax({
url:"/data?q="+name,
dataType: "json",
success:function(value){
$("#alamat_customer").val(value.alamat);
$("#telp_customer").val(value.telp);
// console.log(value)
}
});
}else{
// console.log("kosongin...")
$("#alamat_customer").val("");
$("#telp_customer").val("");
}

});

$(".paket").on('change', function(){
if($(this).val() != ''){
var paket = $(this).val();
var url="/harga?q=" +paket
var tag=$(this)
// console.log(url)
$.ajax({
url:"/harga?q=" +paket,
dataType: "json",
89

success:function(value){

tag.parent().parent().find(".harga").val(value.harga)
let harga=value.harga
let
jumlah=tag.parent().parent().find(".jumlah").val();
let kali = Number(jumlah) * Number(harga);
// console.log(harga)
tag.parent().parent().find(".total").val(kali);
}
});
}else{
$(this).parent().parent().find(".harga").val("");
$(this).parent().parent().find(".total").val("");
}
});

$(".jumlah").keyup(function() {
var harga = $
(this).parent().parent().find(".harga").val();
var jumlah = $(this).val();
var kali = Number(jumlah) * Number(harga);
if ( jumlah != "" && harga != "" ) {
$(this).parent().parent().find(".total").val(kali);
// console.log(kali)
}
})
});
</script>

<!-- Tampilkan Data member -->


{{-- <script>
$(document).ready(function(){
$('.nama_customer').select2();
// placeholder: 'Nama',
// ajax:{
// url:'/data',
// dataType: 'json',
// delay: 250,
// processResults: function(data){
// return{
// results: $.map(data, function(value){
// return{
// alamat: value.alamat,
// telp: value.telp
// }
// })
// };
// },
// catch: true
// }

});
</script> --}}
90

@endsection
Kode Program 4. 42 Source Code Tampilan Transaksi Admin
Kode Program 4.42 merupakan kode program tampilan transaksi admin yang
memproses order-an pelanggan dengan melihat database yang telah masuk ke order
lalu memperbaharui jika sudah selesai maupun sedang proses.

4.1.3.10 View Transaksi Diambil


Tampilan transaksi diambil adalah tampilan admin yang akan melihat order-
an mana saja yang telah diambil oleh pelanggan.

Gambar 4. 10 View Transaksi Diambil


Gambar 4.10 merupakan tampilan transaksi diambil yang melihat status
transaksi yang sudah di setting sudah diambil lalu ditampilkan dalam menu transaksi
diambil.
91

@section('tables')
<div class="card mb-3">
<div class="card-header">
<i class="fa fa-check"></i> Transaksi Diambil</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered"
id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Telp</th>
<th>Alamat</th>
<th>Waktu Pengambilan</th>
<th>Total</th>
</tr>
</thead>
<tbody>
@php($no=0)
@foreach($diambil as $row)
@php($no++)
<tr>
<td>{{$no}}</td>
<td>{{$row->member->name}}</td>
<td>{{$row->member->telp}}</td>
<td>{{$row->member->alamat}}</td>
<td>{{$row->tgl_diambil}}</td>
<td>{{$row->total_bayar}}</td>
</tr>
@endforeach
</tbody>

</table>
</div>
</div>
</div>

@endsection
Kode Program 4. 43 Source Code View Transaksi Diambil

Kode Program 4.43 merupakan kode program tampilan transaksi diambil yang
dapat melihat status yang sudah di atur diambil dalam database, kemudian ditampilan
dengan list.

4.1.3.11 View Transaksi Batal


Tampilan transaksi batal merupakan tampilan admin yang dapat melihat
transaksi yang telah dibatalkan oleh pengguna maupun admin di dalam order-an.
92

Gambar 4. 11 View Transaksi Batal


Gambar 4.11 merupakan tampilan transaksi batal yang melihat status transaksi
yang sudah di setting batal lalu ditampilkan dalam menu transaksi batal.
93

@section('tables')
<div class="card mb-3">
<div class="card-header">
<i class="fa fa-times"></i> Transaksi Batal</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered"
id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Telp</th>
<th>Alamat</th>
<th>Waktu Batal</th>
</tr>
</thead>
<tbody>
@php( $no = 0)
@foreach($batal as $row)
@php( $no++)
<tr>
<td>{{$no}}</td>
<td>{{$row->member->name}}</td>
<td>{{$row->member->telp}}</td>
<td>{{$row->member->alamat}}</td>
<td>{{$row->tgl_batal}}</td>
</tr>
@endforeach
</tbody>

</table>
</div>
</div>
</div>
@endsection
Kode Program 4. 44 Source Code View Transaksi Batal
Kode Program 4.44 merupakan kode program tampilan transaksi batal
menampilkan tabel list transaksi yang telah dibatalkan oleh pelanggan atau oleh
admin.

4.1.3.12 View Data Member


Tampilan data member merupakan tampilan admin yang dapat melihat data
member atau pelanggan yang sudah terdaftar di dalam Jimbaran Laundry.
94

Gambar 4. 12 View Data Member


Gambar 4.12 merupakan tampilan data member yang melihat data member
yang sudah terdaftar dan juga dapat mencari nama pelanggan yang dimaksud
menggunakan kolom search.
95

@section('tables')
<div class="card mb-3">
<div class="card-header">
<i class="fa fa-drivers-license-o"></i> Members

<span class="float-right">
<a data-toggle="modal" href="#tambahModal">
<i class="fa fa-plus"> Tambah Member</i>
</a>
</span>

<!--Tambah Modal-->
<div class="modal fade" id="tambahModal" tabindex="-
1" role="dialog" aria-labelledby="exampleModalLabel" aria-
hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header" style="background-
color:#56ab2f; color:#fff">
<h5 class="modal-title"
id="tambahModalLabel">Tambah Member</h5>
<button type="button" class="close" data-
dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="register-form" action="/member"
method="POST" >
{{ csrf_field() }}

<div class="form-group {{ $errors-


>has('name') ? ' has-error' : '' }}">
<input type="text" name="name"
id="name" tabindex="1" class="form-control" placeholder="Name"
value="{{ old('name') }}" required>

@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors-
>first('name') }}</strong>
</span>
@endif
</div>

<div class="form-group{{ $errors-


>has('email') ? ' has-error' : '' }}">
<input type="email" name="email"
id="email" tabindex="1" class="form-control" placeholder="Email
Address" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors-
>first('email') }}</strong>
96

</span>
@endif
</div>

<div class="form-group{{ $errors-


>has('alamat') ? ' has-error' : '' }}">
<textarea name="alamat"
id="alamat" row="3" tabindex="1" class="form-control"
placeholder="Address" required>{{ old('alamat') }}</textarea>

@if ($errors->has('alamat'))
<span class="help-block">
<strong>{{ $errors-
>first('alamat') }}</strong>
</span>
@endif
</div>

<div class="form-group{{ $errors-


>has('telp') ? ' has-error' : '' }}">
<input type="text" name="telp"
id="telp" tabindex="1" class="form-control" placeholder="Telephone"
maxlength="12" value="{{ old('telp') }}" required>
@if ($errors->has('telp'))
<span class="help-block">
<strong>{{ $errors->first('telp')
}}</strong>
</span>
@endif
</div>

<div class="form-group float-right">


<div class="row">
<div class="col-sm-3 col-sm-
offset-12">
<button type="submit"
class="btn btn-success">Tambah</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>

</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered"
id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="20px">No</th>
97

<th>Nama</th>
<th width="100px">Telp</th>
<th>Alamat</th>
</tr>
</thead>

<tbody>
<?php $no = 0;?>
@foreach($member as $row)
<?php $no++ ;?>
<tr>
<td>{{$no}}</td>
<td>{{$row->name}}</td>
<td>{{$row->telp}}</td>
<td>{{$row->alamat}}</td>
</tr>
@endforeach
</tbody>

</table>
</div>
</div>
</div>
@endsection
Kode Program 4. 45 Source Code View Data Member
Kode Program 4.45 merupakan kode program tampilan data member yang
dapat menampilkan data member yang ada dan juga dapat mencari nama user yang
diinginkan menggunakan fungsi search.

4.1.3.13 View Paket


Tampilan paket adalah tampilan admin yang memperlihatkan paket apa saja
yang terdapat di dalam Jimbaran Laundry.
98

Gambar 4. 13 View Paket


Gambar 4.13 merupakan tampilan paket yang terdapat di dalam Jimabran
Laundry dan juga admin dapat mengedit paket tersebut maupun menambah paket
yang diingunkan.
99

@section('content')
<div class="content-wrapper">
<div class="container-fluid">

<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a >Paket</a>
</li>
</ol>

@include('include.pesan')

<div class="card mb-3">


<div class="card-header">
<i class="fa fa-gift"></i> Paket

<a href="#tambahModal" data-toggle="modal">


<span class="float-right">
<i class="fa fa-plus"></i> Tambah Paket
</span>
</a>
</div>

<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable"
width="100%" cellspacing="0">
<thead>
<tr>
<th width="20px">No</th>
<th>Paket</th>
<th>Harga</th>
<th>Modal</th>
<th width="50px">Action</th>
</tr>
</thead>

<tbody>
<?php $no = 0;?>
@foreach($paket as $row)
<?php $no++ ;?>
<tr>
<td>{{$no}}</td>
<td>{{$row->nama_paket}}</td>
<td>{{$row->harga}}</td>
<td>{{$row->modal}}</td>
<td>
<button type="button" class="btn btn-success
col-md-12" data-toggle="modal" data-target="#editModal_{{$row-
>id}}" title="Edit"><i class="fa fa-edit"></i></button>

<!--Edit Modal-->
<div class="modal fade"
100

id="editModal_{{$row->id}}" tabindex="-1" role="dialog" aria-


labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"
role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#56ab2f; color:#fff">
<h5 class="modal-title"
id="tambahModalLabel">Edit Paket</h5>
<button type="button" class="close"
data-dismiss="modal" aria-label="Close">
<span aria-
hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="register-form"
action="/paket/{{$row->id}}" method="POST" >
{{ csrf_field() }}
{{method_field('PUT')}}
<div class="form-group
{{ $errors->has('nama_paket') ? ' has-error' : '' }}">
<input type="text"
name="nama_paket" id="nama_paket" tabindex="1" class="form-control"
value="{{$row->nama_paket}}" required>

@if ($errors-
>has('nama_paket'))
<span class="help-block">
<strong>{{ $errors-
>first('nama_paket') }}</strong>
</span>
@endif
</div>

<div class="form-group
{{ $errors->has('harga_paket') ? ' has-error' : '' }}">
<input type="text"
name="harga_paket" id="harga_paket" tabindex="1" class="form-
control" value="{{ $row->harga }}" required>

@if ($errors-
>has('harga_paket'))
<span class="help-
block">
<strong>{{ $errors-
>first('harga_paket') }}</strong>
</span>
@endif
</div>

<div class="form-group
{{ $errors->has('modal_paket') ? ' has-error' : '' }}">
<input type="text"
101

name="modal_paket" id="modal_paket" tabindex="1" class="form-


control" value="{{ $row->modal }}" required>

@if ($errors-
>has('modal_paket'))
<span class="help-
block">
<strong>{{ $errors-
>first('modal_paket') }}</strong>
</span>
@endif
</div>

<div class="form-group float-


right">
<div class="row">
<div class="col-sm-3
col-sm-offset-12">
<button
type="submit" class="btn btn-success">Edit</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>

</div>

</td>

</tr>
@endforeach
</tbody>

</table>
</div>
<!--Tambah Modal-->
<div class="modal fade" id="tambahModal" tabindex="-1"
role="dialog" aria-labelledby="exampleModalLabel" aria-
hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header" style="background-
color:#56ab2f; color:#fff">
<h5 class="modal-title"
id="tambahModalLabel">Tambah Paket</h5>
<button type="button" class="close" data-
dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
102

</div>
<div class="modal-body">
<form id="register-form" action="/paket"
method="POST" >
{{ csrf_field() }}

<div class="form-group {{ $errors-


>has('nama_paket') ? ' has-error' : '' }}">
<input type="text" name="nama_paket"
id="nama_paket" tabindex="1" class="form-control"
placeholder="Name" value="{{ old('nama_paket') }}" required>

@if ($errors->has('nama_paket'))
<span class="help-block">
<strong>{{ $errors-
>first('nama_paket') }}</strong>
</span>
@endif
</div>

<div class="form-group {{ $errors-


>has('harga_paket') ? ' has-error' : '' }}">
<input type="text" name="harga_paket"
id="harga_paket" tabindex="1" class="form-control"
placeholder="Harga" value="{{ old('harga_paket') }}" required>

@if ($errors->has('harga_paket'))
<span class="help-block">
<strong>{{ $errors-
>first('harga_paket') }}</strong>
</span>
@endif
</div>

<div class="form-group {{ $errors-


>has('modal_paket') ? ' has-error' : '' }}">
<input type="text"
name="modal_paket" id="modal_paket" tabindex="1" class="form-
control" placeholder="Modal" value="{{ old('modal_paket') }}"
required>

@if ($errors->has('modal_paket'))
<span class="help-block">
<strong>{{ $errors-
>first('modal_paket') }}</strong>
</span>
@endif
</div>

<div class="form-group float-right">


<div class="row">
<div class="col-sm-3 col-sm-offset-
12">
<button type="submit"
103

class="btn btn-success">Tambah</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>

</div>
</div>
</div>
</div>

@endsection
Kode Program 4. 46 Source Code View Paket
Kode Program 4.46 merupakan kode program tampilan paket yang
menggunakan tabel untuk menampilkannya dan juga dapat menambahkan paket yang
diingikan.

4.1.3.14 View Profile Pegawai


Tampilan profile pegawai adalah tampilan yang memperlihatkan profile dari
pegawai dan melihat informasi yang diperlukan.

Gambar 4. 14 View Profile Pegawai


104

Gambar 4.14 merupakan tampilan profile pegawai yang memperlihatkan


nama, telephone, alamat dan statusnya dan juga pegawai dapat mengedit profile
teresebut jika ada kesalahan informasi.
105

@section('content')
<div class="content-wrapper">
<div class="container-fluid">

<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a >Profile</a>
</li>
</ol>

@include('include.pesan')

<div class="mb-3 col-md-5 pull-left">

<div class="container">
<div class="card-body">

<div class="col-md-12 col-sm-12">


<img class="btn-md" src="/img/logo.png"
alt="" width="250px" style="margin-left:30px;border-radius:50%;">
<h2 class="card-title" style="text-
align:center"><strong>{{Auth::user()->name}}</strong></h2>
<p class="card-text" style="text-
align:center;"><strong>Status: </strong>{{ Auth::user()->role-
>name}} </p>
<p class="card-text" style="text-
align:center"><i class="badge badge-success">Online</i></p>
<p style="text-align:center;margin-
top:50px">
<a href="" style="color:black"><i
class="fa fa-twitter" style="margin:5px;"></i></a>
<a href="" style="color:black"><i
class="fa fa-facebook" style="margin:5px"></i></a>
<a href="" style="color:black"><i
class="fa fa-instagram" style="margin:5px"></i></a>
<a href="" style="color:black"><i
class="fa fa-google-plus" style="margin:5px"></i></a>
<a href="" style="color:black"><i
class="fa fa fa-linkedin" style="margin:5px"></i></a>
</p>
</div>

</div>
</div>
</div>

<div class="card mb-3 col-md-7 pull-right">

<div class="container">
<div class="card-body">
<form action="/profilePegawai/{{Auth::user()-
>id}}" method="POST">
{{csrf_field()}}
106

{{method_field('PUT')}}
<div class="form-group">
<div class="form-row">
<label for="name">Name</label>
<input class="form-control" id="name"
name="name" type="text" aria-describedby="nameHelp"
value="{{Auth::user()->name}}">
</div>
</div>

<div class="form-group">
<div class="form-row">
<label for="name">Telephone</label>
<input class="form-control" id="telp"
name="telp" type="text" aria-describedby="nameHelp"
value="{{Auth::user()->telp}}" maxlength="12">
</div>
</div>

<div class="form-group">
<label for="email">Email</label>
<input class="form-control" id="email"
name="email" type="email" aria-describedby="emailHelp"
value="{{Auth::user()->email}}">
</div>

<div class="form-group">
<label for="email">Alamat</label>
<textarea class="form-control" id="alamat"
name="alamat" aria-describedby="emailHelp" >{{Auth::user()-
>alamat}}</textarea>
</div>

<div class="form-group">
<div class="form-row">
<div class="col-md-6">
<label for="password">Password</label>
<input class="form-control" id="password"
name="password" type="password" placeholder="Password">
</div>
<div class="col-md-6">
<label for="password-confirm">Confirm
password</label>
<input id="password-confirm"
type="password" class="form-control" placeholder="Confirm Password"
name="password_confirmation">
</div>
</div>
</div>

<input type="submit" class="btn btn-primary


btn-block" name="edit" value="Save">
</form>
</div>
107

</div>
</div>
</div>
</div>

@endsection
Kode Program 4. 47 Source Code View Profile Pegawai
Kode Program 4.47 merupakan kode program tampilan profile pegawai yang
memperlihatkan form informasi dari pegawai yang telah didaftarkan dan dapat
mengubah data jika terjadi kesalahan.

4.1.3.15 View Home Manager


Tampilan home manager merupakan tampilan bagi manager untuk melihat
data-data yang dimiliki oleh Jimbaran Laundry data ini hanya dapat dilihat oleh
manager saja.

Gambar 4. 15 View Home Manager


Gambar 4.15 merupakan tampilan home manager yang akan melihat
informasi data pegawai dan member yang dimiliki dan juga data keuangan yang
dimiliki.
108

@section('content')
<div class="content-wrapper">
<div class="container-fluid">
<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a >Home</a>
</li>
</ol>

<div class="row">
<div class="col-lg-8">

<!-- Pegawai Card-->


<div class="row">
<div class="col-md-6">
<div class="card mb-3">
<div class="card-header" style="background:
#34e89e">
<i class="fa fa-address-card-o"></i>
Pegawai</div>
<div class="card-body">
<div class="card-body-icon">
<i class="fa fa-fw fa-user"></i>
</div>

<h3><strong>{{$admin->count('id')}}</strong> Pegawai</h3>
</div>
<div class="list-group list-group-flush
small">
<a class="list-group-item list-group-
item-action" href="/pegawaiM">Go To Page <i class="fa fa-angle-
right"></i></a>
</div>
</div>
</div>

<!-- Member Card-->


<div class="col-md-6">
<div class="card mb-3">
<div class="card-header" style="background:
#56CCF2">
<i class="fa fa-address-card"></i>
Member</div>
<div class="card-body">
<div class="card-body-icon">
<i class="fa fa-fw fa-user"></i>
</div>

<h3><strong>{{$member->count('id')}}</strong> Member</h3>
</div>
<div class="list-group list-group-flush
small">
<a class="list-group-item list-group-
109

item-action" href="/memberM">Go To Page <i class="fa fa-angle-


right"></i></a>
</div>
</div>
</div>
</div>

<!-- Email-->
<div class="card mb-3">
<div class="card-header">
<i class="fa fa-envelope"></i> Message</div>
<div style="max-height:210px; overflow-x: auto">
@foreach($message2 as $row)
<a class="list-group-item list-group-item-
action">
<div class="media">
<img class="d-flex mr-3 rounded-circle"
src="http://placehold.it/45x45" alt="">
<div class="media-body row">
<div class="col-md-8">
<strong>{{$row->email}}</strong>
has sent E-mail

<p><span>{{$row->message}}</span></p>
<div class="text-muted smaller">At
{{$row->created_at}}</div>
</div>
<div class="col-md-4">
@if($row->status == 'blm_dilihat')
<button type="button" data-
toggle="modal" data-target="#showModal_{{$row->id}}" class="btn
btn-default pull-right" style="margin-top:15px"><i class="fa fa-
eye"></i></button>
@else
<button type="button" data-
toggle="modal" data-target="#showModal_{{$row->id}}" class="btn
btn-default pull-right" style="margin-top:15px"><i class="fa fa-
eye-slash"></i></button>
@endif
</div>

</div>
</div>
</a>

<!--Show Modal-->
<div class="modal fade" id="showModal_{{$row-
>id}}" tabindex="-1" role="dialog" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body proses">
<form action="/manager/{{$row->id}}"
110

method="POST">
{{csrf_field()}}
{{method_field('PUT')}}
<div class="form-group">
<label> E-Mail :</label>
<input type="email"
name="email" class="harga form-control" id="email" value="{{$row-
>email}}" disabled />
<div class="validation"></div>
</div>

<div class="form-group">
<label> Subject :</label>
<input type="text"
name="subject" class="jumlah form-control" id="subject"
value="{{$row->subject}}" readonly>
<div class="validation"></div>
</div>

<div class="form-group">
<label> Message :</label>
<textarea type="text"
name="message" rows="6" class="total form-control" id="message"
readonly>{{$row->message}}</textarea>
</div>
<div class="form-group">
@if($row->status == 'blm_dilihat')
<button type="submit" class="form-
control btn btn-primary"><i class="fa fa-eye"></i></button>
@else
<button type="submit" class="form-
control btn btn-secondary"><i class="fa fa-eye-slash"></i></button>
@endif
</div>
</form>
</div>
</div>
</div>
</div>
@endforeach
</div>

<div class="list-group list-group-flush small">


<a class="list-group-item list-group-item-
action" href="https://mail.google.com/mail/u/1/#inbox">Go To Email
<i class="fa fa-angle-right"></i></a>
</div>
</div>

</div>

<div class="col-lg-4">
<!-- Keuangan-->
<div class="card mb-3">
111

<div class="card-header">
<i class="fa fa-money"></i> Keuangan</div>
<div class="card-body">
<div class="row">
<div class="col-sm-12 text-center my-auto">
<div class="h4 mb-0 text-primary">Rp.
{{number_format($pendapatan->sum('total_bayar'))}} -,</div>
<div class="small text-
muted">Pemasukan</div>
<hr>
<div class="h4 mb-0 text-warning">Rp.
{{number_format($pendapatan->sum('modal'))}} -,</div>
<div class="small text-
muted">Pengeluaran</div>
<hr>
<div class="h4 mb-0 text-success">Rp.
{{number_format($pendapatan->sum('total_bayar')-$pendapatan-
>sum('modal'))}} -,</div>
<div class="small text-
muted">Pendapatan</div>
</div>
</div>
</div>
<div class="card-footer small text-muted">Last
updated at
<div class="pull-right">
{{$pendapatan->max('updated_at')}}
</div>
</div>
</div>
</div>
</div>
@endsection
Kode Program 4. 48 Source Code View Home Manager
Kode Program 4.48 merupakan kode program tampilan home manager yang
memanggil class member dan pegawai untuk menampilkan jumlah pegawai dan
member yang dimiliki serta juga class keuangan.

4.1.3.16 View Report Transaksi Pendapatan


Tampilan report transaksi pendapatan merupakan tampilan manager yang
dapat melihat pendapatan yang dimiliki oleh Jimbaran Laundry.
112

Gambar 4. 16 View Report Transaksi Pendapatan


Gambar 4.16 merupakan tampilan report transaksi pendapatan yang
menampilan pendapatan yang diperoleh dan juga dalam menampilkan pendapatan
yang diperoleh perbulannya dan juga pertahun.
113

@section('content')
<div class="content-wrapper">
<div class="container-fluid">
<!-- Breadcrumbs-->
<ol class="breadcrumb col-md-6">
<li class="breadcrumb-item">
<a >Pendapatan</a>
</li>
</ol>

<!-- Pendapatan -->


<div class="card mb-3 col-md-6">
<div class="container">
<div class="row">

<div class="col-lg-12 col-lg-offset-3 ">

<div class="dateRange">
<div class="row">
<div class="col">
<label> From :</label>
<input type="date" name="from_date"
class="form-control" id="from_date" data-rule="required"/>
<div class="validation"></div>
</div>

<div class="col">
<label> To :</label>
<input type="date" name="to_date"
class="form-control" id="to_date" data-rule="required" />
<div class="validation"></div>
</div>
</div>
</div>

<div>

</div>
<div class="form-group float-right" style="margin-
top:8px; margin-bottom:5px">
<button class="btn btn-success" type="button"
name="dataSearch" id="dataSearch">Tampilkan</button>
</div>
</div>

</div>
</div>
</div>

<div class="card mb-3">

<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable"
114

width="100%" cellspacing="0">
<thead>
<tr>
<th width="20px">No</th>
<th>Nama</th>
<th>Waktu</th>
<th>Pendapatan</th>
</tr>
</thead>
<tbody id="isi">
@foreach($pendapatan as $i => $row)
<tr>
<td>{{$i+1}}</td>
<td>{{$row->member->name}}</td>
<td>{{$row->tgl_order}}</td>
<td>{{(($row->det_transaksi->sum('total_bayar'))-
($row->det_transaksi->sum('modal')))}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>

@endsection

@section('script')

<script>
$(document).ready(function() {
// $(function(){
// $('#from_date').datepicker();
// $('#to_date').datepicker();
// });
$('#dataSearch').click(function(){
var from_date = $('#from_date').val();
var to_date = $('#to_date').val();
if(from_date != '' && to_date != '')
{
// alert('asu kok gk mw')
// var url="/listPendapatan?
from_date="+from_date+"&to_date="+to_date
// console.log(url)
$.ajax({
url: "/listPendapatan?
from_date="+from_date+"&to_date="+to_date,
method: "GET",
data: {from_date:from_date, to_date:to_date},
success:function(data){
var tabel=""
for (let index = 0; index < data.length; index++) {
115

const element = data[index];


const no=index+1;
const selisih=element.total-element.modal
tabel+=
"<tr>"+
"<td>"+no+"</td>"+
"<td>"+element.name+"</td>"+
"<td>"+element.tgl_order+"</td>"+
"<td>"+selisih+"</td>"+
"</tr>"
}
$("#isi").html(tabel)

// $('.dataTable').html(data);
// console.log(data);

}
// error:function(error){
// console.log(error)
// }
})
}else{
alert('please insert the date');
}
})
});

// $('.dateRange').datePicker({
// todayBtn: 'linked',
// formate: "yyyy-mm-dd",
// autoclose: true
// });

// function fetch_data(is_date_search, from_Date='',


to_date=''){
// var dataTable = $('#dataTable').dataTable({
// "processing" : true,
// "serveSide" : true,
// "order" : [],
// "ajax" : {
// url : "/listPendapatan"
// data: {
// is_date:dataSearch, from:from, to:to
// }
// }
// });

// $.('#dataSearch').click(function){
// var from = $('#from').val();
// var to = $('#to').val();
// if(from != '' && to != '')
116

// {
// $('#dataTable').dataTable().destroy();
// fetch_data('yes', from. to)
// }else
// {
// alert("please put some date");
// }
// });
// }
// });
</script>

{{-- <script type="text/javascript">


$('#from').datePicker({
changeDay: true,
changeMonth: true,
changeYear: true,
dateFormat: 'yy/mm/dd',
onSelect: function(dateText){

var From = $('#from').val();


var To = $('#to').val();
var Pendapatan = $('#pendapatan').val;
listPendapatan(From, To, Pendapatan);
}
});

$('#to').datePicker({
changeDay: true,
changeMonth: true,
changeYear: true,
dateFormat: 'yy/mm/dd',
onSelect: function(dateText){

var From = $('#from').val();


var To = $('#to').val();
var Pendapatan = $('#pendapatan').val;
listPendapatan(From, To, Pendapatan);
}
});

function listPendapatan(criteria1, criteria2, criteria3){


$.ajax({
type: 'get',
url: "{{url('listPendapatan')}}",
data:
'(From:criteria1,To:criteria2,Pendapatan:criteria3)',
success:function(data){
$('.list_pendapatan').empty().html(data);
}
})
}
</script> --}}
117

@endsection
Kode Program 4. 49 Source Code View Report Transaksi Pendapatan
Kode Program 4.49 merupakan kode program tampilan report transaksi
pendapatan yang menggunakan stored procedure dari data pendapatan yang
ditampilan ke dalam website.

4.1.3.17 View Report Transaksi Pengeluaran


Tampilan report transaksi pengeluaran merupakan tampilan manager yang
dapat melihat pendapatan yang dimiliki oleh Jimbaran Laundry.

Gambar 4. 17 View Report Transaksi Pengeluaran


Gambar 4.17 merupakan tampilan report transaksi pengeluaran yang
menampilan pengeluaran yang dikeluarkan dan juga dalam menampilkan pengeluaran
yang dikeluarkan perbulannya dan juga pertahun.
118

@section('content')
<div class="content-wrapper">
<div class="container-fluid">
<!-- Breadcrumbs-->
<ol class="breadcrumb col-md-6">
<li class="breadcrumb-item">
<a >Pengeluaran</a>
</li>
</ol>

<!-- Pendapatan -->


<div class="card mb-3 col-md-6">
<div class="container">
<div class="row about-container">

<div class="col-lg-12 col-lg-offset-3 ">


<div class="dateRange" >
<div class="row" >
<div class="col">
<label> From :</label>
<input type="date" name="from_date"
class="form-control" id="from_date" data-rule="required"/>
<div class="validation"></div>
</div>

<div class="col">
<label> To :</label>
<input type="date" name="to_date"
class="form-control" id="to_date" data-rule="required" />
<div class="validation"></div>
</div>
</div>
</div>

<div class="form-group float-right" style="margin-


top:8px; margin-bottom: 5px">
<button class="btn btn-success" type="button"
name="dataSearch" id="dataSearch">Tampilkan</button>
</div>
</div>

</div>
</div>
</div>

<div class="card mb-3">

<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable"
width="100%" cellspacing="0">
<thead>
<tr>
<th width="20px">No</th>
119

<th>Nama</th>
<th>Waktu</th>
<th>Pengeluaran</th>
</tr>
</thead>
<tbody id="isi">
@foreach($pengeluaran as $i => $row)
<tr>
<td>{{$i+1}}</td>
<td>{{$row->member->name}}</td>
<td>{{$row->tgl_order}}</td>

<td>{{$row->det_transaksi->sum('modal')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>

@endsection

@section('script')
<script>
$(document).ready(function() {
$('#dataSearch').click(function(){
var from_date = $('#from_date').val();
var to_date = $('#to_date').val();
if(from_date != '' && to_date != '')
{
$.ajax({
url: "/listPengeluaran?
from_date="+from_date+"&to_date="+to_date,
method: "GET",
data: {from_date:from_date, to_date:to_date},
success:function(data){
var tabel=""
for (let index = 0; index < data.length; index++) {
const element = data[index];
const no=index+1;
tabel+=
"<tr>"+
"<td>"+no+"</td>"+
"<td>"+element.name+"</td>"+
"<td>"+element.tgl_order+"</td>"+
"<td>"+element.modal+"</td>"+
"</tr>"
}
$("#isi").html(tabel)

}
})
120

}else{
alert('please insert the date');
}
})
});
</script>
@endsection
Kode Program 4. 50 Source Code View Report Transaksi Pengeluaran
Kode Program 4.50 merupakan kode program tampilan report transaksi
pengeluaran yang menggunakan stored procedure dari data pengeluaran yang
ditampilan ke dalam website

4.1.3.18 View Data Pegawai


Tampilan data pegawai adalah tampilan manager yang memperlihatkan data
pegawai yang dimiliki oleh jimbaran laundry.

Gambar 4. 18 View Data Pegawai


Gambar 4.18 merupakan tampilan data pegawai yang memperlihatkan
pegawai Jimbaran Laundry selain itu juga manager dapat menambahkan pegawai
dalam halaman ini.
121

@section('content')
<div class="content-wrapper">
<div class="container-fluid">
<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a >Data Pegawai</a>
</li>
</ol>

@include('include.pesan')

<div class="card mb-3">


<div class="card-header">
<i class="fa fa-group"></i> Pegawai

<span class="float-right">
<a data-toggle="modal" href="#tambahModal">
<i class="fa fa-plus"> Tambah Pegawai</i>
</a>
</span>

</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered"
id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="20px">No</th>
<th>Nama</th>
<th width="80px">Telp</th>
<th>Alamat</th>
<th>Email</th>
<th width="60px">Jabatan</th>
<th width="50px">Action</th>
</tr>
</thead>
<tbody>
<?php $no=0 ;?>
@foreach($pegawai as $row)
<?php $no++ ;?>
<tr>
<td>{{$no}}</td>
<td>{{$row->name}}</td>
<td>{{$row->telp}}</td>
<td>{{$row->alamat}}</td>
<td>{{$row->email}}</td>
<td>{{$row->role->name}}</td>
<td>
<button type="button" class="btn btn-
success col-md-12" data-toggle="modal" data-
target="#editModal_{{$row->id}}"><i class="fa
fa-edit"></i></button>
122

<!--Edit Modal-->
<div class="modal fade"
id="editModal_{{$row->id}}" tabindex="-1" role="dialog" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"
role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#56ab2f; color:#fff">
<h5 class="modal-title"
id="tambahModalLabel">Edit Pegawai</h5>
<button type="button"
class="close" data-dismiss="modal" aria-label="Close" >
<span aria-
hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="register-form"
action="/pegawaiM/{{$row->id}}" method="POST" >
{{csrf_field()}}
{{method_field('PUT')}}

<div class="form-group">
<input type="text"
name="name" id="name" tabindex="1" class="form-control"
value="{{$row->name}}" required>
</div>

<div class="form-group">
<input type="email"
name="email" id="email" tabindex="1" class="form-control"
value="{{$row->email}}" required>
</div>

<div class="form-group">
<textarea name="alamat"
id="alamat" row="3" tabindex="1" class="form-control"
required>{{$row->alamat}}</textarea>
</div>

<div class="form-group">
<input type="text"
name="telp" id="telp" tabindex="1" class="form-control"
value="{{$row->telp}}" maxlength="12" required>
</div>

<div class="form-group">
<select name="role"
id="role" class="form-control">
@foreach($role as $row)
<option value="{{$row-
123

>id}}">{{$row->name}}</option>
@endforeach
</select>
</div>

<div class="form-group float-


right">
<div class="row">
<div class="col-sm-3
col-sm-offset-12">
<button
type="submit" class="btn btn-success">Edit</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</td>

</tr>
@endforeach
</tbody>

</table>

<!--Tambah Modal-->
<div class="modal fade" id="tambahModal"
tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#56ab2f; color:#fff">
<h5 class="modal-title"
id="tambahModalLabel">Tambah Pegawai</h5>
<button type="button" class="close" data-
dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="register-form"
action="/pegawaiM" method="POST" >
{{ csrf_field() }}

<div class="form-group {{ $errors-


>has('name') ? ' has-error' : '' }}">
<input type="text" name="name"
id="name" tabindex="1" class="form-control" placeholder="Name"
value="{{ old('name') }}" required>
124

@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors-
>first('name') }}</strong>
</span>
@endif
</div>

<div class="form-group{{ $errors-


>has('email') ? ' has-error' : '' }}">
<input type="email" name="email"
id="email" tabindex="1" class="form-control" placeholder="Email
Address" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors-
>first('email') }}</strong>
</span>
@endif
</div>

<div class="form-group {{ $errors-


>has('alamat') ? ' has-error' : '' }}">
<textarea name="alamat" id="alamat"
row="3" tabindex="1" class="form-control" placeholder="Address"
required>{{ old('alamat') }}</textarea>
@if ($errors->has('alamat'))
<span class="help-block">
<strong>{{ $errors-
>first('alamat') }}</strong>
</span>
@endif
</div>

<div class="form-group {{ $errors-


>has('telp') ? ' has-error' : '' }}">
<input type="text" name="telp"
id="telp" tabindex="1" class="form-control" placeholder="Telephone
Number" value="{{ old('telp') }}" maxlength="12" required>

@if ($errors->has('telp'))
<span class="help-block">
<strong>{{ $errors-
>first('telp') }}</strong>
</span>
@endif
</div>

<div class="form-group">
<select name="role" id="role"
class="form-control">
@foreach($role as $row)
<option value="{{$row-
>id}}">{{$row->name}}</option>
125

@endforeach
</select>
</div>

<div class="form-group">
<h6>Password: 12345678</h6>
</div>

<div class="form-group float-right">


<div class="row">
<div class="col-sm-3 col-sm-
offset-12">
<button type="submit"
class="btn btn-success">Tambah</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>

</div>
</div>
</div>
@endsection
Kode Program 4. 51 Source Code View Data Pegawai
Kode Program 4.51 merupakan kode program tampilan data pegawai yang
menampilkan tabel untuk menaruh data pegawai yang terdapat dalam database
sistem.

4.1.3.19 View Profile User


Tampilan profile user merupakan tampilan pengguna yang memperlihatkan
informasi diri pengguna tersebut.
126

Gambar 4. 19 View Profile User


Gambar 4.19 merupakan tampilan profile user yang memperlihatkan
informasi pengguna selain itu pengguna juga dapat mengganti informasi yang
diberikan serta melihat riwayat transaksi yang telah dilakukan.
127

@section('content')
<form action="/profile/{{Auth::user()->id}}" method="POST">
{{ csrf_field() }}
{{method_field('PUT')}}

<div class="col-md-9 admin-content" id="profile" >


<div class="panel panel-primary" style="background:
azure;margin-top:20px">
<div class="panel-heading">
<div class="panel-title">Profile</div>
</div>
<div class="panel panel-info" style="margin:
1em;background: azure;">
<div class="panel-heading">
<h3 class="panel-title">Nama</h3>
</div>
<div class="panel-body">
<input type="text" name="name" id="name"
class="form-control" value="{{Auth::user()->name}}">
</div>
</div>
<div class="panel panel-info" style="margin:
1em;background: azure;">
<div class="panel-heading">
<h3 class="panel-title">Email</h3>
</div>
<div class="panel-body">
<input type="email" name="email" id="email"
class="form-control" value="{{Auth::user()->email}}">
</div>
</div>
<div class="panel panel-info" style="margin:
1em;background: azure;">
<div class="panel-heading">
<h3 class="panel-title">Alamat</h3>

</div>
<div class="panel-body">
<textarea name="alamat" row="3"
id="alamat" class="form-control"
>{{Auth::user()->alamat}}</textarea>
</div>
</div>

<div class="panel panel-info" style="margin:


1em;background: azure;">
<div class="panel-heading">
<h3 class="panel-title">Telp</h3>

</div>
<div class="panel-body">
<input type="text" name="telp" id="telp"
class="form-control" value="{{Auth::user()->telp}}" maxlength="12">
</div>
128

</div>

<div class="panel-body ">


<button class="btn btn-primary form-control"
type="submit">Save</button>
</div>
</div>
</div>
</form>

<div class="col-md-9 admin-content" id="change-password" >


<form action="/password/{{Auth::user()->id}}"
method="POST">
{{ csrf_field() }}
{{method_field('PUT')}}
<div class="panel panel-primary" style="background:
azure;margin-top:20px">
<div class="panel-heading">
<div class="panel-title">Change
Password</div>
</div>
<div class="panel panel-info" style="margin:
1em;background: azure;">
<div class="panel-heading">
<div class="panel-title">New
Password</div>
</div>
<div class="panel-body">
<div class="form-group">
<input id="password"
type="password" class="form-control" name="password"
placeholder="Password" required>

@if ($errors-
>has('password'))
<span class="help-
block">
<strong>{{ $errors-
>first('password') }}</strong>
</span>
@endif
</div>

</div>
</div>

<div class="panel panel-info" style="margin:


1em;background: azure;">
<div class="panel-heading">
<div class="panel-title">Confirm
password</div>
</div>
<div class="panel-body">
129

<div class="form-group">
<input id="password-confirm"
type="password" class="form-control" placeholder="Confirm Password"
name="password_confirmation" required>
</div>
</div>
</div>
<div class="panel-body">
<button type="submit" class="btn
btn-primary form-control">Save</button>
</div>
</div>
</form>
</div>

<div class="col-md-9 admin-content" id="transaksi">


<div class="panel panel-primary"
style="background: azure;margin-top:20px">
<div class="panel-heading">
<div class="panel-title">Riwayat
Transaksi</div>
</div>
<div class="panel panel-info"
style="margin: 1em;">
<div class="card mb-3"
style="margin-top:15px; margin-bottom:10px">
<div class="card-body">
<div class="table-
responsive">
<table class="table
table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>No</th>
<th>Tanggal</th>
<th>Total</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@php(
$no = 0
)
@foreach($table as
$row)
@php(
$no++
)
<tr>
<td>{{$no}}</td>
<td>{{$row-
>tgl_order}}</td>
<td>{{$row-
130

>det_transaksi->sum('total_bayar')}}</td>
<td><span
class="label label-success
col-md-12">{{$row->status_order}}</span></td>
<td>
<a class="btn
btn-info col-md-12" href="/profile/{{$row->id}}" title="Detail
Transaksi"><i class="fa fa-eye"></i></button>
</td>
</tr>
@endforeach
</tbody>

</table>
</div>
</div>
</div>
</div>
</div>

</div>

<div class="col-md-9 admin-content" id="logout">


<div class="panel panel-primary"
style="background: azure;margin-top:20px">
<div class="panel-heading">
<div class="panel-title">Log
Out</div>
</div>
<div class="panel panel-info" style="margin:
1em;background: azure;">
<div class="panel-heading">
<h3 class="panel-title">Confirm Logout</h3>
</div>
<div class="panel-body">
Do you really want to logout ?  
<a href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-
form').submit();" class="btn btn-danger">
<span >   Yes   </span>
</a>
<form id="logout-form"
action="{{ route('logout') }}" method="POST" style="display:
none;">
{{ csrf_field() }}
</form><a href="/profile" class="btn btn-
success"> <span >  No   </span></a>
</div>
<form id="logout-form" action="#" method="POST"
style="display: none;">
</form>
131

</div>
</div>
</div>
@endsection
Kode Program 4. 52 Source Code View Profile User
Kode Program 4.52 merupakan kode program tampilan profile user yang
terdapat tabel berisikan informasi user dan juga riwayar transaksi yang terjadi semua
tetap tersimpan di dalam database.

4.1.3.20 View Order


Tampilan order merupakan tampilan pengguna yang sudah terdaftar dan
login kemudian akan melakukan order ke jimbaran laudry.

Gambar 4. 20 View Order


Gambar 4.20 merupakan tampilan order dimana pengguna dapat memasukkan
pesan khusus kepada pegawai mengenai paket atau hal apa yang diinginkan
pelanggan.
132

<!--==========================
Order Section
============================-->
@guest

@else
<section id="order">
<div class="container">
<div class="row about-container">

<div class="col-lg-6 content order-lg-1


order-2">
<h2 class="title">Order</h2>

<form method="POST" action="/user" >


{{csrf_field()}}
<div class="form-group">
<label><i class="fa fa-address-card-o
fa" aria-hidden="true"></i> Nama</label>
<input type="text" name="name"
class="form-control" id="name" value="{{Auth::user()->name}}"
readonly />
<div class="validation"></div>
</div>
<div class="form-group">
<label><i class="fa fa-home fa" aria-
hidden="true"></i> Alamat </label>
<textarea class="form-control"
name="alamat" id="alamat" rows="3" data-msg="Please enter a valid
address" readonly>{{Auth::user()->alamat}}</textarea>
<div class="validation"></div>
</div>
<div class="form-group">
<label><i class="fa fa-phone fa"
aria-hidden="true"></i> Telp </label>
<input type="text" name="telp"
class="form-control" id="telp" value="{{Auth::user()->telp}}" data-
rule="required" data-msg="Masukkan No Telephone Anda"
maxlength="12" readonly/>
<div class="validation"></div>
</div>
<div class="form-group">
<label><i class="fa fa-sticky-note-o
fa" aria-hidden="true"></i> Memo</label>
<textarea class="form-control"
name="message" rows="5" placeholder="Memo"></textarea>
<div class="validation"></div>
</div>
<div class="text-center"><button
type="button" data-toggle="modal" data-target="#exampleModal"
class="btn btn-success btn-block ">Order</button></div>

<!--Order Modal-->
<div class="modal fade"
133

id="exampleModal" tabindex="-1" role="dialog" aria-


labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"
role="document">
<div class="modal-content">
<div class="modal-header"
style="background-color:#159957; color:#fff">
<h5 class="modal-title"
id="exampleModalLabel">Order</h5>
<button class="close"
type="button" data-dismiss="modal" aria-label="Close">
<span aria-
hidden="true">×</span>
</button>
</div>
<div class="modal-body">Apakah
Anda Ingin Melanjutkan Pemesanan?</div>
<div class="modal-footer">
<button class="btn btn-
secondary" type="button" data-dismiss="modal">Cancel</button>
<button class="btn btn-
success" type="submit" >OK</button>
</div>
</div>
</div>
</div>

</form>
</div>
<div class="col-lg-6 background order-lg-
2 order-1 wow fadeInRight"></div>
</div>

</div>
</section>
@endguest
Kode Program 4. 53 Source Code View Order
Kode Program 4.53 merupakan kode program tampilan order yang dapat
melakukan order dan pesan tambahan kepada pegawai, setelah order makan akan
muncul tabel status order pelanggan tersebut.

4.1.3.21 View Transaksi


Tampilan transaksi merupakan tampilan pengguna dapat melihat status
transaksi yang telah di order sebelumnya.
134

Gambar 4. 21 View Transaksi


Gambar 4.21 merupakan tampilan transaksi yang akan memperlihatkan
transaksi yang sudah dilakukan oleh pelanggan dan melihat status order-an tersebut.
135

@if($table->count('id') > 0)
<!--==========================
Riwayat Section
============================-->
<section id="riwayat">
<div class="container wow fadeIn">
<div class="section-header">
<h3 class="section-title">Transaksi</h3>
<p class="section-description-p">Jimbaran
Laundry</p>
</div>

<div class="col-md-12 col-md-offset-3">


<div class="card mb-3">
<div class="card-body">
<div class="table-
responsive">
<table class="table table-
bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>No</th>
<th>Admin</th>
<th>Paket</th>
<th>Total</th>
<th
width="120px">Status</th>
</tr>
</thead>
<tbody>
@php(
$no = 0
)
@foreach($table as
$row)
@php(
$no++
)
<tr>
<td>{{$no}}</td>
<td>{{$row->admin-
>name}}</td>
<td>{{$row-
>nama_paket}}</td>
<td>{{$row-
>total_bayar}}</td>
@if($row-
>status_order == 'order')
<td><span
class="badge badge-warning
col-md-12">{{$row->status_order}}</span></td>
@elseif($row-
>status_order == 'proses')
<td><span
136

class="badge badge-primary
col-md-12">{{$row->status_order}}</span></td>
@elseif($row-
>status_order == 'batal')
<td><span
class="badge badge-danger
col-md-12">{{$row->status_order}}</span></td>
@else
<td><span
class="badge badge-success
col-md-12">{{$row->status_order}}</span></td>
@endif
</tr>
@endforeach
</tbody>

</table>
</div>
</div>
</div>
</div>
</div>
</section><!-- #transaksi -->
@else
Kode Program 4. 54 Source Code View Transaksi
Kode Program 4.54 merupakan kode program tampilan transaksi yang
menampilkan riwayat transaksi dari pelanggan dalam bentuk tabel.

4.2 Uji Coba


Pada sub bab ini akan dilakukan pengujian dan hasil dari sistem aplikasi yang
telah dibuat, yang digunakan untuk memperjelas tentang halaman-halaman yang ada
pada aplikasi Pemesanan Jasa Laundry berbasis web. Sehingga hasil implementasinya
dapat dilihat sesuai dengan hasil program yang telah dibuat. Halaman terdiri dari 3
bagian yaitu halaman untuk user, admin dan untuk manager. Berikut adalah hasil uji
coba dari seluruh fitur.
4.2.1 User
Halaman untuk user dapat diakses jika user atau calon pengguna jasa laundry
mendaftarkan diri ataupun login sebagai user. Adapun pada halaman ini user hanya
dapat melakukan pemesanan jasa laundry yang diinginkan dan mengetahui riwayat
pemesanan jasanya.
137

4.2.1.1 Halaman Home


Halaman home ini merupakan halaman yang digunakan sebagai halaman awal
untuk user. Halaman home dapat dilihat pada gambar berikut ini.

Gambar 4. 22 Halaman Home


Gambar 4.22 merupakan Halaman Home. Halaman home ini merupakan
halaman yang digunakan sebagai halaman awal untuk user. Halaman home
merupakan awal dari segala action user pada aplikasi berbasis web ini.

4.2.1.2 Halaman Login dan Register


Halaman Login dan register merupakan halaman login dan register bagi user.
Login dan register harus dilakukan sehingga dapat mengakses menu utama. Pada
halaman ini sebelum login user harus meng-input kan username dan password yang
valid atau jika user belum memiliki akun sebelumnya dapat melakukan register
terlebih dahulu. Halaman Login dan Register dapat dilihat pada gambar berikut ini.
138

Gambar 4. 23 Halaman Login dan Register


Gambar 4.23 merupakan Halaman Login dan Register. Halaman Login dan
register merupakan halaman login dan register bagi user. Login dan register harus
dilakukan sehingga user dapat mengakses menu utama.

4.2.1.3 Halaman Pemesanan


Halaman pemesanan ini merupakan menu utama bagi user. Pada halaman ini
user dapat meng-input kan pesanan jasa laundry yang diinginkan disertakan dengan
catatan khusus yang dapat dicantumkan oleh user. Halaman pemesanan dapat dilihat
pada gambar berikut ini.
139

Gambar 4. 24 Halaman Pemesanan

Gambar 4.24 merupakan Halaman Pemesanan. Pada halaman ini user dapat
meng-input kan pesanan jasa laundry yang diinginkan disertakan dengan catatan
khusus yang dapat dicantumkan oleh user.
Setelah user berhasil melakukan pemesanan maka selanjutnya user akan
diarahkan langsung pada halaman riwayat pemesanan user. Halaman riwayat
pemesanan user adalah sebagai gambar berikut.

Gambar 4. 25 Halaman Riwayat Pemesanan User


140

Gambar 4.25 merupakan Halaman Riwayat pemesanan user. Segala


pemesanan yang sedang dilakukan ataupun yang telah dilakukan user akan tersimpan
disini.

4.2.2 Pegawai
Halaman untuk pegawai dapat diakses jika pegawai sudah memiliki akun agar
user lain selain pegawai tidak dapat masuk ke proses. Adapun pada halaman ini
pegawai dapat melakukan transaksi dan update status untuk user.
4.2.2.1 Halaman Login
Halaman login ini merupakan halaman untuk login pegawai. Halaman ini
tidak dapat diakses oleh user lain agar tidak terjadi hal-hal yang tidak diinginkan.
Adapun halamannya adalah sebagai berikut.

Gambar 4. 26 Halaman Login Pegawai


Gambar 4.26 merupakan Halaman Login Admin. Dimana yang dapat masuk
khusus untuk para admin yang memiliki akun khusus.
141

4.2.2.2 Halaman Home


Halaman Home ini merupakan halaman home khusus Admin yang memiliki
peran sebagai pegawai. Adapun halaman halaman home adalah sebagai berikut.

Gambar 4. 27 Halaman Home Pegawai


Gambar 4.27 merupakan halaman home pegawai yang digunakan untuk
melihat order-an yang masuk. Pada halaman ini pegawai dapat melakukan proses
terhadap order-an dari user pelanggan.

4.2.2.3 Halaman Transaksi


Halaman transaksi digunakan oleh pegawai untuk memperbaharui status
order-an dari user pelanggan. Adapun halaman Halaman Transaksi adalah sebagai
berikut.
142

Gambar 4. 28 Halaman Transaksi


Gambar 4.28 merupakan halaman transaksi dimana pegawai dapat melakukan
action terhadap order-an yang masuk. Kemudian pegawai melakukan action akan
muncul halaman seperti berikut.

Gambar 4. 29 Halaman Detail Transaksi


143

Gambar 4.29 merupakan halaman halaman detail transaksi dimana pada


proses ini pegawai dapat melakukan update jika order-an telah diproses. Jika order-
an telah diproses maka pada halaman user akan muncul halaman seperti berikut.

Gambar 4. 30 Halaman Home User


Gambar 4.30 merupakan halaman home user. Dimana setelah pegawai
melakukan update terhadap orderannya. Maka pada user akan muncul menu
transaksi. Jika belum dilakukan proses oleh pegawai pada user tidak akan muncul
menu Transaksi.
144

Gambar 4. 31 Proses Transaksi


Gambar 4.31 merupakan proses transaksi pembayaran sesuai dengan paket
yang dipilih. Pada halaman ini pegawai menginputkan berapa biaya yang dibayarkan
145

oleh user pelanggan untuk kemudian dilakukan proses pembayaran dan jika sudah
dibayarkan maka akan muncul halaman seperti berikut.

Gambar 4. 32 Halaman Lunas


Gambar 4.32 merupakan halaman akhir dari pegawai. Jika user sudah
melakukan pembayaran maka proses sudah selesai dan pada halaman transaksi user
akan di-update seperti gambar berikut.
146

Gambar 4. 33 Transaksi Selesai


Gambar 4.33 menunjukan proses transaksi yang sudah selesai. Dimana semua
proses sudah selesai dan tinggal menunggu proses pengiriman barang user pelanggan.

4.2.3 Manager
Manager tidak dapat melihat bagaimana jalannya proses. Manager hanya
dapat melihat statistic maupun data data berupa Pendapatan, Pegawai, dan Member.
Adapun halaman pada manager adalah sebagai berikut.
4.2.3.1 Halaman Login
Halaman login ini merupakan halaman untuk login manager. Halaman ini
tidak dapat diakses oleh user ataupun pegawai lain agar tidak terjadi hal-hal yang
tidak diinginkan. Adapun halamannya adalah sebagai berikut.
147

Gambar 4. 34 Halaman Login Manager

Gambar 4.34 merupakan Halaman Login Manager. Dimana yang dapat masuk
khusus adalah manager.

4.2.3.2 Halaman Home Manager


Halaman Home ini merupakan halaman home khusus Admin yang memiliki
peran sebagai manager. Adapun halaman halaman home adalah sebagai berikut.
148

Gambar 4. 35 Halaman Home Manager


Gambar 4.35 merupakan halaman home manager yang digunakan untuk
melihat order-an yang masuk. Pada halaman ini manager dapat melihat jumlah
pegawai, member dan keuntungan perusaaan.

4.2.3.3 Halaman Report Transaksi


Halaman ini merupakan kumpulan data transaksi semua user yang dapat
dilihat dengan rentang waktu yang dapat disesuaikan.
149

Gambar 4. 36 Halaman Report Transaksi


Gambar 4.36 merupakan Halaman Report Transaksi. Halaman ini merupakan
kumpulan data transaksi semua user yang dapat dilihat dengan rentang waktu yang
dapat disesuaikan.

4.2.3.4 Halaman Data Member


Halaman Data Member merupakan kumpulan data member yang telah
terdaftar pada sistem. Kumpulan Data Member ini hanya dapat dilihat oleh manager.
150

Gambar 4. 37 Halaman Data Member


Gambar 4.37 merupakan halaman Data Member. Halaman ini berisikan data-
data member yang telah terdaftar pada sistem

4.2.3.5 Halaman Data Pegawai


Halaman Data Pegawai merupakan kumpulan data pegawai yang telah
terdaftar pada sistem. Kumpulan Data Pegawai ini hanya dapat dilihat oleh manager.
151

Gambar 4. 38 Halaman Data Pegawai


Gambar 4.38 merupakan halaman Data Pegawai. Halaman ini berisikan data-
data Pegawai yang terdaftar bekerja pada sistem.
BAB V
PENUTUP

Bab V merupakan bagian terakhir dari laporan yang berisi kesimpulan dan
saran. Kesimpulan adalah hasil suatu proposisi yang diambil dari hasil pemikiran dan
saran sendiri adalah sebuah solusi yang ditujukan untuk menyelesaikan
permasalahan yang dihadapi.
5.1 Simpulan
Simpulan yang dapat diambil berdasarkan pembuatan laporan Praktikum
Pemrograman Internet adalah sebagai berikut.
1. Rancangan web laundry yang dibuat dengan menggunakan bahasa PHP
dengan framework Laravel yang didukung oleh database untuk menyimpan
data pada web laundry.
2. Implementasi pada web laundry ini dimana terdapat tiga jenis pengguna yaitu
pengguna sebagai manager, pegawai dan member. Ketiga jenis pengguna ini
diharuskan untuk melakukan login sebelum dapat menjalankan fungsionalitas
yang terdapat pada web laundry. Pegawai memiliki lingkup kerja untuk
melakukan maintenance terhadap web laundry dan juga untuk mengelola
proses transaksi. Pengguna yang merupakan member hanya memiliki hak
akses untuk melakukan order. Manager hanya dapat melihat jumlah
pendapatan, pengeluaran serta data member dan data pegawai.

5.2 Saran
Adapun saran-saran yang dapat diambil melalui laporan Praktikum
Pemrograman Internet yang dilaksanakan sejauh ini sudah berjalan dengan baik dan
lancer, namun masih terdapat beberapa kendala seperti, program yang masih banyak
kekurangan. Penulisan kode program agar dibuat lebih teliti dan perlu dilakukan
pemformatan tulisan-tulisan baik tata cara pencetakannya serta jenis tulisan yang
dipergunakan untuk membuat halaman web yang rapi dan menarik.

152
DAFTAR PUSTAKA

[1] Wikibuku, tahun 2017, Pemrograman PHP, dilihat pada 2 mei 2018

<https://id.wikibooks.org/wiki/Pemrograman_PHP/Pendahuluan/Pengertian_PHP>

[2] Andre, tahun 2014, Tutorial PHP, dilihat pada 2 mei 2018

<https://www.duniailkom.com/pengertian-dan-fungsi-php-dalam-pemograman-
web/>

[3] Irmayani, Pengertian PHP, dilihat pada 2 mei 2018

<https://www.nesabamedia.com/pengertian-php-dan-fungsinya/>

[4] Wikipedia, tahun 2016, MySql, dilihat pada 5 mei 2018

<https://id.wikipedia.org/wiki/MySQL>

[5] Firmansyah, Pengertian MySql, dilihat pada 5 mei 2018

<https://www.nesabamedia.com/pengertian-mysql/>

[6] Wikipedia, tahun 2016, Sistem Informasi, dilihat pada 10 mei 2018

<https://id.wikipedia.org/wiki/Sistem_informasi>

[7] Muhammad Zakaria, Pengertian Internet, dilihat pada 10 mei 2018

<https://www.nesabamedia.com/pengertian-fungsi-dan-manfaat-internet-lengkap/>

[8] M. Safardi, tahun 2017, Pengertian Pemrograman Web, dilihat pada 10 mei
2018
<http://www.programakita.com/2017/02/pengertian-pemrograman-web.html>
[9] Dwiki Andika, tahun 2016, Pengertian CSS, dilihat pada 10 mei 2018

<https://www.it-jurnal.com/pengertian-css-cascading-style-sheet/>

[10] Andre, tahun 2014, Tutorial Belajar Javascript, dilihat pada 12 mei 2018

<https://www.duniailkom.com/tutorial-belajar-javascript-pengertian-dan-fungsi-
javascript-dalam-pemograman-web/>

[11] Inospr, Kenali Pengertian Website, dilihat pada 12 mei 2018

<https://www.nesabamedia.com/pengertian-website/>

Anda mungkin juga menyukai