Student Tutoring Management System – Web Application
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
Repository: https://github.com/hanamahes78/EAS_PWebA
Deskripsi:
Merancang dan mengimplementasikan aplikasi web untuk mendukung pengelolaan kegiatan bimbingan belajar. Proyek mencakup analisis kebutuhan perangkat lunak, perancangan struktur menu, desain database dan relasi antar tabel, perancangan antarmuka pengguna, serta rancangan endpoint backend untuk pengelolaan data siswa, guru, jadwal bimbingan, dan materi pembelajaran.
Ruang Lingkup:
- Manajemen data siswa dan guru.
- Pengelolaan jadwal bimbingan.
- Pengelolaan materi pembelajaran.
- Dashboard dan laporan.
- Sistem komunikasi dan pemberitahuan.
- Perancangan akses pengguna berdasarkan peran.
- Perancangan antarmuka untuk siswa dan admin.
Kontribusi:
- Menganalisis kebutuhan dan ruang lingkup aplikasi.
- Merancang struktur menu dan alur fitur.
- Merancang database beserta struktur tabel dan relasi.
- Mendesain antarmuka halaman siswa dan admin.
- Merancang endpoint backend untuk operasi data.
- Mengimplementasikan aplikasi menggunakan framework CodeIgniter.
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