7
CHAPTER 2
THEORETICAL FOUNDATION
2.1 Electronic Commerce (E-Commerce)
E-Commerce according to Laudon, K. C., and Traver, C. G can be
defined as “the use of Internet and the Web to transact business” [1]. To
elaborate the definition further, something can be considered as an E-
Commerce if it has two characteristics. First, transactions must be done or
mediated using digital technology such as Internet or Web. Second,
transactions must be commercial. This means transactions must involve the
exchange of value, such as money, between and among organizations and
individuals in return for products or services [1].
Although similar, E-Commerce is different from E-Business. E-
Commerce focus on the external boundaries of the business, such as
customers and activities that directly generates revenues, while E-Business
focus on the internal transactions and activities within the business, such as
inventory control and document transfers [1]. Because the concepts of E-
Commerce and E-Business intersect, the two concepts are often merged thus
often E-Commerce also includes the concepts of E-Business or vice versa.
For example, George Beekman and Michael J. Quinn describe E-Commerce
as using telecomunication networks to conduct the sharing of business
information, maintaining of business relationships, conducting business
transactions, reorganizing internal business process and external business
alliances, and creating new consumer oriented products [2].
8
In general, E-commerce has eight unique dimensions that differentiate
itself with traditional business. The eight unique dimensions are [1]:
1. Ubiquity
2. Global Reach
3. Universal Standards
4. Information Richness
5. Interactivity
6. Information Density
7. Personalization/customization
8. Social technology
2.1.1 Components of Electronic Commerce
E-commerce has typical components or functionalities that
sets-up and build a website into an e-commerce. There are several
common components and functionalities for e-commerce including
[1] [3]:
2.1.1.1 Registration/ Login and Customer Database
Customer should be prompted with registration before
making transaction online through the e-commerce. The
purpose is for authentication and storing customer information
for business purpose. Registration process has to be
straightforward and easy for the customer. Optional
registration/log in such as using Facebook Connect is
recommended to provide alternative and convenience for
customers that do not want to manage many accounts [3].
9
Although registration is widely recognized as a
common feature that every e-commerce must have, there had
been arguments that registration should be made optional. The
reason is because there are customers that feel insecure in
sharing their personal information to a business. In addition,
customer can be discouraged to register and buy when they
found the registration process is too complex. To solve these
issues, some solution are designed such as to make registration
optional with customer able to purchase without registering
and request the customer registration after a customer make a
purchase [4].
Information on registered customer should be stored in
a customer database. Information that should be stored might
include name, address, phone address, and e-mail address [1].
2.1.1.2 Product Catalog and Database
Product catalog should provide product information to
customers who can be presented in the form of text or graphics
[1]. A product catalog should be used when the e-commerce is
selling multiple product or services. Customer should be able
to navigate through the product catalog through a well
designed user interface. The objective is for customer to be
able to find the product that they are looking for. Therefore,
customer should be provided with the capability to search for
product based on specific keywords or tags [3].
10
Product database is functioning as storage for product
catalog information. It should store information such as
product description, stocking number, and inventory level [1].
2.1.1.3 Admin Area
Admin area refers to the back end of the e-commerce
which handled by employees and function as a place to
manage the e-commerce. Management might include
managing customer details, managing product inventory and
details, or sales order processing. [3].
2.1.1.4 Sales Database
Sales database refers to the storage of sales
transactions when customer purchases a product. It contains
information related to sales such as customer information,
product purchased, date, and payment details. Sales
information stored can then be used for multiple purposes by
the business such as to provide after-sale customer support for
customer [1].
2.1.2 Types of E-Commerce
2.1.2.1 Business-to-Business (B2B)
Business-to-Business (B2B) e-commerce refers to the
use of e-commerce by businesses to sell or conduct transaction
to other businesses [1]. It is the largest form of e-commerce
with huge growth potential and the highest revenue generated
11
when compared to other e-commerce types. B2B has two
primary business models:
1. Net marketplace. In net marketplace customers and
suppliers are gathered into a single Internet platform for them
to conduct trade [1]. For example: alibaba.com
2. Industry consortia. Industry owned vertical market
that enables buyer to purchase from a limited set of invited
participants [1]. This business model is focusing on creating
long-term relationships between suppliers and buyers. For
example: Exostar, SupplyOn.
Another form of B2B is Business-to-Government
(B2G) where businesses conduct transaction with government
institutions. However, B2G can also be considered as B2B
because in most cases the government acts as an independent
business unit when conducting transaction [1].
2.1.2.2 Business-to-Consumer (B2C)
Business-to-Consumer (B2C) e-commerce refers to the
use of e-commerce by businesses or companies to sell
products or services to individual consumers [1]. This type of
e-commerce is the most common type encountered by
consumer. Consumer access online product catalog provided
by businesses, search and select the products they wish to
purchase, and make product purchases. To help consumer
purchase experience, B2C often use the shopping cart feature
12
of e-commerce. Shopping cart in e-commerce works the same
way as shopping carts in real life. Customers can select
multiple products through the online catalog, store it into their
shopping cart, and then purchase all the products in their
shopping cart in one transaction [1].
Revenue wise, B2C e-commerce did not generate high
revenue when compared to B2B e-commerce. However the
growth of B2C e-commerce is very fast and it has been
growing exponentially making it one of the booming e-
commerce types [1].
Example of B2C e-commerce: Amazon.com, Play-Asia.com.
2.1.2.3 Consumer-to-Consumer (C2C)
Consumer-to-Consumer e-commerce refers to the use
of e-commerce by consumer to sell or conduct transactions to
each other and often conducted through the help of online
market or auction sites. C2C involve platforms where
consumer can place their products to sale or auction. The
platforms will then create product catalogue from consumers’
products and allows other consumer to search and make
purchases through the platform [1]. In C2C, the business only
provides the platform for customers to do transactions in
which it is mostly internet based, while data and information
for product catalogs are all came from customers. To certain
extent, some businesses also provide catalog search engine,
13
payment system, and delivery service that aid customer in
buying and selling products.
Examples of C2C e-commerce: E-Bay, Craiglist,
Tokobagus, Yahoo Auctions.
2.1.3 Samples of E-Commerce in Hosting Service Provider
Hosting service providers (HSP) are businesses or individuals
that provide hosting solution and services to its customers. HSPs often
make use of e-commerce to publicize and offer their hosting products
and services to customers [5]. E-commerce enable customers to
conduct various business activities such as browsing through HSP
product catalog, compare hosting packages and price information,
make purchases, get live support, and requesting for hosting renewal.
2.1.3.1 Godaddy.com
Figure 2.1 Screenshot of Godaddy.com (taken directly from
www.godaddy.com in 2013)
14
Godaddy.com is one of the leading hosting service
providers from United States. Mainly providing hosting
needs, Godaddy.com differentiate itself and well known for its
complete web hosting solution. In addition to hosting,
Godaddy.com also web design service to help people that does
not have web building skills. Customers simply only need to
purchase the product package and Godaddy.com will handle
the whole web development, hosting needs, and maintenance.
2.1.3.2 Masterweb.net
Figure 2.2 Screenshot of Masterweb.net (taken directly from
http://www.masterweb.net/Hosting_Indonesia-main.html in 2013)
Masterweb.net is currently the leading hosting service
provider in Indonesia with the highest market share in web
hosting compared to other Indonesia hosting provider [6].
Owning 19.4829% market share of web hosting in Indonesia
based on data from www.webhosting.info taken on 28
15
February 2013. Masterweb.net provides variety of hosting
needs that includes domain name ordering, web hosting,
shared hosting, virtual private server, server hosting, and
digital/SSLcertificate.
Masterweb.net uses its e-commerce mainly as a place
to sell their hosting solutions, where customer can seek
product information, make order, and seek for 24 hours
customer support. They also provides its own knowledge base
for customer to learn about the details of products they are
offering which really helps non technical users that are not
familiar with hosting concepts.
2.2 Hosting Service
Hosting is service where business or vendor is providing storage
space for housing, serving, and managing customer files or data, typically for
website. The businesses that provides hosting service is called Hosting
Service Provider (HSP) [5].
2.2.1 Types of Hosting Services
2.2.1.1 Domain Name
Any devices connected to Internet are called host and
uniquely identified by its Internet Protocol (IP) address which
are series of numbers separated by dots (.) for example:
69.10.25.46. IP address can be hard for people to memorize
thus it is often represented in natural language called Domain
Name, for example: www.google.com [1].
16
Domain names are unique which means there cannot
be two same domain names exist. Because of this, many
domain names are registered by user so that it cannot be used
by other people. Hosting service provider often provides
domain registration service for customer to name the space
they are renting.
2.2.1.2 Dedicated Server
Dedicated hosting, or dedicated server, is a hosting
service in which customer server space and system resources
is not shared with other customer [7]. This is done by having
the customer lease an entire server. Dedicated hosting provides
the customer with several benefits such as greater capacity,
increased security, improved reliability through no interaction
with other website, and complete control over the
configuration [8]. However it comes with drawbacks including
higher cost compared to share hosting and higher technical
requirement to manage the server.
2.2.1.3 Shared Hosting
Shared hosting is type of hosting where the server
space is used to serve multiple clients. Server space is
partitioned into smaller space which customer rent and when
configured properly the clients will not be able to see the other
clients in the server. The purpose of shared hosting is to
reduce the cost of leasing the server space and make server
17
space more affordable for customers. It is very affordable that
there are hosting providers offering shared hosting for free [9].
However, shared hosting brings several drawbacks
such as performance issue due to shared resources, heavily
dependent on the host to manage the server, and security
issues such as hackers that may come from the other clients in
the server [9].
2.2.1.4 Virtual Private Server
Virtual Private Server (VPS) is a type of shared hosting
with each server partition runs its own operating system or
virtual server. This gives the illusion as if the client is running
a dedicated server since client will have full control of its
virtual server.VPS make use of virtualization software to
manage and distribute computer resources to its clients. This
technology also allows a virtual server to take resources from
multiple machines [9].
2.2.1.5 Virtual Private Network
Virtual Private Network (VPN) is a network
technology that provides secure access for user to access
internal network via the Internet. VPN make use of Point-to-
Point Tunneling Protocol (PPTP), an encoding mechanism that
securely wraps the delivered message to shield it from external
interception. The term virtual is used because user did not
actually have dedicated secure communication line, the VPN
18
only establish temporary secure communication line between
networks [1]. Hosting service provider often provides VPN
connection for its customers to connect to their server space
securely.
2.2.1.6 Cloud Hosting
Cloud hosting is a type of hosting where customer
website is not necessarily stored in a single server space but it
is distributed through cloud (internet) to different server
spaces across the network. The main benefits provided by
cloud hosting are cost, scalability, and reliability. Customer
only needs to pay for the amount of resource they use, unlike
other hosting types where customer needs to pay for a fixed
amount of resource packages. Cloud hosting has high
scalability because customer can easily increase the resource
space they needed. Cloud hosting is also more reliable because
it is distributed and does not have any single point of failure
since a failure in one machine can be replaced with other
server on the network [7].
2.2.1.7 Anonymous Hosting
Anonymous hosting refers to hosting services that are
privately registered and booked using third party name via
Proxy ID or ID Protection. The purpose is to keep the
information of the customer secret and untraceable, which is
useful to keep sensitive information from competitors and
hackers [10].
19
There are two types of anonymous hosting providers.
One is provider that request customer details for record this
way customer can still be identified by the provider but it will
remain anonymous from the public. The other type is provider
that does not require any customer identification at all thus the
customer is anonymous to both the provider and public [10].
Example of anonymous hosting provider:
anonymoushosting.in, ccihosting.com, shinjiru.com.
2.2.2 WhoIs
WhoIs is a searching protocol for submitting queries to
database specifically with specific use of getting details on ownership
of domain name, IP network, or Autonomous System Number (ASN).
When a server receive WhoIs query, the server will process the query
and reply with owner information such as e-mail addresses, contact
numbers, and other related metadata [11].
One common use of WhoIs is to check domain name
registration and expiry information. Since domain names must be
unique and there can be no duplicate, availability checking becomes is
reqired during domain purchase since people cannot buy reserved
domain. One way to buy reserved domain is by making use domain
owner’s information provided by WhoIs to contact the owner and
negotiate to buy and transfer domain name ownership. Domain name
also has expiry dates and the owner can will lose its ownership if its
20
not extended. Owner can check domain expiry date using WhoIs and
be reminded when they should extend their domain name.
2.3 Business Model
According to Alexander Osterwalder and Yves Pigneur, a business
model describes the understanding on how an organization or business
creates, delivers, and capture values [12]. A business model is vital in order
to create a good business strategies, because it act as a blueprint that explains
the required activities and resources needs to be done to run the business.
2.3.1 Business Model Canvas
Business Model Canvas is a concept introduced by Alexander
Osterwalder and Yves Pigneur as a method to build and analyze a
business model. The concept has been applied and tested
internationally, and it has been used by various international
organization such as IBM and Deloitte [12].
The Business Model Canvas suggest nine building blocks of
creating a solid business model and a business model can be
considered good if it is be able to clearly defined the nine blocks. The
nine building blocks of business model canvas are [12]:
Customer Segments (CS) : the customer segments being
served by the business.
Value Propositions (VP) : how the business is going to solve
problems and satisfy customer needs.
21
Channels (CH) : the way organization deliver its value
proposition to customers.
Customer Relationship (CR) : the relationships established and
maintained to each customer segments.
Revenue Streams (R$) : how the value proposition generate
revenue when succesfully offered to customer.
Key Resources (KR) : the asset required to create, offer, and
deliver the value proposition.
Key Activities (KA) : activities performed to transform the
key resources to value proposition.
Key Partnerships (KP) : resources and activities that acquired
form outside of the business.
Cost Structure (C$) : the cost inccured to the business from
running the business model.
22
Figure 2.3 Business Model Canvas (taken from [13])
2.4 System Development Life Cycle
According to Satzinger et al [14] Systems development life cycle
(SDLC) is the process of building, deploying, using, and updating an
information systems. SDLC is the one of the key fundamental concepts in
information system development. There are 5 phases in SDLC which are:
Planning Phase: identifying the scope, ensuring feasibility, and
developing schedule, resource plan, and budget for the project. In
common organizational situation, the plan created during this phase
might require approval from top management. Key activity in this
phase is to precisely define the business problem and the scope of the
required solution.
23
Analysis Phase: the objective of analysis phase is to understand and
document the business needs and the processing requirements of the
new system. Can be achieved through information gathering,
analyzing information, and building prototype.
Design Phase: transforming the requirements defined and decisions
made during analysis into the design of system based solution.
Designs might include, network design, application architecture
design, user interfaces design, system interfaces design, database
design, system controls design, and prototypes.
Implementation Phase: during this phase the final system are built,
tested, and installed. The objective also includes the training for users
and the organization.
Support Phase: the objective of this phase is to keep the system
running after the system is installed. This may be done through
activities such as system maintenance, system enhancement, and
providing user support.
There are two classifications of SDLC: predictive approach and
adaptive approach.
2.4.1 Predictive Approach
Predictive approach is SDLC approach where project
planning and organization is conducted in advance, and that
the new system will be developed according to plan [14].
24
Predictive SDLC benefits most when used for building
systems that are well understood and well defined.
Waterfall model is an example of predictive SDLC
approach. Waterfall model handle project in sequential
method. One phase is to be completed before moving into the
next phase. After completing a phase, the phase is frozen
therefore it is not possible to return to previous phases [14].
Predictive approach has the advantage of low technical
risk because project and specification are planned carefully.
However, the inability to return to previous phase is a
problem, considering human can always make error and going
back might be required. Because of this, pure predictive or
waterfall approach is rarely used and many have used a
modified waterfall model [14].
2.4.1 Adaptive Approach
Adaptive approach is the more flexible SDLC
approach that assume project cannot be planned in advance
and must be modified as it progresses [14]. Adaptive
approach is best used for projects where requirements and
needs are uncertain.
Spiral model is an example of adaptive SDLC. Spiral
model handle project in iteration. SDLC phases are repeated
over and over on each different system components, with each
phase refining the result of the previous phase, until the system
25
is closer to what is ultimately needed. One way of doing spiral
approach is by creating prototypes on every iteration [14].
Adaptive approach has the advantage of flexibility
being able to cope with changes of requirement in the middle
of development. However the flexibility comes with high risk
due to not well defined requirements.
2.5 Unified Modeling Language Diagrams
Unified Modeling Language (UML) is a modeling language
developed by the Object Management Group (OMG) in 1997 with the
objective of providing common design language for building of computer
system and applications. It provides visual frameworks, such as diagrams and
notations, which can be used to visualize and describe system blueprints. It is
widely used and it has become the standard modeling notation for system
application development [15].
2.5.1 Activity Diagram
Activity diagram is an UML diagram that describes the
sequence of activities conducted by users in a transaction or a
business process [14]. The purpose of creating activity diagram is to
help describing workflow of a transaction using visualization,
particularly when it is difficult to be done written or verbally.
Activity diagram is built on symbols such as:
Swimlane, which is a rectangular area that represents the user
doing the activities.
26
Oval shape, which represent a single activity in the
workflow.
Arrows, that represents the sequence of activities.
Diamonds shape which act as decision point that branch out
the activities path.
Black circles that represent the start and end of a workflow.
Figure 2.4 Sample Activity Diagram [14]
2.5.2 Event Table
Event table is a collection of use cases that lists events in rows and
key pieces of information about each event in columns [14]. There are six
key pieces of information in event table which are: event, trigger, source, use
case, response, and destination. Event table will become the basis for data
flow diagram and use case diagrams for further analysis.
27
Figure 2.5 Sample Event Table [14]
2.5.2 Use Case Diagram
Use case diagram is diagrams that visualize different user roles
and how the user roles interact with the system [14]. Use case itself is
a term that refers to an activity that is carried out by the system which
could be the result of a trigger from the user. The purpose of creating
a use case diagram is to get visualization on the functional
requirement of the systems, which includes the relationship between
the user (or actors) to the system, and the relationship between one
use case to another use case [15].
In use case diagram, actors or user role is represented as stick
figure. Use case is represented as oval shape. Actor participation in a
use case is connected using line, and the system boundary is
represented by rectangle area.
28
Figure 2.6 Sample Use Case Diagram [14]
Use case diagram is often come together with a use case
description that provides the detailed information of each use cases.
Use case description list and describe in detail how each use case are
processed. A use case description contains the following information:
use case name, scenario, triggering event, brief description, actors,
related use cases, stakeholders, preconditions, postconditions, flow of
activities for both actor and system, and exception conditions.
2.5.3 Entity Relationship Diagram
Entity Relationship Diagram (ERD) is a model used to define
data storage requirements. Data storage requirements include the data
entities, data attributes, and relationships between data entities. Data
entities are things such as objects or data that the system needs to
store information [14].
29
ERD consist of three main notations: rectangle that represents
data entities, connecting line that represents relationship between data
entities, and “crow’s feet” that represent cardinalities between data
entities. Cardinalities describe the type of relationship and constraints
between entities. There are three types of relationships between data
entities:
One-to-One
One-to-Many
Many-to-Many
Figure 2.7 Sample Entity Relationship Diagram [14]
2.5.4 Data Flow Diagram
Data flow diagram (DFD) is a graphical system model that
visualizes all of the main requirements of an information system in
terms of input/output, process, and data storage [14]. It shows the
flow of data from external agent to the system, show how data is
moved from one process to another, and show how data is stored in
the logical database.
30
Figure 2.8 Data Flow Diagram Notations [14]
The detail of information presented by a DFD depends on the
level of abstraction of the DFD. At the most abstract (high level) view
of a system, a DFD is called as Context Diagram. Context diagram is
a DFD that provide summary of all processing activity within the
system. A high level DFD, such as context diagram, can be
decomposed into lower levels which give more details, and a
decomposed DFD can be further decomposed to provide more details
when needed [14].
31
Figure 2.9 Sample Context Diagram [14]
2.6 Database
“Shared collection of logically related data, and a description of this
data, designed to meet the information needs of an organization.” [16]
Database by definition refers to a collection of related and organized
data that is used primarily to support organizational informational needs.
Logically related data in the context refers to entities, attributes, and
relationships of an organization’s information [16]. Database provides the
organization with capabilities such as enabling data to be shared to multiple
users, enabling user to quickly query/search for data, and provides the user
with well processed and meaningful information. Database is usually
managed through software called Database Management Systems (DBMS),
32
which enable user to define, create, maintain, and control access to database
[16].
2.6.1 Relational Database System
One of the most common methods to organize data in database
is to use Relational Model. Database stored in this method is called
Relational Database. In Relational Database, data are organized into
tables (relation), consisting rows (record) and column (attribute) [16].
Every record must contain unique attribute (or set of attributes) called
Primary Key which is used to uniquely identify a record within a
relation and to link a relation with other relations [17]. The collection
of tables with rows and columns are the ones that made up relational
database.
Relational database is managed by Relational Database
Management System. In managing database, RDBMS follows three
main fundamentals [18]:
Information is stored in the form of table
Value found in table column should not be repeated
Structured Query Language (SQL) must be used
2.7 Interaction Design and User Interface
Sharp et al [19] describe interaction design as designing interactive
products that enhance and augment, the way people communicate and
interact in their everyday lives. Although interaction design can encompass
interaction with different varieties of medium, it is commonly associated with
33
interaction between human and computers. Interaction design is the umbrella
term that emphasizes different designing activities in which one of them
includes User Interface Design.
The focus of interaction design concerned with user experiences. User
experience is how people feel about a product when they are using the
product [19]. What people feel may include their pleasure, satisfaction, and
the sensual effect from the product they use. User experience cannot be
designed by people, what people can do is to create design features that evoke
the user experience.
The process of interaction design consists of four basic activities [19]:
1. Identifying needs and establishing requirements for user experience.
2. Developing alternative designs that meet the requirements.
3. Building interactive versions of the designs to be communicated and
assessed by user.
4. Evaluating what is being built and the user experience it offers.