• Tidak ada hasil yang ditemukan

Development on application of software engineering ductionary with use of reguler expression mathod based on android system

N/A
N/A
Protected

Academic year: 2017

Membagikan "Development on application of software engineering ductionary with use of reguler expression mathod based on android system"

Copied!
126
0
0

Teks penuh

(1)

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

(2)

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

(3)

EXAM VALIDATION

(4)

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

(5)

ABSTRACT

Raden Alexander Jackhariyas, Developing Software Engineering Terminology Dictionary Application Using Regular Expression Method Based on Android System, 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

(6)

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

(7)

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

(8)

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

(9)

CHAPTER II LITERATURE REVIEW

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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.

(19)

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

(20)

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 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

(21)

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?

(22)

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

(23)

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

(24)

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

(25)

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

(26)

application design, code design, and implementation.

CHAPTER V CONCLUSION AND RECOMMENDATION This

(27)

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

(28)

 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

(29)

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

(30)

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

(31)

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

(32)

Tools

M et hods

Process

A qualit y 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.

(33)

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

(34)

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.

(35)

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

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)

(36)

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

(37)

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.

(38)

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

(39)

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?

Content: What are the system’s information requirements? Concepts: Interface, user interfaces, and system interface.

3) Architectural Design

(40)

Table 2.1Activities in architectural design process distributed and coordinated? 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

(41)

Correct

The cost of locating and fixing system defects. The cost of modifying the deployed system. The effort needed to obtain a coherent

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

(42)

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

(43)

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

(44)
(45)

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.

(46)

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

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

(47)

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:

(48)

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

(49)

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

(50)

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:

(51)

sales1.xls sales2.xls sales3.xls

(52)

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:

(53)
(54)

After being an open source product, many programmers from use was Perl and C language.

(55)

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

(56)

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

(57)

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 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

(58)

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 bother as the search word in the conventional print dictionary.[23]

(59)

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 currency. Application interface is quite user-friendly and easily understood.

(60)

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 determine the performance of the spellchecker. The results showed that the success rate and speed the process of tracking words are

(61)

the most important components in electronic spelling checker is a

(62)

mobile device flexibility for users to communicate has led the

(63)
(64)

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 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

(65)
(66)

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.

(67)

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

(68)

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

(69)

The above phases can be draw as follow:

System Development M ethod

Problem Dom ain analysis

Clases

St r uct ure

Behaviour

Usage

Application Dom ain

analysis Funct ion

Int erface

Crit eria

Archit ect ural Design

Com ponent

Com ponent Design Process

Program m ing

M aint enace

Soft w are Qualit y

Assurance Test ing

(70)

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

(71)

 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.

(72)

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

(73)

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

(74)

4.1.1. Find Classes 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.

(75)

Translate: This class used to start searching the meaning of word

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

(76)

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.

(77)

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

(78)

4.1.4. Behaviour

1. Searching by Using Match Single Characters

Figure 4.2 Statechart diagram for class “Searching by Using Match Single Characters"

(79)

2. Translate

Figure 4.3 Statechart diagram for a class “Translate"

(80)

3. Update

Figure 4.4 Statechart diagram for a class “Update"

(81)

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.

(82)

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

(83)

i

PRIMARY ACTOR:  Administrator

DESCRIPTION:

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

(84)

4.2.2.3 Use Case Narrative for Manage Website

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

(85)

USE CASE NAME: Manage User

TRIGGER: This use case is managing the user

TYPICAL COURSE requirements information or give the wrong value, system will display the error

Figure 4.9 Use-case narratives for manage user

4.2.2.5 Use Case Narrative for Searching by Using Match Single

Characters

(86)

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

(87)

PRIMARY

PRE-CONDITION: Input data must be inserted first

TRIGGER: Use case Translating is started when the

Figure 4.11 Use-case narratives for translating

4.2.2.7 Use Case Narrative for Updating

(88)

PRIMARY

Figure 4.12 Use-case narratives for updating

4.2.2.8 Use Case Narrative for Setting

(89)

PRIMARY

Figure 4.13 Use-case narratives for setting

(90)

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:

(91)

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:

(92)

4.2.3.3 Activity Diagram for Manage Website

Figure 4.17 Activity Diagram for Manage Website

Explanation:

(93)

4.2.3.4 Activity Diagram for Manage User

Figure 4.18 Activity Diagram for Manage User Explanation:

(94)

4.2.3.5 Activity Diagram for Searching

Figure 4.19 Activity Diagram for Searching Explanation:

(95)

4.2.3.6 Activity Diagram for Translating

Figure 4.20 Activity Diagram for Translating Explanation:

(96)

4.2.3.7 Activity Diagram for Updating

Updating

Figure 4.21 Activity Diagram for

Explanation:

(97)

4.2.3.8 Activity Diagram for Setting

Figure 4.22 Activity Diagram for Setting Explanation:

(98)

4.3.4 Functions Complexity Type

Function list describes the action specification for the user to understand the function more clearly. The following list

Get input meaning from database medium Read

(99)

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

(100)

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:

(101)

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

(102)

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

(103)

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

(104)

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.

(105)

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

(106)

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

(107)

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

(108)

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

Gambar

Figure 2.1Software Engineering Layers
Figure 2.3 Example of Understanding Inheritance. Kitchen
Figure 2.4 Development Cycle OOAD
Table 2.1Activities in architectural design
+7

Referensi

Dokumen terkait

Base on the phenomena above, the writer is interested in conducting a study of speech errors which made by students of civil engineering a case study in English Tutorial Program,

Furthermore, based on the cases above, the writer is going to conduct research with the title A Socio-Pragmatic Analysis on Directive Utterances of Orphan

effective way to promote the products. According the explanation above, the writer decides to use the topic “The use of persuasive essay on Blog to promote poster” to fulfill

That was the reason for this research, to analyze and make a user interface for community service application which makes the usability easier based on the

Based on the background explanation above, the authors are interested in conducting a more in- depth study with the title: The Effect of Relationship and Service Quality on Customer

The results showed the differences in students’ skills and knowledge in the above aspects of software engineering were significant, signifying that the project- based

However, with the improved power of microprocessors, the evolution of more powerful programming languages and a better appreciation of modern software engineering techniques, it is

The method used is value engineering with the aim of understanding and identifying obstacles in the application of value engineering and lean six sigma methods in dirty water