Application of Broadcast Position Android-Based Tourist Group Using Google API
Nugroho A1*, Afandi RT2
1 Computer Science, Universitas Mercu Buana, Indonesia.
2 Meruya Selatan Street, Kembangan, West Jakarta, Indonesia.
*Corresponding Author
Andi Nugroho,
Computer Science, Universitas Mercu Buana,
Meruya Selatan Street, Kembangan, West Jakarta 11650, Indonesia.
E-mail: andi.nugroho@mercubuana.ac.id
Received: March 19, 2018; Accepted: April 06, 2018; Published: April 10, 2018
Citation:Nugroho A, Afandi RT. Application of Broadcast Position Android-Based Tourist Group Using Google API. Int J Comput Neural Eng. 2018;5(1):98-104. doi: dx.doi.org/10.19070/2572-7389-1800012
Copyright: Nugroho A© 2018. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution and reproduction in any medium, provided the original author and source are credited.
Abstract
Introduction: One of the common problem when doing travel in group is being separated from the group. This often makes travel times wasted due to finding the separate member. Even worse, if the member cannot be contacted, or is in danger condition.
Objectives: To reduce the risk, a broadcast position system that can track the last position of group members in the last few times is needed.
Methods: In this research, the writer tries to create broadcast position application system.
Results: This app uses GPS and maps owned by Google as the provider of location determination and internet to process location sharing by access to API provided backend server. On the backend of the server, it only provides APIs in the form of JSON for mobile communication to the server, does not provide GUI to add master and support data.
Conclusion: Dijkstra Algorithm to determine the shortest route to destination, which can be used by tourists while undergoing tour group somewhere.
2.Introduction
3.Methods
4.Requirement Analysis
4.1 Input Requirement
4.2 Process Requirement
4.3 Output Requirement
5.System Analysis Tracking Position
6.Business Analysis Process Broadcast Position Application
7. Test Results
7.1 Broadcast Position
7.2 Find Shortest Route
8. Conclusion
9. References
Keywords
Broadcast Position; Dijkstra; Group Travel.
Introduction
White-box testing is a test, based on checking for design detail, using the control structure of the procedural program design to divide the test into several test cases. At a glance can be taken conclusion white box testing is a guide to get the right program 100% [10].
In doing white-box testing, there are several requirements that must be met:
1. Define all logic flow
2. Build a case for use in testing
3. Evaluate all test results
4. Doing a thorough examination
Broadcast is a process of sending data or signals to multiple locations simultaneously through satellite, radio, television, data communications on the network and so on, and can also be defined as a server service to a client that disseminated data to multiple clients simultaneously in parallel with access which is quite fast from the source to computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software [18].
Broadcast position is a system used to transmit location information simultaneously, so that the exchange of location information between clients with each other. Location information can be obtained by using GPS technology in each client, and then the location will be sent to the server and spread to other clients [6]. GPS receivers passively receive these signals [12]. Global Position System (GPS) is a satellite-based navigation system and is a tool for knowing the position composed of 24 satellites constellation orbiting the earth at an altitude of approximately 11,000 miles [17].
The geographical information system can assist to map a dot or even region into a longitude and latitude information, which is useful in decision making to determine the location for thermal sensor detector equipment placement [9]. Dijkstra's algorithm was invented by Edsger W. Dijkstra, which is one of the most popular forms of the algorithm in solving problems related to optimization problems and is simple. This algorithm solves the problem of finding the shortest path (a path of minimum length) from a vertex to vertex z in weighted graph, the weight is a positive number so cannot be passed by the negative node, but if so, then the solution given is infinite.
Dijkstra's algorithm has a straightforward nature. In keeping with the meaning of greed which is literally greedy or greedy, but not in a negative context, the Greedy Algorithm is concerned only with the best solution to be taken at every step without thinking of future consequences [11].
Eclipse is an IDE (Integrated Development Environment) to develop software and can run on all platforms (platformindependent). Here is the nature of Eclipse [15]. Spring-boot is a java framework that is a compilation of some Spring Framework element libraries [8]. Hibernate is a Framework for Object Relation Mapping (ORM) which in hibernate maps objects into the database [7]. Conceptual data model is a concept related to the user's view of the data stored in the database [1], to manage database we can use MySQL Workbench is a visual application that is used to manage database [16], MySQL is one type of database server that is very popular and widely used to build web applications that use the database as a source and data processing [5].
Android provides an open platform for developers to create their apps. Android was originally developed by Android, Inc., with financial support from Google, which was later purchased in 2005. Android Studio is the official Integrated Development Environment (IDE) for Android app development On top of IntelliJ's powerful code editor and developer tools, Android Studio offers even more features that enhance your productivity when building Android apps [4]. This site and the Android Open Source Project (AOSP) repository offer the information and source code you need to create custom variants of the Android stack [2]. The operating system was officially released in 2007, in conjunction with the establishment of the Open Handset Alliance, a consortium of hardware, software, and telecommunications that aim to advance the open standards of mobile devices. Since 2008, Android has gradually made a number of updates to improve operating system performance, add new features, and fix bugs contained in previous versions [13]. The system bars are screen areas dedicated to the display of notifications, communication of device status, and device navigation [3].
Framework is a collection of libraries organized in an architectural design to provide speed, accuracy, convenience and consistency in the application development of the definition. The framework consists of 3 components, namely Model, View, Controller. The advantages with the framework will be easier to understand the working mechanism of an application. This will certainly greatly help the process of system development done in a team [14].
The Spring-boot is a Java framework that is a compilation of some Spring Framework element libraries.
One of the frequent occasions when undergoing group tours, is the difference of the desired tourist category. The tourists usually have a special interest in the places that exist in the sights, so sometimes they will prefer to separate and do their own exploration. This sometimes makes it difficult for travelers to travel to other places, and must wait for other members to gather before continuing their journey. Sometimes it is more difficult when looking for a member if the member does not understand about the place around him, especially he is not alert and does not see his mobile device when other members contact him.
This study was conducted to create an application that can be used by the tourists to solve the problems that usually occur in a group trip, by utilizing existing technology on the mobile. This app uses Google's GPS technology and maps to tell the location of each member of the tourist.
Methods
Evolutionary models are designed to accommodate products that evolve over time. This model has a recurring character, which allows us to develop software with a complete version. One form of evolutionary model that is often used is prototyping and has several stages, namely Quick Plan, Quick Design Modeling, Construction of prototype, deployment delivery & feedback and communication.
Figure 1. Prototyping [10].
Requirement Analysis
Needs analysis is a step to determine what are the needs needed for building this application. The analysis is obtained from interviews with related parties and the results are then processed into an information that can be used to build this application. Here is information about the results of the needs analysis:
(a). Data Master: Master data consists of city and country data that is used to support information from the user.
(b). Data Member: Data member consists of username, password, full name, email, phone number, city, and country of the user who has successfully registered.
(c). Data Group: Tour group data consists of a group name, description, start date, end date, status, the list member and invitation list. This group's data will be inputted by members who want to create a new tour group.
Proses sharing location secara automation
(a). Proses sharing location secara automation dilakukan saat grup wisata tersebut sedang aktif. Setiap lokasi anggota grup akan disimpan kedalam basis data dan di update secara periodic untuk lokasi yang lebih real time.
(a). Tour group information: This information contains a summary of the tour group followed by the member.
(b). Group member location information: This information contains the locations of group members mapped onto a map embedded into a mobile application.
System Analysis Tracking Position
The application to be built is an application to perform the position of the members who are in a tour group and determine the shortest route to reach the location of one member using the Dijkstra algorithm. Input for this application is user data inputted periodically in updating its location. The user's location data will be plotted on the map and the shortest route to one of the selected users will be searched. If in the form of flowchart then the result is as follows in Figure 2.
Business Analysis Process Broadcast Position Application
In the Figure 3 below explain the business process of the application: the begin from anggota lain searc for data lokasi, they will fill the form application and will be save in database as the Figure 3 shown below.
Here is a Figure 4 of the implementation login page, user who are register to the group travel can use this login form, for make sure the user group.
For Figure 5 group details, it’s use for see the details of their group, and in this Figure 5 we can look of our team in one group connection.
Test Results
White-box testing is done by checking the existing logic of the program code. The step in doing white-box testing is to create a flowchart from the program code and then mapped to flowgraph. From that flowgraph will be analyzed the complexity and connection matrix.
Broadcast Position
Figure 6 below is the flowchart of the algorithm arranged for broadcast position.
In The Figure 7 is the flowgraph form of the flowchart is as follows:
Cyclomatic complexity is calculated by the formula:
V(G) = E - N + 2
At the above flowgraph, it can be summarized as follows :
E (Edge) = 18
N (Node) = 16
V (G) = 18 - 16 + 2 = 4
In the Figure 8 we can make a matrik siklomatis it’s depend on the flowgraph broadcast position and the result must same with the V(G).
The cyclomatic complexity of the connection matrix can be calculated by the formula:
V(G) = P + 1
So the result of calculation of connection matrix is as follows:
P (Number of Node Connection) = 3
V(G) = 3 + 1 = 4
Find Shortest Route
The application uses the Dijkstra algorithm to determine the shortest route from one location to another. Figure 9 is the flowchart of algorithm Dijkstra as follows:
There are several routes that can be taken to point B from location A, as in the following Figure 10.
If illustrated with node notation it will look like this Figure 11, in the figure is describe for the pattern of the Figure 10 above:
The distance between nodes one with another has a value that is a representation of their distance (in meters).
There are 3 routes that can be passed to point B, among others:
1. 160 + 400 + 400 + 350 = 1310
2. 160 + 400 + 500 + 400 = 1460
3. 160 + 450 + 450 + 400 = 1460
After finish the calculation above we have got the data route for the shortest distance 1310, and for see of the implemented we can see the Figure 12.
With that calculation, it will produce the shortest route of the first route, colored by the blue line in the above image. Here are the shortest route search results from location A to location B on the application we can see in Figure 13.
Conclusion
Based on a series of theories, analysis, design, and implementation of a software that has been implemented, it can be concluded that:
1. Based on the calculations of the cyclomatic complexity and the connection matrix, the value of V (G) has the same value, i.e 4. It explains that there is no logical error in the program flow that has been created.
2. Dijkstra algorithm can be implemented to search the shortest route from the location of tourists to other tourist locations. The weaknesses found in this application are the Dijkstra algorithm. Will calculate the defined area, so if there is a new undefined area such as the node and its graph, then the algorithm can not run as it should.
References
- Rosa AS, Shalahuddin M. Software engineering is structured and objectoriented. Bandung: Informatics. 2015.
- Input Technical Information Android. Android. 2017 [cited 2017 Mar 20]. https://source.android.com/
- UI overview Android. Android. 2017 [cited 2017 Mar 20].
- Android Studio. Android. 2017 [cited 2017 Mar 20].
- Arief MR. Dynamic web programming using PHP and MySQL. Yogyakarta: Andi. 2011.
- Annaser and Indra. Broadcasting. 2012[cited 2017 May 20]. Available from: https://annaserdanindra.wordpress.com/broadcasting/
- Hibernate Java. 2017 [cited 2017 May 20].
- Neha Munsi NS. Integration of Struts, Spring and Hibernate for an ECommerce System. International Journal of Computer Science and Mobile Computing. 2014;3(10):853-9.
- Nugroho A, Alvansuri DM. Nearest Automatic Teller Machine (ATM), Minimarket, and Restaurants Finder Application based on GPS Technology (Global Positioning System). Seventh Sense Research Group. 2017 Aug 1.
- Pressman, Roger S, Bruce R. Software Engineering a Practitiones’s Approach. 8th ed. New York: McGraw-Hill; 2015.
- Setiawan W. About Dijkstra Algorithm. 2017 [cited 2017 Mar 20].
- Rifqi M, Sukamto A, Nashar M. Utilization of GPS Technology to Control Regional Development Project with the Efficient Use of Energy Consumption- Based Smartphone. International Research Journal of Computer Science. 2016 Aug 3.
- Safaat N. Android: Mobile Application Programming Smartphone and Tablet PC Revised Edition. Informatics. Bandung. 2014.
- Siena I. Understanding Framework. 2009[cited 2017 Mar 20].
- Eclipse (Software). Wikipedia. 2017 [cited 2017 Mar 20].
- Martyrs. MySQL Workbench. 2016 [cited 2017 May 20].
- Global Positioning System. Wikipedia. 2017 [cited 2017 May 20].
- Application Programming Interface. Wikipedia. 2017 [cited 2017 May 20].