Building a Dynamic Data Input System with Overloading in Java

Authors

  • Saluky Universitas Islam Negeri Siber Syekh Nurjati Cirebon
  • Muhammad Inggar Agus Sholihin inggar UIN SIBER SYEKH NURJATI CIREBON
  • Muhammad Rafly Saputra rafly UIN SIBER SYEKH NURJATI

DOI:

https://doi.org/10.63876/jdsi.v2i1.42

Keywords:

Java, data consistency, Efficiency, Management Information System

Abstract

Modern software development requires a dynamic and flexible data processing system, especially in terms of accepting various types and amounts of data input. This article discusses the application of the overloading concept in the Java programming language to build an adaptive data input system. Overloading is a Java feature that allows a method to have the same name but with different parameters, so that the system can manage data input from various types and formats efficiently. The prototype system developed is designed to accept input in the form of integers, decimal numbers, strings, or a combination of several data types. By using the overloading technique, the system can simplify input management without having to create a new method for each type of data. The implemented case study shows that the use of overloading can reduce code complexity, speed up development time, and improve program readability. In testing, the system successfully manages input with varying parameters without error, as long as the input is in accordance with the definition of the method created. However, several challenges arise, such as the need for additional validation mechanisms to handle invalid input and avoid potential conflicts in method selection. This article also describes techniques to optimize data processing by utilizing efficient method calling logic and maintaining compatibility between data types.

Downloads

Download data is not yet available.

References

P. A. Popoola, J.-R. Tapamo, and A. G. Honoré Assounga, “Effective and Efficient Handling of Missing Data in Supervised Machine Learning,” Data Sci. Manag., Dec. 2024, doi: 10.1016/j.dsm.2024.12.002.

[2] J. Yasmin, J. A. Wang, Y. Tian, and B. Adams, “An empirical study of developers’ challenges in implementing Workflows as Code: A case study on Apache Airflow,” J. Syst. Softw., vol. 219, p. 112248, Jan. 2025, doi: 10.1016/j.jss.2024.112248.

[3] L. Bettini, S. Capecchi, and B. Venneri, “Featherweight Java with dynamic and static overloading,” Sci. Comput. Program., vol. 74, no. 5–6, pp. 261–278, Mar. 2009, doi: 10.1016/j.scico.2009.01.007.

[4] A. Bergel, “Reconciling method overloading and dynamically typed scripting languages,” Comput. Lang. Syst. Struct., vol. 37, no. 3, pp. 132–150, Jul. 2011, doi: 10.1016/j.cl.2011.03.002.

[5] P. Collet, J. Mortara, Y. Brault, and A.-M. Dery-Pinna, “The VariCity ecosystem: City visualization of object-oriented variability in Java and TypeScript,” Sci. Comput. Program., vol. 240, p. 103210, Feb. 2025, doi: 10.1016/j.scico.2024.103210.

[6] M. Lega, B. Giunta, L. Pirnay, A. Simonofski, and C. Burnay, “Reducing information overload in e-participation: A data-driven prioritization framework for policy-makers,” Int. J. Inf. Manag. Data Insights, vol. 4, no. 2, p. 100264, Nov. 2024, doi: 10.1016/j.jjimei.2024.100264.

[7] P. H. Guzzi, P. Cinaglia, and M. Milano, “Computing Languages for Bioinformatics: Java,” in Reference Module in Life Sciences, Elsevier, 2024. doi: 10.1016/B978-0-323-95502-7.00082-8.

[8] C. H. Mak and S.-C. Cheung, “Automatic build repair for test cases using incompatible Java versions,” Inf. Softw. Technol., vol. 172, p. 107473, Aug. 2024, doi: 10.1016/j.infsof.2024.107473.

[9] S. Bansal, R. K. Bansal, and K. Arora, “Energy efficient backup overloading schemes for fault tolerant scheduling of real-time tasks,” J. Syst. Archit., vol. 113, p. 101901, Feb. 2021, doi: 10.1016/j.sysarc.2020.101901.

[10] M. Hlopko, J. Kurš, J. Vraný, and C. Gittinger, “On the integration of Smalltalk and Java,” Sci. Comput. Program., vol. 96, pp. 17–33, Dec. 2014, doi: 10.1016/j.scico.2013.10.011.

[11] T. Carvalho, J. Bispo, P. Pinto, and J. M. P. Cardoso, “A DSL-based runtime adaptivity framework for Java,” SoftwareX, vol. 23, p. 101496, Jul. 2023, doi: 10.1016/j.softx.2023.101496.

[12] A. Mohan, S. Jayaraman, and B. Jayaraman, “A declarative approach to detecting design patterns from Java execution traces and source code,” Inf. Softw. Technol., vol. 171, p. 107457, Jul. 2024, doi: 10.1016/j.infsof.2024.107457.

[13] A. Rudyanto et al., “Performance test of pilot Earthquake Early Warning system in western Java, Indonesia,” Int. J. Disaster Risk Reduct., vol. 115, p. 105010, Dec. 2024, doi: 10.1016/j.ijdrr.2024.105010.

[14] F. Ortin, G. Facundo, and M. Garcia, “Analyzing syntactic constructs of Java programs with machine learning,” Expert Syst. Appl., vol. 215, p. 119398, Apr. 2023, doi: 10.1016/j.eswa.2022.119398.

[15] Aripriharta, D. A. Putri, A. P. Wibawa, Sujito, M. C. Bagaskoro, and S. Omar, “Techno economic analysis of PV pumping system for rural village in East Java,” e-Prime - Adv. Electr. Eng. Electron. Energy, vol. 10, p. 100779, Dec. 2024, doi: 10.1016/j.prime.2024.100779.

[16] P. H. Guzzi, “Computing Languages for Bioinformatics: Java,” in Encyclopedia of Bioinformatics and Computational Biology, Elsevier, 2019, pp. 206–208. doi: 10.1016/B978-0-12-809633-8.20368-3.

[17] D. Borrego, I. Barba, C. Del Valle, and M. Toro, “DPGraphJ: A Java package for the implementation of dynamic programming algorithms,” SoftwareX, vol. 28, p. 101948, Dec. 2024, doi: 10.1016/j.softx.2024.101948.

[18] Yanto and M. Dimyati, “Development, implementation and validation of Sediment Transport and Erosion Prediction (STEP) model,” Environ. Model. Softw., vol. 164, p. 105686, Jun. 2023, doi: 10.1016/j.envsoft.2023.105686.

[19] V. Spišaková, L. Hejtmánek, and J. Hynšt, “Nextflow in Bioinformatics: Executors Performance Comparison Using Genomics Data,” Futur. Gener. Comput. Syst., vol. 142, pp. 328–339, May 2023, doi: 10.1016/j.future.2023.01.009.

[20] L. Ardito, R. Coppola, G. Malnati, and M. Torchiano, “Effectiveness of Kotlin vs. Java in android app development tasks,” Inf. Softw. Technol., vol. 127, p. 106374, Nov. 2020, doi: 10.1016/j.infsof.2020.106374.

[21] W. Aldndni, N. Meng, and F. Servant, “Automatic prediction of developers’ resolutions for software merge conflicts,” J. Syst. Softw., vol. 206, p. 111836, Dec. 2023, doi: 10.1016/j.jss.2023.111836.

[22] M. Tewary, Z. Salcic, M. Biglari-Abhari, and A. Malik, “Energy-aware scheduling, compilation, and execution of hard-real-time multi-task Java programs,” Microprocess. Microsyst., vol. 95, p. 104721, Nov. 2022, doi: 10.1016/j.micpro.2022.104721.

[23] Y. Dong, S. Wang, L. Zhang, X. Liu, and S. Liu, “Automatic detection of infeasible paths in large-scale program based on program summaries,” Sci. Comput. Program., vol. 239, p. 103183, Jan. 2025, doi: 10.1016/j.scico.2024.103183.

[24] C. Galindo, S. Pérez, and J. Silva, “Program slicing of Java programs,” J. Log. Algebr. Methods Program., vol. 130, p. 100826, Jan. 2023, doi: 10.1016/j.jlamp.2022.100826.

[25] M. E. Marante et al., “Portal of damage: a web-based finite element program for the analysis of framed structures subjected to overloads,” Adv. Eng. Softw., vol. 36, no. 5, pp. 346–358, May 2005, doi: 10.1016/j.advengsoft.2004.06.017.

[26] M. J. Mahmoodabadi, S. Arabani Mostaghim, A. Bagheri, and N. Nariman-zadeh, “Pareto optimal design of the decoupled sliding mode controller for an inverted pendulum system and its stability simulation via Java programming,” Math. Comput. Model., vol. 57, no. 5–6, pp. 1070–1082, Mar. 2013, doi: 10.1016/j.mcm.2012.06.027.

Downloads

Published

2024-03-20

How to Cite

Saluky, S., inggar, M. I. A. S., & rafly, M. R. S. (2024). Building a Dynamic Data Input System with Overloading in Java. Journal of Data Science and Informatics, 2(1), 28–34. https://doi.org/10.63876/jdsi.v2i1.42

Issue

Section

Articles

Similar Articles

You may also start an advanced similarity search for this article.