library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2015-1... · Web viewThe word...
Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2015-1... · Web viewThe word...
CHAPTER 2
LITERATURE REVIEW
2.1 General Theory
2.1.1 Data
Data items refer to an elementary description of things, events,
activities, and transactions that are recorded, classified, and stored but not
organized to convey any specific meaning. Data items can be numbers,
letters, figures, sounds, or images (Rainer, Cegielski, Splettstoesser-Hogeterp,
& Sanchez-Rodriguez, 2014, p. 10).
2.1.2 Information
Information refers to data that have been organized so that they have
meaning and value to the recipient (Rainer, Cegielski, Splettstoesser-
Hogeterp, & Sanchez-Rodriguez, 2014, p. 10).
2.1.3 System
A computer system is a collection of hardware and software
components that work together to run computer programs. Specific
implementations of systems change over time, but the underlying concepts do
not. All systems have similar hardware and software components that perform
similar functions (Bryant & O'Hallaron, 2015, p. 1).
2.1.4 Information System
An information system is a set of interrelated computer components
that collects, processes, stores, and provides as output the information needed
to complete business tasks (Satzinger, Jackson, & Burd, 2012, p. 4).
2.1.5 Business Process
A business process consists of a set of activities that are performed in
coordination in an organizational and technical environment. These activities
jointly realize a business goal. Each business process is enacted by a single
7
8
organization, but it may interact with business processes performed by other
organizations (Weske, 2012, p. 5).
2.1.6 Business Process Improvement
Process improvement is defined as the job of examining the
processes used in a company, department, project, etc. to see how they can be
made more effective (Cambridge University Press, 2015). Business Process
Improvement (BPI) is defined as improving quality, productivity,
and response time of a business process, by removing non-value adding
activities and costs through incremental enhancements. Also called functional
process improvement (Jetson & Nelis, 2006).
2.1.7 User Interface
User interfaces are inputs and outputs that more directly involve a
system user. User interfaces can be for internal or external users. Their design
varies widely depending on such factors as interface purpose, user
characteristics, and characteristics of a specific interface device (Satzinger,
Jackson, & Burd, 2012, p. 189).
2.2 Technical Theory
2.2.1 System Analysis and Design
System analysis consists of those activities that enable a person to
understand and specify what the new system should accomplish. System
design consists of those activities that enable a person to define and describe
in detail the system that solves the need (Satzinger, Jackson, & Burd, 2012, p.
5).
2.2.2 Problem Domain
The problem domain is the specific area of the user’s business that is
included within the scope of the new system (Satzinger, Jackson, & Burd,
2012, p. 92).
9
2.2.3 System Development Life Cycle
System Development Life Cycle (SDLC) is the entire process
consisting of all the activities required to build, launch, and maintain an
information system. Normally, the SDLC includes all the activities that are
part of systems analysis, systems design, programming, testing, and
maintaining the system as well as other project management processes that
are required to successfully launch and deploy the new information system
(Satzinger, Jackson, & Burd, 2012, p. 6).
Six core processes required in the development of any new application:
1. Identify the problem or need and obtain approval to proceed.
2. Plan and monitor the project-what to do, how to do it, and who does it.
3. Discover and understand the details of the problem or the needs.
4. Design the system components that solve the problem or satisfy the need.
5. Build, test, and integrate system components.
6. Complete system tests and then deploy the solution.
2.2.4 Object-Oriented Approach
Object-oriented approach is a system development based on the view
that a system is a set of interacting objects that work together. Conceptually,
there are no processes or programs; there are no data entities or files. The
system consists of objects. An object is a thing in the computer system that is
capable of responding to messages (Satzinger, Jackson, & Burd, 2012, p.
241).
2.2.4.1 Object-Oriented Analysis
Object-oriented analysis (OOA) is the process of identifying
and defining the use cases and the set of objects (classes) in the new
system (Satzinger, Jackson, & Burd, 2012, p. 241).
2.2.4.2 Object-Oriented Design
Object-oriented design (OOD) is defining all of the types of
objects necessary to communicate with people and devices in the
system, showing how objects interact to complete tasks, and refining
10
the definition of each type of object so it can be implemented with a
specific language or environment (Satzinger, Jackson, & Burd, 2012,
p. 241).
2.2.4.3 Object-Oriented Programming
Object-oriented programming (OOP) is programming using
object-oriented languages that support object classes, inheritance,
reuse, and encapsulation. It is the writing of statements in a
programming language to define what each type of object does
(Satzinger, Jackson, & Burd, 2012, p. 241).
2.2.5 Unified Modeling Language
Many graphical models used in system development are drawn
according to the notation specified by the Unified Modeling Language
(UML). UML is a set of model constructs and notations defined by the Object
Management Group, a standards organization for system development. By
using UML, analyst and end users are able to depict and understand a variety
of specific diagrams used in a system development project (Satzinger,
Jackson, & Burd, 2012, p. 46).
2.2.5.1 Activity Diagram
An activity diagram describes the various user (or system)
activities, the person who does each activity, and the sequential flow
of these activities. The oval represent the individual activities in a
workflow. The connecting arrows represent the sequence between the
activities. The black circle denote the beginning and the ending of the
workflow. The diamond is a decision point at which the flow of the
process will either follow one path or another. The heavy solid line is
the synchronization bar, which either splits the path into multiple
concurrent paths or recombines concurrent paths. The swimlane
heading represents an agent who performs the activities. Because it is
common in a workflow to have different agents (i.e., people)
performing different steps of the workflow process, the swimlane
symbol divides the workflow activities into groups showing which
11
agent performs which activity (Satzinger, Jackson, & Burd, 2012, p.
57).
2.2.5.2 Use Case Diagram
The use case diagram is the UML model used to graphically
show the use cases and their relationship to users or actors. An actor is
a person who uses the system and an actor is always outside the
automation boundary of the system but may be part of the manual
portions of the system. Sometimes, the actor for a use case is not a
person; instead, it can be another system or device that receives
services from the system. A simple stick figure is used to represent an
actor. The stick figure is given a name that characterizes the role the
actor is playing. The use case itself is represented by an oval with the
name of the use case inside. The connecting line between the actor
and the use case indicates that the actor is involved with that use case.
Finally, the automation boundary which defines the border between
the computerized portion of the application and the people operating
the application, is shown as a rectangle containing the use case. The
actor’s communication with the use case crosses the automation
boundary (Satzinger, Jackson, & Burd, 2012, p. 78).
2.2.5.3 Use Case Description
Use case description is a detailed information of each use case.
A use case description lists and describes the processing details for a
use case. Depending on an analyst’s needs, use case descriptions tend
to be written at two separate levels of details: brief description and
fully developed description. A brief description can be used for very
simple use cases, especially when the system to be developed is a
small, well-understood applications. A simple use case would
normally have a single scenario and very few-if any-exception
conditions.
The fully developed description is the most formal method for
documenting a use case. One of the major difficulties for software
12
developers is that they often struggle to obtain a deep understanding
of the user’s needs. But if you create a fully developed use case
description, you increase the probability that you thoroughly
understand the business processes and the ways the system must
support them (Satzinger, Jackson, & Burd, 2012, p. 121).
2.2.5.4 Domain Model Class Diagram
Class diagram is used to show classes of objects for a system.
One type of UML class diagram that shows the things in the users’
problem domain is called domain model class diagram. The Domain
Model Class Diagram shows a set of problem domain classes and
their associations. On a class diagram, rectangles represents classes,
and the lines connecting the rectangles show the associations among
classes. The domain class symbol is a rectangle with two sections.
The top section contains the name of the class, and the bottom section
lists the attributes of the class. Class names and attribute names use
camelback notation, in which the words run together without a space
or underscore. Class names begin with a capital letter; attribute names
begin with a lowercase letter. Class diagrams are drawn by showing
classes and associations among classes (Satzinger, Jackson, & Burd,
2012, p. 101).
2.2.5.5 First-Cut and Updated Design Class Diagram
The design class diagram is developed is two steps: The first-
cut diagram is based on the domain model class diagram, but then it is
expanded as responsibilities are assigned and sequence diagrams are
developed. Design class diagrams include additional notation because
design classes are now software classes, not just work concepts.
Updated Design Class Diagram (DCD) is a summary of the
final design that was developed by using detailed sequence diagrams,
and it is used directly when developing the programming code. At this
level, the key issues are attribute elaboration and adding methods.
Method signatures include visibility, method name, arguments, and
return types. (Satzinger, Jackson, & Burd, 2012, pp. 308-317)
13
2.2.5.6 System Sequence Diagram
System sequence diagram (SSD) is used to describe the flow
of information into and out of the automated system. Thus, an SSD
documents the inputs and the outputs and identifies the interaction
between actors and the system. SSD is a type of interaction diagram.
A stick figure represents an actor-a person (or role) that interacts with
the system. An actor interacts with the system by entering input data
and receiving output data.
The box labelled :System is an object that represents the entire
automated system. Underneath the actor and :System are vertical lines
called lifelines. A lifeline, or object lifeline, is simply the extension of
that object-either the messages that are sent by the actor. Each arrow
has an origin and a destination. The origin of the message is the actor
or object that sends it, as indicated by the lifeline at the arrow’s tail.
Similarly, the destination actor or object of a message is indicated by
the lifeline that is touched by the arrowhead. The purpose of lifelines
is to indicate the sequence of the messages sent and received by the
actor and object. A message is an action that is invoked on the
destination object, much like a command. A message is labelled to
describe its purpose and any input data being sent. The message name
should follow the verb-noun syntax to make the purpose clear
(Satzinger, Jackson, & Burd, 2012, pp. 333-334).
2.2.5.7 Multilayer Sequence Diagram
Multilayer sequence diagram shares the same logic as system
sequence diagram while adding the view layer and the data access
layer. Every system will need view layer classes to represent the input
and output screens for the application. Data access layer classes are
not always required. The data access layer is required when the
business logic is fairly complex and should be isolated from the SQL
statements that access the database. The separation of responsibilities
is the motivating factor behind the design of the data access layer. To
14
design the data access layer, analyst no longer assume that the objects
are automatically in memory when we need them; that is, we
disregard the perfect memory assumption. The final step of multilayer
design of particular use case is to add the view layer. Documenting the
user interface design with the view layer on a sequence diagram often
helps to envision the integration of the user interface with other
system object classes. There are two sources of inputs for design of
the view layer. First is the user-interface components that were
designed during user-interface design. The second source is either the
first-cut sequence diagram with the data access classes identified
(Satzinger, Jackson, & Burd, 2012, pp. 345-349).
2.2.5.8 Communication Diagram
Communication diagram is a type of interaction diagram that
emphasizes the objects that send and receive messages for a specific
use case. Communication diagrams are useful for showing a different
view of the use case – one that emphasizes coupling. Communication
diagrams are also easier to use to sketch design ideas in a meeting, as
they are easier to change and rearrange on the fly (Satzinger, Jackson,
& Burd, 2012, pp. 332-349).
2.2.5.9 Package Diagram
Package diagram is a high-level diagram that allows designers
to associate classes of related groups. Package diagram categorizes
view layer, domain layer, and data access layer as a separate group.
The classes are placed inside the appropriate package based on the
layer to which they belong. Classes are associated with different
layers as they are developed in the interaction diagrams.
To develop this package diagram, designer simply extracted
the information from design class diagrams and interaction diagrams
for each use case. The other symbol used on a package diagram is a
dashed arrow, which represent dependency relationship. The arrow’s
tail is connected to the package that is dependent, and the arrowhead
15
is connected to the independent package. In summary, package
diagrams show related components and dependencies. Generally,
package diagram is used to generate classes or other system
components such as network nodes (Satzinger, Jackson, & Burd,
2012, pp. 425-426).
2.2.6 Database Concepts
2.2.6.1 Database
A database (DB) is an integrated collection of stored data that
is centrally managed and controlled. A database typically stores
information about dozens or hundreds of classes (Satzinger, Jackson,
& Burd, 2012, p. 373).
2.2.6.2 Database Management System
Database management system (DBMS) is a system software
component that manages and controls one or more databases. The
database consists of two related information stores: the physical data
store and the schema. The physical data store contains the raw data
bits and bytes of data store that are created and used by the
information system. The schema contains descriptive information
about the data stored in the physical data store (Satzinger, Jackson, &
Burd, 2012, p. 373).
2.2.6.3 Relational Database
A relational database management system (RDBMS) is a
DBMS that organizes stored data into structures called tables or
relations. Relational database tables are similar to conventional tables;
that is, they are two-dimensional data structures of columns and rows.
However, relational database terminology is somewhat different from
conventional table and file terminology. A single row of a table is
called a row, tuple, or record, and a column of a table is called an
attribute or field. A single cell in a table is called an attribute value,
field value, or data element.
16
Each table in a relational database must have a unique key. A
key is an attribute or set of attributes, the values of which occur only
once in all the rows of the table. If only one attribute (or set of
attributes) is unique, then that key is also called the table’s primary
key. A foreign key is an attribute that duplicates the primary key of a
different (or foreign) table (Satzinger, Jackson, & Burd, 2012, pp.
374-376).
2.2.6.4 Entity-Relationship Diagram
Entity-Relationship Diagram (ERD) is a diagram consisting of
data entities and their relationships. The ERD is not a UML diagram,
but it is very commonly used by traditional analysts and database
analysts. On the ERD, rectangles represent data entities, and the lines
connecting the rectangles show the relationships among data entities
(Satzinger, Jackson, & Burd, 2012, pp. 98-101).
2.2.6.5 Normalization
Normalization is a formal technique used for evaluating and
improving the quality of a relational database schema. It determines
whether a database schema is flexible and whether it contains any of
the “wrong” kinds of redundancy. It also defines specific methods to
eliminate redundancy and improve flexibility (Satzinger, Jackson, &
Burd, 2012, p. 383).
2.2.6.6 Data Types
A data type defines the storage format and allowable content
of a program variable, class attribute, or relational database attribute
or column. Primitive data types are supported directly by computer
hardware and programming languages and include integers, single
characters, and real numbers (floating-point numbers). Complex data
types are combinations of or extensions to primitive data types that
are supported by programming languages, operating systems, and
DBMSs (Satzinger, Jackson, & Burd, 2012, p. 386).
17
2.3 Web Development Terminologies
2.3.1 Internet
The word internet originates in the 1970s denoting a computer
network connecting two or more smaller networks. The internet is an
association of computer networks with common standards which enable
messages to be sent from any registered computer (or host) on one network to
any host on any other (Crystal, 2006, p. 3).
2.3.2 HTML
Web pages are created using Hypertext Markup Language (HTML),
which is an authoring language used to create documents on the World Wide
Web. HTML uses a set of special instructions called tags or markup to define
the structure and layout of a Web document and specify how the page is
displayed in a browser (Shelly & Woods, 2009, p. 8).
2.3.3 Cascading Style Sheet
Cascading Style Sheets (CSS) is a language designed for describing
the appearance of documents written in a mark-up language such as HTML.
With CSS, the colour of text, the style of fonts, the spacing between
paragraphs, how the columns are sized and laid out, what background images
or colours are used, and a variety of other visual effects can be controlled.
One of the major benefits is that the same CSS can be used by more than one
page, meaning that the style of an entire website can be adjusted without
having to change each page individually (Pouncey & York, 2011, p. 3).
2.3.4 JavaScript
JavaScript is a dynamical and scripting programming language which
runs on client’s web browser. JavaScript enrich user experience in operating
the website by providing interactive element to the web page. JavaScript
implementation allows the users to communicate asynchronously, alter the
document content, and control the browser. JavaScript also contributed to the
development of web-based game and the creation of desktop and mobile
application (Charles, 2012, pp. 7-8).
18
2.3.5 PHP
PHP is a widely-used Open Source, general-purpose, scripting
language that is especially suited for Web development and can be embedded
into HTML. According to the php.net site, the acronym “PHP” is short for
“PHP: Hypertext Preprocessor”. Its syntax draws upon C, Java, and Perl, and
is easy to learn. The main goal of the language is to allow web developers to
write dynamically generated web pages quickly, there are many more things
which can be done with PHP. PHP supports all major operating systems,
including Linux/UNIX, Microsoft Windows, Mac OS X, and others. PHP has
also support most of the web servers including Apache, Microsoft Internet
Information Server, Personal Web Server, Netscape, iPlanet servers, and
many others (Wu, 2014).
2.3.6 Laravel
Laravel is a free, open-source PHP web application framework,
created by Taylor Otwell and intended for the development of web
applications following the model–view–controller (MVC) architectural
pattern. Some of the features of Laravel are a modular packaging with a
dedicated dependency manager, different ways for accessing relational
databases, utilities that aid in application deployment and maintenance, and
its orientation toward syntactic sugar (Otwell, 2015).
2.4 Special Theory
2.4.1 Community
A community is a group of people living in the same place or having a
particular characteristic in common. It can also be defined as a feeling of
fellowship with others, as a result of sharing common attitudes, interests, and
goals (Blewitt, 2008).
2.4.1.1 Community Characteristics
Several characteristics of the community can give clues to the
degree of its social cohesion and anticipate problems that may arise.
These characteristics include the history of the community and its
19
relations with others, its present social structure, its cultural values
and the way it governs itself (Food and Agriculture Organization of
the United Nations, 2015).
2.4.1.2 Community Organizing
Organizing can be defined as arranging several elements into a
purposeful sequential or spatial (or both) order or structure, or
assembling required resources to attain organizational objectives. On
the other hand, community organizing allows people who share a
particular geographic space or identify to find shared issues and goals,
as well as the resources they can use collectively to achieve those
goals (Minkler, 2012, p. 288).
2.4.2 Empowerment
Empowerment can be defined as the authority or power given to
someone to do something, or the process of becoming stronger and more
confident, especially in controlling one’s life and claiming one’s rights
(Blewitt, 2008).
2.4.3 Community Empowerment
Community empowerment refers to the process of enabling
communities to increase control over their lives. Community empowerment,
therefore, is more than the involvement, participation or engagement of
communities. It implies community ownership and action that explicitly aims
at social and political change. Community empowerment is a process of re-
negotiating power in order to gain more control. It recognizes that if some
people are going to be empowered, then others will be sharing their existing
power and giving some of it up (World Health Organization, 2015).
Community empowerment can be realized through the active
participation of the community facilitated by the perpetrators of
empowerment. The main objectives of community empowerment are those
who are weak and do not have the power, strength, or the ability to access
productive resources, and also communities marginalized in development.
20
The final goal of the community empowerment process is to form
independent citizens in order to improve the lives of families and to optimize
the usages of available resources (Widjajanti, 2011).
2.4.4 Maturity Model
A maturity model is a tool that helps people assess the current
effectiveness of a person or group and supports figuring out what capabilities
they need to acquire next in order to improve their performance. Maturity
models are structured as a series of levels of effectiveness. It's assumed that
anyone in the field will pass through the levels in sequence as they become
more capable (Fowler, 2014).
2.4.5 Community Maturity Model
Community Maturity Model (CoMM) can be developed to assess a
community based on a series of focus group meetings. A CoMM assesses
members’ participation, collaboration and decision-making, and the
knowledge capacity of any community (Boughzala & Bououd, 2013).
2.4.5.1 Aspect
Aspect can be defined as a particular part or feature of
something or a particular way in which something may be considered.
A CoMM withholds several aspects that are used to assess a
community through a particular way that its maturity may be
considered (Boughzala & Bououd, 2013).
2.4.5.2 Level
Level can be defined as a position on a scale of amount,
quantity, extent, or quality. Level can also be defined as
an intellectual, social, or moral standard. A CoMM withholds several
levels that determines the community’s position in terms of maturity
on a certain aspect (Boughzala & Bououd, 2013).
21
2.4.6 Quality of Life
Quality of life in social sciences is a concept related to different
dimensions of a society, it is on the one hand related to the goal and value
discussion of societies, and on the other hand to the quality of societies, of its
social conditions and social trends. Quality of life implies a positive view of
the world, but it does not neglect the negative features of society, like
alienation and exclusion, anxieties and fears, as well as worries and
loneliness. The concept of quality of life is aware of the multiplicity and
ambivalence of human life (Glatzer, Below, & Stoffregen, 2012).
2.4.7 Poverty
Poverty is a condition where people’s basic needs for food, clothing,
and shelter are not being met. Poverty is generally of two types. Absolute
poverty is synonymous with destitution and occurs when people cannot
obtain adequate resources (measured in terms of calories or nutrition) to
support a minimum level of physical health. Absolute poverty means about
the same everywhere, and can be eradicated as demonstrated by
some countries. Relative poverty occurs when people do not enjoy a certain
minimum level of living standards as determined by a government (and
enjoyed by the bulk of the population) that vary from country to country,
sometimes within the same country. Relative poverty occurs everywhere, is
said to be increasing, and may never be eradicated (Stewart, Saith, & Harriss-
White, 2007, p. 23).
2.4.8 Gini Index
Gini index measures the extent to which the distribution of income
(or, in some cases, consumption expenditure) among individuals or
households within an economy deviates from a perfectly equal distribution. A
Lorenz curve plots the cumulative percentages of total income received
against the cumulative number of recipients, starting with the poorest
individual or household. The Gini index measures the area between the
Lorenz curve and a hypothetical line of absolute equality, expressed as a
percentage of the maximum area under the line. Thus a Gini index of 0
22
represents perfect equality, while an index of 100 implies perfect inequality
(The World Bank, 2013).
2.4.9 Economic Inequality
Economic inequalities are most obviously shown by people’s different
positions within the economic distribution - income, pay, wealth. However,
people’s economic positions are also related to other characteristics, such as
whether or not they have a disability, their ethnic background, or whether
they are a man or a woman (The Equality Trust, 2015).
2.4.9.1 Income Inequality
Income inequality is the extent to which income is distributed
unevenly in a group of people. Income is not just the money received
through pay, but all the money received from employment (wages,
salaries, bonuses etc.), investments, such as interest on savings
accounts and dividends from shares of stock, savings, state benefits,
pensions (state, personal, company) and rent.
2.4.9.2 Pay Inequality
Pay refers to payment from employment only. This can be on
an hourly, monthly or annual basis, is typically paid weekly or
monthly and may also include bonuses.
2.4.9.3 Wealth Inequality
Wealth refers to the total amount of assets of an individual or
household. This may include financial assets, such as bonds and
stocks, property and private pension rights. Wealth inequality
therefore refers to the unequal distribution of assets in a group of
people.