Implementasi GraphQL Untuk Mengatasi Under-Fetching pada Pengembangan Sistem Informasi Pelacakan Alumni Politeknik Negeri

  • Annisa Taufika Firdausi Politeknik Negeri Malang
  • Dhebys Suryani Hormansyah
  • Fany Ervansyah

Abstract

Pendistribusian data pada sistem informasi memiliki berbagai macam cara yang digunakan. Diantaranya adalah dengan menggunakan metode REST API. Namun, terdapat beberapa kekurangan yang menjadi masalah pada REST API. Salahsatunya adalah masalah under-fetching, yaitu masalah dimana bagian frontend harus melakukan lebih dari 1 kali request untuk memenuhi kebutuhan data yang diperlukan. Masalah ini dapat diselesaikan dengan menerapkan GraphQL sebagai metode pendistribusian data. Tujuan dari penelitian kali ini adalah untuk membandingkan performa antara sistem informasi dengan REST API dan sistem informasi dengan GraphQL. Studi kasus pada penelitian ini adalah pada pengembangan sistem informasi pelacakan alumni Politeknik Negeri Malang. Hasil penelitian ini berupa perbandingan performa antara sistem informasi dengan metode pendistribusian data REST API dan sistem informasi dengan metode pendistribusian data GraphQL. GraphQL menunjukkan performa yang baik pada jumlah data yang besar dan kompleks, serta ketika terdapat banyak pengguna yang mengakses data dalam waktu yang bersamaan. Sedangkan untuk data yang sederhana dan sistem informasi yang tidak memiliki banyak pengguna yang akan mengakses data secara bersamaan, maka REST API masih lebih unggul.

Downloads

Download data is not yet available.

References

Alex, B., & Eve, P. (2017). Learning React Functional Web Development With React and Redux. 1005 Gravenstein Highway North, Sebastopol, CA 954721005 Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media, Inc.
Biehl, M. (2015). API Architecture: The Big Picture for Building APIs.
Brito, G., & Valente, M. T. (2020). REST vs GraphQL: A controlled experiment. Proceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020, (Dcc), 81–91. https://doi.org/10.1109/ICSA47634.2020.00016
Brown, E. (2014). Web development with Node & Express. In O’Reilly Media, Inc. (Vol. 1). 1005 Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media, Inc.
Buna, S. (2021). GraphQL in Action. Shelter Island, NY 11964: Manning Publication Co.
Čechák, D. (2017). Using GraphQL for Content Delivery in Kentico Cloud. Is.Muni.Cz. Retrieved from https://is.muni.cz/th/qm0cs/thesis.pdf
Cederlund, M. (2016). Performance of frameworks for declarative data fetching : An evaluation of Falcor and Relay+GraphQL. (2016:92), 105.
Doglio, F. (2018). REST API Development with Node.js: Manage and Understand the Full Capabilities of Successful REST Development. Retrieved from https://isbnsearch.org/isbn/9781484237144
Eizinger, T. (2017). API Design in Distributed Systems: A Comparison between GraphQL and REST. 1–64. Retrieved from https://eizinger.io/assets/Master-Thesis.pdf
Hartig, O., & Pérez, J. (2017). An initial analysis of facebook’s GraphQL language. CEUR Workshop Proceedings, 1912.
Hartina, D. A., Lawi, A., & Panggabean, B. L. E. (2018). Performance Analysis of GraphQL and RESTful in SIM LP2M of the Hasanuddin University. Proceedings - 2nd East Indonesia Conference on Computer and Information Technology: Internet of Things for Industry, EIConCIT 2018, 237–240. https://doi.org/10.1109/EIConCIT.2018.8878524
Hillar, G. C. (2016). Building RESTful Python Web Services. Birmingham: Packt Publishing Ltd.
Jeon, D. C., Liuhaoyang, & Hwang, H. (2019). Design of Hybrid Application Based on GraphQL for Efficient Query for PHR. ICTC 2019 - 10th International Conference on ICT Convergence: ICT Convergence Leading the Autonomous Future, 381–383. https://doi.org/10.1109/ICTC46691.2019.8940003
Kniberg, H., & Skarin, M. (2010). Kanban And Scrum Making The Most Of Both (1st ed.). C4Media Inc.
Lee, E., Kwon, K., & Yun, J. (2020). Performance Measurement of GraphQL API in Home ESS Data Server. International Conference on ICT Convergence, 2020-October, 1929–1931. https://doi.org/10.1109/ICTC49870.2020.9289569
Mukhiya, S. K., Rabbiab, F., Punax, V. K. I., Rutle, A., & Lamo, Y. (2019). A graphql approach to healthcare information exchange with hl7 fhir. Procedia Computer Science, 160, 338–345. https://doi.org/10.1016/j.procs.2019.11.082
Porcello, E., & Banks, A. (2018). Learning GraphQL. In O’Reilly Media, Inc.O’Reilly Media, Inc. (1st ed.). 1005 Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media, Inc.
Sharma, S. (2021). Modern API Development with Spring and Spring Boot. Birmingham: Packt Publishing Ltd.
Vadlamani, L., Emdon, B., Arts, J., & Baysal, O. (2021). Can GraphQL Replace REST? A Study of Their Efficiency and Viability. 10–17. https://doi.org/10.1109/SER-IP52554.2021.00009
Vazquez-Ingelmo, A., Cruz-Benito, J., & García-Penalvo, F. J. (2017). Improving the OEEU’s data-driven technological ecosystem’s interoperability with GraphQL. ACM International Conference Proceeding Series, Part F1322.
Published
2021-08-31
How to Cite
[1]
A. T. Firdausi, Dhebys Suryani Hormansyah, and Fany Ervansyah, “Implementasi GraphQL Untuk Mengatasi Under-Fetching pada Pengembangan Sistem Informasi Pelacakan Alumni Politeknik Negeri ”, JIP, vol. 7, no. 4, pp. 73-80, Aug. 2021.