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

(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

JAKARTA 2011 M / 1432 H


(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

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 Sukm ana, 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


(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

Raden Alexander Jackhariyas 107091102760


(5)

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


(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

4. Husni Teja Sukmana, Ph.D as Head of PUSKOM and my supervisor I 5. Ms. Mamitha Deramayang as a staff in international Class.


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


(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

CHAPTER IV THE RESULT AND THE EXPLANATION 4.1 Problem Domain Analysis... ... 54


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

Miss typing is a false typing or false process of writing. Sometimes miss typing becomes problem in searching the meaning of the words for


(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 solve missing typing and interactive function to give developer suggestions in developing their application like Babylon or web based


(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

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


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

4. How to make application more interactive so the database can be updated?


(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

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.


(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

Writer will explain about how to create application base on steps that already explained in Chapter III. It will cover system analysis, database design,


(26)

application design, code design, and implementation.

CHAPTER V CONCLUSION AND RECOMMENDATION This

part, summarizes the study’s findings, and recommendation to make system better.


(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 particular subject or activity along with discussion of their meanings and applications.


(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 elements related in a way that allowsthe accomplishment of some tangible objective.


(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

Scientific Software has been characterized by “number crunching” algorithm. Application range from astronomy to volcanology, from


(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

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


(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

It provides the technical how to’s for building software. Method encompass a broad array of tasks that include


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

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


(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

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.


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

Figure 2.3 Example of Understanding Inheritance. Kitchen Equipment and Furniture is inherited from House wares.


(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

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


(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

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.


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

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.


(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

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.


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

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.


(40)

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.


(41)

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


(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

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


(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

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.


(44)

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


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

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


(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

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


(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

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.


(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

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


(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: sales. Result:


(51)

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


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

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.


(54)

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,


(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

Based on Dan (2009), The XAMPP package was created to ensure that all server versions in the installer are compatible with


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


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


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


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


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


(61)

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


(62)

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


(63)

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


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


(65)

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.


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

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.


(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

component connections that the writer using for building the system.


(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

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.


(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 character repeats.


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

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.


(1)

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


(2)

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.


(3)

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


(4)

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


(5)

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.


(6)

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?