Implementation of the First in First Out (FIFO) Algorithm in the Sandal and Shoe Product Inventory (Stock) Application

This study addresses the optimization of inventory management for sandal and shoe products, at CV Diva Karya Mandiri Warehouse, which covers of five key features: a dashboard, master data management, transaction data, reporting, and user management. The First in First Out (FIFO) algorithm is specifically applied to the transaction feature, ensuring timely disbursement in line with the order of receipt. It is implemented using Rapid Application Development (RAD) methodology, which consists of Planning Requirements, User Design, Construction, and Cutover phases. The developed inventory application offers two access levels: administrators with comprehensive access and warehouse managers with limited access for viewing, searching, and filtering item data. This study successfully implementing the FIFO algorithm, with 95% Blackbox testing result achieved through boundary value analysis approach.


Introduction
CV. Diva Karya Mandiri is a CV that produces and sells sandals and shoes.There are many variants or types of products produced so that there are many transactions for outgoing goods and incoming goods.The main problem is that there is a buildup of stock in the warehouse.The large number of product stocks in the CV Diva Karya Mandiri Warehouse requires inventory control.Inventory control in companies is very important (Kusomo & Rakasiwi, 2021;Widayat et al, 2023;).The important role of inventory means that it is necessary to choose the right inventory method for CV Diva Karya Mandiri.One inventory method is the FIFO (First in First Out) method (Sembiring et. al., 2019;Kartinah 2021;Sulistyawati et. al., 2019).
The FIFO method assumes that goods are used in the order they were purchased (Sathyalakshmi et al., 2022;Sonata et al., 2023).FIFO is an inventory management method by using stock items in the warehouse according to the time they arrive.The stock that first enters the warehouse is the stock that must first leave the warehouse (Bar-Gera & Carey, 2022;Abbas et al., 2022;Sulaj, 2023).The advantage of FIFO is that it brings ending inventory closer to current costs.Because the first inventory item purchased is the inventory that will be used first in processing inventory, the ending inventory value will consist of ending inventory, especially if the inventory turnover rate is fast.Another advantage is that with the FIFO method the ending inventory value on the balance sheet will be close to replacement cost (Heaverly & EWK, 2020).The FIFO method in computer science is known as the FIFO algorithm.
The FIFO algorithm is an algorithm in a queuing system in a data structure where the data that enters first will come out first (Manurung, 2019).This research is related to research conducted by Sadiah & Ishlah (2023) for data and system development methods using RAD, namely Design of the Inventory Application of CV Diva Karya Mandiri using RAD (Rapid Application Development) (Sadiah & Ishlah 2023).There is related research regarding the application of the FIFO algorithm for inventory, namely Application of The FIFO Model in The Drug Inventory Information System at The Asyfa Krueng Mane Pharmacy (Fachrurrazi et al., 2023).This research aims to apply the FIFO algorithm to the sandal and shoe product inventory application at CV Diva Karya Mandiri.Applied Research on CV.Diva Karya Mandiri is very important to do this because the implementation of the FIFO algorithm in the inventory application makes this application smarter in controlling the stock of sandals and shoes in the warehouse.Apart from that, this applied research helps CV.Diva Karya Mandiri in recording inventory digitally, monitoring product stock and managing product inventory management.

Method
The method used to build inventory (stock) applications is RAD (Rapid Application Development) which consists of four stages, namely Planning Requirements, User Design, Construction, Cutover (Ikwunne, 2021;Gumonan, 2021;E-Recycle Bin, 2021;Alpasan, 2021).At the construction stage, the FIFO algorithm is applied.

Planning Requirements
At the requirements planning stage, an analysis of the functional requirements of the stock application is carried out to later apply the FIFO algorithm.Apart from that, at this stage warehouse observations were also carried out with the aim of collecting data on sandal and shoe products.Sandal and shoe product data collected includes goods data, type of goods, incoming goods data, outgoing goods data, stock of goods, supplier data and warehouse head.

User Design
In this stage, the UML design for the sandal and shoe product inventory (stock) application is created.The UML designs created are Class diagrams and Use Case diagrams.This UML user design will be used as a basis for implementing inventory (stock) applications for sandal and shoe products.

Construction
The construction stage is the stage of implementing the user design.At this stage, a sandal and shoe product inventory (stock) application is created starting with Backend and Frontend implementation.The languages used include the PHP programming language for the backend, HTML for the markup language, and JavaScript for the frontend programming language.The supporting tools used are XAMPP, Notepad++, and Chrome as a browser.The hardware used is a laptop with Intel Core i7 specifications.After the inventory (stock) application is created, the next step is to apply the FIFO algorithm.FIFO is applied to the data transaction feature.

Cutover
This is the testing stage for the application of inventory (stock) for sandal and shoe products that have been implemented by the FIFO algorithm.The testing stage carried out is Blackbox Testing (28).In this test, the boundary value analysis method is applied by testing and analyzing the input functions x and y, namely and for the minimum limit.As for the maximum limit .The function means that if x=0, the tester tests the input value less than zero, equal to zero and the input value is one.The test with the y value is that the tester inputs the maximum limit for filling the input stock for sandal and shoe products.The value is the tester inputting an input value that is less than the maximum stock value for sandals and shoes, the y value is the stock input value and the value is a value above the stock amount (Supriyono 2020).

Results and Discussion
The first stage in developing an inventory (stock) application using the RAD method is the requirements planning stage.At this stage, an analysis of the functional requirements of the application is produced which consists of 5 main menus, namely the dashboard menu, master data menu, transaction data menu, report menu and user management menu.In the master data menu, there is item type data, unit data and item data.Data on types of goods consists of 7 types of data, namely Docmart Shoes, Sponge Wedges, Men's Sandals, Women's Sneakers, Flat Shoes, Women's High Heels Sandals and Women's Platform Sandals.
The user design for the sandal and shoe stock application consists of class diagrams and uses cases.In the class diagram there are 7 classes that are related to each other (Figure 1).Another user design is the use cases diagram.In the use case diagram there are association, generalization, include and extend relationships (Figure 2).The result of the construction stage is an application for inventory (stock) of shoes and sandals which has two access rights, namely Admin and warehouse head.Admins can access all the features contained in the sandal and shoe inventory (stock) application.Meanwhile, warehouse heads can only access a few features, namely the item data view, search, and data filter features.The admin or warehouse head must log in first before accessing the Dashboard page.The login page can be seen in Figure 3.If the admin or warehouse head successfully logs in, he will be redirected to the dashboard page (Figure 4).The dashboard menu will display information regarding goods data, incoming goods data, outgoing goods data, goods type data, unit data, user data and stock information that has reached the minimum limit.The admin or warehouse head can find out minimum stock information for sandal and shoe products so that the warehouse head must immediately order products according to demand.Another feature in the Sandal and Shoe Product Inventory (Stock) Application is the master menu.The master menu is the main data that must be input into the application so that when inputting data for goods entering or leaving, the user no longer needs to type the data one by one but simply selects the data that is already available in the master data.Master data consists of item master data, unit master data, and type master data.Item master data consists of item ID, item name, stock, minimum stock, supplier, and product image.Figure 5 is a display of goods master data.In Figure 5, what appears on the main item master data page is the item ID, item name and stock.The admin or warehouse head can click on detailed information for each item or product so that complete detailed information about the product can appear (Figure 6).The detailed item master data information is a combination of 3 master data, namely item master data, type master data and unit master data.Detailed item data information in figure 6 consists of item ID, item name, item type, minimum stock, stock, unit, supplier and product image.In the Sandal and Shoe Product Inventory (stock) Application there is transaction data.Transaction data consists of incoming goods data and outgoing goods data.Admin can input data on incoming or outgoing goods based on goods master data.After the admin inputs incoming goods transaction data, the incoming goods transaction data will increase.Apart from that, the stock of goods of the same type will accumulate in total.This can be seen from Figure 5, where initially the stock of B0002 products was only 5 pairs of sandals and then increased to 1445 pairs (Figure 7).The minimum stock notification that has reached the minimum data will be updated immediately.The application of the FIFO algorithm is in the transaction menu.On the incoming goods transaction page there is a Transaction ID with a TM code to indicate the oldest or newest item code (Figure 8).Then on the outgoing goods page there is an outgoing goods Transaction ID code, namely the TK code.Admin will input TM data in the outgoing goods description column as an indication that the outgoing goods are the earliest goods to enter the warehouse (Figure 9).8, Item Code B0001 "Women's Sandals Wrinkled Grizelle Platform AB 108" entered on September 30 as many as 1440 with code TM-0000001.Then on October 5, the Esyza Shoes Online customer ordered 1200 pairs of sandals with the code B0001.Admin input data on outgoing goods with code TK-0000001 and description TM-0000001.The remaining stock of these sandals is 240 pairs (TM-0000001).Then Diva Store restocked product B0001 on November 6, totaling 9,560 pairs of sandals with the incoming goods transaction code TM-0000010.The total stock is 9800 (240 pairs code TM-0000001, 9560 pairs code TM-0000010).On November 9, an Alfani Store Online customer ordered 238 pairs of sandals with code B0001.Admin input data on outgoing goods with code TK-0000010 and description TM-0000001, there are 9562 pairs of sandals left in stock (code TM-0000001 = 2 pairs, code TM-0000010 = 9560 pairs).Admin input TM-0000001 in outgoing goods data for orders dated November 9 because the FIFO method is applied, the goods that come in first are the first to go out, the final inventory amount consists of the most recent purchases.Table 1 is an example of the application of FIFO to sandal products B0001.The application of the FIFO algorithm in Table 1, namely when there is a product order, the Admin will check the stock of the oldest or first product entered.Furthermore, old product stock will be released first and will be the main priority.After the product is released, the stock will update automatically in the application.This process continues for other product orders.Incoming and outgoing goods are sorted according to arrival transactions.Arrival transactions are marked with a TM Code.Admin will prioritize stock with the smallest TM transaction code first.
The Cutover stage is the application testing stage for inventory (stock) of sandal and shoe products.At this stage it is tested using black box testing with the boundary value analysis method.The test results can be seen in Table 2.The total form input that was tested on the inventory (stock) application for sandal and shoe products amounted to 54 inputs.The results of black box testing using the boundary value analysis method were 95%.There are 6 input forms in the inventory (stock) application for sandal and shoe products that do not match the expected output.

Conclusion
This study successfully implemented the First-In-First-Out (FIFO) algorithm within a Rapid Application Development (RAD)-built inventory accounting application for CV Diva Karya Mandiri.The application features differentiated access levels for admins and warehouse heads, prioritizing item data visualization and reporting functionalities for the latter.Employing black box testing with boundary value analysis, the application achieved a 95% success rate, demonstrating its effectiveness in managing sandal and shoe inventories.

Figure 1 :
Figure 1: Class Diagram for Inventory (Stock) Applications for Sandal and Shoe Products

Figure 3 :Figure 4 :
Figure 3: Login Page of the Sandal and Shoe Product Inventory (Stock) Application

Figure 5 :
Figure 5: Item master data page

Figure 6 :
Figure 6: Master data page for detailed item data

Figure 7 :
Figure 7: The screen of stock item data.It increases after successful input of incoming item data.

Figure 8 :
Figure 8: Data page for incoming goods filtered by item code

Figure 9 :
Figure 9: Data page for outgoing goods filtered by item code

Table 1 :
Example of applying FIFO to sandal products B0001.

Table 2 :
The Black box testing results using the boundary value analysis method