PENULISAN ILMIAH
UNIVERSITAS GUNADARMA
2022
PERNYATAAN ORIGINALITAS DAN PUBLIKASI
Menyatakan bahwa tulisan ini adalah merupakan hasil karya saya sendiri dan dapat
dipublikasikan sepenuhnya oleh Universitas Gunadarma. Segala kutipan dalam
bentuk apa pun telah mengikuti kaidah, etika yang berlaku. Mengenai isi dan tulisan
adalah merupakan tanggung jawab Penulis, bukan Universitas Gunadarma.
Demikian pernyataan ini dibuat dengan sebenarnya dan dengan penuh kesadaran.
ii
LEMBAR PENGESAHAN
Menyetujui
Pembimbing Koordinator PI
Ketua Jurusan
iii
ABSTRAK
iv
KATA PENGANTAR
Dengan mengucapkan segala puji dan syukur kepada Allah SWT, karena
hanya dengan rahmat dan hidayah-Nya penulisan ilmiah yang berjudul
“Perancangan Website Toko Buku LIVEFORBOOKS Menggunakan PHP dan
MYSQL” dapat diselesaikan. Penulisan ilmiah ini disusun guna melengkapi
sebagian syarat dalam mencapai gelar setara Sarjana Muda pada jurusan
Informatika, Universitas Gunadarma.
Penulis menyadari bahwa penulisan ini tidak dapat berjalan dengan lancar
tanpa adanya bantuan dan dukungan dari berbagai pihak. Pada kesempatan ini,
penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua
pihak yang telah membantu penulis dalam menyelesaikan Penulisan Ilmiah ini,
terutama kepada :
1. Ibu Prof. Dr. Hj. E. S. Margianti, SE., MM. selaku Rektor Universitas
Gunadarma.
2. Bapak Prof. Dr.-Ing. Adang Suhendra S.Si., S.Kom., M.Sc. selaku Dekan
Fakultas Teknologi Industri, Universitas Gunadarma.
3. IBu Dr. Lintang Yuniar Banowosari, SKom., M.Sc., selaku Ketua Jurusan
Informatika.
4. Bapak Dr. Achmad Fahrurozi, S.Si, M.Si., selaku Koordinator PI.
5. Ibu Hurnaningsih, SKOM, MM., selaku dosen pembimbing yang telah banyak
memberikan bimbingan, arahan dan waktunya kepada penulis selama proses
pembuatan Penulisan Ilmiah ini berlangsung hingga selesai.
6. Ayah dan Ibu, yang telah memberikan dorongan, motivasi dan doa’nya hingga
penulis dapat menyelesaikan Penulisan Ilmiah ini.
v
Akhir kata penulis ucapkan terima kasih kepada semua pihak yang telah
membantu dalam penulisan ini. Semoga dapat memberi sumbangan bagi
perkembangan dan pemanfaatan teknologi informasi.
Penulis
vi
DAFTAR ISI
Halaman
LEMBAR JUDUL ……………………….…………………………..……… i
PERNYATAAN ORIGINALITAS DAN PUBLIKASI…………………….. ii
LEMBAR PENGESAHAN………………………………………………….. iii
ABSTRAKSI…………………………………………………………………. iv
KATA PENGANTAR………………………………………………………... v
DAFTAR ISI …………………………..……………………………………. vii
DAFTAR GAMBAR ………………….…………………………………….. xi
DAFTAR TABEL ………………………………………………………...…. xiii
DAFTAR LAMPIRAN …………………………………………………...…. xiv
BAB I PENDAHULUAN…………………………………………………… 1
1.1. Latar Belakang……………………………………………………… 1
1.2. Batasan Masalah ……………………………………………………. 3
1.3. Tujuan Penelitian……………………………………………………. 3
1.4. Metode Penelitian ………………………………………………….. 3
1.5. Sistematika Penulisan ………………………………………………. 4
vii
2.8.1. Use Case Diagram….…………………………………………. 13
2.8.2. Class Diagram……...…………………………………………. 14
2.9. Struktur Navigasi………………..…………………………………... 15
2.9.1. Bentuk-Bentuk Dasar Struktur Navigasi…………………….... 15
2.9.1.1. Linier……………………................................................... 15
2.9.1.2. Hirarki…………………….................................................. 15
2.9.1.3. Non Linier……………………............................................ 16
2.9.1.4. Campuran……………………............................................. 16
viii
3.2.5.1.1. Rancangan Halaman Login……………………….. 27
3.2.5.1.2. Rancangan Halaman Dashboard…………………... 27
3.2.5.1.3. Rancangan Halaman Buku…..…...………………... 28
3.2.5.1.4. Rancangan Halaman Pesanan Masuk……………… 28
3.2.5.1.5. Rancangan Halaman User..………………………... 29
3.2.5.1.6. Rancangan Halaman Kategori……………………... 30
3.2.5.1.7. Rancangan Halaman Setting……………………….. 30
3.2.5.2. Rancangan Pelanggan………………………..……….. 31
3.2.5.2.1. Rancangan Halaman Login………………………... 31
3.2.5.2.2. Rancangan Halaman Beranda User………………... 31
3.2.5.2.3. Rancangan Halaman Kategori……………………... 32
3.2.5.2.4. Rancangan Halaman Keranjang Belanja…………… 32
3.2.5.2.5. Rancangan Halaman Checkout..………………….... 33
3.2.5.2.6. Rancangan Halaman Pesanan Saya……………….... 33
3.2.5.2.7. Rancangan Halaman Konfirmasi Pembayaran……... 34
3.3. Pembuatan Website ……..……………….…………...……...……..… 34
3.3.1. Koneksi Database………………………………………………. 35
3.3.2. Pembuatan Halaman Admin……………………………………. 35
3.3.2.1. Pembuatan Halaman Login…………………………….. 35
3.3.2.2. Pembuatan Halaman Dashboard……………………….. 37
3.3.2.3. Pembuatan Halaman Buku……………………………... 40
3.3.2.4. Pembuatan Halaman Pesanan Masuk…………………... 46
3.3.2.5. Pembuatan Halaman Laporan………………………….. 47
3.3.2.6. Pembuatan Halaman Setting…………………………… 50
3.3.2.7. Pembuatan Halaman User……………………………… 51
3.3.3. Pembuatan Halaman Pelanggan………………...………………. 54
3.3.3.1. Pembuatan Halaman Beranda………………………….. 54
3.3.3.2. Pembuatan Halaman Login…………………………….. 55
3.3.3.3. Pembuatan Halaman Detail Buku……………………… 59
3.3.3.4. Pembuatan Halaman Keranjang Belanja………………. 60
3.3.3.5. Pembuatan Halaman Kontak…………..……………...... 62
ix
3.3.3.6. Pembuatan Halaman Checkout………..……………….. 63
3.3.3.7. Pembuatan Halaman Pesanan Saya……………..……… 65
3.4. Implementasi Website ………………………………………………. 68
3.4.1. Web Hosting………………………….…………………………. 68
3.4.1.1. Mendaftar Web Hosting Gratis……………..……..…… 68
3.4.1.2. Upload File……………………………………...……… 69
3.5. Uji Coba Aplikasi Menggunakan Black Box Testing………………….. 72
DAFTAR PUSTAKA…………………………………………………..…… 79
x
DAFTAR GAMBAR
Gambar Halaman
Gambar 2.1 Contoh Diagram Use Case ……………………………………… 14
Gambar 2.2 Navigasi Linier ………………………………………………… 15
Gambar 2.3 Navigasi Hirarki ……………………..…………………………. 15
Gambar 2.4 Navigasi Non Linier ……………………………………………. 16
Gambar 2.5 Navigasi Campuran .……………………………………………. 16
Gambar 3.1 Struktur Navigasi User …………………………………………. 18
Gambar 3.2 Struktur Navigasi Admin ……………………………………… 19
Gambar 3.3 Use Case User…………………………………………………… 20
Gambar 3.4 Use Case Admin…………………...……………………………. 20
Gambar 3.5 Class Diagram……………………...…………………………… 21
Gambar 3.6 Rancangan Tampilan Halaman Login…………………………... 27
Gambar 3.7 Rancangan Tampilan Dashboard Admin …...…………………. 28
Gambar 3.8 Rancangan Halaman Buku….…...……..……………………….. 28
Gambar 3.9 Rancangan Tampilan Halaman Pesanan Masuk ……..………. 29
Gambar 3.10 Rancangan Tampilan Halaman User ………………………….. 29
Gambar 3.11 Rancangan Tampilan Halaman Kategori……………………..... 30
Gambar 3.12 Rancangan Tampilan Halaman Setting ………...……………… 30
Gambar 3.13 Rancangan Tampilan Halaman Login …………………...…….. 31
Gambar 3.14 Rancangan Tampilan Halaman Beranda ……………………..... 31
Gambar 3.15 Rancangan Tampilan Halaman Kategori ……………………… 32
Gambar 3.16 Rancangan Tampilan Halaman Keranjang Belanja ………….. 32
Gambar 3.17 Rancangan Tampilan Halaman Checkout……………..………. 33
Gambar 3.18 Rancangan Tampilan Halaman Pesanan Saya ………………… 33
Gambar 3.19 Rancangan Tampilan Halaman Konfirmasi Pembayaran ….… 34
Gambar 3.20 Halaman Login Admin………………………………………… 35
Gambar 3.21 Tampilan Halaman Dashboard Admin ………………………. 37
Gambar 3.22 Tampilan Halaman Buku…. ……………….………………….. 40
Gambar 3.23 Tampilan Halaman Pesanan Masuk …………………………... 46
xi
Gambar 3.24 Tampilan Halaman Laporan ………………………………….. 47
Gambar 3.25 Tampilan Halaman Setting…….………………………………. 50
Gambar 3.26 Tampilan Halaman User ………………………………………. 51
Gambar 3.27 Tampilan Beranda …………………………………………...... 54
Gambar 3.28 Tampilan Halaman Login …….……………………...………... 55
Gambar 3.29 Tampilan Halaman Detail Buku... …………………………….. 59
Gambar 3.30 Tampilan Halaman Keranjang Belanja ……………………… .. 60
Gambar 3.31 Tampilan Halaman Kontak ………………….……………….... 62
Gambar 3.32 Tampilan Halaman Checkout …….……………………………. 63
Gambar 3.33 Tampilan Halaman Pesanan Saya……………………..……….. 65
Gambar 3.34 Membuat nama website yang diinginkan ………………..…….. 69
Gambar 3.35 Mengupload file…………..………………………………….…. 69
Gambar 3.36 Impor Database …………………..…………………..……….... 70
Gambar 3.37 Input nama database …….……………………..…….................. 71
Gambar 3.38 Tampilan website ………….…...……………………………..... 72
xii
DAFTAR TABEL
Tabel Halaman
Tabel 3.1 Tabel tb_user(Admin) ……………………………………………. 22
Tabel 3.2 Tabel tb_rekening……. ………………………………………….. 22
Tabel 3.3 Tabel tb_buku……. ……………………………………………….. 23
Tabel 3.4 Tabel tb_pelanggan ……………………………………………….. 23
Tabel 3.5 Tabel tb_kategori………………………………………………….. 24
Tabel 3.6 Tabel tb_gambar……. …………………………………………… 24
Tabel 3.7 Tabel tb_transaksi………... ……………………………………… 25
Tabel 3.8 Tabel tb_rinci_transaksi……….……………………………...…… 26
Tabel 3.9 Tabel tb_setting……………………………………………...…….. 26
Tabel 3.10 Uji Coba Black Box Admin…. ……………………………...….. 73
Tabel 3.11 Uji Coba Black Box Pelanggan …………………………….......... 75
xiii
DAFTAR LAMPIRAN
Halaman
A. Listing Program.....…..…………………………………………………… L-1
B. Tampilan Output…………………………………………………….…..,,. L-44
xiv
BAB I
PENDAHULUAN
1
2
Dari dulu sampai sekarang, buku memegang peranan sangat vital bagi
manusia. Tanpa buku, mungkin manusia akan tetap hidup seperti manusia pra
sejarah yang banyak mengandalkan hidupnya dari alam. Tanpa buku, tidak
mungkin manusia mencapai kehidupan modern seperti sekarang ini. Di bukulah
orang-orang pintar dunia menuliskan pengalaman, pemikiran, dan teori-teori
mereka. Itulah yang dimanfaatkan oleh orang-orang sesudahnya. Makin lama
makin dikembangkan, dan jadilah pengetahuan dan teknologi seperti sekarang
yang manfaatnya telah dirasakan oleh hampir seluruh umat manusia.
1.2.Batasan Masalah
1.3.Tujuan Penelitian
Tujuan dari penulisan ilmiah ini adalah membuat website toko buku
LIVEFORBOOKS menggunakan PHP dan MySQL yang meliputi penjualan
buku dan pemesanan buku yang dapat digunakan dan dapat diakses dengan
mudah.
1.4.Metode Penelitian
1. Perencanaan
Penelitian ini dibuat dengan menggunakan perangkat keras dan
perangkat lunak. Perangkat keras yang diguanakan adalh satu unit
laptop MSI GF65 Thin dengan Sistem Operasi Windows 10 Home
Single Languange dengan Processor Intel Core i7 10750H dengan
kecepatan 2.60GHz , RAM 16 GB, GPU NVIDIA GTX 1660 Ti 6GB,
SSD 512 GB. Perangkat lunak yang dibutuhkan adalah Windows 10,
Framework CodeIgniter 4, XAMPP, Boostrap 4, Visual Studio Code,
StarUML, Google Chrome.
2. Analisis
Pada tahap ini penulis melakukan analisis terhadap seberapa penting
pengguanaan website toko buku untuk pengguna, kemudian
4
menganalisis fitur apa saja yang akan dibuat dalam web tersebut. Penulis
mencari dan mengambil informasi dari internet mengenai desain,
perancangan dan pembuatan web.
3. Perancangan
Pada tahap ini yang dilakukan penulis adalah membuat rancangan
tampilan (user interface), rancangan database serta struktur navigasi.
4. Implementasi
Membuat desain sistem yang sesuai dengan kebutuhan sistem,
perancangan sistem dan analisis sistem.
5. Uji Coba
Pada tahap ini adalah melakukan uji coba aplikasi yang telah dibuat agar
dapat berjalan sesuai dengan yang sudah direncanakan.
1.5.Sistematika Penulisan
Penulisan ini terdiri atas empat bab yang dijabarkan sebagai berikut :
BAB 1 PENDAHULUAN
Pada bab ini menjelaskan latar belakang masalah, batasan masalah, tujuan
penelitian, metode penelitian dan sistematika penulisan.
BAB 3 PEMBAHASAN
BAB 4 PENUTUP
2.1. Website
Website adalah halaman informasi yang disediakan melalui jalur internet
sehingga bisa diakses di seluruh dunia selama terkoneksi dengan jaringan internet.
Website merupakan komponen atau kumpulan komponen yang terdiri dari teks,
gambar, suara dan animasi sehingga lebih merupakan media informasi yang
menarik untuk dikunjungi.
Sebuah situs web (sering pula disingkat menjadi situs saja: web site, site)
adalah sebutan bagi sekelompok halaman web (web page), yang umumnya
merupakan bagian dari suatu domain ( domain name) atau submain di World Wide
Web (WWW) di internet. WWW terdiri dari seluruh situs web yang tersedia kepada
publik. Halaman-halaman sebuah situs web diakses dari sebuah URL yang menjadi
”akar” (root), yang disebut homepage (halaman induk sering diterjemahkan
menjadi “beranda”, “halaman muka”), dan biasanya disimpan dalam server yang
sama. Tidak semua situs web dapat diakses dengan gratis. Beberapa situs web
memerlukan pembayaran agar dapat menjadi pelanggan, misalnya sutus-situs
berita, layanan surat elektronik(e-mail) dan lain-lain.
2.2. PHP
PHP (PHP: Hypertext Preprocessor) adalah sebuah bahasa pemrograman
yang perintahnya dilaksanakan server dan kemudian hasilnya ditampilkan pada
komputer client. PHP juga merupakan HTML embedded, yaitu sintaks PHP yang
dituliskan bersamaan dengan sintaks HTML. Jadi PHP dan HTML adalah sinergi
dua bahasa pemrograman yang saling menguatkan. Walaupun sebagian orang
berpendapat HTML bukan sebuah bahasa pemrograman.
PHP diperkenalkan oleh Rasmus Lerdof pada tahun 1995. Pada awalnya
PHP memiliki kepanjangan Personal Homepage. Hal ini karena PHP merupakan
sebuah aplikasi kecil yang digunakan untuk melengkapi situs personal Rasmus di
Internet (http://www.php.net).
Beberapa kelebihan bahasa pemrograman PHP sebagai berikut:
6
7
1. Keamanan
Keamanan sebuah program selain sistem operasi menjadi sangat penting.
PHP menyediakan 3 jenis authentikasi user, yaitu http authentikasi,
penggunaan cookies dan penggunaan session. Selain itu ada beberapa fungsi
disediakan seperti crc32, crypt, md5, base64-decode, base64- encode dan
lain-lain.
2. Integritas dengan Database
PHP mendukung integritas, kecepatan dan efisiensi akses ke database yang
kebanyakan menggunakan database berjenis relational seperti MySQL,
PostgreSQL, Oracle, SQLite dan lain-lain.
3. Cross-platform
PHP mendukung berbagai jenis sistem operasi seperti semua varian Linux,
Microsoft Windows, Mac OS dan lain-lain.
4. Reliabilitas
PHP merupakan salah satu bahasa pemrograman yang bebasis web. Alasan
utama adalah dukungan dokumentasi yang lengkap, aman dan banyak
komunitas helpdesk untuk membantu para pengembang web sistem yang
menggunakan PHP.
5. Kemudahan Bermigrasi
Tujuannya adalah memperbaiki kinerja dan menambah fitur-fitur baru.
Kelebihan ini karena banyaknya dukungan terhadap PHP sehingga
berdampak PHP terus menerus dikembangkan.
2.3. XAMPP
XAMPP adalah sebuah paket perangkat lunak (software) komputer yang
sistem penamaannya diambil dari akronim kata Apache, MySQL (dulu) / MariaDB
(sekarang), PHP, dan Perl. Sementara imbuhan huruf “X” yang terdapat pada awal
kata berasal dari istilah cross platform sebagai simbol bahwa aplikasi ini bisa
dijalankan di empat sistem operasi berbeda, seperti OS Linux, OS Windows, Mac
OS, dan juga Solaris.
Jika dijabarkan secara gamblang, masing-masing huruf yang ada di dalam
nama XAMPP menuru para ahli memilik arti sebagai berikut ini:
8
X = Cross Platform
Merupakan kode penanda untuk software cross platform atau yang bisa berjalan
di banyak sistem operasi. Jadi, ada XAMPP untuk Windows, xampp for mac,
dan untuk Linux. Semua itu bersifat free download xampp.
A = Apache
Apache adalah aplikasi web server yang bersifat gratis dan bisa dikembangkan
oleh banyak orang (open source).
M = MySQL / MariaDB
MySQL atau MariaDB merupakan aplikasi database server yang dikembangkan
oleh orang yang sama. MySQL berperan dalam mengolah, mengedit, dan
menghapus daftar melalui database.
P = PHP
Huruf “P” yang pertama dari akronim kata XAMPP adalah inisial untuk
menunjukkan eksistensi bahasa pemrograman PHP. Bahasa pemrograman ini
biasanya digunakan untuk membuat website dinamis, contohnya dalam website
berbasis CMS WordPress.
P = Perl
Sementara itu, untuk huruf P selanjutnya merupakan singkatan dari bahasa
pemrograman Perl yang kerap digunakan untuk memenuhi berbagai macam
kebutuhan. Perl ini bisa berjalan di dalam banyak sistem operasi sehingga
sangat fleksibel dan banyak digunakan.
2.3.1. Fungsi XAMPP
Program aplikasi XAMPP berfungsi sebagai server lokal untuk mengampu
berbagai jenis data website yang sedang dalam proses pengembangan.
Dalam prakteknya, XAMPP bisa digunakan untuk menguji kinerja fitur
ataupun menampilkan konten yang ada didalam website kepada orang lain tanpa
harus terkoneksi dengan internet, cukup akses melalui XAMPP control panel, atau
website offline.
XAMPP bekerja secara offline layaknya web hosting biasa namun tidak bisa
diakses oleh banyak orang
9
Maka dari itu, XAMPP biasanya banyak digunakan oleh para mahasiswa
maupun pelajar untuk melihat hasil desain website sebelum akhirnya dibuat online
menggunakan web hosting yang biasa dijual dipasaran.
2.4. CodeIgniter
Menurut Betha Sidik (2012) CodeIgniter adalah :“ Sebuah framework php
yang bersifat open source dan menggunakan metode MVC (Model, View,
Controller) untuk memudahkan developer atau programmer dalam membangun
sebuah aplikasi berbasis web tanpa harus membuatnya dari awal”.
Dalam situs resmi codeigniter, (Official Website CodeIgniter,2002)
menyebutkan bahwa codeigniter merupakan framework PHP yang kuat dan sedikit
bug. Codeigniter ini dibangun untuk para pengembang dengan bahasa pemrogram
PHP yang membutuhkan alat untuk membuat web dengan fitur lengkap.
Framework Codeigniter dikembangkan oleh Rick Ellis, CEO Ellislab, Inc.
kelebihan dari framework codeigniter jika dibandingkan dengan framework lain
adalah sebagai berikut :
1. Gratis (Open-Source)
Kerangka kerja Codeigniter memiliki lisensi dibawah Apache/BSD open-
source sehingga bersifat bebas atau gratis.
2. Berukuran kecil
Ukuran yang kecil merupakan keunggulan tersendiri jika dibandingkan
framework lain yang berukuran besar dan membutuhkan resource yang
besar dan juga dalam eksekusi maupun penyimpanannya.
3. Menggunakan konsep M-V-C
Codeigniter merupakan konsep M-V-C (ModelView-Controller) yang
memungkinkan pemisahan antara layer application-logic dan presentation.
Dengan konsep ini kode PHP, query Mysql, Javascript dan CSS dapat saling
dipisah-pisahkan sehingga ukuran file menjadi lebih kecil dan lebih mudah
dalam perbaikan kedepannya atau maintenance.
10
2.5. MySQL
MySQL adalah sebuah perangkat lunak system manajemen basis data SQL
(database management system) atau DBMS yang multithread, multi-user, dengan
sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia
sebaagai perangkat lunak gratis di bawah lisensi komersial untuk kasus-kasus
diamana pengguanaannya tidak cocok dengan penggunaannya tidak cocok dengan
penggunaan GPL.
Tidak seperti PHP atau Apache yang merupakan software yang
dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki
oleh penlisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah
perusahasan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh
hak cipta hamper atas semua kode sumbernya.
Fitur-fitur MySQL antara lain :
• Relational Database System. Seperti halnya software database lain yang ada
di pasaran, MySQL termasuk RDBMS.
• Arsitektur Client-Server. MySQL memiliki arsitektur client-server dimana
server database MySQL terinstal di server. Client MySQL dapat berada di
• komputer yang sama dengan server, dan dapat juga di komputer lain yang
berkomunikasi dengan server melalui jaringan bahkan internet.
• Mengenal perintah SQL standar. SQL (Structured Query Language)
merupakan suatu bahasa standar yang berlaku di hampir semua software
database. MySQL mendukung SQL versi SQL:2003.
• Mendukung Sub Select. Mulai versi 4.1 MySQL telah mendukung select
dalam select (sub select).
• Mendukung Views. MySQL mendukung views sejak versi 5.0
• Mendukung Stored Prosedured (SP). MySQL mendukung SP sejak versi 5.0
• Mendukung Triggers. MySQL mendukung trigger pada versi 5.0 namun
masih terbatas. Pengembang MySQL berjanji akan meningkatkan
kemampuan trigger pada versi 5.1.
• Mendukung replication.
• Mendukung transaksi.
11
4. Mudah Digunakan
Bootstrap sangat mudah digunakan. Siapa pun dengan pengetahuan
dasar HTML dan CSS dapat menggunakan Bootstrap.
5. Digunakan Oleh Semua Browser Populer
Bootstrap dapata digunakan semua website modern seperti Mozilla
Firefox, Google Chrome, Safari, Microsoft Edge, dan Opera.
6. Gratis
Bootstrap merupakan framework open source yang dapat digunakan
secara gratis.
2.7. Visual Studio Code
Visual Studio Code adalah sebuah perangkat lunak lengkap yang dapat
digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis,
aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console,
aplikasi Windows, ataupun aplikasi Web.
Kode sumber Visual Studio Code berasal dari proyek VSCode perangkat
lunak bebas dan sumber terbuka milik Microsoft yang dirilis di bawah Lisensi MIT
yang permisif, namun binari yang dikompilasi adalah freeware untuk penggunaan
apa pun. Dalam survei Pengembang Stack Overflow 2019, Visual Studio Code
mendapat peringkat alat lingkungan pengembang paling populer, dengan 50,7%
dari 87.317 responden mengklaim menggunakannya.
2.8. Unified Modeling Language
UML (Unified Modelling Language) adalah suatu metode dalam pemodelan
secara visual yang digunakan sebagai sarana perancangan sistem berorientasi objek.
Awal mulanya, UML diciptakan oleh Object Management Group dengan versi awal
1.0 pada bulan Januari 1997.
Fungsi perlu adanya UML yaitu sebagai berikut:
1. Dapat memberikan bahasa pemodelan visual atau gambar kepada para
pengguna dari berbagai macam pemrograman maupun proses umum
rekayasa.
2. Menyatukan informasi-informasi terbaik yang ada dalam pemodelan.
13
2.9.1.2. Hirarki
Struktur ini mengandalkan percabangan untuk menampilkan data
berdasarkan kriteria tertentu. Pemakai menelusuri program melalui titik-titik
percabangan dari suatu struktur pohon.
PEMBAHASAN
Secara umum website ini digunakan sebagai sarana informasi dan pembelian
buku, dengan harapan dapat mempermudah memperoleh informasi.
Website ini memiliki dua level yaitu level admin dan level user. Pada level user
hanya bisa mengakses halaman beranda, buku, keranjang, transaksi. Pada level
admin hanya bisa mengakses halaman beranda, data buku, keranjang, transaksi,
data rekening, dan juga konfigurasi. Perbedaan halaman antara level user dan admin
adalah pada level user dapat melihat dan juga memesan buku dan pada level admin
bisa menambah, mengubah, menghapus dan mencetak data transaksi.
Pada halaman Beranda user berisi buku terbaru, login dan juga melihat
keranjang belanja. Pada menu Katalog terdapat data buku, detail buku dan kategori
buku. Pada halaman akun terdapat data akun, keranjang belanja dan riwayat
belanja. Pada halaman pembayaran terdapat form untuk tanggal bayar, jumlah
bayar dan bukti pembayaran.
17
18
3.2. Perancangan
3.2.1. Struktur Navigasi
Pada struktur navigasi user dijelaskan pada saat user memasuki web yang
pertama kali di lihat user adalah halaman home/dashboard. Dihalaman utama
terdapat empat sub menu yaitu beranda, kategori, kontak, login dan keranjang. Pada
halaman beranda terdapat buku terbaru. Pada halaman kategori terdapat kategori
buku. Pada halaman masuk terdapat login dan juga daftar. Pada halaman login
dashboard pelanggan, riwayat belanja, dan juga keranjang belanja.
Pada struktur navigasi admin dapat mengakses halaman website yang ada. Pada
saat login yang di lihat admin adalah beranda(dashboard), transaksi, Data Buku,
Data Rekening ,Laporan dan Pengguna/User. Pada halaman buku terdapat data
buku, tambah buku dan kategori buku. Pada halaman laporan admin dapat melihat
laporan pembelian harian, bulanan dan tahunan
Diagram use case user pada gambar 3.3 digunakan untuk melihat system
apa saja yang terlihat oleh user. Pada diagram ini hanya terdapat oleh satu aktor
yaitu user. User hanya bias melihat beranda, melihat buku, memesan nuku dan
dapat mengkonfirmasi pembayaran.
20
Diagram use case admin pada gambar 3.4 digunakan untuk melihat apa saja
yang dapat diakses didalam system oleh admin. Pada diagram ini hanya terdapat
satu actor yaitu admin dan perintah include pada diagram menjelaskan bahwa
admin dapat mengakses menu yang ada didalam system dan mengelola system
seperti menambahkan, mengedit dan menghapus buku. Pada halaman pengguna
terdapat pengguna yaitu admin. Pada halaman pengguna terdapat data pengguna
yaitu admin. Pada halaman Data Rekening terdapat data rekening admin dan juga
dapat menambahkan, menghapus dan juga dapat mengedit rekening.
Class diagram atau diagram kelas merupakan suatu diagram yang digunakan
untuk menampilkan kelas-kelas berupa paket-paket untuk memenuhi salah satu
kebutuhan paket yang akan digunakan nantinya.
3.2.4.2.Tabel Rekening
3.2.4.5.Tabel Kategori
3.2.4.6.Tabel Gambar
3.2.4.7.Tabel Transaksi
Tabel setting digunakan untuk menyimpan lokasi detail toko. Pada tabel ini
terdapat 5 field. Berikut sturuk tabel buku dapat dilihat pada tabel 3.9.
Pada tahap ini dilakukan pembuatan rancangan awal aplikasi, pada bagian
rancangan awal dibagi menjadi 2 tampilan yaitu tampilan admin dan tampilan
user.
3.2.5.1.Rancangan Admin
3.2.5.1.1. Rancangan Halaman Login
Pada halaman login terdapat input untuk username dan password lalu
terdapat tombol masuk untuk mengecek username dan password yang ada pada
database tabel akun. Berikut rancangan tampilan dari halaman beranda admin
dapat dilihat pada gambar 3.6.
Halaman beranda ini adalah halaman awal ketika admin berhasil login. Di
halaman dashboard admin terdapat Dashboard, Kategori, Buku, Pesanan Masuk,
Laporan, Setting, User dan Logout. Berikut rancangan tampilan dari halaman
dashboard admin dapat dilihat pada gambar 3.7.
28
Pada gambar 3.8 merupakan tampilan dari Halaman Buku Admin pada
tampilan ini admin dapat menampilkan buku yang akan dijual, menambahkan buku,
mengubah buku dan menghapus buku.
Pada gambar 3.9 merupakan tampilan dari Halaman Pesanan Masuk Admin.
Pada tampilan ini admin dapat menampilkan data transaksi user/pelanggan, melihat
data transaksi dan mencetak data transaksi.
29
Pada gambar 3.10 merupakan tampilan dari Halaman User Admin. Pada
tampilan ini admin dapat menampilkan data admin, mengubah data admin dan
menghapus data admin.
Pada gambar 3.11 merupakan tampilan dari Halaman Kategori Admin. Pada
tampilan ini admin dapat menampilkan data admin, mengubah data admin dan
menghapus data admin.
Pada gambar 3.12 merupakan tampilan dari Halman Setting. Pada tampilan
ini admin dapat merubah tempat toko.
Pada halaman login terdapat input untuk username dan password lalu terdapat
tombol masuk untuk mengecek username dan password yang ada pada database
tabel akun. Berikut rancangan tampilan dari halaman beranda user dapat dilihat di
gambar 3.13.
Halaman beranda ini adalah halaman awal ketika user memasuki web. Di
halaman user beranda user terdapat keranjang belanja, Katalog Belanja, Email dan
juga Telepon. Berikut rancangan halaman beranda user dapat dilihat di gambar
3.14.
Pada gambar 3.18 merupakan tampilan dari Pesanan Saya. Pada tampilan
ini pelanggan melihat buku yang dibeli.
34
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'id19425909_root',
'password' => '>O9>SkImy)Nbrne0',
'database' => 'id19425909_db_olshop',
$autoload['libraries'] = array('session', 'form_validation', 'upload', 'database',
'user_login', 'cart', 'pelanggan_login');
3.3.2. Pembuatan Halaman Admin
3.3.2.1. Pembuatan Halaman Login
Pada gambar 3.20 merupakan halaman login. Halaman login ini dibuat
dengan source code menggunakan PHP seperti dibawah ini
Pada source code diatas terdapat level akses yaitu admin yang terletak pada
tb_user, jika username dan password salah maka akan keluar pesan “Username atau
Password salah”.
Pada gambar 3.22 merupakan halaman Buku. Halaman Buku dibuat source
code menggunakan PHP seperti dibawah ini :
41
if ($this->form_validation->run() == TRUE) {
$config['upload_path'] = './assets/gambar/';
$config['allowed_types'] = 'gif|jpg|png|jpeg|ico|jfif';
$config['max_size'] = '2000';
$this->upload->initialize($config);
$field_name = "gambar";
if (!$this->upload->do_upload($field_name)) {
$data = array(
'title' => 'Add Buku',
'kategori' => $this->m_kategori->get_all_data(),
'error_upload' => $this->upload->display_errors(),
'isi' => 'buku/v_add',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
} else {
$upload_data = array('uploads' => $this->upload->data());
$config['image_library'] = 'gd2';
$config['source_image'] = './assets/gambar/' .
$upload_data['uploads']['file_name'];
$this->load->library('image_lib', $config);
$data = array(
'nama_buku' => $this->input->post('nama_buku'),
'id_kategori' => $this->input->post('id_kategori'),
43
$this->load->library('image_lib', $config);
$data = array(
'id_buku' => $id_buku,
'nama_buku' => $this->input->post('nama_buku'),
'id_kategori' => $this->input->post('id_kategori'),
'harga' => $this->input->post('harga'),
'berat' => $this->input->post('berat'),
'deskripsi' => $this->input->post('deskripsi'),
'gambar' => $upload_data['uploads']['file_name'],
);
$this->m_buku->edit($data);
$this->session->set_flashdata('pesan', 'Data Berhasil Diganti !!!');
redirect('buku');
}
//jika tanpa ganti gambar
$data = array(
'id_buku' => $id_buku,
'nama_buku' => $this->input->post('nama_buku'),
'id_kategori' => $this->input->post('id_kategori'),
'harga' => $this->input->post('harga'),
'berat' => $this->input->post('berat'),
'deskripsi' => $this->input->post('deskripsi'),
);
$this->m_buku->edit($data);
$this->session->set_flashdata('pesan', 'Data Berhasil Diganti !!!');
redirect('buku');
}
$data = array(
'title' => 'Edit Buku',
'kategori' => $this->m_kategori->get_all_data(),
'buku' => $this->m_buku->get_data($id_buku),
46
$data = array(
'title' => 'Laporan Penjualan Harian',
'tanggal' => $tanggal,
'bulan' => $bulan,
'tahun' => $tahun,
'laporan' => $this->m_laporan->lap_harian($tanggal, $bulan, $tahun),
'isi' => 'v_lap_harian',
);
49
$data = array(
'title' => 'Laporan Penjualan Bulanan',
'bulan' => $bulan,
'tahun' => $tahun,
'laporan' => $this->m_laporan->lap_bulanan($bulan, $tahun),
'isi' => 'v_lap_bulanan',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
}
public function lap_tahunan()
{
$tahun = $this->input->post('tahun');
$data = array(
'title' => 'Laporan Penjualan Tahunan',
'tahun' => $tahun,
'laporan' => $this->m_laporan->lap_tahunan($tahun),
'isi' => 'v_lap_tahunan',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
}
}
Pada source code dihalaman laporan digunakan untuk menampilkan data
laporan harian, bulanan dan tahunan admin.
50
Pada gambar 3.26 merupakan halaman User. Halaman User dibuat source
code menggunakan PHP seperti dibawah ini :
52
if ($this->form_validation->run() == FALSE) {
$data = array(
'title' => 'Register Pelanggan',
'isi' => 'v_register',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
} else {
$data = array(
'nama_pelanggan' => $this->input->post('nama_pelanggan'),
'email' => $this->input->post('email'),
'password' => $this->input->post('password'),
);
$this->m_pelanggan->register($data);
$this->session->set_flashdata('pesan', 'Selamat, Register Berhasil Silahkan
Login Kembali !!');
redirect('pelanggan/register');
}
}
public function login()
{
$this->form_validation->set_rules('email', 'E-Mail', 'required', array(
'required' => '%s Harus Diisi !!!'
));
$this->form_validation->set_rules('password', 'Password', 'required', array(
'required' => '%s Harus Diisi !!!'
));
if ($this->form_validation->run() == TRUE) {
$email = $this->input->post('email');
$password = $this->input->post('password');
$this->pelanggan_login->login($email, $password);
}
58
$data = array(
'title' => 'Login Pelanggan',
'isi' => 'v_login_pelanggan',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
}
public function logout()
{
$this->pelanggan_login->logout();
}
public function akun()
{
//proteksi halaman
$this->pelanggan_login->proteksi_halaman();
$data = array(
'title' => 'Akun Saya',
'isi' => 'v_akun_saya',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
}
}
Pada source code diatas digunakan user/pelanggan untuk login dan daftar di
website yang tersedia didalam database lalu dicocokan ke dalam tabel pelanggan.
Lebih tepatnya ke tabel tb_pelanggan data yang dicocokan berupa username dan
password.
59
{
$data = array(
'title' => 'Detail buku',
'gambar' => $this->m_home->gambar_buku($id_buku),
'buku' => $this->m_home->detail_buku($id_buku),
'isi' => 'v_detail_buku',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
}
{
$redirect_page = $this->input->post('redirect_page');
$data = array(
'id' => $this->input->post('id'),
'qty' => $this->input->post('qty'),
'price' => $this->input->post('price'),
'name' => $this->input->post('name'),
);
$this->cart->insert($data);
redirect($redirect_page, 'refresh');
}
public function delete($rowid)
{
$this->cart->remove($rowid);
redirect('belanja');
}
}
}
Pada source code diatas digunakan untuk pelanggan melihat kontak yang
bias dihubungi.
if (!$this->upload->do_upload($field_name)) {
$data = array(
'title' => 'Pembayaran',
'pesanan' => $this->m_transaksi->detail_pesanan($id_transaksi),
'rekening' => $this->m_transaksi->rekening(),
'error_upload' => $this->upload->display_errors(),
'isi' => 'v_bayar',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
} else {
$upload_data = array('uploads' => $this->upload->data());
$config['image_library'] = 'gd2';
$config['source_image'] = './assets/bukti_bayar/' .
$upload_data['uploads']['file_name'];
$this->load->library('image_lib', $config);
$data = array(
'id_transaksi' => $id_transaksi,
'atas_nama' => $this->input->post('atas_nama'),
'nama_bank' => $this->input->post('nama_bank'),
'no_rek' => $this->input->post('no_rek'),
'status_bayar' => '1',
'bukti_bayar' => $upload_data['uploads']['file_name'],
);
$this->m_transaksi->upload_buktibayar($data);
$this->session->set_flashdata('pesan', 'Bukti Pembayaran Berhasil Di
Upload !!!');
redirect('pesanan_saya');
}
}
$data = array(
'title' => 'Pembayaran',
68
Tahap implementasi sistem ini merupakan tahap meletakan sistem supaya siap
untuk dioperasikan. Dalam implementasi pembuatan website Anbiyapedia ini ada
beberapa tahapan implementasi sistem yang harus dijalankan diantaranya adalah:
3.4.1. Web Hosting
3.4.1.1.Mendaftar Web Hosting Gratis
Pada website toko buku ini menggunakan layanan hosting yang bernama
000webhost dan langkah awal dalam menghosting aplikasi ini adalah dengan
mengakses url: https://www.000webhost.com, lalu membuat account 000webhost
69
dan login menggunakan account yang telah dibuat. Untuk lebih jelasnya dapat
dilihat pada gambar 3.34.
3.4.1.2.Upload File
Upload file adalah proses mentransfer file-file yang berkaitan dengan website
ini ke suatu server di internet agar website ini dapat diakses oleh semua user yang
terhubung ke internet di seluruh dunia.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'id19425909_root',
'password' => '>O9>SkImy)Nbrne0',
'database' => 'id19425909_db_olshop',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
72
Melakukan uji coba website menggunakan metode black box testing. Tujuan
dari black box testing ini adalah melakukan uji coba. Pengujian dengan black box
testing dilakukan dengan cara memberikan sejumlah input data pada program. Input
tersebut kemudian diproses sesuai dengan kebutuhan fungsionalnya untuk melihat
apakah website dapat menghasilkan output yang sesuai dengan fungsi datar dari
program tersebut. Hasil dapat dilihat pada tabel 3.10 dan tabel 3.11.
73
PENUTUP
4.1 Kesimpulan
77
4.2 Saran
78
DAFTAR PUSTAKA
Daftar Buku :
[1] Ali Zaki, 2009, Kiat Jitu Membuat Website Tanpa Modal, Jakarta : Penerbit
Elexmedia Komputindo
[2] Muslihin, Muhamad dan Oktafianto, 2016, Analisi dan Perancangan Sistem
Informasi Menggunaka Model Terstruktur dan UML, Jakarta : CV ANDI
OFFSET
[3] Raharjo, Budi. 2011. Belajar Otodidak Membuat Database Menggunakan
MYSQL, Bandung: Informatika.
[4] Supardi, Yaniar, Ading Hermawan, 2018, Semua Bisa Menjadi Programmer
CodeIgniter Basic, Jakarta: PT Elex Media Komputindo
Daftar Situs :
[1] Aditya Rahmatullah Pratama, 2019. Belajar UML – Use Case Diagram.
Tersedia di: https://www.codepolitan.com/mengenal-uml-diagram-use-
case (Diakses tanggal 12 Desember 2021)
[2] Andre. 2019. Tutorial Belajar PHP Part 1: Pengertian dan Fungsi PHP
dalam Pemprogaman Web. Tersedia di :
https://www.duniailkom.com/pengenalan-dan-fungsi-php-dalam-
pemprograman-web (Diakses tanggal 12 Desember 2021)
[3] Litalia. 2015. Pengertian XAMPP, Fungsi, Sejarah dan Bagian-
bagiannya(Lengkap). Tersedia di:
https://www.jurnalponsel.com/pengertian-xampp (Diakses tanggal 12
Desember 2021).
[4] Muhammad Hadriani Dimmay. 2015. Pengertian Database Mysql dan
PHPMyAdmin. Tersedia di : https://www.hadribonjay.it.student.pens.ac.id
(Diakses tanggal 12 Desember 2021
[5] Rendi Juliarto. 2021. Apa itu UML? Beserta Pengertian dan Contohnya
Tersedia di : https://www.dicoding.com/blog/apa-itu-uml (Diakses tanggal
12 Desember 2021
79
LAMPIRAN
A. Listing Program
Home.php
$data = array(
'title' => 'Kontak',
'isi' => 'v_kontak',
);
L-1
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
}
Kategori.php
);
$this->m_kategori->add($data);
L-2
$this->session->set_flashdata('pesan', 'Data Berhasil Ditambahkan !!');
redirect('kategori');
}
);
$this->m_kategori->edit($data);
$this->session->set_flashdata('pesan', 'Data Berhasil DIubah !!');
redirect('kategori');
}
Kontak.php
class Kontak extends CI_Controller
{
L-3
Auth.php
v_register.php
<div class="row">
<div class="col-sm-4"></div>
<div class="col-sm-4">
<div class=" register-box">
<div class="card">
<div class="card-body register-card-body">
<p class="login-box-msg">Register Pelanggan Baru</p>
<?php
echo validation_errors('<div class="alert alert-warning alert-
dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>
L-4
<h5><i class="icon fas fa-exclamation-triangle"></i> Alert!</h5>',
'</div>');
if ($this->session->flashdata('pesan')) {
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>
<h5><i class="icon fas fa-check"></i> Sukses!</h5>';
echo $this->session->flashdata('pesan');
echo '</div>';
}
L-5
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-8">
</div>
<!-- /.col -->
<div class="col-4">
<button type="submit" class="btn btn-primary btn-
block">Register</button>
</div>
<!-- /.col -->
</div>
<?php echo form_close() ?>
v_belanja.php
if ($this->session->flashdata('pesan')) {
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>
L-6
<h5><i class="icon fas fa-check"></i>';
echo $this->session->flashdata('pesan');
echo '</h5>
</div>';
}
?>
</div>
<div class="col-sm-12">
<?php echo form_open('belanja/update'); ?>
<tr>
<th width="100px">QTY</th>
<th>Nama Buku</th>
<th style="text-align:right">Harga</th>
<th style="text-align:right">Sub-Total</th>
<th style="text-align:center">Berat</th>
<th class="text-center">Action</th>
</tr>
<?php $i = 1; ?>
<?php
$tot_berat = 0;
foreach ($this->cart->contents() as $items) {
$buku = $this->m_home->detail_buku($items['id']);
$berat = $items['qty'] * $buku->berat;
L-7
<td><?php echo $items['name']; ?></td>
<td style="text-align:right">Rp. <?php echo
number_format($items['price'], 0); ?></td>
<td style="text-align:right">Rp. <?php
echo number_format($items['subtotal'], 0); ?></td>
<td class="text-center"><?= $berat ?> Gr</td>
<td class="text-center">
<a href="<?= base_url('belanja/delete/' . $items['rowid']) ?>"
class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></a>
</td>
</tr>
<?php } ?>
<tr>
<td class="right">
<h3>Total :</h3>
</td>
<td class="right">
<h3>Rp. <?php echo number_format($this->cart->total(), 0);
?></h3>
</td>
<th>Total Berat : <?= $tot_berat ?> Gr</th>
<td></td>
<td></td>
<td></td>
</tr>
</table>
v_checkout.php
L-8
<!-- Main content -->
<div class="invoice p-3 mb-3">
<!-- title row -->
<div class="row">
<div class="col-12">
<h4>
<i class="fas fa-shopping-cart"></i> Checkout.
<small class="float-right">Date: <?= date('d-m-Y') ?></small>
</h4>
</div>
<!-- /.col -->
</div>
<!-- info row -->
L-9
<td><?php echo $items['name']; ?></td>
<td class="text-center">Rp. <?php
echo number_format($items['subtotal'], 0); ?></td>
<td class="text-center"><?= $berat ?> Gr</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<?php
echo validation_errors('<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>', '</div>');
?>
<?php
echo form_open('belanja/checkout');
$no_order = date('Ymd') . strtoupper(random_string('alnum', 8));
?>
<div class="row">
<!-- accepted payments column -->
<div class="col-sm-8 invoice-col">
Tujuan :
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Provinsi</label>
<select name="provinsi" class="form-control"></select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Kota/Kabupaten</label>
<select name="kota" class="form-control"></select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Ekspedisi</label>
<select name="ekspedisi" class="form-control"></select>
</div>
L-10
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Paket</label>
<select name="paket" class="form-control"></select>
</div>
</div>
<div class="col-sm-8">
<div class="form-group">
<label>Alamat</label>
<input name="alamat" class="form-control" required>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>Kode POS</label>
<input name="kode_pos" class="form-control" required>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Nama Penerima</label>
<input name="nama_penerima" class="form-control" required>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Nomor Telepon Penerima</label>
<input name="hp_penerima" class="form-control" required>
</div>
</div>
</div>
</div>
<!-- /.col -->
<div class="col-4">
<div class="table-responsive">
<table class="table">
<tr>
<th style="width:50%">Grand Total:</th>
<th>Rp. <?php echo number_format($this->cart->total(), 0);
?></th>
</tr>
<tr>
<th>Berat:</th>
<th><?= $tot_berat ?> Gr</th>
L-11
</tr>
<tr>
<th>Ongkir:</th>
<th><label id="ongkir"></label></th>
</tr>
<tr>
<th>Total Bayar:</th>
<th><label id="total_bayar"></label></th>
</tr>
</table>
</div>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
?>
<!-- end Simpan Rinci Transaksi -->
<div class="row no-print">
<div class="col-12">
<a href="<?= base_url('belanja') ?>" class="btn btn-warning"><i
class="fas fa-backward"></i> Kembali</a>
<button type="submit" class="btn btn-primary float-right" style="margin-
right: 5px;">
<i class="fas fa-shopping-cart"></i> Proses Checkout
</button>
</div>
</div>
<?php echo form_close() ?>
</div>
L-12
<script>
$(document).ready(function() {
//masukkan data ke select provinsi
$.ajax({
type: "POST",
url: "<?= base_url('rajaongkir/provinsi') ?>",
success: function(hasil_provinsi) {
//console.log(hasil_provinsi);
$("select[name=provinsi]").html(hasil_provinsi);
}
});
$("select[name=kota]").on("change", function() {
$.ajax({
type: "POST",
url: "<?= base_url('rajaongkir/ekspedisi') ?>",
success: function(hasil_ekspedisi) {
$("select[name=ekspedisi]").html(hasil_ekspedisi);
}
});
});
L-13
//mengambil data ongkos kirim
var total_berat = <?= $tot_berat ?>;
$.ajax({
type: "POST",
url: "<?= base_url('rajaongkir/paket') ?>",
data: 'ekspedisi=' + ekspedisi_terpilih + '&id_kota=' +
id_kota_tujuan_terpilih + '&berat=' + total_berat,
success: function(hasil_paket) {
$("select[name=paket]").html(hasil_paket);
}
});
});
//
$("select[name=paket]").on("change", function() {
//menampilkan ongkir
var dataongkir = $("option:selected", this).attr('ongkir');
var reverse = dataongkir.toString().split('').reverse().join(''),
ribuan_ongkir = reverse.match(/\d{1,3}/g);
ribuan_ongkir = ribuan_ongkir.join(',').split('').reverse().join('');
});
</script>
v_pesanansaya.php
L-14
<div class="row">
<div class="col-sm-12">
<?php
if ($this->session->flashdata('pesan')) {
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>
<h5><i class="icon fas fa-check"></i>';
echo $this->session->flashdata('pesan');
echo '</h5>
</div>';
}
?>
<div class="card card-primary card-outline card-outline-tabs">
<div class="card-header p-0 border-bottom-0">
<ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="custom-tabs-four-home-tab" data-
toggle="pill" href="#custom-tabs-four-home" role="tab" aria-controls="custom-
tabs-four-home" aria-selected="true">Order</a>
</li>
<li class="nav-item">
<a class="nav-link" id="custom-tabs-four-profile-tab" data-
toggle="pill" href="#custom-tabs-four-profile" role="tab" aria-controls="custom-
tabs-four-profile" aria-selected="false">Diproses</a>
</li>
<li class="nav-item">
<a class="nav-link" id="custom-tabs-four-messages-tab" data-
toggle="pill" href="#custom-tabs-four-messages" role="tab" aria-
controls="custom-tabs-four-messages" aria-selected="false">Dikirim</a>
</li>
<li class="nav-item">
<a class="nav-link" id="custom-tabs-four-settings-tab" data-
toggle="pill" href="#custom-tabs-four-settings" role="tab" aria-controls="custom-
tabs-four-settings" aria-selected="false">Selesai</a>
</li>
</ul>
</div>
<div class="card-body">
<div class="tab-content" id="custom-tabs-four-tabContent">
<div class="tab-pane fade show active" id="custom-tabs-four-home"
role="tabpanel" aria-labelledby="custom-tabs-four-home-tab">
<!-- data pesanan order -->
<table class="table">
L-15
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
<th>Action</th>
</tr>
<?php foreach ($belum_bayar as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
<?php if ($value->status_bayar == 0) { ?>
<span class="badge badge-warning">Belum
Bayar</span>
<?php } else { ?>
<span class="badge badge-success">Sudah
Bayar</span><br>
<span class="badge badge-primary">Menunggu
Verifikasi</span>
<?php } ?>
</td>
<td>
<?php if ($value->status_bayar == 0) { ?>
<a href="<?= base_url('pesanan_saya/bayar/' . $value-
>id_transaksi) ?>" class="btn btn-sm btn-flat btn-primary">Bayar</a>
<?php } ?>
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="tab-pane fade" id="custom-tabs-four-profile"
role="tabpanel" aria-labelledby="custom-tabs-four-profile-tab">
<!-- data pesanan diproses -->
<table class="table">
<tr>
L-16
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
</tr>
<?php foreach ($diproses as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
<span class="badge badge-
success">Terverifikasi</span><br>
<span class="badge badge-
primary">Diproses/Dikemas</span>
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="tab-pane fade" id="custom-tabs-four-messages"
role="tabpanel" aria-labelledby="custom-tabs-four-messages-tab">
<table class="table">
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
<th>No Resi</th>
</tr>
<?php foreach ($dikirim as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
L-17
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
<span class="badge badge-
success">Dikirim</span><br>
</td>
<td>
<h5><?= $value->no_resi ?><br>
<button data-toggle="modal" data-
target="#diterima<?= $value->id_transaksi ?>" class="btn btn-primary btn-xs btn-
flat">Diterima</button>
</h5>
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="tab-pane fade" id="custom-tabs-four-settings"
role="tabpanel" aria-labelledby="custom-tabs-four-settings-tab">
<table class="table">
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
<th>No Resi</th>
</tr>
<?php foreach ($selesai as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
<span class="badge badge-success">Selesai</span><br>
L-18
</td>
<td>
<h5><?= $value->no_resi ?><br>
</h5>
</td>
</tr>
<?php } ?>
</table>
</div>
</div>
</div>
<!-- /.card -->
</div>
</div>
</div>
Admin.php
L-19
public function __construct()
{
parent::__construct();
$this->load->model('m_admin');
$this->load->model('m_pesanan_masuk');
}
if ($this->form_validation->run() == FALSE) {
$data = array(
'title' => 'Setting ',
'setting' => $this->m_admin->data_setting(),
'isi' => 'v_setting',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
} else {
L-20
$data = array(
'id' => 1,
'lokasi' => $this->input->post('kota'),
'nama_toko' => $this->input->post('nama_toko'),
'alamat_toko' => $this->input->post('alamat_toko'),
'no_telepon' => $this->input->post('no_telepon'),
);
$this->m_admin->edit($data);
$this->session->set_flashdata('pesan', 'Settingan Berhasil di Ganti !!!');
redirect('admin/setting');
}
}
public function pesanan_masuk()
{
$data = array(
'title' => 'Pesanan Masuk',
'pesanan' => $this->m_pesanan_masuk->pesanan(),
'pesanan_diproses' => $this->m_pesanan_masuk->pesanan_diproses(),
'pesanan_dikirim' => $this->m_pesanan_masuk->pesanan_dikirim(),
'pesanan_selesai' => $this->m_pesanan_masuk->pesanan_selesai(),
'isi' => 'v_pesanan_masuk',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
}
L-21
redirect('admin/pesanan_masuk');
}
}
Buku.php
class Buku extends CI_Controller
{
L-22
if ($this->form_validation->run() == TRUE) {
$config['upload_path'] = './assets/gambar/';
$config['allowed_types'] = 'gif|jpg|png|jpeg|ico|jfif';
$config['max_size'] = '2000';
$this->upload->initialize($config);
$field_name = "gambar";
if (!$this->upload->do_upload($field_name)) {
$data = array(
'title' => 'Add Buku',
'kategori' => $this->m_kategori->get_all_data(),
'error_upload' => $this->upload->display_errors(),
'isi' => 'buku/v_add',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
} else {
$upload_data = array('uploads' => $this->upload->data());
$config['image_library'] = 'gd2';
$config['source_image'] = './assets/gambar/' .
$upload_data['uploads']['file_name'];
$this->load->library('image_lib', $config);
$data = array(
'nama_buku' => $this->input->post('nama_buku'),
'id_kategori' => $this->input->post('id_kategori'),
'harga' => $this->input->post('harga'),
'berat' => $this->input->post('berat'),
'deskripsi' => $this->input->post('deskripsi'),
'gambar' => $upload_data['uploads']['file_name'],
);
$this->m_buku->add($data);
$this->session->set_flashdata('pesan', 'Data Berhasil Ditambahkan !!!');
redirect('buku');
}
}
$data = array(
'title' => 'Add Buku',
'kategori' => $this->m_kategori->get_all_data(),
'isi' => 'buku/v_add',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
}
L-23
$this->form_validation->set_rules('nama_buku', 'Nama buku', 'required',
array(
'required' => '%s Harus Diisi !!!'
));
$this->form_validation->set_rules('id_kategori', 'Kategori', 'required', array(
'required' => '%s Harus Diisi !!!'
));
$this->form_validation->set_rules('harga', 'Harga', 'required', array(
'required' => '%s Harus Diisi !!!'
));
$this->form_validation->set_rules('berat', 'Berat', 'required', array(
'required' => '%s Harus Diisi !!!'
));
$this->form_validation->set_rules('deskripsi', 'Deskripsi', 'required', array(
'required' => '%s Harus Diisi !!!'
));
if ($this->form_validation->run() == TRUE) {
$config['upload_path'] = './assets/gambar/';
$config['allowed_types'] = 'gif|jpg|png|jpeg|ico|jfif';
$config['max_size'] = '2000';
$this->upload->initialize($config);
$field_name = "gambar";
if (!$this->upload->do_upload($field_name)) {
$data = array(
'title' => 'Edit buku',
'kategori' => $this->m_kategori->get_all_data(),
'buku' => $this->m_buku->get_data($id_buku),
'error_upload' => $this->upload->display_errors(),
'isi' => 'buku/v_edit',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
} else {
//hapus gambar
$buku = $this->m_buku->get_data($id_buku);
if ($buku->gambar != "") {
unlink('./assets/gambar/' . $buku->gambar);
}
//end hapus gambar
$upload_data = array('uploads' => $this->upload->data());
$config['image_library'] = 'gd2';
$config['source_image'] = './assets/gambar/' .
$upload_data['uploads']['file_name'];
$this->load->library('image_lib', $config);
$data = array(
L-24
'id_buku' => $id_buku,
'nama_buku' => $this->input->post('nama_buku'),
'id_kategori' => $this->input->post('id_kategori'),
'harga' => $this->input->post('harga'),
'berat' => $this->input->post('berat'),
'deskripsi' => $this->input->post('deskripsi'),
'gambar' => $upload_data['uploads']['file_name'],
);
$this->m_buku->edit($data);
$this->session->set_flashdata('pesan', 'Data Berhasil Diganti !!!');
redirect('buku');
}
//jika tanpa ganti gambar
$data = array(
'id_buku' => $id_buku,
'nama_buku' => $this->input->post('nama_buku'),
'id_kategori' => $this->input->post('id_kategori'),
'harga' => $this->input->post('harga'),
'berat' => $this->input->post('berat'),
'deskripsi' => $this->input->post('deskripsi'),
);
$this->m_buku->edit($data);
$this->session->set_flashdata('pesan', 'Data Berhasil Diganti !!!');
redirect('buku');
}
$data = array(
'title' => 'Edit Buku',
'kategori' => $this->m_kategori->get_all_data(),
'buku' => $this->m_buku->get_data($id_buku),
'isi' => 'buku/v_edit',
);
$this->load->view('layout/v_wrapper_backend', $data, FALSE);
}
L-25
$this->session->set_flashdata('pesan', 'Data Berhasil Dihapus !!!');
redirect('buku');
}
}
V_kontak.php
<div class="card card-solid">
<div class="card-body pb-0">
<div class="row">
<div class="col-12 col-sm-6 col-md-4 d-flex align-items-stretch flex-
column">
<div class="card bg-light d-flex flex-fill">
<div class="card-header text-muted border-bottom-0">
</div>
<div class="card-body pt-0">
<div class="row">
<div class="col-7">
<h2 class="lead"><b>Hanifah Nur Ramadhan</b></h2>
<ul class="ml-4 mb-0 fa-ul text-muted">
<li class="small"><span class="fa-li"><i class="fas fa-lg
fa-building"></i></span>Alamat: Jalan Raya Centex No 105 C,Jakarta
Timur</li>
<li class="small"><span class="fa-li"><i class="fas fa-lg
fa-phone"></i></span> Phone : +62 877 8186 4774</li>
</ul>
</div>
</div>
</div>
<div class="card-footer">
<div class="text-right">
</div>
</div>
</div>
</div>
V_kategori.php
<div class="col-md-12">
<div class="card card-outline card-primary">
<div class="card-header">
<h3 class="card-title">Data Kategori</h3>
<div class="card-tools">
<button data-toggle="modal" data-target="#add" type="button"
class="btn btn-primary btn-sm">
<i class="fas fa-plus"> Add</i>
L-26
</button>
</div>
<!-- /.card-tools -->
</div>
<!-- /.card-header -->
<div class="card-body">
<?php
if ($this->session->flashdata('pesan')) {
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>
<h5><i class="icon fas fa-check"></i>';
echo $this->session->flashdata('pesan');
echo '</h5></div>';
}
?>
<table class="table table-bordered" id="example2">
<thead class="text-center">
<tr>
<th>No</th>
<th>Nama Kategori</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php $no = 1;
foreach ($kategori as $key => $value) { ?>
<tr>
<td class="text-center"><?= $no++; ?></td>
<td><?= $value->nama_kategori ?></td>
<td class="text-center">
<button class="btn btn-warning btn-sm" data-toggle="modal"
data-target="#edit<?= $value->id_kategori ?>">
<i class="fas fa-edit"></i></button>
<button class="btn btn-danger btn-sm" data-toggle="modal"
data-target="#delete<?= $value->id_kategori ?>">
<i class="fas fa-trash"></i></button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.card-body -->
</div>
L-27
<!-- /.card -->
</div>
<!-- /.col -->
<div class="form-group">
<label>Nama Kategori</label>
<input type="text" name="nama_kategori" class="form-control"
placeholder="Nama Kategori" required>
</div>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>
<?php
echo form_close();
?>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
L-28
<div class="modal-header">
<h4 class="modal-title">Edit Kategori</h4>
<button type="button" class="close" data-dismiss="modal" aria-
label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<?php
echo form_open('kategori/edit/' . $value->id_kategori);
?>
<div class="form-group">
<label>Nama Kategori</label>
<input type="text" name="nama_kategori" value="<?= $value-
>nama_kategori ?>" class="form-control" placeholder="Nama Kategori"
required>
</div>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>
<?php
echo form_close();
?>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<?php } ?>
L-29
<div class="modal-body">
<h5>Apakah Anda Ingin Menghapus Data Ini...?</h5>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<a href="<?= base_url('kategori/delete/' . $value->id_kategori) ?>"
type="submit" class="btn btn-primary">Delete</a>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<?php } ?>
V_laporan.php
<div class="col-md-4">
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">Laporan Harian</h3>
</div>
<div class="card-body">
<?php echo form_open('laporan/lap_harian') ?>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label>Tanggal</label>
<select name="tanggal" class="form-control">
<?php
$mulai = 1;
for ($i = $mulai; $i < $mulai + 31; $i++) {
echo '<option value="' . $i . '">' . $i . '</option>';
}
?>
</select>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>Bulan</label>
<select name="bulan" class="form-control">
<?php
$mulai = 1;
L-30
for ($i = $mulai; $i < $mulai + 12; $i++) {
echo '<option value="' . $i . '">' . $i . '</option>';
}
?>
</select>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>Tahun</label>
<select name="tahun" class="form-control">
<?php
$mulai = date('Y') - 1;
for ($i = $mulai; $i < $mulai + 7; $i++) {
echo '<option value="' . $i . '">' . $i . '</option>';
}
?>
</select>
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block"><i
class="fa fa-print"></i> Cetak Laporan</button>
</div>
</div>
</div>
<?php echo form_close() ?>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">Laporan Bulanan</h3>
<!-- /.card-tools -->
</div>
<!-- /.card-header -->
<div class="card-body">
<?php echo form_open('laporan/lap_bulanan') ?>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
L-31
<label>Bulan</label>
<select name="bulan" class="form-control">
<?php
$mulai = 1;
for ($i = $mulai; $i < $mulai + 12; $i++) {
echo '<option value="' . $i . '">' . $i . '</option>';
}
?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Tahun</label>
<select name="tahun" class="form-control">
<?php
$mulai = date('Y') - 1;
for ($i = $mulai; $i < $mulai + 7; $i++) {
echo '<option value="' . $i . '">' . $i . '</option>';
}
?>
</select>
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block"><i
class="fa fa-print"></i> Cetak Laporan</button>
</div>
</div>
</div>
<?php echo form_close() ?>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
<div class="col-md-4">
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">Laporan Tahunan</h3>
<!-- /.card-tools -->
</div>
<!-- /.card-header -->
<div class="card-body">
L-32
<?php echo form_open('laporan/lap_tahunan') ?>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label>Tahun</label>
<select name="tahun" class="form-control">
<?php
$mulai = date('Y') - 1;
for ($i = $mulai; $i < $mulai + 7; $i++) {
echo '<option value="' . $i . '">' . $i . '</option>';
}
?>
</select>
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block"><i
class="fa fa-print"></i> Cetak Laporan</button>
</div>
</div>
</div>
<?php echo form_close() ?>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
Pelanggan.php
class Pelanggan extends CI_Controller
{
L-33
));
$this->form_validation->set_rules('email', 'E-mail',
'required|is_unique[tb_pelanggan.email]', array(
'required' => '%s Harus Diisi !!!',
'is_unique' => '%s Email Sudah Ini Terdaftar ...!'
));
$this->form_validation->set_rules('password', 'password', 'required', array(
'required' => '%s Harus Diisi !!!'
));
$this->form_validation->set_rules('ulangi_password', 'Ulangi Password',
'required|matches[password]', array(
'required' => '%s Harus Diisi !!!',
'matches' => '%s Password Tidak Sama ...!'
));
if ($this->form_validation->run() == FALSE) {
$data = array(
'title' => 'Register Pelanggan',
'isi' => 'v_register',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
} else {
$data = array(
'nama_pelanggan' => $this->input->post('nama_pelanggan'),
'email' => $this->input->post('email'),
'password' => $this->input->post('password'),
);
$this->m_pelanggan->register($data);
$this->session->set_flashdata('pesan', 'Selamat, Register Berhasil Silahkan
Login Kembali !!');
redirect('pelanggan/register');
}
}
if ($this->form_validation->run() == TRUE) {
L-34
$email = $this->input->post('email');
$password = $this->input->post('password');
$this->pelanggan_login->login($email, $password);
}
$data = array(
'title' => 'Login Pelanggan',
'isi' => 'v_login_pelanggan',
);
$this->load->view('layout/v_wrapper_frontend', $data, FALSE);
}
V_pesanan_masuk.php
<div class="col-sm-12">
<?php
if ($this->session->flashdata('pesan')) {
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>
<h5><i class="icon fas fa-check"></i>';
echo $this->session->flashdata('pesan');
echo '</h5>
</div>';
}
?>
<div class="card card-primary card-outline card-outline-tabs">
<div class="card-header p-0 border-bottom-0">
<ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist">
L-35
<li class="nav-item">
<a class="nav-link active" id="custom-tabs-four-home-tab" data-
toggle="pill" href="#custom-tabs-four-home" role="tab" aria-controls="custom-
tabs-four-home" aria-selected="true">Pesanan Masuk</a>
</li>
<li class="nav-item">
<a class="nav-link" id="custom-tabs-four-profile-tab" data-
toggle="pill" href="#custom-tabs-four-profile" role="tab" aria-controls="custom-
tabs-four-profile" aria-selected="false">Diproses</a>
</li>
<li class="nav-item">
<a class="nav-link" id="custom-tabs-four-messages-tab" data-
toggle="pill" href="#custom-tabs-four-messages" role="tab" aria-
controls="custom-tabs-four-messages" aria-selected="false">Dikirim</a>
</li>
<li class="nav-item">
<a class="nav-link" id="custom-tabs-four-settings-tab" data-
toggle="pill" href="#custom-tabs-four-settings" role="tab" aria-controls="custom-
tabs-four-settings" aria-selected="false">Selesai</a>
</li>
</ul>
</div>
<div class="card-body">
<div class="tab-content" id="custom-tabs-four-tabContent">
<div class="tab-pane fade show active" id="custom-tabs-four-home"
role="tabpanel" aria-labelledby="custom-tabs-four-home-tab">
<table class="table">
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>ekspedisi</th>
<th>Total Bayar</th>
<th></th>
</tr>
<?php foreach ($pesanan as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
L-36
<?php if ($value->status_bayar == 0) { ?>
<span class="badge badge-warning">Belum
Bayar</span>
<?php } else { ?>
<span class="badge badge-success">Sudah
Bayar</span><br>
<span class="badge badge-primary">Menunggu
Verifikasi</span>
<?php } ?>
</td>
<td>
<?php if ($value->status_bayar == 1) { ?>
<button class="btn btn-sm btn-success btn-flat" data-
toggle="modal" data-target="#cek<?= $value->id_transaksi ?>">Cek Bukti
Bayar</button>
<a href="<?= base_url('admin/proses/' . $value-
>id_transaksi) ?>" class="btn btn-sm btn-flat btn-primary">Proses</a>
<?php } ?>
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="tab-pane fade" id="custom-tabs-four-profile"
role="tabpanel" aria-labelledby="custom-tabs-four-profile-tab">
<table class="table">
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
<th></th>
</tr>
<?php foreach ($pesanan_diproses as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
L-37
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
</td>
<td>
<?php if ($value->status_bayar == 1) { ?>
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="tab-pane fade" id="custom-tabs-four-messages"
role="tabpanel" aria-labelledby="custom-tabs-four-messages-tab">
<table class="table">
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
<th>No Resi</th>
</tr>
<?php foreach ($pesanan_dikirim as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
L-38
</td>
<td>
<h4><?= $value->no_resi ?></h4>
</td>
</tr>
<?php } ?>
</table>
</div>
<div class="tab-pane fade" id="custom-tabs-four-settings"
role="tabpanel" aria-labelledby="custom-tabs-four-settings-tab">
<table class="table">
<tr>
<th>No Order</th>
<th>Tanggal</th>
<th>Ekspedisi</th>
<th>Total Bayar</th>
<th>No Resi</th>
</tr>
<?php foreach ($pesanan_selesai as $key => $value) { ?>
<tr>
<td><?= $value->no_order ?></td>
<td><?= $value->tgl_order ?></td>
<td>
<b><?= $value->ekspedisi ?></b><br>
Paket : <?= $value->paket ?><br>
Ongkir : <?= number_format($value->ongkir, 0) ?>
</td>
<td>
<b>Rp.<?= number_format($value->total_bayar, 0)
?></b><br>
</td>
<td>
<h4><?= $value->no_resi ?></h4>
</td>
</tr>
<?php } ?>
</table>
</div>
</div>
</div>
L-39
<!-- /.card -->
</div>
</div>
<table class="table">
<tr>
<th>Nama Bank</th>
<th>:</th>
<td><?= $value->nama_bank ?></td>
</tr>
<tr>
<th>No Rek</th>
<th>:</th>
<td><?= $value->no_rek ?></td>
</tr>
<tr>
<th>Atas Nama</th>
<th>:</th>
<td><?= $value->atas_nama ?></td>
</tr>
<tr>
<th>Total Bayar</th>
<th>:</th>
<td>Rp. <?= number_format($value->total_bayar, 0) ?></td>
</tr>
</table>
</div>
L-40
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
<?php } ?>
L-41
</table>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Kirim</button>
</div>
<?php echo form_close() ?>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
<?php } ?>
User.php
class User extends CI_Controller
{
L-42
);
$this->m_user->add($data);
$this->session->set_flashdata('pesan', 'Data Berhasil Ditambahkan !!');
redirect('user');
}
L-43
B. Lampiran Output Program
Tampilan Kategori
L-44
Tampilan Kontak
Tampilan Login
L-45
Tampilan View Cart
Tampilan Checkout
L-46
Tampilan Bayar
L-47
Tampilan Buku
L-48
Tampilan Kategori
Tampilan Laporan
Tampilan User
L-49