Nama : Ken Anargya Alkausar
NRP : 5025211168
Kelas : Pemrograman Web A
Tahun : 2023
Link Repo : fihrizilhamr/Pemrograman-Web-A-FP-2023 (github.com)
Soal:
1. Tuliskan spesifikasi kebutuhan perangkat lunak dan struktur menu yang cocok untuk aplikasi yang akan dibuat
2. Buatlah desain database dan struktur tabel yang akan menampung data yang dikelola
3. Desain Front End dan page yang akan dibuat untuk aplikasi
4. Sebutkan daftar action untuk backend yang akan dibutuhkan. Jelaskan digunakan apa saja
5. Implementasikan dan buat dokumentasinya. Presentasikan jawabanmu ke dalam bentuk video dan embenddad ke blog jawaban.
Jawab
1.
Spesifikasi Kebutuhan Perangkat Lunak (Software Requirements Specification - SRS)
1. Fungsionalitas
- Manajemen
Siswa:
-
Penyimpanan
dan pengelolaan data siswa (nama, usia, alamat, kontak, riwayat belajar).
-
Fasilitas
untuk mendaftar siswa baru dan memperbarui data siswa yang ada.
- Manajemen
Jadwal Bimbingan:
-
Kalender
interaktif untuk menampilkan jadwal bimbingan.
-
Fungsi
untuk menambah, mengubah, dan membatalkan jadwal.
- Pengelolaan
Materi Pelajaran:
-
Penyimpanan
dan pengaturan materi pelajaran.
-
Integrasi
dengan sumber belajar eksternal.
- Komunikasi:
-
Sistem
pesan internal untuk komunikasi antara guru, siswa, dan orang tua.
-
Fitur
notifikasi untuk jadwal, hasil tes, dan pengumuman.
- Dashboard
dan Laporan:
-
Dashboard
dengan ringkasan statistik (jumlah siswa, jadwal, kinerja guru).
-
Laporan
tentang perkembangan siswa, kehadiran, dan prestasi akademik.
- Keamanan
dan Akses:
-
Keamanan
data yang kuat.
-
Pengelolaan
akses berbasis peran (admin, guru, orang tua).
2. Kinerja
-
Responsif
pada berbagai perangkat (desktop, tablet, ponsel).
-
Waktu muat
halaman yang cepat.
-
Kapasitas
penggunaan simultan yang tinggi tanpa penurunan performa.
3. Keamanan
-
Otentikasi
pengguna yang aman.
-
Enkripsi
data pribadi dan komunikasi.
-
Backup data
reguler dan recovery plan.
4. Antar Muka Pengguna (UI)
-
Antarmuka
yang intuitif dan mudah digunakan.
-
Navigasi
yang jelas dan logis.
-
Desain yang
sesuai dengan prinsip aksesibilitas.
5. Integrasi
-
Integrasi
dengan sistem pembayaran (jika perlu).
-
Integrasi
dengan platform email untuk notifikasi.
Struktur Menu
- Beranda
-
Ringkasan
cepat (jadwal mendatang, pengumuman terbaru).
- Manajemen
Siswa
-
Daftar
Siswa
-
Tambah/Mutakhirkan
Siswa
-
Riwayat
Belajar Siswa
- Jadwal
Bimbingan
-
Kalender
Jadwal
-
Tambah/Ubah
Jadwal
-
Histori
Bimbingan
- Materi
Pelajaran
-
Daftar
Materi
-
Tambah/Mutakhirkan
Materi
-
Sumber
Belajar Eksternal
- Komunikasi
-
Pesan
-
Notifikasi
- Dashboard
& Laporan
-
Dashboard
Pengelola
-
Laporan
Prestasi Siswa
-
Laporan
Kehadiran
- Pengaturan
-
Pengaturan
Akun
-
Keamanan
-
Pengaturan
Sistem
- Bantuan
& Dukungan
-
FAQ
- Kontak Dukungan
2.
Struktur Tabel
a. Tabel students (Siswa)
- student_id
(PK): ID unik siswa.
- name:
Nama siswa.
- age:
Usia siswa.
- address:
Alamat siswa.
- contact_info:
Informasi kontak siswa.
- enrollment_date:
Tanggal pendaftaran siswa.
b. Tabel teachers (Guru)
- teacher_id
(PK): ID unik guru.
- name:
Nama guru.
- specialization:
Spesialisasi/subjek guru.
- contact_info:
Informasi kontak guru.
c. Tabel classes (Kelas)
- class_id
(PK): ID unik kelas.
- subject:
Subjek yang diajarkan.
- level:
Tingkat kelas (misal: SD, SMP, SMA).
d. Tabel schedules (Jadwal)
- schedule_id
(PK): ID unik jadwal.
- class_id
(FK): ID kelas.
- teacher_id
(FK): ID guru.
- date_time:
Waktu jadwal bimbingan.
- duration:
Durasi bimbingan.
- branch:
Cabang ACC tempat bimbingan.
e. Tabel enrollments (Pendaftaran)
- enrollment_id
(PK): ID unik pendaftaran.
- student_id
(FK): ID siswa.
- class_id
(FK): ID kelas.
- enrollment_date:
Tanggal pendaftaran.
f. Tabel materials (Materi)
- material_id
(PK): ID unik materi.
- class_id
(FK): ID kelas.
- title:
Judul materi.
- content:
Isi/deskripsi materi.
- resource_link:
Tautan sumber tambahan.
g. Tabel communications (Komunikasi)
- message_id
(PK): ID unik pesan.
- sender_id:
ID pengirim (bisa siswa, guru, atau orang tua).
- receiver_id:
ID penerima (bisa siswa, guru, atau orang tua).
- message_content:
Isi pesan.
- date_time:
Waktu pengiriman pesan.
h. Tabel users (Pengguna)
- user_id
(PK): ID unik pengguna.
- username:
Nama pengguna.
- password:
Kata sandi pengguna.
- role:
Peran pengguna (admin, guru, siswa, orang tua).
- associated_id:
ID terkait (ID siswa/guru).
i. Tabel attendance (Kehadiran)
- attendance_id
(PK): ID unik kehadiran.
- student_id
(FK): ID siswa.
- class_id
(FK): ID kelas.
- date_time:
Waktu kelas.
- status: Status kehadiran (hadir, izin, tidak hadir).
3.
4.
Daftar action untuk backend
yang akan dibutuhkan dalam aplikasi web ACC:
- Manajemen Siswa:
-
Tambah
Siswa: Menyimpan data siswa baru.
-
Dapatkan
Detail Siswa: Mengambil informasi siswa.
-
Perbarui
Siswa: Memperbarui data siswa.
-
Hapus
Siswa: Menghapus data siswa.
-
Daftar
Siswa: Menampilkan daftar semua siswa.
- Manajemen Jadwal Bimbingan:
-
Tambah
Jadwal: Menyimpan jadwal bimbingan baru.
-
Dapatkan
Jadwal: Mengambil detail jadwal bimbingan.
-
Perbarui
Jadwal: Memperbarui jadwal bimbingan.
-
Hapus
Jadwal: Menghapus jadwal bimbingan.
-
Daftar
Jadwal: Menampilkan daftar semua jadwal.
- Pengelolaan Materi Pelajaran:
-
Unggah
Materi: Menyimpan materi pelajaran baru.
-
Dapatkan
Materi: Mengambil materi pelajaran.
-
Perbarui
Materi: Memperbarui materi pelajaran.
-
Hapus
Materi: Menghapus materi pelajaran.
-
Daftar
Materi: Menampilkan daftar semua materi.
- Komunikasi:
-
Kirim
Pesan: Mengirim pesan antara pengguna.
-
Dapatkan
Pesan: Mengambil pesan dari pengguna.
-
Daftar
Pesan: Menampilkan semua pesan dalam thread.
- Dashboard dan Laporan:
-
Statistik
Siswa: Mengambil data statistik siswa.
-
Statistik
Jadwal: Mengambil data statistik jadwal bimbingan.
-
Generate
Laporan: Membuat laporan berdasarkan data yang dipilih.
- Keamanan dan Akses:
-
Login:
Mengotentikasi pengguna.
-
Registrasi:
Mendaftarkan pengguna baru.
-
Reset
Password: Mengatur ulang kata sandi pengguna.
-
Verifikasi
Pengguna: Memverifikasi identitas pengguna.
-
Manajemen
Peran: Mengatur akses berdasarkan peran pengguna.
- Pengaturan Umum:
-
Pengaturan
Profil: Memperbarui informasi profil pengguna.
-
Pengaturan
Aplikasi: Mengatur konfigurasi umum aplikasi.
Comments
Post a Comment