Development on Application of Software Engineering ...

126
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

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?