Development on Application of Software Engineering ...
-
Upload
khangminh22 -
Category
Documents
-
view
4 -
download
0
Transcript of Development on Application of Software Engineering ...
THESIS REPORT
Development on Application of Software Engineering
Dictionary with Use of Regular Expression Method Based
on Android System
Created By:
Raden Alexander Jackhariyas
107091102760
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
STATE ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH
JAKARTA
2011 M / 1432 H
Development on Application of Software Engineering
Dictionary with Use of Regular Expression Method Based
on Android System
THESIS
One of the requirements to obtain a Bachelor degree in Computer Science at
Informatics Engineering Department Faculty of Science and Technology
State Islamic University Syarif Hidayatullah Jakarta
RADEN ALEXANDER JACKHARIYAS
107091102760
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
STATE ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH
JAKARTA
2011 M / 1432 H
EXAM VALIDATION
Thesis with title “Development on Application of Software Engineering Dictionary with Use of Regular Expression Method Based on Android System”has been tested and has passed in Thesis Defence (Munaqosah) session of Faculty of Science and Technology, State Islamic University Syarif Hidayatullah Jakarta, on Friday, August 05, 2011. This thesis has been accepted as one of the requirements to obtain a Bachelor degree in Computer Science.
Jakarta, 05 June 2011
Examiner Team,
Examiner I
Yusuf Durachman M.Sc, MIT
NIP. 19710522 200604 1 002
Examiner II
Arini, MT NIP. 19760131 200901 2 001
Supervisor Team,
Supervisor I
Husni Teja Sukmana, Ph.D
NIP. 19771030 200112 1 003
Supervisor II Ria Hari Gusmita, M.Kom
NIP. 19820817 200912 2 002
Knowing,
Dean of Faculty of Science and Technology
DR. Syopiansyah Jaya Putra, M.Sis
NIP. 19680117 200112 1 001
Head of
Informatics Engineering Yusuf Durachman M.Sc, MIT
NIP. 19710522 200604 1 002
STATEMENT
I HEREBY DECLARE THAT THIS THESIS IS REALLY WORKS OF MINE THAT
HAVE NOT YET MADE AS THESIS SCIENTIFIC WORKS IN ANY UNIVERSITY
OR INSTITUTION.
Jakarta, 05th August 2011
Raden Alexander Jackhariyas
107091102760
ABSTRACT
Raden Alexander Jackhariyas, Developing Software Engineering Terminology Dictionary Application Using Regular Expression Method Based on Android System, Supervisor by Husni Teja Sukmana, Ph.D and Ria Hari Gusmita, M.Kom. Using dictionary people can search new word to get the explanation of that meaning for example the meaning of Waterfall, Bubble Short, Testing, etc. Some application dictionary already existed like Google Translate and that’s all base on desktop or laptop and some of them already used regular expression as a solution to solve missing typing and interactive function to give developer suggestions in developing their application like Babylon or web based application. In this system, writer create software technology base on mobile device which is used android system. Database used in this application using SQLite. Process flow in this application are install the application, install the database and copy it to SDcard storage. In this application, users provided single match method which is help the users in searching. User also can be participate in developing application by using edit which had function give suggestion to the developer in developing application. Also the database in this application can be updated user need. In this research the writer is using Object Oriented Analysis and Design for developing the application because writer do object approach base on application which is already exist.
Keywords: Dictionary, Regular Expression, Match Single Character, Object Oriented Analysis and Design (OOAD), Android, SQLite, Software Engineering.
Number of Pages: 95 Pages
Total References: 24 sources
Total Pictures: 50 pictures
Total table: 8 Tables
PREFACE
Praise and gratitude to Allah SWT who poured mercy, guidance, and assistance,
so I can finish my thesis. The title of this thesis is “Developing Software
Engineering Terminology Dictionary Application Using Regular Expression
Method Based on Android System” intended to meet the requirements in
completing the educational from Science and Technology, UIN Syarif
Hidayatullah Jakarta.
On this occasion, I also want to say a big thank you to:
1. DR. Syopiansyah Jaya Putra, M. SIS, as the Dean of the Faculty of
Science and Technology, UIN Syarif Hidayatullah Jakarta,
2. Mr. Yusuf Durachman, M.Sc, MIT as a Head of the Informatics
Engineering Program, Faculty of Science and Technology, UIN Syarif
Hidayatullah Jakarta,
3. Mrs. Ria Hari Gusmita, M.Kom as Technical Coordinator of International
Class and my supervisor II
4. Husni Teja Sukmana, Ph.D as Head of PUSKOM and my supervisor I
5. Ms. Mamitha Deramayang as a staff in international Class.
Disposition of this report is far from perfect, therefore I expect criticism and
suggestions that are constructive to make this report better. Finally, I hope this
report particularly useful to the authors themselves and for those who read it.
Jakarta, 05th August 2011
Raden Alexander Jackhariyas
List of Content
STATEMENT................................................................................................. i
ABSTRACT...................................................................... ............................ ii
PREFACE....................................................................................................... iii
LIST OF CONTENT.......................................................................... .............. v
LIST OF PICTURE......................................................................................... x
LIST OF TABLE...................................................................... .......................xiii
DEFINE OF GENERAL TERM..................................................................xiv
ATTACHMENT...........................................................................................xv
CHAPTER I INTRODUCTION
1.1 Background of Problem…….………...................................................... 1
1.2 Problems Identification............................................................................ 4
1.3 Objective.................................................................................................. 5
1.4 Limited of Scope………………………................................................. 5
1.5 Benefit of Research..................................................................................6
1.6 Research Methodology............................................................................7
1.6.1 Method of Gathering Data.....................................................7
1.6.2 System Development Method...............................................7
1.7 Structure of Report..................................................................................8
CHAPTER II LITERATURE REVIEW
2.1 Concept of Dictionary.................................................................. ............10
2.2 System......................................................................................................11
2.3 Software................................................................................................... 12
2.3.1 Software Engineering......................................................................... 14
2.4 System Engineering................................................................................. 15
2.5 System Modeling..................................................................................... 16
2.6 OOAD Process Model............................................................................. 16
2.6.1 Understanding of Object Oriented................................................... 16
2.6.2 Basic Principles of Object Oriented............................................. 17
2.6.3 The Concept of Object Oriented Analysis and Design (OOAD)......... 18
2.6.4 Rich Picture..................................................................................... 19
2.6.5 Experiments with Prototype............................................................. 19
2.6.6 Development Cycle with OOAD..................................................... 20
2.7 Object-Oriented Design and Modeling Using the UML (Unified Modeling
Language)........................................................................................................ 25
2.7.1 Basic Concept of UML................................................................... 25
2.8 Various Platform......................................................................................28
2.8.1 Blackberry......................................................................................2 8
2.8.2 Symbian..................................................................................... ....28
2.8.3 Android….....................................................................................29
2.8.3.1 Data Storage Methods…...……………..…………...29
2.8.3.2 Shared Preferences......................................................29
2.8.3.3 SQLite Database...................................................... ....30
2.9 File Saving and Loading..............................................................................30
2.10 Indexing..................................................................................................31
2.11 Regular Expression.................................................................................32
2.11.1 Basic Regular Expression Skills ................................................ 32
2.11.2 Matching Single Characters.................................................... 33
2.11.3 Matching Optional Character......................................................34
2.11.4 Matching Multiple Optional Characters...................................... 35
2.12 PHP.........................................................................................................36
2.13 MYSQL................................................................................................. 38
2.14 XAMPP ........................................................... ......................................38
2.14 Related Works........................................................................................39
CHAPTER III RESEARCH METHOD
3.1 Gathering Data Method............................................................................49
3.1.2Interview Method..................................................................... 49
3.2 The System Developing Method............................................................. 49
3.2.1 System Development Methodology…………………………… 50
3.3 Selection of Platform................................................................................53
3.4 Selection of Searching Method................................................................53
CHAPTER IV THE RESULT AND THE EXPLANATION
4.1 Problem Domain Analysis............................................................... .................. 54
4.1.1 Find Classes....................................................................................... 57
4.1.2 Find Events........................................................................................ 58
4.1.3 Structure............................................................................................. 60
4.1.4Behaviour...............................................................................61
4.2 Application Domain Analysis…………………………………………........ 64
4.2.1 Usage................................................................................ .................. 64
4.2.2 Use Case Narrative............................................................................. 65
4.2.2.1 Use Case Narrative for Login.......................................65
4.2.2.2 Use Case Narrative for Manage Database....................66
4.2.2.3 Use Case Narrative for Manage Website......................67
4.2.2.4 Use Case Narrative for Manage User...........................68
4.2.2.5 Use Case Narrative for Searching................................69
4.2.2.6 Use Case Narrative for Translating..............................70
4.2.2.7 Use Case Narrative for Updating.................................71
4.2.2.8 Use Case Narrative for Setting.....................................71
4.2.3 Describe Use Case.............................................................................. 73
4.2.3.1Activity Diagram for Login................................................ 73
4.2.3.2 Activity Diagram for Manage Database........................... 74
4.2.3.3 Activity Diagram for Manage Website.............................. 75
4.2.3.4 Activity Diagram for Manage User.................................... 76
4.2.3.5 Activity Diagram for Searching.......................................... 77
4.2.3.6 Activity Diagram for Translating....................................... 78
4.2.3.7 Activity Diagram for Updating........................................... 79
4.2.3.8 Activity Diagram for Setting.............................................. 80
4.3.4 Functions Complexity Type............................................................... 81
4.3.5. Interfaces........................................................................................... 83
4.3.5.1Sequence Diagram for Login.............................................. 83
4.3.5.2 Sequence Diagram for Manage Database...........................84
4.3.5.3 Sequence Diagram for Searching....................................... 85
4.3.5.4 Sequence Diagram for
Setting............................................................................................. 87
4.3.5.5 Sequence Diagram for
Updating.................................................................... ..................... 88
4.3.5.6 Sequence Diagram for
Suggestion...................................................................................... 89
4.4Architectural Design.......................................................................... ................ 90
4.4.1 Criteria................................................................................................ 90
4.4.2 Components Architecture................................................................... 93
4.4.3 Deployment Diagram......................................................................... 93
4.5Components Design................................................................................... ......... 94
4.6 Programming...................................................................................................... 97
4.7 Testing.......................................................................................................... 102
CHAPTER V CONCLUSION AND RECOMMENDATION
5.1 Conclusion….......................................................................................... 104
5.2 Recommendation....................................................................................105
REFERENCES..........................................................................................106
ATTACHMENT............................................................................. ...........109
List of Picture
Figure 2.1Software Engineering Layers……………………………………..…..15
Figure 2.2 Understanding the attributes and the operations will make objects
become real………………………………………………………………………17
Figure 2.3 Example of Understanding Inheritance. Kitchen Equipment and
Furniture is inherited from House wares…………………………………….…...17
Figure 2.4 Development Cycle OOAD…………………………………….……20
Figure 3.1 System Development Method...………………………………..…….52
Figure 4.1 State Chart Flow diagram…………………………………….……...60
Figure 4.2Statechart diagram for class “Searching"……………………..……....61
Figure 4.3Statechart diagram for a class “Translate"…………………..………..62
Figure 4.4Statechart diagram for a class “Update"………………….……….....63
Figure 4.5 Use Case Diagrams………………………………………………….64
Figure 4.6 Use-case narratives for login………………………………………..65
Figure 4.7 Use-case narratives for manage database…………………………..66
Figure 4.8 Use-case narratives for manage website…………………………....67
Figure 4.9 Use-case narratives for manageuser………………………………...68
Figure 4.10 Use-case narratives for searching……………………………….....69
Figure 4.11 Use-case narratives for translating………………………………...70
Figure 4.12 Use-case narratives for updating………………………………......71
Figure 4.13 Use-case narratives for setting…………………………………….72
Figure 4.14 Actor specification………………………………………………...73
Figure 4.15 Activity Diagram for Login……………………………………...73
Figure 4.16 Activity Diagram for Manage Database…………………………74
Figure 4.17 Activity Diagram for Manage Website…………………………..75
Figure 4.18 Activity Diagram for Manage User……………………………...76
Figure 4.19 Activity Diagram for Searching…………………………………77
Figure 4.20 Activity Diagram for Translating………………………………..78
Figure 4.21 Activity Diagram for Updating…………………………………79
Figure 4.22 Activity Diagram for Setting…………………………………….80
Figure 4.23 Sequence Diagram for Login…………………………………...83
Figure4.24 Sequence Diagram for Manage Database………………………84
Figure4.25 Sequence Diagram for Searching……………………………….85
Figure4.26 Sequence Diagram for Setting………………………………….87
Figure4.27 Sequence Diagram for Updating……………………………….88
Figure4.28 Sequence Diagram for Suggestion……………………………...89
Figure4.29Component Architecture for dictionary application……………..93
Figure4.30 Deployment Diagram…………………………………………...94
Figure 4.31 Application design main screen………………………………...95
Figure 4.32 Application design searching screen…………………………...96
Figure4.33Application design menu screen………………………………..96
Figure4.34Application design translate screen…………………………….96
Figure4.35 Application design about screen………………………………..97
Figure 4.36 Splash Screen…………………………………………………..97
Figure 4.37 Main Screen……………………………………………………98
Figure 4.38 Search Screen…………………………………………………98
Figure 4.39 Translate Screen………………………………………………99
Figure 4.40 Menu Screen………………………………………………….99
Figure 4.41 About Screen…………………………………………………100
Figure 4.42 Setting Screen………………………………………………...100
Figure 4.43 Update Screen………………………………………………..101
Figure 4.44 Suggestion Screen…………………………………………….101
List of Table
Table 2.1 Activities in architectural design…………………………………….23
Table 2.2 Criteria Measure………………….…………………………………..23
Table 4.1 Class Candidates…………………………………………………….57
Table 4.2 Candidates for Event………………………………………………...58
Table 4.3 Function List…………………………………………………………81
Table 4.4The priority of design criteria……………...………………………....91
Table 4.5 Table of Dictionary Software Engineering………………………….95
Table 4.6 Testing……………………………………………………………….102
Define of General Term
Android : Free Mobile Operating System developed by Google. Inc
OOAD : Object Oriented Analysis and Design
UML : Unified Modeling Language
User : End Users
Administrator : A person responsible for running technically advanced
information systems
Black box : A new type of software testing based on the inputs,
outputs user.
SQLite : Database for storing data
Regular Expression : Specific kind of text pattern
HTML : HyperText Markup Language
CHAPTER I
INTRODUCTION
1.1 Background of Problem
Based on Soanes (2004), terminology is the body of terms used in a
subject of study, profession, etc. Terms are words and compound words
that are used in specific contexts. Not to be confused with "terms" in
colloquial usages, the shortened form of technical terms (or terms of art)
which are defined within a discipline or special field. In Informatics
Engineering field many kind of words or terminology which are new or
strange in people mind, also because of writer interest program is software
engineering, the specification field that will be used in research
terminology is about software engineering, by using dictionary writer can
search new word to get the explanation of that meaning for example the
meaning of Waterfall, Bubble Short, Testing, etc.
Based on Soanes (2004), interactive is two people or things
influencing each other. Another definition said Interactive is computer or
other electronic device responding to the user's input. With implement
interactive function, users can participate in developing application and it
will be main attraction for our application, also it will help us in update the
database.
Miss typing is a false typing or false process of writing. Sometimes
miss typing becomes problem in searching the meaning of the words for
example if writer type enginering but it should be engineering. One of
solution to solve missing typing is by using regular expression, writer
choose regular expression as a method to solve missing typing because in
regular expression have a method that is suitable in solving missing
typing. Regular expression often called a pattern, is an expression that
describes a set of strings. They are usually used to give a concise
description of a set, without having to list all elements. Program will give
some suggestion that may help in process of writing to get the meaning.
One of the issues is some detail situation where you want to match
occurrences of characters other than those characters simply occurring
once, there’s some method can be used:
1. Match single characters
2. Match optional characters
3. Other Cardinality Operators
4. The Curly-Brace Syntax
In developing application writer will use Match Single Characters
because Match Single Characters method is match a single, specified
alphabetic character or numeric digit, simply use a pattern that consists of
that character or digit.
Some application already used regular expression as a solution to
solve missing typing and interactive function to give developer
suggestions in developing their application like Babylon or web based
application like Google Translate and that’s all base on desktop or laptop
in which have weakness, that’s are:
1. Need space in the bag because the user need to bring laptop
2. Heavy because of the device’s size
3. Need internet connection to access dictionary like Google
Translate
4. Need turn on desktop or laptop which are not efficient in
term time needed
Solution to handle that weakness is by using mobile device to embedded
dictionary application. With mobile device more advantages will gets are:
1. Most of people already have mobile in their pocket
2. Small size of the mobile will reduce space to use
3. Don’t need internet connection to access dictionary except
when the user want to update.
With mobile application time consumption to know the explanation can be
reduce. Beside of that just few application base on mobile and rarely to
find mobile dictionary used regular expression in their application like
Nokia Mobile Dictionary and Pocket Oxford English Dictionary for
Blackberry 5.10.
There are some Operating System that support for mobile such as
Android, Black Berry, Symbian, etc. In developing application writer will
use Android Operating System because Android is complete, free, and
open-source software for mobile devices that includes an operating
system, middleware and key applications, and best of all, there are no
costly barriers to entry for developers. Developing applications for
Android devices is facilitated by a group of tools that are provided with the
SDK that can access these tools through an Eclipse plug-in called ADT
(Android Development Tools) or from the command line. Developing with
Eclipse is the preferred method because it can directly invoke the tools that
you need while developing applications.
Base on the explanation above, so writer will make a research with
title, “Development on Application of Software Engineering
Dictionary with Use of Regular Expression Method Based on Android
System.”
1.2 Problem Identification
According to the background in which writer already explained
above, the problem identification in this research are:
1. How to develop dictionary application which exist in mobile
device?
2. How to handle missing typing in searching by using match single
character?
3. How to create simple searching by using Autolink?
4. How to make application more interactive so the database can be
updated?
1.3. Objective
The main Objective of this research is to develop a new application
of software engineering dictionary with use of regular expression based on
mobile technology. Specific objects as follow:
1. To Give solution or minimize miss typing while searching for
terminology in dictionary by using regular expression.
2. To develop pocket dictionary which is exist on mobile device.
3. To develop interactive dictionary which users can participate in
updating terminology software engineering.
4. To develop solution easy searching using auto link.
5. To develop dictionary application for people in order to learn
terminology of Software Engineering.
1.4. Limited of Scope
Some of limited of scope for this research:
1. This dictionary will take the scope about Software Engineering
terminology base on book of Software Engineering A
Practitioner's Approach Pressman (5th Ed)(2001) that will be
accessed from http://www.rspa.com/spi/glossary.html
2. Using Android SDK version 11 and ADT version 11 for
developing the application and would be used for Android OS.
3. The method will be used in this research to solve missing
typing is Match Single Characters Regular Expression.
4. The program will be developed by using emulator Android
Virtual Device (AVD) version 9.
5. Using SQLite to create database in application
1.5. Benefit of Research
The benefit of this research are:
1. The writer
a) Understanding how Regular Expression handle missing
typing
b) Understanding about application base on mobile
technology
c) Understanding about SQLite Database
d) This research is one of the requirement for achieving a
bachelor degree program
2. The user
a) Facility user accessing dictionary by using mobile
device
b) Solving user problem in missing typing.
c) Easy get up to date database
d) Can be participated in developing application
1.6. Research methodology
Writer steps to complete data to make this research to support the
argument and the explanation. Before developing application, writer must
gather the data. The methodology research that I use:
1.6.1. Interview method
Based on Hasibuan (2007), the interview, in which researchers
ask questions with the interviewees, both the status of the
informant as an informant or respondent. The interview is a
conversation with a purpose. The conversations conducted two
parties, namely interviewer that ask questions and interviewee
which provides answers to questions.
1.6.2. System Development Method
Writer using Object Oriented Analysis and Design (OOAD)
with UML (Unified Model Language). Six types of diagrams used
in this study were: Statechart Diagram, Use Case Diagram, Activity
Diagram, Class Diagram, Sequence Diagram and Deployment
diagram. There are 6 main activities in using UML method for
OOAD:
1.Problem domain analysis
2.Application Domain Analysis
3.Architectural Design
4.Component Design.
5.Programming.
6.Quality Assurance
1.7. Structure of the Report
In this thesis writing, the writer divides the report into five chapters
with some explanation in each chapter. The writing scheme:
CHAPTER I INTRODUCTION
Chapter one gives an overview of the thesis, which
consist of background of problem, problem
identification, limited of scope, objective,
advantage, research methodology, and structure of
the report.
CHAPTER II LITERATURE REVIEW
This chapter is consisting of theories that writer use
to support this research.
CHAPTER III RESEARCH METHODOLOGY
Chapter three outlines the research methods used in
collecting data for analysis and the steps to create
the application.
CHAPTER IV RESULT AND EXPLANATION
Writer will explain about how to create application
base on steps that already explained in Chapter III.
It will cover system analysis, database design,
application design, code design, and
implementation.
CHAPTER V CONCLUSION AND RECOMMENDATION This
part, summarizes the study’s findings, and
recommendation to make system better.
CHAPTER II
LITERATURE REVIEW
2.1. Concept of Dictionary
Based on Soanes (2004), dictionary is a book that lists the words of
a language in alphabetical order and gives their meaning, or their
equivalent in a different language.
Based on Nielsen (2008),Dictionary may be regarded as
a lexicographical product that is characterized by three significant features:
(1) it has been prepared for one or more functions; (2) it contains data that
have been selected for the purpose of fulfilling those functions; and (3) its
lexicographic structures link and establish relationships between the data
so that they can meet the needs of users and fulfill the functions of the
dictionary.
Based on Collegiate (2005) said about dictionary in four definition
that’s are:
A reference source in print or electronic form containing words
usually alphabetically arranged along with information about their
forms, pronunciations, functions, etymologies, meanings, and
syntactical and idiomatic uses.
A reference book listing alphabetically terms or names important to a
particular subject or activity along with discussion of their
meanings and applications.
A reference book giving for words of one language equivalents in
another.
A computerized list (as of items of data or words) used for
reference (as for information retrieval or word processing).
2.2. System
There are many definition of system, writer explain them such
as:
1. Based on Collegiate (2005), System in the following way:
a. A set or arrangement of things so related as to form a unity
or organic whole;
b. A set of facts, principles, rules. Classified and arranged in
an orderly form so as to show a logical plan linking in the
various parts;
c. A method or plan of classification or arrangement;
d. An established way of doing something
2. Based on Soanes (2003),System is a group of parts that are
connected or work together, based on.
3. Based on Pressman (2005),System is a collection of related
elements related in a way that allowsthe accomplishment of
some tangible objective.
2.3. Software
Based on Pressman (2010), Software is (1) instructions (computer
program) that when executed provide desired features, function, and
performance; (2) data structures that enable the programs to addequately
manipulate information, and (3) descriptive information in both hard copy
and virtual forms that describes the operation and use of the programs.
Today, Software applications divided into seven types. The writer will
explain them, such as:
1. System Software.
This software is a collection of programs written to service other
programs. Some system software (e.g., compilers, editors, and file
management utilities) processes complex, but determine, information
structures.
2. Application Software
This is a stand alone programs that solve a specificneed.
Application software is used to control functions in real time (e.g.,
point of sale transaction processing, real time manufacturing process
control).
3. Engineering / Scientific Software
Scientific Software has been characterized by “number crunching”
algorithm. Application range from astronomy to volcanology, from
automotive stress analysis to space shuttle orbital dynamics, and from
molecular biology to automated manufacturing.
4. Embedded Software
It resides within a product or system and is used to implement and
control features and functions for the end user and for the system
itself. (e.g., key pad control for a microwave oven).
5. Product Line Software
It designed to provide a specific capability for use by many
different customers. Product line software can focus on a limited
marketplace (e.g., inventory control product) or address mass
consumer markets (e.g., word processing, spreadsheets, computer
graphics, multimedia, entertainment, database management, and
personal and business financial applications).
6. Web Application
Web application evolving into sophisticated computing
environments that not only provide stand alone features, computing
functions, and content to the end user, but also are integrated with
corporate databases and business applications.
7. Artificial Intelegence Software
Based on Pressman (2005), It makes use of nonnumerical
algorithms to solve complex problems that are not amenable to
computation or straightforward analysis. Application within this area
include robotics, expert system, pattern recognition ( image and voice
), artificial neural networks, theorem proving, and game playing.
2.3.1. Software Engineering
Based on Pressman (2010), The IEEE [IEE93A] has developed
a more comprehensive definition when it states:Software
Engineering: (1) The application of a systematic, disciplined,
quantifiable, approach to the development, operation, and
maintenance of software; that is, the application of engineering to
software. (2) The study of approaches as in (1).
Based on Pressman (2010), There are many layers in software
engineering. Writer try to explain the layers one by one and writer
provides the figure of the layer. The layers in software engineering
identified as:
1. Process
Process layer is the foundation in software engineering. It is
the glue that holds the technology layers together and enables
rational and timely development of computer software. Process
defines a framework that must be established for effective
delivery of software engineering technology.
2. Method
It provides the technical how to’s for building software.
Method encompass a broad array of tasks that include
Tools
Methods
Process
A quality focus
communication, requirement analysis, design modeling,
program construction, testing, and support.
3. Tools
It provides automated or semiautomated support for the
process and the methods.
Figure 2.1Software Engineering Layers
2.4. System Engineering
Based on Pressman (2005), Software Engineering occurs as a
consequence of a process called system engineering. Instead of
concentrating solely on software, system engineering focuses on a variety of
elements, analyzing, designing, and organizing those elements into a system
that can be a product, a sevice, or a technology for the transformation of
information or control.
Based on Forsberg and Mooz (1995), System Engineering is
responsible for involving key personnel (to address human factors, safety,
producibility, inspectibility, reliability, maintainability,logistics, etc.) at each
step, starting with risk analyses andfeasibility studies in the Concept
Definition phase.
2.5. System Modeling
Based on Pressman (2005), as a software engineer, it is very important
to pay attention in system modeling. System modeling is an important
element of the system engineering process. The focus is on the world view
or the detailed view, the engineer creates models that: define the processes
that serve the needs of the view under consideration and represent the
behavior of the processes and the assumptions on which the behavior is
based.
2.6 OOAD Process Model
2.6.1 Understanding of Object Oriented
Object is something that always exists around us, both
concrete and conceptual. An object has a state and behavior. State
an object is the object conditions stated in the attribute, while the
behavior of an object defines how an object to act and to react.
Behavior of an object expressed in the operation. Here is a brief
description about the object complete with attributes and
operations.
Figure 2.2 Understanding the attributes and the operations
will make objects become real.
2.6.2 Basic Principles of Object Oriented
Here are some basic principles of Object-Oriented concepts.
1. Inheritance
As described above, the object is an example of a class.
This has important consequences as an instance of a class; an
object has all the characteristics of its class. This is called
inheritance. Thus, the object will have any attribute and
operation derived from its class.
Figure 2.3 Example of Understanding Inheritance. Kitchen
Equipment and Furniture is inherited from House wares.
2. Encapsulation
The term encapsulation is often used interchangeably with
information hiding. Not all agree on the distinctions between
the two though; one may think of information hiding as being
the principle and encapsulation being the technique. A software
module hides information by encapsulating the information into a
module or other construct which presents an interface.
3. Message Sending
In object oriented systems, objects are mutually
communicated each other by sending messages. An object
sends a message to another object to perform an operation and
the object that receive will give the response to run the
operation.
4. Association
Association is the relationship between objects that need
each other. This relationship can be one-way or multiple ways.
5. Aggregation
Aggregation is a special form of association that
describes all parts of an object is part of another object.
2.6.3 The Concept of Object Oriented Analysis and Design (OOAD)
Object Oriented Analysis and Design or OOA&D is a collection of
general guidelines for carrying out analysis and design. It must therefore
be tailored to your organization and project. To make our method more
usable, writer designed it so that adaptations, improvements, and part
substitutions would be easy to implement.
Based on Mathiassen (2000), OOA&D reflects four central
perspectives on a system and its context: the system’s information
contents, how the system will be used, the system as a whole, and the
system’s components. The perspectives are connected to OOA&D main
activities: problem-domain analysis, application-domain analysis,
architectural design, and component design, respectively. Each activity
leads to specific results, which are subsequently included in the analysis
and design documentation.
2.6.4 Rich Picture
Based on Mathiassen (2000), Rich picture is an informal drawing
that presents the illustrator’s understanding of a situation. A rich picture
focuses on important aspects of the situation, which are determined by
the illustrator. However, the rich picture should give a broad description
of the situation that enables several alternative interpretations.
2.6.5 Experiments with Prototype
Based on Mathiassen (2000), Although a prototype is less complex
that the target system, it helps us talk about and evaluate system
properties. Prototype limitations can be manifold. Also, prototypes rarely
represent components completely.
2.6.6 Development Cycle with OOAD
Figure 2.4 Development Cycle OOAD
Based on Mathiassen (2000), There are four main activities that are used
for Unified Software Deployment in using OOA&D, there are:
1) Problem Domain Analysis
Problem domain analysis focuses on a key question: what
information should the system deal with? The answer to this question is so
important during all analysis activities, because the problem-domain model
provides a language for expressing requirements to the system.
The aim of problem domain analysis is to develop such a model.
To this end, writer employ an object-oriented focus on the key concepts
that users apply to describe the phenomena they administrate, monitor or
control.
The primary starting point for problem domain analysis is a system
definition. The objects element of the system definition provides the basic
criterion for selecting objects, classes, and events.
1) Classes
Classes Describes how writer approach the task of defining a
system’s information content. Writer define and characterize
the problem domain by selecting classes and events. The
classes define the relevant parts of the problem domain, and
since writer view this domain as being dynamic, writer are
especially aware of the events of the events associated with
objects.
2) Structure
Structure deals with structural relations between classes and
objects. Writer describe relation in the problem domain as
either static, abstract structures between classes or dynamic,
concrete structures between objects. The structure activity
results in a class diagram that shows the selected classes and
the relevant structural relationship between classes and objects.
3) Behavior
Behavior deals with object behavior and interaction. In this
activity, writer describe the dynamic properties and attributes
for each of the selected classes. The description of behavior and
attributes creates a more precise characterization of each object
in the problem domain.
2) Application Domain Analysis
Application-domain analysis focuses on a question: How will the target
system be used? The purpose in asking it is to define requirements for the
system’s functions and interfaces.
1) Usage
Content: How does the system interact with people and systems
in the context?
Concepts: Use case and actor.
2) Functions
Content: what are the system’s information processing
capabilities?
Concepts: Function.
3) Interface
Content: What are the system’s information requirements?
Concepts: Interface, user interfaces, and system interface.
3) Architectural Design
Architectural design is oftern considered an all or nothing question.
Wither you build the system from scratch, in which cas all the architectural
issues must be addressed; or you adapt the system to an existing
architecture, in which case many architectural decisions have already been
made.The architecture structures a system according to parts and satisfies
certain design criteria. To describes a system in a way that eliminates all
essential uncertainties. Creterion a preferred property of an architecure.
Table 2.1Activities in architectural design
Activity Content Concepts
Criteria Components
Process
What are the conditions and criteria for design?
How is the system
structured into
components?
How are the system’s
process distributed and
coordinated?
Criterion Component architecture and
component
Process architecutre and
process
1. Criteria
In this step, writer look at criteria for object-oriented design and
offer simple technique to help you set design priorities.
Table 2.2Criteria Measure
Criterion Measure of
Usable
Secure
Efficient
The system’s adaptability to the organizational, work-relatived, and technical contexts.
The precautions against unauthorized access to
data and facilities.
The economical exploitation of the technical
platform’s facilities.
Correct
Reliable
Maintainable
Testable
Flexible
Comprehensible
Reusable
The fulfillment of requirements. The fulfillment of the required precisions in
function execution.
The cost of locating and fixing system defects.
The cost of modifying the deployed system.
The effort needed to obtain a coherent
understanding of the system.
The potential for using system parts in other
related systems.
The cost of moving the system to another
technical platform.
The cost of coupling the system to other systems.
2. Components
Good component architecture makes a system easier to understand,
organizing the design work and reflecting the stability of the system’s
context. A class diagram describes the component architecture’s core.
UML’s diagram contains packages denoting components, and
dependencies between packages denoting component connection.
3. Process
The process architecture brings us closer to the system’s physical
level. Writer focus on distribution and execution, and work with processes
and objects as opposed to components and classes. Writer also deal with
the physical devices that the system will be executed on and consider
whether writer need to coordinate shared resources.
4) Component Design
The starting point for component design is the architectural
specification and the system requirements. The result of this activity is
specification of the connected components.
The component design builds on two general principles. The first is
respect the component architecture; the second is adapting component
designs to the technical possibilities.
2.7 Object-Oriented Design and Modeling Using the UML (Unified
Modeling Language)
2.7.1 Basic Concept of UML
Based on Munawar (2005), UML is a language with a very
broad scope that covers a large and diverse set of application
domains. Not all of its modeling capabilities are necessarily useful
in all domains or applications. This suggests that the language
should be structured modularly, with the ability to select only those
parts of the language that are of direct interest. On the other hand,
an excess of this type of flexibility increases the likelihood that two
different UML tools will be supporting different subsets of the
language, leading to interchange problems between them.
Consequently, the definition of compliance for UML requires a
balance to be drawn between modularity and ease of
interchange.UML is the work of a consortium of various
organizations that successfully used as a standard in OOAD.
Contributions to the UML have been generated from many
reputable companies. As a programming language, UML can
translate the diagram into the code that is ready to run.[19]
Five types of diagrams used in this thesis are:
1) Use Cases Diagram
Use cases are a means for specifying required usages of a system.
Typically, they are used to capture the requirements of a system,
that is, what a system is supposed to do. The key concepts
associated with use cases are actors, use cases, and the subject. The
subject is the system under consideration to which the use cases
apply. The users and any other systems that may interact with the
subject are represented as actors. Actors always model entities that
are outside the system. The required behavior of the subject is
specified by one or more use cases, which are defined according to
the needs of actors. Strictly speaking, the term “use case” refers to
a use case type. An instance of a use case refers to an occurrence of
the emergent behavior that conforms to the corresponding use case
type. Such instances are often described by interaction
specifications.
2) Statechart Diagram
State machines can be used to specify behavior of various model
elements. For example, they can be used to model the behavior of
individual entities (e.g., class instances). The state machine
formalism described in this sub clause is an object-based variant of
Harel statecharts.
3) Activity Diagram
The focus of activity modeling is the sequence and conditions for
coordinating lower-level behaviors, rather than which classifiers
own those behaviors. These are commonly called control flow and
object flow models. The behaviors coordinated by these models
can be initiated because other behaviors finish executing, because
objects and data become available, or because events occur
external to the flow.
4) Class Diagram
The Classes package contains sub packages that deal with the basic
modeling concepts of UML, and in particular classes and their
relationships.
5) Sequence Diagram
The most common kind of Interaction Diagram is the Sequence
Diagram, which focuses on the Message interchange between a
numbers of Lifelines. A sequence diagram describes an Interaction
by focusing on the sequence of Messages that are exchanged, along
with their corresponding Occurrence Specifications on the
Lifelines. The Interactions that are described by Sequence
Diagrams are described in this clause.
6) Deployment Diagram
Deployment diagrams show the allocation of Artifacts to Nodes
according to the Deployments defined between them.
2.8. Various Platform
2.8.1. Blackberry
BlackBerry is a line of mobile e-mail and smartphone devices
developed and designed by Research In Motion (RIM) since
1999.BlackBerry phones function as a personal digital assistant
andportable media player. They are primarily known for their ability to
send and receive (push) Internet e-mail wherever mobile network
service coverage is present, or through Wi-Fi connectivity. They support
a large array of instant messaging features, including BlackBerry
Messenger.
2.8.2. Symbian
Symbian is a mobile operating system (OS) and computing
platform designed for smartphones and currently maintained by Nokia.
The Symbian platform is the successor to Symbian OS and Nokia Series
60; unlike Symbian OS, which needed an additional user interface system,
Symbian includes a user interface component based on S60 5th Edition.
The latest version, Symbian, was officially released in Q4 2010, first used
in the Nokia N8. In May 2011 Symbian Anna was officially released on
two new phones the Nokia X7 and E6. Nokia announced Symbian Anna
will come to all Symbian phones.
2.8.3. Android
Based on Steele and To (2011), Android is the first complete, open,
and free mobile platform. Developers enjoy a comprehensive software
development kit, with sample tools for developing powerful, feature-rich
applications. The platform is open source, relying on tried-and-true open
standards developers will be familiar with. And best of all, there are no
costly barriers to entry for developers.
2.8.3.1. Data Storage Methods
Based on Steele and To (2011), Complicated and robust Android
applications often need to utilize some type of data storage. Depending
on the situation, different data storage methods are available to the
developer:
Shared Preferences for lightweight usage, such as saving
application settings and theuser interface (UI) state.
A built-in SQLite database for more complicated usage, such as
saving application records.
The standard Java flat file storage methods: InputFileStream
and OutputFileStream.
2.8.3.2. SharedPreferences
Based on Steele and To (2011), SharedPreferences is an
interface that an application can use to quickly and efficiently save
data in name-values pairs, similar to a Bundle. The information is
stored in an XML file on the Android device. For example, if the
application com.cookbook.datastorage creates a shared preference,
the Android system creates a new XML file under the / data/ data/
com. cookbook. datastorage/ shared_prefs directory. Shared
preferences are usually used for saving application settings such as
user settings, theme, and other general application properties. It can
also save login information such as username, password, auto-login
flag and remember-user flag. The shared preferences data is
accessible by every component of the application which created it.
2.8.3.3. SQLite Database
Based on Steele and To (2011), For more complex data
structures, a database provides a quicker and more flexible access
method than flat files or shared preferences. Android provides a
built-in database called SQLite that provides full relational
database capability utilizing SQL commands. Each application that
uses SQLite has its own instance of the database, which is by
default accessible only from the application itself. The database is
stored in the /data/data/<package_name>/databases folder of an
Android device. A Content Provider can be used to share the
database information between applications. The different steps for
utilizing SQLite are:
1. Create a database.
2. Open the database.
3. Create a table.
4. Create an insert interface for datasets.
5. Create a query interface for datasets.
6. Close the database.
2.10. File Saving and Loading
Based on Steele and To (2011), In addition to the Android-
specific data storage methods mentioned previously, the standard
java.io.File Java package is available, too. This provides for flat
file manipulation, such as FileInputStream, FileOutputStream,
InputStream and OutputStream.
2.11. Indexing
Indexing is collects, parses, and stores data to facilitate fast
and accurate information retrieval. Index design incorporates
interdisciplinary concepts from linguistics, cognitive psychology,
mathematics, informatics, physics, and computer science. An
alternate name for the process in the context of search engines
designed to find web pages on the Internet is Web indexing.
2.12. Regular Expression
Based on Goyvaerts and Levithan (2009), Regular
expression is a specific kind of text pattern that you can use with
many modern applications and programming languages. You can
use them to verify whether input fits into the text pattern, to find
text that matches the pattern within a larger body of text, to replace
text matching the pattern with other text or rearranged bits of the
matched text, to split a block of text into a list of subtexts, and to
shoot yourself in the foot.
Based on Watt (2005), Regular expressions are patterns of
characters that match, or fail to match, sequences of characters in
text.
2.12.1. Basic Regular Expression Skills
The skills presented in this chapter aren’t the kind of
real-world problems that usually customers ask you to
solve. Rather, they’re technical problems encounter while
creating and editing regular expressions to solve real-world
problems, for example, explains how to match literal text
with a regular expression. This isn’t a goal on its own,
because usually programmers don’t need a regex when
programmers want to do is to search for literal text. But
when creating a regular expression, programmers likely
need it to match certain text literally, and programmers
need to know which characters to escape.
2.12.2. Matching Single Characters
Based on Watt (2005), The simplest regular
expression involves matching a single character. If you
want to match a single, specified alphabetic character or
numeric digit, you simply use a pattern that consists of that
character or digit. So, for example, to match the uppercase
letter L, the pattern matches any occurrence of the
uppercase L.[13] Here is an example:
Text:
sales1.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
na1.xls
na2.xls
sa1.xls
Regex:
sales.
Result:
sales1.xls
sales2.xls
sales3.xls
The alogarithm that will use such as below:
<variable> = <expression>
IF <condition>
<variable> = <expression>
SWITCH<condition>
DO action;
ELSE
DO next action;
2.12.3. Matching Optional Character
Based on Watt (2005), Matching literal characters is
straightforward, particularly when you are aiming to match
exactly one literal character for each corresponding literal
character that you include in a regular expression
pattern.[13] Here is example:
Text:
apac1.xls
europe2.xls
na1.xls
sa1.xls
ca1.xls
Regex:
[ns]a.\.xls
Result:
na1.xls
na2.xls
sa1.xls
2.12.4. Matching Multiple Optional Characters
Based on Watt (2005), With the techniques that you
have seen so far, you aren’t able to express ideas such as
“match something only if it is not preceded by something
else.” That sort of approach might help achieve higher
specificity at the expense of increased complexity.[13] Here
is example:
Text:
sales3.xls
sam.xls
na1.xls
na2.xls
sa1.xls
ca1.xls
Regex:
[ns]a[0123456789]\.xls
Result:
na1.xls
na2.xls
sa1.xls
2.13. PHP
PHP stands for Hypertext Preprocessor is server side
scripting programming language, programming language used by
the web server to generate HTML documents on-the-fly. PHP is an
interpreter that can be executed as a program Common Gateway
Interface (CGI) for web server or used as a module of the web
server. PHP is a widely-used general-purpose scripting language
that is especially suited for Web development and can be
embedded into HTML.
PHP is the most popular script programming language. PHP
generally is used to create a dynamic web even it still can use to
another task. The sample of popular PHP is phpBB and MediaWiki
(Software behind the Wikipedia). PHP also can be seen as another
chosen from ASP.NET/C#/ VB.NET Microsoft, ColdFusion
Macromedia, JSP/Java Sun Microsystem and CGI/Perl.At the first
time, PHP was made by Rasmus Lerdorf in 1995. In that time, PHP
looks like a script collect in which its use to process a form of data
from web then Rasmus named the Source code which writer called
PHP/FI. PHP stands for Personal Home Page/ Form Interpreter.
After being an open source product, many programmers from
all nations in the world interested to develop PHP. On November
1997, PHP released PHP/FI 2.0 version, in this chance the
interpreter already implemented in C language. In the same year, a
company which the name is Zend, rewritten the PHP interpreter
become more quick and better than before. On June 1998, that
company produced new interpreter for PHP and created name for
new PHP with PHP 3.0.
In the middle on 1999, Zend released new interpreter and
known by PHP 4.0. Many programmers and developers use this
version because PHP 4.0 has a capability to build a complex web
application with high stability and fast process. The enhancer
developments were Zeev Suraski and Andi Gutmans. It is useful to
support add on module and consistent syntax. The language that its
use was Perl and C language.
On June 2004, Zend Company released PHP 5.0. This
version is the latest technology from PHP. This version introduced
the latest object oriented model programming to answer the
development of object language. PHP 5.0 version based on Zend
Engine 2.0. It also improved performance and capabilities and
downward compatible.
Based on Quigley (2007), PHP is very popular because it is a
kind of open source product in which the programmers can read,
redistribute, and modify the source code for a piece of software, the
software evolves. People can improve it, people can adapt it and
people can fix bugs. Using PHP can simplify the dynamic website.
Based on Naramore (2005), PHP is a server-side scripting
language that allows your Web site to be truly dynamic.[15]
2.14. MySQL
Based on Welling (2001), MySQL is a very fast, robust,
relational database management system (RDBMS). A database
enables you to efficiently store, search, sort, and retrieve data. The
MySQL server control access to your data to ensure that multiple
users can work with it concurrently, to provide fast access to it and
ensure that only authorized users can obtain access. Hence,
MySQL is multi-user, multi-threaded server. It uses
SQL(Structured Query Language), the standard database query
language worldwide. MySQL has been publicly available since
1996, but has a development history going back to 1979. It has
now won the Linux Journal Readers’ Choice Award three years
running.[16]
2.15. XAMPP
Based on Dan (2009), The XAMPP package was created to
ensure that all server versions in the installer are compatible with
each other and properly configured to work together. The “X” in
XAMPP stands for the variety of operating systems for which this
super installer is available (such as WAMPP for Windows,
LAMPP for Linux, etc.). The other letters of the acronym stand for
Apache MySQL PHP Perl. Although Joomla doesn’t need Perl for
execution, it won’t interfere with Joomla functionality.[17]
2.16. Related Works
There are many application have been found related the
dictionary application. These application research used by the
writer to develop this new application. Writer has collected and
learned some common research study which related with writer
thesis writing. In this chance, writer will explain one by one about
the common research study that they related with thesis writing.
These is the common research study from the previous thesis
writing:
Tuankotta (2009), in his research title is, “Pembuatan
Mobile Kamus Ambon Indonesia Dengan Menggunakan Java 2
Micro Edition”, The development of technology and
telecommunications, particularly mobile device so quickly.
Technological capability in creating mobile devices for its users
flexibility in communication has led to this technology developing
so rapidly in the number of users as well as the ability of
technological devices themselves. Increasing the capability of
mobile devices has enabled the emergence of various new
functions besides its main function as a communication tool. The
number of officially registered local languages around the 700s is
not only a cultural richness but also vulnerable in inhibiting the
interaction between communities. So, writer need language that
unites and becomes a national standard, Indonesian. But the lack of
use Indonesian language properly and correctly by the majority of
Indonesian people in the area especially the Moluccas. It is caused
by many factors one of which is the lack of instructional media.
Based on the above, this paper discusses the making of an
application used on mobile devices. That is making the mobile
dictionary. In this application the user can translate the words of
the Ambon language into Indonesian and vice versa via the mobile
phone they have. Without inhibiting mobility because users do not
need to translate words always carry a dictionary with the
conventional print and search for pages in each sheet.
Normansyah (2008), in his research title is “Pembuatan
Aplikasi Kamus Bahasa Indonesia-Jepang dan Sebaliknya
Berbasis Mobile Phone dengan Menggunakan Bahasa
Pemprograman J2ME (Java Micro Edition)”, The development of
information technology especially n the field of
telecommunications so quickly. Various new models of mobile
phone products are created in a matter of months. Various features
and capabilities offered by manufacturers to meet customer need
than as a tool of communication. Similarly, increase in data
storage capability which increases in external memory card that
allows users to store large capacity data in the particular cellular
phone model. Based on the above ideas, the writing is about the
making of an application that can be used on mobile phones. In this
case the dictionary-based application developed mobile phone
using the programming language Java Micro Edition (JME) and
Record Management System (RMS) as anon-volatile storage
media, where with this application user can translate words from
Indonesian to Japanese and vice versa and add, modify and delete
words as desired. This application can meet the needs of users of
the dictionary without limiting the mobility of users and do not
bother as the search word in the conventional print dictionary.[23]
Anggraini (2009), in her research title is, “Kamus Bahasa
Handphone Menggunakan Java 2 Micro Edition (J2ME)”, mobile
as a means of telecommunication has developed with various
features that are very complex and sophisticated. One of these
features is the ability and cell phones that can run java based
applications. When this profile reaches Java on MIDP 2.0 phones.
In Java there is an optional package of mobile media fire that
produce output language search, providing a variety of image
display, so it can run on the mobile telecommunications facilities
(cell phone). This dictionary is an application that show up mix
images and text. This application is made by using language
program J2ME (Java 2 Micro Edition) that can be run in small
devices (mobile phones). In scientific writing writer make language
dictionary. This application will become a medium of learning that
are mobile because of the application in intended for use in mobile
phones. With this application people - people can find meaning in
Indonesian or English.[24]
Handoyo (2011), in his research title is, “Pembuatan
Kamus Perbankan dengan Menggunakan Pemrograman Java”,
discusses the making of applications Scientific Banking
Dictionary. The program is created with the Java programming
language, which can accommodate the term - the term banking,
both in Indonesian and English. Users can easily search for the
meaning or intent of the term - the term you are looking for
banking. Besides looking for banking terms, it can also help the
user to convert currency values. In this application, also has the
option, the user can find information on the name of a country's
currency. Application interface is quite user-friendly and easily
understood.
Nugroho (1995), in his research title is, “Strategi
penyusunan kamus referensi dan analisis kinerja metode pelacakan
kata pada pemeriksa ejaan bahasa Indonesia”, Program editor
electronic word is the result of computer technology used by many
people in all areas. Besides supported hardware technology is
increasingly fast and powerful in processing data, the editors said
the facility is also equipped with increasingly sophisticated and
varied. With the help of electronic word editor, a writer can pour
the argument in a more beautiful form of writing interesting. Spell
check is one facility that increasingly sophisticated and varied.
With the help of electronic word editor, a writer can pour his ideas
in written form that is more beautiful and attractive. The
spellchecker is one of the editors said that more facilities perceived
usefulness. Spell checker who has the ability to reliably detect all
spelling mistakes and a short time. Both these aspects, which
became the main topic of this final report, are all factors that
determine the performance of the spellchecker. The results showed
that the success rate and speed the process of tracking words are
two conflicting factors, so writer must carefully consider both
factors to produce a spell checker with optimal performance.
Furthermore, this research can be developed to implement the
theory of pipelining and multiprocessor in the manufacture of
prototype spell checker.
Horasi and Febri (1997), in his research title is,
“Rancangan kamus kata untuk pemeriksa ejaan elektronis”, One of
the most important components in electronic spelling checker is a
dictionary word. Two issues that affect the design of the dictionary
words to the spellchecker is a matter of word search time and
memory space used by the dictionary. This final recommend one of
three options under study dictionary model to be used as dictionary
words to the spellchecker. The third model is the model dictionary
is a hybrid between a hash with a binary search, trie model with
node storage strategy, and trie model with connective storage
strategy. From the test results concluded that trie model by
connecting the storage strategy is the best model, with search time
said two times faster and memory space of two and a half times
smaller than the hash model. In addition, the dictionary trie model
generated by connecting the storage strategy are also times smaller
and the time of the search word and a half times faster than the trie
model with node storage strategy. This makes the model trie with
the strategy of connecting storage to be recommended as the best
model and data structure for the dictionary word for electronic
spell checker.
Tri (2010), in her research title is, “Applikasi Kamus
Asuransi pada Telepon Selular Menggunakan J2ME”, The
development of telecommunications, particularly mobile device so
quickly. In terms of products, mobile devices with new models
popping up every month. Technological capability in creating
mobile device flexibility for users to communicate has led the
technology is growing so rapidly in terms of numbers of users as
well as the ability of the technologies themselves. Increasing the
ability of cellular device has allowed the emergence of various new
functions besides its main function as a communication tool. Based
on the above ideas, the writing is about making an application that
can be used on mobile devices. In this case the insurance dictionary
application developed for mobile (phone), where with this
application users can translate the term - term insurance over the
phone they have. In addition users can also hone their ability to
understand the term - term insurance through the test features in
this application, and at the end of the test will be displayed in the
form of the number of correct test results, number one, and the
final score. This application can meet the needs of users of the
dictionary without limiting the mobility of users, other than that
this application could implement a search facility of terms, see the
set of terms - the terms in this application, and test facilities in
order to measure the ability of users to understand the term - term
insurance, the user does not have to make every the effort of
finding a term insurance that would like translated one by one as
done in conventional print dictionary.
Aisyah (2006), in her research title is, “Aplikasi Pembuatan
Kamus Bergambar Bahasa Inggris Tentang Nama - nama Benda
Menggunakan Macromedia Flash MX”, development of science
and information technology has grown so rapidly at this time. The
computer is a means of delivering information that can be used in
various fields such as education, economics, science, literature,
social, cultural, entertainment and so on which play an important
role in the life of society as a whole. Thus, writer are required to
make can follow the changes. The author sees the need for
education of children from as early as possible in training skills and
increase their knowledge. The author hopes for what they have
gained by better than what previous generations never obtained.
Because at that time the children in learning to know the name - a
name familiar objects such as various kinds of clothing, toiletries,
stationery equipment, transportation equipment, and musical
instruments is usually done by the media or the board book alone,
but now with computers writer can use it as one of the media in
education today. Many advantages and benefits obtained by using
computers in education, as the authors make in this program where
the author tries to provide another alternative to the parent or the
teacher in teaching the familiar names - names of objects in
English with computer media. Displayed image can be more
dynamically by using animation and can be more interactive
because in this program are equipped with voice and
pronunciation, so that the child - the child can more easily
understand and capture the lessons given.
Nasution (2011), in his research title is, “Aplikasi Kamus
Elektronik Istilah Komputer dan Teknologi Informasi Dengan
Borland Delphi 5.0”, development of computers and information
technology is growing rapidly from time to time. The impact
gained from it all is the emergence of new terms in the computer
world that is sometimes difficult to understand. Be it technical or
non technical terms. Few us off guard, it will be much missed.
Dictionary of computer terms and information technology that
many in the market will greatly assist us in finding and
understanding the meaning of the various computer terms. But its
use is felt to be ineffective, because it must be tossing and turning
the pages of the dictionary. Application of Computer Terms
Dictionary of Electronics and Information Technology with
Borland Delphi 5.0-based computer, it is hoped will be an
alternative that could be used for search words and terms. Its use is
very concise and easy, so it will help to minimize search time.
Pratiwi (2011), in his research title is, “Kamus Istilah Ilmu
Komputer Mengunakan Microsoft Visual Basic 6.0”, There are so
many benefits that can be used by using computer technology.
Therefore, the authors created a computer science term dictionary
application that can be used by anyone who wants to know the
terms in computer science. This application consists of many
vocabulary terms in computer science and is a dictionary that can
run on a computer disk so that all computers can install this
dictionary. This application also allows the user to add vocabulary
to the data dictionary.
CHAPTER III
RESEARCH METHODOLOGY
3.1. Gathering Data Methods
3.1.1. Interview method:
This method has been done during phase of problem domain
analysis in System Development Method. Writer do interview to
investigate common dictionary, Android system, regular
expression and SQLite database. Writer interview some Android
developer at Brain Matics, on 23th May 2010.. Questions will put at
attachment.
3.2. System Development Method
Firstly, before deciding the method, writer analyse the problem
and the requirement at application. After analysing, the writer initiated
project.
Secondly, writer choose the OOAD model as a system
developing method. The reasons for using this methodology are the
scope of the propose system is suitable with OOAD model (in which
this system is not complex system), also in developing this application
writer do object approach to get information about classes, objects, and
events from previous application so writer can exculed and include fuction in
writer application.
3.2.1. System Development Methodology
OOAD’s six main activities that are using in this reasearch
are:
1. Problem Domain Analysis
In this phase, writer analyse the problem in previous
application, make posibilites, alternatives, and
concretes how to solve the problems.
2. Application Domain Analysis
In this phase, writer describes process that related to
the actor and the system, who are the actor in using
this application and what are the interaction that
exist between actor and system. This interaction can
be described with usecase diagram and sequence
diagram.
3. Architectural Design
In this phase, writer defines and prioritize criteria
and build componenent architecture. The diagram
contains packages denoting components, and
dependencies between packages denoting
component connections that the writer using for
building the system.
4. Component Design
Purpose of this phase is to determine an
implementation of requirements within an
architectureal framework. Build a model component
and function component from existing class
diagram.
5. Programing
In this phase, writer start to do programing base of
data which already declare on Component Design.
6. Quality Asurance
In this phase, writer start to test all result which
have done in programing by using black box testing.
Writer used Black-box testing because in our
research focus on user oriented which are consist of
input interface and result interface and also focus on
testing functional requirements.
The above phases can be draw as follow:
System Development Method
Problem Domain analysis
Clases Structure
Behaviour
Usage
Application Domain
analysis Function
Interface
Criteria
Architectural Design
Component
Component Design Process
Programming
Maintenace
Software Quality Assurance
Testing
Figure 3.1 System Development Method
3.3. Selection of Platform
After considering various type of platform, the writer decides to
use Android. Writer use Android because Android is:
The first complete, open, and free mobile platform.
Developers enjoy a comprehensive software development
kit, with sample tools for developing powerful, feature-rich
applications.
The platform is open source, relying on tried-and-true open
standards developers will be familiar with.
Best of all, there are no costly barriers to entry for
developers.
3.4. Selection of Searching Method
After considering various type of method, the writer decides to use
Regular Expression. Writer use Regular Expression because Regular
expression is
Regular Expressions are integrated into many programmer tools
and programming languages.
Regular Expressions are a language within a language.
Search string is very simple, Regular Expression syntax is very
simple.
With Regular Expressions, you can quantify how many times a
character repeats.
With Regular Expressions, you can match whole classes of
characters.
Designate a match of some letters and all numbers for 1 character
position.
Character classes and quantifiers can be combined.
Regular Expressions can be combined by placing these expressions
side-by-side.
Match any character at the beginning of a line followed by a
capital.
And the specific of method which use by writer in implement regular
expression is Match Single Characters because simplest regular expression
involves matching a single character. If you want to match a single,
specified alphabetic character or numeric digit, you simply use a pattern
that consists of that character or digit. So, for example, to match the
uppercase letter L, the pattern matches any occurrence of the uppercase L.
CHAPTER IV
THE RESULT AND THE EXPLANATION
4.1. Problem Domain Analysis
In Informatics Engineering field many kind of words or terminology
which are news or strangest in people mind and to solve that problem is by
using dictionary. Miss typing becomes problem in searching the meaning
of the words. One of solution to solve miss typing is by using regular
expression. Regular expression often called a pattern, is an expression that
describes a set of strings. They are usually used to give a concise
description of a set, without having to list all elements. Program will give
some suggestion that may help in process of writing to get the meaning.
Some application already used regular expression as a solution to solve
miss typing and interactive function to give developer suggestions in
developing their application like Babylon or web based application like
Google Translate and that’s all base on desktop or laptop which have
weakness. To handle that weakness mobile application is one of solution.
Based on interviewed some Android developer at Brain Matic, writer
found about dictionary process happens from searching any word that
input by user which have same word pattern. Writer found about to use
Android System first thing must writer do is to download and install
eclipse, ADT(Android Development Tools), Android SDK(Software
Development Kit), and JavaSDK(Software Development Kit). Writer
found about to update database in application have some ways that are
checking one by one content of the database or delete and replace previous
database. Writer found about to read data from internet, writer need do
parsing data first. Those are two common uses parsing method such as
XML Fetcher and JSON Array. Writer found about Android already
provided library to implement regular expression. Writer found about
Android have three data storage method which already explained at
Chapter 2. Writer found about to create SQLite database on Android writer
need to download application first like Navicat or add on SQLite from
Mozilla Fire Fox.
Based on above problem domain description emphasize including and
excluding certain elements of the form of classes, events, and structures
base on previous application.
4.1.1. Find Classes
Classes which are find explaint in list table below and for
join developing database user need register first and input their
recomendation on suggestion.
Table 4.1 Class Candidates
Setting
Edit
Main
Splash
Screen
Admin
Update
Suggestion
DatabaseHelper
DB
Auto Link
Search
Translate
About
User
Setting: This class is used for setting the display total of words
result, size of word and set autolink.
Update: This class is used to update dictionary database if
developer done updating.
Search: This class use to strart searching user word request in
database of application by using single match characters.
Edit: This class is used for user to participated in develope
application with connect to developer web site.
Suggestion: This class is provided for user to give suggestion to
developer in developing application.
Translate: This class used to start searching the meaning of word
which is typed by user.
Main: This class used for start the main display to input query of
word.
DatabaseHelper: This class used for transfering the database to
external storage.
About: This class user for display about background of developer.
SplashScreen: This class used for opening and starting install
database into external storage.
DB: This class for declaring varible which is exist in database.
User: There are two users, admin and application user. It will
recognize which user has been login to the system using login id.
Admin: Is user ID which is used by developer.
4.1.2. Find Events
Table 4.2 Candidates for Event
Log in
Setting
Suggestion
update
Register
Search
Exit
Forget Username
Forget Password About Edit
Log in: This event can be done in the website developer, when user
want to log in to get more privilages which are provided by
developer.
Register: This event can be done in the website developer, when
user want to register the account.
Forget Password: This event occurs when user forget their account
password.
Forget Username: This event can be done in the system, when user
their user account.
About: This event occurs when user click menu button in
application to know about developer and application.
Search: This event occurs when user put any character into input
colom.
Setting: This event occurs when user click the button and set up
application setting.
Edit: This even occurs when user click the button and it will access
developer website.
Suggestion: This event occurs when user click menu seggestion on
web site to submit suggestion.
Exit: This event occurs when user want to close the application.
Update: This event occurs when user want to update the database.
4.1.3. Structure
The result of the structure activity is class diagram. The
class diagram provides a coherent problem-domain overview by
describing all structural relations between the classes and objects.
Figure 4.1 State Chart Flow diagram
User has six object that are searching, translate, and result
which are exist in application device with out internet connectivity,
and update, website. And database which are exist on website with
internet connectivity.
4.1.4. Behaviour
1. Searching by Using Match Single Characters
Figure 4.2 Statechart diagram for class “Searching by
Using Match Single Characters"
Figure 4.2 defines such a behavioural pattern. It expresses
that object from the class “Searching” is occurs when the user start
type any character. Application will search word from database and
give the result in list form.
2. Translate
Figure 4.3 Statechart diagram for a class “Translate"
Figure 4.3 defines behavioural pattern for “Translate”
object. It expresses that object from the class “Translate” is occurs
when user already click the word which already exist in list form.
3. Update
Figure 4.4 Statechart diagram for a class “Update"
Figure 4.4 defines behavioural pattern for “Update” object.
It expresses that object from the class “Update” is occur when the
user click update button. Application will start to update the
database which is exist on the website.
4.2. Application Domain Analysis
4.2.1 Usage
In developing this application application system has two
actors: administrator, who manage all the data inside the system;
user who use application and give suggestion.
The administrator is involved in manage database, manage
website, update database website, log in, and manage user. Edit
password and login process involving both actors. User participates
in login, give suggestion, download latest database from website,
searching, and setting.
At this point in this analysis, it was clear that there were
two actors involved.
Figure 4.5 Use Case Diagrams
4.2.2 Use Case Narrative
4.2.2.1 Use Case Narrative for Login
USE CASE NAME: Login PRIMARY ACTOR: Administrator
User DESCRIPTION: Use case login is started when the actor
login to the system, which is the system is checked the username and password automatically. The administrator and the user must do login if they wanted to accsess the system.
PRE-CONDITION: The username and password must be inserted by the administrator, or by register new user.
TRIGGER: Use case login is started when the actor login to the system.
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: User is want to access the system. Step 3: User type in username and password.
Step 2: System will display the form login. Step 4: System will display the menu if both username and password is match.
ALTERNATE COURSES:
CONCLUSION: This use case will be finished when the system display the content
POST-CONDITION: Actor can do several tasks, and check much information.
IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
ASSUMPTIONS: The user has provided a valid username
i
r e
.
U
e
r
a
i v e s
USE CASE NAME: Manage Database PRIMARY ACTOR: Administrator
DESCRIPTION:
g u
Use case Manage Database is started when the administrator is wants to view, edit, delete, and insert the information database.
PRE-CONDITION: TRIGGER:
4
Use case Manage Database is started when the administrator is wants to manage database.
TYPICAL COURSE 7
Actor Action
System Response
OF EVENTS:
s e - c a s
Step 1: Administrator will choose the data that want to edited and deleted, also insert.. Step 3: Administrator will do some action.
Step 2: System display the form or alert. Step 4: System will save the changes that user made.
ALTERNATE COURSES:
n a
If user forgets to fill in some of the requirements information or give the wrong value, system will display the error message.
CONCLUSION: r
This use case will be finished when there is no data to be managed.
POST-CONDITION: t
Administrator will easily manage the database.
IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
The result will be displayed in database.
ASSUMPTIONS:
and password.
Figure 4.6 Use-case narratives for login
4.2.2.2 Narrative for Manage Database
F
for manage database
4.2.2.3 Use Case Narrative for Manage Website
USE CASE NAME: Manage Website
PRIMARY BUSINESS ACTOR:
Administrator
DESCRIPTION: Use case Manage Website is started when the administrator is wants to view, add or delete content of website.
PRE-CONDITION: There is website content.
TRIGGER: Use case Manage Website is started when the administrator is wants to view, add or delete content of website.
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: Administrator will choose the data that want deleted. Step 3: Administrator will do some action.
Step 2: System will give a confirmation alert. Step 4: System will save the changes.
ALTERNATE COURSES:
If user forgets to fill in some of the requirements information or give the wrong value, system will display the error message.
CONCLUSION: This use case will be finished when there is no data to be managed.
POST-CONDITION: Administrator will easily manage the data.
IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
The result will be displayed.
ASSUMPTIONS: Figure 4.8 Use-case narratives for manage website
4.2.2.4 Use Case Narrative for Manage User
USE CASE NAME: Manage User PRIMARY BUSINESS ACTOR:
Administrator
DESCRIPTION: Use case Manage User is started when the administrator is wanted to edit, delete, and insert the user.
PRE-CONDITION: TRIGGER: This use case is managing the user
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: Administrator will choose user that want to edited and deleted, also insert user. Step 2: Administrator will do some action.
Step 2: System display the form or alert. Step 4: System will save the changes that user made.
ALTERNATE COURSES:
If user forgets to fill in some of the requirements information or give the wrong value, system will display the error message.
CONCLUSION: This use case will be finished when there is no data to be managed.
POST-CONDITION: Administrator will easily manage user. IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
The result will be displayed.
ASSUMPTIONS: Figure 4.9 Use-case narratives for manage user
4.2.2.5 Use Case Narrative for Searching by Using Match Single
Characters
USE CASE NAME: Searching
PRIMARY BUSINESS ACTOR:
User
DESCRIPTION: Use case request searching is started when the user started typing any character in colom.
PRE-CONDITION: Input data must be inserted first TRIGGER: Use case request searching is started when
the user started typing any character in colom.
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: User request for searching.
Step 2: System will process and display the request.
ALTERNATE COURSES:
CONCLUSION: This use case will be finished when user finished.
POST-CONDITION: IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
The result will be displayed.
ASSUMPTIONS: Figure 4.10 Use-case narratives for searching by using match single characters
4.2.2.6 Use Case Narrative for Translating
USE CASE NAME: Transla ting
PRIMARY BUSINESS ACTOR:
User
DESCRIPTION: Use case Translating is started when the user started translating result of searching.
PRE-CONDITION: Input data must be inserted first
TRIGGER: Use case Translating is started when the user started translating result of searching.
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: the user started translating result of searching.
Step 2: System will display the result.
ALTERNATE COURSES:
CONCLUSION: This is use case will be finished when system display the list of result
POST-CONDITION:
IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
The result will be displayed.
ASSUMPTIONS:
Figure 4.11 Use-case narratives for translating
4.2.2.7 Use Case Narrative for Updating
USE CASE NAME: Updating
PRIMARY BUSINESS ACTOR:
User
DESCRIPTION: Use case Updating is started when the user started click update menu button.
PRE-CONDITION: Menu button must click first
TRIGGER: Use case Updating is started when the user started click update menu button.
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: the user started click update menu button. Step 3: the user close application
Step 2: System will display the result. Step 4: System read new database
ALTERNATE COURSES:
CONCLUSION: This is use case will be finished when rewrite the database
POST-CONDITION:
IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
The result will be displayed.
ASSUMPTIONS:
Figure 4.12 Use-case narratives for updating
4.2.2.8 Use Case Narrative for Setting
USE CASE NAME: Setting
PRIMARY BUSINESS ACTOR:
User
DESCRIPTION: Use case Setting is started when the user started click setting menu button.
PRE-CONDITION: Menu button must click first
TRIGGER: Use case Setting is started when the user started click update menu button.
TYPICAL COURSE Actor Action
System Response
OF EVENTS: Step 1: the user started click setting menu button. Step 3: the user setting application.
Step 2: System will display the layer. Step 4: System read new setting.
ALTERNATE COURSES:
CONCLUSION: This is use case will be finished when user click back button
POST-CONDITION:
IMPLEMENTATION CONTRAINTS AND SPECIFICATIONS
ASSUMPTIONS:
Figure 4.13 Use-case narratives for setting
Administrator User
Administrator in this system is the person
who develop application, operate website
and data modification. The one who
appointed by the Director.
All of the users who use
the application and
website developer.
4.2.3 Describe Use Case Figure 4.14 Actor specification
In this phase writer give explanation for process which are
mention on use-case narrative before.
4.2.3.1 Activity Diagram for Login
Figure 4.15 Activity Diagram for Login Explanation:
Users of this system (administrators and user) started the
activity log in by entering username and password on the login
box. Username and password are validated by the system. If the
username and password are valid, then the system displays the
menu page and the user can access it. However, if the username
and password is invalid, then the system will ask user to type
valid username and password.
4.2.3.2 Activity Diagram for Manage Database
Figure 4.16 Activity Diagram for Manage Database Explanation:
Admin choose suggestion who already submitted to the website
and do modification into the database.
4.2.3.3 Activity Diagram for Manage Website
Figure 4.17 Activity Diagram for Manage Website
Explanation:
Administrators manage content of the website by accessing
display main menu.
4.2.3.4 Activity Diagram for Manage User
Figure 4.18 Activity Diagram for Manage User Explanation:
Administrators manage user position and activities.
4.2.3.5 Activity Diagram for Searching
Figure 4.19 Activity Diagram for Searching Explanation:
The user type input in colom and user will searching in
database and appear the result
4.2.3.6 Activity Diagram for Translating
Figure 4.20 Activity Diagram for Translating Explanation:
User click the result which appeared in result and system will
search the meaning in database, if that exist it will appear in result
layer.
4.2.3.7 Activity Diagram for Updating
Updating Figure 4.21 Activity Diagram for
Explanation:
User click update button and the system will updating the
software from website and software ask to reopen application
4.2.3.8 Activity Diagram for Setting
Figure 4.22 Activity Diagram for Setting Explanation:
User click setting button and set new setting if that ok, system
will set new setting into the application.
4.3.4 Functions Complexity Type Function list describes the action specification for the
user to understand the function more clearly. The following list
function will support the use case in several important
functions of the proposed system:
Table 4.3 Function List
Functions
Complexity
Type
1 Login
Username, password Simple Update
User Query database Simple Read
2 Search
Searching character Medium Read
3 Translate
Get input meaning from database medium Read
4 About
Display about application Simple Read
5 User
View Menu user Simple Read
6 Suggestion
Input name Simple Update
7 DatabaseHelper
Installing database Hard Read
8 DB
Declare database variable Simple Read
9 Auto Link
Link result view into new searching
medium Read
10 Edit
Link into the database Simple Read
11 Setting
Font Size and total searching medium Read
Set Auto Link medium Read
12 Main
Input colom Simple Read
Result list Simple Update
13 Splash Screen
Install database Hard Read
14 Update
Download database Medium Read
16 Exit
Close application Simple Read
17 Register
Open register page Simple Read
18 Forget Password Simple Read
4.3.5 Interfaces
In this phase writer give explanation about interface process using
sequence diagram.
4.3.5.1 Sequence Diagram for Login
Figure 4.23 Sequence Diagram for Login
Explanation of sequence diagrams for use case Log in can be
explained as follows:
1. User and Administrator type username and password to the
interfaces.
2. Form login() initiating the parameter and call the send login()
to send the username and the password.
3. Con Login initiating to the Database dan call the method check
validity() to process the login.
4. If the validation is failed, the database will send the failed
message to the Con Login.
5. Con Login will send a failed message to Form Login with
method Send Message(failed).
6. Con Login will send the success message to Form Login with
method Send Message().
7. Form Login will send the success message to Administrator or
user with method Show Message().
4.3.5.2 Sequence Diagram for Manage Database
Figure 4.24 Sequence Diagram for Manage Database
Explanation of sequence diagrams for use case Manage
Database can be explained as follows:
1. administrator select database which will be update.
2. File will be process by the system.
3. System will send messages if database exist.
4. Administrator will see content of the database
5. Administrator can edit, insert, update n delete content of
database.
6. System will process administrator request
7. After the input system will give announcement success
4.3.5.3 Sequence Diagram for Searching by Using Match Single
Characters
Figure 4.25 Sequence Diagram for Searching by Using
Match Single Characters
Explanation of sequence diagrams for use case Searching
can be explained as follows:
1. User input character to start searching
2. Every character typed by user will be searched by
system.
3. If none of character match it will send message (failed)
4. User will see message (failed) in application
5. If character exist system will give result in list
6. User will se the list in application
7. After user already done typing they can input the word
8. Word will send and search by system
9. If none of word match it will send message (failed)
10. User will see message (failed) in application
11. If word exist system will give result in list
12. User will se the list in application
Administrator
Administrator
4.3.5.4 Sequence Diagram for Setting
Administrator
Figure 4.26 Sequence Diagram for Setting
Explanation of sequence diagrams for use case Setting can
be explained as follows:
1. User click (menu) button on device.
2. Interface will display menu option.
3. User click(menu) button setting.
4. Interface will display setting menu.
5. User click(setting) to set up display application.
6. Click (setting) will send into system.
7. System will give result into the interface.
8. User can see new setting result.
Administrator
Administrator
4.3.5.6 Sequence Diagram for Updating
Administrator
Figure 4.27 Sequence Diagram for Updating
Explanation of sequence diagrams for use case Updating
can be explained as follows:
1. User click button update which is exist in user menu
interface.
2. Interface will openurlconnection() through the system.
3. System will check url and create a connection.
4. System will read(db) into interface.
5. If database have problem it will appear message(error).
6. If database work it will appear message reopen
application.
4.3.5.7 Sequence Diagram for Suggestion
Figure 4.28 Sequence Diagram for Suggestion
Explanation of sequence diagrams for use case Suggestion
can be explained as follows:
1. User click(menu) button on device
2. Interface will show menu option
3. User click(menu) edit
4. System receive request for edit from click(menu)
5. System open URL registration and type username and
password
6. Website send type(username and password) into system
7. System check validation
8. If wrong it will send message(failed)
9. User will see message(failed)
10. If wrong it will send message(succeed)
11. User will see message(succeed)
12. User write suggestion() through interface
13. Result suggestion() will type into website
14. Suggestion send into system
15. System will check validation
16. If success system will send message(failed) into
interface
17. User can see message(failed)
18. If success system will send message(success) into
interface
19. User can see message(success)
4.4 Architectural Design
4.4.1 Criteria
The architectural design of the dictionary application system represents a
specific way of prioritizing design criteria. In this system, usable is the very
important criteria. Maintainable and correctness also had high priority. Because
the system was designed for interactive application, system will use the localhost
in running website.
Table 4.4The priority of design criteria
Criteria Very Important
Important Less Important
Irrele
vant
Easily Fullfield
Usable √
Secure √
Efficient √
Correct √
Reliable √
Maintainable √
Testable √
Flexible √
Comprehensible √
Reuseable √
Portable √
Having considered the general object-oriented criteria and the specific
condition, writer now can prioritize which criteria should govern design activity.
Explanation:
a. Usable, usefulness of the proposed system in accordance with
problem.
b. Secure, secure from unauthorized access.
c. Efficient, efficiency from economic exploitation point of view.
d. Correct, fulfilled the customer needs.
e. Reliable, fulfilment of the results from the existing functions.
f. Maintainable, the allocation of costs and repair a broken
system.
g. Testable, can be ascertained that the system developed
according to the function.
h. Flexible, ease of system modification.
i. Comprehensible, effort required to obtain a clear understanding
of the system.
j. Reusable, The potential use of the system for other systems.
k. Portable, can run the system in any platforms.
4.4.2 Components Architecture
Component architecture that the writer used is distributed data
architecture, it’s based on attribute functionality and client has user
interface, function and model.
Figure 4.29 Component Architecture for dictionary application.
Writer have the component “User interface”, which is responsible
for searching, updating, translating, that let users interact with the system.
The component “Functions” is responsible for providing system
functionality. Functionality is provided to “User interface” as a set of
operations on public classes.
4.4.3 Deployment Diagram
Deployment diagram using a centralized pattern, where user only
handled the user interface. All request are implemented in user interface
except update request. for update, user call to the server, where the server
responds by carrying out the relevant function on model and all
functionality reside on the server, and the users basically act like simple
data storage.
Figure 4.30 Deployment Diagram
4.5 Component Design
In developing application, software requirement and hardware
requirement which used by user are:
Hardware Minimum Requirements
Computer : Intel Core 2 Duo processor T660
Memory : 2 GB
HardDisk : 320 GB
Software Requirement
Windows XP
ADT version 11
Eclipse eclipse-jee-helios-SR2-win32
AVD version 11
SQLite version 3
XAMPP Control Panel Version 2.5
This research used one table that is consist of id, term, and meaning for
application database.
Table 4.5 Table of Dictionary Software Engineering
The Field Type of field id Integer (3) term Text (200) meaning Text (200)
id is representing the position of term and also have function as primary
key. Term is representing terminologies that can be tranlated by the
application. Meaning is representing meaning of terminology.
Base on explanation above, writer will be created component() design for
application dictionary, like:
Figure 4.31 Application design main screen
Figure 4.32 Application design searching screen
Figure 4.33 Application design menu screen
Figure 4.34 Application design translate screen
Figure 4.35 Application design about screen
4.6 Programing
Base on explanation above writer start programing the application:
1. Splash Screen
Figure 4.36 Splash Screen
This screen is opening screen, every time user uses
application it will appear Splash Screen first.
2. MainActivity Figure 4.37 Main Screen
This screen is main screen, which is almost of users
activities do on this screen.
3. Search Activity
Figure 4.38 Search Screen
This is Search Screen, which is users do searching on this
screen and it will give result in result list.
4. Translate Activity
Figure 4.39 Translate Screen
This is Translate Screen, which is appears if the users click
list result of searching and it will give result of translation in
new layer.
5. Menu Activity
Figure 4.40 Menu Screen
This is Menu Screen, which is appear when user click menu
button on device and it will give several button for another
access.
6. About Figure 4.41 About Screen
This is About Screen, which is appear when user click
button menu and it will display about developer.
7. Setting Activity
Figure 4.42 Setting Screen
This is Setting Screen, which is appear when user click
setting button to set up result limit, autolink and font size.
8. Update Activity Figure 4.43 Update Screen
This Update Screen, which is appear when user click
update button and it will download latest database version .
9. Suggestion Screen
Figure 4.44 Suggestion Screen
This is Suggestion Screen, which is appear when user click
edit button and it will access developer website to give suggestion.
4.7 Testing
Writer test every function which are existed in application using black box
testing with several user that is consist of 20 students of International
Program Science and Technology Faculty (tests are limited because the tests
carried out when semester break):
Table 4.6 Testing
Name function Definition Status Description
Splash Screen view
Application opening
OK The result can seen at Figure 4.36
Installing database
Install database into external
storage
OK The result can seen at Figure 4.36
Searching match character
Search every character have
same structure
OK The result can seen at Figure 4.38
Searching word Search word in database
OK The result can seen at Figure 4.38
Setting Set up application display
OK The result can seen at Figure 4.42
About Open about application
OK The result can seen at Figure 4.41
Auto link Link result of application
OK The result can seen at Figure 4.39
List result Result searching character and
word
OK The result can seen at Figure 4.38
Update Update database through internet
OK The result can seen at Figure 4.43
Exit Close application OK The result can seen at Figure 4.40
Suggestion Send developer any suggestion
OK The result can seen at Figure 4.44
From the table above, writer can show that application is running
smoothly without error.
CHAPTER V
CONCLUSION AND RECOMMENDATION
5.1 Conclusion
After we finish the research, writer obtains several conclusions:
1. This application in Android can be run depend on particular version
2.3.
2. It’s better to compile application in real device Android than compile
application in Android Virtual Device.
3. With implement Match Single Character in application user more easy
to find term by typing every single of character. See Figure 4.38
4. With implement Autolink in application user more easy to understand
any term because every word in translating layer will be linked. See
Figure 4.39
5. Implement interactive function, user can participate in developing
application and it will be main attraction for our application, also it
will help us in update the database. See Figure 4.44
5.2. Recommendation
1. Use another method of regular expression to increase performance in
solving missing typing.
2. Use another Joomla version or create website using others programing
language to increase performance in supporting interactive.
3. Web site must secure to protect the database.
4. Convert the database to minimize space of mobile device’s memory.
References
1. A’isyah, Febrianty. Aplikasi Pembuatan Kamus Bergambar Bahasa
Inggris Tentang Nama - nama Benda Menggunakan Macromedia Flash
MX. Jakarta: Gunadarma, 2006.
2. Anggraini, Ling Kan. Kamus Bahasa Handphone Menggunakan Java 2
Micro Edition (J2ME). Jakarta: Gunadarma, 2009.
3. Collegiate, Merriam.2005.Merriam-Webster Collegiate Dictionary.
English.
4. Dan, Rahmel. 2009. Beginning Joomla.United State of America :
APRESS.
5. Forsberg, Kevin and Mooz, Harold. 1995. The Relationship of System
Engineering to the Project Cycle. Cupertino: Pruneridge Avenue..
6. Goyvaerts, Jan and Levithan, Steven. 2009. Regular Expressions
Cookbook. United State of America: O’Relly.
7. Handoyo, Apriyadi. Pembuatan Kamus Perbankan dengan Menggunakan
Pemrograman Java. Jakarta: Gunadarma, 2011.
8. Hasan, Iqbal.M. 2002. Pokok-Pokok Materi Metodologi Penelitian Dan
Aplikasinya. Jakarta: Ghalia Indonesia.
9. Hasibuan, Zainal. 2007. Metodologi Penelitian Pada Bidang Ilmu
Komputer Dan Teknologi Informasi. Jakarta: Fakultas Ilmu Komputer
Universitas Indonesia.
10. Horasi and Febri, Ambara. Rancangan kamus kata untuk pemeriksa ejaan
elektronis. Jakarta: Universitas Indonesia, 1997.
11. Mathiassen, et.al., 2000. Object Oriented Analysis & Design. Denmark:
Marko Publishing.
12. Munawar. 2005. Pemodelan Visual Dengan UML. Jakarta: GrahaIlmu.
13. Naramore, Elizabeth.2005. Beginning PHP5, Apache, MysQL Web
Development. Indiana: Wiley Publishing, Inc. us.
14. Nasution, Chaeruli. Aplikasi Kamus Elektronik Istilah Komputer Dan
Teknologi Informasi Dengan Borland Delphi 5.0. Jakarta: Gunadarma,
2011.
15. Nazir, Moh. 2005. Metode Penelitian. Bogor: Ghalia Indonesia.
16. Nielsen, Sandro . 2008. The Effect of Lexicographical Information Costs
on Dictionary Making and Use. Lexikos.
17. Normansyah, Budi. Pembuatan Aplikasi Kamus Bahasa Indonesia-
Jepangdan Sebaliknya Berbasis Mobile Phone dengan Menggunakan
Bahasa Pemprograman J2ME (Java Micro Edition). Jakarta: Gunadarma,
2008.
18. Nugroho, Antonius. Strategi Penyusunan Kamus Referensi dan Analisis
Kinerja Metode Pelacakan Kata Pada Pemeriksa Ejaan Bahasa
Indonesia. Jakarta: Universitas Indonesia, 1995.
19. Pratiwi, Eka. Kamus Istilah Ilmu Komputer dengan Menggunakan
Microsoft Visual Basic 6.0. Jakarta: Gunadarma, 2011.
20. Pressman, Roger S. 2010. Software Engineering. United State of America:
The McGraw-Hill Companies, Inc.
21. Pressman, Roger S., (2005). Software Engineering 6th edition. United State
of America:Mc.Graw Hill.
22. Quigley, Ellie. (2007). PHP and MySQL. Prentice Hall. Singapore.
23. Soanes, Catherine and Stevenson, Angus. 2003.Oxford Dictionary.
English.
24. Soanes, Catherine and Stevenson, Angus. 2004.Oxford University Press.
English.
25. Steele, James and To, Nelson. 2011. The Android Developer’s Cookbook
Building Applications with the Android SDK. United State of America:
Pearson Education.
26. Tri, Malita. Aplikasi Kamus Asuransi Pada Telepon Selular Menggunakan
J2ME. Jakarta: Gunadarma, 2010.
27. Tuankotta, Imelda. Pembuatan Mobile Kamus Ambon Indonesia dengan
Menggunakan Java 2 Micro Edition. Jakarta: Gunadarma, 2009.
28. Watt, Andrew.2005. Beginning Regular Expressions. Canada: Wiley
Publishing.
29. Welling, Luke and Laura, Thomson.2001. PHP and MYSQL Development.
United State of America: SAMS.
ATTACHMENT
Attachment 1, List of Question of interview:
1. How dictionary process was running?
2. How to use Android System?
3. How to update existing database?
4. How to retrieve data from website and save it on Android database?
5. How to do parsing on Android?
6. Is that regular expression method enable to use on
Android?
7. What kind of storage method that is used by Android?
8. How to use SQLite database on Android system?