Jurnal Pelita Teknologi. Vol. 2024, pp. PELITA TEKNOLOGI Journal homepage: jurnal. id, p-ISSN: 2301-475X, e-ISSN: 2656-7059 Implementasi Sistem Informasi Penelitian Dan Pengabdian Pada Fakultas Teknik Universitas Pelita Bangsa Berbasis Microservices Fajar Agung Nughroho1. Dr. Dendy K. Pramudito 2. Najamuddin Dw Miharja3 1,2,3 Program Studi Teknik Informatika. Fakultas Teknis Universitas Pelita Bangsa Bekasi. Indonesia Email : fajaragungn@pelitabangsa. id, doktor. dendy@pelitabangsa. dwi@pelitabangsa. Korespondensi email : fajaragungn@pelitabangsa. Abstrak This study aims to develop and implement a microservices-based information system for managing research and community service data at Universitas Pelita Bangsa. The previous system had several shortcomings, including manual and fragmented data management, leading to processes, and limited access to information for lecturers. This research Agile Development methodology to ensure that the developed system effectively meets user needs. The results indicate that the implementation significantly improves the efficiency and effectiveness of data management, accelerates the reporting process, and facilitates easier access to information for Additionally, the system stakeholders by providing seamless and integrated access to research and community service data. Consequently, this microservices-based information system has proven capable of enhancing the quality of faculty services, while also offering flexibility for future system development in line with the faculty's needs and growth. Informasi Artikel Diterima: 18 Juli 2024 Direvisi: 25 Agustus 2024 Dipublikasikan: 30 September 2024 Keywords Information Systems. Microservices. Data Management. Research. Jurnal Pelita Teknologi. Vol. 2024, pp. PELITA TEKNOLOGI Journal homepage: jurnal. id, p-ISSN: 2301-475X, e-ISSN: 2656-7059 Pendahuluan Perkembangan teknologi informasi telah mendorong transformasi global, terutama melalui adopsi teknologi canggih seperti kecerdasan buatan (AI), internet of things (IoT), dan cloud Inovasi-inovasi meningkatkan efisiensi di berbagai sektor kehidupan . Di Indonesia, teknologi informasi berperan penting dalam meningkatkan akses informasi, layanan publik, dan mendorong pertumbuhan ekonomi digital. Survei INDEF pada Desember 2023 terhadap 254 UMKM di berbagai wilayah menunjukkan bahwa platform digital turut mendukung peningkatan kinerja penjualan online UMKM . Data terkait penjualan secara online yang ditujukan pada gambar 1. Gambar 1. Tempat berjualan online dalam satu tahun terakhir Sumber: Indef . Gambar 2. Jenis platform online Sumber: Indef . Dalam Tridharma Perguruan Tinggi, dosen wajib menjalankan pendidikan, penelitian, dan pengabdian kepada Penelitian dan pengabdian berperan penting dalam meningkatkan kualitas akademik dan memberikan dampak nyata bagi masyarakat . Pengelolaan data penelitian dan pengabdian di Fakultas Teknik Universitas Pelita Bangsa (UPB) menyebabkan duplikasi data, sulitnya akses informasi, lambatnya pelaporan, serta terhambatnya analisis data dan koordinasi antar departemen . Dengan berkembangnya teknologi informasi, dibutuhkan sistem terpusat untuk mengelola data penelitian dan Arsitektur microservices menjadi solusi karena menawarkan kemudahan integrasi . Implementasi arsitektur microservices di UPB dapat berbagai manfaat seperti mempercepat pengembangan layanan, memperbaiki pengelolaan data, dan meningkatkan analisis data secara real-time . Penerapan sistem informasi berbasis arsitektur microservices di Fakultas Teknik Universitas Pelita Bangsa dapat membawa berbagai manfaat Pertama. Sistem ini meningkatkan efisiensi pengelolaan data penelitian dan pengabdian dengan mengurangi duplikasi, mempercepat pelaporan, dan mempermudah akses informasi bagi dosen. Kedua, sistem ini meningkatkan layanan fakultas melalui platform terintegrasi untuk manajemen penelitian, pengabdian, dan pelaporan. Ketiga. Arsitektur skalabilitas sistem, memungkinkan Jurnal Pelita Teknologi. Vol. 2024, pp. PELITA TEKNOLOGI Journal homepage: jurnal. id, p-ISSN: 2301-475X, e-ISSN: 2656-7059 penyesuaian dengan kebutuhan serta pertumbuhan fakultas ke depan. Keempat. Sistem ini mendukung kolaborasi antar stakeholder dengan menyediakan akses mudah dan terpadu ke data penelitian dan pengabdian. II. Metodologi 1 Instrumen Penelitian Software Software yang digunakan dalam penelitian ini terdiri dari Visual Studio Code. Laragon. Node Js. Chrome Web Browser. Microsoft Edge Browser. Command Prompt. Hardware Hardware yang digunakan dalam penelitian ini terdiri dari Laptop Lenovo Ideapad 3i dengan processor Intel Core i3 1115G4 2-Core / 4Thread 2 Metode yang Digunakan Metode Agile Development satu pendekatan yang sering digunakan dalam perangkat lunak, dikenal juga sebagai sebagai SDLC (Software Development Life Cycl. yang berfokus pada proses iteratif, di mana aturan dan solusi dikembangkan melalui kolaborasi yang terstruktur dan terorganisir antar tim . Requirements (Pengumpulan Kebutuha. Mengumpulkan kebutuhan sistem baru melalui interaksi dosen dan prodi kebutuhan untuk dasar desain sistem. Design (Desai. Tahap desain mencakup perancangan arsitektur sistem dan antarmuka pengguna berdasarkan kebutuhan, termasuk diagram alur, struktur basis data, dan sketsa antarmuka. Berikut adalah elemen dan sketsa yang Landing Page Halaman pertama yang diakses oleh penguna yaitu Landing page, landing page yang rapih mempermudah pengguna untuk menavigasi dan memamhani fungsi utama sistem. Berikut deskripsi elemen dan fitur yang ada di landing page dapat dilihat pada Dashboard Dashboard ini halaman pertama yag dilihat pengguna dan memberikan ringkasan tentang status pengajuan, notifikasi terbaru, dan akses cepat ke fitur utama. Gambar 3. Agile developmentSumber: Setiawan . ISSN: p. 2301-475X e. Tabel 1. Elemen landing page Header Banner Utama Grafik Penelitian & Pengabdian Logo: Terletak di sudut kiri atas, logo institusi atau sistem untuk membangun identitas dan kepercayaan. Navigasi Utama: Menu navigasi dengan tautan ke halaman-halaman penting, seperti panduan, grafik penelitian dan pengabdian, riwayat pengajuan, berita dan pengumuman. Deskripsi singkat sistem Tombol untuk tindakan utama seperti "Ajukan Usulan". Grafik Batang: Menunjukkan jumlah penelitian yang diajukan, diterima, dan ditolak dalam periode waktu tertentu. Grafik Pai: Distribusi jenis usulan yang diajukan. Filter: Opsi untuk memfilter data berdasarkan waktu, bidang, atau status pengajuan. Tabel 2. Elemen dashboard Form pengajuan penelitian dan pengabdian Halaman Detail Usulan Halaman Persetujuan Prodi Halaman Surat Rekomendasi Prodi Halaman Profile dan Account Bidang input teks yang meliputi identitas usulan, anggota, judul, review dan submit Menampilkan detail dari usulan penelitian dan pengabdian Halaman ini digunakan oleh prodi untuk menyetujui atau menolak pengajuan usulan Halaman ini digunakan oleh prodi untuk mengirim surat rekomendasi kepada pengusul yang telah disetujui Menampilkan detail identitas diri dan identitas akun Desain Arsitektur Sistem Gambar 4. Arsitektur sistem Desain arsitektur sistem penelitian dan Peneliti berkolaborasi dengan end user pengabdian ini menggunakan React. Js, untuk memastikan sistem sesuai API berbasis GraphQL dan dua jenis kebutuhan. database untuk kebutuhan yang 4. Testing (Pengujia. Tahap pengujian inni berfungsi untuk Development (Pengembanga. memastikan sesuai dengan spesifikasi Tahap pengembangan mengubah desain yang telah ditentukan. Pengujian ini menjadi kode secara bertahap, dengan mencakup mencakup unit testing, pengujian tiap bagian sebelum lanjut. ISSN: p. 2301-475X e. contract testing, component testing, dan user acceptance testing (UAT). Review (Ulasa. Tahap ulasan melibatkan evaluasi sistem dan pengumpulan umpan balik pengguna setelah tiap iterasi dan peluncuran, untuk mengidentifikasi perbaikan serta memastikan sistem berkembang sesuai kebutuhan dan kinerjanya efektif. 3 Perancangan Sistem Proses mengidentifikasi kebutuhan dan tujuan sistem berdasarkan analisis kebutuhan pengguna . Selanjutnya, arsitektur sistem dirancang untuk menentukan komponen perangkat keras dan perangkat lunak, antarmuka pengguna, dan interaksi antar komponen . Use Case Diagram Use case diagram menampilkan berbagai use case dan aktor serta hubungan di antara mereka . Diagram ini digunakan untuk memvisualisasikan use case statis dari suatu sistem. Use case menjelaskan fungsi atau tugas yang dilakukan oleh sistem tanpa merinci cara kerjanya . Gambar 5. Use case diagram sistem penelitian dan pengabdian Diagram ini menunjukkan alur aktivitas pengguna dalam sistem, seperti pengajuan surat rekomendasi, melihat status, membuka/menutup, menyetujui/menolak proposal, serta manajemen akun . ogin, logout, register, reset password, dan edit Sistem juga mendukung pembuatan proposal, pengelolaan hak akses, dan penghapusan akun. Diagram ini memberikan gambaran pengguna dengan fitur sistem. Activity Diagram Berikut contoh diagram activity register dengan aktor dosen : Gambar 6. Activity diagram register dengan aktor dosen Pada metode ini disesuaikan dengan kebutuhan dan keperluan masingmasing fitur dan setiap dashboard akan ISSN: p. 2301-475X e. disesuaikan dengan use case pada Gambar 3. Sequence Diagram Diagram interaksi ini menunjukkan bagaimana objek berkomunikasi skenario spesifik dengan menampilkan alur pesan atau metode antar objek dalam menyelesaikan tugas . Sequence Diagram dibuat sesuai dengan kebutuhan yang diperlukan. Class Diagram Class Diagram dapat dilihat pada Class diagram ini menggambarkan struktur sistem untuk penelitian dan pengabdian, mencakup pengguna dengan profil yang memiliki berbagai peran (Dosen. Prodi. Admi. , data penelitian dan pengabdian, serta anggota yang terlibat. Setiap entitas pengabdian, dan anggota memiliki atribut-atribut yang relevan dan terkait satu sama lain, dengan status usulan diatur sebagai enum (Submitted. Approved. Rejecte. dan pengaturan status pembukaan pengajuan proposal. Database Diagram Skema database users dapat dilihat pada gambar 8. Database diagram tersebut menunjukkan desain skema basis data NoSQL dengan dua collections: users dan profiles. Desain ini mencerminkan relasi Oneto-One antara koleksi users dan profiles, di mana setiap pengguna memiliki satu profil terkait. Hal ini ditunjukkan dengan adanya userId di koleksi profiles, yang merujuk ke id di koleksi users. Skema database proposals dapat dilihat pada gambar 9. Desain diagram tersebut menunjukkan desain basis data dengan beberapa tabel utama: users, penelitian, pengabdian, anggota, dan setting. Berikut adalah penjelasan singkat mengenai masingmasing table. Deployment Diagram Deployment ditampilkan dalam gambar 10. menggambarkan arsitektur sistem berbasis microservices yang terdiri dari beberapa komponen utama: Client Apps. API Gateway. Services, dan Databases. ISSN: p. 2301-475X e. Gambar 8. Skema database Gambar 7. Class diagram Gambar 10. Deployment diagramusers Gambar 9. Skema database proposals i. Hasil dan Pembahasan 1 Implementasi Sistem Pada Implementasi sistem terdapat beberapa tampilan dari setiap dashboar yang dibuat seperti tampilan landing page, halaman penelitian, halaman pengabdian, halaman login, halaman register, halaman forgot password, halaman reset password, halaman verification code, halaman dashboard dosen, halaman dashboard prodi, halaman dashboard admin, halaman edit profile, halaman edit user account, halaman usulan penelitian atau pengabdian baru, halaman anggota, halaman judul, halaman review dan submit, halaman detail usulan, halaman detail usulan prodi, halaman surat rekomendasi prodi, halaman settings, halaman user management, tampilan grafik batang, tampilan grafik pie. ISSN: p. 2301-475X e. Unit Testing Pengujian unit dilakukan untuk memastikan bahwa setiap fungsi bekerja dengan benar sesuai dengan spesifikasi yang telah ditetapkan. Hasil pengujian diharapkan sesuai dengan output yang diharapkan untuk memastikan kualitas dan fungsionalitas aplikasi. Skenario Pengujian Unit Berikut adalah skenario pengujian unit Gambar 11. Tampilan landing page untuk users service : Implementasi Pengujian Unit Pada implementasi ini dilakukan pada users service dan proposals service yang menggunakan bahasa pemrograman TypeScript dan framework Nest Js. Dalam proses ini, perangkat lunak dijalankan untuk memastikan semua berfungsi sebagaimana mestinya. Dalam menggunakan Jest untuk melakukan Gambar 12. Tampilan halaman Jest kecepatan menjalankan test suite secara paralel, cocok untuk pengujian komponen Nest Js. Gambar 13. Tampilan dashboard dosen Gambar 15. Unit testing result Gambar 14. Tampilan dashboard prodi 2 Pengujian Sistem ISSN: p. 2301-475X e. Gambar 16. Unit testing coverage Gambar 17. Users contract testing Contract Testing Contract testing memainkan peran krusial dalam memastikan bahwa perubahan pada satu layanan tidak menyebabkan kegagalan atau malfungsi pada layanan lain yang bergantung Konsep dasar dari contract testing adalah adanya "kontrak" yang disepakati antara penyedia layanan . dan konsumen layanan . , harapan dan spesifikasi interaksi, seperti format data, endpoint API, dan jenis Gambar 18. Proposals contract testing Tabel 3. Users contract testing Register Status Tujuan Deskripsi Hasil activateUser Status Tujuan Deskripsi Hasil Login Status Tujuan Deskripsi Menguji endpoint registrasi pengguna baru. Mengirimkan data pengguna baru dan mengharapkan respons dengan data aktivasi pengguna. Pengujian berhasil (Pas. Pengguna berhasil terdaftar dan respons berisi data aktivasi pengguna. Menguji endpoint aktivasi Mengirimkan mengharapkan respons dengan data pengguna yang telah diaktifkan. Pengujian berhasil (Pas. Pengguna berhasil diaktifkan telah diaktifkan. Menguji endpoint login pengguna Mengirimkan kredensial pengguna . mail dan kata sand. dan mengharapkan respons dengan data pengguna dan token autentikasi ISSN: p. 2301-475X e. Hasil getUsers Status Tujuan Deskripsi Hasil forgotPassword Status Tujuan Deskripsi Hasil resetPassword Status Tujuan Deskripsi Hasil resetPassword Status Tujuan Deskripsi Hasil Pengujian berhasil (Pas. Pengguna berhasil login dan respons berisi data pengguna dan token autentikasi. Menguji endpoint untuk mendapatkan daftar pengguna. Mengirimkan permintaan untuk mendapatkan daftar semua pengguna dan mengharapkan respons dengan data Pengujian berhasil (Pas. Status kode respons adalah 200 Menguji endpoint untuk permintaan lupa kata sandi. Mengirimkan email pengguna untuk meminta reset kata sandi dan mengharapkan respons dengan informasi terkait reset kata sandi. Pengujian berhasil (Pas. Status kode respons adalah 200 dan respons berisi field forgotPassword. Menguji endpoint untuk reset kata sandi. Mengirimkan data reset kata sandi . oken dan kata sandi bar. dan mengharapkan respons dengan informasi sukses Pengujian berhasil (Pas. Status kode respons adalah 200 dan kata sandi berhasil direset. Menguji endpoint untuk memperbarui data pengguna. Mengirimkan data yang diperbarui untuk pengguna dan mengharapkan respons dengan data pengguna yang Pengujian berhasil (Pas. Status kode respons adalah 200 berhasil diperbarui. Component Testing Untuk component testing menggunakan Jest dan React Testing Library, peneliti akan membuat beberapa file test untuk menguji setiap komponen sesuai dengan skenario pengujian yang sudah Berikut adalah langkahlangkah dan contoh implementasinya untuk beberapa komponen: Gambar 19. File test component ISSN: p. 2301-475X e. Gambar 20. Code coverage component Gambar tersebut menunjukkan laporan cakupan kode . ode coverag. untuk file component yang diuji dalam gambar 4. Laporan ini memberikan wawasan tentang seberapa baik bagian-bagian kode yang diuji melalui tes otomatis. Berikut adalah beberapa poin penting dari laporan ini: Cakupan kode total Dapat dilihat pada tabel 4. dibawah ini : Tabel 4. Cakupan kode total component testing % Stmts (Statement. Menunjukkan pernyataan dalam kode yang telah Secara 27% pernyataan di semua file telah % Funcs (Function. Persentase fungsi yang diuji adalah dengan pernyataan dan cabang kondisi. % Branch (Branche. Menunjukkan persentase cabang kondisi . eperti if atau switc. yang telah Totalnya adalah 55. Menunjukkan banyak kondisi yang belum diuji secara . Per-File/Cakupan Modul - forgotPassword. components/Auth memiliki cakupan yang cukup baik dengan 67. pernyataan dan 97. 16% baris kode diuji, tetapi hanya 55. 35% cabang kondisi yang diuji. - update-akun. components/Dashboard/Account/up date memiliki cakupan yang lebih rendah dengan 70. 96% pernyataan 7% baris kode diuji. - create. components/Dashboard/Proposals/p enelitian/create memiliki cakupan pernyataan sebesar 66. 66% dan 62% baris kode diuji, dengan 33% cabang kondisi yang % Funcs (Function. Menunjukkan kode yang telah diuji, dengan total Ini mencakup semua baris yang diuji dalam proyek ini. components/Dashboard/Proposals/p engabdian/create memiliki cakupan yang serupa dengan 66. pernyataan dan 65. 62% baris kode diuji, dan 33. 33% cabang kondisi yang diuji. components/Dashboard/settings memiliki cakupan yang lebih baik dengan 75% pernyataan dan 66. baris kode diuji, tetapi hanya 50% cabang kondisi yang diuji. useUser. ts di components/hooks memiliki cakupan yang cukup baik dengan 75% pernyataan dan 100% baris kode diuji. ts di graphql/actions memiliki cakupan penuh . %) di ISSN: p. 2301-475X e. semua metrik, menunjukkan bahwa memiliki beberapa bagian yang tidak semua kode di file ini diuji. aris 66-69, 70-118, 33-. , - penelitian. di components/Dashboard/Account/updat graphql/actions memiliki e . 85, 104, 127-. cakupan penuh . %) di semua components/Dashboard/Proposals/pene litian/create . 05-146, 151, - pengabdian. , graphql/actions memiliki cakupan components/Dashboard/Proposals/pen penuh . %) di semua metrik. gabdian/create . 05- settings. ts di graphql/actions 146, juga memiliki cakupan penuh components/Dashboard/settings . %) di semua metrik. - helpers. ts di helpers memiliki . Blackbox Testing cakupan penuh . %) di semua Blackbox Testing pengguna akhir menguji sistem dalam - schemas. ts di schemas. ts juga skenario dunia nyata, mencerminkan memiliki cakupan penuh . %) di penggunaan sehari-hari. Mereka semua metrik. mengevaluasi fungsi dan fitur untuk . Uncovered Lines memastikan semuanya berjalan lancar Laporan ini juga mencantumkan nomor dan sesuai kebutuhan, mencakup dari baris yang tidak tercakup oleh tes, tugas rutin hingga skenario kompleks. components/Auth/forgotPassword. Tabel 5. Pengujian register blackbox testing Skenario Pengujian Uji Kasus Register Username:(Dikosongka. Email:(Dikosongka. Password:(Dikosongka. PhoneNumber:(Dikosongka. Mengisi hanya menekan tombol Username: newuser Email: (Dikosongka. Password: (Dikosongka. Phone Number: (Dikosongka. Mengisi hanya menekan tombol Username: (Dikosongka. Email: newuser@example. Password:(Dikosongka. Phone Number: (Dikosongka. Mengisi hanya menekan tombol Username: (Dikosongka. Email: (Dikosongka. Password: password123 Phone Number: (Dikosongka. Hasil yang Sistem menolak akses menampilkan pesan: Data harus diisi! Sistem menolak akses menampilkan pesan: "Semua field harus Sistem menolak akses menampilkan pesan: "Semua field harus Sistem menolak akses register dan menampilkan pesan: "Semua field harus Hasil Sesuai Harapan Sesuai Harapan Sesuai Harapan Sesuai Harapan ISSN: p. 2301-475X e. Skenario Pengujian Hasil yang Sistem menolak akses register dan menampilkan pesan: "Semua field harus Mengisi hanya phone number, tombol register Username: (Dikosongka. Email: (Dikosongka. Password: (Dikosongka. Phone Number: 1234567890 Mengisi menekan tombol Username: newuser Email: wrongemailformat Password: password123 Phone Number: Mengisi password kurang dari 8 karakter, tombol register Username: newuser Email: newuser@example. Password: short Phone Number: 1234567890 Mengisi semua isian data register tombol register Username: newuser Email: newuser@example. Password: password123 Phone Number: 1234567890 Uji Kasus Sistem menolak akses register dan menampilkan pesan: "Email tidak valid" Sistem menolak akses register dan menampilkan pesan: "Password harus 8 karakter" Sistem menerima akses register dan menampilkan pesan: "Silahkan cek email anda untuk Aktivasi Hasil Sesuai Harapan Sesuai Harapan Sesuai Harapan Sesuai Harapan Tabel 6. Pengujian aktivasi akun blackbox testing Hasil yang diharapkan Hasil Pengujian Skenario Pengujian Uji Kasus Mengosongkan semua isian kode aktivasi, lalu menekan tombol verifikasi Kode Aktivasi: (Dikosongka. Sistem menolak aktivasi dan menampilkan pesan: "Kode aktivasi harus Sesuai Harapan Mengisi kode aktivasi yang salah, lalu menekan tombol Kode Aktivasi: Sistem menolak aktivasi dan menampilkan pesan: "Kode aktivasi salah" Sesuai Harapan Mengisi kode aktivasi yang benar, lalu menekan tombol Kode Aktivasi: Sistem menerima aktivasi dan menampilkan pesan: "Akun berhasil Sesuai Harapan Mengisi kode aktivasi yang benar dan kadaluarsa, lalu menekan tombol verifikasi Kode Aktivasi: Sistem menolak aktivasi dan menampilkan pesan: "Expired" Sesuai Harapan ISSN: p. 2301-475X e. Tabel 4. 36 Pengujian login blackbox testing Skenario Pengujian Uji Kasus Hasil yang diharapkan Hasil Pengujian Mengosongkan semua isian data login, lalu menekan tombol login Email: (Dikosongka. Sistem menolak akses login Password: dan menampilkan pesan: (Dikosongka. "Email dan password harus Sesuai Harapan Mengisi hanya email, lalu menekan tombol Email: user@example. Password: (Dikosongka. Sesuai Harapan Mengisi hanya password, lalu menekan tombol Email: (Dikosongka. Password: Mengisi email dengan format salah, lalu menekan tombol Email: Password: Mengisi email yang tidak terdaftar, lalu menekan tombol Mengisi email yang benar dan password yang salah, lalu menekan tombol Mengisi email dan password yang benar, lalu menekan tombol Sistem menolak akses login dan menampilkan pesan: "Password harus diisi" Sistem menolak akses login dan menampilkan pesan: "Email harus diisi" Sesuai Harapan Sistem menolak akses login dan Menampilkan pesan: "Email tidak valid" Email: Sistem menolak akses login notfound@example. co dan menampilkan pesan: "Email/password Password: tidak ditemukan" Email: Sistem menolak akses login user@example. dan menampilkan pesan: Password: "Email/password Sesuai Harapan Email: user@example. Password: Sesuai Harapan Sistem menerima akses login dan mengarahkan ke dashboard Sesuai Harapan Sesuai Harapan Tabel 7. Pengujian forgot password blackbox testing Skenario Pengujian Uji Kasus Mengosongkan Email: (Dikosongka. isian email, lalu tombol submit Mengisi email yang Email: tidak terdaftar, lalu unknown@example. menekan tombol Hasil yang diharapkan Sistem menolak permintaan dan menampilkan pesan: "Email harus diisi" Sistem Menolak permintaan dan menampilkan pesan: "Email Hasil Pengujian Sesuai Harapan Sesuai Harapan ISSN: p. 2301-475X e. Skenario Pengujian Uji Kasus Hasil yang diharapkan tidak ditemukan" Mengisi email yang Email: terdaftar, lalu user@example. menekan tombol Sistem menerima permintaan dan menampilkan pesan: "Silahkan cek email anda untuk reset Hasil Pengujian Sesuai Harapan Tabel 8. Pengujian reset password blackbox testing Skenario Pengujian Uji Kasus Mengosongkan semua isian password, lalu menekan tombol submit Password: (Dikosongka. Confirm Password: (Dikosongka. Mengisi password baru dan konfirmasi password berbeda, lalu menekan tombol submit Hasil yang diharapkan Hasil Pengujian Sistem menolak permintaan dan menampilkan pesan: "Password dan Konfirmasi Password harus diisi" Password: Sistem Menolak permintaan dan menampilkan Confirm Password: pesan: "Password dan Konfirmasi Password Mengisi password baru Password: dengan format yang benar, newpassword123 lalu menekan tombol Confirm Password: tidak cocok" Sistem menerima permintaan dan menampilkan pesan: "Password berhasil diubah, silakan Sesuai Harapan Sesuai Harapan Sesuai Harapan Tabel 9. Pengujian buat usulan baru blackbox testing Skenario Pengujian Uji Kasus Hasil yang diharapkan Mengosongkan semua isian pada form identitas usulan, lalu menekan tombol next Semua field pada form identitas usulan Mengisi sebagian isian Field semester dan pada form identitas usulan, lalu menekan tombol next tahun_akademik diisi, tetapi ketua, nidn, prodi, dan jafung Sistem menolak permintaan dan menampilkan pesan: "Data jangan ada yang kosong!" Sistem Menolak permintaan dan menampilkan pesan: "Data jangan ada Hasil Pengujian Sesuai Harapan Sesuai Harapan yang kosong!" ISSN: p. 2301-475X e. Skenario Pengujian Uji Kasus Hasil yang diharapkan Mengisi semua isian pada Semua field pada form Sistem menerima form identitas usulan, lalu identitas usulan diisi permintaan dan menekan tombol next berpindah ke form Mengisi sebagian isian Sistem menerima Field anggota_1, pada form anggota, lalu permintaan dan berpindah nidn_anggota_1, menekan tombol next jafung_anggota_1, ke form judul penelitian dan prodi_anggota_1 diisi, tetapi field anggota lain kosong Mengosongkan semua Semua field pada form Sistem menolak isian pada form judul judul usulan kosong permintaan dan usulan, lalu menekan menampilkan pesan: tombol next "Data jangan ada yang kosong!" Mengisi semua isian pada Semua field pada form Sistem menerima form judul penelitian, lalu judul penelitian diisi permintaan dan menekan tombol next ke halaman review & Menekan tombol submit Semua field telah diisi Sistem menerima pada halaman review & lengkap permintaan, menyimpan submit tanpa ada data penelitian, dan perubahan data menampilkan pesan sukses: "Usulan berhasil Hasil Pengujian Sesuai Harapan Sesuai Harapan Sesuai Harapan Sesuai Harapan Sesuai Harapan Tabel 10. Pengujian generate surat rekomendasi prodi blackbox testing Hasil Pengujian Skenario Pengujian Uji Kasus Hasil yang diharapkan Mencoba generate Status usulan: PDF untuk usulan yang "Submitted" belum disetujui Sistem menolak permintaan dan menampilkan pesan: "Only approved can generate PDF. Sesuai Harapan Mengisi nomor dokumen melalui prompt saat generate PDF Status usulan: "Approved", nomor dokumen dimasukkan melalui prompt Sistem menerima nomor dokumen, menyimpan tersebut, dan memulai proses generate PDF Sesuai Harapan Generate PDF untuk usulan yang telah Status usulan: "Approved" Sistem berhasil generate PDF, menampilkan file PDF pada iframe, dan menyediakan tombol unduh PDF Sesuai Harapan ISSN: p. 2301-475X e. Hasil Pengujian Skenario Pengujian Uji Kasus Hasil yang diharapkan Mengirim link PDF melalui WhatsApp setelah generate PDF Status usulan: "Approved". PDF berhasil di-generate Sistem berhasil mengirim pesan WhatsApp berisi link PDF kepada ketua Sesuai Harapan Mencoba generate PDF tanpa ada data penelitian yang sesuai Tidak ada data usulan yang sesuai dengan ID yang Sistem menampilkan pesan error: "Error loading Sesuai Harapan Pada tabel yang telah disajikan sebelumnya, pengujian menggunakan mengevaluasi fungsionalitas aplikasi. Tahap pengujian ini mencakup 7 modul dengan total 37 skenario pengujian. Diketahui bahwa jumlah seluruh skenario adalah 37, dan jumlah skenario yang berhasil adalah 37. Maka, persentase keberhasilan aplikasi dapat dihitung sebagai berikut: ycu100% = 100% Berdasarkan hasil perhitungan tersebut, dapat disimpulkan bahwa aplikasi sebesar 100% berdasarkan pengujian blackbox testing. IV. Kesimpulan Implementasi sistem informasi untuk pengelolaan data penelitian dan pengabdian di Fakultas Teknik Universitas Pelita Bangsa memerlukan strategi komprehensif yang melibatkan pemilihan teknologi tepat, desain userfriendly, dan integrasi sistem yang baik. Implementasi arsitektur microservices meminimalisir downtime. Selain itu, microservices mempermudah akses dan mengurangi duplikasi data, memastikan sumber data terpusat yang dapat diakses meningkatkan efisiensi dan integritas data di universitas. Penelitian ini menyarankan agar implementasi sistem dilakukan dengan perencanaan matang, khususnya dalam desain arsitektur microservices yang Uji coba menyeluruh penting untuk memastikan sistem optimal dan bebas dari hambatan seperti integrasi kompleks atau isu keamanan. Ke depan, interaktif seperti real-time data sharing meningkatkan manfaat bagi dosen dan Daftar Pustaka