Lecturing scheduling system informatic engineering major islamic University Syarif Hidayatullah Jakarta Using Genetic Algorithm

(1)

“Lecturing Scheduling System at Informatic Engineering Major

Islamic University Syarif Hidayatullah Jakarta

Using Genetic Algorithm”

THESIS WRITING

Created by:

Dewi Aisyah Rahayuningsih

Matric No. : 106091105097

INTERNATIONAL CLASS

INFORMATIC ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH

JAKARTA

2010 M / 1431 H


(2)

“Lecturing Scheduling System at Informatic Engineering

Major Islamic University Syarif Hidayatullah Jakarta

Using Genetic Algorithm”

Thesis Writing

As a Requirement for Achieving Bachelor Degree of Computer Science

Faculty of Science and Technology Islamic University Syarif Hidayatullah

Jakarta

Created by :

DEWI AISYAH RAHAYUNINGSIH

Matric No. : 106091105097

INTERNATIONAL CLASS

INFORMATIC ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH

JAKARTA

2010 M / 1431 H


(3)

LECTURING SCHEDULING SYSTEM AT INFORMATIC ENGINEERING MAJOR ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH JAKARTA

USING GENETIC ALGORITHM

Thesis Writing

As a Requirement to Achieve a Bachelor Degree of Computer Science Faculty of Science and Technology

State Islamic University Syarif Hidayatullah Jakarta

Created By

DEWI AISYAH RAHAYUNINGSIH Matrix No. : 106091105097

Approving, Supervisor

NIP. 197105222006041002

Yusuf Durrachman, M.Sc, M.IT

Co-Supervisor

NIP. 198208172009122002

Ria Hari Gusmita, ST, M.Kom

Knowing,

Head of InformaticEngineering

NIP. 197105222006041002


(4)

iv

VALIDATION TEST

Thesis writing which title is “LECTURING SCHEDULING SYSTEM AT INFORMATIC ENGINEERING MAJOR ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH JAKARTA USING GENETIC ALGORITHM”, it has been tested and has passed in Munaqosah Test Faculty of Science and Technology Islamic University Syarif Hidayatullah Jakarta on September 2010. This thesis writing as a requirement for achieving a bachelor degree of computer science at informatic engineering major.

Jakarta, September 2010 Examiner Team,

Supervising team,

Knowing, Examiner I

Husni Teja Sukmana. Ph.D NIP. 19771030200112 1 003

Co-Supervisor

Ria Hari Gusmita, ST, M.Kom NIP. 198208172009122002 Supervisor

Yusuf Durrachman, M.Sc, M.IT NIP. 197105222006041002

Examiner II

Imam M Shofi, MT NIP. 19720205 20080 1 010

Dean of

Faculty Science and Technology

DR. Syopiansyah Jaya Putra, M.Sis NIP. 19680 117 200 112 1001

Head of Informatic Engineering Major

Yusuf Durrachman, M.Sc, M.IT NIP. 197105222006041002


(5)

v

DECLARATION

I hereby declare that the work in this thesis writing was carried out in accordance with the Regulations of Islamic University Syarif Hidayatullah Jakarta. The work presented in this thesis is the result of original research carried out by myself, whilst enrolled in the Informatic Engineering Major, Faculty of Science and Technology, Islamic University Syarif Hidayatullah Jakarta as a candidate for the Bachelor degree. This work has not been submitted for any other degree or award in any other university or educational establishment.

Jakarta, September 2010

Dewi Aisyah Rahayuningsih Matric No. : 106091105097


(6)

vi

ABSTRACT

DEWI AISYAH RAHAYUNINGSIH, Lecturing Scheduling System at

Informatic Engineering Major Islamic University Syarif Hidayatullah Jakarta

Using Genetic Algorithm was supervised by Mr. YUSUF DURRACHMAN and

Mrs. RIA HARI GUSMITA.

Informatic Engineering Major Islamic University Syarif Hidayatullah Jakarta is a major under auspices of Science and Technology Faculty. One of the academic activity at Informatic Engineering Office is providing a lecturing schedule. Unfortunately the lecturing scheduling system at Informatic engineering is still using manual way. This thing gives a bad effect for scheduling because sometime clash of using room is occurred. Based on the problem above, the writer will design a lecturing scheduling system which could achieve optimization and efficiency. A new proposed lecturing scheduling system is using waterfall development system. The steps of waterfall development system are communication, planning, modelling, construction and deployment. The writer is using Data Flow Diagram (DFD) to explain the process model and genetic algorithm method to achieve the optimization. The Results of this thesis is (1) Genetic Algorithm can is more effective than using manual way because it can achieve the optimization.(2) Genetic Algorithm is easier in use if we compared to the manual way. (3) It is very helpful to find the empty room and to match between the empty room and the course subject. (4)The parameters can be adjusted as needed.

Keywords :Genetic Algorithms, Class Scheduling.

VI Chapter + xx Pages + 121 Pages + 21 References (1989-2010) + Appendix, 2010


(7)

vii

LIST OF CONTENT

TITLE PAGE ... i

AUTHORIZATION PAGE ... ii

THESIS VALIDATION ... iii

VALIDATION THESIS TEST ... iv

DECLARATION PAGE ... v

ABSTRACT ... vi

ACKNOWLEDGEMENTS ... vi

LIST OF CONTENTS ... vii

LIST OF FIGURES ... xii

LIST OF TABLES ... xiv

LIST OF DEFINITION ... xv

APPENDIX ... xvi

PART I INTRODUCTION 1

1.1 Background Research Problem ……….

1.2 Objective of the Study ………...………...

1.3 Context of the Study …………..………...………...

1.4 The Purpose of the Research………..

1.5 The Advantage ………...

1.5.1 For The Writer ………...…

1.5.2 For The Academic ………

1.6 The Research Methodology ………

1.6.1 The Collecting Data Method ……….

1.6.2 The System Development Method ………..………….

1.7 Organization of the Study ………..

1 6 7 8 9 9 9 9 9 11 13

PART II LITERATURE REVIEW

2.1 Introduction ………

2.2 The Concept of Lecturing Scheduling System …………...

2.2.1 Lecturing ………...

16 16 16 16


(8)

viii

2.2.2 Scheduling ………

2.2.3 System ………...

2.3 Software ………..…...

2.3.1 Software Engineering..………...………...

2.4 System Engineering ………...

2.5 System Modeling ...……….

2.6 Computer Engineering …...………

2.7 The Waterfall Process Model ……….

2.7.1 Communication ……….

2.7.2 Planning ………

2.7.3 Modelling………...

2.7.4 Construction ………...………...

2.7.5 Deployment ………...………

2.8 Type of Algorithms ………....………...

2.9 The Concept of Genetic Algorithms ...………....

2.9.1 The Origins of Artificial Species ………

2.9.2 Encoding of chromosomes ……….

2.9.3 Population Size ………...

2.9.4 Evaluating a Chromosomes ………....

2.9.5 Initialising a Population ………..

2.9.6 Methods of Selecting for Extinction or for Breeding..

2.9.7 Crossover ………

2.9.8 Mutation ……….

2.9.9 Inversion ……….

2.9.10 Optimising Genetic Algorithm Performance……....

2.10 Applications of Genetic Algorithms……….

2.11 The Concept of Programming Language ……….

2.11.1 PHP ………..

2.11.2 History of PHP ……….

2.12 MySQL ………....

2.13 Feasibility Study ………..

17 17 18 21 22 23 23 24 24 26 26 27 29 29 31 31 33 33 33 35 35 37 39 41 41 43 44 44 45 48 51


(9)

ix

2.13.1 Economic Feasibility ...……….

2.13.2 Technical Feasibility ………

2.13.3 Operational Feasibility ……….

2.13.4 Schedule Feasibility ……….

2.14 XAMPP ………

2.15 Related Works ………..

2.16 Summary ………..

51 52 52 52 53 53 60

PART III RESEARCH METHODOLOGY

3.1 Introduction ………..

3.2 Research Method ………

3.3 The System Developing Method ……….

3.3.1 Communication ………..

3.3.1.1 Problem Identification ………...

3.3.1.2 Initiating The Project ...

3.3.1.3 Proposing New System ………...

3.3.1.4 The Scope of System ………...……...

3.3.1.5 Feasibility Study ………....

3.3.2 Planning ………..

3.3.3 Modelling ………...

3.3.3.1 Requirement Models ………..

3.3.3.2 Design Model ……….

3.3.4 Construction .………..

3.3.4.1 Coding ………..………....

3.3.4.2 Testing ………..………

3.3.5 Deployment ...………...

3.4 Fact Finding Technique ………...

3.4.1 Literature Study ………..

3.4.2 Interview method ………

3.4.3 Observation method ………

3.5 The Writer’s Mind Map ………...

61 61 61 62 63 63 63 63 63 64 64 64 65 65 66 66 67 67 68 68 69 70 72


(10)

x

3.6 The Time and Allocation in Research ………... 73

PART IV ANALYSIS AND DESIGN

4.1Overview at Science and Technology Faculty State Islamic University Syarif Hidayatullah Jakarta ………...

4.1.1 Science and Technology Profile ……….

4.1.2 Vision and Mission of Science and Technology Faculty ...

4.1.3 Organization Structure ...………

4.2Developing Lecturing Scheduling System at Informatic Engineering Major State Islamic University Syarif

Hidayatullah Jakarta ……...….

4.2.1 Analysis ………....………..

4.2.1.1 Problem Identification ...

4.2.1.2 Initiate the Project ………...

4.2.1.3 Proposing New System ………...

4.2.1.4 The Scope of the System ………...

4.2.1.5 Feasibility Study ………...

4.2.2 Planning ... 4.2.3 Modeling ... 4.2.3.1 Requirement Model …………...

4.2.3.1.1 Data Flow Diagram (DFD) ... 4.2.3.1.2 Entity Relationship Diagram

(ERD) ... 4.2.3.2 Design Model ...

74 74 74 74 75 76 77 81 81 82 83 83 84 98 98 99 103 108

PART V IMPLEMENTATION

5.1System Requirement ...

5.2Construction ………...

5.2.1 Coding ………..

5.2.2 Testing ………..

110 110 110 110 111


(11)

xi

5.2.2.1Black Box Testing ……….

5.2.2.2White Box Testing ……….

5.3Implementing Lecturing Schedule ………...

111 112 116

PART VI CONCLUSION

6.1The Advantange of This System ... 6.2The Disadvantange of This System ... 6.3The Suggestion for the future ...

119 119 119 119


(12)

APPENDIXES


(13)

xii

LIST OF FIGURE

Figure 1.1: Overview of the research process and corresponding chapters ... 13

Figure 2.1: Software Engineering Layers ... 20

Figure 2.2: The Waterfall Model ... 22

Figure 2.3: Top Level description of GA ... 30

Figure 2.4: An Example of Crossover with Fully Encoded Genes ... 37

Figure 2.5: The Inversion Operator ... 39

Figure 2.6: The Genetic Algorithm Process ... 41

Figure 3.1: The writer’s Mind Map (part 1) ... 69

Figure 3.2: The writer’s Mind Map (part 2) ... 70

Figure 4.1: Organization Structure at Science and Technology Faculty ... 73

Figure 4.2: The Flowchart System of Lecturing Scheduling ... 80

Figure 4.3: The Flowchart Process of Genetic Algorithm ... 81

Figure 4.4: The Data Flow Diagram (DFD) of Lecturing Scheduling System .... 95

Figure 4.5: Design Input 1 ... 96

Figure 4.6: Design Input 2 ... 97

Figure 4.7: Design Output ... 98

Figure 4.8: The ERD of the system ... 102

Figure 4.9: Inputing The Total of Day ... 106

Figure 4.10: Inputing The Name of The Day ... 107

Figure 4.11: Inputing The Name of The Day ... 108

Figure 4.12: Inputing The Time Session ... 109

Figure 4.13: Inputing The Total of The Room (local) ... 110

Figure 4.14: Inputing The Room’s name ... 111

Figure 4.15: Inputing The Total of The Lecturers ... 112

Figure 4.16: Inputing The Name of The Lecturer ... 113

Figure 4.17: Inputing The Total of The Course Subject ... 114

Figure 4.18: Inputing The Course Subject ... 115


(14)

LIST OF TABLE

Table 2.1: The List of Algorithm ... 27

Table 4.1: The day in a week ... 87

Table 4.2: The Session in a day ... 87

Table 4.3: The Room Class at Computer engineering Major ... 88

Table 4.4: The Limitation and Priority Value for Scheduling ... 94

Table 4.5: Influential Factor for Calculating Fitness at Computer Engineering Major State Islamic University Syarif Hidayatullah Jakarta ... 95

Table 4.6: The table of the day ... 104

Table 4.7: The table of local ... 105

Table 4.8: The table of lecturer ... 106

Table 4.9: The table of course ... 106

Table 4.10: The table of session ... 100

Table 4.11: The table of schedule ... 107


(15)

1

PART I

INTRODUCTION

1.1. Background Research Problem

Information Technology has traversed all aspects of human life today. The dependence on electronic information exchange infrastructure is growing exponentially, with each passing millisecond. The society has emerged into age which has been described using many terms: “The Computer Revolution”, “The Information Revolution”, “The Binary Age” – into a society that is called “The Information Society” (Williams et. al. 1999).

Based on Gates (1999), Information Technology is going to change in every year. It produced many technologies and goals, in every change from information technology are helping people to run bussiness smoothly, transforming business and making people easier in doing their job.

If the 1980s were about quality,and the 1990s were about reengineering then 2000s were about developing technology (Gates, 1999). How about quickly the nature of information technology will change? How about information technology access will alter the lifestyle of people and their expectation of technology?.

After reading some previous thesis writing and article, the writer’s assumes that using a lecturing scheduling system is very helpful because it can use for monitoring the location and the time, for making easier in


(16)

2

lecturing scheduling betwen the lecturers and the student about the time and the location.

Based on the interviewed with a secretary of Informatic Engineering Major Islamic University Syarif Hidayatullah Jakarta, the writer found some problems in lecturing schedule, they are : the clash in using the room between Informatic Engineering major and other majors in faculty of science and technology and the clash in using the laboratory room between Informatic Engineering major and other majors in faculty of science and technology. There were some important elements that they made influence in lecturing scheduling system, the writer identified such as: the total credit of course subject, the course subject, the class, the lecturer (day and time in giving lesson) and the room.

Today the Lecturing Scheduling System at Informatic Engineering Major Islamic University Syarif Hidayatullah Jakarta is still using manual system in processing and managing. The processes of the manual system are:


(17)

3

Figure 1.1 : Flowchart of the current system

Start

Creating a lecture request form and course

subject

Read course subject and a lecture request

form

Matching the course subject and the lecture

request form

Saving the data into Mic.

Excel Calculating the total of

credit hour in a semester and course

subject

Recheck the lecturer request, course subject

Lecture request form and List of course subject The schedule report

Publish the schedule


(18)

4

The explanation of the flowchart above is :

1. The secretary of Informatic Engineering is creating the course subject that will be offered in a semester,

2. The secretary of Informatic Engineering will make a form for lecture, 3. The secretary of Informatic Engineering will make duplicate for the

offered schedule in a semester including with the information about the due date of submiting the form for lecture then the secretary of Informatic Engineering will distribute it to the lecture,

4. The lecture of Informatic Engineering will read the course subject list, 5. The lectures of Informatic Engineering will choose the course subject

based on their expectation and fill the form then they give back the form that already fullfill to the secretary of Informatic Engineering, 6. The secretary of Informatic Engineering will receive and gather the

form from the lecture,

7. The secretary of Informatic Engineering checks the form and insert it into Microsoft Excel software and leave a space to used as a studying process in a session,

8. The secretary of Informatic Engineering calculate the number of credit semester based on the structural position of a lecturer and the course subject,

9. The secretary of Informatic Engineering will inform the validation result for lecturing,


(19)

5

10. The secretary of Informatic Engineering will recheck the lecturing scheduling (in which already made in Microsoft Excel) and will print the schedule,

11. The secretary of Informatic Engineering gives the schedule printed to the academic in science and technology faculty for publishing it to the student,

12. The academic will publish the schedule on the board.

The problems was occuring when the Informatic Engineering Major uses current system. The problems are identify such:

1. It is less efficient system because of using paper as form.

2. Difficulty in making a lecturing schedule based on agreement form

(which already filled by lecturer)

3. The secretary at Informatic Engineering must work hard to match the room and the lecturer based on the paper agreement form.

4. Difficult in check the info about the lecturer’s name, the course

subject, the code of course subject, the time and the room for lecturing.

5. Difficulty in managing schedule for laboratory room between

Informatic Engineering major and other major.

To overcome the problems that occured above, the secretary of Informatic Engineering did some actions such as : rescheduling and changing the lecturer. In the fact, use both of them is very risky.


(20)

6

Rescheduling will produce not efficient in time (it spends long time) and changing the lecturer with other lecturer will give a bad performance for new lecturer (might be the new lecturer is not ready to teach because of the short time).

Based on observation, a previous research: Annisa (2009) had not overcome the problem and she did not use any specific optimization method to find the best solution in scheduling problem and other previous researches, they are: Ivan (2008) and Aria (2008) had overcome the problem by implementing genetic algorithm method.

Based on the explanation above, the writer decides the genetic algorithm for developing an application which the writer called it

Lecturing Scheduling System at Informatic Engineering Major Islamic

University Syarif Hidayatullah Jakarta Using Genetic Algorithm”.

1.2. Objective of the Study

The main theme of this thesis centres on a few fundamental questions, such as: What is Lecturing Scheduling System data and what are the characteristics of a system that caters to this data? Who are the users of this system and what is the range of its usage? What factors influence the adoption of the solutions that have been provided by Information Technology to the problem of effective use of the lecturing scheduling system? What would be an ideal system that would enable the users to make full use of the system?


(21)

7

More specifically the aims of this study are defined and explained below. 1. To optimize the lecturing scheduling at Informatic Engineering major

so it will avoid the clash of the room between Informatic Engineering major and other major.

2. To produce the best value for fitness value as genetic algorithm using fitness value and find the population of solution.

1.3. Context of the Study

In this thesis writing, the writer gives the scope of “Lecturing Scheduling System at Informatic Engineering Major Islamic University Syarif Hidayatullah Jakarta Using Genetic Algorithm”.

The area that will be include:

1. This system will work only for searching the room for process study. The application:

a. The system will give input from the secretary: the day, the

session, the room (local), the course subject, the lecturer’s name. b. After the secretary giving the input, the genetic algorithm will

process the table of lecturer, room and class then it will produce the output.

c. The system will give the output:

Lecturer’s name, course subject, day, session, time for lecturing, credit and room.


(22)

8

2. This system processes the data only in the even semester in year 2009/2010. If the user wants to process other semester, the user must giving input about the elements needed for that semester, they are : course subject and lecturer.

3. Each session is only for meetings that have weight two credits

hour.

4. The writer uses waterfall as the methodology research. 5. This system is using MySQL as the database server.

1.4. The Purpose of The Research

The purpose of this thesis writing is :

1. Helping Informatic Engineering Major Islamic University Syarif

Hidayatullah in processing data by making a system which it called “Lecturing Scheduling System at Informatic Engineering Major Islamic University Sysrif Hidayatullah Jakarta Using Genetic Algorithm”.

2. Developing a system that it can give advantage to the staff in


(23)

9

1.5. The Advantage

1.5.1. For The Writer

1. Understanding the development of the system by using PHP

programming language and analyzing the system by using genetic algorithm.

2. The writer could implemented the knowledge that the writer

got in university, such: System Design Analysis, Software Engineering, Web Programming, Artificial Intelligence, Programming and Algorithm, Research Methodology in ICT, Database System and Data Structure.

3. This thesis writing is the requirement for achieving a bachelor degree from university.

1.5.2. For The Academic

1. Knowing the student ability in implementing the university Into the real.

2. Evaluating the student capability.

1.6. The Research Methodology

1.6.1. The Collecting Data Method

Based on Hasibuan (2007: 155), data used in the research must be qualified good data, such as: (1) data must be accurate; (2) data must be relevant; and (3) data must be up to date. Qualitative


(24)

10

research method conducted by interview, observation and ethnography.

Based on Hasibuan (2007: 155), in qualitative research, data sources can be both human actions and words, materials such as document libraries, archives, newspapers, magazines, scientific journals, books, annual reports, etc. Techniques used for qualitative research data is interviews, participatory research, observation and literature study.

1. Literature study:

According to Keraf (1994: 164), Literature study is collecting the data and the information by reading the book as a reference material for the research.

2. Interview method:

According to Hasibuan (2007: 157), 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.

3. Observation method:

Based on Hasibuan (2007: 157), the observation is a study conducted to understand a phenomenon that is based on the ideas or knowledge that has been known previously.


(25)

11

Based on Jogiyanto (2008: 89), the observation is an approach to obtain primary data by directly observing the data object. The observations were divided into two types, they were: behavioral observation and non behavioral observation.

Based on Jogiyanto (2008: 90), the behavioural observation is an oobservation that carried out on everything except the data and the non behavioral observation is an analysis of observational data could be collected data from the current record or historical data.

1.6.2. The System Development Method

The system development method that the writer uses in this thesis writing is Waterfall model. The waterfall model discovered by Winston W. Royce in 1970. According to Pressman (2010), The waterfall model is suggest a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modelling, construction, and deployment, culminating in on-going support of the completed software.

Based on Pressman (2010), The steps in waterfall model such :


(26)

12

1. Communication

In this stage, the writer shall try to find the problem that was occurred, try to identify the problem, collect the data and map the problem into project scope.

2. Planning

In this stage the writer will summarize the result of analysis then the writer will make a plan to build something which is suitable with the user’s request.

3. Modeling

The writer shall design the project according to the requirement that already collected. Modelling divides into two types and the writer identified them such as: requirement model and design model.

4. Construction

In construction stage, the writer will do some activities, such as coding and testing. The writer shall transform the genetic algorithm method into the coding and after finishing, the writer shall test it whether use white box testing or black box testing.

5. Deployment

After finishing and the project ready to be a package or bound it, the writer shall to deliver it to the user then the user will give the feedback to the writer. In this stage, the writer shall maintain the software in use.


(27)

13

1.7. Organization of the Study

In this thesis writing, the writer divides the paper into five chapters with some explanation in each chapter. The writing scheme:

PART I INTRODUCTION

Chapter one gives an overview of the thesis, the identification of research problems, the reason for undertaking this research and the purpose of the study.

PART II LITERATURE REVIEW

Chapter two is reviewing lecturing scheduling system using genetic algorithm literature to bring together various descriptions of genetic algorithm into a working definition, concept underlying genetic algorithm. From the review of the literature, characteristics and capabilities of Information Technology are identified and summarized into dimensions which make up lecturing scheduling system using genetic algorithm.

PART III RESEARCH METHODOLOGY

Chapter three outlines the research methods used in collecting data for analysis. Various research methods are explored before a particular method is chosen. As this study is survey based, the admin of data collection means are given emphasis.


(28)

14

PART IV ANALYSIS AND DESIGN

Chapter four explains how the research variables were operationalised and incorporated. Furthermore, the methods by which the research instrument was comprehensively validated are described and evaluated.

PART V IMPLEMENTATION

This part is showing the implementation and the contribution of genetic algorithm inside the lecturing scheduling system.

PART VI CONCLUSION

This part, summarizes the study’s findings, outlines implications for both research and practice, and qualifies the result within the frame of theoretical and statistical limitation. The study concludes with suggestion for future avenues of research and final thoughts.


(29)

15

Figure 1.2: Overview of the research process and corresponding parts

PART 1 - Background research problem - Objective of the study - Context of the study

PART 2

- Literature Review

- Understanding of the concept that relate to the study

PART 3

- Research methodology - Fact finding tools and mechanisms - Case profiles

PART 4

- Discussion of the data collected - Analysis and Design

PART 5

It’s about implementing the genetic algorithm to the lecturing scheduling system

PART 6

Summarizing and Suggesting for future work


(30)

16

PART II

LITERATURE REVIEW

2.1. Introduction

The first part of this chapter looks at how Information Technology has led to the creation of an Information Society, which realises and utilizes the data available to form information and knowledge. The chapter thus establishes the importance and influence that IT has on our lives today, focusing on the scheduling domain. The chapter then looks into the emergence of lecturing scheduling systems, and then the main areas of research at current times, from the technological perspective. There is a brief description of the systems developed and research being carried out in the world today – thus highlighting the importance it is receiving from both the science as well as computing field. Finally, the chapter critically reviews the existing research done in the area of adoption of such systems in real life scenario and in doing so highlights the areas that warrant further exploration.

2.2. The Concept of Lecturing Scheduling System

2.2.1. Lecturing

Based on The Oxford Pocket Dictionary (2003), The meaning of lecture: talk given for the purpose of teaching, give a lecture on a particular subject.


(31)

17

Based on Mifflin (2009), Lecturing is delivering a lecture or series of lectures or teaching by giving a discourse on some subject (typically to a class).

2.2.2. Scheduling

According to The Oxford Dictionary (2003), schedule is arranging for something to happen at a particular time.

Based on business dictionary, Scheduling is determining when an activity should start or end, depending on its (1) predecessor activity (or

Based on elook dictionary, scheduling is [noun] setting an order and time for planned events.

2.2.3. System

There are many understanding of system, the writer explain them such as:

1. System is a group of parts that are connected or work together, based on Oxford Dictionary (2003).

2. The IEEE standards define a system as: A collection of

components organized to accomplish a specific function or set of functions. (IEEE Standard 610.12-1990)


(32)

18

3. According to the Pressman (2005), a system is a collection of related elements related in a way that allows the

accomplishment of some tangible objective.

4. Webster‘s Dictionary defines 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

5. Hartono stated that system is a collection of element or

variable that related each other, organized and did activity to get some purpose (Hartono: 1999, p.2).

6. Davis (1985), stated that system is a part which has related each other whic is operate together to get some purpose.

7. Lucas (1989), identified system as an organized component

which related each other.

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


(33)

19

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 specific business need. Application software is used to control business functions in real time (e.g., point of sale transaction processing, real time manufacturing process control).

3. Engineering / Scientific Software

Scientific Software has been characterized by “number crunching” algorithm. Application range from astronomy to volcanology, from automotive stress analysis to space shuttle orbital dynamics, and from molecular biology to automated manufacturing.

4. Embedded Software

It resides within a product or system and is used to implement and control features and functions for the end user and for the system itself. (e.g., key pad control for a microwave oven).


(34)

20

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

It makes use of non numerical algorithms to solve complex problems that are not amenable to computation or straightforward analysis. Application within this area include robotics, expert system, pattern recognition ( image and voice ), artificial neural networks, theorem proving, and game playing according to Pressman (2010).

Based on the explanation above, the writer states that “Lecturing Scheduling System at Informatic Engineering Islamic University Jakarta Using Genetic Algorithm” is a kind of artificial intelligence software which


(35)

21

is it use genetic algorithm to translate the problem occured to the programming language then it proceed into software.

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. The writer try to explain the layers one by one and the 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 communication ,


(36)

22

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.1: Software Engineering Layers

2.4. System Engineering

According to 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 Kevin Forsberg and Harold Mooz (1995), System

Engineering is responsible for involving key personnel (to address human factors, safety, producibility, inspectibility, reliability, maintainability,

Tools Methods Process


(37)

23

logistics, etc.) at each step, starting with risk analyses and feasibility studies in the Concept Definition phase.

2.5. System Modeling

According to 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. Computer Engineering

The witer major is Informatic Engineering and specified in software engineering. There are many meanings of Informatic Engineering in the world. The writer will explain them one by one which related with the field study and the project title.

The writer classified them, such as:

1. According to Sommerville (2009), “Software engineering is an

engineering discipline which is concerned with all aspect of software production.

2. According to Pressman (2010), “Software Engineering is a people who


(38)

24

2.7. The Waterfall Process Model

Based on Pressman (2010), the waterfall model, sometimes called the classic life cycle, suggests a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction, and deployment, culminating in ongoing support of the complete software.

It uses when the requirements for a problem are well understood – when work flows from communication through deployment in a reasonably linear fashion.

Figure 2.2: The Waterfall Model

2.7.1 Communication

Communication was begun when the writer responded to the user request for help. The bridge in communicating step understands the request even it’s hard to do.

Before customer requirement can be analyzed, modeled, or specified they must be gathered through the communication activity. Effective communication among developer, stakeholders and users is very needed, its important to achive the purpose. In communication

Communication Planning Modelling Construction


(39)

25

steps, there are many principles in which very helpfull to do communication.

The principles in communication are:

1. Listening the user’s words. By listening, the writer could

identify the problem occurred and the writer can ask the question when she felt unclear with the user’s words.

2. The writer is preparing the equipment before interviewing the

user. The equipments are needed such as: agenda for writing some note and write down all the important things and a recorder to record the conversation. Understanding the problem before continuing to another topic and do some research to understand the business domain.

3. Face to face communication will work better when some

representation of the relevant information is present.

4. The writer tried to describe to the user what product, feature and function that she wants to build.

5. The writer focused in one topic. After resolving that topic, the writer will move to another topic.

6. The writer does negotiation with the user. The project runs


(40)

26

2.7.2. Planning

According to Pressman (2010), planning activity encompasses a set of management and technical practices that enable the software team to define a road as it travels toward its strategic goal and tactical objectives.

In planning stage, the writer will do some activities, such as: 1. Understand the scope of the project.

2. Estimating based on the writer knowing.

3. Track the plan frequently and make adjusments as required

2.7.3. Modelling

In building the system, the writer needs to create a model to make better understanding. A model must be capable of representing the information that software transform, the architecture and functions that enable the transformation to occur, the features that user desire, and the behaviour of the system as the transformation is taking place.

In software engineering work, two classes of models can be created:

1. Requirement Models

It can be called as analysis model. It represents customer request by depicting the software in three different domains: information domain, functional domain and behavioural domain.


(41)

27

The writer uses requirement models to translate what the user needs such as flow chart and data flow diagram. Using them is very useful because the user can have well understanding in system’s flow and the writer can work easier based on the data flow and flow chart.

2. Design Model

It represents characteristic of the software that help practitioners to construct it effectively: the architecture, the user interface and component level detail.

Design model is very helpful because it not only could communicate information to user who will test the software and to other who may maintain the software in the future but also it helps to simplify program flow.

In this writing thesis, the writer provides Entity Relationship Diagram (ERD), Genetic Algorithm (GA) model and the interface of the system.

2.7.4. Construction

Construction is a set of coding and testing tasks that lead to operational software engineering work.

1. Coding

The writer will transform the modelling design into a set of code. Before coding, the writer tries to understand the problem


(42)

28

that she is trying to solve. The writer also understand the concept of programming then the writer select a programming language that provides tools that will make the writer’s work easier. In coding, it was divided into two kinds of activities, such as: installing the software needed and coding for the interface and for the system. After finishing coding in the first line, the writer will perform unit test and correct error that the writer has uncovered.

2. Testing

Testing is a process of executing a program with the intent of finding an error. It was divided into two types of testing, such as white box testing and black box testing.

White-box test design allows one to peek inside the "box", and it focuses specifically on using internal knowledge of the software to guide the selection of test data. Synonyms for white-box include: structural, glass-white-box and clear-white-box.

Black-box test design is usually described as focusing on testing functional requirements. Synonyms for black-box include: behavioural, functional, opaque-box, and closed-box.


(43)

29

2.7.5. Deployment

Deployment is performing delivery, support and feedback. It occurs as each software increment is presented to the customer.

2.8. Type of Algorithms

Based on the previous research (Steven : 2008) and (Ivan : 2008), now a day, using genetic algorithm can solve the optimization problem in scheduling. Many problems occur when some institutions have a large data and too many entity inside because, it gives a bad effect in the processing. As we know, when we do some activities in processing random data, the important thing that we want to achieve is optimization in all aspect (ex: search process). The problems were : How to create population which is needed in genetic algorithm ? How to code in each gen or cromossom ?.

Beside Genetic Algorithm, the writer found some searching algorithm methods such as the binary search, the depth-first search and the branch and bound.

This below is a table about the strength and the weakness of using the genetic algorithm, the binary search, the depth-first search and the branch and bound.

Table 2.1. The List of Algorithm

No Name of the Algorithm The Strength The Weakness

1. The Binary Search • Its used to search for

stored data

• Its used to efficiently

• The biggest

disadvantage of this method is a slow


(44)

30

retrieve information stored in computer memory ( if a user has a large database of name stored)

convergence rate.

2. The Depth – First Search • Its used to efficiently find a set of action that will move from a given initial state to a given goal

• it may store only those states currently in the

search stack

• It is less space efficient.

• It cannot be easily extended to check liveness properties.

• Counter examples

cannot be obtained directly from the queue.

3. The Branch and Bound • Its used to find the

shortest path

• Finds an optimal solution (if the problem is of limited size and enumeration can be done in reasonable time).

• Extremely

time-consuming: the number of nodes in a branching tree can be too large.

4. The Genetic Algorithm • Its a kind of general

class of search

• The idea is to efficiently find a solution to a problem in a large space of candidate solutions

• Easy and flexible in implementing and it has high speed in processing because it works by using code (this type is very suitable with

scheduling problem)

• The GA behavoiur

can be complicated

• It feels difficult for setting the parameter


(45)

31

2.9. The Concept of Genetic Algorithms

2.9.1. The Origins of Artificial Species

John Holland’s book “Adaptation in natural and artificial systems” as well as De Jong’s “Adaptation of the behavior of a class of genetic adaptive systems,” both published in 1975, are seen as the foundation of Genetic Algorithms (Gas) (Davis, 1991).

Holland’s original schema was a method of classifying objects, then selectively “breeding” those objects with each other to produce new objects to be classified (Buckles and Petry, 1994). Created for the direct purpose of modelling Darwinian natural selection, the programs followed a simple pattern of the birth, mating and death of life forms. A top level description of this process is given in figure below (Gen and Cheng, 1997; Buckles and Petry, 1992; Davis, 1991; Shaffer, 1996; NovaGenetica, 1997; Heitkoetter, 1993; Hoener, 1996).


(46)

32

The creatures upon which the genetic algorithm acts are composed of a series of units of information- referred to as genes. The genes which make up each creature are known as the chromosome. Each creature has its own chromosome.

A GA, as shown in Figure 2.3 requires a process of initialising, breeding, mutating, choosing and killing. The order and method of performing each of these gives rise to many variations on Holland’s original schema.

2.9.2. Encoding of chromosomes

“A certain amount of art is involved in selecting a good decoding technique when a problem is being attacked” (Davis 1991, p 4).

The first place one starts when implementing a computer

program is often in choosing data types. And that is where the first major variation between Holland’s original schema and many other types of GA arises (Buckles and Petry, 1997).

Holland encoded chromosomes as a string of binary digits. A number of properties of binary encoding work to provide simple, effective and elegant GAs. There are, however, many other ways to represent a creature’s genes, which can have their own implicit advantages (Davis, 1991).


(47)

33

2.9.3. Population Size

The first step in a GA is to initialise an entire population of chromosomes. The size of this population must be chosen. Depending on the available computing techniques, different sizes are optimal. If the population size chosen is too small then there is not enough exploration of the global search space, although convergence is quicker. If the population size is too large then time will be wasted by dealing with more data than is required and convergence times will become considerably larger (Goldberg, 1989).

2.9.4. Evaluating a Chromosomes

Random populations are almost always extremely unfit (Davis, 1991). In order to determine which are fitter than others, each creature must be evaluated. In order to evaluate a creature, some knowledge must be known about the environment in which it survives. This environment is the partially encoded (or partially decoded) description of the problem (Gen and Cheng). In our budgeting example we might describe the characteristics of a good budget as a collection of rules. One rule might be “Caviar is expensive and not very nourishing- any budget which spends a lot on caviar will not rate very well.” One by one each piece of knowledge relating to the problem is converted to another rule used in evaluating a creature. There might be one or more rules used in


(48)

34

evaluating a chromosome. Where there are a number of rules (i.e., in a multi-objective problem), each rule can be given a relative importance- a weighting (Rich, 1995).

Depending on the way, we structure the method of evaluating a chromosome we can either aim to generate the least costly population or the fit; it is a question of minimising cost or maximising fitness. In the budgeting example, the heuristic concerning caviar can be represented with a cost. In optimisation problems cost is not a measure of money, but a unit of efficiency (Gen and Cheng, 1997; Davis, 1991). In this case it is simpler to say that caviar is costly, than that a lack of caviar is healthy. Of course, fitness can be seen as inversely related to cost and vice versa, so one can be easily transformed to the other (Gen and Cheng, 1997).

When discussing optimisation techniques, the range of possible solutions is often referred to as the solution space and the cost/fitness of each point in the solution space is referred to as the altitude in the landscape of the problem. To looking for the global minimum of the cost is also to look for the lowest point in the lowest valley of the cost landscape. Similarly, to look for the global maximum fitness is to look for the highest point of the highest mountain in the fitness landscape. Terminology that assumes an understanding of the concept of a cost landscape will be used throughout this paper.


(49)

35

With any non trivial optimisation problem it would take an unreasonably long amount of time to exhaustively search the solution space for the global minimum of cost. As such optimisation techniques are employed which utilise two techniques to hasten the search, referred to as exploitation and exploration. Exploitation is when information about the explored region of the landscape is used to direct the search. Exploration is where new, unexplored regions of the landscape are ventured into (Gen and Cheng, 1997). Finding a suitable medium between these two concepts is essential for fast optimisation (Gen and Cheng, 1997).

2.9.5. Initialising a Population

There are two general techniques for initialising a population. A population of creatures (all of the genetic information about all of the creatures in the colony) can be loaded from secondary storage. This data will then provide a starting point for the directed evolution. More commonly the GA can start with a random population. This is a full sized population of creatures whose genetic make up is determined by a random process (Davis, 1991).

2.9.6. Methods of Selecting for Extinction or for Breeding

Once a full population of creatures is established, each with a measure of fitness (or of cost) we can find an overall fitness. If the


(50)

36

overall fitness is not yet as high as is desired a portion of the least fit creatures in the population can be selected for extinction. This can be referred to as an elitist natural selection operator (Davis, 1991).

Alternatively, an overcrowding strategy can be employed. Early Gas used a replacement strategy, which maintained a constant population by replacing two parents with their two offspring in each generation (Gen and Cheng, 1997). Soon afterward a “crowding strategy” was invented which had a single offspring replacing which ever of its parents it most resembled. This can require a gene by gene comparison of the child to each of its parents, and as such is quite expensive, computationally (Gen and Cheng, 1997).

Tournament selection is another technique for deciding which creatures to eradicate. In this scheme, two creatures are chosen and played off against each other- the winner is allowed to reproduce and/or the loser is selected for extinction (Rich, 1995). This is said to mimic behaviour exhibited by stags in large deer populations and occasionally seen amongst humans (Heitkoetter, 1993).

Exactly how many creatures are wiped out at each generation is a question of some importance. The proportion of premature termination in the population creates what is termed the selection pressure (Gen and Cheng, 1997; Gell-Mann, 1994). For example, in natural life forms events such as plagues, wars, floods, famines or


(51)

37

ice ages represent periods in which selection pressures are quite high, in varying directions in each case.

In various GAs, the method of selecting creatures for breeding is handled in different ways. Holland’s original model uses a method where the healthiest are most likely to breed (Gen and Cheng, 1997). Other methods select any two creatures at random for breeding. Selective breeding can be used in conjunction with or in the absence of an Elitist Natural Selection Operator- in either case the GA can perform evolution (Gen and Cheng, 1997).

In highly evolved populations of creatures, the process of speciation begins. This is where the intra-mating of some groups (termed “species”) causes high fitness offspring of that species, while the mating of the species members with members of the population who are not of that species produces extremely low fitness offspring, termed “lethal.” Lethal rarely survive into the next generation (Heitkoetter, 1993).

The purpose of selective breeding is both to promote high fitness chromosomes (Gen and Cheng, 1997) and to avoid the over production of lethal (Heitkoetter, 1993).

2.9.7. Crossover

Once parents have been chosen, breeding itself can then take place. A new creature is produced by selecting, for each gene in the


(52)

38

chromosome, an allele from either the mother or the father. The process of combining the genes can be performed in a number of ways. The simplest method of combination is called single point cross-over (Gen and Cheng, 1997; Buckles and Petry, 1997; Davis, 1991). This can be best demonstrated using genes encoded in binary, though the process is translatable to almost any gene representation (Davis, 1991).

A child chromosome can be produced using single point crossover, as shown in the figure below. A crossover point is randomly chosen to occur somewhere in the string of genes. All genetic material from before the crossover point is taken from one parent, and all material after the crossover point is taken from the other (Davis, 1991).

The process of crossover can be performed with more than one crossover point (Gen and Cheng, 1997). Indeed, every point can be chosen for crossover if preferred (Heitkoetter, 1993). One method of crossover, often used in multi-objective systems, is unity order based crossover (Heitkoetter, 1993). In this scheme, each gene has an equal probability of coming from either parent- there may be a crossover point place after each or any gene (Heitkoetter, 1993).


(53)

39

Figure 2.4: An Example of Crossover with Fully Encoded Genes

2.9.8. Mutation

After crossover is performed and before the child is released into the wild, there is a chance that it will undergo mutation. The chance of this occurring is referred to as the mutation rate. This is usually kept quite small (Davis, 1991). The purpose of mutation is to inject noise, and, in particular, new alleles, into the population. This is useful in escaping local minima as it helps explore new regions of the multi dimensional solution space (Gen and Cheng, 1997). If a mutation rate is too high it can cause well bred genes to be lost and thus decrease the exploitation of the high fitness regions of the


(54)

40

solution space. Some systems do not use mutation operators at all (Heitkoetter, 1993). Instead, they rely on the noisy (i.e., diverse) random populations created at initialisation to provide enough genes that recombination alone will yield an effective search (Heitkoetter, 1993).

Once a gene has been selected for mutation, the mutation itself can take on a number of forms (Davis, 1991). This, again, depends on the implementation of the GA. In the case of a binary string representation, simple mutation of a single gene causes that genes value to be complemented- a 1 becomes a 0 and vice versa. This is analogous to the effect of stray ultra violet light upon genes in nature (Gen and Cheng, 1997). The genetic sensitivity which allows light to cause various forms of cancer also helps life on this planet to search the solution space of the ultimate question.

In the case of non binary gene representations, more cumbersome methods of mutation are required. For integer or real number representations, a common method is to add a zero mean Gaussian number to the original value. In more complex data types a value can be randomly selected from a library of possible values. In any case, all that is required is that the method of mutation is general enough that it can cause the appearance of any possible allele within the population (Davis, 1991). It seems that in more highly decoded genetic representations, mutation becomes increasingly complicated.


(55)

41

2.9.9. Inversion

In Holland’s founding work on GAs he made mention of another operator, besides selection, breeding, crossover and mutation which takes place in biological reproduction. This is known as the inversion operator (Davis, 1991). An inversion is where a portion of chromosomes detaches from the rest of the chromosome, then changes direction and recombines with the chromosome. This is demonstrated in the figure below.

Figure 2.5: The Inversion Operator

2.9.10.Optimising Genetic Algorithm Performance

“The problem of tuning the primary algorithm presents a secondary, or metalevel, optimisation problem.” (Grefenstette 1986, p 5)

It can be seen that in any implementation there are a number of variables the value of which will change the speed and effectiveness of the evolutionary process. Variables include mutation rate,


(56)

42

selection pressure, number of crossovers, constraint weightings and so on. In more complex implementations there are a greater number of these variables. For each of these variables there is a range of values which provide a working GA. But various combinations of values, at different times, will provide better performance (Grefenstette, 1986). There are many techniques which can be used for determining optimum values for these variables (Ravise, Sebag and Schoenauer, 1995). GAs themselves are of one of these methods (Heitkoetter, 1993). It is theoretically possible to have GAs driven by GAs, ad infinitum.

Genetic Algorithm Flowchart

Based on Mehrdad, this figure below is the basic cycle in genetic algorithm:

Figure 2.6: The Genetic Algorithm Process

Present Generation

Selected Parent New Generation

Selection

Variation Mutation Replacement


(57)

43

2.10. Applications of Genetic Algorithms

Unlike most methods of combinatorial optimisation, GAs did not initially have an underlying mathematical model. As such, they spent some time demonstrating themselves on a number of famous mathematical problems (such as the travelling salesperson problem and the k-armed bandit problem) before tackling more practical issues (Davis, 1991).

By 1989 when David E Goldberg released the seminal “Genetic algorithms in search, optimisation and machine learning”, the field had begun the brightest phase of its career- that of Being Applicable to Real World Problems (Davis, 1991).

Any problem which can be phrased so as to require the minimising or maximising of some function can be addressed by GAs (Davis, 1991). In particular, where this function is dependent upon a great many variables, such that more conventional methods are out of their depth, evolutionary methods become attractive (Corne and Ross, 1995).

Particularly noteworthy applications of GA include the solving of pipe network optimisation problems (Anderson and Simpson, 1996) transportation problems (Gen and Cheng, 1997) conformational analysis of DNA (Davis, 1991) image processing and machine learning (Buckles and Petry, 1992) and, of course, scheduling problems (Burke and Ross 1996; Buckles and Petry, 1992).

GAs are by their very nature, easily translated to parallel systems (Davis, 1991). Each creature is to some part separate from each other


(58)

44

creature and related, to some degree. At the moment of breeding and death, there must be some interaction between one creature and the colony (or some portion of the colony). Tournament selection is a method of choosing for extinction (or for selecting for breeding) which is most effectively executed on a parallel system. In this case, it is not necessary for any one machine to know the average fitness of the entire population, only for the machines possessing the combatants to briefly communicate. The application of GAs to parallel architectures has seen a large improvement in their performance, and has created a large amount of interest (Davis, 1991; Buckles and Petry, 1997). This appears to be the major direction in which GA is heading.

GAs are advancing by containing less of a close metaphor with natural evolution instead conforming only to that essence of evolution, which allows it to work. For example, data structures are replacing binary numbers as the most common form of representing genetic material. In modern GAs, chromosomes are rarely fully encoded (Davis, 1991).

2.11. The Concept of Programming Language

2.11.1. PHP

Based on Quingley(2007), Today 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


(59)

45

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.

2.11.2. History of PHP

Based on Quingley (2007), 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 we called PHP/FI. PHP stands for Personal Home Page/ Form Interpreter.

After being an open source product, many programmers from all nations in the world interested to develop PHP. On November 1997, PHP released PHP/FI 2.0 version, in this chance the interpreter already implemented in C language. In the same year, a company which the name is Zend, rewritten the PHP interpreter become more quick and better than before. On June 1998, that company produced new interpreter for PHP and created name for new PHP with PHP 3.0.

In the middle on 1999, Zend released new interpreter and known by PHP 4.0. Many programmers and developers use this version because PHP 4.0 has a capability to build a complex web application with high stability and fast process. The enhancer developments were Zeev Suraski and Andi Gutmans. It is useful to


(60)

46

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.

PHP is very popular because it is a kind of open source product in which the programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People can improve it, people can adapt it and people can fix bugs.Using PHP can simplify the dynamic website.

The Comparison between Using PHP Script and Using Perl Script :

1. Using Perl Script :

HTTP CGI

2. Using PHP :


(61)

47

The advantages of using PHP :

1. High Performance:

a. It can handle million of transaction without any problem b. Zend engine which is highly efficient

c. Incorporate business trend as part of future enhancement to cater Business need.

2. Built in libraries:

a. Contain many built in functions to cater every

development need

b. Every bug exist handle and solve by PHP community

c. API and function implementation examples exist at

3. Extensibility:

a. Developers around the world contribute add on modules to extend existing functionality

b. Extend the power of PHP programming language

c. Source code of PHP is available for modification and

enhancement

4. Relatively Low Cost:

a. No license required for PHP

b. It runs on any platform (operating system)

c. Source Code of PHP is available for modification and


(62)

48

d. Lower the total cost of ownership

5. Portability:

a. It runs almost every platform (operating system)

b. Well written codes can be deployed in every platform with minor adjustment.

c. Expect the same result even though the application runs on different platform.

6. Developer Community:

a. Surrounded by huge development community

b. Any problem arise get fixed quickly by the community

c. Programmer problem solved by other programmers

d. Contribution from community make sure PHP is up to

date

7. Ease of Learning:

a. Most of PHP constructs are similar to other languages,

specifically C and Perl

b. Concept of web development is the same for any web

technology

2.12. MySQL

Based on Quingley (2007), Today many organizations face the double threat of increasing volumes of data and transactions coinciding with a need to reduce spending. Many such organizations are migrating to open source


(63)

49

database management system to keep costs down and minimize change to their existing system. The world’s most popular of these open source database system (it’s free to download, use, and modify) is MySQL. It is distributed and supported by MySQL AB, a Swedish commercial company founded by the original developers, David Axmark and Michael “Monthy” Widenius, who wrote MySQL in 1995. MySQL has its roots in Msql or mini SQL, a lightweight database developed at Bond University in Australia, to provide fast access to stored data with low memory requirements. Its symbol is a dolphin called “Sakila” representing speed, power, precision, and good nature of the MySQL database and community.

As a database server which has a modern database, MySQL has many advantages:

1. Portability

MySQL can run in any platform such as Windows, Linux, Mac OS X Server, etc.

2. Open Source

We can get MySQL for free without any cost.

3. Multi-user

MySQL can be used for many users at the same time without any problem or any conflict.

4. Performance Tuning


(64)

50

5. Column Types

MySQL has a complex column types such signed / unsigned integer, float, double, char, varchar, text, blob, date time, datetime, timestamp, year, set and enum.

6. Command and Functions

MySQL has operator and function which support SELECT instruction and WHERE instruction in query.

7. Security

MySQL has some layers of security such subnet mask, host name, detail of user access permission (ask password).

8. Scalability and Limits

MySQL can process a database in high scales with the total records are more than 50 million and 60 thousands table with 5 trillion line. The limit of index in each table is 32 indexes.

9. Connectivity

MySQL can connect to the client is using TCP / IP protocol, Socket Unix or Named Pipes (NT).

10. Localisation

MySQL can detect error message at client using more than 20 languages.

11. Interface

MySQL has interface in every application and language program in which used for database administration.


(65)

51

12. Client and Tools

MySQL completed with many tools that its can used for database administration, and each tool was completed an online instruction.

13. Table Structure

Compare with other database, table Structure in MySQL is more flexible in processing ALTER TABLE.

2.13. Feasibility Study

2.13.1. Economic Feasibility

Economic analysis is the most frequently used method for evaluating the effectiveness of a new system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If benefits outweigh costs, then the decision is made to design and implement the system. An entrepreneur must accurately weigh the cost versus benefits before taking an action.

Cost Based Study: It is important to identify cost and benefit factors, which can be categorized as follows: 1. Development costs; and 2. Operating costs. This is an analysis of the costs to be incurred in the system and the benefits derivable out of the system.


(66)

52

Time Based Study: This is an analysis of the time required to achieve a return on investments. The benefits derived from the system. The future value of a project is also a factor.

2.13.2. Technical Feasibility

The assessment is based on an outline design of system requirements in terms of Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in terms of volumes of data, trends, frequency of updating, etc. in order to estimate whether the new system will perform adequately or not. Technological feasibility is carried out to determine whether the company has the capability, in terms of software, hardware, personnel and expertise, to handle the completion of the project.

2.13.3. Operational Feasibility

Is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.

2.13.4. Schedule Feasibility

A project will fail if it takes too long to be completed before it is useful. Typically this means estimating how long the system will take to develop, and if it can be completed in a given time


(67)

53

period using some methods like payback period. Schedule feasibility is a measure of how reasonable the project timetable is. Given our technical expertise, are the project deadlines reasonable? Some projects are initiated with specific deadlines. You need to determine whether the deadlines are mandatory or desirable.

2.14. XAMPP

XAMPP is a open source software which is supporting many operating system and it’s a compilation from some programs. The function is as a stand alone web server (localhost), it is consisting of Apache HTTP Server, MySQL database, and language translator which is written by using PHP and PERL. XAMPP is the abbreviation from X(4 operating system), Apache, MySQL, PHP and Perl. This program provided in GNU, it is a web server that easy in use and suitable for dynamic web. To get the XAMPP installer, we can download it from the official website

2.15. Related Works

The writer has collected and learned some common research study about genetic algorithm. In this chance, the writer will explain one by one about the common reasearch study that they related with the writer’s thesis writing. These is the common research study from the previous thesis writing:


(68)

54

According to Teddy Chandra Taliwang (2006), his thesis writing which the title is “Optimasi penjadwalan sidang tugas akhir dengan menggunakan metode fuzzy relation dan genetic algorithms”, the schedule in his universities was not flexible because there must five sessions in a day for all final year project period then the coordinator in that universities still use manual way to match the schedule. From the problem above, Teddy (2006, p.1) stated that he will use a genetic algorithm to optimize the scheduling system. After doing research and test, Teddy (2006, p.73) summarized that the software is able to use in scheduling system.

Based on Steven (2007), Genetic Algorithm is used to find the best solution. This method is based on genetic mechanism in biology process. He stated that in the genetic algorithm, the mechanisms that will be used are mutation and crossover. Steve thesis writing title is “Perancangan Program Aplikasi Penjadwalan Sidang Tugas Akhir Dengan Menggunakan Metode Fuzzy Relation Dan Genetic Algorithm (STUDI KASUS : UNIVERSITAS BINA NUSANTARA)”.

Based on Holland (1975), Genetic Algorithm (GA) is a robust search method based on analogies to biology and genetics. Survival of the test among a population of individuals, selection criteria, and reproduction strategies are concepts copied from the natural life and used as operators in this artifcial environment. According to Rogers (1992), The GA has some advantageous features:


(69)

55

1. GA begins the search with a population of parameter realizations,

rather than a single realization as most of the conventional optimization methods might. Each set of possible con_guration of the decision variables is referred as one realization or member of the population. In this way, the search domain is covered in a random distribution;

2. The realizations are perturbed by probabilistic rules rather than

deterministic ones;

3. The parameter itself is not manipulated directly by the GA operators. GA would alter the chromosome (or and ones representing the whole set of parameters put all together in one binary entity. For binary alphabets, the smaller piece of a chromosome is called bit andcan have the values zero or one. In this way, the chromosome is the set of all parameters' bits.

Based on Adam Marczyk (2004), A genetic algorithm (or GA for short) is a programming technique that mimics biological evolution as a problem-solving strategy. Given a specific problem to solve, the input to the GA is a set of potential solutions to that problem, encoded in some fashion, and a metric called a fitness function that allows each candidate to be quantitatively evaluated. These candidates may be solutions already known to work, with the aim of the GA being to improve them, but more often they are generated at random.


(70)

56

Based on Aria (2008), Genetic algorithm is an optimazion algorithm that it created based on nature of genetic. There are many kinds in genetic algorithm. Genetic algorithm has six steps in doing permutation, the steps are :

Starting to create new population

1. Coding

2. Fitness Value

3. Selection

4. Reproduction

5. Mutation

6. Stop Condition

Based on Gen and Cheng (1997), Genetic Algorithm is evolution in artificial intelligence. Genetic algorithm is a kind of search algorithm which is based on natural genetic. Genetic algorithm is different with conventional searching method, algorithm genetic comes from a group of solution which produced randomly. This group, we called population. According to Goldberg (1989), After producing some generations, genetic algorithm will convert to the best cromossom which it to get the optimal solution.

According to Fadlisyah (2009), Genetic algorithm is a stochastic search technic which works based on permutation and natural genetic. Algorithm genetic is different with conventional algorithm because it starts with random problem solving which it called population.


(71)

57

Based on Suyanto (2005), The advantages of using genetic algorithm are easy in implementing and the capability to find the best solution for high problem dimension. Genetic algorithm is very useful and efficient to solve problems with the characteristic such as:

1. High problem dimension

2. There is no knowledge in identifying problem 3. There is not efficient mathematical analysis

4. To overcome the problem when conventional method can not solve it

5. It consists of time limitation (ex : real time system)

Based on Suyanto (2005), Genetic algorithm already used in many applications to solve the problem in technology modeling, business and entertainment. The example of them are:

1. Optimization

Genetic algorithm is used in numeric optimation such Traveling Salesman Problem (TSP), Integrated Circuit Design, Job Shop Scheduling and video optimation.

2. Automatic Programing

Genetic algorithm already used in evolution process, such cellular automata and sorting networks.

3. Machine Learning

Genetic algorithm success in predicting protein structure, neural networks, learning classifier system or symbolic production system.


(72)

58

4. Economic Model

Genetic algorithm already used in designing inovation process and bidding strategies.

5. Imunitation System Model

Genetic algorithm successed in designing nature immunitation system include somatic mutation.

6. Ecology Model

Genetic algorithm successed to design ecology phenomenon such as host – parasite co – evolution and symbiosis.

7. Interaction between Evolution and Learn

Genetic algorithm is used to learn how process study an individu can impact evolution process a species and vice versa.

The previous researcher, Annisa Primasari (2009) developed a system which the title is “Pengembangan Sistem Informasi Penjadwalan Kuliah “. Her system is about lecturing scheduling system, but she did not use any specific method to build it. The system was tested and ran successfully. Even it has the advantage in use, it has a weakness such as: the system could not be use to find the free room for lecturing process so the lecturer and the academic still find by manual way. In this case, the writer find that the previous research was made by Annisa Primasari (2009) could not do best optimization so it still use human effort for finding the solution.


(1)

117 3. Fill in the Lecturer input form

Figure 5.9 : Input Form

4. If All of the data master have been inserted we go to the submenu for

the initial schedule list


(2)

118 5. After inputting the initial schedule list we must , insert the lecturer

request for the schedule. Go to the menu lecturer request and then fill

in the data form.

Figure 5.11: Input Form Lecturer Request data

6. After all of the initial data already saved go to the generate menu to

generate schedule. Input the parameter and then klik run to generate

the schedule.


(3)

PART VI

CONCLUSION

6.1. The Advantange of This System:

1. Using Genetic Algorithm will make more effective than using

manual way because it can achieve the optimization.

2. Genetic Algorithm is easier in use if we compared to the manual

way.

3. It is very helpful to find the empty room and to match between the

empty room and the course subject.

4. The parameters can be adjusted as needed

6.2. The Disadvantange of This System:

1. Difficulties in determining the appropriate parameters (the writer

needs necessary number of tests to find the best parameter).

6.3. The Suggestion for the future:

1. Better to use java application to make this interface.

2. The interface is less attractive because of time constraints so it can

be improved for the future.

3. If in a case there is no clash in scheduling, it will produce the


(4)

REFERENCE

[1] Goldberg, David E., (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley. USA.

[2] Mitchel, M. (1996). An introduction to genetic algorithms. Cambridge: The MIT Press.

[3] Suyanto, (2008). Evolutionary Computation. Penerbit Informatika. Bandung.

[4] Suyanto, (2008). Artificial Intelligence. Penerbit Informatika. Bandung. [5] Suyanto, (2008). Soft Computing. PenerbitInformatika. Bandung.

[6] Pressman, Roger S., (2005). Software Engineering 6th edition. Mc.Graw Hill. USA.

[7] Pressman, Roger S., (2010). Software Engineering 7th edition. Mc.Graw Hill. USA.

[8] Quigley, Ellie. (2007). PHP and MySQL. Prentice Hall. Singapore.

[9] Sayegh, S. (2005). E-learning Timetable Generator Using Genetic Algorithms. Palestine.

[10] Dianati, Mehrdad. An Introduction to Genetic Algorithms and Evolution Strategies. Canada.

[11] Kadir, Abdul. (2003). Pengenalan Sistem Informasi. Penerbit Andi. Yogyakarta.


(5)

121 [12] Sahal, M. (2000). Pembuatan Software Penjadwalan Kuliah Dan Ujian Di Jurusan Teknik Elektro FTI-ITS Surabaya Dengan Menggunakan Algoritma Genetika. Surabaya.

[13] Gen, M. Dan Cheng, R. (1997). Genetic Algoritm and Enginering design,Ashikaga Institute of Technology Ashikaga, Japan, A wiley-Interscience publication, John wiley &Sons, Inc.

[14] Syamsudin, Aries. Pengenalan Algoritma Genetik. IlmuKomputer.com. [15] Basuki, Achmad. (2003). Strategi Menggunakan Algoritma Genetika.

Politeknik Elektronika Negeri Surabaya PENS-ITS. Surabaya.

[16] Primasari, Annisa. (2009). Pengembangan Sistem Informasi Penjadwalan Kuliah. Jakarta.

[17] Muhammad Aria. 2006. "Aplikasi Algoritma Genetik Untuk Optimasi Penjadwalan Mata Kuliah". UniversitasKomputer Indonesia.

[18] Keraf, Gorys, Prof. Dr. Komposisi. NTT: Nusa Indah. 1994. [19] Gates, Bill. 1999. Business @ The Speed of Thought. USA.

[20] William (Gates, Bill). 1999. Business @ The Speed of Thought. USA. [21] Hartono, Jogiyanto. Analisis Dan Disain Sistem Informasi Pendekatan

Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta: Andi, 2005.


(6)

xv

DEFINITION

Chromosome : The genes which make up each creature. Each creature

has its own chromosome.

Crossover : A genetic operator used to vary the programming of a

chromosome or chromosomes from one generation to the next.

Genes : The creatures upon which the genetic algorithm acts are

composed of a series of units of information.

Genetic Algorithm : A programming technique that mimics biological

evolution as a problem-solving strategy.

Inversion : A portion of chromosomes detaches from the rest of the

chromosome, then changes direction and recombines with the chromosome.

Lecture : A talk given for the purpose of teaching, give a lecture

on a particular subject.

Mutation : A genetic operator used to maintain genetic diversity

from one generation of a population of chromosomes to the next

Population : A group of solution which produced randomly.

Schedule : Arranging for something to happen at a particular time.

Selection : The stage of a genetic algorithm in which individual

genomes are chosen from a population for later breeding (recombination or crossover).

Waterfall model : Sometimes called the classic life cycle, suggests a

systematic, sequential approach to software development that begins with planning, modeling, construction, and deployment, culminating in ongoing support of the complete software.

Web Server : A program that serves up Web pages when requested by