Pengembangan Microservice Grader pada Online Judge Berbasis Event-Driven Architecture
DOI:
https://doi.org/10.26418/jp.v10i3.83893Keywords:
Microservice, Online Judge, Event-Driven Architecture (EDA), Object-Oriented Analysis and Design (OOAD), Pengujian Black BoxAbstract
Online Judge telah menjadi salah satu platform yang umum digunakan untuk pengujian dan penilaian dalam mata kuliah pemrograman di lingkungan akademis. Namun, di Universitas Tanjungpura, proses penilaian masih dilakukan secara manual oleh dosen, mengakibatkan kerumitan dan potensi kesalahan. Munculnya ide penerapan online judge yang mana untuk menyeselaikan masalah sebelumnya, tapi adanya masalah lanjutan berupa online judge eksternal belum dapat memenuhi beberapa kebutuhan spesifik dari institusi atau pun individu. Dalam rangka mengatasi tantangan ini, penelitian ini berfokus pada pengembangan Microservice Grader pada Online Judge Jurusan Informatika Fakultas Teknik Universitas Tanjungpura yang dapat dikostumisasi sesuai kebutuhan dengan dasar Event-Driven Architecture. Metodologi penelitian yang dilakukan, yaitu identifikasi masalah, studi literatur, pengumpulan data, perancangan sistem, dan perancangan pengujian didasarkan pada prinsip-prinsip Object-Oriented Analysis and Design (OOAD). Hasil yang diperoleh adalah Microservice Grader yang dapat menangani berbagai kasus dengan umpan balik yang berbeda-beda. Hasil pengujian black box didapati keberhasilan sebesar 100% dari pengujian yang disiapkan yaitu sejumlah 38 kasus uji, membuktikan bahwa sistem mampu menangani berbagai kemungkinan kesalahan yang mungkin terjadi selama penggunaan. Selain itu, perbandingan performa antara platform-platform mengungkapkan variasi yang signifikan, tanpa disertakan rincian faktor-faktor yang mempengaruhi. Secara keseluruhan, Microservice Grader menjanjikan kontribusi yang berarti dalam pengembangan sistem Online Judge di Jurusan Informatika Fakultas Teknik Universitas Tanjungpura, dengan potensi untuk meningkatkan efisiensi dan akurasi penilaian.
References
Wu, L., Tordsson, J., Elmroth, E., & Kao, O. (2020, April 1). MicroRCA: Root Cause Localization of Performance Issues in Microservices. Proceedings of IEEE/IFIP Network Operations and Management Symposium 2020: Management in the Age of Softwarization and Artificial Intelligence, NOMS 2020.
Laigner, R., Zhou, Y., Salles, M. A. V., Liu, Y., & Kalinowski, M. (2021). Data Management in Microservices: State of the Practice, Challenges, and Research Directions.
Kamus Besar Bahasa Indonesia. (t.t.). Penilai. Diambil 26 Mei 2024, dari https://kbbi.web.id/penilai
Sivarajah, S., Dilkes, S., Cowtan, A., Simmons, W., Edgington, A., & Duncan, R. (2021). A retargetable compiler for NISQ devices. Quantum Science and Technology, 6(1).
Szafraniec, M., Roziere, B., Leather, H., Charton, F., Labatut, P., & Synnaeve, G. (2022). Code Translation with Compiler Representations.
Watanobe, Y., Rahman, M. M., Matsumoto, T., Rage, U. K., & Ravikumar, P. (2022). Online Judge System: Requirements, Architecture, and Experiences. International Journal of Software Engineering and Knowledge Engineering, 32(6), 917–946.
Zinovieva, I. S., Artemchuk, V. O., Iatsyshyn, A. V., Popov, O. O., Kovach, V. O., Iatsyshyn, A. V., Romanenko, Y. O., & Radchenko, O. V. (2021). The use of online coding platforms as additional distance tools in programming education. Journal of Physics: Conference Series, 1840(1).
Mousa, A., Karabatak, M., & Mustafa, T. (2020). Database Security Threats and Challenges.
Sudarso, A. (2022). PEMANFAATAN BASIS DATA, PERANGKAT LUNAK DAN MESIN INDUSTRI DALAM MENINGKATKAN PRODUKSI PERUSAHAAN (LITERATURE REVIEW EXECUTIVE SUPPORT SISTEM (ESS) FOR BUSINESS).
Kremer, S., Konrad, L., Stroh, M. F., & Schuh, G. (2023). Event-driven IT-architectures As Enabler For Industry 4.0. Proceedings of the Conference on Production Systems and Logistics, 509–522.
Vladimirovich Petrov, V., Victorovna Gennadinik, A., Yurevna Avksentieva, E., & Vladimirovich Bryukhanov, K. (2021). CURRENT ISSUES AND METHODS OF EVENT PROCESSING IN SYSTEMS WITH EVENT-DRIVEN ARCHITECTURE. Journal of Theoretical and Applied Information Technology, 15(9).
Mishra, B., & Kertesz, A. (2020). The use of MQTT in M2M and IoT systems: A survey. IEEE Access, 8, 201071–201086.
Sukamto, R. A., & Shalahuddin, M. (2016). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Informatika Bandung.
Booch, G., Maksimchuk, R. A., Engle, M. W., Young, B. J., Conallen, J., & Houston, K. A. (2007). Object-Oriented Analysis and Design with Applications Third Edition (3 ed.). www.awprofessional.com/otseries.
Elsen, R., Nashrulloh, M. R., Cahyana, R., Mulyani, A., & Latifah, A. (2021). Microservice architecture design for autograder using distributed architecture. IOP Conference Series: Materials Science and Engineering, 1098(3), 032083.
Messer, M., Brown, N. C. C., Kölling, M., & Shi, M. (2023). Automated Grading and Feedback Tools for Programming Education: A Systematic Review (Amy J. Ko, Ed.; Vol. 2022-March). Association for Computing Machinery.
Zinovieva, I. S., Artemchuk, V. O., Iatsyshyn, A. V., Popov, O. O., Kovach, V. O., Iatsyshyn, A. V., Romanenko, Y. O., & Radchenko, O. V. (2021). The use of online coding platforms as additional distance tools in programming education. Journal of Physics: Conference Series, 1840(1).
Ferdows, J., Khatun, S., Mokarrama, M. J., & Arefin, M. S. (2021). A framework for checking plagiarized contents in programs submitted at online judging systems. Advances in Intelligent Systems and Computing, 1200 AISC, 546–560.
Laigner, R., Kalinowski, M., Diniz, P., Barros, L., Cassino, C., Lemos, M., Arruda, D., Lifschitz, S., & Zhou, Y. (2020). From a Monolithic Big Data System to a Microservices Event-Driven Architecture. Proceedings - 46th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2020, 213–220.
Sarsa, S., Denny, P., Hellas, A., & Leinonen, J. (2022). Automatic Generation of Programming Exercises and Code Explanations Using Large Language Models. ICER 2022 - Proceedings of the 2022 ACM Conference on International Computing Education Research, 1, 27–43.
Blinowski, G., Ojdowska, A., & Przybylek, A. (2022). Monolithic vs. Microservice Architecture: A Performance and Scalability Evaluation. IEEE Access, 10, 20357–20374.
Manzoor, H., Naik, A., Shaffer, C. A., North, C., & Edwards, S. H. (2020). Auto-grading jupyter notebooks. SIGCSE 2020 - Proceedings of the 51st ACM Technical Symposium on Computer Science Education, 1139–1144.
ErdÅ‘sné Németh, Ã., & Zsakó, L. (2018). Grading systems for algorithmic contests. Olympiads in Informatics, 12, 159–166.