Quiz 2 - Pemrograman Web A

Nama : Zakia Kolbi

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 :

1. Manajemen Siswa:
  • 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.
2. Manajemen Jadwal Bimbingan:
  • 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.
3. Pengelolaan Materi Pelajaran:
  • 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.
4. Komunikasi:
  • 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.
5. Dashboard dan Laporan:
  • 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.
6. Keamanan dan Akses:
  • Pengaturan Keamanan: Konfigurasi sistem keamanan secara menyeluruh.
  • Manajemen Akses: Pengaturan akses berbasis peran untuk admin, guru, dan orang tua.
7. Responsif dan Mudah Digunakan:
  • 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
  1. 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 :

Link Github : https://github.com/hanamahes78/EAS_PWebA

Video Youtube : 




Komentar

Postingan populer dari blog ini

Final Project Pemrograman Berbasis Kerangka Kerja

Final Project Pemrograman Web