kuis 2 PWEB

Nama    : Nouvelli Cornelia
NRP      : 05111940000011

 Soal :

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 kuliah)

4. Sebutkan daftar action untuk backend yang akan dibutuhkan. Jelaskan digunakan apa saja (Individu - jam kuliah)

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)


Jawaban


1. SKPL

Manajemen Siswa

  • Basis data siswa
    • Menyimpan informasi siswa, termasuk nama, usia, alamat, data kontak, dan riwayat belajar.
    • Informasi siswa dapat diakses oleh admin, guru, dan orang tua, tetapi hanya dengan tingkat akses yang sesuai.
    • Informasi siswa dapat dicari, difilter, dan diurutkan berdasarkan berbagai kriteria.
  • Pendaftaran siswa baru
    • Form pendaftaran siswa baru harus mencakup informasi yang diperlukan, seperti nama, usia, alamat, data kontak, dan riwayat belajar.
    • Formulir pendaftaran siswa baru harus validasi untuk memastikan bahwa informasi yang dimasukkan benar.
  • Pembaruan informasi siswa
    • Admin, guru, dan orang tua dapat memperbarui informasi siswa, seperti nama, alamat, data kontak, atau riwayat belajar.
    • Perubahan informasi siswa harus tercatat untuk keperluan audit.

Manajemen Jadwal Bimbingan

  • Kalender bimbingan
    • Menampilkan jadwal bimbingan berdasarkan cabang, guru, atau mata pelajaran.
    • Jadwal bimbingan dapat difilter dan diurutkan berdasarkan berbagai kriteria.
  • Penambahan jadwal bimbingan
    • Form penambahan jadwal bimbingan harus mencakup informasi yang diperlukan, seperti tanggal, waktu, cabang, guru, dan mata pelajaran.
    • Formulir penambahan jadwal bimbingan harus validasi untuk memastikan bahwa informasi yang dimasukkan benar.
  • Perubahan jadwal bimbingan
    • Admin dapat mengubah jadwal bimbingan, seperti tanggal, waktu, cabang, guru, atau mata pelajaran.
  • Pembatalan jadwal bimbingan
    • Admin dapat membatalkan jadwal bimbingan.

Pengelolaan Materi Pelajaran

  • Penyimpanan materi pelajaran
    • Menyimpan materi pelajaran berdasarkan mata pelajaran dan tingkat kelas.
    • Materi pelajaran dapat diakses oleh guru dan siswa.
  • Integrasi dengan sumber belajar
    • Materi pelajaran dapat diintegrasikan dengan sumber belajar lain, seperti modul, video, atau latihan soal.

Komunikasi

  • Sistem pesan internal
    • Memberikan kemampuan bagi guru, siswa, dan orang tua untuk berkomunikasi satu sama lain.
    • Pesan dapat berupa teks, gambar, atau file.
    • Pesan dapat diarsipkan untuk keperluan audit.
  • Pemberitahuan otomatis
    • Memberikan pemberitahuan otomatis tentang jadwal bimbingan, hasil tes, atau pengumuman penting.
    • Pemberitahuan dapat dikirimkan melalui email, SMS, atau aplikasi notifikasi.

Dashboard dan Laporan

  • Dashboard pengelola
    • Menampilkan ringkasan statistik tentang jumlah siswa, jadwal bimbingan, dan kinerja guru.
    • Statistik dapat digunakan untuk mengevaluasi kinerja lembaga bimbingan belajar.
  • Laporan
    • Dapat dihasilkan untuk berbagai keperluan, seperti perkembangan siswa, absensi, atau keberhasilan dalam materi tertentu.
    • Laporan dapat difilter dan diurutkan berdasarkan berbagai kriteria.

Keamanan dan Akses

  • Sistem keamanan yang kuat
    • Menggunakan metode keamanan yang kuat untuk melindungi data siswa, guru, dan orang tua.
    • Metode keamanan yang dapat digunakan: kontrol akses
  • Manajemen akses berdasarkan role memungkinkan admin, guru, dan orang tua hanya mengakses informasi yang sesuai dengan peran mereka.

Tambahan

  • Antarmuka pengguna yang responsif  dapat diakses dengan lancar dari berbagai perangkat, seperti desktop, tablet, dan ponsel.
  • Navigasi menu dan fitur aplikasi mudah ditemukan dan digunakan.
2.  
 Tabel: users
CREATE TABLE users (
    user_id INT PRIMARY KEY,
    role VARCHAR(20),
    username VARCHAR(50),
    password VARCHAR(255)
);
 Tabel: students
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    address VARCHAR(255),
    contact VARCHAR(20),
    study_history TEXT
);

 Tabel: schedules
CREATE TABLE schedules (
    schedule_id INT PRIMARY KEY,
    branch VARCHAR(50),
    teacher_id INT,
    subject VARCHAR(100),
    date_time DATETIME,
    status VARCHAR(20),
    FOREIGN KEY (teacher_id) REFERENCES teachers(teacher_id)
);

 Tabel: subjects
CREATE TABLE subjects (
    subject_id INT PRIMARY KEY,
    subject_name VARCHAR(100)
);

 Tabel: materials
CREATE TABLE materials (
    material_id INT PRIMARY KEY,
    subject_id INT,
    title VARCHAR(255),
    content TEXT,
    FOREIGN KEY (subject_id) REFERENCES subjects(subject_id)
);

 Tabel: communications
CREATE TABLE communications (
    communication_id INT PRIMARY KEY,
    sender_id INT,
    receiver_id INT,
    message TEXT,
    date_time DATETIME,
    type VARCHAR(20)
);

 Tabel: dashboard_stats
CREATE TABLE dashboard_stats (
    stats_id INT PRIMARY KEY,
    total_students INT,
    total_schedules INT,
    total_teachers INT
);

3. source code front end sederhana menggunakna bootstrap (akan diperbarui lagi dengan tim)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Bimbingan Belajar ACC</title>
  7. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  8. </head>
  9. <body>
  10.  
  11. <nav class="navbar navbar-expand-lg navbar-light bg-light">
  12. <div class="container-fluid">
  13. <a class="navbar-brand" href="#">Bimbingan Belajar ACC</a>
  14. <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
  15. <span class="navbar-toggler-icon"></span>
  16. </button>
  17. <div class="collapse navbar-collapse" id="navbarNav">
  18. <ul class="navbar-nav">
  19. <li class="nav-item">
  20. <a class="nav-link" href="#">Halaman Utama</a>
  21. </li>
  22. <li class="nav-item">
  23. <a class="nav-link" href="#">Tentang Kami</a>
  24. </li>
  25. <li class="nav-item">
  26. <a class="nav-link" href="#">Kontak</a>
  27. </li>
  28. <li class="nav-item">
  29. <a class="nav-link" href="#">Testimoni</a>
  30. </li>
  31. </ul>
  32. </div>
  33. </div>
  34. </nav>
  35.  
  36. <div class="container">
  37. <div class="row">
  38. <div class="col-md-12">
  39. <h1>Bimbingan Belajar ACC</h1>
  40. <p>Bimbingan Belajar ACC adalah lembaga bimbingan belajar yang berkomitmen untuk membantu siswa meraih cita-cita mereka. Kami memiliki tim pengajar yang berpengalaman dan berdedikasi, serta materi pelajaran yang berkualitas.</p>
  41. </div>
  42. </div>
  43.  
  44. <div class="row">
  45. <div class="col-md-6">
  46. <h2>Fitur-Fitur</h2>
  47. <ul>
  48. <li>Kurikulum yang sesuai dengan kurikulum sekolah</li>
  49. <li>Metode pengajaran yang interaktif dan menyenangkan</li>
  50. <li>Pembimbingan yang intensif dan personal</li>
  51. <li>Layanan konsultasi dengan orang tua</li>
  52. </ul>
  53. </div>
  54. <div class="col-md-6">
  55. <h2>Ajakan untuk Mengikuti Bimbingan ACC</h2>
  56. <p>Yuk, bergabung bersama kami dan raih cita-citamu!</p>
  57. <a href="register.php" class="btn btn-primary">Daftar Sekarang</a>
  58. </div>
  59. </div>
  60.  
  61. <div class="row">
  62. <div class="col-md-12">
  63. <h2>Testimoni</h2>
  64. <ul>
  65. <li>
  66. <img src="img/testimoni1.jpg" alt="Testimoni 1">
  67. <p>"Saya sangat puas dengan bimbingan belajar ACC. Materi pelajarannya sangat jelas dan mudah dipahami. Pengajarnya juga sangat sabar dan telaten dalam menjelaskan materi."</p>
  68. <p>- Andi, Siswa SMA</p>
  69. </li>
  70. <li>
  71. <img src="img/testimoni2.jpg" alt="Testimoni 2">
  72. <p>"Saya berhasil meraih nilai yang memuaskan di ujian nasional berkat bimbingan belajar ACC. Terima kasih ACC!"</p>
  73. <p>- Budi, Siswa SMP</p>
  74. </li>
  75. </ul>
  76. </div>
  77.  
  78.  
4. Sebutkan dan Jelaskan detail action pada back end!


  • Action register() digunakan untuk menyimpan data pengguna baru ke dalam database. Data pengguna yang disimpan meliputi nama, email, password, dan peran. Peran pengguna dapat berupa admin, guru, atau orang tua.
  • Action login() digunakan untuk memvalidasi email dan password pengguna. Jika email dan password pengguna valid, maka pengguna akan mendapatkan token yang dapat digunakan untuk mengakses aplikasi.
  • Action getAboutUs() digunakan untuk mengambil informasi tentang lembaga bimbingan belajar ACC dari database. Informasi yang diambil meliputi nama lembaga, alamat, nomor telepon, dan email.
  • Action getContact() digunakan untuk mengambil informasi kontak lembaga bimbingan belajar ACC dari database. Informasi yang diambil meliputi nomor telepon, email, dan alamat website.
  • Action getTestimoni() digunakan untuk mengambil testimoni dari alumni bimbingan belajar ACC dari database. Testimoni yang diambil meliputi nama alumni, kelas, dan testimoni.
  • Action getJadwalBimbingan() digunakan untuk mendapatkan jadwal bimbingan dari database.
  • Action getMateriPelajaran() digunakan untuk mendapatkan materi pelajaran dari database.
  • Action addJadwalBimbingan() digunakan untuk menambahkan jadwal bimbingan ke database.
  • Action updateJadwalBimbingan() digunakan untuk memperbarui jadwal bimbingan di database.
  • Action deleteJadwalBimbingan() digunakan untuk menghapus jadwal bimbingan dari database.
  • Action addMateriPelajaran() digunakan untuk menambahkan materi pelajaran ke database.
  • Action updateMateriPelajaran() digunakan untuk memperbarui materi pelajaran di database.
  • Action deleteMateriPelajaran() digunakan untuk menghapus materi pelajaran dari database.

Komentar

Postingan Populer