Quiz 2 - Pemrograman Web A
Nama : Zakia Kolbi
NRP : 5025211049
Kelas : Pemrograman Web A
Tahun : 2023
1. Manajemen Siswa:
Link Github : https://github.com/hanamahes78/EAS_PWebA
NRP : 5025211049
Kelas : Pemrograman Web A
Tahun : 2023
Quiz 2
Soal :
1. Tuliskan Spesifikasi kebutuhan perangkat lunak dan struktur menu yang cocok untuk aplikasi yang akan dibuat
Jawaban :
Spesifikasi Kebutuhan Perangkat Lunak :
- 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.
Struktur Menu :
- Daftar Siswa: Lihat daftar seluruh siswa dengan informasi ringkas.
- Detail Siswa: Lihat dan kelola informasi lengkap siswa, termasuk riwayat belajar.
- Tambah Siswa Baru: Formulir untuk mendaftarkan siswa baru.
- Pembaruan Informasi: Formulir untuk memperbarui informasi siswa yang ada.
- Jadwal Keseluruhan: Lihat kalender jadwal bimbingan.
- Berdasarkan Cabang, Guru, dan Mata Pelajaran: Filter jadwal berdasarkan kriteria tertentu.
- Tambah, Ubah, dan Batalkan Jadwal: Kelola jadwal dengan formulir yang mudah diakses.
- Daftar Materi Pelajaran: Tampilkan materi pelajaran dan sumber belajar.
- Berdasarkan Mata Pelajaran dan Tingkat Kelas: Filter materi pelajaran.
- Tambah Materi Pelajaran: Formulir untuk menambah materi pelajaran baru.
- Integrasi Sumber Belajar: Tautan langsung ke modul, video, atau latihan soal.
- Pesan Internal: Kotak masuk untuk pesan antara guru, siswa, dan orang tua.
- Pemberitahuan Otomatis: Pengaturan untuk mengelola pemberitahuan otomatis terkait jadwal bimbingan, hasil tes, atau pengumuman penting.
- Dashboard Pengelola: Ringkasan statistik jumlah siswa, jadwal bimbingan, dan kinerja guru.
- Laporan Perkembangan Siswa: Analisis hasil perkembangan siswa.
- Laporan Absensi: Informasi absensi siswa.
- Laporan Keberhasilan Materi: Statistik keberhasilan siswa dalam materi tertentu.
- Pengaturan Keamanan: Konfigurasi sistem keamanan secara menyeluruh.
- Manajemen Akses: Pengaturan akses berbasis peran untuk admin, guru, dan orang tua.
- Antarmuka Pengguna: Responsif dan ramah pengguna di semua perangkat.
- Navigasi Intuitif: Menu dan navigasi yang mudah digunakan untuk akses cepat ke berbagai fitur.
2. Buatkan Desain Database dan Struktur tabel yang akan menampung data yang dikelola
Jawaban :
-- Tabel Guru
CREATE TABLE Guru (
ID_Guru INT PRIMARY KEY,
Nama_Guru VARCHAR(255),
Alamat_Guru VARCHAR(255),
Data_Kontak_Guru VARCHAR(255)
);
-- Tabel Siswa
CREATE TABLE Siswa (
ID_Siswa INT PRIMARY KEY,
Nama_Siswa VARCHAR(255),
Usia_Siswa INT,
Alamat_Siswa VARCHAR(255),
Data_Kontak_Siswa VARCHAR(255),
Riwayat_Belajar_Siswa TEXT
);
-- Tabel Jadwal_Bimbingan
CREATE TABLE Jadwal_Bimbingan (
ID_Jadwal INT PRIMARY KEY,
ID_Siswa INT,
ID_Guru INT,
Cabang VARCHAR(255),
Mata_Pelajaran VARCHAR(255),
Tanggal_Waktu DATETIME,
Status VARCHAR(50),
FOREIGN KEY (ID_Siswa) REFERENCES Siswa(ID_Siswa),
FOREIGN KEY (ID_Guru) REFERENCES Guru(ID_Guru)
);
-- Tabel Materi_Pelajaran
CREATE TABLE Materi_Pelajaran (
ID_Materi INT PRIMARY KEY,
Mata_Pelajaran VARCHAR(255),
Tingkat_Kelas VARCHAR(50),
Sumber_Belajar VARCHAR(50) CHECK (Sumber_Belajar IN ('Modul', 'Video', 'Latihan_Soal'))
);
-- Tabel Komunikasi
CREATE TABLE Komunikasi (
ID_Pesan INT PRIMARY KEY,
Pengirim VARCHAR(50),
Penerima VARCHAR(50),
Tanggal_Waktu DATETIME,
Isi_Pesan TEXT
);
-- Tabel Dashboard_Laporan
CREATE TABLE Dashboard_Laporan (
ID_Laporan INT PRIMARY KEY,
Statistik VARCHAR(50) CHECK (Statistik IN ('Perkembangan_Siswa', 'Absensi', 'Keberhasilan_Materi')),
Jumlah_Siswa INT,
Jumlah_Jadwal_Bimbingan INT,
Kinerja_Guru VARCHAR(255)
);
-- Tabel Keamanan_Akses
CREATE TABLE Keamanan_Akses (
ID_Pengguna INT PRIMARY KEY,
Nama_Pengguna VARCHAR(50),
Kata_Sandi VARCHAR(255),
Peran VARCHAR(50) CHECK (Peran IN ('Admin', 'Guru', 'Orang_Tua'))
);
3. Desain Front End dan page yang akan dibuat untuk aplikasi
Jawaban :
- Halaman Dashboard Utama
- Halaman Login Siswa
- Halaman Kelas Materi Siswa
- Halaman Materi atau Video
- Halaman Dashboard Admin
- Halaman Tambah Materi atau Video
- Halaman Guru
4. Sebutkan apa saja action untuk backend yang akan dibutuhkan. Jelaskan digunakan untuk apa saja
Jawaban :
1. Manajemen Siswa:
- GET /siswa: Mengambil daftar seluruh siswa dengan informasi ringkas.
- GET /siswa/{id}: Mengambil dan mengembalikan informasi lengkap siswa, termasuk riwayat belajar.
- POST /siswa: Menerima data dari formulir pendaftaran siswa baru dan menyimpannya di database.
- PUT /siswa/{id}: Menerima data dari formulir pembaruan informasi siswa dan memperbarui rekaman siswa yang ada.
- DELETE /siswa/: Digunakan untuk menghapus informasi siswa dari database
2. Manajemen Jadwal Bimbingan:
- GET /jadwal: Mengambil daftar jadwal bimbingan untuk ditampilkan di kalender.
- POST: Digunakan untuk menambahkan jadwal bimbingan baru ke dalam database.
- GET /jadwal/{id}: Mengambil dan mengembalikan informasi lengkap jadwal bimbingan.
- POST /jadwal: Menerima data dari formulir penambahan jadwal dan menyimpannya di database.
- PUT /jadwal/{id}: Menerima data dari formulir perubahan jadwal dan memperbarui rekaman jadwal yang ada.
- DELETE /jadwal/{id}: Menghapus jadwal bimbingan yang telah ditentukan.
3. Pengelolaan Materi Pelajaran:
- GET /materi: Mengambil daftar materi pelajaran untuk ditampilkan.
- GET /materi/{id}: Mengambil dan mengembalikan informasi lengkap materi pelajaran.
- POST /materi: Menerima data dari formulir penambahan materi pelajaran dan menyimpannya di database.
- PUT /materi: Digunakan untuk mengubah informasi materi pelajaran yang sudah ada dalam database.
- DELETE /materi: Digunakan untuk menghapus informasi materi pelajaran dari database berdasarkan ID_Materi.
4. Komunikasi:
- GET /pesan: Mengambil pesan dari kotak masuk untuk seorang pengguna tertentu.
- POST /pesan: Menerima data pesan baru dan menyimpannya di database.
- GET /pemberitahuan: Mengambil pemberitahuan otomatis terkait jadwal bimbingan, hasil tes, atau pengumuman penting.
5. Dashboard dan Laporan:
- GET /dashboard: Mengambil statistik untuk dashboard pengelola.
- GET /laporan/perkembangan-siswa: Membuat laporan hasil perkembangan siswa berdasarkan kriteria tertentu.
- GET /laporan/absensi: Membuat laporan absensi siswa.
- GET /laporan/keberhasilan-materi: Membuat laporan statistik keberhasilan siswa dalam materi tertentu.
6. Keamanan dan Akses:
- POST /keamanan: Mengelola konfigurasi sistem keamanan secara menyeluruh.
- POST /akses: Mengelola pengaturan akses berbasis peran untuk admin, guru, dan orang tua.
7. Responsif dan Mudah Digunakan:
- GET / POST / PUT: Bergantung pada jenis permintaan, digunakan untuk menangani permintaan antarmuka pengguna dari berbagai perangkat. Pengelolaan Navigasi dan Struktur Menu
- GET / PUT: Digunakan untuk mengambil atau mengubah informasi navigasi dan struktur menu pada antarmuka pengguna.
5. Implementasikan dan buat dokumentasinya.
Jawaban :
Video Youtube :
Komentar
Posting Komentar