├── img ├── logo.png ├── banner.png ├── rating.png ├── laundryku.ico ├── agen │ ├── default.png │ ├── 5eab524e20d98.jpg │ ├── 5eb13b4a97448.jpg │ ├── 5ed739ec803df.jpg │ └── 5ee221c18a208.png └── pelanggan │ ├── default.png │ ├── 5eab5700222f5.jpg │ ├── 5eb22273a681c.jpg │ ├── 5eb222d494cb6.jpg │ └── 5eb222e525b06.jpg ├── logout.php ├── connect-db.php ├── js ├── script.js └── scriptAjax.js ├── headtags.html ├── README.md ├── registrasi.php ├── footer.php ├── admin.php ├── css └── rating.css ├── term.php ├── team.php ├── edit-harga.php ├── ajax └── agen.php ├── functions └── functions.php ├── registrasi-agen2.php ├── list-pelanggan.php ├── registrasi-pelanggan.php ├── header.php ├── list-agen.php ├── ganti-kata-sandi.php ├── login.php ├── detail-agen.php ├── pelanggan.php ├── agen.php ├── pesan-laundry.php ├── registrasi-agen.php ├── laundryku.sql ├── status.php ├── index.php └── transaksi.php /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/logo.png -------------------------------------------------------------------------------- /img/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/banner.png -------------------------------------------------------------------------------- /img/rating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/rating.png -------------------------------------------------------------------------------- /img/laundryku.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/laundryku.ico -------------------------------------------------------------------------------- /img/agen/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/agen/default.png -------------------------------------------------------------------------------- /img/agen/5eab524e20d98.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/agen/5eab524e20d98.jpg -------------------------------------------------------------------------------- /img/agen/5eb13b4a97448.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/agen/5eb13b4a97448.jpg -------------------------------------------------------------------------------- /img/agen/5ed739ec803df.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/agen/5ed739ec803df.jpg -------------------------------------------------------------------------------- /img/agen/5ee221c18a208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/agen/5ee221c18a208.png -------------------------------------------------------------------------------- /img/pelanggan/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/pelanggan/default.png -------------------------------------------------------------------------------- /img/pelanggan/5eab5700222f5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/pelanggan/5eab5700222f5.jpg -------------------------------------------------------------------------------- /img/pelanggan/5eb22273a681c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/pelanggan/5eb22273a681c.jpg -------------------------------------------------------------------------------- /img/pelanggan/5eb222d494cb6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/pelanggan/5eb222d494cb6.jpg -------------------------------------------------------------------------------- /img/pelanggan/5eb222e525b06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hairullana/LaundryKu/HEAD/img/pelanggan/5eb222e525b06.jpg -------------------------------------------------------------------------------- /logout.php: -------------------------------------------------------------------------------- 1 | 10 | document.location.href = 'index.php'; 11 | 12 | "; 13 | 14 | 15 | ?> -------------------------------------------------------------------------------- /connect-db.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/script.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | $('.sidenav').sidenav(); 3 | }); 4 | 5 | document.addEventListener('DOMContentLoaded', function () { 6 | var elems = document.querySelectorAll('.slider'); 7 | var instances = M.Slider.init(elems, options); 8 | }); -------------------------------------------------------------------------------- /headtags.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LaundryKu 2 | Project ini digunakan sebagai Final Project untuk mata kuliah Basis Data Lanjut 3 | Program Studi Informatika, Fakultas MIPA, Universitas Udayana 4 | 5 | # CARA INSTALL 6 | 7 | ## 1. Download atau Clone Repository ini 8 | ## 2. Buat database bernama "laundryku" (DBMS: MySQL) 9 | ## 3. Import "laundryku.sql" ke dalam database "laundryku" 10 | 11 | # LOGIN ADMIN 12 | 13 |

Email: admin

14 |

Password: admin

-------------------------------------------------------------------------------- /js/scriptAjax.js: -------------------------------------------------------------------------------- 1 | //menangkap id 2 | var keyword = document.getElementById('keyword'); 3 | var cariData = document.getElementById('cariData'); 4 | var container = document.getElementById('container'); 5 | 6 | //trigger ketika cariData di klik 7 | // cariData.addEventListener('mouseover', function () { 8 | // alert('Tombol Ditekan !'); 9 | // }); 10 | 11 | //trigger ketika 12 | keyword.addEventListener('keyup', function () { 13 | //alert('Tombol Ditekan !'); 14 | 15 | // buat object ajax 16 | var xhr = new XMLHttpRequest(); 17 | 18 | // cek kesiapan ajax 19 | xhr.onreadystatechange = function () { 20 | if (xhr.readyState == 4 && xhr.status == 200) { 21 | //menampilkan di console 22 | // console.log(xhr.responseText); 23 | 24 | // manipulasi dokumen html id='container' 25 | container.innerHTML = xhr.responseText; 26 | } 27 | } 28 | 29 | // eksekusi ajax 30 | // metode = GET, sumber = ajax/coba.txt, true = ashyncronous 31 | xhr.open('GET', 'ajax/agen.php?keyword=' + keyword.value, true); 32 | xhr.send(); 33 | 34 | }); -------------------------------------------------------------------------------- /registrasi.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Registrasi 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |

Halaman Registrasi

28 |
29 | 30 | 31 |
32 | Registrasi Sebagai Pelanggan 33 | Registrasi Sebagai Agen 34 |
35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 |

2 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /admin.php: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | Profil Admin 26 | 27 | 28 | 29 |
30 |

Profil Admin

31 |
32 |
33 | 39 |
40 |
41 |
42 | 43 | 44 | 45 | 46 | 0){ 58 | echo " 59 | 64 | "; 65 | }else{ 66 | echo " 67 | 72 | "; 73 | echo mysqli_error($connect); 74 | } 75 | } 76 | 77 | 78 | ?> -------------------------------------------------------------------------------- /css/rating.css: -------------------------------------------------------------------------------- 1 | fieldset, 2 | label { 3 | margin: 0; 4 | padding: 0; 5 | } 6 | 7 | body { 8 | margin: 0px; 9 | } 10 | 11 | h1 { 12 | font-size: 1.5em; 13 | margin: 10px; 14 | } 15 | 16 | /****** Style untuk rating star *****/ 17 | 18 | .rating { 19 | border: none; 20 | float: left; 21 | } 22 | 23 | .rating>input { 24 | display: none; 25 | } 26 | 27 | .rating>label:before { 28 | margin: 5px; 29 | font-size: 1.25em; 30 | font-family: FontAwesome; 31 | display: inline-block; 32 | content: "\f005"; 33 | } 34 | 35 | .rating>.half:before { 36 | content: "\f089"; 37 | position: absolute; 38 | } 39 | 40 | .rating>label { 41 | color: #ddd; 42 | float: right; 43 | } 44 | 45 | /***** CSS untuk hover nya *****/ 46 | 47 | .rating>input:checked~label, 48 | /* memperlihatkan warna emas pada saat di klik */ 49 | .rating:not(:checked)>label:hover, 50 | /* hover untuk star berikutnya */ 51 | .rating:not(:checked)>label:hover~label { 52 | color: #FFD700; 53 | } 54 | 55 | /* hover untuk star sebelumnya */ 56 | 57 | .rating>input:checked+label:hover, 58 | /* hover ketika mengganti rating */ 59 | .rating>input:checked~label:hover, 60 | .rating>label:hover~input:checked~label, 61 | /* seleksi hover */ 62 | .rating>input:checked~label:hover~label { 63 | color: #FFED85; 64 | } 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | /* OUTPUT */ 78 | .bintang { 79 | width: 100px; 80 | border: none; 81 | font-weight: bold; 82 | font-size: 12px; 83 | } 84 | 85 | .starImg { 86 | width: 100px; 87 | height: 21px; 88 | display: block; 89 | background: url(../img/rating.png) 0 0 no-repeat; 90 | } 91 | 92 | .star-0 { 93 | background-position: -100px -0; 94 | } 95 | 96 | .star-1 { 97 | background-position: -81px -21px; 98 | } 99 | 100 | .star-2 { 101 | background-position: -81px 0; 102 | } 103 | 104 | .star-3 { 105 | background-position: -61px -21px; 106 | } 107 | 108 | .star-4 { 109 | background-position: -60px 0; 110 | } 111 | 112 | .star-5 { 113 | background-position: -40px -21px; 114 | } 115 | 116 | .star-6 { 117 | background-position: -40px 0; 118 | } 119 | 120 | .star-7 { 121 | background-position: -21px -21px; 122 | } 123 | 124 | .star-8 { 125 | background-position: -21px 0; 126 | } 127 | 128 | .star-9 { 129 | background-position: 0 -21px; 130 | } 131 | 132 | .star-10 { 133 | background-position: 0 0; 134 | } -------------------------------------------------------------------------------- /term.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Term and Condition 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 |
26 |
27 |
28 | laundryku

29 | Syarat dan Ketentuan : 30 |
31 |
32 |

1. Memiliki lokasi usaha laundry yang strategis dan teridentifikasi oleh google map

33 |

2. Agen memiliki nama usaha serta logo perusahaan agar dapat diposting di website laundryKU

34 |

3. Mampu memberikan layanan Laundry dengan kualitas prima dan harga yang bersaing

35 |

4. Memiliki driver yang bersedia untuk melakukan penjemputan dan pengantaran terhadap laundry pelanggan

36 |

5. Harga dari jenis laundry ditentukan berdasarkan berat per kilo (kg) ditambah dengan biaya ongkos kirim

37 |

6. Bersedia untuk memberikan informasi kepada pelanggan mengenai harga Laundry Kiloan

38 |

7. Bersedia untuk menerapkan sistem poin kepada pelanggan

39 |

8. Bersedia memberikan kompensasi untuk setiap kemungkinan terjadinya seperti kehilangan pakaian atau kerusakan pakaian pada saat proses Laundry dilakukan

40 |

9. Agen tidak diperkenankan untuk melakukan kerjasama dengan pihak Laundry lainnya

41 |

10. Sebagai kompensasi atas kerjasama adalah sistem bagi hasil sebesar 5%, yang diperhitungkan dari setiap 7 hari

42 |

11. Status agen secara otomatis dicabut apabila melanggar kesepakatan yang telah ditetapkan dalam surat perjanjian kerjasama ataupun agen ingin mengundurkan diri

43 |
44 |
45 | HOME - LAUNDRYKU 46 |
47 |
48 |
49 |
50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /team.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Team LaundryKu 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 |

Team LaundryKu

28 |
29 |
30 |
31 |
32 | 33 |
Nadya Oktaviana
34 |
35 |
36 |

I am a very simple card. I am good at containing small bits of information. 37 | I am convenient because I require little markup to use effectively.

38 |
39 |
40 | This is a link 41 |
42 |
43 |
44 |
45 |
46 |
47 | 48 |
Eka Nadya
49 |
50 |
51 |

I am a very simple card. I am good at containing small bits of information. 52 | I am convenient because I require little markup to use effectively.

53 |
54 |
55 | This is a link 56 |
57 |
58 |
59 |
60 |
61 |
62 | 63 |
Hairul Lana
64 |
65 |
66 |

I am a very simple card. I am good at containing small bits of information. 67 | I am convenient because I require little markup to use effectively.

68 |
69 |
70 | This is a link 71 |
72 |
73 |
74 |
75 |
76 |
77 | 78 |
Wina Artha
79 |
80 |
81 |

I am a very simple card. I am good at containing small bits of information. 82 | I am convenient because I require little markup to use effectively.

83 |
84 |
85 | This is a link 86 |
87 |
88 |
89 |
90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /edit-harga.php: -------------------------------------------------------------------------------- 1 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | Ubah Data Harga 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
39 |

Data Harga

40 |
41 |
42 | 43 | 44 |
45 |
46 | 47 | 48 |
49 |
50 | 51 |
52 |
53 | 54 |
55 |
56 |
57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 0) { 109 | echo " 110 | 115 | "; 116 | }else { 117 | echo " 118 | 121 | "; 122 | mysqli_error($connect); 123 | } 124 | 125 | } 126 | 127 | ?> -------------------------------------------------------------------------------- /ajax/agen.php: -------------------------------------------------------------------------------- 1 | 41 | 42 | 43 | 65 | 66 | 67 | 68 | 69 | 81 | 82 | 83 | 84 | 85 |
86 |
87 | 88 | 89 |
90 | 91 |
92 |
93 |

94 |
95 | 112 |
113 | 114 |
115 | 116 | 117 |

118 | Alamat : 119 |
Telp :

120 |

121 |
122 |
123 | 124 |
125 | 126 |
127 |

128 |
-------------------------------------------------------------------------------- /functions/functions.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | Swal.fire('Username Tidak Boleh Kosong','','error'); 12 | 13 | "; 14 | exit; 15 | }else if (!preg_match("/^[a-zA-Z0-9]*$/",$objek)){ 16 | echo " 17 | 20 | "; 21 | exit; 22 | } 23 | } 24 | 25 | // NO HP 26 | function validasiTelp($objek){ 27 | if (empty($objek)){ 28 | echo " 29 | 32 | "; 33 | exit; 34 | }else if (!preg_match("/^[0-9]*$/",$objek)){ 35 | echo " 36 | 39 | "; 40 | exit; 41 | } 42 | } 43 | 44 | // Berat 45 | function validasiBerat($objek){ 46 | if (empty($objek)){ 47 | echo " 48 | 51 | "; 52 | exit; 53 | }else if (!preg_match("/^[0-9]*$/",$objek)){ 54 | echo " 55 | 58 | "; 59 | exit; 60 | } 61 | } 62 | 63 | // HARGA 64 | function validasiHarga($objek){ 65 | if (empty($objek)){ 66 | echo " 67 | 70 | "; 71 | exit; 72 | }else if (!preg_match("/^[0-9]*$/",$objek)){ 73 | echo " 74 | 77 | "; 78 | exit; 79 | } 80 | } 81 | 82 | // EMAIL 83 | function validasiEmail($objek){ 84 | if (empty($objek)){ 85 | echo " 86 | 89 | "; 90 | exit; 91 | }else if (!filter_var($objek, FILTER_VALIDATE_EMAIL)){ 92 | echo " 93 | 96 | "; 97 | exit; 98 | } 99 | } 100 | 101 | // NAMA ORANG 102 | function validasiNama($objek){ 103 | if (empty($objek)){ 104 | echo " 105 | 108 | "; 109 | exit; 110 | }else if (!preg_match("/^[a-zA-Z .]*$/",$objek)){ 111 | echo " 112 | 115 | "; 116 | exit; 117 | } 118 | } 119 | 120 | 121 | 122 | 123 | 124 | 125 | // SESSION 126 | 127 | // admin 128 | function cekAdmin(){ 129 | if ( isset($_SESSION["login-admin"]) && isset($_SESSION["admin"]) ){ 130 | 131 | $idAdmin = $_SESSION["admin"]; 132 | 133 | }else { 134 | echo " 135 | 138 | "; 139 | exit; 140 | } 141 | } 142 | 143 | 144 | // agen 145 | function cekAgen(){ 146 | if (isset($_SESSION["login-agen"]) && isset($_SESSION["agen"]) ){ 147 | 148 | $idAgen = $_SESSION["agen"]; 149 | }else { 150 | echo " 151 | 154 | "; 155 | exit; 156 | } 157 | } 158 | 159 | 160 | // pengguna 161 | function cekPelanggan(){ 162 | if ( isset($_SESSION["login-pelanggan"]) && isset($_SESSION["pelanggan"]) ){ 163 | 164 | $idPelanggan = $_SESSION["pelanggan"]; 165 | }else { 166 | echo " 167 | 170 | "; 171 | exit; 172 | } 173 | } 174 | 175 | 176 | // login 177 | function cekLogin(){ 178 | if ( (isset($_SESSION["login-pelanggan"]) && isset($_SESSION["pelanggan"])) || (isset($_SESSION["login-agen"]) && isset($_SESSION["agen"])) || (isset($_SESSION["login-admin"]) && isset($_SESSION["admin"])) ) { 179 | echo " 180 | 183 | "; 184 | exit; 185 | } 186 | } 187 | 188 | // belum login 189 | function cekBelumLogin(){ 190 | if ( !(isset($_SESSION["login-pelanggan"]) && isset($_SESSION["pelanggan"])) && !(isset($_SESSION["login-agen"]) && isset($_SESSION["agen"])) && !(isset($_SESSION["login-admin"]) && isset($_SESSION["admin"])) ) { 191 | echo " 192 | 195 | "; 196 | exit; 197 | } 198 | } 199 | 200 | 201 | ?> -------------------------------------------------------------------------------- /registrasi-agen2.php: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | Registrasi Agen Lanjutan 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 | 34 | 35 |
36 |
37 |
38 | laundryku

39 | Syarat dan Ketentuan : 40 |
41 |
42 |

1. Memiliki lokasi usaha laundry yang strategis dan teridentifikasi oleh google map

43 |

2. Agen memiliki nama usaha serta logo perusahaan agar dapat diposting di website laundryKU

44 |

3. Mampu memberikan layanan Laundry dengan kualitas prima dan harga yang bersaing

45 |

4. Memiliki driver yang bersedia untuk melakukan penjemputan dan pengantaran terhadap laundry pelanggan

46 |

5. Harga dari jenis laundry ditentukan berdasarkan berat per kilo (kg) ditambah dengan biaya ongkos kirim

47 |

6. Bersedia untuk memberikan informasi kepada pelanggan mengenai harga Laundry Kiloan

48 |

7. Bersedia untuk menerapkan sistem poin kepada pelanggan

49 |

8. Bersedia memberikan kompensasi untuk setiap kemungkinan terjadinya seperti kehilangan pakaian atau kerusakan pakaian pada saat proses Laundry dilakukan

50 |

9. Agen tidak diperkenankan untuk melakukan kerjasama dengan pihak Laundry lainnya

51 |

10. Sebagai kompensasi atas kerjasama adalah sistem bagi hasil sebesar 5%, yang diperhitungkan dari setiap 7 hari

52 |

11. Status agen secara otomatis dicabut apabila melanggar kesepakatan yang telah ditetapkan dalam surat perjanjian kerjasama ataupun agen ingin mengundurkan diri

53 |
54 |
55 | Baca Selengkapnya 56 |
57 |
58 |
59 | 60 | 61 | 62 | 63 |
64 |

Data Harga

65 |
66 |
67 |
    68 |
  • 69 | 70 | 71 |
  • 72 |
  • 73 | 74 | 75 |
  • 76 |
  • 77 | 78 | 79 |
  • 80 |
  • 81 |
    82 | 83 |
    84 |
  • 85 |
86 |
87 |
88 |
89 | 90 |
91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 0 ){ 142 | echo " 143 | 148 | "; 149 | }else { 150 | echo " 151 | 154 | "; 155 | echo mysqli_error($connect); 156 | } 157 | } 158 | 159 | ?> -------------------------------------------------------------------------------- /list-pelanggan.php: -------------------------------------------------------------------------------- 1 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | List Pelanggan 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 |

List Pelanggan

77 |
78 | 79 | 80 |
81 |
82 | 83 | 84 |
85 |
86 | 87 | 88 |
89 |
90 | 91 | 92 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 |
ID PelangganNamaNo TelpEmailKotaAlamat LengkapAksi
delete
139 | 140 |
141 |
142 | 143 | 144 | 145 | 146 | 147 | 0 ){ 159 | echo " 160 | 165 | "; 166 | } 167 | } 168 | 169 | ?> -------------------------------------------------------------------------------- /registrasi-pelanggan.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Registrasi Pelanggan 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Registrasi Pelanggan

27 | 28 | 29 |
30 |
31 |
32 |
33 |
    34 |
  • 35 | 36 | 37 |
  • 38 |
  • 39 | 40 | 41 |
  • 42 |
  • 43 | 44 | 45 |
  • 46 |
  • 47 | 48 | 49 |
  • 50 |
  • 51 | 52 | 53 |
  • 54 |
  • 55 | 56 | 57 |
  • 58 |
  • 59 | 60 | 61 |
  • 62 |
  • 63 |
    64 | 65 |
    66 |
  • 67 |
68 |
69 |
70 |
71 | Ingin menjadi mitra kami ?
72 | Dafar sebagai agen sekarang !
73 |
74 | Registrasi Sebagai Agen 75 |
76 |
77 |
78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 118 | Swal.fire('Pendaftaran Gagal','Email Sudah Terdaftar','error'); 119 | 120 | "; 121 | // RETURN FALSE 122 | return false; 123 | } 124 | 125 | //cek konfirmasi password 126 | if ($password != $password2) { 127 | echo " 128 | 131 | "; 132 | return false; 133 | } 134 | 135 | //enskripsi password 136 | $password = password_hash($password, PASSWORD_DEFAULT); 137 | 138 | // masukkan data user ke db 139 | mysqli_query($connect, "INSERT INTO pelanggan VALUES ('','$nama','$email','$noTelp','$kota','$alamat','default.png','$password')"); 140 | 141 | // RETURN TRUE 142 | return mysqli_affected_rows($connect); 143 | } 144 | 145 | 146 | // ketika tombol registrasi di klik 147 | if ( isset($_POST["registrasi"]) ){ 148 | if ( registrasi($_POST) > 0 ) { 149 | 150 | $email = $_POST["email"]; 151 | $query = mysqli_query($connect, "SELECT * FROM pelanggan WHERE email = '$email'"); 152 | $pelanggan = mysqli_fetch_assoc($query); 153 | $_SESSION["pelanggan"] = $pelanggan["id_pelanggan"]; 154 | $_SESSION["login-pelanggan"] = true; 155 | echo " 156 | 161 | "; 162 | }else { 163 | echo mysqli_error($connect); 164 | } 165 | 166 | } 167 | 168 | ?> -------------------------------------------------------------------------------- /header.php: -------------------------------------------------------------------------------- 1 | 122 |
-------------------------------------------------------------------------------- /list-agen.php: -------------------------------------------------------------------------------- 1 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | Data Agen 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |

List Agen

80 |
81 | 82 | 83 | 84 |
85 |
86 | 87 | 88 |
89 |
90 | 91 | 92 |
93 |
94 | 95 | 96 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 |
ID AgenNama LaundryNama PemilikNo TelpEmailPlat DriverKotaAlamat LengkapAksi
delete
151 | 152 | 153 | 154 | 155 |
156 |
157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 0 ){ 177 | echo " 178 | 183 | "; 184 | } 185 | } 186 | ?> -------------------------------------------------------------------------------- /ganti-kata-sandi.php: -------------------------------------------------------------------------------- 1 | 26 | document.location.href = 'index.php'; 27 | 28 | "; 29 | } 30 | 31 | 32 | 33 | ?> 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | Ganti Kata Sandi 42 | 43 | 44 | 45 |

Ganti Kata Sandi

46 |
47 |
48 | 49 | 50 | 51 | 52 |
53 |
54 |
55 | 56 | 57 | 58 | 59 | 75 | Swal.fire('Password Lama Salah','','error').then(function() { 76 | window.location = 'ganti-kata-sandi.php'; 77 | }); 78 | 79 | "; 80 | exit; 81 | } 82 | 83 | if ($password != $repassword) { 84 | echo " 85 | 90 | "; 91 | exit; 92 | } 93 | 94 | $query = mysqli_query($connect, "UPDATE admin SET password = '$password' WHERE id_admin = $idAdmin"); 95 | 96 | if (mysqli_affected_rows($connect) > 0) { 97 | echo " 98 | 103 | "; 104 | } 105 | 106 | 107 | }else if ($login == "Agen"){ 108 | $idAgen = $_SESSION["agen"]; 109 | $data = mysqli_query($connect, "SELECT * FROM agen WHERE id_agen = $idAgen"); 110 | $data = mysqli_fetch_assoc($data); 111 | 112 | if (password_verify($passwordLama, $data["password"])) { 113 | echo " 114 | 119 | "; 120 | exit; 121 | } 122 | 123 | if ($password != $repassword) { 124 | echo " 125 | 130 | "; 131 | exit; 132 | } 133 | 134 | //hash 135 | $password = password_hash($password, PASSWORD_DEFAULT); 136 | 137 | $query = mysqli_query($connect, "UPDATE agen SET password = '$password' WHERE id_agen = $idAgen"); 138 | 139 | if (mysqli_affected_rows($connect) > 0) { 140 | echo " 141 | 146 | "; 147 | } 148 | }else if ($login = "Pelanggan"){ 149 | $idPelanggan = $_SESSION["pelanggan"]; 150 | $data = mysqli_query($connect, "SELECT * FROM pelanggan WHERE id_pelanggan = $idPelanggan"); 151 | $data = mysqli_fetch_assoc($data); 152 | 153 | // hash 154 | $passwordLama = password_hash($passwordLama, PASSWORD_DEFAULT); 155 | 156 | if (password_verify($passwordLama, $data["password"])) { 157 | echo " 158 | 163 | "; 164 | exit; 165 | } 166 | 167 | if ($password != $repassword) { 168 | echo " 169 | 174 | "; 175 | exit; 176 | } 177 | 178 | // hash 179 | $password = password_hash($password, PASSWORD_DEFAULT); 180 | 181 | $query = mysqli_query($connect, "UPDATE pelanggan SET password = '$password' WHERE id_pelanggan = $idPelanggan"); 182 | 183 | if (mysqli_affected_rows($connect) > 0) { 184 | echo " 185 | 190 | "; 191 | } 192 | } 193 | } 194 | 195 | ?> -------------------------------------------------------------------------------- /login.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Halaman Login 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 |

Halaman Login

29 |
30 |
31 |
    32 |
  • 33 | 34 | 35 | 36 |
  • 37 |
  • 38 | 39 |
  • 40 |
  • 41 | 42 |

    43 |
  • 44 |
    45 |
  • 46 |
    47 | 48 |
    49 |
  • 50 |
51 |
52 |
53 |
54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 88 | document.location.href = 'index.php'; 89 | 90 | "; 91 | exit; 92 | }else { 93 | echo " 94 | 97 | "; 98 | } 99 | }else { 100 | echo " 101 | 104 | "; 105 | } 106 | }else if ($_POST["akun"] == 'pelanggan'){ 107 | $email = htmlspecialchars($_POST["email"]); 108 | $password = htmlspecialchars($_POST["password"]); 109 | 110 | validasiEmail($email); 111 | 112 | //cek apakah ada email atau tidak 113 | $result = mysqli_query($connect, "SELECT * FROM pelanggan WHERE email = '$email'"); 114 | 115 | //jika ada username 116 | if ( mysqli_num_rows($result) === 1 ){ //fungsi menghitung jumlah baris di db 117 | 118 | //memasukkan data db ke array assosiative 119 | $data = mysqli_fetch_assoc($result); 120 | 121 | //cek apakah password sama 122 | if ( password_verify($password, $data["password"]) ){ 123 | //session login 124 | $_SESSION["pelanggan"] = $data["id_pelanggan"]; 125 | $_SESSION["login-pelanggan"] = true; 126 | 127 | echo " 128 | 131 | "; 132 | 133 | }else { 134 | echo " 135 | 138 | "; 139 | } 140 | }else { 141 | echo " 142 | 145 | "; 146 | } 147 | }else if ($_POST["akun"] == 'admin' ){ 148 | $username = htmlspecialchars($_POST["email"]); 149 | $password = htmlspecialchars($_POST["password"]); 150 | 151 | validasiUsername($username); 152 | 153 | // cek di db 154 | $data = mysqli_query($connect, "SELECT * FROM admin WHERE username = '$username'"); 155 | 156 | // jika email ada 157 | if ( mysqli_num_rows($data) === 1 ){ 158 | 159 | // jadikan array asosiatif 160 | $data = mysqli_fetch_assoc($data); 161 | $idAdmin = $data["id_admin"]; 162 | 163 | // jika password benar 164 | if ( $password === $data["password"]) { 165 | //session login 166 | $_SESSION["login-admin"] = true; 167 | $_SESSION["admin"] = $idAdmin; 168 | 169 | echo " 170 | 173 | "; 174 | 175 | }else { 176 | echo " 177 | 180 | "; 181 | } 182 | }else { 183 | echo " 184 | 187 | "; 188 | } 189 | }else { 190 | echo " 191 | 194 | "; 195 | } 196 | } 197 | 198 | ?> -------------------------------------------------------------------------------- /detail-agen.php: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | <?= $agen["nama_laundry"] ?> 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |

32 | 33 |
34 |
35 | 36 | PESAN LAUNDRY 37 |
38 |
39 |

40 | 67 |
68 |
69 | 70 | 71 |
72 |
73 |
74 |
75 | 76 |
77 | 82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | 90 |
91 | 96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 | 104 |
105 | 110 |
111 |
112 |
113 |
114 |
115 | 116 | 117 | 118 |

119 | 120 | 121 |

Ulasan Pengguna

122 |
123 | 124 |
125 | 135 | 136 | 137 |
138 |
139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 |
foto" . $pelanggan["nama"] . "";?>
151 |
152 |
153 | 154 | 155 | 156 | 157 | 158 | 159 | 171 | 172 |
173 | 174 | 175 | 176 | 177 | -------------------------------------------------------------------------------- /pelanggan.php: -------------------------------------------------------------------------------- 1 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | Data Penggunan - <?= $data["nama"] ?> 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |
46 |
47 |

DATA PENGGUNA

48 |
49 |
50 |
51 | 52 |
53 |
54 |
55 | Foto Profil 56 | 57 |
58 |
59 | 60 |
61 |
62 |
    63 |
  • 64 | 65 | 66 |
  • 67 |
  • 68 | 69 | 70 |
  • 71 |
  • 72 | 73 | 74 |
  • 75 |
  • 76 | 77 | 78 |
  • 79 |
  • 80 | 81 | 82 |
  • 83 |
  • 84 |
    85 | 86 |
    87 |
  • 88 |
    89 |
  • 90 |
    91 | Ganti Kata Sandi 92 |
    93 |
  • 94 |
95 |
96 |
97 |
98 |
99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 135 | Swal.fire('Upload Gagal','Masukan Ekstensi Gambar Yang Valid','warning'); 136 | 137 | "; 138 | return false; 139 | } 140 | 141 | //CEK ukuran file 142 | if ( $ukuranFile > 3000000 ) { 143 | echo " 144 | 147 | "; 148 | return false; 149 | } 150 | 151 | //LOLOS CEK BROOO 152 | //generate nama baru random 153 | $namaFileBaru = uniqid() . '.' . $ekstensiGambar; 154 | move_uploaded_file($temp,'img/pelanggan/'.$namaFileBaru); 155 | 156 | return $namaFileBaru; 157 | } 158 | 159 | 160 | if ( isset($_POST["ubah-data"]) ){ 161 | 162 | // mengambil pelanggan 163 | $nama = htmlspecialchars($_POST["nama"]); 164 | $email = htmlspecialchars($_POST["email"]); 165 | $telp = htmlspecialchars($_POST["telp"]); 166 | $kota = htmlspecialchars($_POST["kota"]); 167 | $alamat = htmlspecialchars($_POST["alamat"]); 168 | $foto = uploadFoto(); 169 | 170 | if ($foto == NULL){ 171 | $foto = $data["foto"]; 172 | } 173 | 174 | //var_dump($foto);die; 175 | 176 | // validasi 177 | validasiNama($nama); 178 | validasiEmail($email); 179 | validasiTelp($telp); 180 | validasiNama($kota); 181 | 182 | 183 | $query = "UPDATE pelanggan SET 184 | nama = '$nama', 185 | email = '$email', 186 | telp = '$telp', 187 | kota = '$kota', 188 | alamat = '$alamat', 189 | foto = '$foto' 190 | WHERE id_pelanggan = $idPelanggan 191 | "; 192 | 193 | mysqli_query($connect,$query); 194 | 195 | $hasil = mysqli_affected_rows($connect); 196 | 197 | if ( $hasil > 0 ){ 198 | 199 | // panggis isi db 200 | $pelanggan = mysqli_query($connect, "SELECT * FROM pelanggan WHERE id_pelanggan = $idPelanggan"); 201 | $pelanggan = mysqli_fetch_assoc($pelanggan); 202 | 203 | // mengganti session 204 | $_SESSION["pelanggan"] = $pelanggan["id_pelanggan"]; 205 | echo " 206 | 211 | "; 212 | }else{ 213 | echo " 214 | 217 | "; 218 | } 219 | } 220 | 221 | ?> -------------------------------------------------------------------------------- /agen.php: -------------------------------------------------------------------------------- 1 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | Profil Agen 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
38 |
39 |

Data Agen

40 |

41 |
42 |
43 | 44 |
45 |
46 |
47 | Foto Profil 48 | 49 |
50 |
51 | 52 |
53 |
54 |
55 |
    56 |
  • 57 | 58 | 59 |
  • 60 |
  • 61 | 62 | 63 |
  • 64 |
  • 65 | 66 | 67 |
  • 68 |
  • 69 | 70 | 71 |
  • 72 |
  • 73 | 74 | 75 |
  • 76 |
  • 77 | 78 | 79 |
  • 80 |
  • 81 | 82 | 83 |
  • 84 |
  • 85 |
    86 | 87 |
    88 |
  • 89 | 90 |
91 |
92 |
93 | 97 | 98 |
99 |
100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 139 | Swal.fire('Masukkan Format Gambar','','warning'); 140 | 141 | "; 142 | return false; 143 | exit; 144 | } 145 | 146 | //CEK ukuran file 147 | if ( $ukuranFile > 3000000 ) { 148 | echo " 149 | 152 | "; 153 | return false; 154 | exit; 155 | } 156 | 157 | //LOLOS CEK BROOO 158 | //generate nama baru random 159 | $namaFileBaru = uniqid() . '.' . $ekstensiGambar; 160 | move_uploaded_file($temp,'img/agen/'.$namaFileBaru); 161 | 162 | return $namaFileBaru; 163 | } 164 | 165 | //ambil data 166 | $namaLaundry = htmlspecialchars($_POST["namaLaundry"]); 167 | $namaPemilik = htmlspecialchars($_POST["namaPemilik"]); 168 | $email = htmlspecialchars($_POST["email"]); 169 | $telp = htmlspecialchars($_POST["telp"]); 170 | $platDriver = htmlspecialchars($_POST["platDriver"]); 171 | $kota = htmlspecialchars($_POST["kota"]); 172 | $alamat = htmlspecialchars($_POST["alamat"]); 173 | $foto = uploadFoto(); 174 | 175 | if ($foto == NULL){ 176 | $foto = $agen["foto"]; 177 | } 178 | 179 | // validasi 180 | validasiNama($namaPemilik); 181 | validasiEmail($email); 182 | validasiTelp($telp); 183 | validasiNama($kota); 184 | 185 | 186 | $query = "UPDATE agen SET 187 | nama_laundry = '$namaLaundry', 188 | nama_pemilik = '$namaPemilik', 189 | email = '$email', 190 | telp = '$telp', 191 | kota = '$kota', 192 | plat_driver = '$platDriver', 193 | alamat = '$alamat', 194 | foto = '$foto' 195 | WHERE id_agen = $idAgen 196 | "; 197 | 198 | mysqli_query($connect,$query); 199 | 200 | if ( mysqli_affected_rows($connect) > 0){ 201 | echo " 202 | 207 | "; 208 | } 209 | } 210 | 211 | 212 | ?> -------------------------------------------------------------------------------- /pesan-laundry.php: -------------------------------------------------------------------------------- 1 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | Pemesanan Laundry 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
48 |
49 | 50 | PESAN LAUNDRY 51 |
52 |
53 |

54 | 77 |
78 |
79 | 80 | 81 | 82 |
83 |
84 |
85 |
86 |

Data Diri

87 |
88 |
89 | 90 | 91 |
92 |
93 | 94 | 95 |
96 |
97 | 98 | 99 |
100 |
101 |
102 |

Info Paket Laundry

103 |
104 |
105 | 106 | 107 |
108 |
109 |
    110 |
  • 111 |
  • 112 | 113 | 114 | 115 |
  • 116 | 117 | 118 | 119 |
  • 120 | 121 | 122 | 123 |
  • 124 | 125 | 126 | 127 |
  • 128 | 129 | 130 | 131 |
  • 132 | 133 | 134 |
135 |
136 |
137 | 138 | 139 |
140 |
141 | 142 |
143 |
144 |
145 |
146 |
147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 0){ 171 | echo " 172 | 177 | "; 178 | }else { 179 | echo mysqli_error($connect); 180 | } 181 | } 182 | 183 | 184 | 185 | ?> -------------------------------------------------------------------------------- /registrasi-agen.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Registrasi Agen 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 |
30 |
31 | laundryku

32 | Syarat dan Ketentuan : 33 |
34 |
35 |

1. Memiliki lokasi usaha laundry yang strategis dan teridentifikasi oleh google map

36 |

2. Agen memiliki nama usaha serta logo perusahaan agar dapat diposting di website laundryKU

37 |

3. Mampu memberikan layanan Laundry dengan kualitas prima dan harga yang bersaing

38 |

4. Memiliki driver yang bersedia untuk melakukan penjemputan dan pengantaran terhadap laundry pelanggan

39 |

5. Harga dari jenis laundry ditentukan berdasarkan berat per kilo (kg) ditambah dengan biaya ongkos kirim

40 |

6. Bersedia untuk memberikan informasi kepada pelanggan mengenai harga Laundry Kiloan

41 |

7. Bersedia untuk menerapkan sistem poin kepada pelanggan

42 |

8. Bersedia memberikan kompensasi untuk setiap kemungkinan terjadinya seperti kehilangan pakaian atau kerusakan pakaian pada saat proses Laundry dilakukan

43 |

9. Agen tidak diperkenankan untuk melakukan kerjasama dengan pihak Laundry lainnya

44 |

10. Sebagai kompensasi atas kerjasama adalah sistem bagi hasil sebesar 5%, yang diperhitungkan dari setiap 7 hari

45 |

11. Status agen secara otomatis dicabut apabila melanggar kesepakatan yang telah ditetapkan dalam surat perjanjian kerjasama ataupun agen ingin mengundurkan diri

46 |
47 |
48 | Baca Selengkapnya 49 |
50 |
51 |
52 | 53 | 54 | 55 |
56 |

DAFTAR SEBAGAI AGEN

57 |
58 |
59 |
    60 |
  • 61 | 62 | 63 |
  • 64 |
  • 65 | 66 | 67 |
  • 68 |
  • 69 | 70 | 71 |
  • 72 |
  • 73 | 74 | 75 |
  • 76 |
  • 77 | 78 | 79 |
  • 80 |
  • 81 | 82 | 83 |
  • 84 |
  • 85 | 86 | 87 |
  • 88 |
  • 89 | 90 | 91 |
  • 92 |
  • 93 | 94 | 95 |
  • 96 |
  • 97 |
    98 |
  • 99 |
100 |
101 |
102 |
103 |
104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 145 | Swal.fire('Pendaftaran Agen Gagal','Email Yang Anda Masukkan Sudah Terdaftar','error'); 146 | 147 | "; 148 | // RETURN FALSE 149 | return false; 150 | } 151 | 152 | //cek konfirmasi password 153 | if ($password != $password2) { 154 | echo " 155 | 158 | "; 159 | return false; 160 | } 161 | 162 | //enskripsi password 163 | $password = password_hash($password, PASSWORD_DEFAULT); 164 | 165 | 166 | $query = "INSERT INTO agen VALUES ( 167 | '', 168 | '$namaLaundry', 169 | '$namaPemilik', 170 | '$telp', 171 | '$email', 172 | '$kota', 173 | '$alamat', 174 | '$platDriver', 175 | 'default.png', 176 | '$password' 177 | )"; 178 | 179 | mysqli_query($connect, $query); 180 | 181 | return mysqli_affected_rows($connect); 182 | } 183 | 184 | // AKSI DAFTAR 185 | if (isset($_POST["daftar"])) { 186 | 187 | if ( registrasi($_POST) > 0) { 188 | // ambil data agen di db 189 | $email = $_POST['email']; 190 | $query = "SELECT * FROM agen WHERE email = '$email'"; 191 | $result = mysqli_query($connect,$query); 192 | $agen = mysqli_fetch_assoc($result); 193 | 194 | // buat session 195 | $_SESSION["agen"] = $agen["id_agen"]; 196 | $_SESSION["login-agen"] = true; 197 | 198 | echo " 199 | 204 | 205 | "; 206 | }else { 207 | echo mysqli_error($connect); 208 | } 209 | 210 | 211 | } 212 | 213 | ?> -------------------------------------------------------------------------------- /laundryku.sql: -------------------------------------------------------------------------------- 1 | -- phpMyAdmin SQL Dump 2 | -- version 5.0.2 3 | -- https://www.phpmyadmin.net/ 4 | -- 5 | -- Host: 127.0.0.1 6 | -- Generation Time: May 06, 2020 at 05:49 AM 7 | -- Server version: 10.4.11-MariaDB 8 | -- PHP Version: 7.4.5 9 | 10 | SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 11 | START TRANSACTION; 12 | SET time_zone = "+00:00"; 13 | 14 | 15 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 16 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 17 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 18 | /*!40101 SET NAMES utf8mb4 */; 19 | 20 | -- 21 | -- Database: `laundryku` 22 | -- 23 | 24 | -- -------------------------------------------------------- 25 | 26 | -- 27 | -- Table structure for table `admin` 28 | -- 29 | 30 | CREATE TABLE `admin` ( 31 | `id_admin` int(11) NOT NULL, 32 | `username` varchar(30) DEFAULT NULL, 33 | `password` varchar(255) DEFAULT NULL 34 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 35 | 36 | -- 37 | -- Dumping data for table `admin` 38 | -- 39 | 40 | INSERT INTO `admin` (`id_admin`, `username`, `password`) VALUES 41 | (1, 'admin2', 'admin'); 42 | 43 | -- -------------------------------------------------------- 44 | 45 | -- 46 | -- Table structure for table `agen` 47 | -- 48 | 49 | CREATE TABLE `agen` ( 50 | `id_agen` int(11) NOT NULL, 51 | `nama_laundry` varchar(30) DEFAULT NULL, 52 | `nama_pemilik` varchar(30) DEFAULT NULL, 53 | `telp` varchar(13) DEFAULT NULL, 54 | `email` varchar(30) DEFAULT NULL, 55 | `kota` varchar(20) DEFAULT NULL, 56 | `alamat` varchar(100) DEFAULT NULL, 57 | `plat_driver` varchar(12) DEFAULT NULL, 58 | `foto` text NOT NULL, 59 | `password` varchar(255) DEFAULT NULL 60 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 61 | 62 | -- 63 | -- Dumping data for table `agen` 64 | -- 65 | 66 | INSERT INTO `agen` (`id_agen`, `nama_laundry`, `nama_pemilik`, `telp`, `email`, `kota`, `alamat`, `plat_driver`, `foto`, `password`) VALUES 67 | (1, 'Nadya LaundryKu', 'Nadya Eka', '083123456789', 'agen1@gmail.com', 'Denpasar', 'Jl. Diponegoro No 55', 'DK 1234 AA', '5eab524e20d98.jpg', '$2y$10$tQ4th/nx/LLxYB7iHpbg4.FX1wdffLb5yplJIJsTdU6XlUCNPgEC6'), 68 | (4, 'Laundry 2', 'Firdaus', '3875120', 'agen2@gmail.com', 'Surabaya', 'Jl. Surabaya No 12', 'DK 0000 AA', 'default.png', '$2y$10$mmXlXG97cauDgYemQwPjKuScxSjrnSrTZMH04bb1dosa7luvj1yUW'), 69 | (5, 'Laundry WINA GANS', 'Wina Arth', '57109', 'agen3@gmail.com', 'Badung', 'Kuta No 22', 'DK 1234 AA', 'default.png', '$2y$10$tKrLGx8FMw8sCwuxIdUWgevKb0ikEozi8xseBV9CvBzUnUhOkHd1S'), 70 | (7, 'Hairul Laundry', 'Hairul Lana', '08321456378', 'agen5@gmail.com', 'Karangasem', 'Jl. Mawar No 78', 'DK 5432 AB', 'default.png', '$2y$10$ldHD7JtlC26H.EuNf.kMPO9aamXxsO3yRWagW/gKzUrWjcWezq/eO'), 71 | (9, 'Satan Laundry', 'Satan', '098527815618', 'agen6@gmail.com', 'Denpasar', 'Jl. Hehe No 77', 'DK 6666 DD', 'default.png', '$2y$10$IS1G8nhOpgY2EeVXppcz1u5sX.enw50eNYkRy9lli2wpnhlCu7PZG'), 72 | (10, 'IBM Laundry', 'IBM Shava', '083123456789', 'agen4@gmail.com', 'Bangli', 'Jl. Sumatra No 33', 'DK 5555 SM', 'default.png', '$2y$10$OB2C9R4kUHrhGaMi3eF6z.DrDnQzapZhPZTucYh4I.ckes73MoFxy'); 73 | 74 | -- -------------------------------------------------------- 75 | 76 | -- 77 | -- Table structure for table `cucian` 78 | -- 79 | 80 | CREATE TABLE `cucian` ( 81 | `id_cucian` int(11) NOT NULL, 82 | `id_agen` int(11) NOT NULL, 83 | `id_pelanggan` int(11) DEFAULT NULL, 84 | `tgl_mulai` date NOT NULL, 85 | `tgl_selesai` date NOT NULL, 86 | `jenis` varchar(15) DEFAULT NULL, 87 | `total_item` int(11) DEFAULT NULL, 88 | `berat` double DEFAULT NULL, 89 | `alamat` varchar(100) NOT NULL, 90 | `catatan` text NOT NULL, 91 | `status_cucian` varchar(20) DEFAULT NULL 92 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 93 | 94 | -- 95 | -- Dumping data for table `cucian` 96 | -- 97 | 98 | INSERT INTO `cucian` (`id_cucian`, `id_agen`, `id_pelanggan`, `tgl_mulai`, `tgl_selesai`, `jenis`, `total_item`, `berat`, `alamat`, `catatan`, `status_cucian`) VALUES 99 | (1, 1, 11, '2020-04-25', '0000-00-00', 'setrika', 2, 1, 'Jl. Aceg No 44, Aceh', 'tak ada', 'Selesai'), 100 | (2, 5, 8, '2020-04-25', '0000-00-00', 'komplit', 6, 4, 'Jl. Melati No 99, Denpasar', 'yang bersih yaaaa', 'Selesai'), 101 | (3, 1, 11, '2020-04-26', '0000-00-00', 'cuci', 1, 5, 'Jl. Aceg No 44, Aceh', 'cepet ya', 'Selesai'), 102 | (4, 4, 11, '2020-04-27', '0000-00-00', 'cuci', 1, 5, 'Jl. Aceg No 44, Aceh', 'cepet', 'Selesai'), 103 | (5, 5, 11, '2020-04-27', '0000-00-00', 'komplit', 5, 6, 'Jl. Aceg No 44, Aceh', 'yg bersih y', 'Selesai'), 104 | (6, 7, 9, '2020-04-27', '0000-00-00', 'setrika', 1, NULL, 'Jl. Goa Gong, No 99, Kec Kuta Selatan (Rumah warna hitam), Badung', 'ngebut ya\r\n', 'Penjemputan'), 105 | (7, 5, 12, '2020-04-29', '0000-00-00', 'setrika', 4, 2, 'Jl. Umum No 77, Singaraja', 'yang sabar', 'Sedang Di Jemur'), 106 | (8, 5, 12, '2020-05-06', '0000-00-00', 'setrika', 5, 3, 'Jl. Umum No 77, Singaraja', 'Yang Harum ya beb', 'Sedang di Cuci'), 107 | (9, 5, 13, '2020-05-06', '0000-00-00', 'komplit', 1, 1, 'Jl. Semarang No 99, Semarang', 'tes', 'Selesai'); 108 | 109 | -- -------------------------------------------------------- 110 | 111 | -- 112 | -- Table structure for table `harga` 113 | -- 114 | 115 | CREATE TABLE `harga` ( 116 | `id_harga` int(11) NOT NULL, 117 | `jenis` varchar(30) NOT NULL, 118 | `id_agen` int(11) NOT NULL, 119 | `harga` int(11) NOT NULL 120 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 121 | 122 | -- 123 | -- Dumping data for table `harga` 124 | -- 125 | 126 | INSERT INTO `harga` (`id_harga`, `jenis`, `id_agen`, `harga`) VALUES 127 | (1, 'cuci', 3, 2000), 128 | (2, 'setrika', 3, 1000), 129 | (3, 'komplit', 3, 2500), 130 | (4, 'cuci', 1, 5000), 131 | (5, 'setrika', 1, 3000), 132 | (6, 'komplit', 1, 7000), 133 | (7, 'cuci', 4, 300), 134 | (8, 'setrika', 4, 200), 135 | (9, 'komplit', 4, 400), 136 | (10, 'cuci', 5, 4000), 137 | (11, 'setrika', 5, 3000), 138 | (12, 'komplit', 5, 5000), 139 | (13, 'cuci', 6, 7000), 140 | (14, 'setrika', 6, 3000), 141 | (15, 'komplit', 6, 8000), 142 | (16, 'cuci', 7, 3000), 143 | (17, 'setrika', 7, 2000), 144 | (18, 'komplit', 7, 4500), 145 | (19, 'cuci', 8, 6000), 146 | (20, 'setrika', 8, 3000), 147 | (21, 'komplit', 8, 7500), 148 | (22, 'cuci', 9, 4000), 149 | (23, 'setrika', 9, 2000), 150 | (24, 'komplit', 9, 5000), 151 | (25, 'cuci', 10, 5000), 152 | (26, 'setrika', 10, 3000), 153 | (27, 'komplit', 10, 6000), 154 | (28, 'cuci', 10, 5000), 155 | (29, 'setrika', 10, 3000), 156 | (30, 'komplit', 10, 6000); 157 | 158 | -- -------------------------------------------------------- 159 | 160 | -- 161 | -- Table structure for table `pelanggan` 162 | -- 163 | 164 | CREATE TABLE `pelanggan` ( 165 | `id_pelanggan` int(11) NOT NULL, 166 | `nama` varchar(30) DEFAULT NULL, 167 | `email` varchar(30) DEFAULT NULL, 168 | `telp` varchar(13) DEFAULT NULL, 169 | `kota` varchar(20) DEFAULT NULL, 170 | `alamat` varchar(100) DEFAULT NULL, 171 | `foto` text NOT NULL, 172 | `password` varchar(255) DEFAULT NULL 173 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 174 | 175 | -- 176 | -- Dumping data for table `pelanggan` 177 | -- 178 | 179 | INSERT INTO `pelanggan` (`id_pelanggan`, `nama`, `email`, `telp`, `kota`, `alamat`, `foto`, `password`) VALUES 180 | (8, 'Pelanggan 1', 'pelanggan1@gmail.com', '0897654321', 'Denpasar', 'Jl. Melati No 99', 'default.png', '$2y$10$Q/LTUi2tH9UawYdI5ynTJe5vq.ga.mIKfTmr7ErtprUQgRkK.pmrG'), 181 | (9, 'Nadya Eka', 'pelanggan2@gmail.com', '08123456789', 'Badung', 'Jl. Goa Gong, No 99, Kec Kuta Selatan (Rumah warna hitam)', 'default.png', '$2y$10$wvrs6fZ4riwS7j/QoQ1ERunXsVS3a4JBzmaGEMkZEE.2xRGjnVB5G'), 182 | (11, 'Hairul Lana', 'pelanggan4@gmail.com', '082134567', 'Aceh', 'Jl. Aceg No 44', 'default.png', '$2y$10$XmHjcO/uFSqjtYnwdMAtG.wN/hFJaP2RmX4ObfKXHzYtWzrq88ml6'), 183 | (12, 'Nadya Okta Via', 'pelanggan5@gmail.com', '089764532132', 'Singaraja', 'Jl. Umum No 77', '5eb222e525b06.jpg', '$2y$10$jxuKyuzIQS3wSYXxcOmde.d26tWIBPf1dpP01IVqDCdKSkkOmEGU.'), 184 | (13, 'Riski Atma', 'pelanggan3@gmail.com', '09864738429', 'Semarang', 'Jl. Semarang No 99', 'default.png', '$2y$10$rv2iH7OayCjL6.84.9uA8.gaC4lTDzcxG.btFrB6JB4H4mNw5Vxpi'); 185 | 186 | -- -------------------------------------------------------- 187 | 188 | -- 189 | -- Table structure for table `transaksi` 190 | -- 191 | 192 | CREATE TABLE `transaksi` ( 193 | `kode_transaksi` int(11) NOT NULL, 194 | `id_cucian` int(11) NOT NULL, 195 | `id_agen` int(11) NOT NULL, 196 | `id_pelanggan` int(11) NOT NULL, 197 | `tgl_mulai` date DEFAULT NULL, 198 | `tgl_selesai` date DEFAULT NULL, 199 | `total_bayar` int(11) DEFAULT NULL, 200 | `rating` int(11) DEFAULT NULL, 201 | `komentar` text NOT NULL 202 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 203 | 204 | -- 205 | -- Dumping data for table `transaksi` 206 | -- 207 | 208 | INSERT INTO `transaksi` (`kode_transaksi`, `id_cucian`, `id_agen`, `id_pelanggan`, `tgl_mulai`, `tgl_selesai`, `total_bayar`, `rating`, `komentar`) VALUES 209 | (6, 1, 1, 11, '2020-04-25', '2020-04-26', 1000, 6, 'Mantap'), 210 | (19, 4, 4, 11, '2020-04-27', '2020-04-27', 10000, 10, 'Reccomended'), 211 | (20, 3, 1, 11, '2020-04-26', '2020-04-29', 10000, 10, 'Sangat cocok, agennya ramah sampe ke ubun ubun'), 212 | (21, 2, 5, 8, '2020-04-25', '2020-05-06', 10000, 0, ''), 213 | (22, 5, 5, 11, '2020-04-27', '2020-05-06', 15000, 0, ''), 214 | (23, 9, 5, 13, '2020-05-06', '2020-05-06', 2500, 10, 'Sangat direkomendasikan'); 215 | 216 | -- 217 | -- Indexes for dumped tables 218 | -- 219 | 220 | -- 221 | -- Indexes for table `admin` 222 | -- 223 | ALTER TABLE `admin` 224 | ADD PRIMARY KEY (`id_admin`); 225 | 226 | -- 227 | -- Indexes for table `agen` 228 | -- 229 | ALTER TABLE `agen` 230 | ADD PRIMARY KEY (`id_agen`); 231 | 232 | -- 233 | -- Indexes for table `cucian` 234 | -- 235 | ALTER TABLE `cucian` 236 | ADD PRIMARY KEY (`id_cucian`); 237 | 238 | -- 239 | -- Indexes for table `harga` 240 | -- 241 | ALTER TABLE `harga` 242 | ADD PRIMARY KEY (`id_harga`); 243 | 244 | -- 245 | -- Indexes for table `pelanggan` 246 | -- 247 | ALTER TABLE `pelanggan` 248 | ADD PRIMARY KEY (`id_pelanggan`); 249 | 250 | -- 251 | -- Indexes for table `transaksi` 252 | -- 253 | ALTER TABLE `transaksi` 254 | ADD PRIMARY KEY (`kode_transaksi`); 255 | 256 | -- 257 | -- AUTO_INCREMENT for dumped tables 258 | -- 259 | 260 | -- 261 | -- AUTO_INCREMENT for table `admin` 262 | -- 263 | ALTER TABLE `admin` 264 | MODIFY `id_admin` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; 265 | 266 | -- 267 | -- AUTO_INCREMENT for table `agen` 268 | -- 269 | ALTER TABLE `agen` 270 | MODIFY `id_agen` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11; 271 | 272 | -- 273 | -- AUTO_INCREMENT for table `cucian` 274 | -- 275 | ALTER TABLE `cucian` 276 | MODIFY `id_cucian` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; 277 | 278 | -- 279 | -- AUTO_INCREMENT for table `harga` 280 | -- 281 | ALTER TABLE `harga` 282 | MODIFY `id_harga` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31; 283 | 284 | -- 285 | -- AUTO_INCREMENT for table `pelanggan` 286 | -- 287 | ALTER TABLE `pelanggan` 288 | MODIFY `id_pelanggan` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; 289 | 290 | -- 291 | -- AUTO_INCREMENT for table `transaksi` 292 | -- 293 | ALTER TABLE `transaksi` 294 | MODIFY `kode_transaksi` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24; 295 | COMMIT; 296 | 297 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; 298 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; 299 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 300 | -------------------------------------------------------------------------------- /status.php: -------------------------------------------------------------------------------- 1 | 29 | window.location = 'login.php'; 30 | 31 | "; 32 | } 33 | 34 | 35 | 36 | ?> 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | Status Cucian - <?= $login ?> 46 | 47 | 48 | 49 |
50 |

Status Cucian

51 |
52 | 53 |
54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 72 | 79 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 |
ID CucianNama AgenPelangganTotal ItemBerat (kg)JenisTanggal DibuatStatus
68 | 71 | 73 | 78 | 80 | 85 |
94 |
95 | 96 |
97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 115 | 122 | 123 | 134 | 135 | 136 | 137 | 155 | 156 | 157 |
ID CucianPelangganTotal ItemBerat (kg)JenisTanggal DibuatStatusAksi
111 | 114 | 116 | 121 | 124 | 125 |
126 | 127 |
128 | 129 |
130 |
131 |
132 | 133 |
138 |
139 | 140 | 149 | 150 |
151 | 152 |
153 |
154 |
158 |
159 | 160 |
161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 178 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 |
ID CucianAgenTotal ItemBerat (kg)JenisTanggal DibuatStatus
174 | 177 | 179 | 184 |
194 |
195 | 196 |
197 | 198 | 199 | 200 | 201 | 0){ 233 | echo " 234 | 239 | "; 240 | } 241 | 242 | 243 | } 244 | 245 | // total berat 246 | if (isset($_POST["simpanBerat"])){ 247 | 248 | $berat = htmlspecialchars($_POST["berat"]); 249 | $idCucian = $_POST["id_cucian"]; 250 | 251 | // validasi 252 | validasiBerat($berat); 253 | 254 | mysqli_query($connect, "UPDATE cucian SET berat = $berat WHERE id_cucian = $idCucian"); 255 | 256 | if (mysqli_affected_rows($connect) > 0){ 257 | echo " 258 | 263 | "; 264 | } 265 | 266 | 267 | 268 | } 269 | 270 | ?> -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | Laundryku 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 |
80 |

81 |
82 |
Solusi Laundry Praktis Tanpa Keluar Rumah
83 |
84 | 85 | 86 |
87 |
88 | 89 |
90 | Profil Saya 91 | 0){ 95 | $status = "Status Cuciannotifications_active"; 96 | }else { 97 | $status = "Status Cucian"; 98 | } 99 | 100 | $cek = mysqli_query($connect,"SELECT * FROM transaksi WHERE id_pelanggan = $idPelanggan AND rating = 0 OR komentar = ''"); 101 | if (mysqli_num_rows($cek) > 0){ 102 | $transaksi = "Riwayat Transaksinotifications_active"; 103 | }else { 104 | $transaksi = "Riwayat Transaksi"; 105 | } 106 | 107 | ?> 108 | 109 | 110 | 111 |
112 | 113 |
114 | 0){ 118 | $status = "Status Cuciannotifications_active"; 119 | }else { 120 | $status = "Status Cucian"; 121 | } 122 | ?> 123 | Profil Saya 124 | 125 | Riwayat Transaksi 126 |
127 | 128 |
129 | Profil Saya 130 | Status Cucian 131 | Riwayat Transaksi 132 |

133 | Data Agen 134 | Data Pelanggan 135 |
136 | 137 |
138 | Daftar Sekarang 139 |
140 | 141 |
142 | 143 |
144 |
145 |
146 | 147 | 148 | 149 |
150 |
151 | 152 | 153 |
154 |
155 | 156 | 157 |
158 | 159 | 181 | 182 | 183 | 184 | 185 | 197 | 198 | 199 | 200 | 201 |
202 |
203 | 204 | 205 |
206 | 207 |
208 |
209 |

210 |
211 | 228 |
229 | 230 |
231 | 232 | 233 |

234 | Alamat : 235 |
Telp :

236 |

237 |
238 |
239 | 240 |
241 | 242 |
243 |

244 |
245 |
246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | -------------------------------------------------------------------------------- /transaksi.php: -------------------------------------------------------------------------------- 1 | 29 | document.location.href = 'login.php'; 30 | 31 | "; 32 | } 33 | 34 | 35 | ?> 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Transasksi - <?= $login ?> 44 | 45 | 46 | 47 |
48 |

Riwayat Transaksi Cucian

49 |
50 | 51 |
52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 77 | 85 | 93 | 94 | 95 | 96 | 97 | 98 | 106 | 107 | 108 | 109 |
Kode TransaksiAgenPelangganTotal ItemBeratJenisTotal BayarTanggal PesanTanggal SelesaiRatingKomentar
70 | 76 | 78 | 84 | 86 | 92 | 99 | 104 |
105 |
110 |
111 | 112 |
113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 137 | 145 | 146 | 147 | 148 | 149 | 150 | 158 | 159 | 160 | 161 |
Kode TransaksiPelangganTotal ItemBeratJenisTotal BayarTanggal PesanTanggal SelesaiRatingKomentar
130 | 136 | 138 | 144 | 151 | 156 |
157 |
162 |
163 | 164 |
165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 189 | 197 | 198 | 199 | 200 | 201 | 202 | 225 | 236 | 237 | 238 |
Kode TransaksiAgenTotal ItemBeratJenisTotal BayarTanggal PesanTanggal SelesaiRatingFeedback
182 | 188 | 190 | 196 | 203 | 204 |
205 | 206 | 214 |
215 |
216 | 217 | 222 |
223 | 224 |
226 | 227 |
228 | 229 | 230 |
231 |
232 | 233 | 234 | 235 |
239 |
240 | 241 |
242 | 243 | 244 | 245 | 246 | 258 | Swal.fire('Penilaian Berhasil','Rating Berhasil Di Tambahkan','success').then(function() { 259 | window.location = 'transaksi.php'; 260 | }); 261 | 262 | "; 263 | } 264 | 265 | if ( isset($_POST["kirimKomentar"])){ 266 | 267 | $komentar = htmlspecialchars($_POST["komentar"]); 268 | $kodeTransaksiRating = $_POST["kodeTransaksi"]; 269 | 270 | mysqli_query($connect, "UPDATE transaksi SET komentar = '$komentar' WHERE kode_transaksi = $kodeTransaksiRating"); 271 | echo " 272 | 277 | "; 278 | } 279 | 280 | ?> --------------------------------------------------------------------------------