chapter 2 theoritical foundation 2.1. tourismlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/bab...
TRANSCRIPT
5
CHAPTER 2
THEORITICAL FOUNDATION
In this chapter, the author will discuss about theoritical foundation that will be used
throughout this project. This chapter also describes the terminologies and
implemented research methodology.
2.1. Tourism
Tourism is a business and its activity of providing information,
accomodations, transportation and other services to the tourists [3]. Etimologically,
tour is derived from Latin word ‘Tornare’ and Greek word ‘Tornos’. It means a lathe
of circle or the movement around central point.
Tourism has become global leisure activity for pleasure. Tourism can be
divided into 2 groups which are:domestic and international tourism. Both of them
involve incoming and outgoing movement of people. For domestic tourism, two
cities might be the involved, whereas it takes two parts of country for international
tourism.
Recently, tourism is a vital source of income for many countries and it affects
the economy of them.
Based on the data from Eturbonews.com, In 2014 tourism in Indonesia grows
7.2 percent and it is predicted to contribute Indonesia’s overall economy for 8.1
percent[4]. In addition, tourism continues to be the largest industry in the world and
put crucial influence in the world’s GDP. In 2011, $6 trillion of global GDP came
from tourism. In next 10 years, it is expected to grow into $10 trillion. Tourism also
gives employment to millions of employee around the world.
2.2. Tourism Application
6
Tourism application is an application that is built to give convenient and
more pleasure for people who are on their travel. It eases the users in getting the
available services, direction and information about nearby attraction, landmarks,
events and many more.
Nowadays, there are many tourism applications available in the online store
with its own unique characteristics and diverse target market. The applications may
offer an integrated map, check in system, etc. The scope can be various among them,
it can be either a big scale or a small one. The big scope may involve a country or
multiple cities, and the small one only consists of a city or a building.
Tourism application usually is developed for both tablet and smartphones as a
mobile application that is published on AppStore, PlayStore or Window Store. The
current published tourism mobile application are : Foursquare, Wikitravel, agoda,
and TripAdvisor.
2.3. Mobile Device
Mobile Device ,that is also reffered to a handheld computer, is a pint-sized
computing device that allows people to access information and process data in any
places [5]. Mobile device specifications usually below notebook or PC but some of
them may need more powerful specification than the desktop and laptop computer.
The recent mobile devices have not only the operating system but also
connectivity, multimedia, and GPS feature. These features are now the basic
requirements of the mobile devices.
Mobile device itself includes tablet computer (iPad, Galaxy Tab), smartphone
(iPhone and Galaxy S Series), and e-readers (Amazon kindle) [6]. This thesis
specifically uses a tablet from Apple, iPad.
7
2.4. Tablet
Tablet is a mobile device which is operated by using finger touch and has a
bigger dimension than a smartphone. The use of stylus is now a second option and it
is not a must [6]. Roger Fiddler has predicted tablet era since 1994. He forecasted
that in the future people would read the newspaper in the device. The revolutionary
tablet is Qbe (read Cube) that supports voice recognition, camera, modem,
networking and keyboard. Qbe is a very first tablet, which was introduced in 1999.
After the born of Qbe, many companies are fascinated in tablet and start to produce
it.
Figure 2.1 Earlier Tablet Devices
15 years after the first tablet, there are 2 major companies that play in the
tablet as their main income source. They are Apple with the legendary iPad and
Samsung with the Galaxy Tab. Both of them conquer the tablet world. Besides Apple
and Samsung, there are still many companies that distribute tablet with cheaper price.
Thanks to the evolution technology, tablet is now affordable and can be used by all
segments of people.
The technology advancement cannot be stop. It will grow day by day. Experts
predict the tablet will evolve soon into phablet, the combination between tablet and
smartphone.
8
2.5. iPad
iPad is a multi-touch tablet marketed by Apple Inc. Until Early 2014, there
are already 7 generations of iPad come into the market. The first iPad launched on
April 3rd, 2010. It does not have rear and front camera. It has 256MB RAM which is
the smallest one in the iPad line. On March 2011, iPad 2 was launched with rear
camera and VGA front camera. Compared to the previous iPad, iPad 2 is lighter than
iPad 1 and has double size RAM. The third iPad was released on March 2012. There
is no big difference between iPad 3 and iPad 2. The next year after iPad 3, Apple
introduced iPad mini, which has the half pixel (1024x768) with the iPad 4. iPad mini
got the fresh design in the iPad line. Instead of iPad 5, Apple crowned a new name to
the fifth ipad. It is iPad Air that is lighter and thinner than iPad 4. The design of iPad
Air is similar with the iPad mini and the design of iPad mini is totally same with the
previous iPad mini.
Below is comparison of iPad specification [7]:
Table 2.1 Comparison of Existing iPad (exclude iPad mini)
iPad iPad 2 iPad 3 iPad 4 iPad Air
iOS iOS 3,2 iOS 4,3 iOS 5,1 iOS 6 iOS 7
Screen
Size
9.7 inch IPS
LED
1024x768
@132 ppi
9.7 inch IPS
LED
1024x768
@132 ppi
9.7 inch IPS
LED
2048x1536
@264 ppi
9.7 inch IPS
LED
2048x1536
@264 ppi
9.7 inch IPS
LED
2048x1536
@264 ppi
System-
on-chip
Apple A4 Apple A5 Apple A5X Apple A6X 64 bit Apple
A7
CPU 800MHz
ARM
Cortex A8
1 GHz dual
core ARM
Cortex A9
1 GHz dual
core ARM
Cortex A9
1.4 GHz
dual core
switch
(ARM v7s)
1.4 GHz 64
bit dual core
Apple A7
Cyclone
(ARM v7s)
GPU PowerVR
SGX535
PowerVR
dual core
SGX543MP
PowerVR
quad core
SGX543MP
PowerVR
quad core
SGX554MP
PowerVR
G6430
9
2 3 4
RAM 256MB 512MB 1GB 1GB 1GB
Storage 16/32/64 GB 16/32/64 GB 16/32/64 GB 16/32/64/12
8 GB
16/32/64/12
8 GB
SIM Micro Micro Micro Micro Nano
Top
Data
Speed
HSPA HSPA LTE LTE LTE
Speaker Mono Mono Mono Mono Stereo
Rear
Camera
None 1.3mo/
720 mp
5mp, 1080p 5mp, 1080p 5mp, 1080p
Front
Camera
None 0.3mp/VGA 0.3mp/VGA 1.2mp/
720p
1.2mp/
720p
Bluetoot
h
Bluetooth
2.1 + EDR
Bluetooth
2.1 + EDR
Bluetooth
4.0
Bluetooth
4.0
Bluetooth
4.0
WiFi 802.11
a/b/g/n
802.11
a/b/g/n
802.11
a/b/g/n
802.11
a/b/g/n
802.11
a/b/g/n +
MIMO
GPS aGPS aGPS aGPS,
GLONASS
aGPS,
GLONASS
aGPS,
GLONASS
Sensors Light,
acceleromet
er, compass
Light,
acceleromet
er, compass,
gyroscope
Light,
acceleromet
er, compass,
gyroscope
Light,
acceleromet
er, compass,
gyroscope
Light,
acceleromet
er, compass,
gyroscope
Size 9.56x7.47x
0.53
9.5x 7.31x
0.34
9.5x 7.31x
0.37
9.5x 7.31x
0.37
9.4x 6.6x
0.29
Weight 1.5 lbs 1.33 lbs 1.44 lbs 1.44 lbs 1 lbs
Battery 25 watt hour 25 watt hour 42.5 watt
hour
42.5 watt
hour
32.4 watt
hour
Color Black Black/
White
Black/
White
Black/
White
Space Gray/
Silver
Release
Date
April 3rd,
2010
March 11th,
2011
March 16th,
2012
November
2nd, 2012
November
1st, 2013
10
Below is the comparison of iPad mini specification:
Table 2.2 Comparison of Existing iPad Mini
iPad Mini iPad Mini with Retina
Display
OS iOS 6 iOS 7
Screen Size 7.9 inch IPS LED
1024x768 @163ppi
7.9 inch IPS LED
2048x1536 @326ppi
System-on-chip Apple A5 64-bit Apple A7
CPU 1 GHz dual core ARM
Cortex A9
64-bit dual core Apple A7
Cyclone (ARM v8)
GPU PowerVR dual core
SGX543MP2
PowerVR G6430
RAM 512 MB 1 GB
Storage 16/32/64 GB 16/32/64/128 GB
SIM Nano Nano
Top Data Speed LTE LTE
Speaker Stereo Stereo
Rear Camera 5mp, 1080p 5mp, 1080p
Front Camera 1.2 mp, 720p 1.2 mp, 720p
Bluetooth Bluetooth 4.0 Bluetooth 4.0
WiFi 802.11 a/b/g/n 802.11 a/b/g/n+MIMO
GPS aGPS, GLONASS aGPS, GLONASS
Sensors Light, accelerometer,
compass, gyroscope
Light, accelerometer,
compass, gyroscope
Size 7.87x5.3x0.28 inches 7.87x5.3x0.28 inches
Weight 0.68 lbs 0.73 lbs
Battery 16.3 watt hour 23.8 watt hour
Color Slate/Silver Space Gray, Silver
Release Date November 2nd, 2011 November 2013
11
2.6. iOS
iOS is the most advanced mobile operating system owned by Apple to create
revolutionary mobile apps for iPad, iPhone, Apple TV, iPod Touch and other similar
devices. In the first launch, iOS was called iPhone OS. After iPad and iPod touch
relesed, iPhone OS has a new name, iOS. iOS is reflected to many Apple devices
[8].
Since 2007, iOS has 7 versions, which every version can run on the selected
or supported Apple devices. Similar to the computer operating system, iOS needs
compatible hardware specification. Here are the journey of iOS :
a. iOS 1.0
This version is only compatible for the iPhone first generation. The features
that are available on this iOS are: Core iOS UI, Multi touch gestures, mobile safari,
iPod, Voicemail, Maps, iTunes Sync, and Hidden file system.
b. iOS 2.0
In this version, Apple released MobileMe and AppStore for installing third
party apps. The minor changes in this version are contact search feature and
Microsoft Exchange Support.
c. iOS 3.0
This is an operating system that is used by iPhone 3GS and 2nd generation of
iPod Touch. Powerful feature that are included in this version are spotlight search,
cut, copy, paste, push notification, Find My iPhone, Video Recording, auto focus.
iOS 3.2 was launched 3rd April 2010 to support iPad resolution.
d. iOS 4.0
This operating system is available only for iPhone and iPod Touch. The
features such as FaceTime, multitasking, and iAd are supported in this feature.
e. iOS 5.0
12
This incredible operating system supports powerful Siri, iMessage, and
iCloud. iCloud is a cloud storage that can be integrated by all Apple devices. Siri is
an intelligent personal assistant from Apple that can do a lot of thing such as setting
the alarm or writing a message on iPhone or iPad. Siri is controlled using a natural
language.
Completed operating system from Apple for its loyal users. This operating
system has Facebook integration, Passbook, and Apple Maps.
iOS 7.0
iOS 7 has different design theme from previous operating systems. This
changes is a big changes for Apple because Apple never changes the design from
iOS 1.0 until iOS 6.0. This design becomes the main attention of this version.
2.7. Objective-C
Objective-C is a object oriented programming language that is used for OSX
and iOS, operating systems owned by Apple. It was firstly developed in early 1980
for NeXT and NeXTSTEP. Objective-C supports C’s syntax, primitive types and
control flow. Here is the sample syntax of Objective-C:
Figure 2.2 Sample Code of Objective C
2.8. Cocoa
Cocoa is a general application environment for Mac OSX and iOS. Cocoa
consists of library, a runtime system and frameworks. Cocoa can be presented in 2
faces:
• Runtime aspect
In runtime aspect, Cocoa displays the user interface and integrated with other
components of operating system.
• Development aspect
13
In development aspect, Cocoa is an integrated collection of object oriented
software components that enables programmer to create reusable and adaptable
software building blocks. Therefore, programmer can use as-is or extend them for
specific requirements [10].
Cocoa uses Model-View-Controller design pattern to make an application.
Model encapsulates the application data, View display and edits the data, and
Controller control the Model from the View. By using MVC, the view can be
designed separately by using the Interface Builder[11].
The primary frameworks for Mac OSX are AppKit and Core Foundation. iOS
uses Core Foundation and UIKit as a primary frameworks. Here are some
frameworks provided by Cocoa:
• Cocoa for Data Management
• AVKit, AVFoundation, Core Video, Core Audio for Audio and Video
• CoreAnimation, CoreImage, OpenGL, SpriteKit for Graphics and Animation
• Address Book, Calendar Store, and Instant Message
2.9. Cocoa Touch
iOS Technology is created to prevent the application talking with the
hardware. Apple decided that application needs to talk to communicate with the
interface and the interface will command the hardware. This technology is set in the
form of layer [12].
Figure 2.3 Cocoa in the Architecture of iOS
There are four layers, they are:
a. Core OS Layer
14
This layer contains the low level features that are used by most other
technologies. Although the programmer does not use this directly, other frameworks
call this layer. This layer includes Bluetooth, External Accessory, General Security
Services and Security Framework.
b. Core Services Layer
This layer contains the fundamental system services for applications. These
services are Core Foundation Frameworks, which is one of the primary frameworks
in iOS. The technologies such as iCloud, social media and networking use this layer.
c. Media Layer
Media Layer contains the graphics, audio and video technologies that are
used within the application. This service contains the UIKit Framework, which is
responsible for creating the user interface of the application.
d. Cocoa Touch
This is a high level system services which includes multitasking, multi touch
input, push notifications, airdrop, view controllers, address book, map kit,
messaging, etc.
Cocoa Touch is working together with the other layers to make an intuitive
application. The primary frameworks that are needed by Cocoa Touch are:
UIKit : UIKit is on the Media Layer and it provide a user interface
application display and the structures for apps’ behaviour.
Foundation : The Object Oriented version of Core Foundation Framework
which provides primitive data types, collections, builds mechanisms for their
management and defineing basic behaviour of the objects.
2.10. Xcode
15
Xcode is an Integrated Development Environment (IDE) that contains the full
set of development tools, basic library and its framework for creating both iOS and
OSX application. XCode is developed by Apple and can only be downloaded from
Mac AppStore.
Developers use Xcode for these purposes:
• Create and Manage Projects
• Write the source code in colorful editors
• Design the user Interface of the application
• Build project
• Debug an application project in the simulator
• Install the application project in registered iOS devices
Figure 2.4 Xcode User Interface
2.11 Xamarin Studio
Xamarin is a development environment that allows developers to build an
Android and iOS application in C#. Every task that can be performed in Xcode and
eclipse (Android IDE) also can be completed using Xamarin Studio. For iOS
application, the basic language of the code is still using Objective-C, but Xamarin
Studio uses Portable Class Libraries in order to be C# based.
16
Figure 2.5 Xamarin Studio User Interface
2.12. iPad Simulator
iPad simulator is a simulator that can run and debug application. iPad
simulator will be installed together with Xcode, the tools for developing iOS
application. In developing application, iPad simulator has a little shortage in terms of
feature. The simulator cannot run an application with either game center or push
notification services feature. This feature needs the read iPad devices as it uses some
requirements that are only available on the iPad devices. In addition, camera and
multi touch are not supported in iPad simulator. As a result, developers have to test
and debug their developed application on the real devices.
17
Figure 2.6 iPad SImulator
2.13. Local and Push Notification
Notification is a feature that provides alerts and additional information that
keeps the users informed. Notification can run whether the application is active or
not. Notification can display a message or toast message in the home screen [13].
Some parties might use notification as an advertisement.
Since iOS 3.0, notification can be distinct into two. They are:
Local Notification
Local Notification is notification that will trigger based on the given time.
The application usually set the trigger time of the notification, the badge and the
message that wants to be displayed. After the time has come, the notification will be
active and display either in the toast or in the drawer.
Push Notification
18
Push notification is a notification that involves Apple Push Notification
Server to trigger it. Different from local notification, notification will be displayed
after the device gets the message from Apple Push Notification Server. In order to
send the notification, the applications’ server has to communicate with the Apple’s
Server. Next, Apple’s server will continue those messages to the user. Of course,
authentication and authorization of server are needed. After the device receives the
message, the message will be shown directly. Look at below diagram for more detail
[14]:
Figure 2.7 Push Notification Architecture
This thesis will use local notification feature.
2.14. MapKit
MapKit is a framework from the System that enables the application to
embed the map directly into the devices’ view or window. By using this framework,
it is possible to annotate the map, add overlays, and determine placemark
information based on the given coordinates [15].
The mapkit will integrate with Apple Maps.
2.15. JSON
JSON or JavaScript Object Notation is a lightweight format for interchanging
data between platforms, which is easy for human to read and write, and for machine
to parse and generate it. JSON is built in two structures:
A collection of name/value pairs
An ordered list of values
JSON contains 5 basic elements [16]:
a. object à { members }
b. members à pair
pair , members
19
c. pair àstring : value
d. array à[]
[ elements ]
e. elements àvalue
value , elements
2.16. WebService
Web Service is interaction method between two different applications or
devices over the World Wide Web. Two protocols that are commonly used by web
service are REST (Representational State Transfer) and SOAP (Simple Object
Access Protocol). The different between SOAP and REST can be seen in below
table:
Table 2.3 Comparison between SOAP and REST
SOAP REST
Hard to develop, required tools Simple to develop
Requires binary attachment parsing. Supports all data types directly.
Return XML data Flexible return based on the chosen
return type
Language, platform, and transport
agnostic
Language and platform agnostic
Well-known old traditional technology New technology compared to SOAP
Not wireless infrastructure friendly Wireless infrastructure friendly
Consumes more bandwidth Consumes less bandwidth
Client server interaction is tightly
coupled
Client server interaction is tightly
SOAP request uses POST and require a
complex XML request to be created
which makes response caching difficult.
Restful APIs can be consumed using
simple GET requests, intermediate proxy
servers / reverse-proxies can cache their
response very easily.
SOAP uses HTTP based APIs refer to
APIs that are exposed as one or more
REST on the other hand adds an element
of using standardized URIs, and also
20
HTTP URIs and typical responses are in
XML / JSON. Response schemas are
custom per object.
giving importance to the HTTP verb used
(i.e. GET / POST / PUT etc.)
Designed to handle distributed
computing environments.
Assumes a point-to-point communication
model—not for distributed computing
environment where message may go
through one or more intermediaries.
Is the prevailing standard for web
services, and hence has better support
from other standards (WSDL, WS) and
tooling from vendors.
Lack of standards support for security,
policy, reliable messaging, etc., so
services that have more sophisticated
requirements are harder to develop.
Changing services in SOAP web
provisioning often means a complicated
code change on the client side.
Changing services in REST web
provisioning not requires any change in
client side code.
2.17. ASP.NET
It is a development framework for building dynamic web pages and websites
with HTML, CSS, Javascript and .NET Technology. ASP.NET was developed by
Microsoft and was released on January 2002. In the first release, it uses .NET version
1.0 and Active Server Pages technology [17]. ASP.NET supports three different
development models, which are [18]:
• Web Pages (Single Page Model)
Web page uses combination between HTML, Javascript, CSS and the server
code, Razor server markup syntax. Web Pages is perfect for the starter.
• Web Forms (Event Driven Model)
Web Forms is the traditional model of ASP.NET. It is based on event driven
and postback.
• MVC (Model View Controller)
Building a web application based on the MVC design. In View, the
programmers need the basic knowledge about Razor syntax. ADO.NET can be used
as the model to connect with the server. Controller is the control that bridge between
view and controller.
21
This thesis will use ASP.NET MVC.
2.18. Web API
ASP.NET Web API is a framework for building HTTP services that can be
utilized by broad range of clients, including both web browsers and mobile devices
application. Web API is using the REST-ful services over the .NET. Some features
of Web API are [19]:
• Support CRUD action by using HTTP verbs GET, PUT, POST, DELETE
• Responses can be formated as JSON or XML
• Responses have an accept header and HTTP status code
• It can be hosted on application or IIS
• Support Odata
• Web API accepts image, PDF, or any other files
• Support Model View Controller feature
2.19. Scrum Development Methodolgy
Scrum Development Methodology is a popular project management in
Information Technology field [20]. In scrum methodology, it is know iterations and
increments. The iterations are small cycles that can produce products, while
increments are incresing number of functionalities within the projects. There are 3
following phases of scrum development methodology, which are:
• Pregame
Pregame is a phase of planning and designing system architecture takes place.
In planning process, delivery date, project team structures, tools, costs, risks of the
projects are described here.
• Game
This phase is divided into a cycle that might consists of implementation,
documentation of the changes, reviewing the progress and lastly making needed
adjustments.
• Post Game
Postgame phase includes product release, integration, testing and training.