Kuis 2

Nama    : Irsyad Fikriansyah Ramadhan

NRP     : 5025211149 

Kelas   : Pemograman Web - A

Tahun   : 2023

Quiz 2

Soal: Link

  1. Tuliskan spesifikasi kebutuhan perangkat lunak dan struktur menu yang cocok untuk aplikasi yang akan dibuat (Individu - jam kuliah)
  2. Buatlah desain database dan struktur tabel yang akan menampung data yang dikelola (Individu - jam kuliah)
  3. Desain Front End dan page yang akan dibuat untuk aplikasi (Individu -jam kullan)
  4. Sebutkan daftar action untuk backend yang akan dibutuhkan. Jelaskan digunakan apa saja (Individu - jam kullah)
  5. 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.
Update Student Information (Memperbarui Informasi Siswa)

  • 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.
Create Schedule (Membuat Jadwal Bimbingan)

  • 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 : 

  1. 5025211004 - Akbar Putra Asenti Priyanto
  2. 5025211052 - Duevano Fairuz Pandya
  3. 5025211149 - Irsyad Fikriansyah Ramadhan 

    Link Repository: Github

    Video: 

    Comments

    Popular Posts