EAS Pemrograman Web (M)

Nama : Rausyan Fikri Muhammad

NRP : 5053231027

EAS
Pemrograman Web


Deskripsikan Topik Final Project yang dikerjakan, dan jelaskan fitur yang tersedia di dalam aplikasi!

Topik Final Project yang saya bawakan adalah tentang website sekolah pengelolaan data siswa dan murid. Untuk fitur yang tersedia di dalamnya adalah pendaftaran siswa, guru dan juga mata pelajaran yang diajar. Setiap data bisa diedit dan dihapus. Website juga menampilkan siswa yang lulus dan tidak lulus dari nilai yang didapatnya.

Jelaskan Arsitektur MVC Aplikasi Final Project yang dikerjakan!

Pada aplikasi ini beberapa arsitektur dari view yaitu dahsboard, form input siswa, form output data siswa, form input guru, dan form output guru. Bagian View menggunakan HTML dan juga bootstrap.

Contoh penggunaan view:

<body>
    <header>
        <h3>Daftar Siswa</h3>
    </header>
   
    <nav>
        <a href="form-pendaftaran-siswa.php">[+] Tambah Baru</a>
    </nav>
   
    <br>
   
    <table border="1">
    <thead>
        <tr>
            <th>No</th>
            <th>Foto</th>
            <th>NIS</th>
            <th>Nama</th>
            <th>Jurusan</th>
            <th>Alamat</th>
            <th>Tindakan</th>
        </tr>
    </thead>
    <tbody>
       
        <?php
        $sql = "SELECT * FROM siswa";
        $query = mysqli_query($db, $sql);
        $no = 1;
       
        while($siswa = mysqli_fetch_array($query)){
            echo "<tr>";
           
            // No
            echo "<td>" . $no++ . "</td>";
           
            // Foto
            if (!empty($siswa['foto'])) {
                echo "<td><img src='uploads/" . htmlspecialchars($siswa['foto']) . "' alt='Foto' width='100' height='100'></td>";
            } else {
                echo "<td><em>No Photo</em></td>";
            }
           
            // Other Data
            echo "<td>" . htmlspecialchars($siswa['nis']) . "</td>";
            echo "<td>" . htmlspecialchars($siswa['nama']) . "</td>";
            echo "<td>" . htmlspecialchars($siswa['jurusan']) . "</td>";
            echo "<td>" . htmlspecialchars($siswa['alamat']) . "</td>";
           
            // Actions
            echo "<td>";
            echo '<a href="form-edit-siswa.php?id=' . $siswa['id'] . '">Edit</a> ';
            echo '<a href="hapus-siswa.php?id=' . $siswa['id'] . '" onclick="return confirm(\'Yakin ingin menghapus?\')">Hapus</a>';
            echo "</td>";
           
            echo "</tr>";
        }        
        ?>
       
    </tbody>
    </table>
   
    <p>Total: <?php echo mysqli_num_rows($query); ?></p>
   
</body>

Bagian model dan controller digabung menjadi satu file yang sama untuk mengurangi kompleksitas referring pada kode. Pada bagian Controller menangani data yang diterima dan dimasukan ke dalam variabel nya masing masing dan juga menyiapkan error handlingnya apabila ada data yang tidak sesuai dengan format di database. 

Contoh penggunaan controller: 

if (isset($_POST['daftar'])) {

    $nis = $_POST['nis'];
    $nama = $_POST['nama'];
    $jurusan = $_POST['jurusan'];
    $alamat = $_POST['alamat'];
}

Bagian Model berisi query SQL ke database yang menerima passing variabel dari controller. Pada projek ini contohnya adalah query INSERT INTO,  EDIT, dan DELETE dengan 'id' sebagai specifier.

Contoh penggunaan model:

$query = "INSERT INTO siswa (foto, nis, nama, jurusan, alamat) VALUES ('$photo_filename', '$nis', '$nama', '$jurusan', '$alamat')";
    $insert_data = mysqli_query($db, $query);

Buatlah Desain UI dari aplikasi dan jelaskan fungsinya!

Page login:

Berisi input username dan password dan divalidasi menggunakan javascript. Jika username dan password benar maka akan lanjut ke halaman dashboard.


Page Dashboard:

Page Dashboard dibuat menggunakan bootstrap. Page dahsboard merupakan landing page setelah login page berhasil. Page dashboard merefer ke halaman list data siswa, list data guru dan juga , list mata pelajaran.


Page siswa:

Di dalam page siswa akan menampilkan daftar siswa yang sudah di daftarkan datanya. Di dalam page ini terdapat fitur untuk menambah, mengedit, dan menghapus untuk siswa yang telah didaftarkan datanya.
 

Page Guru:

Di dalam page guru tidak jauh berbeda dengan page siswa. Page guru akan menampilkan list guru yang sudah di add. Di page ini juga bisa menambahkan data guru dan akan merefer ke page form tambah data guru.




Page Mata Pelajaran:

Page Mata pelajaran berisi form dan juga tabel yang menampilkan data mata pelajaran. Setelah form input diisi dan telah memencet tombol simpan maka list mata ujian baru tertambah di tabel.


Page Ujian:

Pada page ujian berisi list nilai hasil dari siswa. List hasil ujian berisi nilai yang sudah dirata rata dari 4 mata pelajaran. Nanti akan terdapat fungsi untuk menghitung total nilai, niali minimum, nilai maximum, dan juga rata rata nilai. Untuk nilai rata rata yang diatas 65 dan juga nilai minimum tiap pelajaran tidak ada yang dibawah 60 akan terindikasi lulus.




Implementasikan Aplikasi yang telah didesain dengan menggunakan teknologi web tanpa framework.

Link github: github




















Comments

Popular posts from this blog