EAS PBKK - Attendance System Application

  

EAS PBKK - Attendance System Application


Biodata Diri

Nama    : Farros Hilmi Syafei

NRP      : 5025201012

Kelas     : Pemrograman Berbasis Kerangka Kerja B


Deskripsi Tugas

  1. Sebutkan Keuntungan dan Kerugian Penggunaan Framework dalam membangun aplikasi
  2. Dalam Framework MVC, apa tugas masing - masing bagian? Berikan contoh pengunaannya
  3. Dengan menggunakan framework laravel, buatlah deskripsi dan fitur aplikasi sistem kehadiran untuk Instansi ITS
  4. Tuliskan Struktur Tabelnya
  5. Desain Bentuk Laporan
  6. Implementasikan dan Buat Presentasi Video

Hasil


1. Sebutkan Keuntungan dan Kerugian Penggunaan Framework dalam membangun Aplikasi

Deskripsi Framework
Framework adalah kerangka kerja atau struktur yang disediakan untuk memudahkan pengembangan aplikasi. Dalam konteks pemrograman, framework adalah kumpulan
perangkat lunak yang menyediakan komponen dan aturan pengembangan yang sudah jadi, sehingga pengembang dapat fokus pada logika bisnis aplikasi daripada menghabiskan waktu dan usaha untuk membuat ulang komponen yang umum digunakan.

Sebagai contoh, dalam pengembangan web, framework seperti Laravel, Django, atau Ruby on Rails menyediakan struktur dan fitur yang dapat digunakan untuk membangun aplikasi web dengan lebih cepat dan efisien. Framework ini umumnya memiliki fitur seperti routing (mengarahkan permintaan URL ke fungsi yang tepat), pengelolaan basis data, keamanan, sesi pengguna, validasi data, dan banyak lagi.

Keuntungan
  1. Pemrograman yang lebih cepat: Framework menyediakan komponen dan fitur yang sudah siap pakai, sehingga pengembang dapat menghemat waktu dan usaha dalam mengembangkan aplikasi dari awal. Fitur-fitur tersebut telah diuji, diperbaiki, dan dioptimalkan oleh komunitas pengembang. Sebagai contoh, jika Anda menggunakan framework untuk pengembangan web, Anda dapat menggunakan fitur routing yang sudah ada untuk mengarahkan permintaan URL ke fungsi yang sesuai, tanpa harus menulis kode routing dari awal.
  2. Reusabilitas dan efisiensi kode: Framework menyediakan kumpulan modul, komponen, dan fungsi yang dapat digunakan kembali dalam pengembangan aplikasi. Dengan menggunakan komponen yang sudah ada, pengembang dapat menghemat waktu dan usaha dalam menulis kode dari awal. Misalnya, jika Anda menggunakan framework untuk pengembangan aplikasi mobile, Anda dapat menggunakan komponen UI yang sudah tersedia, seperti tombol, formulir, atau daftar, tanpa perlu membuatnya dari awal.
  3. Standar industri: Framework umumnya mengikuti praktik-praktik terbaik industri dan aturan pengembangan yang disepakati secara luas. Dengan mengikuti standar ini, aplikasi yang dibangun dengan menggunakan framework akan menjadi lebih mudah dipahami dan dikelola oleh pengembang lain yang terbiasa dengan framework tersebut. Misalnya, dalam pengembangan web dengan menggunakan framework MVC, pengembang lain yang familiar dengan pola desain MVC akan dengan mudah memahami struktur dan alur logika aplikasi yang dibangun dengan framework tersebut.
  4. Dukungan dan pembaruan yang terus-menerus: Framework yang populer biasanya didukung oleh komunitas pengembang yang besar dan aktif. Komunitas ini menyediakan dukungan, pembaruan, dan perbaikan bug secara berkala. Dengan menggunakan framework, pengembang dapat mengandalkan komunitas untuk memperbaiki masalah, memperbarui keamanan, dan menambahkan fitur baru. Hal ini membantu menjaga aplikasi tetap aman, terbarui, dan sesuai dengan perkembangan teknologi terkini.
  5. Struktur yang terorganisir: Framework umumnya mengikuti pola desain seperti Model-View-Controller (MVC) atau pola serupa. Dalam pola MVC, model digunakan untuk mengelola logika bisnis dan akses ke basis data, view digunakan untuk mengatur tampilan aplikasi, dan controller digunakan untuk mengatur alur logika aplikasi. Dengan adanya struktur yang terorganisir ini, pengembang dapat memisahkan logika aplikasi menjadi komponen yang terpisah, memudahkan pemeliharaan, pengujian, dan pengembangan kolaboratif.
  6. Keamanan yang lebih baik: Framework sering kali menyediakan mekanisme keamanan bawaan yang membantu melindungi aplikasi dari serangan umum, seperti perlindungan terhadap serangan injeksi SQL atau cross-site scripting (XSS). Misalnya, dalam pengembangan aplikasi web, framework umumnya akan menyediakan metode untuk menghindari serangan injeksi SQL dengan melakukan pemeriksaan parameter yang diterima dari pengguna sebelum digunakan dalam query basis data.
  7. Skalabilitas: Framework dirancang untuk mendukung pertumbuhan aplikasi. Mereka menyediakan pola dan struktur yang memudahkan dalam menambahkan fitur baru, memperluas fungsionalitas, dan mengelola aplikasi yang semakin kompleks. Misalnya, dalam pengembangan web dengan menggunakan framework, jika aplikasi semakin berkembang dan memerlukan penambahan halaman atau modul baru, pengembang dapat dengan mudah menambahkannya sesuai dengan struktur yang telah ditentukan oleh framework.
  8. Komunitas dan dokumentasi: Framework yang populer biasanya didukung oleh komunitas pengembang yang aktif. Komunitas ini menyediakan sumber daya, dokumentasi, tutorial, dan forum diskusi yang dapat membantu pengembang dalam mempelajari, mengatasi masalah, dan berbagi pengetahuan. Dengan adanya komunitas yang aktif, pengembang dapat dengan mudah mencari bantuan atau membagikan pengalaman mereka dalam menggunakan framework tersebut.
Kerugian
  1. Pembelajaran awal yang lambat: Menggunakan framework baru membutuhkan waktu untuk mempelajari cara kerjanya, konvensi kode, dan pola desain yang digunakan. Pengembang harus berinvestasi dalam pembelajaran awal sebelum bisa menggunakan framework secara efektif. Namun, setelah melewati tahap pembelajaran awal, penggunaan framework dapat membantu meningkatkan produktivitas dalam jangka panjang.
  2. Ketergantungan terhadap framework: Dalam pengembangan dengan framework, Anda menjadi tergantung pada framework yang digunakan. Jika framework tersebut tidak lagi aktif dikembangkan atau tidak memenuhi kebutuhan aplikasi Anda, beralih ke framework lain atau mengubah arsitektur menjadi lebih sulit dan memakan waktu. Oleh karena itu, penting untuk memilih framework yang populer, aktif dikembangkan, dan dapat diandalkan dalam jangka panjang.
  3. Keterbatasan personalisasi: Framework umumnya memiliki aturan dan struktur yang kaku. Ini bisa menjadi kendala jika Anda memiliki kebutuhan yang sangat khusus atau ingin membuat aplikasi yang sangat unik. Beberapa framework juga mungkin memiliki pembatasan dalam hal penyesuaian sesuai kebutuhan Anda. Namun, dalam banyak kasus, framework juga menyediakan fleksibilitas untuk menyesuaikan dan memodifikasi komponen yang ada.
  4. Overhead dan kompleksitas: Beberapa framework mungkin memiliki overhead yang lebih tinggi dalam hal sumber daya dan kompleksitas. Mereka mungkin memerlukan spesifikasi perangkat keras tertentu atau konfigurasi yang lebih rumit. Jika aplikasi Anda memiliki kebutuhan performa yang sangat tinggi atau sumber daya terbatas, mungkin perlu mempertimbangkan penggunaan framework yang lebih ringan atau pendekatan pengembangan yang lebih sederhana.





2. Dalam Framework MVC, apa tugas masing - masing bagian? Berikan Contoh Penggunaannya




Deskripsi
MVC adalah pola desain atau arsitektur perangkat lunak yang memisahkan logika aplikasi menjadi tiga komponen utama: Model, View, dan Controller. Setiap komponen memiliki tanggung jawab yang terpisah, sehingga memisahkan tampilan, logika bisnis, dan interaksi pengguna dalam aplikasi. 

Pola MVC membantu Anda memecah kode frontend dan backend menjadi komponen terpisah. Dengan cara ini, jauh lebih mudah untuk mengelola dan membuat perubahan di kedua sisi tanpa mengganggu satu sama lain.
  • Model: Backend yang berisi semua logika data
  • View: Frontend atau antarmuka pengguna grafis (GUI)
  • Controller: Otak aplikasi yang mengontrol bagaimana data ditampilkan

Keuntungan dari MVC
  1. Pemisahan masalah: Kerangka kerja MVC memisahkan berbagai bagian aplikasi menjadi tiga lapisan berbeda, yang membuatnya lebih mudah untuk mengembangkan dan memelihara aplikasi yang kompleks.
  2. Dapat digunakan kembali: Kerangka kerja MVC memudahkan untuk menggunakan kembali kode dan komponen, yang dapat menghemat waktu dan tenaga.
  3. Skalabilitas: Kerangka kerja MVC dirancang untuk dapat diskalakan, yang berarti dapat dengan mudah diadaptasi untuk memenuhi kebutuhan aplikasi yang berkembang.
  4. Testabilitas: Kerangka kerja MVC memudahkan untuk menguji kode, yang dapat membantu memastikan kualitas aplikasi.


Berikut adalah penjelasan singkat tentang masing-masing komponen MVC:

Model:
Tugas: Model bertanggung jawab untuk mengelola data dan logika bisnis aplikasi. Ini mencakup pemodelan struktur data, akses ke basis data, validasi data, dan perhitungan bisnis.

Contoh Penggunaan: Dalam aplikasi sistem kehadiran/presensi, model akan mewakili entitas seperti pengguna (karyawan), jadwal kerja, dan catatan kehadiran. Model akan mengelola operasi seperti mengambil data kehadiran dari basis data, menyimpan atau memperbarui catatan kehadiran, dan melakukan perhitungan seperti total jam kerja.

View:
Tugas: View bertanggung jawab untuk menampilkan informasi kepada pengguna dan mengumpulkan input dari pengguna. Ini mencakup tampilan antarmuka pengguna dan bagian yang terkait dengan presentasi data.

Contoh Penggunaan: Dalam aplikasi sistem kehadiran/presensi, view akan menampilkan halaman-halaman seperti halaman login, halaman utama dengan daftar catatan kehadiran, atau halaman untuk mengisi catatan kehadiran. View akan menampilkan informasi seperti nama pengguna, tanggal, dan waktu hadir serta menampilkan pesan atau notifikasi kepada pengguna.

Controller:
Tugas: Controller bertanggung jawab untuk mengelola alur logika aplikasi. Ini berfungsi sebagai penghubung antara model dan view. Controller merespons tindakan pengguna, memperbarui model, dan memutakhirkan tampilan yang relevan.

Contoh Penggunaan: Dalam aplikasi sistem kehadiran/presensi, controller akan mengatur tindakan seperti autentikasi pengguna, menerima input pengguna tentang kehadiran (misalnya, absen masuk atau absen keluar), dan memperbarui model kehadiran sesuai dengan input tersebut. Controller juga akan mengarahkan tampilan yang sesuai untuk menampilkan informasi kehadiran terkini atau hasil operasi seperti berhasil disimpan atau pesan kesalahan.

Contoh Penggunaan

Model:
Contoh: Attendance.php
Tugas: Model ini akan mewakili entitas catatan kehadiran, mengelola operasi seperti mengambil data kehadiran dari basis data, menyimpan catatan kehadiran baru, atau memperbarui catatan kehadiran yang ada.

Contoh Penggunaan: Model ini akan memiliki metode seperti getAllAttendances() untuk mengambil daftar catatan kehadiran, createAttendance() untuk menyimpan catatan kehadiran baru, atau updateAttendance() untuk memperbarui catatan kehadiran.

  1. <?php
  2.  
  3. namespace App\Models;
  4.  
  5. use Illuminate\Database\Eloquent\Model;
  6.  
  7. class Attendance extends Model
  8. {
  9. protected $fillable = ['user_id', 'check_in', 'check_out'];
  10.  
  11. public function user()
  12. {
  13. return $this->belongsTo(User::class);
  14. }
  15.  
  16. // Metode untuk mengambil daftar catatan kehadiran
  17. public function getAllAttendances()
  18. {
  19. return $this->orderBy('check_in')->get();
  20. }
  21.  
  22. // Metode untuk menyimpan catatan kehadiran baru
  23. public function createAttendance($data)
  24. {
  25. return $this->create($data);
  26. }
  27.  
  28. // Metode untuk memperbarui catatan kehadiran
  29. public function updateAttendance($id, $data)
  30. {
  31. return $this->findOrFail($id)->update($data);
  32. }
  33. }
  34.  

View:
Contoh: attendance.blade.php
Tugas: View ini akan menampilkan halaman untuk melihat dan mengelola catatan kehadiran. Ini akan menampilkan informasi seperti daftar kehadiran, tombol untuk absen masuk atau absen keluar, dan pesan kesalahan jika ada.

Contoh Penggunaan: View ini akan menggunakan markup HTML dan CSS untuk menampilkan daftar kehadiran, form untuk mengisi catatan kehadiran, dan elemen interaktif seperti tombol untuk tindakan pengguna.

  1. <!-- Menampilkan daftar kehadiran -->
  2. @foreach ($attendances as $attendance)
  3. <p>{{ $attendance->user->name }} - Check-in: {{ $attendance->check_in }} - Check-out: {{ $attendance->check_out }}</p>
  4. @endforeach
  5.  
  6. <!-- Form untuk mengisi catatan kehadiran -->
  7. <form action="{{ route('attendance.store') }}" method="POST">
  8. @csrf
  9. <input type="text" name="user_id" placeholder="User ID">
  10. <input type="datetime" name="check_in" placeholder="Check-in">
  11. <input type="datetime" name="check_out" placeholder="Check-out">
  12. <button type="submit">Submit</button>
  13. </form>
  14.  

Controller:
Contoh: AttendanceController.php
Tugas: Controller ini akan mengelola logika terkait catatan kehadiran, menerima input pengguna, memperbarui model kehadiran, dan mengarahkan tampilan yang sesuai.

Contoh Penggunaan: Controller ini akan memiliki metode seperti index() untuk menampilkan daftar kehadiran, store() untuk menyimpan catatan kehadiran baru, atau update() untuk memperbarui catatan kehadiran. Controller juga akan mengarahkan tampilan attendance.blade.php untuk menampilkan informasi kehadiran atau hasil operasi.

  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Models\Attendance;
  7.  
  8. class AttendanceController extends Controller
  9. {
  10. protected $attendance;
  11.  
  12. public function __construct(Attendance $attendance)
  13. {
  14. $this->attendance = $attendance;
  15. }
  16.  
  17. // Menampilkan daftar kehadiran
  18. public function index()
  19. {
  20. $attendances = $this->attendance->getAllAttendances();
  21. return view('attendance', compact('attendances'));
  22. }
  23.  
  24. // Menyimpan catatan kehadiran baru
  25. public function store(Request $request)
  26. {
  27. $data = $request->all();
  28. $this->attendance->createAttendance($data);
  29. return redirect()->back()->with('success', 'Attendance created successfully');
  30. }
  31.  
  32. // Memperbarui catatan kehadiran
  33. public function update(Request $request, $id)
  34. {
  35. $data = $request->all();
  36. $this->attendance->updateAttendance($id, $data);
  37. return redirect()->back()->with('success', 'Attendance updated successfully');
  38. }
  39. }
  40.  

Dalam contoh di atas, ketika pengguna mengakses halaman untuk melihat atau mengelola catatan kehadiran, controller (AttendanceController) akan menerima permintaan tersebut dan memanggil model (Attendance) untuk mengambil data kehadiran dari basis data. Controller akan mengarahkan tampilan (attendance.blade.php) untuk menampilkan daftar kehadiran kepada pengguna, serta menerima input dari pengguna (misalnya, tombol absen masuk atau absen keluar) dan memperbarui model kehadiran sesuai dengan input tersebut.


3. Deskripsi Aplikasi dan Ruang Lingkup Fitur
Deksripsi
Aplikasi presensi untuk instansi ITS bertujuan untuk memudahkan dan mengelola proses presensi di lingkungan ITS. Aplikasi ini dirancang untuk digunakan oleh mahasiswa, dosen, dan karyawan ITS. Aplikasi tersebut akan membantu memantau kehadiran individu, memastikan data kehadiran yang akurat, serta menyediakan laporan dan analisis yang berguna bagi manajemen dan administrasi ITS.

Alur/Flow Penggunaan Aplikasi
Mahasiswa:
a. Mahasiswa masuk ke aplikasi presensi melalui web atau aplikasi mobile.
b. Setelah masuk, mahasiswa akan melihat dashboard yang memberikan gambaran umum tentang kehadiran mereka.
c. Mahasiswa memilih mata kuliah yang ingin mereka absen.
d. Mahasiswa melakukan absensi dengan menggunakan kartu identitas mahasiswa atau metode lain yang terintegrasi dengan sistem (misalnya, pemindaian barcode).
e. Setelah absen, sistem akan memperbarui status kehadiran mahasiswa pada mata kuliah yang dipilih.
f. Mahasiswa dapat melihat riwayat kehadiran mereka dan menerima pemberitahuan tentang jadwal perkuliahan atau pengingat presensi.

Dosen:
a. Dosen masuk ke aplikasi presensi melalui web atau aplikasi mobile.
b. Setelah masuk, dosen akan melihat dashboard yang memberikan gambaran umum tentang kehadiran mahasiswa pada mata kuliah yang mereka ajar.
c. Dosen memilih mata kuliah yang ingin mereka verifikasi kehadirannya.
d. Dosen memverifikasi kehadiran mahasiswa dengan menggunakan metode yang disediakan oleh aplikasi, seperti pemindaian barcode atau konfirmasi manual.
e. Setelah verifikasi, sistem akan memperbarui status kehadiran mahasiswa pada mata kuliah yang dipilih.
f. Dosen dapat melihat rekapitulasi kehadiran mahasiswa dalam periode tertentu dan mengatur jadwal presensi untuk mata kuliah yang mereka ajar.

Karyawan:
a. Karyawan masuk ke aplikasi presensi melalui web atau aplikasi mobile.
b. Setelah masuk, karyawan akan melihat dashboard yang memberikan gambaran umum tentang kehadiran mereka.
c. Karyawan melakukan absensi pada awal dan akhir jam kerja dengan menggunakan kartu identitas karyawan atau metode lain yang terintegrasi dengan sistem.
d. Setelah absen, sistem akan memperbarui status kehadiran karyawan.
e. Karyawan dapat melihat riwayat kehadiran mereka dan menerima pemberitahuan tentang jadwal kerja atau pengingat presensi.

Catatan: Seluruh pengguna (mahasiswa, dosen, dan karyawan) dapat mengakses fitur-fitur tambahan seperti manajemen kelas atau unit, manajemen jadwal, pengaturan dan konfigurasi, laporan dan analisis, serta integrasi dengan sistem lain sesuai dengan hak akses yang mereka miliki.

Fitur yang dikembangkan

Mahasiswa:
  1. Absensi Perkuliahan: Mahasiswa dapat mencatat kehadiran mereka sendiri melalui aplikasi ini. Mereka dapat melakukan absensi saat mengikuti perkuliahan dengan menggunakan kartu identitas mahasiswa atau teknologi lainnya yang terintegrasi dengan sistem.
  2. Riwayat Kehadiran: Mahasiswa dapat melihat riwayat kehadiran mereka, termasuk tanggal, waktu, dan status kehadiran pada masing-masing mata kuliah.
  3. Pemberitahuan Kehadiran: Aplikasi akan memberikan pemberitahuan kepada mahasiswa tentang jadwal perkuliahan mereka dan pengingat untuk melakukan presensi.

Dosen:
  1. Verifikasi Kehadiran Mahasiswa: Dosen dapat menggunakan aplikasi ini untuk memverifikasi kehadiran mahasiswa di kelas. Mereka dapat memindai barcode atau melakukan konfirmasi manual.
  2. Rekapitulasi Kehadiran: Dosen dapat melihat rekapitulasi kehadiran mahasiswa dalam suatu periode tertentu, baik per mata kuliah maupun secara keseluruhan.
  3. Pengaturan Jadwal Presensi: Dosen dapat mengatur jadwal presensi untuk setiap mata kuliah yang mereka ajar. Mereka dapat menentukan tanggal, waktu, dan metode presensi yang digunakan.
Karyawan:
  1. Presensi Karyawan: Karyawan dapat mencatat kehadiran mereka sendiri melalui aplikasi ini. Mereka dapat melakukan absensi pada awal dan akhir jam kerja dengan menggunakan kartu identitas karyawan atau metode lainnya yang terintegrasi dengan sistem.
  2. Laporan Kehadiran: Aplikasi ini akan menghasilkan laporan kehadiran karyawan berdasarkan data presensi yang tercatat. Laporan ini dapat digunakan untuk keperluan administrasi, penggajian, dan evaluasi kinerja.

Seluruh Pengguna:
  1. Multiplatform: Aplikasi dapat diakses melalui web dan aplikasi mobile, memungkinkan pengguna untuk mencatat kehadiran kapan saja dan di mana saja.
  2. Notifikasi Real-Time: Pengguna akan menerima notifikasi langsung tentang perubahan jadwal, pengumuman penting, atau informasi terkait kehadiran.
  3. Integrasi dengan Sistem ITS: Aplikasi dapat terintegrasi dengan sistem informasi ITS yang ada, memungkinkan pembaruan data kehadiran secara otomatis dan mengakses informasi akademik atau administratif lainnya.
  4. Dashboard:Setelah masuk ke aplikasi, pengguna akan disambut dengan dashboard yang memberikan gambaran umum tentang kehadiran mereka. Dashboard akan menampilkan informasi penting, seperti jumlah kehadiran, jumlah absensi terlambat, atau absensi tidak masuk yang perlu diperhatikan.
  5. Manajemen Kelas atau Unit: Aplikasi akan menyediakan fitur untuk mengelola kelas atau unit di instansi ITS, seperti daftar mata kuliah, daftar dosen, atau daftar karyawan. Pengguna dengan hak akses yang sesuai dapat menambahkan, mengedit, atau menghapus data kelas atau unit yang terkait dengan kehadiran.
  6. Manajemen Jadwal: Aplikasi akan memungkinkan pengguna untuk mengatur dan mengelola jadwal kehadiran, baik jadwal perkuliahan, jadwal dosen, maupun jadwal kerja karyawan. Pengguna dapat menambahkan, mengedit, atau menghapus jadwal kehadiran yang akan digunakan untuk proses presensi.
  7. Pengaturan dan Konfigurasi: Aplikasi akan menyediakan opsi pengaturan dan konfigurasi yang dapat disesuaikan sesuai kebutuhan instansi ITS. Pengguna dengan hak akses yang sesuai dapat mengubah pengaturan, seperti batas keterlambatan, metode presensi, atau aturan kehadiran khusus.
  8. Laporan dan Analisis: Aplikasi akan menyediakan laporan dan analisis kehadiran untuk membantu manajemen dan administrasi ITS dalam melihat pola kehadiran, keterlambatan, atau absensi tidak masuk. Laporan dapat disesuaikan dengan periode waktu tertentu dan memberikan informasi yang berguna dalam pengambilan keputusan.
  9. Integrasi dengan Sistem Lain: Aplikasi dapat diintegrasikan dengan sistem lain yang digunakan oleh instansi ITS, seperti sistem akademik atau sistem kepegawaian. Integrasi ini memungkinkan pembaruan data secara otomatis dan sinkronisasi informasi yang relevan antara aplikasi presensi dengan sistem lainnya.
4. Tuliskan Struktur Tabelnya

Tabel Pengguna (users):
  • id (integer, primary key)
  • name (string)
  • email (string, unique)
  • password (string)
  • role (string) -> role dapat berupa "mahasiswa", "dosen", atau "karyawan"
Tabel Mahasiswa (students):
  • id (integer, primary key)
  • user_id (integer, foreign key to users table)
  • nim (string, unique)
  • nama (string)
  • prodi (string)
Tabel Dosen (lecturers):

  • id (integer, primary key)
  • user_id (integer, foreign key to users table)
  • nip (string, unique)
  • nama (string)
  • jabatan (string)
Tabel Karyawan (employees):

  • id (integer, primary key)
  • user_id (integer, foreign key to users table)
  • nip (string, unique)
  • nama (string)
  • jabatan (string)
Tabel Mata Kuliah (courses):

  • id (integer, primary key)
  • kode (string, unique)
  • nama (string)
  • prodi (string)
  • dosen_id (integer, foreign key to lecturers table)
Tabel Jadwal (schedules):

  • id (integer, primary key)
  • mata_kuliah_id (integer, foreign key to courses table)
  • hari (string)
  • jam_mulai (time)
  • jam_selesai (time)
Tabel Kehadiran (attendances):

  • id (integer, primary key)
  • pengguna_id (integer, foreign key to users table)
  • jadwal_id (integer, foreign key to schedules table)
  • tanggal (date)
  • status (string) -> status dapat berupa "hadir", "terlambat", atau "tidak hadir"
Tabel Konfigurasi (configurations):

  • id (integer, primary key)
  • batas_terlambat (integer) -> batas waktu terlambat dalam menit
  • metode_presensi (string) -> metode presensi dapat berupa "barcode", "manual", atau "otomatis"
Tabel Kelas (classes):
  • id (integer, primary key)
  • mata_kuliah_id (integer, foreign key to courses table)
  • dosen_id (integer, foreign key to lecturers table)
  • kode_kelas (string)
  • tahun_akademik (string)
  • semester (integer)


5. Desain Bentuk Laporan














6. Implementasikan dan Buat Presentasi Video






Comments

Popular posts from this blog

PBKK - Tugas Membuat Kalkulator

PBKK - Tugas 1 Membuat Aplikasi Desktop Sederhana