P14 ImamAzali
P14 ImamAzali
BENGKELPEMROGRAMAN WEB
“MVC dengan Template”
DOSEN/PLP:
Siti Syahidatul Helma, S.Kom., M.Kom.
Dwi Listiyanti, S.S.T.
Identitas:
Nama: Imam Azali
NIM: 2356301031
Kelas: 2 TRK B
a. Laporan Pertemuan 14
1. MahasiswaController.php
Analisa:
1. include 'model/MahasiswaModel.php'; Menghubungkan file MahasiswaModel agar fungsi-
fungsinya bisa dipakai.
2. class MahasiswaController Membuat kelas untuk mengatur logika yang ada hubungannya
dengan mahasiswa.
3. private $mahasiswaModel; Menyimpan objek model mahasiswa untuk digunakan di berbagai
fungsi.
4. public function __construct(): Konstruktor yang memanggil objek dari MahasiswaModel saat
kelas ini diinstansiasi.
5. public function list()
o Mengambil semua data mahasiswa dari model menggunakan getAllMahasiswa().
o Menampilkan data tersebut di halaman mahasiswa-list.php.
6. public function create()
o Jika request-nya adalah POST:
▪ Ambil data dari form ($_POST), lalu enkripsi password menggunakan md5().
▪ Simpan data mahasiswa baru ke dalam database menggunakan fungsi
Modul 2 – HTMLAdvanced
insertMahasiswa().
▪ Redirect ke halaman daftar mahasiswa (index.php?action=list).
o Jika bukan POST, tampilkan form input di mahasiswa-insert.php.
2. MahasiswaModel.php
Analisa:
• include_once 'koneksi.php'; Menghubungkan file koneksi ke database agar bisa digunakan di
dalam kelas MahasiswaModel.
• class MahasiswaModel: Kelas ini digunakan untuk mengelola semua operasi terkait data
mahasiswa di database.
• private $db; Menyimpan koneksi ke database.
• public function __construct(): Konstruktor yang memanggil fungsi koneksiDatabase() untuk
membuat koneksi ke database.
• public function getAllMahasiswa() Mengambil semua data mahasiswa dari tabel mahasiswa.
Menggunakan mysqli_query() dan mysqli_fetch_assoc() untuk mengembalikan data
mahasiswa dalam bentuk array.
• public function insertMahasiswa($nama, $nim, $kelas, $user, $pass)Menyimpan data
mahasiswa baru ke dalam tabel mahasiswa. Menggunakan mysqli_query() dengan md5() untuk
Modul 2 – HTMLAdvanced
mengenkripsi password.
• public function getMahasiswaById($id):Mengambil data mahasiswa berdasarkan id dari tabel
mahasiswa. Menggunakan mysqli_query() dan mysqli_fetch_assoc() untuk mengembalikan
hasil pencarian.
• public function updateMahasiswa($id, $nama, $nim, $kelas, $user, $pass): Memperbarui data
mahasiswa berdasarkan id. Menggunakan mysqli_query() untuk menjalankan query update di
database.
• public function deleteMahasiswa($id), Menghapus data mahasiswa berdasarkan id.
Menggunakan mysqli_query() untuk menjalankan query delete di database.
3. Mahasiswa_edit.php
Analisa:
• Membuat formulir HTML untuk mengedit informasi mahasiswa.
• Menampilkan judul "Edit Mahasiswa" di tengah halaman.
• Membuat input teks untuk kolom Nama, NIM, Kelas, Username, dan Password dengan nilai
default dari variabel $mahasiswa untuk mengisi data mahasiswa yang ingin diedit.
• Tombol submit untuk menyimpan perubahan yang telah diinput.
• Memasukkan file footer.php yang mungkin berisi elemen-elemen penutup seperti footer atau
script tambahan.
Modul 2 – HTMLAdvanced
4. Mahasiswa-insert.php
Analisa:
1. Baris 1:
• Metode: include
• Keterangan: Memasukkan file header.php untuk menyertakan elemen-elemen umum seperti
CSS atau JavaScript di seluruh halaman, menjaga konsistensi tampilan.
2.Baris 4-6 (Formulir HTML):
• Metode: POST
• Keterangan: Membuat formulir untuk menambah data mahasiswa. Form action
index.php?action=create memungkinkan data dikirim ke halaman index.php untuk diproses.
3. Baris 5 (Judul):
• Menampilkan judul "Tambah Mahasiswa" di tengah halaman, memberikan konteks tentang
tujuan halaman ini.
4.Baris 6-11 (Form Input):
• Div mb-3: Digunakan untuk memberi margin-bottom yang rapi pada setiap input.
• Input Fields (Nama, NIM, Kelas, Username, Password): Menggunakan atribut name yang
sesuai dan atribut required untuk memastikan integritas data.
• Type Text/Password: Menggunakan type text untuk informasi umum dan password untuk
keamanan password mahasiswa.
5.Baris 12:
• Metode: submit
• Keterangan: Tombol submit untuk menyimpan data mahasiswa. Menggunakan class btn btn-
primary untuk tampilan yang konsisten dan menarik.
6.Baris 14:
• Metode: include
• Keterangan: Memasukkan file footer.php untuk menyertakan elemen-elemen penutup seperti
footer atau script tambahan, memberikan struktur yang konsisten di bagian bawah halaman.
Modul 2 – HTMLAdvanced
5. mahasiswa-list.php
Analisa:
Program ini menampilkan daftar mahasiswa dalam tabel. Elemen-elemen dari file header.php
disertakan di awal halaman untuk memastikan tampilan yang konsisten di seluruh halaman. Tautan
"Tambah Data" memungkinkan pengguna untuk menambahkan mahasiswa baru, yang mengarahkan
ke halaman index.php?action=create. Tabel menampilkan informasi tentang mahasiswa, seperti
nomor, nama, NIM, kelas, dan username, dengan menggunakan loop foreach untuk setiap mahasiswa
dalam array $mahasiswa. Setiap baris dalam tabel menyediakan tombol "Edit" dan "Hapus" yang
memudahkan pengguna untuk mengelola data mahasiswa. Tombol "Hapus" dilengkapi dengan
konfirmasi untuk memastikan bahwa pengguna benar-benar yakin sebelum menghapus data. Footer
dimasukkan di akhir halaman menggunakan include untuk elemen-elemen penutup.
6. Koneksi.php
Analisa:
Fungsi koneksiDatabase() membuat koneksi ke database MySQL dengan informasi yang diberikan.
Jika koneksi gagal, fungsi ini menampilkan pesan error. Jika berhasil, akan mengembalikan objek
koneksi untuk digunakan.
Modul 2 – HTMLAdvanced
7. Footer.php
Analisa:
Bagian footer menampilkan informasi hak cipta, tombol "Scroll to Top" untuk kembali ke atas
halaman, dan modal "Logout" untuk keluar dari sesi. Semua elemen ini diletakkan rapi dalam <footer>
dan berbagai <div> agar tampilan tetap teratur. Script JavaScript untuk animasi dan transisi
menggunakan versi minified, yang membantu mempercepat halaman.
8. Header.php
Modul 2 – HTMLAdvanced
Output:
Modul 2 – HTMLAdvanced
Analisa: ini adalah tampilan awal output, data sesuai databse yang saya miliki