QUIZ 2 PWEB - Lembaga Bimbingan Belajar

Pertemuan 15 
QUIZ 2  PWEB -  Lembaga Bimbingan Belajar


Nama : Nadya Zuhria Amana

NRP : 5025211058

Kelas : PWEB A


1. Tuliskan spesfikasi kebutuhan perangkat lunak dan struktur menu yang cocok untuk aplikasi yang dibuat

2. Buatlah desain database dan struktur tabel yang akan menampung data yang di kelola

3. Desain front end dan page yang akan dibuat untuk aplikasi 

4. Sebutkan daftar action untuk backend yang akan dibutuhkan, jelaskan di gunakan apa saja

5. Implementasikan dan baut dokumentasinya Presentasikan jawabanmu ke dalam bentuk video dan embed ke blog jawaban ( kelompok 12 des 2023 jam 08.00)


JAWABAN

1. Spesifikasi Kebutuhan Perangkat Lunak dan Struktur Menu

Berikut adalah spesifikasi kebutuhan perangkat lunak dan struktur menu yang cocok untuk aplikasi yang dibuat:

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.
    • Kemampuan untuk mencari dan memfilter data siswa berdasarkan berbagai kriteria.
  • Manajemen Jadwal Bimbingan
    • Kalender yang dapat menampilkan jadwal bimbingan berdasarkan cabang, guru, atau mata pelajaran.
    • Kemampuan untuk menambah, mengubah, atau membatalkan jadwal bimbingan.
    • Kemampuan untuk mencari dan memfilter data jadwal bimbingan berdasarkan berbagai kriteria.
  • Pengelolaan Materi Pelajaran
    • Penyimpanan materi pelajaran berdasarkan mata pelajaran dan tingkat kelas.
    • Integrasi dengan sumber belajar seperti modul, video, atau latihan soal.
    • Kemampuan untuk mencari dan memfilter data materi pelajaran berdasarkan berbagai kriteria.
  • 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.
    • Manajemen 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.

Struktur Menu

Berikut adalah struktur menu yang cocok untuk aplikasi yang dibuat:

  • Dashboard
    • Grafik dan Ringkasan Statistik
    • Laporan
  • Manajemen Siswa
    • Data Siswa
    • Daftar Siswa
    • Pendaftaran Siswa
  • Manajemen Jadwal Bimbingan
    • Kalender Bimbingan
    • Daftar Jadwal Bimbingan
    • Tambah Jadwal Bimbingan
  • Pengelolaan Materi Pelajaran
    • Materi Pelajaran
    • Daftar Materi Pelajaran
    • Tambah Materi Pelajaran
  • Komunikasi
    • Pesan Internal
    • Pemberitahuan
  • Pengaturan
    • Akun
    • Keamanan

2. Desain Database dan Struktur Tabel

Berikut adalah relasi tabel guru, siswa, orang tua, laporan, akses peran, pesan, materi pelajaran, dan jadwal bimbingan:

Tabel Guru

KolomTipe DataKeterangan
idintegerPrimary key
namavarchar(255)Nama guru
alamatvarchar(255)Alamat guru
nomor_teleponvarchar(255)Nomor telepon guru
emailvarchar(255)Email guru
jenis_kelaminvarchar(255)Jenis kelamin guru
tanggal_lahirdateTanggal lahir guru
id_akunintegerForeign key ke tabel akses_peran

Tabel Siswa

KolomTipe DataKeterangan
idintegerPrimary key
namavarchar(255)Nama siswa
alamatvarchar(255)Alamat siswa
nomor_teleponvarchar(255)Nomor telepon siswa
emailvarchar(255)Email siswa
tgl_lahirdateTanggal lahir siswa
kelasvarchar(255)Kelas siswa
id_orang_tuaintegerForeign key ke tabel orang_tua

Tabel Orang Tua

KolomTipe DataKeterangan
idintegerPrimary key
namavarchar(255)Nama orang tua
alamatvarchar(255)Alamat orang tua
nomor_teleponvarchar(255)Nomor telepon orang tua
emailvarchar(255)Email orang tua
pekerjaanvarchar(255)Pekerjaan orang tua

Tabel Laporan

KolomTipe DataKeterangan
idintegerPrimary key
judulvarchar(255)Judul laporan
jenisvarchar(255)Jenis laporan
datatextData laporan
tanggal_pembuatandatetimeTanggal pembuatan laporan
id_guruintegerForeign key ke tabel guru
id_siswaintegerForeign key ke tabel siswa

Tabel Akses Peran

KolomTipe DataKeterangan
idintegerPrimary key
peranvarchar(255)Peran (Admin, Guru, Orang Tua)
hak_aksesenumHak akses

Tabel Pesan

KolomTipe DataKeterangan
idintegerPrimary key
tanggal_pengirimandatetimeTanggal pengiriman
darivarchar(255)Pengirim
kepadavarchar(255)Penerima
subjekvarchar(255)Subjek pesan
isitextIsi pesan

Tabel Materi Pelajaran

KolomTipe DataKeterangan
idintegerPrimary key
judulvarchar(255)Judul materi pelajaran
deskripsitextDeskripsi materi pelajaran
filevarchar(255)File materi pelajaran

Tabel Jadwal Bimbingan

KolomTipe DataKeterangan
idintegerPrimary key
tanggaldateTanggal bimbingan
jamtimeJam bimbingan
kelasvarchar(255)Kelas bimbingan
id_guruintegerForeign key ke tabel guru

Relasi Antar Tabel

Tabel Guru

  • Relasi one-to-one dengan tabel akses_peran

Relasi ini menunjukkan bahwa satu guru hanya memiliki satu peran. Kolom id_akun pada tabel guru merupakan foreign key yang mengacu ke kolom id pada tabel akses_peran.

Tabel Siswa

  • Relasi one-to-one dengan tabel orang_tua

Relasi ini menunjukkan bahwa satu siswa hanya memiliki satu orang tua. Kolom id_orang_tua pada tabel siswa merupakan foreign key yang mengacu ke kolom id pada tabel orang_tua.

Tabel Laporan

  • Relasi many-to-one dengan tabel guru

Relasi ini menunjukkan bahwa satu laporan dapat dibuat oleh satu atau lebih guru, tetapi satu guru dapat membuat satu atau lebih laporan. Kolom id_guru pada tabel laporan merupakan foreign key yang mengacu ke kolom id pada tabel guru.

  • Relasi many-to-one dengan tabel siswa

Relasi ini menunjukkan bahwa satu laporan dapat dibuat untuk satu atau lebih siswa, tetapi satu siswa dapat menerima satu atau lebih laporan. Kolom id_siswa pada tabel laporan merupakan foreign key yang mengacu ke kolom id pada tabel siswa.

Tabel Pesan

  • Relasi many-to-many dengan tabel guru dan tabel siswa

Relasi ini menunjukkan bahwa satu guru dapat mengirim pesan ke satu atau lebih siswa, dan satu siswa dapat menerima pesan dari satu atau lebih guru. Kolom dari pada tabel pesan merupakan foreign key yang mengacu ke kolom id pada tabel guru, sedangkan kolom kepada merupakan foreign key yang mengacu ke kolom id pada tabel siswa.

Tabel Materi Pelajaran

  • Relasi many-to-one dengan tabel guru

Relasi ini menunjukkan bahwa satu guru dapat membuat satu atau lebih materi pelajaran. Kolom id_guru pada tabel materi pelajaran merupakan foreign key yang mengacu ke kolom id pada tabel guru.

Tabel Jadwal Bimbingan

  • Relasi many-to-one dengan tabel guru

Relasi ini menunjukkan bahwa satu guru dapat mengatur jadwal bimbingan untuk satu atau lebih kelas. Kolom id_guru pada tabel jadwal bimbingan merupakan foreign key yang mengacu ke kolom id pada tabel guru.


CDM : 


PDM : 






3. Desain front end dan page yang akan dibuat untuk aplikasi 










4. Daftar Action untuk Backend

Berikut adalah daftar action untuk backend yang akan dibutuhkan, dengan penjelasan di mana digunakan:

  • Action untuk Manajemen Siswa

    • get_siswa() - Mengambil data siswa berdasarkan id, nama, atau kriteria lainnya. Digunakan untuk menampilkan daftar siswa, data siswa, atau pencarian data siswa.
    • create_siswa() - Menambah data siswa baru. Digunakan untuk proses pendaftaran siswa baru.
    • update_siswa() - Mengubah data siswa yang sudah ada. Digunakan untuk proses perubahan data siswa.
    • delete_siswa() - Menghapus data siswa. Digunakan untuk proses penghapusan siswa.
  • Action untuk Manajemen Jadwal Bimbingan

    • get_jadwal_bimbingan() - Mengambil data jadwal bimbingan berdasarkan id, tanggal, atau kriteria lainnya. Digunakan untuk menampilkan daftar jadwal bimbingan, data jadwal bimbingan, atau pencarian data jadwal bimbingan.
    • create_jadwal_bimbingan() - Menambah data jadwal bimbingan baru. Digunakan untuk proses penambahan jadwal bimbingan.
    • update_jadwal_bimbingan() - Mengubah data jadwal bimbingan yang sudah ada. Digunakan untuk proses perubahan data jadwal bimbingan.
    • delete_jadwal_bimbingan() - Menghapus data jadwal bimbingan. Digunakan untuk proses penghapusan jadwal bimbingan.
  • Action untuk Pengelolaan Materi Pelajaran

    • get_materi_pelajaran() - Mengambil data materi pelajaran berdasarkan id, mata pelajaran, atau kriteria lainnya. Digunakan untuk menampilkan daftar materi pelajaran, data materi pelajaran, atau pencarian data materi pelajaran.
    • create_materi_pelajaran() - Menambah data materi pelajaran baru. Digunakan untuk proses penambahan materi pelajaran.
    • update_materi_pelajaran() - Mengubah data materi pelajaran yang sudah ada. Digunakan untuk proses perubahan data materi pelajaran.
    • delete_materi_pelajaran() - Menghapus data materi pelajaran. Digunakan untuk proses penghapusan materi pelajaran.
  • Action untuk Komunikasi

    • send_message() - Mengirim pesan internal dari satu pengguna ke pengguna lain. Digunakan untuk proses pengiriman pesan internal.
    • get_messages() - Mengambil daftar pesan internal yang diterima oleh pengguna. Digunakan untuk menampilkan daftar pesan internal yang diterima oleh pengguna.
    • read_message() - Menandai pesan internal sebagai sudah dibaca. Digunakan untuk proses membaca pesan internal.
  • Action untuk Dashboard dan Laporan

    • get_statistik() - Mengambil data statistik tentang jumlah siswa, jadwal bimbingan, dan kinerja guru. Digunakan untuk menampilkan data statistik di dashboard.
    • generate_report()` - Menghasilkan laporan berdasarkan kriteria tertentu. Digunakan untuk proses pembuatan laporan.
  • Action untuk Keamanan dan Akses

    • login()` - Melakukan login pengguna. Digunakan untuk proses login pengguna.
    • logout()` - Melakukan logout pengguna. Digunakan untuk proses logout pengguna.
    • check_permission()` - Memeriksa apakah pengguna memiliki izin untuk mengakses suatu fitur. Digunakan untuk proses kontrol akses.

Posting Komentar

Lebih baru Lebih lama