buat dalam bentuk paragraf
Pengelolaan penguji dalam sistem seminar merupakan komponen yang terintegrasi secara erat dengan sistem penjadwalan, dimana setiap aktivitas penjadwalan seminar secara bersamaan melibatkan penugasan dan pengelolaan penguji. Ketika PA Coordinator mengakses sistem untuk membuat atau mengedit jadwal seminar, mereka tidak hanya mengatur aspek logistik seperti waktu, tanggal, dan ruangan, tetapi juga secara simultan mengelola penugasan penguji utama dan penguji pendamping untuk setiap sesi seminar. Proses ini dimulai ketika controller menerima input dari coordinator dan melakukan serangkaian validasi komprehensif yang mencakup pengecekan ketersediaan penguji pada waktu yang dipilih, verifikasi kompetensi penguji sesuai dengan bidang seminar yang akan dinilai, serta memastikan tidak ada konflik jadwal dengan penugasan penguji lain yang sudah ada dalam sistem.
Sistem validasi ini bekerja secara real-time untuk mencegah terjadinya double booking atau penugasan yang tidak sesuai, dimana model akan mengecek database untuk memastikan bahwa penguji yang dipilih memiliki keahlian yang relevan dengan topik seminar dan tidak memiliki jadwal yang bertabrakan. Setelah validasi berhasil, model menyimpan data jadwal beserta informasi penugasan penguji ke dalam database, dan sistem secara otomatis mengirimkan notifikasi kepada penguji yang ditugaskan melalui email atau sistem notifikasi internal. Proses edit penugasan penguji dapat dilakukan melalui form edit jadwal yang sama, dimana sistem akan menampilkan penguji yang sedang ditugaskan dan memungkinkan coordinator untuk melakukan perubahan dengan tetap menjalankan validasi yang sama untuk memastikan penguji baru tersedia dan tidak ada konflik jadwal, kemudian model akan memperbarui data penugasan dan sistem akan mengirim notifikasi pembatalan kepada penguji lama serta notifikasi penugasan kepada penguji baru.
Penghapusan penugasan penguji dapat terjadi melalui dua cara, yaitu penghapusan atau pembatalan jadwal seminar secara keseluruhan, atau melalui edit jadwal dengan mengosongkan field penguji tertentu. Dalam kedua kasus tersebut, controller akan memvalidasi dampak dari penghapusan tersebut terhadap sistem secara keseluruhan, model akan menghapus data penugasan dari database, dan sistem akan mengirimkan notifikasi pembatalan kepada penguji yang terkait. Sistem ini juga dilengkapi dengan fitur manajemen beban kerja yang melacak jumlah penugasan setiap penguji dan memberikan peringatan jika seorang penguji sudah mengalami overload, serta menyediakan mekanisme distribusi penugasan yang seimbang untuk memastikan tidak ada penguji yang terbebani secara berlebihan.
Aspek kompetensi matching menjadi salah satu keunggulan sistem ini, dimana algoritma akan mencocokkan bidang keahlian penguji dengan topik seminar yang akan dinilai, memberikan rekomendasi penguji yang paling sesuai berdasarkan track record dan spesialisasi mereka, serta memastikan kualitas penilaian seminar tetap terjaga. Integrasi dengan sistem notifikasi memungkinkan pengiriman otomatis email atau notifikasi kepada penguji saat mereka ditugaskan, reminder otomatis menjelang jadwal seminar, serta notifikasi real-time untuk setiap perubahan atau pembatalan jadwal. Sistem ini juga terintegrasi dengan sistem penilaian dimana data penugasan penguji secara otomatis tersinkronisasi dengan form penilaian, memastikan hanya penguji yang ditugaskan yang dapat mengakses form penilaian untuk seminar tertentu, dan melakukan tracking status penilaian dari setiap penguji untuk memastikan semua aspek penilaian telah diselesaikan.
Pendekatan terintegrasi ini memberikan berbagai keunggulan signifikan, mulai dari efisiensi operasional karena menggunakan satu interface untuk mengelola jadwal dan penguji, konsistensi data karena informasi jadwal dan penugasan selalu tersinkronisasi, validasi real-time yang memungkinkan deteksi dan pencegahan konflik secara langsung, audit trail yang mencatat semua perubahan penugasan dalam sistem untuk keperluan tracking dan accountability, hingga otomatisasi proses notifikasi dan reminder yang mengurangi beban administratif manual. Sistem ini juga menyediakan laporan dan analytics komprehensif yang mencakup laporan beban kerja penguji, statistik performa penilaian, dan analisis distribusi penugasan yang membantu coordinator dalam membuat keputusan strategis terkait pengelolaan sumber daya penguji. Dengan demikian, pengelolaan penguji tidak hanya menjadi efisien dari sisi administratif, tetapi juga menjamin kualitas dan konsistensi dalam proses penilaian seminar melalui penugasan yang tepat dan terorganisir dengan baik.
buat penjelasannya dari sequence diagram yang bagian mengelola jadwal. tapi penjelasan untuk menambah, edit, dan hapus difokuskan ke pengelolaan penguji
Proses penambahan jadwal seminar dimulai ketika PA Coordinator mengakses halaman manajemen jadwal dan memilih opsi untuk membuat jadwal baru. Controller ScheduleController menerima request ini dan memanggil method getExaminersForScheduling() pada model ExaminerModel untuk mengambil daftar penguji yang tersedia beserta informasi keahlian dan jadwal mereka saat ini. Sistem kemudian menampilkan form pembuatan jadwal yang tidak hanya berisi field untuk informasi dasar seperti tanggal, waktu, dan ruangan, tetapi juga section khusus untuk penugasan penguji yang menampilkan dropdown atau search field untuk memilih penguji utama dan penguji pendamping. Ketika coordinator mengisi form dan memilih penguji, sistem secara real-time melakukan validasi melalui AJAX call ke validateExaminerAvailability() untuk memastikan penguji yang dipilih tidak memiliki konflik jadwal dan memiliki kompetensi yang sesuai dengan topik seminar.
Setelah coordinator mensubmit form, ScheduleController menerima data lengkap termasuk informasi penugasan penguji dan melakukan validasi komprehensif melalui validateScheduleData() yang mencakup pengecekan ketersediaan ruangan, waktu, dan khususnya ketersediaan penguji. Controller kemudian memanggil checkExaminerConflicts() pada ExaminerModel untuk memastikan tidak ada double booking penguji, dan validateExaminerCompetency() untuk memverifikasi bahwa penguji yang dipilih memiliki keahlian yang relevan dengan bidang seminar. Jika semua validasi berhasil, controller memanggil createSchedule() pada ScheduleModel untuk menyimpan data jadwal, diikuti dengan assignExaminersToSchedule() pada ExaminerModel untuk mencatat penugasan penguji. Sistem kemudian secara otomatis memanggil sendExaminerNotification() untuk mengirim email notifikasi kepada penguji yang ditugaskan, memberitahu mereka tentang penugasan baru beserta detail jadwal seminar. View kemudian menampilkan konfirmasi sukses kepada coordinator dengan informasi lengkap jadwal yang telah dibuat termasuk daftar penguji yang ditugaskan.
Proses edit jadwal dimulai ketika PA Coordinator memilih jadwal tertentu dari daftar jadwal yang ada dan mengklik opsi edit. ScheduleController menerima request dengan parameter schedule ID dan memanggil getScheduleById() pada ScheduleModel untuk mengambil data jadwal lengkap, termasuk informasi penguji yang saat ini ditugaskan melalui getAssignedExaminers() pada ExaminerModel. Sistem kemudian menampilkan form edit yang telah terisi dengan data existing, dimana section penugasan penguji menampilkan penguji yang saat ini ditugaskan dan memberikan opsi untuk mengubah penugasan tersebut. Ketika coordinator melakukan perubahan pada penugasan penguji, sistem melakukan validasi real-time untuk memastikan penguji baru yang dipilih tersedia dan tidak memiliki konflik jadwal.
Saat coordinator mensubmit perubahan, ScheduleController membandingkan data baru dengan data existing untuk mengidentifikasi perubahan yang terjadi, khususnya pada penugasan penguji. Jika ada perubahan penguji, controller memanggil validateNewExaminerAssignment() untuk memastikan penguji baru tersedia dan kompeten, kemudian memanggil updateSchedule() pada ScheduleModel untuk menyimpan perubahan jadwal. Untuk pengelolaan penguji, controller memanggil removeExaminerAssignment() untuk penguji yang diganti dan assignExaminersToSchedule() untuk penguji baru. Sistem kemudian mengirim dua jenis notifikasi: sendCancellationNotification() kepada penguji yang diganti untuk memberitahu pembatalan penugasan, dan sendExaminerNotification() kepada penguji baru untuk memberitahu penugasan baru mereka. View menampilkan konfirmasi perubahan kepada coordinator dengan highlight pada perubahan yang telah dilakukan, terutama perubahan penugasan penguji.
Proses penghapusan jadwal dimulai ketika PA Coordinator memilih jadwal tertentu dan mengklik opsi hapus, yang memicu konfirmasi dialog untuk memastikan coordinator benar-benar ingin menghapus jadwal tersebut. ScheduleController menerima request penghapusan dan pertama-tama memanggil getAssignedExaminers() pada ExaminerModel untuk mengidentifikasi semua penguji yang saat ini ditugaskan pada jadwal tersebut, karena mereka semua perlu diberitahu tentang pembatalan. Controller kemudian melakukan validasi melalui validateScheduleDeletion() untuk memastikan jadwal dapat dihapus tanpa mengganggu proses yang sedang berjalan, seperti penilaian yang sudah dimulai atau dokumen yang sudah disubmit untuk jadwal tersebut.
Setelah validasi berhasil, controller memulai proses penghapusan dengan memanggil removeAllExaminerAssignments() pada ExaminerModel untuk menghapus semua penugasan penguji yang terkait dengan jadwal tersebut, memastikan tidak ada referensi yang tertinggal dalam sistem. Controller kemudian memanggil deleteSchedule() pada ScheduleModel untuk menghapus data jadwal dari database. Sistem secara otomatis mengirim sendCancellationNotification() kepada semua penguji yang sebelumnya ditugaskan, memberitahu mereka bahwa jadwal seminar telah dibatalkan dan penugasan mereka tidak lagi berlaku. Notifikasi ini juga dapat mencakup informasi tentang kemungkinan penjadwalan ulang jika relevan. View kemudian menampilkan konfirmasi penghapusan kepada coordinator dan memperbarui daftar jadwal untuk menghilangkan jadwal yang telah dihapus, serta menampilkan informasi tentang penguji yang telah diberitahu tentang pembatalan tersebut.
Dalam ketiga proses tersebut, sistem selalu mempertahankan integritas data dengan memastikan bahwa setiap perubahan pada jadwal seminar selalu disinkronisasi dengan penugasan penguji, dan semua pihak yang terkait selalu mendapat informasi yang akurat dan tepat waktu melalui sistem notifikasi otomatis. Pendekatan ini memastikan bahwa pengelolaan penguji tidak hanya efisien tetapi juga transparan dan dapat diandalkan dalam mendukung kelancaran proses seminar.
Sequence diagram di atas menggambarkan proses penambahan jadwal seminar. Proses dimulai ketika Koordinator melakukan aksi input untuk pembuatan jadwal seminar. Setelah koordinator mengisi form, controller melakukan validasi data yang diterima. Jika validasi berhasil, controller membuat record penguji dan peran dosen untuk penguji yang dipilih, kemudian membuat jadwal baru. Jika validasi gagal, koordinator diarahkan kembali ke form dengan pesan error.
Sequence diagram di atas menggambarkan proses edit jadwal seminar. Proses dimulai ketika koordinator melakukan aksi edit dengan memperbaharui data pada form jadwal seminar. Setelah koordinator memperbarui data, controller melakukan validasi. Jika validasi berhasil, controller memperbarui data jadwal. Jika validasi gagal, koordinator diarahkan kembali ke form dengan pesan error.
Sequence diagram di atas menggambarkan proses penghapusan jadwal seminr. Proses dimulai ketika koordinator melakukan aksi untuk menghapus data jadwal. Controller mengambil data jadwal yang akan dihapus dan data penguji terkait. Controller menghapus peran dosen untuk setiap penguji, menghapus data penguji, dan menghapus jadwal. Setelah itu, koordinator diarahkan kembali ke halaman daftar jadwal dengan pesan sukses.
berdasarkan keterangan di atas dari pengelolaan jadwal pada sequence diagram pengelolaan jadwal, buatlah penjelasan untuk pengelolaan penguji dengan penjelasan yang hampir sama dengan keterangan di atas tapi lebih berfokus pada penguji. karena kan pengelolaan jadwal dan penguji itu sejalan