STUDI KASUS
APLIKASI MONITORING KEGIATAN MASJID
Di Susun Oleh :
Mokhamad Ramdhani Raharjo, S.Kom., M.Kom 1116048901
Contents
DAFTAR ISI........................................................................................................................................... 2
PERTEMUAN SESI PERTAMA ........................................................................................................ 4
1.1 PERSIAPAN SOFTWARE DAN HARDWARE ....................................................................... 4
1.2 PERSIAPAN DATABASE DAN TABEL TRANSAKSI......................................................... 4
1.3 PERSIAPAN PEMBUATAN VIEW TABEL MYSQL .......................................................... 9
1.4 PERSIAPAN FOLDER PROJECT UTAMA ........................................................................ 13
PERTEMUAN SESI KEDUA ............................................................................................................ 17
1. PERSIAPAN FOLDER PROJECT ...................................................................................... 17
2. FILE HTACESS...................................................................................................................... 17
3. FILE HEADER DAN FOOTER ............................................................................................ 17
4. PERSIAPAN SOURCE CODE PADA FILE HEADER.PHP ............................................ 17
5. PERSIAPAN SOURCE CODE PADA FILE FOOTER.PHP ............................................ 18
6. PERSIAPAN HALAMAN HOME ........................................................................................ 19
7. PERSIAPAN HALAMAN JADWAL SHOLAT JUMAT................................................... 20
8. PERSIAPAN HALAMAN JADWAL SHOLAT FARDHU ................................................ 20
9. PERSIAPAN HALAMAN JADWAL PENGAJIAN ........................................................... 20
10. PERSIAPAN HALAMAN DATA PETUGAS.................................................................. 20
11. PERSIAPAN HALAMAN 404 (HALAMAN TIDAK DITEMUKAN ........................... 21
12. PERSIAPAN HALAMAN INDEX .................................................................................... 21
13. PERBAIKAN SOURCE CODE HALAMAN PETUGAS KE-1..................................... 23
14. PERBAIKAN SOURCE CODE INDEX.JS KE-1 ........................................................... 25
15. PENAMBAHAN LIBRARY JAVA SCRIPT SWEETALERT ...................................... 25
16. PERUBAHAN SOURCE CODE FOOTER.PHP ............................................................ 25
17. PENAMBAHAN LIBRARY CSS SWEETALERT ......................................................... 26
18. PERUBAHAN SOURCE CODE HEADER.PHP ............................................................ 26
19. PERSIAPAN KODE SIMPAN DATA PETUGAS ......................................................... 26
20. PERSIAPAN KODE SIMPAN DATABASE................................................................... 28
21. PERSIAPAN KODE CRUD MODEL PETUGAS.......................................................... 28
22. PERSIAPAN KODE CRUD CONTROLLER PETUGAS ............................................ 30
23. PENAMBAHAN BARIS KODE SIMPAN DATA PETUGAS JS KE-1 ...................... 32
24. PENAMBAHAN BARIS KODE SIMPAN DATA PETUGAS JS KE-2 ...................... 33
25. PENAMBAHAN BARIS KODE SIMPAN DATA PETUGAS JS KE-3 ...................... 33
2) Klik tombol Shell pada aplikasi Xampp Control , kemudian ketikan kode “mysql -u root”
pada area Command Prompt seperti gambar dibawah:
3) Pembuatan Database
Ketikan kode “ CREATE DATABASE dbmonitoring_masjid; “ kemudian tekan
tombol Enter seperti gambar dibawah ini :
Ketikan kode untuk menyimpan data secara masal seperti dibawah ini:
Ketikan kode untuk menampilkan data pada tabel petugas seperti kode dibawah ini :
Ketikan kode deskripsi tabel yang sudah dibuat seperti gambar dibawah ini:
2)
3) Pembuatan View Sholat Jumat (Penggabungan tabel petugas dan tabel sholat jumat)
Ketikan kode deskripsi view yang sudah dibuat seperti gambar dibawah ini :
Kode deskripsi view antara tabel pengajian dan petugas yang sudah dibuat
Ketikan kode perintah menampilkan record view pengajian seperti gambar dibawah ini :
3) Silahkan buat folder “lib” didalam folder lib buat 2 folder lagi css dan js
1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8" />
5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6. <title>Masjid</title>
7. <link rel="stylesheet" href="source/lib/css/bootstrap.min.css">
8. <link
9. rel="stylesheet"
10. href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-
icons.css"
11. />
12. <link rel="stylesheet" href="source/lib/css/index.css">
13. </head>
14.
15. <body>
16. <div>
17. <div class="sidebar p-4 bg-success" id="sidebar">
18. <h4 class="mb-5 text-white">MASJID UNISKA</h4>
19.
20. <li>
21. <a class="text-white" href="#">
22. <i class="bi bi-file-earmark-person mr-2"></i>
23. Petugas
24. </a>
2. FILE HTACESS
➢ Buat file dengan nama “.htacess” didalam folder utama Xampp -> htdocs ->
masjid, Kemudian ketikan kode dibawah ini :
1. RewriteEngine on
2.
3. Options -Indexes
4.
5. RewriteCond %{SCRIPT_FILENAME} !-f
6. RewriteCond %{SCRIPT_FILENAME} !-d
7. RewriteCond %{SCRIPT_FILENAME} !-l
8. RewriteRule ^(.*)$ index.php/$1
9.
1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8" />
5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6. <title>Masjid</title>
7. <link rel="stylesheet" href="source/lib/css/bootstrap.min.css">
8. <link
9. rel="stylesheet"
10. href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"
11. />
12. <link rel="stylesheet" href="source/lib/css/index.css">
13. </head>
14.
➢ Silahkan download beberapa file yang diperlukan disini (Tekan Ctrl + Arahkan Cursor
untuk download), letakan file gambar yang ada pada link tersebut ke folder img.
1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8">
5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
7. <title>404</title>
8. </head>
9. <body>
10. <h1 align="center">Maaf....!!!!</h1>
11. <img src="./source/lib/img/404.png" alt="" style="display: block; margin-left: auto;
margin-right: auto;">
12. </body>
13. </html>
14.
Halaman Petugas
1. </div>
2. </div>
3. </div>
4. <script type="text/javascript" src="./source/lib/js/jquery.min.js"></script>
5. <script type="text/javascript" src="./source/lib/js/sweetalert.min.js"></script>
6. <script type="text/javascript" src="./source/lib/js/bootstrap.js"></script>
1. $('#btnPetugas').click(function(){
2.
3. if ($('#btnPetugas').text()=='Simpan'){
4. // area kode simpan data
5. }else {
6. //area kode ubah data
7. }
8.
9. });
=
1. if ($('#txtnik').val().length==0){
2. swal({
3. title:'Form Petugas',type:'warning',
4. text:'NIK Wajib Diisi'
5. });
6. }else if ($('#txtnama').val().length==0){
7. swal({
8. title:'Form Petugas',type:'warning',
9. text:'Nama Wajib Diisi'
10. });
11. }else if ($('#txttempat').val().length==0){
12. swal({
13. title:'Form Petugas',type:'warning',
14. text:'Tempat Lahir Wajib Diisi'
15. });
16. }else if ($('#txttgl').val().length==0){
17. swal({
18. title:'Form Petugas',type:'warning',
19. text:'Tanggal Lahir Wajib Diisi'
20. });
21. }else if ($('#txttelp').val().length==0){
22. swal({
23. title:'Form Petugas',type:'warning',
24. text:'No Telp Wajib Diisi'
25. });
26. }else if ($('#txtalamat').val().length==0){
27. swal({
28. title:'Form Petugas',type:'warning',
29. text:'Alamat Wajib Diisi'
30. });
31. }else{
32. // area ajax CRUD petugas
33. }
34.
c) Agar setiap klik tombol tambah data inputan dikosongkan maka ketikan kode tambahan
pada tombol #btnModalPetugas seperti gambar dibawah ini :
1. <?php
2.
3. class modelPetugas extends koneksiDB{
4. public function __construct(){
5. $this->hubungkanDatabase();
6. }
7.
8. // method untuk Simpan Data Petugas
9. public function simpanPetugas($varNIK, $varNama, $varTempat, $varTgl, $varTelp,
$varAlamat){
10. $varDB =$this->databasenya;
11. try {
12. // mengecek duplikasi NIK saat diinputkan
13. $perintah = $varDB ->prepare("SELECT*FROM petugas WHERE nik='$varNIK'");
14. $perintah->execute();
15. if ($perintah->rowCount()>0){
16. $posisi[0]=true;//acuan kode berhasil
17. $posisi[1]="NIK sudah terdaftar";
18. $posisi[2]="Duplicate Yes";
19. }else{
20. $perintah = $varDB ->prepare("INSERT INTO petugas
(nik,nama,tempat_lahir,tanggal_lahir,telp,alamat) VALUES (:nik, :nama, :tempat, :tanggal, :telp,
:alamat) ");
21. $perintah->bindParam("nik",$varNIK);
22. $perintah->bindParam("nama",$varNama);
23. $perintah->bindParam("tempat",$varTempat);
24. $perintah->bindParam("tanggal",$varTgl);
25. $perintah->bindParam("telp",$varTelp);
1. <?php
2.
3. include "../model/koneksiDB.php";
4. include "../model/modelPetugas.php";
5. if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && ($_SERVER['HTTP_X_REQUESTED_WITH'] ==
'XMLHttpRequest' ) )
6. {
7. $method=$_POST['method_petugas']; // cara yang dikirim dari js
8. $crud = new modelPetugas();
9. $retval = [];
10.
11. if($method == 'recordDataPetugas') // mengecek nilai method apakah menangkap data
petugas
12. {
13. $list = $crud->recordDataPetugas();
14. $retval['status'] = $list[0]; // membuat var yang dg nama status dari nilai array 0
recordDataPetugas
15. $retval['message'] = $list[1]; // membuat var yang dg nama message dari nilai array 1
recordDataPetugas
16. $retval['data'] = $list[2]; // membuat var yang dg nama data dari nilai array 2
recordDataPetugas
17. echo json_encode($retval);
18. }
19.
20. if($method == 'Simpan_Petugas') // mengecek nilai method apakah perintah simpan Data
21. {
22. $CtrlNIK = $_POST['js_nikPetugas'];
23. $CtrlNama = $_POST['js_namaPetugas'];
24. $CtrlTempatLahir = $_POST['js_tempatLahirPetugas'];
25. $CtrlTanggalLahir = $_POST['js_tanggalLahirPetugas'];
➢ Silahkan tambahkan kode HTML pada file petugas.php diatas baris kode “ <?php
require("footer.php") ?>” seperti kode dibawah ini :
1. <br><br>
2. <div class="table-responsive margin">
3. <table id="table-petugas" class="table table-bordered">
4. <thead>
5. <tr>
6. <th style="width: 10px">#</th>
7. <th style="width: 15px">NIK</th>
8. <th style="width: 200px">Nama Petugas</th>
9. <th style="width: 50px">Tempat Lahir</th>
10. <th style="width: 50px">Tanggal Lahir</th>
11. <th style="width: 25px;">Telp</th>
12. <th style="width: 150px;">Alamat</th>
13. <th style="width: 50px;"></th>
14. </tr>
15. </thead>
16.
17. </table>
18. </div>
19.
➢ Silahkan Tambahkan method /kode untuk menampilkan data dengan konsep ajax setelah
akhir kode penutup dari “ $('#btnPetugas').click(function(){“ yang kita buat sebelumnya,
jika sudah silahkan ketikan kode dibawah ini :