Disusun oleh :
Muhammad Abdillah Asyhar
( 12220927 ) Rendy Cahya Pradia (
12221410 )
Eko Nurhidayat (12220863 )
Yola Oktopiani ( 12220660 )
Wiki Nurdiansyah ( 12220933
)
BAB II........................................................................................................................................3
LANDASAN TEORI.................................................................................................................3
2.1. Konsep Dasar Program.......................................................................................................3
2.2. Bahasa Pemrograman.........................................................................................................3
BAB III.......................................................................................................................................5
PEMBAHASAN.........................................................................................................................5
3.1. Tema Website....................................................................................................................5
3.2. Tampilan Website dan Code..............................................................................................6
A. Tampilan Project Halaman Pembeli....................................................................................6
B. Tampilan Project Halaman Admin......................................................................................13
C. Source Code Project...........................................................................................................20
A. Source Code Controller Dan Model Halaman Pembeli.................................................20
B. Source Code View Tampilan Halaman Pembeli............................................................62
C. Source Code Controller Dan Model Halaman Admin...................................................78
D. Source Code View Tampilan Halaman Admin............................................................126
3.3. List Pembagian Tugas.....................................................................................................133
BAB IV......................................................................................................................................134
PENUTUP..................................................................................................................................134
4.1. Kesimpulan..........................................................................................................................134
i
BAB 1
PENDAHULUA
N
Dalam era digital yang terus berkembang pesat, website kue dan roti menjadi salah satu
bisnis yang tetap populer dan diminati oleh banyak orang. Permintaan akan kue dan produk
roti yang lezat dan berkualitas tinggi terus meningkat, baik untuk perayaan pribadi maupun
acara- acara khusus seperti ulang tahun, pernikahan, atau acara bisnis. Dalam konteks ini,
penting bagi pemilik toko kue untuk memanfaatkan kehadiran online dan memperluas
jangkauan pasar mereka.
Dalam makalah ini, kami akan membahas tentang pengembangan proyek web programming
bertema Website penjualan roti dan kue. Tujuan dari proyek ini adalah untuk menciptakan
sebuah platform online yang dapat membantu pemilik toko kue memperluas jangkauan bisnis
mereka, meningkatkan visibilitas, dan memberikan pengalaman yang lebih baik kepada
pelanggan.
Pada masa sekarang, banyak konsumen yang lebih suka berbelanja secara online, termasuk
dalam membeli kue dan produk roti. Dengan adanya proyek web programming ini, pemilik
toko kue dapat menawarkan berbagai produk mereka secara online, memungkinkan
pelanggan untuk menjelajahi dan memilih dari berbagai pilihan kue yang tersedia.
Selain itu, platform web ini akan memberikan kemudahan bagi pelanggan dalam melakukan
pemesanan dan pembayaran secara online. Pelanggan dapat melihat katalog produk yang
lengkap, melihat informasi detail tentang setiap kue, serta memilih ukuran, rasa, dan dekorasi
yang diinginkan. Mereka juga dapat memilih metode pengiriman atau pengambilan sendiri
yang paling nyaman bagi mereka.
Selain fungsionalitas transaksi, proyek web programming ini juga akan menyediakan
informasi tambahan seperti testimoni pelanggan, daftar harga, dan kontak informasi agar
pelanggan dapat dengan mudah berinteraksi dengan pemilik toko kue. Fitur-fitur ini akan
meningkatkan kepercayaan pelanggan dan membangun hubungan yang lebih baik antara
pemilik toko kue dan konsumen.
Dalam makalah ini, saya akan menjelaskan langkah-langkah yang saya ambil dalam
pengembangan proyek ini, termasuk analisis kebutuhan, desain antarmuka pengguna (UI),
pemilihan teknologi dan bahasa pemrograman, serta implementasi dan pengujian. Saya juga
akan membahas manfaat dari penggunaan proyek web programming ini bagi pemilik toko
kue dan pengalaman pengguna.
Saya berharap bahwa makalah ini dapat memberikan pemahaman yang lebih baik tentang
potensi pengembangan web programming dalam industri toko kue dan memberikan inspirasi
1
bagi para pembaca yang tertarik untuk mengembangkan proyek serupa.
2
1.2. Maksud dan Tujuan
Maksud dari makalah ini adalah untuk menggambarkan proses pengembangan proyek web
programming yang telah dilakukan. Proyek web programming ini memiliki tujuan utama
untuk menciptakan sebuah aplikasi web yang fungsional dan dapat memberikan manfaat bagi
pengguna.
Melalui maksud dan tujuan yang telah disebutkan di atas, makalah ini diharapkan dapat
memberikan pemahaman yang lebih baik tentang pengembangan proyek web programming
dan memberikan manfaat serta inspirasi bagi pembaca yang tertarik dalam bidang ini.
3
BAB II
LANDASAN TEORI
Lahirnya internet dan website menjawab kebutuhan manusia akan teknologi saat ini,
mendorong pola pikir mereka untuk terus meningkatkan standar kebutuhan informasi dan
telekomunikasi. Bukan hanya perusahaan atau instansi pemerintahan saja, tetapi hampir
semua organisasi yang ada, telah meenggunakan media informasi berbasis website karena
dinilai lebih efisien dan mudah diakses dimana saja. Sehingga hal ini lebih memudahkan
dalam proses pencarian informasi, transfer data, atau promosi. Beberapa istilah dalam dunia
pemrograman diantaranya :
1. Website
Menurut Sidik dkk. (2007:1) World Wide Web(WWW), lebih dikenal dengan
web, merupakan salah satu layanan yang didapat oleh pemakai komputer yang
terhubung ke internet. Web pada awalnya adalah ruang informasi dalam internet,
dengan menggunakan hyperteks pemakan dituntun untuk menemukan informasi
dengan mengikuti link yang disediakan.
2. Internet
Internet berasal dari kata internasional networking yang artinya jaringan
internasional (luas dan mendunia). Jaringan tersebut terbentuk dari banyaknya
jaringan terkecil yang saling tergabung menjadi satu jaringan komputer.
Madcoms(2010:4).
3. Browser Web
Menurut Madcoms (2007:5) “Browser web adalah software yang digunakan untuk
menampilkan informasi dari server web. Software ini kini telah dikembangkan
dengan menggunakan user interface grafis, sehingga pemakai dapat dengan
melakukan ‘POINT’ dan ‘CLICK’ untuk auto dokumen”.
4. Server Web
Server Web adalah server internet yang digunakan sebagai koneksi dan transfer
data. Ketika Anda browsing internet, browser Anda bertindak sebagai klien yang
akan disambungkan kepada Server Web dan Server Web akan kembali
menampilkan informasi dari satu situs, Saputra(2010:2).
4
memperindah tampilan website. Semakin berkembangnya bahasa pemrograman web maka
munculah bahasa pemrograman yang dapat berjalan pada system operasi windows sekaligus
pada system operasi UNIX yaitu PHP (PHP Hypertext Prepoccessor). Berikut beberapa
bahasa pemrograman yang dipakai dalam merancang dan membuat sebuah Web :
1. PHP
Menurut Supriono (2008:17) PHP merupakan kependekan dari kata Hypertext
Prepocessor. PHP tergolong sebagai perangkat lunak open source yang diatur
dalam aturan General Purpose Licenci (GPL). Pemrograman PHP sangat cocok
dikembangkan dalam lingkungan web, php biasa diletakkan pada script HTML
atau sebaliknya. PHP digunakan untuk perkembangan web dinamis. Maksudnya,
PHP mampu menghasilkan website yang secara terus menerus hasilnya bisa
berubah- ubah sesuai dengan pola yang diberikan.
2. CSS (Cascading Style Sheet)
Cascading Style Sheet (CSS) adalah satu kumpulan kode-kode untuk memformat,
yang mengandalkan satu tampilan isi pada halamam web. Penggunaan style CSS
pada format satu halaman diletakan terpisah dari tampilan halaman.
3. CI3 (CodeIgniter)
CodeIgniter adalah kerangka kerja pengembangan web (web framework) yang
bersifat open-source dan menggunakan bahasa pemrograman PHP. Kerangka
kerja ini dirancang untuk mempermudah pengembangan aplikasi web dengan
menyediakan struktur dan fitur yang dapat digunakan secara konsisten.
CodeIgniter fokus pada kecepatan, kebersihan kode, dan kesederhanaan. Pada
project ini kami menggunakan CodeIgniter Versi 3 (CI3).
1. Ringan: CodeIgniter dirancang untuk menjadi ringan dan cepat. Ini berarti
bahwa aplikasi yang dibangun dengan CodeIgniter dapat dijalankan dengan cepat
tanpa membebani server.
2. MVC (Model-View-Controller): CodeIgniter mengikuti pola desain arsitektur
MVC yang memisahkan logika aplikasi menjadi tiga komponen utama: Model
(logika data), View (tampilan), dan Controller (pengontrol logika).
3. Dokumentasi yang baik: CodeIgniter menyediakan dokumentasi yang baik dan
mudah dimengerti, memudahkan pengembang untuk memahami cara
menggunakan fitur-fitur yang disediakan oleh kerangka kerja ini.
4. Mudah dipelajari: CodeIgniter dirancang dengan filosofi kebersihan dan
kesederhanaan sehingga mudah dipelajari dan diimplementasikan, bahkan untuk
pemula.
5
5. Fitur-fitur bawaan: Meskipun ringan, CodeIgniter menyediakan berbagai fitur
bawaan yang membantu pengembang dalam pengembangan aplikasi web, seperti
manajemen database, manipulasi gambar, dan lainnya.
BAB III
PEMBAHASA
N
Menurut KBBI (Kamus Besar Bahasa Indonesia), Website kue adalah tempat yang
menjual berbagai macam kue. Di website kue, biasanya tersedia berbagai jenis kue seperti
kue basah, kue kering, roti, pastry, dan mungkin juga kue-kue spesial lainnya. Website kue
dapat berupa usaha kecil-kecilan, warung kue, atau bahkan Website kue besar yang memiliki
variasi produk yang lebih lengkap. Namun seiring berjalannya waktu Website kue yang
terkadang bisa dibilang usaha kecil- kecilan pun bisa diubah menjadi Webiste yang segala
aspeknya memanfaatkan teknologi yang hadir di zaman yang modern ini.
Di era modern ini, hampir setiap aspek masyarakat dipengaruhi oleh kehadiran
teknologi dan sistem komputer. Dalam perdagangan menggunakan sistem komputer, salah
satu contohnya adalah website. Website merupakan suatu halaman atau kumpulan halaman
yang dapat diakses melalui internet. Website dapat digunakan sebagai platform untuk
melakukan transaksi jual beli secara online maupun secara langsung untuk media memesan
barang yang akan dipesan atau dibeli.
Dengan menggunakan website sebagai platform jual beli, transaksi dapat dilakukan
dengan lebih efisien dan mudah, karena pembeli dapat memilih produk, melihat detailnya,
melakukan pembayaran tanpa kendala.
Oleh sebab itu, sesuai dengan tema yang ajukan untuk project kali ini mata kuliah
WEB PROGRAMMING 2 ini, kami membuat sebuah website penjulan kue dan roti. Terdiri
dari berbagai macam menu kue yang tersedia serta harga dari setiap kue yang dijual, hal ini
memudahkan untuk mengetahui apa yang dipesan pelanggan disetiap pembeliannya.
6
3.2. Tampilan Website Dan Code Website
1. Tampilan Home
Pada tampilan home terdapat tampilan navbar dimana tampilan ini terdapat menu Produk kami, Kontak
dan Login.
7
2. Tampilan Halaman Login Dan Registrasi
Tampilan ini berisi conten halaman login bagi user yang sudah melakukan registrasi sebelumnya (sudah
mempunyai akun). Jika user belum registrasi maka bisa langsung mengklik tombol ‘create an Account’.
Pada tampilan juga terdapat fitur lupa password untuk user yang lupa password yang digunakan saat
mendaftar.
8
3. Tampilan Halaman Forgot Password
Tampilan ini Berfungsi untuk Mengubah Password User Pembeli, system kerjanya yaitu
user menginput alamat email yang terdaftar pada website. Setelah menginput si user
mengklik forgot password. Maka link lupa password akan dikirim ke email user. User
tinggal klik link tersebut dan bisa langsung mengganti passwordnya.
Isi dari tampilan ini berupa produk-produk yang kami jual. Pada tampilan ini costumer
dapat memilih produk dan customer dapat menambahkan produk ke keranjang belanja.
9
5. Tampilan Halaman Detail Produk
Pada Tampilan ini customer bisa melihat detail dari produk yang kami jual,
selain itu juga terdapat tombol add to cart untuk memasukkan produk ke dalam
keranjang.
6. Halaman Kontak
Halaman ini digunakan untuk costumer menyampaikan kritik dan saran kepada toko
kami, agar dapat lebih berkembang dari segala aspek.
1
0
7. Tampilan Halaman Gallery
Pada Halaman ini customer bisa melihat foto atau gallery dari produk kami.
8. Tampilan Keranjang
Pada halaman ini costumer bisa mengecek kembali barang yang akan di check out,
sebelum melakukan transaksi pembayaran. Pada halaman ini juga costumer bisa
melakukan update keranjang, menghapus produk yang tidak jadi dibeli, dan
menambah Quantity/Jumlah.
10
9. Halaman Cekout
pada halaman check out ini, costumer sudah fix melakukan pemesanan barang yang akan
dibeli. Costumer tinggal melakukan pengisian Alamat penerima, nama penerima, nomer
handphone, total yang harus dibayar dan lain-lain
Berisi pesanan pelanggan yang sudah checkout dan melakukan pembayaran. Lalu
tinggal diproses oleh admin untuk melakukan pengiriman barang.
11
11. Tampilan Profil
Berisi tentang akun profil pelanggan, dihalaman ini pelanggan dapat mengupdate foto profile,
nama, alamat dan nomer handphone costumer dan lain-lain.
Pada Halaman Ini customer bisa melihat histori pembelian barang yang sudah pernah ia
beli sebelumnya.
12
B. Tampilan Halaman Admin
Tampilan ini berisi conten halaman login bagi user admin yang sudah
melakukan registrasi sebelumnya (sudah mempunyai akun). Jika user admin belum
registrasi maka bisa langsung mengklik tombol ‘create an Account’. Pada tampilan
juga terdapat fitur lupa password untuk user admin yang lupa password yang
digunakan saat mendaftar
13
2. Tampilan Halaman Forgot Password Admin
Tampilan ini Berfungsi untuk Mengubah Password User Admin, system kerjanya
yaitu user menginput alamat email yang terdaftar pada website. Setelah menginput
si user mengklik forgot password. Maka link lupa password akan dikirim ke email
user admin. Setelah itu user tinggal klik link tersebut dan bisa langsung mengganti
passwordnya.
Tampilan Ini adalah tampilan yang akan muncul pada saat user admin sudah
melakukan login, di dalam nya terdapat pengelolaan data barang, data
kategori barang, data transaksi, data rincian transaksi dan lain-lain.
14
4. Tampilan Data Pesanan Masuk
Tampilan ini berfungsi untuk mengelola data pesanan masuk yang dikirimkan
oleh pembeli di halaman pembeli.
15
6. Tampilan Data Kategori Barang
16
8. Tampilan Data Rincian Transaksi
17
10. Tampilan Data User Admin
18
12. Tampilan Data Pesan
Tampilan ini berfungsi untuk mengelola data pesan yang telah di kirimkan
oleh pembeli di halaman pembeli, di dalam nya terdapat system delete data, detail
data, dan edit data untuk mengelola data nya.
19
C. Source Code Project
if (!$this->session->userdata(“email”)) {
redirect(“Home/index”);
} else {
if ($this->session->userdata(“role_id”) != 2) {
redirect(“Halaman_Eror”);
}
}
$this->load->helper(“form”);
}
$this->load->library(‘pagination’);
$config[‘base_url’] = ‘http://localhost/project-toko-
roti/Halaman_Pembeli/index’;
$config[‘total_rows’] = $this->Model_Halaman_Pembeli-
>GetJumlahProduk();
$config[‘per_page’] = 8;
$config[‘first_link’] = ‘First’;
$config[‘first_tag_open’] = ‘<li class=”page-item”>’;
20
$config[‘first_tag_close’] = ‘</li>’;
$config[‘last_link’] = ‘Last’;
$config[‘last_tag_open’] = ‘<li class=”page-item”>’;
$config[‘last_tag_close’] = ‘</li>’;
$config[‘next_link’] = ‘»’;
$config[‘next_tag_open’] = ‘<li class=”page-item”>’;
$config[‘next_tag_close’] = ‘</li>’;
$config[‘prev_link’] = ‘«’;
$config[‘prev_tag_open’] = ‘<li class=”page-item”>’;
$config[‘prev_tag_close’] = ‘</li>’;
$this->pagination->initialize($config);
$data[“start”] = $this->uri->segment(3);
21
$config[‘base_url’] = ‘http://localhost/project-toko-
roti/Halaman_Pembeli/TampilCategory/’ . $id_kategori;
$config[‘total_rows’] = $this->Model_Halaman_Pembeli-
>GetJumlahProdukCategory($id_kategori);
$config[‘per_page’] = 8;
$config[‘first_link’] = ‘First’;
$config[‘first_tag_open’] = ‘<li class=”page-item”>’;
$config[‘first_tag_close’] = ‘</li>’;
$config[‘last_link’] = ‘Last’;
$config[‘last_tag_open’] = ‘<li class=”page-item”>’;
$config[‘last_tag_close’] = ‘</li>’;
$config[‘next_link’] = ‘»’;
$config[‘next_tag_open’] = ‘<li class=”page-item”>’;
$config[‘next_tag_close’] = ‘</li>’;
$config[‘prev_link’] = ‘«’;
$config[‘prev_tag_open’] = ‘<li class=”page-item”>’;
$config[‘prev_tag_close’] = ‘</li>’;
$this->pagination->initialize($config);
$data[“start”] = $this->uri->segment(4);
// Tutup Pagination
$data[“judul”] = $this->Model_Halaman_Pembeli-
>JudulCategory($id_kategori);
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“kategoriproduk”] = $this->Model_Halaman_Pembeli-
>ViewCategory($id_kategori, $config[“per_page”], $data[“start”]);
22
$data[“kategori”] = $this->Model_Halaman_Pembeli->GetCategory();
$this->load->view(“Halaman_Kategori_Produk”, $data);
}
$qty = $this->input->post(“qty”);
if (!$produk[“stok”]) {
$this->session->set_flashdata(“Stok”, “Kosong”);
redirect(“Halaman_Pembeli/StokBarang”);
} else {
if ($qty > $produk[“stok”]) {
$this->session->set_flashdata(“lebihbatass”, “Stok”);
redirect(“Halaman_Pembeli/index”);
} else {
$data = [
‘id’ => $produk[“id_barang”],
‘qty’ => $this->input-
>post(“qty”), ‘price’ =>
$produk[“harga_barang”], ‘name’ =>
$produk[“nama_barang”],
‘kategori’ => $produk[“kategori_barang”],
‘gambar’ => $produk[“gambar”],
‘stok’ => $produk[“stok”],
‘berat’ => $produk[“berat”]
];
$this->cart->insert($data);
$this->session->set_flashdata(“berhasil”, “BERHASIL”);
redirect(“Halaman_Pembeli/index”);
}
}
}
if (!$this->cart->contents()) {
$this->session->set_flashdata(“Kosonggg”, “KOSONG”);
redirect(“Halaman_Pembeli/HalamanKeranjangKosong”);
} else {
$data[“judul”] = “Halaman Keranjang Belanja”;
23
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$this->load->view(“Halaman_Keranjang_Belanja”, $data);
}
}
$this->cart->destroy();
$this->session->set_flashdata(“Hapus”, “Berhasil”);
redirect(“Halaman_Pembeli/HalamanKeranjang”);
}
if ($this->cart->contents()) {
$this->session->set_flashdata(‘Keranjang’, ‘DI UPDATE’);
redirect(‘Halaman_Pembeli/HalamanKeranjang’);
} else {
$this->session->set_flashdata(‘Keranjangg’, ‘KOSONG’);
24
redirect(“Halaman_Pembeli/HalamanKeranjang”);
}
}
25
“alpha” => “Kolom Tempat Lahir Tidak Boleh Di input Menggunakan
Angka”
])
;
if ($this->form_validation->run() == FALSE) {
$this->session->set_flashdata(“profile”, “GAGAL”);
$data[“judul”] = “Halaman Akun Profile Pembeli”;
$this->load->view(“Halaman_Profile_Pembeli”, $data);
} else {
$this->Model_Halaman_Pembeli->UpdateProfileUser();
$this->session->set_flashdata(“26ogin26r”, “BERHASIL”);
redirect(“Halaman_Pembeli/Profile”);
}
}
if (!$this->cart->contents()) {
$this->session->set_flashdata(“kosong”, “KOSONG”);
redirect(“Halaman_Pembeli/KeranjangKosong”);
} else {
if (!$user[“alamat”]) {
$this->session->set_flashdata(“lengkapialamat”, “KOSONG”);
redirect(“Halaman_Pembeli/Lengkapi”);
} else {
if (!$user[“no_telepon”]) {
$this->session->set_flashdata(“lengkapinotelepon”,
“KOSONG”);
redirect(“Halaman_Pembeli/Lengkapi”);
} else {
if (!$user[“alamat”] && !$user[“no_telepon”]) {
$this->session-
>set_flashdata(“lengkapialamatnotelepon”, “KOSONG”);
redirect(“Halaman_Pembeli/Lengkapi”);
} else {
$this->form_validation->set_rules(“nama_alamat”, “NAMA
ALAMAT”, “required”,
[ “required” => “Kolom Nama Alamat Harus Diisi”
]);
$this->form_validation->set_rules(“nama_penerima”,
“NAMA PENERIMA”, “required”, [
“required” => “Kolom Nama Penerima Alamat Harus
Diisi”
]);
$this->form_validation-
>set_rules(“no_handphone_penerima”, “NO HANDPHONE PENERIMA”,
“required|integer”, [
“required” => “Kolom No Handphone Penerima Harus
Diisi”,
“integer” => “Kolom No Handphone Penerima Harus
Diisi Menggunakan
Angka”
27
]);
$this->form_validation-
>set_rules(“alamat_lengkap_penerima”, “ALAMAT LENGKAP PENERIMA”, “required”, [
“required” => “Kolom Alamat Lengkap Penerima Harus
Diisi”,
]);
$this->form_validation->set_rules(“kecamatan”,
“KECAMATAN”, “required”, [
“required” => “Kolom Kecamatan Harus Diisi”,
]);
$this->form_validation->set_rules(“kode_pos”, “KODE
POS”, “required|integer”, [
“required” => “Kolom Kode Pos Harus Diisi”,
“integer” => “Kolom Kode Pos Harus Diisi
Menggunakan Angka”
])
;
$this->form_validation->set_rules(“kota”, “KOTA”,
“required”, [
“required” => “Kolom Kota Harus Diisi”,
]);
$this->form_validation->set_rules(“provinsi”,
“PROVINSI”, “required”, [
“required” => “Kolom Provinsi Harus Diisi”,
]);
$this->form_validation->set_rules(“atas_nama”, “ATAS
NAMA”, “required”,
[ “required” => “Kolom Atas Nama Harus Diisi”,
]);
$this->form_validation->set_rules(“nama_bank”, “NAMA
BANK”, “required”,
[ “required” => “Kolom Nama Bank Harus Diisi”
]);
$this->form_validation->set_rules(“no_rek”, “NO
REKENING”, “required|integer”, [
“required” => “Kolom No Rek Harus Diisi”,
“integer” => “Kolom No Rek Harus Diisi
Menggunakan
Angka”
]);
28
if ($this->form_validation->run() == FALSE) {
29
$data[“judul”] = “Halaman Checkout”;
$data[“user”] = $this->db->get_where(“user”,
[“email” => $this->session->userdata(“email”)])->row_array();
$data[“rekening”] = $this->db->get(“rekening”)-
>row_array();
$this->load->view(“Halaman_Chekout_Pembeli”,
$data);
} else {
$config[‘upload_path’] = ‘./assets/bukti_bayar/’;
$config[‘allowed_types’] = ‘gif|jpg|png|jpeg’;
$config[‘max_size’] = ‘9000’;
$this->upload->initialize($config);
$field_name = ‘bukti_bayar’;
if (!$this->upload->do_upload($field_name)) {
echo $this->upload->display_errors();
} else {
$upload_data = [
‘upload’ => $this->upload->data()
];
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] =
‘./assets/bukti_bayar/’ . $upload_data[‘upload’][‘file_name’];
$this->load->library(‘image_lib’, $config);
}
$bukti_bayar =
$upload_data[‘upload’][‘file_name’];
date_default_timezone_set(“Asia/Jakarta”);
$data = [
“id_pembeli” => $this->session-
>userdata(“id”),
“no_order” => $this->input->post(“no_order”),
“tgl_order” => date(“Y-m-d H:i:s”),
“nama_alamat” => $this->input-
>post(“nama_alamat”),
“nama_penerima” => $this->input-
>post(“nama_penerima”),
“no_handphone_penerima” => $this->input-
>post(“no_handphone_penerima”),
“alamat_lengkap_penerima” => $this->input-
>post(“alamat_lengkap_penerima”),
“kecamatan” => $this->input-
>post(“kecamatan”),
“kode_pos” => $this->input->post(“kode_pos”),
“kota” => $this->input->post(“kota”),
21
0
“provinsi” => $this->input->post(“provinsi”),
“berat_total” => $this->input-
>post(“berat_total”),
“total_bayar” => $this->input-
>post(“total_bayar”),
“status_bayar” => ‘1’,
“status_order” => 0,
‘atas_nama’ => $this->input-
>post(“atas_nama”),
‘nama_bank’ => $this->input-
>post(“nama_bank”),
‘no_rek’ => $this->input->post(“no_rek”),
‘bukti_bayar’ => $bukti_bayar,
];
$this->Model_Halaman_Pembeli-
>InsertTransaksi($data);
$this->Model_Halaman_Pembeli-
>InsertCart($data2);
$barang = $this->db->get_where(“tb_barang”,
[“id_barang” => $items[“id”]])->row_array();
$data = [
“stok” => $stok
];
$this->db->where(“id_barang”, $items[“id”]);
$this->db->update(“tb_barang”, $data);
}
30
$this->cart->destroy();
$this->session->set_flashdata(“berhasill”,
“BERHASIL”);
redirect(“Halaman_Pembeli/PesananSaya”);
}
}
}
}
}
}
31
{
32
$this->load->view(“Halaman_Detail_Order_Pesanan”, $data);
}
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Kontak”;
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$this->load->view(“Halaman_Kontak_Pembeli”, $data);
} else {
$this->Model_Halaman_Pembeli->Contact();
$this->session->set_flashdata(“kontak”, “Berhasil”);
33
redirect(“Halaman_Pembeli/Contact”);
}
}
$this->upload->initialize($config);
$field_name = ‘bukti_diterima’;
if (!$this->upload->do_upload($field_name)) {
echo $this->upload->display_errors();
} else {
$upload_data = [
‘upload’ => $this->upload->data()
];
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] = ‘./assets/bukti_diterima/’ .
$upload_data[‘upload’][‘file_name’];
$this->load->library(‘image_lib’, $config);
}
$image = $upload_data[‘upload’][‘file_name’];
$data = [
“bukti_diterima” => $image,
“status_order” => 3,
];
$this->db->where(“id_transaksi”, $dkrm);
$this->db->update(“tb_transaksi”, $data);
$this->session->set_flashdata(“berhasil”, “BERHASIL”);
redirect(“Halaman_Pembeli/PesananSaya”);
}
34
public function DetailOrderPesananBarangSelesai($dtrm)
{
$data[“judul”] = “Detail Order Pesanan”;
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“detailorderpesanan”] = $this->db-
>get_where(“tb_rinci_transaksi”, [“no_order” => $dtrm])->result_array();
$data[“detailorderpesanann”] = $this->db-
>get_where(“tb_rinci_transaksi”, [“no_order” => $dtrm])->row_array();
$this->load->view(“Halaman_Detail_Order_Pesanan_Barang_Selesai”,
$data);
}
$this->db->where(“no_order”, $blmbyr);
$this->db->delete(“tb_rinci_transaksi”);
$this->session->set_flashdata(“hapus”, “BERHASIL”);
redirect(“Halaman_Pembeli/PesananSaya”);
}
if ($historipesanan[“status_bayar”] == 1) {
$data[“judul”] = “Detail Histori Pembelian”;
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“historipesananbarang”] = $this->db-
>get_where(“tb_transaksi”, [“id_pembeli” => $this->session->userdata(“id”),
“status_bayar” => 1])->result_array();
$this->load->view(“Halaman_Detail_Histori_pesanan”, $data);
} else {
$this->session->set_flashdata(“histori”, “HISTORI”);
redirect(“Halaman_Pembeli/HistoriPesananKosong”);
}
}
35
$data[“judul”] = “Detail Histori Pembelian”;
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$this->load->view(“Halaman_Histori_Pesanan_Kosong”, $data);
}
$this->upload->initialize($config);
$field_name = ‘image’;
if (!$this->upload->do_upload($field_name)) {
echo $this->upload->display_errors();
} else {
$upload_data = [
‘upload’ => $this->upload->data()
];
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] = ‘./assets/profile/’ .
$upload_data[‘upload’][‘file_name’];
$this->load->library(‘image_lib’, $config);
}
$image = $upload_data[‘upload’][‘file_name’];
$data = [
‘image’ => $image,
];
$email = $this->input->post(“email”);
36
$this->db->where(“email”, $email);
$this->db->update(“user”, $data);
$this->form_validation->set_rules(“no_handphone_penerima”, “NO
HANDPHONE PENERIMA”, “required|numeric”, [
“required” => “Kolom No Handphone Penerima Harus Diisi”,
“numeric” => “Kolom No Handphone Penerima Harus Diisi
Menggunakan
Angka”,
]);
$this->form_validation->set_rules(“alamat_lengkap_penerima”, “ALAMAT
LENGKAP PENERIMA”, “required”, [
“required” => “Kolom Alamat Lengkap Penerima Harus Diisi”
]);
$this->form_validation->set_rules(“kecamatan”, “KECAMATAN”,
“required”, [
“required” => “Kolom Kecamatan Harus Diisi”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Edit Order Alamat”;
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“editorderalamat”] = $this->db->get_where(“tb_transaksi”,
[“id_transaksi” => $detailorderpesanan])->row_array();
$this->load->view(“Halaman_Edit_Order_Alamat”, $data);
} else {
$data = [
“nama_alamat” => $this->input->post(“nama_alamat”),
“nama_penerima” => $this->input->post(“nama_penerima”),
“no_handphone_penerima” => $this->input-
>post(“no_handphone_penerima”),
“alamat_lengkap_penerima” => $this->input-
>post(“alamat_lengkap_penerima”),
“kecamatan” => $this->input-
>post(“kecamatan”), “kode_pos” => $this-
>input->post(“kode_pos”), “kota” => $this-
>input->post(“kota”), “provinsi” => $this-
>input->post(“provinsi”),
];
$this->db->where(“id_transaksi”, $detailorderpesanan);
$this->db->update(“tb_transaksi”, $data);
$this->session->set_flashdata(“update”, “BERHASIL”);
$redirectURL = ‘Halaman_Pembeli/FormEditOrderAlamat/’ .
$detailorderpesanan;
$this->session->set_flashdata(‘update’, ‘BERHASIL’);
redirect($redirectURL);
}
}
38
{
$data[“user”] = $this->db->get_where(“user”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“judul”] = “Halaman Nilai Pesanan”;
$data[“nilaipesanan”] = $this->db->get_where(“tb_transaksi”,
[“id_transaksi” => $dtrm])->row_array();
$this->load->view(“Halaman_Nilai_Pesanan”, $data);
}
if ($this->form_validation->run() == FALSE) {
$this->db->where(“id_transaksi”, $nilaipesanan);
$this->db->update(“tb_transaksi”, $data);
39
2. Source Code Model Halaman Pembeli
<?php
class Model_Halaman_Pembeli extends CI_Model
{
return $this->db->get(“tb_kategori”)->result_array();
}
40
{
$data = [
‘email’ => $this->input->post(“email”),
‘nama’ => $this->input->post(“nama”),
‘alamat’ => $this->input->post(“alamat”),
‘jenis_kelamin’ => $this->input->post(“jenis_kelamin”),
‘tempat_lahir’ => $this->input->post(“tempat_lahir”),
‘tanggal_lahir’ => $this->input->post(“tanggal_lahir”),
‘no_telepon’ => $this->input->post(“no_telepon”),
];
$email = $this->input->post(‘email’);
$this->db->where(‘email’, $email);
$this->db->update(‘user’, $data);
}
// $this->db->set(‘alamat’, $alamat);
// $this->db->where(‘email’, $email);
// $this->db->update(‘user’);
// }
return $this->db->get(“tb_barang”)->num_rows();
}
$this->db->select(“*”);
$this->db->from(“tb_barang”);
$this->db->join(“tb_kategori”, “tb_kategori.id_kategori =
tb_barang.id_kategori”);
$this->db->where(“tb_barang.id_kategori”, $id_kategori);
return $this->db->get()->num_rows();
}
41
public function GetDetailProduk($id_barang)
{
42
public function Pembayaran($blmbyr)
{
return $this->db->get_where(“tb_transaksi”, [“id_transaksi” =>
$blmbyr])->row_array();
}
43
}
$this->db->insert(“contact”, $data);
}
$noorder = $order[“no_order”];
$this->db->where(“no_order”, $noorder);
$this->db->delete(“tb_rinci_transaksi”);
}
}
44
3. Source Code Controller login registrasi aktivasi dan forgot password Pembeli
<?php
class Login_Registrasi extends CI_Controller
{
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|valid_email|trim|is_unique[user.email]”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”,
“is_unique” => “Email Yang Anda Masukkan Sudah Terdaftar”
]);
45
$this->form_validation->set_rules(“password”, “PASSWORD”,
“required|trim|min_length[8]|matches[password2]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi Password”,
]);
if ($this->form_validation->run() == FALSE) {
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|valid_email”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”
]);
$this->form_validation->set_rules(“password”, “PASSWORD”,
“required|min_length[8]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
Karakter”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Login Pembeli”;
$this->load->view(“Halaman_Login_Pembeli”, $data);
} else {
$this->Model_Login_Registrasi->LoginPembeli();
}
46
}
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|valid_email|trim|is_unique[user_admin.email]”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”,
“is_unique” => “Email Yang Anda Masukkan Sudah Terdaftar”
]);
$this->form_validation->set_rules(“password2”, “PASSWORD”,
“required|trim|min_length[8]|matches[password3]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi Password”
]);
if ($this->form_validation->run() == FALSE) {
47
public function LoginAdmin()
{
$this->form_validation->set_rules(“email2”, “EMAIL”,
“required|valid_email”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”
]);
$this->form_validation->set_rules(“password2”, “PASSWORD”,
“required|min_length[8]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Login Admin”;
$this->load->view(“Halaman_Login_Admin”, $data);
} else {
$this->Model_Login_Registrasi->LoginAdmin();
}
}
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
if (time() - $user_token[“date_created”] < 60 * 60) {
$data = [
“is_active” => 1
];
$this->db->where(“email”, $email);
$this->db->update(“user”, $data);
48
$this->session->set_flashdata(“aktivasiiii”, “Aktivasi
Berhasil”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
} else {
$this->db->delete(“user”, [“email” => $email]);
$this->db->delete(“user_token”, [“email” => $email]);
$this->session->set_flashdata(“aktivasiii”, “Token
Expired”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
}
} else {
$this->session->set_flashdata(“aktivasii”, “Token Tidak
Terdaftar”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
}
} else {
$this->session->set_flashdata(“aktivasi”, “Email Tidak
Terdaftar”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
}
}
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Forgot Password”;
$this->load->view(“Halaman_Forgot_Password”, $data);
} else {
$this->Model_Login_Registrasi->ForgotPassword();
$this->session->set_flashdata(“49ogin49”, “Silahkan Cek Email
Untuk Reset Password”);
redirect(“Login_Registrasi/Forgot_Password”);
}
}
49
public function Forgot()
{
$email = $this->input->get(“email”);
$token = $this->input->get(“token”);
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
$this->session->set_userdata(“forgot_password”, $email);
$this->ResetPassword();
} else {
$this->session->set_flashdata(“forgotttt”, “TOKEN TIDAK
TERDAFTAR”);
redirect(“Login_Registrasi/ForgotPassword”);
}
} else {
$this->session->set_flashdata(“forgottt”, “EMAIL TIDAK
TERDAFTAR”);
redirect(“Login_Registrasi/ForgotPassword”);
}
}
$this->form_validation->set_rules(“password”, “PASSWORD”,
“required|trim|min_length[8]|matches[password2]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi
Password”
]);
$this->form_validation->set_rules(“password2”, “KOFIRMASI
PASSWORD”, “required|trim|matches[password]”, [
“required” => “Kolom Konfirmasi Password Harus Diisi”,
“matches” => “Konfirmasi Password Tidak Sesuai Dengan
Password”
50
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Change Password”;
$this->load->view(“Halaman_Forgot_Password2”, $data);
} else {
$passwordd = $this->input->post(“password”);
$this->db->set(“password”, $password);
$this->db->where(“email”, $email);
$this->db->update(“user”);
$this->session->unset_userdata(“forgot_password”);
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
if (time() - $user_token[“date_created”] < 60 * 60 * 24) {
$this->db->set(“is_active”, 1);
$this->db->where(“email”, $email);
$this->db->update(“user_admin”);
51
$this->session->set_flashdata(“verifyadminnnn”,
“Verifikasi Berhasil Silahkan Login”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
} else {
$this->session->set_flashdata(“verifyadminnn”, “VERIFIKASI
GAGAL, TOKEN EXPIRED TERDAFTAR”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
}
} else {
$this->session->set_flashdata(“verifyadminn”, “VERIFIKASI
GAGAL, TOKEN TIDAK TERDAFTAR”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
}
} else {
$this->session->set_flashdata(“verifyadmin”, “VERIFIKASI GAGAL,
EMAIL TIDAK TERDAFTAR”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
}
}
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Forgot Password Admin”;
$this->load->view(“Halaman_Forgot_Password_Admin”, $data);
} else {
$this->Model_Login_Registrasi->ForgotPasswordAdmin();
$this->session->set_flashdata(“forgotadmin”, “Silahkan Cek Email
Anda Untuk Mengganti Password”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
}
52
public function ForgotAdmin()
{
$email = $this->input->get(“email”);
$token = $this->input->get(“token”);
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
$this->session->set_userdata(“forgot_password_admin”, $email);
$this->ChangePasswordAdmin();
} else {
$this->session->set_flashdata(“forgotadminnn”, “Ubah Password
Gagal, Token Tidak Terdaftar”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
} else {
$this->session->set_flashdata(“forgotadminn”, “Ubah Password
Gagal, Email Yang Anda Masukkan Tidak Terdaftar”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
}
$this->form_validation->set_rules(“password2”, “PASSWORD”,
“required|trim|min_length[8]|matches[password3]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi
Password”
]);
$this->form_validation->set_rules(“password3”, “KOFIRMASI
PASSWORD”, “required|trim|matches[password2]”, [
“required” => “Kolom Konfirmasi Password Harus Diisi”,
53
“matches” => “Konfirmasi Password Tidak Sesuai Dengan
Password”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Forgot Password Admin”;
$this->load->view(“Halaman_Forgot_Password_Admin2”, $data);
} else {
$passwordd = $this->input->post(“password2”);
$email = $this->session->userdata(“forgot_password_admin”);
$this->db->set(“password2”, $password);
$this->db->where(“email”, $email);
$this->db->update(“user_admin”);
4. Source Code Model Login registrasi aktivasi dan forgot password Pembeli
<?php
class Model_Login_Registrasi extends CI_Model
{
$data = [
“nama” => htmlspecialchars($this->input->post(“nama”, true)),
“email” => htmlspecialchars($this->input->post(“email”, true)),
“password” => htmlspecialchars(password_hash($this->input-
>post(“password”, true), PASSWORD_DEFAULT)),
“role_id” => 2,
“is_active” => 0,
54
“date_created” => time(),
“image” => “default.jpg”
];
// Token
$token = base64_encode(random_bytes(32));
$token_email = $this->input->post(“email”, true);
$data_token = [
‘token’ => $token,
‘email’ => $token_email,
‘date_created’ => time()
];
$this->db->insert(“user”, $data);
$this->db->insert(“user_token”, $data_token);
$this->_sendEmail($token, ‘verify’);
}
];
$this->load->library(“email”, $config);
$this->email->initialize($config);
if ($type == “verify”) {
$this->email->subject(‘Verifikasi’);
$this->email->message(‘Link Aktivasi : <a href=”’ . base_url()
. ‘Login_Registrasi/Verify?email=’ . $this->input->post(“email”) .
‘&token=’ . urlencode($token) . ‘”>Activate</>’);
55
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
if ($user) {
if ($user[“is_active”] == 1) {
if (password_verify($password, $user[“password”])) {
$data = [
“id” => $user[“id_pembeli”],
“nama” => $user[“nama”],
“email” => $user[“email”],
“role_id” => $user[“role_id”]
];
$this->session->set_userdata($data);
if ($this->session->userdata(“role_id”) == 2) {
$this->session->set_flashdata(“Loginnnn”, “BERHASIL”);
redirect(“Halaman_Pembeli/index”);
} else {
redirect(“Halaman_Eror/index”);
}
} else {
$this->session->set_flashdata(“Loginnn”, “SALAH”);
redirect(“Login_Registrasi/index”);
}
} else {
$this->session->set_flashdata(“Loginn”, “Belum Teraktivasi”);
redirect(“Login_Registrasi/index”);
}
} else {
$this->session->set_flashdata(“Login”, “Tidak Terdaftar”);
redirect(“Login_Registrasi/index”);
}
56
}
];
// SIAPKAN TOKEN
$token = base64_encode(random_bytes(32));
$email = $this->input->post(“email”);
$user_token = [
“token” => $token,
“email” => $email,
“date_created” => time()
];
$this->db->insert(“user_admin”, $data);
$this->db->insert(“user_token”, $user_token);
$this->_sendEmailAdmin($token, “verify”);
}
];
$this->load->library(“email”, $config);
57
$this->email->initialize($config);
if ($type == “verify”) {
$this->email->subject(‘Verifikasi’);
$this->email->message(‘Link Aktivasi : <a href=”’ . base_url() .
‘Login_Registrasi/VerifyAdmin?email=’ . $this->input->post(“email”) .
‘&token=’ . urlencode($token) . ‘”>Activate</>’);
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
if ($user) {
if ($user[“is_active”] == 1) {
if (password_verify($password, $user[“password2”])) {
$data = [
“id” => $user[“id_admin”],
“nama” => $user[“nama”],
“email” => $user[“email”],
“role_id” => $user[“role_id”]
];
$this->session->set_userdata($data);
if ($this->session->userdata(“role_id”) == 1) {
$this->session->set_flashdata(“loginnnn”, “BERHASIL”);
redirect(“Halaman_Admin/index”);
} else {
if ($this->session->userdata(“role_id”) != 1) {
redirect(“Halaman_Eror/index”);
58
}
}
} else {
$this->session->set_flashdata(“loginnn”, “SALAH”);
redirect(“Login_Registrasi/index2”);
}
} else {
$this->session->set_flashdata(“59ogin”, “BELUM TERAKTIVASI”);
redirect(“Login_Registrasi/index2”);
}
} else {
$this->session->set_flashdata(“login”, “TIDAK TERDAFTAR”);
redirect(“Login_Registrasi/index2”);
}
}
if ($user) {
// Siapkan Token
$token = base64_encode(random_bytes(32));
$email = $this->input->post(“email”);
$data_token = [
“email” =>
$email, “token”
=> $token,
“date_created” => time()
];
$this->db->insert(“user_token”, $data_token);
$this->_sendEMailForgot($token, ‘forgot’);
} else {
$this->session->set_flashdata(“forgot”, “Tidak Terdaftar”);
redirect(“Login_Registrasi/Forgot_Password”);
}
}
];
$this->load->library(“email”, $config);
$this->email->initialize($config);
if ($type == “forgot”) {
$this->email->subject(‘Link Forgot Password’);
$this->email->message(‘Link : <a href=”’ . base_url() .
‘Login_Registrasi/Forgot?email=’ . $this->input->post(“email”) . ‘&token=’ .
urlencode($token) . ‘”>Reset Password</>’);
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
if ($user) {
// SIAPKAN TOKEN
$token = base64_encode(random_bytes(32));
$email = $this->input->post(“email”);
$data_token = [
“email” =>
$email, “token”
=> $token,
60
“date_created” => time()
];
$this->db->insert(“user_token”, $data_token);
$this->_sendEmailForgotAdmin($token, “forgot”);
} else {
$this->session->set_flashdata(“forgotpasswordadmin”,
“Ubah Password Gagal, Email Yang Anda Masukkan Tidak Terdaftar Atau
Belum Di verifikasi”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
}
];
$this->load->library(“email”, $config);
$this->email->initialize($config);
if ($type == “forgot”) {
$this->email->subject(‘Link Forgot Password’);
$this->email->message(‘Link : <a href=”’ . base_url() .
‘Login_Registrasi/ForgotAdmin?email=’ . $this->input->post(“email”) .
‘&token=’ . urlencode($token) . ‘”>Reset Password</>’);
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
61
}
}
}
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8”>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-
scale=1, shrink-to-fit=no”>
<meta name=”description” content=””>
62
<meta name=”author” content=””>
</head>
<body class=”bg-gradient-primary”>
<!—Outer Row
<div class=”row justify-content-center”>
63
<?php endif; ?>
<?php if ($this->session-
>flashdata(“Loginn”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
Maaf Username Dan Password Yang
Anda Masukkan <strong><?= $this->session->flashdata(“Loginn”) ?></strong>.
Silahkan Aktivasi Terlebih Dahulu.
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<?php if ($this->session-
>flashdata(“Loginnn”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
Password Yang Anda Masukkan
<strong><?= $this->session->flashdata(“Loginnn”) ?></strong>. Silahkan
Masukkan Ulang
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<?php if ($this->session-
>flashdata(“forgottttt”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
<strong><?= $this->session-
>flashdata(“forgottttt”) ?></strong>
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<div class=”text-center”>
<h1 class=”h4 text-gray-900 mb-
4”>Login</h1>
</div>
<form class=”user” action=”<?= base_url()
?>Login_Registrasi/LoginPembeli” method=”post”>
<div class=”form-group”>
<input type=”email”
name=”email” class=”form-control form-control-user” id=”exampleInputEmail”
aria- describedby=”emailHelp” placeholder=”Masukkan Email Anda” value=”<?=
set_value(“email”); ?>”>
</div>
<h5 class=”text-danger”><?=
form_error(“email”); ?></h5>
<div class=”form-group”>
64
<input type=”password”
name=”password” class=”form-control form-control-user”
id=”exampleInputPassword” placeholder=”Password” value=”<?=
set_value(“password”) ?>”>
</div>
<h5 class=”text-danger”><?=
form_error(“password”); ?></h5>
<button type=”submit” class=”btn btn-
primary btn-block”>Login</button>
<hr>
</form>
<div class=”text-center”>
<a class=”small” href=”<?= base_url();
?>Login_Registrasi/Forgot_Password”>Forgot Password?</a>
</div>
<div class=”text-center”>
<a class=”small” href=”<?= base_url()
?>Login_Registrasi/RegistrasiPembeli”>Create an Account!</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script
src=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min
.js” integrity=”sha384-
65
C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL”
crossorigin=”anonymous”></script>
</body>
</html>
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8”>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-
scale=1, shrink-to-fit=no”>
<meta name=”description” content=””>
<meta name=”author” content=””>
</head>
<body class=”bg-gradient-primary”>
<!—Outer Row
<div class=”row justify-content-center”>
66
<div class=”col-xl-6 col-lg-6 col-md-9”>
67
<?php if ($this->session-
>flashdata(“aktivasiiii”)) : ?
> <div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
<strong><?= $this->session-
>flashdata(“aktivasiiii”) ?></strong> Silahkan Login
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<div class=”p-5”>
<div class=”text-center”>
<h1 class=”h4 text-gray-900 mb-
4”>Daftar</h1>
</div>
<form class=”user” action=”<?= base_url()
?>Login_Registrasi/RegistrasiPembeli” method=”post”>
<div class=”form-group”>
<input type=”text” name=”nama”
class=”form-control form-control-user” aria-describedby=”emailHelp”
placeholder=”Masukkan Nama Lengkap Anda” value=”<?= set_value(“nama”); ?
>”>
</div>
<h5 class=”text-danger”><?=
form_error(“nama”); ?></h5>
<div class=”form-group”>
<input type=”email”
name=”email” class=”form-control form-control-user” placeholder=”Masukkan
Email Anda” value=”<?= set_value(“email”); ?>”>
</div>
<h5 class=”text-danger”><?=
form_error(“email”) ?></h5>
<div class=”form-group”>
<input type=”password”
name=”password” class=”form-control form-control-user” placeholder=”Password”
value=”<?= set_value(“password”); ?>”>
</div>
<h5 class=”text-danger”><?=
form_error(“password”) ?></h5>
<div class=”form-group”>
<input type=”password”
name=”password2” class=”form-control form-control-user”
placeholder=”Konfirmasi Password” value=”<?= set_value(“password2”); ?>”>
</div>
<h5 class=”text-danger”><?=
form_error(“password2”) ?></h5> block”>Daftar</button>
primary btn-
68
<button type=”submit” class=”btn
btn-
69
<hr>
</form>
<div class=”text-center”>
<a class=”small” href=”<?= base_url()
?>Login_Registrasi/index”>Sudah Punya Akun ? Login Sekarang</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
61
0
3. Tampilan View Halaman Forgot Password Pembeli
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8”>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-
scale=1, shrink-to-fit=no”>
<meta name=”description” content=””>
<meta name=”author” content=””>
</head>
<body class=”bg-gradient-primary”>
<!—Outer Row
<div class=”row justify-content-center”>
70
<!—Nested Row within Card Body
<div class=”row”>
<div class=”col-lg-12”>
<div class=”p-5”>
<?php if ($this->session-
>flashdata(“Login”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
Maaf Username Dan Password Yang
Anda Masukkan <strong><?= $this->session->flashdata(“Login”) ?></strong>
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<?php if ($this->session-
>flashdata(“Loginn”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
Maaf Username Dan Password Yang
Anda Masukkan <strong><?= $this->session->flashdata(“Loginn”) ?></strong>.
Silahkan Aktivasi Terlebih Dahulu.
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<?php if ($this->session-
>flashdata(“Loginnn”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
Password Yang Anda Masukkan
<strong><?= $this->session->flashdata(“Loginnn”) ?></strong>. Silahkan
Masukkan Ulang
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<?php if ($this->session-
>flashdata(“71ogin71”)) : ?>
<div class=”alert alert-warning alert-
dismissible fade show me-5 ms-5” role=”alert” style=”margin-top: 90px;”>
<strong><?= $this->session-
>flashdata(“71ogin71”) ?></strong>
<button type=”button” class=”btn-
close” data-bs-dismiss=”alert” aria-label=”Close”></button>
</div>
<?php endif; ?>
<div class=”text-center”>
71
<h1 class=”h4 text-gray-900 mb-
4”>Forgot Password</h1>
</div>
<form class=”user” action=”<?= base_url()
?>Login_Registrasi/FormForgotPassword” method=”post”>
<div class=”form-group”>
<input type=”email”
name=”email” class=”form-control form-control-user” id=”exampleInputEmail”
aria- describedby=”emailHelp” placeholder=”Masukkan Email Anda” value=”<?=
set_value(“email”); ?>”>
</div>
<h5 class=”text-danger”><?=
form_error(“email”); ?></h5>
<button type=”submit” class=”btn btn-
primary btn-block”>Forgot Password</button>
<hr>
</form>
<div class=”text-center”>
<a class=”small” href=”<?= base_url()
?>Login_Registrasi/LoginPembeli”>Back To Login</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script
src=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min
72
.js” integrity=”sha384-
C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL”
crossorigin=”anonymous”></script>
</body>
</html>
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source
code project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
73
6. Tampilan View Halaman Kontak Pembeli
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
74
7. Tampilan View Halaman Gallery Produk Pembeli
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman paling
atas source code project
75
9. Tampilan View Halaman Checkout Produk Pembeli
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman paling
atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
76
11. Tampilan View Halaman Profile Pembeli
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
12. Tampilan View Halaman Histori Pesanan Saya atau Histori Pembelian
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
77
C. Source code Controller dan Model Halaman Admin
<?php
class Halaman_Admin extends CI_Controller
{
parent:: construct();
if (!$this->session->userdata(“email”)) {
redirect(“Home/index”);
} else {
if ($this->session->userdata(“role_id”) != 1) {
redirect(“Halaman_Eror”);
}
}
}
78
public function DataBarang()
{
if ($this->input->post(“submit”)) {
$data[“pencarian”] = $this->input->post(“cari”);
} else {
$data[“pencarian”] = null;
}
$this->form_validation->set_rules(“keterangan_barang”, “KETERANGAN
BARANG”, “required”, [
“required” => “Kolom Keterangan Barang Harus Diisi”
]);
79
$this->form_validation->set_rules(“kategori_barang”, “KATEGORI
BARANG”, “required”, [
“required” => “Kolom Kategori Barang Harus Diisi”
]);
if ($this->form_validation->run() == FALSE) {
redirect($redirectURL);
}
}
80
public function Profile()
{
$data[“judul”] = “Halaman Profile Admin”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$this->load->view(“Halaman_Admin/Halaman_Profile”, $data);
}
if ($this->form_validation->run() == FALSE) {
$this->session->set_flashdata(“adminn”, “GAGAL”);
$data[“judul”] = “Halaman Profile Admin”;
81
$data[“user”] = $this->db->get_where(“user_admin”, [“email” =>
$this->session->userdata(“email”)])->row_array();
$this->load->view(“Halaman_Admin/Halaman_Profile”, $data);
} else {
$this->Model_Halaman_Admin->UpdateProfileAdmin();
$this->session->set_flashdata(“admin”, “BERHASIL”);
redirect(“Halaman_Admin/Profile”);
}
}
$this->upload->initialize($config);
$field_name = ‘image’;
if (!$this->upload->do_upload($field_name)) {
echo $this->upload->display_errors();
} else {
$upload_data = [
‘upload’ => $this->upload->data()
];
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] = ‘./assets/profile/’ .
$upload_data[‘upload’][‘file_name’];
$this->load->library(‘image_lib’, $config);
}
$image = $upload_data[‘upload’][‘file_name’];
$email = $this->input->post(“email”);
$image = $image;
$this->db->set(“image”, $image);
$this->db->where(“email”, $email);
$this->db->update(“user_admin”);
$this->session->set_flashdata(“foto”, “BERHASIL”);
redirect(“Halaman_Admin/profile”);
}
82
} else {
$data[“pencarian”] = null;
}
$data[“judul”] = “Halaman Data Kategori Barang”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“datakategoribarang”] = $this->Model_Halaman_Admin-
>GetKategoriBarang($data[“pencarian”]);
$this->load->view(“Halaman_Admin/Halaman_Data_Kategori_Barang”,
$data);
}
$this->form_validation->set_rules(“keterangan_barang”, “KETERANGAN
BARANG”, “required”, [
“required” => “Kolom Keterangan Barang Harus Diisi”,
]);
$this->form_validation->set_rules(“kategori_barang”, “KATEGORI
BARANG”, “required”, [
“required” => “Kolom Kategori Barang Harus Diisi”
]);
83
]);
$this->form_validation->set_rules(“berat”, “BERAT”,
“required|numeric”, [
“required” => “Kolom Berat Barang Harus Diisi”,
“numeric” => “Kolom Berat Barang Hanya Boleh Di input Menggunakan
Angka”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Data Barang”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” =>
$this->session->userdata(“email”)])->row_array();
$data[“databarang”] = $this->Model_Halaman_Admin->GetDataBarang();
$this->load->view(“Halaman_Admin/Halaman_Data_Barang”, $data);
} else {
$this->Model_Halaman_Admin->TambahDataBarang();
$this->session->set_flashdata(“adminnnn”, “BERHASIL”);
redirect(“Halaman_Admin/DataBarang”);
}
}
84
$this->form_validation->set_rules(“nama_kategori”, “NAMA KATEGORI”,
“required”, [
“required” => “Kolom Nama Kategori Harus Diisi”,
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Edit Kategori Barang”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” =>
$this->session->userdata(“email”)])->row_array();
$data[“user2”] = $this->db->get_where(“tb_kategori”,
[“id_kategori” => $dtktgbrg])->row_array();
$this->load-
>view(“Halaman_Admin/Halaman_Edit_Data_Kategori_Barang”, $data);
} else {
$data = [
“id_kategori” => $this->input->post(“id_kategori”),
“nama_kategori” => $this->input->post(“nama_kategori”),
];
$this->db->where(“id_kategori”, $this->input-
>post(“id_kategori”));
$this->db->update(“tb_kategori”, $data);
$this->session->set_flashdata(“kategori”, “BERHASIL”);
$redirectURL = ‘Halaman_Admin/EditKategoriBarang/’ . $dtktgbrg;
redirect($redirectURL);
}
}
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Data Kategori Barang”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” =>
$this->session->userdata(“email”)])->row_array();
$data[“datakategoribarang”] = $this->Model_Halaman_Admin-
>TambahKategoriBarang();
$this->load->view(“Halaman_Admin/Halaman_Data_Kategori_Barang”,
$data);
} else {
$data = [
“nama_kategori” => $this->input->post(“nama_kategori”)
85
];
$this->db->insert(“tb_kategori”, $data);
$this->session->set_flashdata(“kategorii”, “BERHASIL”);
redirect(“Halaman_Admin/TambahKategoriBarang”);
}
}
86
$this->form_validation->set_rules(“no_order”, “NO ORDER”, “required”,
[
“required” => “Kolom No Order Harus Diisi”
]);
$this->form_validation->set_rules(“no_handphone_penerima”, “NO
HANDPHONE PENERIMA”, “required|numeric”, [
“required” => “Kolom No Handphone Penerima Harus Diisi”,
“numeric” => “Kolom No Handphone Penerima Harus Di input
menggunakan Angka”
]);
$this->form_validation->set_rules(“alamat_lengkap_penerima”, “ALAMAT
LENGKAP PENERIMA”, “required”, [
“required” => “Kolom Alamat Lengkap Penerima Harus Diisi”
]);
$this->form_validation->set_rules(“kecamatan”, “KECAMATAN”,
“required”, [
“required” => “Kolom Kecamatan Harus Diisi”
]);
87
$this->form_validation->set_rules(“provinsi”, “PROVINSI”, “required”,
[
“required” => “Kolom Provinsi Harus Diisi”
]);
$this->form_validation->set_rules(“penilaian_barang”, “PENILAIAN
BARANG”, “required”, [
“required” => “Kolom Penilaian Pesanan Diisi”,
88
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Edit Data Transaksi”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” =>
$this->session->userdata(“email”)])->row_array();
$this->load->view(“Halaman_Admin/Halaman_Edit_Data_Transaksi”,
$data);
} else {
$this->Model_Halaman_Admin->EditDataTransaksi();
$this->session->set_flashdata(“transaksi”, “BERHASIL”);
$this->db->where(“id_transaksi”, $cekbayar);
89
$this->db->update(“tb_transaksi”, $data);
$this->session->set_flashdata(“berhasil”, “BERHASIL”);
$redirectURL = ‘Halaman_Admin/CekBuktiBayar/’ . $cekbayar;
redirect($redirectURL);
}
$this->db->where(“id_transaksi”, $dprs);
$this->db->update(“tb_transaksi”, $data);
$this->session->set_flashdata(“berhasill”, “BERHASIL”);
redirect(“Halaman_Admin/PesananMasuk”);
}
90
public function DetailRinciTransaksi($dtrctri)
{
$data[“judul”] = “Halaman Detail Rinci Transaksi”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“detailrincitransaksi”] = $this->Model_Halaman_Admin-
>GetDetailRinciTransaksi($dtrctri);
$this->load->view(“Halaman_Admin/Halaman_Detail_Rinci_Transaksi”,
$data);
}
91
$this->form_validation->set_rules(“subtotal”, “SUBTOTAL”,
“required|numeric”, [
“required” => “Kolom Subtotal Harus Diisi”,
“numeric” => “Kolom Subtotal Harus Diisi Menggunakan Angka”
]);
$this->form_validation->set_rules(“kategori_barang”, “KATEGORI
BARANG”, “required”, [
“required” => “Kolom Kategori Barang Harus Diisi”,
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Edit Data Rinci Transaksi”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” =>
$this->session->userdata(“email”)])->row_array();
$data[“editrincitransaksi”] = $this->db-
>get_where(“tb_rinci_transaksi”, [“id_rinci” => $editrincitransaksi])-
>row_array();
$this->load-
>view(“Halaman_Admin/Halaman_Edit_Data_Rinci_Transaksi”, $data);
} else {
$data = [
“nama_barang” => $this->input->post(“nama_barang”),
“harga_barang” => $this->input->post(“harga_barang”),
“berat” => $this->input->post(“berat”),
“qty” => $this->input->post(“qty”),
“subtotal” => $this->input-
>post(“subtotal”),
“kategori_barang” => $this->input->post(“kategori_barang”),
];
$this->db->where(“id_rinci”, $editrincitransaksi);
$this->db->update(“tb_rinci_transaksi”, $data);
92
$data[“pencarian”] = null;
93
}
$data[“judul”] = “Halaman Data User Pembeli”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“userpembeli”] = $this->Model_Halaman_Admin-
>GetDataUserPembeli($data[“pencarian”]);
$this->load->view(“Halaman_Admin/Halaman_Data_User_Pembeli”, $data);
}
94
public function HapusDataUserAdmin($usradmn)
{
$this->db->where(“id_admin”, $usradmn);
$this->db->delete(“user_admin”);
95
public function DetailDataRekeningToko($dtrkntk)
{
$data[“judul”] = “Halaman Data Rekening Toko”;
$data[“user”] = $this->db->get_where(“user_admin”, [“email” => $this-
>session->userdata(“email”)])->row_array();
$data[“detailrekeningtoko”] = $this->db->get_where(“rekening”,
[“id_rekening” => $dtrkntk])->row_array();
$this->load->view(“Halaman_Admin/Halaman_Detail_Data_Rekening_Toko”,
$data);
}
if ($this->form_validation->run() == FALSE) {
96
$data[“editrekeningtoko”] = $this->db->get_where(“rekening”,
[“id_rekening” => $editrekeningtoko])->row_array();
$this->load->view(“Halaman_Admin/Halaman_Edit_Data_Rekening_Toko”,
$data);
} else {
$data = [
“nama_bank” => $this->input-
>post(“nama_bank”), “atas_nama” => $this-
>input->post(“atas_nama”), “no_rek” => $this-
>input->post(“no_rek”),
];
$this->db->where(“id_rekening”, $editrekeningtoko);
$this->db->update(“rekening”, $data);
$this->form_validation->set_rules(“tanggal_pengiriman”, “TANGGAL
PENGIRIMAN”, “required”, [
“required” => “Kolom Tanggal Pengiriman Harus Diisi”,
98
]);
if ($this->form_validation->run() == FALSE) {
$data = [
“nama_pengirim” => $this->input->post(“nama_pengirim”),
“email_pengirim” => $this->input->post(“email_pengirim”),
“no_handphone” => $this->input->post(“no_handphone”),
“pesan” => $this->input->post(“pesan”),
“tanggal_pengiriman” => $this->input-
>post(“tanggal_pengiriman”),
];
$this->db->where(“id”, $editdatapesan);
$this->db->update(“contact”, $data);
99
]);
$this->form_validation->set_rules(“tanggal_lahir”, “tanggal_lahir”,
“required”, [
“required” => “Kolom Tanggal Lahir Harus Diisi”,
]);
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|trim|valid_email”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”
]);
if ($this->form_validation->run() == FALSE) {
91
0
$this->load->view(“Halaman_Admin/Halaman_Edit_Data_User_Admin”,
$data);
} else {
$data = [
“nama” => $this->input->post(“nama”),
“alamat” => $this->input->post(“alamat”),
“jenis_kelamin” => $this->input->post(“jenis_kelamin”),
“tempat_lahir” => $this->input->post(“tempat_lahir”),
“tanggal_lahir” => $this->input->post(“tanggal_lahir”),
“no_telepon” => $this->input->post(“no_telepon”),
“email” => $this->input->post(“email”),
“role_id” => $this->input->post(“role_id”),
“is_active” => $this->input->post(“is_active”),
“date_created” => $this->input->post(“date_created”),
];
$this->db->where(“id_admin”, $this->input->post(“id_admin”));
$this->db->update(“user_admin”, $data);
<?php
class Model_Halaman_Admin extends CI_Model
{
return $this->db->get(“tb_barang”)->num_rows();
}
return $this->db->get(“tb_kategori”)->num_rows();
}
100
public function JumlahDataTransaksi()
{
return $this->db->get(“tb_transaksi”)->num_rows();
}
return $this->db->get(“tb_rinci_transaksi”)->num_rows();
}
$this->db->like(“nama_barang”, $pencarian);
$this->db->or_like(“keterangan_barang”, $pencarian);
$this->db->or_like(“kategori_barang”, $pencarian);
$this->db->or_like(“id_kategori”, $pencarian);
$this->db->or_like(“harga_barang”, $pencarian);
$this->db->or_like(“berat”, $pencarian);
$this->db->or_like(“stok”, $pencarian);
$this->db->or_like(“gambar”, $pencarian);
}
return $this->db->get(“tb_barang”)->result_array();
}
101
public function DeleteOneData($dtbrg)
{
$this->db->where(“id_barang”, $dtbrg);
$this->db->delete(“tb_barang”);
}
$this->upload->initialize($config);
$field_name = ‘gambar’;
if (!$this->upload->do_upload($field_name)) {
echo $this->upload->display_errors();
} else {
$upload_data = [
‘upload’ => $this->upload->data()
];
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] = ‘./public/image/fotoproduk’ .
$upload_data[‘upload’][‘file_name’];
$this->load->library(‘image_lib’, $config);
}
$image = $upload_data[‘upload’][‘file_name’];
$data = [
“nama_barang” => $this->input->post(“nama_barang”),
“keterangan_barang” => $this->input->post(“keterangan_barang”),
“kategori_barang” => $this->input->post(“kategori_barang”),
“id_kategori” => $this->input->post(“id_kategori”),
“harga_barang” => $this->input->post(“harga_barang”),
“berat” => $this->input->post(“berat”),
“stok” => $this->input->post(“stok”),
“gambar” => $image,
];
$this->db->where(“id_barang”, $this->input->post(“id_barang”));
102
$this->db->update(“tb_barang”, $data);
}
$this->db->set(“nama”, $nama);
$this->db->set(“alamat”, $alamat);
$this->db->set(“jenis_kelamin”, $jenis_kelamin);
$this->db->set(“tempat_lahir”, $tempat_lahir);
$this->db->set(“tanggal_lahir”, $tanggal_lahir);
$this->db->set(“no_telepon”, $no_telepon);
$this->db->where(“email”, $email);
$this->db->update(“user_admin”);
}
if ($pencarian) {
$this->db->like(“nama_kategori”, $pencarian);
$this->db->or_like(“id_kategori”, $pencarian);
}
return $this->db->get(“tb_kategori”)->result_array();
}
103
$config[‘max_size’] = ‘9000’;
$this->upload->initialize($config);
$field_name = ‘gambar’;
if (!$this->upload->do_upload($field_name)) {
echo $this->upload->display_errors();
} else {
$upload_data = [
‘upload’ => $this->upload->data()
];
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] = ‘./public/image/fotoproduk’ .
$upload_data[‘upload’][‘file_name’];
$this->load->library(‘image_lib’, $config);
}
$image = $upload_data[‘upload’][‘file_name’];
$data = [
“nama_barang” => $this->input->post(“nama_barang”),
“keterangan_barang” => $this->input->post(“keterangan_barang”),
“kategori_barang” => $this->input->post(“kategori_barang”),
“id_kategori” => $this->input->post(“id_kategori”),
“harga_barang” => $this->input->post(“harga_barang”),
“berat” => $this->input->post(“berat”),
“stok” => $this->input->post(“stok”),
“gambar” => $image
];
$this->db->insert(“tb_barang”, $data);
}
$this->db->like(“id_transaksi”, $pencarian);
$this->db->or_like(“id_pembeli”, $pencarian);
$this->db->or_like(“no_order”, $pencarian);
$this->db->or_like(“tgl_order”, $pencarian);
$this->db->or_like(“nama_alamat”, $pencarian);
104
$this->db->or_like(“nama_penerima”, $pencarian);
$this->db->or_like(“no_handphone_penerima”, $pencarian);
$this->db->or_like(“alamat_lengkap_penerima”, $pencarian);
$this->db->or_like(“kecamatan”, $pencarian);
$this->db->or_like(“kode_pos”, $pencarian);
$this->db->or_like(“kota”, $pencarian);
$this->db->or_like(“provinsi”, $pencarian);
$this->db->or_like(“berat_total”, $pencarian);
$this->db->or_like(“total_bayar”, $pencarian);
$this->db->or_like(“status_bayar”, $pencarian);
$this->db->or_like(“bukti_bayar”, $pencarian);
$this->db->or_like(“atas_nama”, $pencarian);
$this->db->or_like(“nama_bank”, $pencarian);
$this->db->or_like(“no_rek”, $pencarian);
$this->db->or_like(“status_order”, $pencarian);
$this->db->or_like(“bukti_diterima”, $pencarian);
$this->db->or_like(“penilaian_barang”, $pencarian);
}
return $this->db->get(“tb_transaksi”)->result_array();
}
105
“status_order” => $this->input->post(“status_order”),
“penilaian_barang” => $this->input->post(“penilaian_barang”),
];
$this->db->where(“id_transaksi”, $this->input->post(“id_transaksi”));
$this->db->update(“tb_transaksi”, $data);
}
106
$this->db->or_like(“harga_barang”, $pencarian);
$this->db->or_like(“berat”, $pencarian);
$this->db->or_like(“qty”, $pencarian);
$this->db->or_like(“subtotal”, $pencarian);
$this->db->or_like(“kategori_barang”, $pencarian);
}
return $this->db->get(“tb_rinci_transaksi”)->result_array();
}
107
{
if ($pencarian) {
$this->db->like(“id_pembeli”, $pencarian);
$this->db->or_like(“nama”, $pencarian);
$this->db->or_like(“alamat”, $pencarian);
$this->db->or_like(“jenis_kelamin”, $pencarian);
$this->db->or_like(“tempat_lahir”, $pencarian);
$this->db->or_like(“tanggal_lahir”, $pencarian);
$this->db->or_like(“no_telepon”, $pencarian);
$this->db->or_like(“email”, $pencarian);
$this->db->or_like(“password”, $pencarian);
$this->db->or_like(“role_id”, $pencarian);
$this->db->or_like(“is_active”, $pencarian);
$this->db->or_like(“date_created”, $pencarian);
$this->db->or_like(“image”, $pencarian);
}
return $this->db->get(“user”)->result_array();
}
$this->db->like(“id”, $pencarian);
$this->db->or_like(“nama_pengirim”, $pencarian);
$this->db->or_like(“email_pengirim”, $pencarian);
$this->db->or_like(“no_handphone”, $pencarian);
$this->db->or_like(“pesan”, $pencarian);
$this->db->or_like(“tanggal_pengiriman”, $pencarian);
}
return $this->db->get(“contact”)->result_array();
}
}
3. Source Code Controller Login Registrasi Aktivasi dan forgot password Admin
<?php
class Login_Registrasi extends CI_Controller
{
108
if ($this->session->userdata(“email”) && $this->session-
>userdata(“role_id”) == 2) {
redirect(“Halaman_Pembeli”);
} else {
if ($this->session->userdata(“email”) && $this->session-
>userdata(“role_id”) == 1) {
redirect(“Halaman_Admin”);
}
}
if ($this->session->userdata(“email”) && $this->session-
>userdata(“role_id”) == 0) {
redirect(“Halaman_Admin”);
}
}
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|valid_email|trim|is_unique[user.email]”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”,
“is_unique” => “Email Yang Anda Masukkan Sudah Terdaftar”
]);
$this->form_validation->set_rules(“password”, “PASSWORD”,
“required|trim|min_length[8]|matches[password2]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi Password”,
]);
109
“matches” => “Konfirmasi Password Tidak Sesuai Dengan Password”
]);
if ($this->form_validation->run() == FALSE) {
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|valid_email”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”
]);
$this->form_validation->set_rules(“password”, “PASSWORD”,
“required|min_length[8]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
Karakter”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Login Pembeli”;
$this->load->view(“Halaman_Login_Pembeli”, $data);
} else {
$this->Model_Login_Registrasi->LoginPembeli();
}
}
110
“required” => “Kolom Nama Harus Diisi”
]);
$this->form_validation->set_rules(“email”, “EMAIL”,
“required|valid_email|trim|is_unique[user_admin.email]”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”,
“is_unique” => “Email Yang Anda Masukkan Sudah Terdaftar”
]);
$this->form_validation->set_rules(“password2”, “PASSWORD”,
“required|trim|min_length[8]|matches[password3]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi Password”
]);
if ($this->form_validation->run() == FALSE) {
$this->form_validation->set_rules(“email2”, “EMAIL”,
“required|valid_email”, [
“required” => “Kolom Email Harus Diisi”,
“valid_email” => “Email Yang Anda Masukkan Tidak Valid”
]);
$this->form_validation->set_rules(“password2”, “PASSWORD”,
“required|min_length[8]”, [
“required” => “Kolom Password Harus Diisi”,
111
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Login Admin”;
$this->load->view(“Halaman_Login_Admin”, $data);
} else {
$this->Model_Login_Registrasi->LoginAdmin();
}
}
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
if (time() - $user_token[“date_created”] < 60 * 60) {
$data = [
“is_active” => 1
];
$this->db->where(“email”, $email);
$this->db->update(“user”, $data);
$this->session->set_flashdata(“aktivasiiii”, “Aktivasi
Berhasil”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
} else {
$this->db->delete(“user”, [“email” => $email]);
$this->db->delete(“user_token”, [“email” => $email]);
$this->session->set_flashdata(“aktivasiii”, “Token
Expired”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
}
} else {
112
$this->session->set_flashdata(“aktivasii”, “Token Tidak
Terdaftar”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
}
} else {
$this->session->set_flashdata(“aktivasi”, “Email Tidak
Terdaftar”);
redirect(“Login_Registrasi/RegistrasiPembeli”);
}
}
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Forgot Password”;
$this->load->view(“Halaman_Forgot_Password”, $data);
} else {
$this->Model_Login_Registrasi->ForgotPassword();
$this->session->set_flashdata(“113ogin113”, “Silahkan Cek Email
Untuk Reset Password”);
redirect(“Login_Registrasi/Forgot_Password”);
}
}
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
113
if ($user_token) {
$this->session->set_userdata(“forgot_password”, $email);
$this->ResetPassword();
} else {
$this->session->set_flashdata(“forgotttt”, “TOKEN TIDAK
TERDAFTAR”);
redirect(“Login_Registrasi/ForgotPassword”);
}
} else {
$this->session->set_flashdata(“forgottt”, “EMAIL TIDAK
TERDAFTAR”);
redirect(“Login_Registrasi/ForgotPassword”);
}
}
$this->form_validation->set_rules(“password”, “PASSWORD”,
“required|trim|min_length[8]|matches[password2]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi
Password”
]);
$this->form_validation->set_rules(“password2”, “KOFIRMASI
PASSWORD”, “required|trim|matches[password]”, [
“required” => “Kolom Konfirmasi Password Harus Diisi”,
“matches” => “Konfirmasi Password Tidak Sesuai Dengan
Password”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Change Password”;
$this->load->view(“Halaman_Forgot_Password2”, $data);
} else {
$passwordd = $this->input->post(“password”);
114
$this->db->set(“password”, $password);
$this->db->where(“email”, $email);
$this->db->update(“user”);
$this->session->unset_userdata(“forgot_password”);
if ($user) {
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
if (time() - $user_token[“date_created”] < 60 * 60 * 24) {
$this->db->set(“is_active”, 1);
$this->db->where(“email”, $email);
$this->db->update(“user_admin”);
$this->session->set_flashdata(“verifyadminnnn”,
“Verifikasi Berhasil Silahkan Login”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
} else {
$this->session->set_flashdata(“verifyadminnn”, “VERIFIKASI
GAGAL, TOKEN EXPIRED TERDAFTAR”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
}
115
} else {
$this->session->set_flashdata(“verifyadminn”, “VERIFIKASI
GAGAL, TOKEN TIDAK TERDAFTAR”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
}
} else {
$this->session->set_flashdata(“verifyadmin”, “VERIFIKASI GAGAL,
EMAIL TIDAK TERDAFTAR”);
redirect(“Login_Registrasi/RegistrasiAdmin”);
}
}
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Forgot Password Admin”;
$this->load->view(“Halaman_Forgot_Password_Admin”, $data);
} else {
$this->Model_Login_Registrasi->ForgotPasswordAdmin();
$this->session->set_flashdata(“forgotadmin”, “Silahkan Cek Email
Anda Untuk Mengganti Password”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
}
if ($user) {
116
$user_token = $this->db->get_where(“user_token”, [“token” =>
$token])->row_array();
if ($user_token) {
$this->session->set_userdata(“forgot_password_admin”, $email);
$this->ChangePasswordAdmin();
} else {
$this->session->set_flashdata(“forgotadminnn”, “Ubah Password
Gagal, Token Tidak Terdaftar”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
} else {
$this->session->set_flashdata(“forgotadminn”, “Ubah Password
Gagal, Email Yang Anda Masukkan Tidak Terdaftar”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
}
}
$this->form_validation->set_rules(“password2”, “PASSWORD”,
“required|trim|min_length[8]|matches[password3]”, [
“required” => “Kolom Password Harus Diisi”,
“min_length” => “Password Yang Anda Masukkan Kurang Dari 8
karakter”,
“matches” => “Password Tidak Sesuai Dengan Konfirmasi
Password”
]);
$this->form_validation->set_rules(“password3”, “KOFIRMASI
PASSWORD”, “required|trim|matches[password2]”, [
“required” => “Kolom Konfirmasi Password Harus Diisi”,
“matches” => “Konfirmasi Password Tidak Sesuai Dengan
Password”
]);
if ($this->form_validation->run() == FALSE) {
$data[“judul”] = “Halaman Forgot Password Admin”;
$this->load->view(“Halaman_Forgot_Password_Admin2”, $data);
} else {
$passwordd = $this->input->post(“password2”);
117
$password = password_hash($passwordd, PASSWORD_DEFAULT);
$email = $this->session->userdata(“forgot_password_admin”);
$this->db->set(“password2”, $password);
$this->db->where(“email”, $email);
$this->db->update(“user_admin”);
4. Source Code Model Login Registrasi Aktivasi Dan Forgot Password Admin
<?php
class Model_Login_Registrasi extends CI_Model
{
$data = [
“nama” => htmlspecialchars($this->input->post(“nama”, true)),
“email” => htmlspecialchars($this->input->post(“email”, true)),
“password” => htmlspecialchars(password_hash($this->input-
>post(“password”, true), PASSWORD_DEFAULT)),
“role_id” => 2,
“is_active” => 0,
“date_created” => time(),
“image” => “default.jpg”
];
// Token
$token = base64_encode(random_bytes(32));
$token_email = $this->input->post(“email”, true);
$data_token = [
‘token’ => $token,
118
‘email’ => $token_email,
‘date_created’ => time()
];
$this->db->insert(“user”, $data);
$this->db->insert(“user_token”, $data_token);
$this->_sendEmail($token, ‘verify’);
}
];
$this->load->library(“email”, $config);
$this->email->initialize($config);
if ($type == “verify”) {
$this->email->subject(‘Verifikasi’);
$this->email->message(‘Link Aktivasi : <a href=”’ . base_url()
. ‘Login_Registrasi/Verify?email=’ . $this->input->post(“email”) .
‘&token=’ . urlencode($token) . ‘”>Activate</>’);
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
119
{
if ($user) {
if ($user[“is_active”] == 1) {
if (password_verify($password, $user[“password”])) {
$data = [
“id” => $user[“id_pembeli”],
“nama” => $user[“nama”],
“email” => $user[“email”],
“role_id” => $user[“role_id”]
];
$this->session->set_userdata($data);
if ($this->session->userdata(“role_id”) == 2) {
$this->session->set_flashdata(“Loginnnn”, “BERHASIL”);
redirect(“Halaman_Pembeli/index”);
} else {
redirect(“Halaman_Eror/index”);
}
} else {
$this->session->set_flashdata(“Loginnn”, “SALAH”);
redirect(“Login_Registrasi/index”);
}
} else {
$this->session->set_flashdata(“Loginn”, “Belum Teraktivasi”);
redirect(“Login_Registrasi/index”);
}
} else {
$this->session->set_flashdata(“Login”, “Tidak Terdaftar”);
redirect(“Login_Registrasi/index”);
}
}
120
“date_created” => time(),
“image” => “default.jpg”
];
// SIAPKAN TOKEN
$token = base64_encode(random_bytes(32));
$email = $this->input->post(“email”);
$user_token = [
“token” => $token,
“email” => $email,
“date_created” => time()
];
$this->db->insert(“user_admin”, $data);
$this->db->insert(“user_token”, $user_token);
$this->_sendEmailAdmin($token, “verify”);
}
];
$this->load->library(“email”, $config);
$this->email->initialize($config);
if ($type == “verify”) {
$this->email->subject(‘Verifikasi’);
$this->email->message(‘Link Aktivasi : <a href=”’ . base_url() .
‘Login_Registrasi/VerifyAdmin?email=’ . $this->input->post(“email”) .
‘&token=’ . urlencode($token) . ‘”>Activate</>’);
121
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
if ($user) {
if ($user[“is_active”] == 1) {
if (password_verify($password, $user[“password2”])) {
$data = [
“id” => $user[“id_admin”],
“nama” => $user[“nama”],
“email” => $user[“email”],
“role_id” => $user[“role_id”]
];
$this->session->set_userdata($data);
if ($this->session->userdata(“role_id”) == 1) {
$this->session->set_flashdata(“loginnnn”, “BERHASIL”);
redirect(“Halaman_Admin/index”);
} else {
if ($this->session->userdata(“role_id”) != 1) {
redirect(“Halaman_Eror/index”);
}
}
} else {
$this->session->set_flashdata(“loginnn”, “SALAH”);
redirect(“Login_Registrasi/index2”);
}
} else {
$this->session->set_flashdata(“122ogin”, “BELUM TERAKTIVASI”);
redirect(“Login_Registrasi/index2”);
}
} else {
122
$this->session->set_flashdata(“login”, “TIDAK TERDAFTAR”);
redirect(“Login_Registrasi/index2”);
}
}
if ($user) {
// Siapkan Token
$token = base64_encode(random_bytes(32));
$email = $this->input->post(“email”);
$data_token = [
“email” =>
$email, “token”
=> $token,
“date_created” => time()
];
$this->db->insert(“user_token”, $data_token);
$this->_sendEMailForgot($token, ‘forgot’);
} else {
$this->session->set_flashdata(“forgot”, “Tidak Terdaftar”);
redirect(“Login_Registrasi/Forgot_Password”);
}
}
];
$this->load->library(“email”, $config);
123
$this->email->initialize($config);
if ($type == “forgot”) {
$this->email->subject(‘Link Forgot Password’);
$this->email->message(‘Link : <a href=”’ . base_url() .
‘Login_Registrasi/Forgot?email=’ . $this->input->post(“email”) . ‘&token=’ .
urlencode($token) . ‘”>Reset Password</>’);
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
if ($user) {
// SIAPKAN TOKEN
$token = base64_encode(random_bytes(32));
$email = $this->input->post(“email”);
$data_token = [
“email” =>
$email, “token”
=> $token,
“date_created” => time()
];
$this->db->insert(“user_token”, $data_token);
$this->_sendEmailForgotAdmin($token, “forgot”);
} else {
$this->session->set_flashdata(“forgotpasswordadmin”,
“Ubah Password Gagal, Email Yang Anda Masukkan Tidak Terdaftar Atau
Belum Di verifikasi”);
redirect(“Login_Registrasi/ForgotPasswordAdmin”);
124
}
}
];
$this->load->library(“email”, $config);
$this->email->initialize($config);
if ($type == “forgot”) {
$this->email->subject(‘Link Forgot Password’);
$this->email->message(‘Link : <a href=”’ . base_url() .
‘Login_Registrasi/ForgotAdmin?email=’ . $this->input->post(“email”) .
‘&token=’ . urlencode($token) . ‘”>Reset Password</>’);
}
if ($this->email->send()) {
return true;
} else {
echo $this->email->print_debugger();
die();
}
}
}
125
D. Source Code View Tampilan Halaman Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman paling
atas source code project
126
2. Source code Tampilan Halaman Forgot Password Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
127
4. Source Code Tampilan halaman data pesanan masuk
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
128
5. Source Code Tampilan Data Barang Halaman Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
129
7. Source Code Tampilan Data Transaksi Halaman Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
130
9. Source Code Tampilan Data User Pembeli Halaman Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman paling
atas source code project
131
11. Source Code Tampilan Data Rekening Toko Halaman Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman paling
atas source code project
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman paling
atas source code project
132
13. Source Code Tampilan Halaman Profile Admin
Catatan : Untuk Versi lengkap nya silahkan lihat di dalam folder source code
project di dalam document drive yang sudah saya sertakan di halaman
paling atas source code project
133
3.3. List Pembagian Tugas
No. NIM Nama Tugas Nilai
1. 12220927 Muhammad Membuat Sistem
Abdillah Asyhar Registrasi, Login,
93
Aktivasi, Forgot
Password, Dan
Membuat sistem
pembayaran serta
membuat sistem
checkout belanja
dan keranjang
belanja dll
2. 12220863 Eko Nurhidayat Membuat Halaman
Kontak Pembeli,
82
Dan Membuat
Halaman Gallery
Produk
134
BAB IV
PENUTUP
4.1 Kesimpulan
135