Kuis 2
Nama : Irsyad Fikriansyah Ramadhan
NRP : 5025211149
Kelas : Pemograman Web - A
Tahun : 2023
Quiz 2
Soal: Link
- Tuliskan spesifikasi kebutuhan perangkat lunak dan struktur menu yang cocok untuk aplikasi yang akan dibuat (Individu - jam kuliah)
- Buatlah desain database dan struktur tabel yang akan menampung data yang dikelola (Individu - jam kuliah)
- Desain Front End dan page yang akan dibuat untuk aplikasi (Individu -jam kullan)
- Sebutkan daftar action untuk backend yang akan dibutuhkan. Jelaskan digunakan apa saja (Individu - jam kullah)
- Implementasikan dan buat dokumentasinya. Presentasikan jawabanmu ke dalam bentuk video dan embendded ke blog jawaban. (Boleh kelompok maks 3 - paling lambat 12 Des 2023 jam 08.00)
1. Spesifikasi Kebutuhan
Manajemen Siswa:
- Basis data yang dapat menyimpan informasi siswa, termasuk nama, usia, alamat, data kontak, dan riwayat belajar.
- Kemampuan untuk mendaftarkan siswa baru dan memperbarui informasi yang ada.
Manajemen Jadwal Bimbingan:
- Kalender yang dapat menampilkan jadwal bimbingan berdasarkan cabang, guru, atau mata pelajaran.
- Kemampuan untuk menambah, mengubah, atau membatalkan jadwal bimbingan.
Pengelolaan Materi Pelajaran:
- Penyimpanan materi pelajaran berdasarkan mata pelajaran dan tingkat kelas.
- Integrasi dengan sumber belajar seperti modul, video, atau latihan soal.
Komunikasi:
- Sistem pesan internal untuk komunikasi antara guru, siswa, dan orang tua.
- Pemberitahuan otomatis tentang jadwal bimbingan, hasil tes, atau pengumuman penting.
Dashboard dan Laporan:
- Dashboard untuk pengelola dengan ringkasan statistik tentang jumlah siswa, jadwal bimbingan, dan kinerja guru.
- Laporan yang dapat dihasilkan, seperti perkembangan siswa, absensi, atau keberhasilan dalam materi tertentu.
Keamanan dan Akses:
- Sistem keamanan yang kuat untuk melindungi data siswa, guru, dan orang tua.
- Pengelolaan akses berbasis peran, memungkinkan admin, guru, dan orang tua hanya mengakses informasi yang sesuai dengan peran mereka.
Responsif dan Mudah Digunakan:
- Antarmuka pengguna yang responsif dan ramah pengguna, dapat diakses dari perangkat apa pun (desktop, tablet, dan ponsel).
- Navigasi yang mudah untuk memudahkan pengguna dalam menjelajahi fitur-fitur perangkat lunak.
2. Desain Database dan Struktur Tabel
Tabel Siswa
- ID_Siswa (Primary Key)
- Nama
- Usia
- Alamat
- Nomor Kontak
- Riwayat Belajar
Tabel Guru
- ID_Guru (Primary Key)
- Nama
- Nomor Kontak
- Alamat
Tabel Cabang
- ID_Cabang (Primary Key)
- Nama Cabang
Tabel Jadwal_Bimbingan
- ID_Jadwal (Primary Key)
- ID_Cabang (Foreign Key ke Tabel Cabang)
- ID_Guru (Foreign Key ke Tabel Guru)
- Mata Pelajaran
- Waktu
- Status (Dapat diubah, Dibatalkan, dll.)
Tabel Materi_Pelajaran
- ID_Materi (Primary Key)
- Mata Pelajaran
- Tingkat Kelas
- Sumber Belajar (Modul, Video, Latihan Soal, dll.)
Tabel Komunikasi
- ID_Pesan (Primary Key)
- Pengirim (ID Guru, ID Siswa, atau ID Orang Tua)
- Penerima (ID Guru, ID Siswa, atau ID Orang Tua)
- Isi Pesan
- Tanggal dan Waktu
Tabel Notifikasi
- ID_Notifikasi (Primary Key)
- ID_Pengguna (ID Guru, ID Siswa, atau ID Orang Tua)
- Jenis Notifikasi (Jadwal Bimbingan, Hasil Tes, Pengumuman, dll.)
- Isi Notifikasi
- Tanggal dan Waktu
Tabel Dashboard_Statistik
- ID_Statistik (Primary Key)
- Jumlah_Siswa
- Jumlah_Guru
- Jumlah_Jadwal_Bimbingan
Tabel Laporan
- ID_Laporan (Primary Key)
- Jenis_Laporan (Perkembangan Siswa, Absensi, Keberhasilan Materi, dll.)
- Isi_Laporan
- Tanggal Pembuatan
Tabel Akses
- ID_Akses (Primary Key)
- ID_Pengguna (ID Guru, ID Siswa, atau ID Orang Tua)
- Peran (Admin, Guru, Orang Tua)
- Hak_Akses (Mengakses Informasi Siswa, Mengakses Informasi Guru, dll.)
Tabel Keamanan
- ID_Keamanan (Primary Key)
- ID_Pengguna (ID Guru, ID Siswa, atau ID Orang Tua)
- Kata_Sandi_Hash
- Token_Sesi
- Tanggal_Expiry_Token
3. Desain Frontend
4. Action untuk Backend
Create Student (Membuat Siswa Baru)
- Deskripsi:
- Action ini digunakan untuk mendaftarkan siswa baru ke dalam sistem.
- Proses:
- Menerima data siswa dari frontend.
- Validasi data.
- Menyimpan data siswa ke dalam database.
- Deskripsi:
- Action ini memungkinkan admin atau guru memperbarui informasi siswa yang sudah terdaftar.
- Proses:
- Menerima data pembaruan dari frontend.
- Validasi data.
- Memperbarui informasi siswa dalam database.
- Deskripsi:
- Action ini digunakan untuk membuat jadwal bimbingan untuk siswa.
- Proses:
- Menerima data jadwal dari frontend.
- Validasi data.
- Menyimpan jadwal ke dalam database.
Update Schedule (Memperbarui Jadwal Bimbingan)
- Deskripsi:
- Action ini memungkinkan admin atau guru memperbarui jadwal bimbingan.
- Proses:
- Menerima data pembaruan jadwal dari frontend.
- Validasi data.
- Memperbarui jadwal dalam database.
Upload Learning Material (Mengunggah Materi Pelajaran)
- Deskripsi:
- Action ini digunakan untuk mengunggah materi pelajaran seperti modul, video, atau latihan soal.
- Proses:
- Menerima file materi dari frontend.
- Menyimpan file materi di server atau penyimpanan cloud.
- Merekam informasi file dalam database.
Send Message (Mengirim Pesan)
- Deskripsi:
- Action ini memungkinkan komunikasi antara guru, siswa, dan orang tua melalui sistem pesan internal.
- Proses:
- Menerima pesan dari frontend.
- Validasi pesan.
- Menyimpan pesan dalam database.
Generate Report (Menghasilkan Laporan)
- Deskripsi:
- Action ini digunakan untuk menghasilkan laporan seperti perkembangan siswa, absensi, atau keberhasilan dalam materi tertentu.
- Proses:
- Menerima parameter laporan dari frontend.
- Mengambil data dari database.
- Menghasilkan laporan dalam format yang diinginkan.
Authenticate User (Autentikasi Pengguna)
- Deskripsi:
- Action ini melakukan autentikasi pengguna berdasarkan kredensial yang diberikan.
- Proses:
- Menerima kredensial dari frontend.
- Memeriksa kredensial dengan data di database.
- Menghasilkan token sesi jika autentikasi berhasil.
Authorization Check (Pemeriksaan Otorisasi)
- Deskripsi:
- Action ini memeriksa hak akses pengguna untuk memastikan bahwa mereka memiliki izin untuk melakukan suatu tindakan.
- Proses:
- Menerima permintaan tindakan dari frontend.
- Memeriksa hak akses pengguna berdasarkan peran mereka.
- Memeriksa otorisasi untuk tindakan yang diminta.
Notification (Pemberitahuan)
- Deskripsi:
- Action ini mengirimkan pemberitahuan otomatis kepada pengguna terkait, seperti jadwal bimbingan, hasil tes, atau pengumuman penting.
- Proses:
- Menerima peristiwa yang memicu pemberitahuan.
- Mengidentifikasi pengguna yang harus diberitahu.
- Mengirim pemberitahuan ke pengguna terkait.
5. Implementasi
Anggota kelompok :
- 5025211004 - Akbar Putra Asenti Priyanto
- 5025211052 - Duevano Fairuz Pandya
- 5025211149 - Irsyad Fikriansyah Ramadhan
Link Repository:
Github
Video:
Comments
Post a Comment