Anda di halaman 1dari 136

“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
“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
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 Co-Supervisor

Yusuf Durrachman, M.Sc, M.IT Ria Hari Gusmita, ST, M.Kom


NIP. 197105222006041002 NIP. 198208172009122002

Knowing,
Head of Informatic Engineering

Yusuf Durrachman, MSc, M.IT


NIP. 197105222006041002
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,

Examiner I Examiner II

Husni Teja Sukmana. Ph.D Imam M Shofi, MT


NIP. 19771030200112 1 003 NIP. 19720205 20080 1 010

Supervising team,

Supervisor Co-Supervisor

Yusuf Durrachman, M.Sc, M.IT Ria Hari Gusmita, ST, M.Kom


NIP. 197105222006041002 NIP. 198208172009122002

Knowing,

Dean of Head of Informatic Engineering Major


Faculty Science and Technology

DR. Syopiansyah Jaya Putra, M.Sis Yusuf Durrachman, M.Sc, M.IT


NIP. 19680 117 200 112 1001 NIP. 197105222006041002

iv
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

v
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

vi
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
1.2 Objective of the Study ……………...……………………... 6
1.3 Context of the Study …………..………...……………........ 7
1.4 The Purpose of the Research……………………………….. 8
1.5 The Advantage ……………………………………………... 9
1.5.1 For The Writer ……………………………………...… 9
1.5.2 For The Academic …………………………………… 9
1.6 The Research Methodology ………………………………… 9
1.6.1 The Collecting Data Method …………………………. 9
1.6.2 The System Development Method ………..…………. 11
1.7 Organization of the Study ………………………………….. 13

PART II LITERATURE REVIEW 16


2.1 Introduction ………………………………………………… 16
2.2 The Concept of Lecturing Scheduling System …………....... 16
2.2.1 Lecturing ………………………………………........... 16

vii
2.2.2 Scheduling …………………………………………… 17
2.2.3 System ………………………………………………... 17
2.3 Software ………………………………………………..…... 18
2.3.1 Software Engineering..……………………...………... 21
2.4 System Engineering ……………………………………....... 22
2.5 System Modeling ...…………………………………………. 23
2.6 Computer Engineering …...………………………………… 23
2.7 The Waterfall Process Model ………………………………. 24
2.7.1 Communication ………………………………………. 24
2.7.2 Planning ……………………………………………… 26
2.7.3 Modelling……………………………………………... 26
2.7.4 Construction ………...………………………………... 27
2.7.5 Deployment …………………...……………………… 29
2.8 Type of Algorithms ……………………………....………... 29
2.9 The Concept of Genetic Algorithms ......………………….... 31
2.9.1 The Origins of Artificial Species …………………… 31
2.9.2 Encoding of chromosomes …………………………. 33
2.9.3 Population Size ……………………………………... 33
2.9.4 Evaluating a Chromosomes ……………………….... 33
2.9.5 Initialising a Population …………………………….. 35
2.9.6 Methods of Selecting for Extinction or for Breeding.. 35
2.9.7 Crossover …………………………………………… 37
2.9.8 Mutation ……………………………………………. 39
2.9.9 Inversion ……………………………………………. 41
2.9.10 Optimising Genetic Algorithm Performance…….... 41
2.10 Applications of Genetic Algorithms………………………. 43
2.11 The Concept of Programming Language …………………. 44
2.11.1 PHP ……………………………………………….. 44
2.11.2 History of PHP ……………………………………. 45
2.12 MySQL ………………………………………………….... 48
2.13 Feasibility Study ………………………………………….. 51

viii
2.13.1 Economic Feasibility .......…………………………. 51
2.13.2 Technical Feasibility ……………………………… 52
2.13.3 Operational Feasibility ……………………………. 52
2.13.4 Schedule Feasibility ………………………………. 52
2.14 XAMPP …………………………………………………… 53
2.15 Related Works …………………………………………….. 53
2.16 Summary ………………………………………………….. 60

PART III RESEARCH METHODOLOGY 61


3.1 Introduction ……………………………………………….. 61
3.2 Research Method ………………………………………… 61
3.3 The System Developing Method …………………………. 62
3.3.1 Communication …………………………………….. 63
3.3.1.1 Problem Identification …………………... 63
3.3.1.2 Initiating The Project ................................. 63
3.3.1.3 Proposing New System …………….......... 63
3.3.1.4 The Scope of System ………...…….......... 63
3.3.1.5 Feasibility Study ……………………….... 64
3.3.2 Planning …………………………………………….. 64
3.3.3 Modelling …………………………………………... 64
3.3.3.1 Requirement Models …………………….. 65
3.3.3.2 Design Model ……………………………. 65
3.3.4 Construction .……………………………………….. 66
3.3.4.1 Coding ……………..…………………….... 66
3.3.4.2 Testing ………………..…………………… 67
3.3.5 Deployment .....……………………………………... 67
3.4 Fact Finding Technique …………………………………... 68
3.4.1 Literature Study …………………………………….. 68
3.4.2 Interview method …………………………………… 69
3.4.3 Observation method ………………………………… 70
3.5 The Writer’s Mind Map …………………………………... 72

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

PART IV ANALYSIS AND DESIGN 74


4.1 Overview at Science and Technology Faculty State Islamic
University Syarif Hidayatullah Jakarta …………………..... 74
4.1.1 Science and Technology Profile ……………………. 74
4.1.2 Vision and Mission of Science and Technology 74
Faculty ........................................................................ 75
4.1.3 Organization Structure ...……………………………
4.2 Developing Lecturing Scheduling System at Informatic
Engineering Major State Islamic University Syarif
Hidayatullah Jakarta …….................................................…. 76
4.2.1 Analysis ………………………....………………….. 77
4.2.1.1 Problem Identification .................................. 81
4.2.1.2 Initiate the Project ……………………......... 81
4.2.1.3 Proposing New System ………………......... 82
4.2.1.4 The Scope of the System ………………...... 83
4.2.1.5 Feasibility Study ………………………....... 83
4.2.2 Planning ..................................................................... 84
4.2.3 Modeling .................................................................... 98
4.2.3.1 Requirement Model …………...................... 98
4.2.3.1.1 Data Flow Diagram (DFD) ........ 99
4.2.3.1.2 Entity Relationship Diagram
(ERD) ....................................... 103
4.2.3.2 Design Model ................................................ 108

PART V IMPLEMENTATION 110


5.1 System Requirement .............................................................. 110
5.2 Construction ………………………………………………... 110
5.2.1 Coding ……………………………………………….. 110
5.2.2 Testing ……………………………………………….. 111

x
5.2.2.1 Black Box Testing ……………………………. 111
5.2.2.2 White Box Testing ……………………………. 112
5.3 Implementing Lecturing Schedule ………………………..... 116

PART VI CONCLUSION 119


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

xi
APPENDIXES

Appendix A: The Coding Part ....................................................................................................................... A-1


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
Figure 4.19: Inputing The Course Subject ........................................................ 116

xii
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

Table 5.1: The Result of Black Box Testing ...................................................... 111


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

2
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

Calculating the total of


Saving the
credit hour in a
data into Mic.
semester and course
Excel
subject

Recheck the lecturer


request, course subject

The schedule report


Lecture request
form and List of
course subject

Publish the schedule

End

Figure 1.1 : Flowchart of the current system

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

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

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

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

7
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

processing data and distribute it to the student.

8
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

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

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

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

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

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

14
PART 1 PART 3
PART 2
- Background research problem - Research methodology
- Literature Review
- Objective of the study - Fact finding tools and
- Understanding of the concept
- Context of the study mechanisms
that relate to the study
- Case profiles

PART 4
- Discussion of the data collected
- Analysis and Design

PART 5
PART 6 It’s about implementing the
Summarizing and Suggesting for genetic algorithm to the lecturing
future work scheduling system

Figure 1.2: Overview of the research process and corresponding parts

15
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.
16
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) duration, (2)

predecessor activity (or activities).

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)

17
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

18
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).

19
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

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

21
requirement analysis, design modeling, program construction,

testing, and support.

3. Tools

It provides automated or semiautomated support for the process

and the methods.

Tools

Methods

Process

A quality focus

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,

22
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

create computer softaware practice the art or the craft of the discipline”.

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

Communication Planning Modelling Construction

Deployment

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

24
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

smoothly when both of user or writer agrees with the decision.

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

26
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

27
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-box and clear-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.

28
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 • The biggest


stored data disadvantage of this
• Its used to efficiently method is a slow

29
retrieve information convergence rate.
stored in computer
memory ( if a user has
a large database of
name stored)
2. The Depth – First Search • Its used to efficiently • It is less space
find a set of action efficient.
that will move from a • It cannot be easily
given initial state to a extended to check
given goal liveness properties.
• it may store only • Counter examples
those states currently cannot be obtained
in the directly from the
search stack queue.
3. The Branch and Bound • Its used to find the • Extremely time-
shortest path consuming: the
• Finds an optimal number of nodes in
solution (if the a branching tree can
problem is of limited be too large.
size and enumeration
can be done in
reasonable time).
4. The Genetic Algorithm • Its a kind of general • The GA behavoiur
class of search can be complicated
• The idea is to • It feels difficult for
efficiently find a setting the parameter
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)

30
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).

Figure 2.3: Top Level description of GA

31
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).

32
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

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

34
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

35
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

36
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

37
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).

38
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

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

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


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

Present
Replacement Selection
Generation

New Generation Variation Mutation Selected Parent

Figure 2.6: The Genetic Algorithm Process

42
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

43
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

44
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

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

PHP

46
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

http://www.php.net

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

enhancement

47
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

48
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

MySQL has high speed in managing simple query.

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

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

51
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

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

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

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

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

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

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

58
The writer takes a previous research which the title was” Aplikasi Algoritma

Genetik Untuk Optimasi Penjadwalan Kegiatan Belajar Mengajar“. It was made

by Ivan Nugraha (2008) from Institute Technology Bandung (ITB). The

researcher successfully implemented the genetic algorithm to optimize the

lecturing scheduling system; his last fitness value is 0.0083. It means that the

genetic algorithm could be successfully implemented and it showed that the last

performance is better than before.

The research which it was made by Muhammad Aria and title of the

research was “Aplikasi Algoritma Genetik Untuk Optimasi Penjadwalan Mata

Kuliah”. His research was about develop in an aplication by using genetic

algorithm for lecturing scheduling system. He tested the genetic algorithm by

using LabVIEW 6.1 and the test already done for 100 generations in which there

was 10 cromosom in each generation. By using genetic algorithm, the

optimization could reach for lecturing scheduling system. In this research,

Muhammad Aria successes in finding the best value for the fitness value so it can

be use for predicting the next generation. The weaknesses of this system are the

output only producing the lecturing scheduling and there is no information about

the free room for lecturing process.

Based on the explanation above, the writer will use a genetic algorithm

method in her thesis writing which the title is “Lecturing Scheduling System at

Informatic Engineering Major Islamic University Syarif Hidayatullah Jakarta

Using Genetic Algorithm”. A genetic algorithm is suitable for achieving the best

solution in scheduling case and optimizing case.

59
2.16. Summary

Genetic algorithm method will help a user to optimize in scheduling

system ( Unikom, 2005, p.17-25 ). Similarity, Strategi Algoritmik ( 2008 )

argued that genetic algorithm approach is used to solve the scheduling

problem and genetic algorithm approach is a type of computational

approach that used to overcome the problem which is designed by biology

and evolution procesess. In terms of the relationship of optimization with

genetic algorithm and fuzzy relation, Steven (2006) stated that fuzzy

relation will used to calculate the competence of the lecturer and genetic

algorithm will used to find the best solution. Genetic Algorithm is a kind of

searching algorithm methods. Based on Suyanto (2007), Genetic Algorithm

is a kind of searching algorithm method, which can be used to solve

automatic programming, soft computing and can be used to achieve the

optimal parameter.

60
61

PART III

RESEARCH METHODOLOGY

3.1. Introduction

The previous chapter has thoroughly discussed the concept and the

meaning of Lecturing Scheduling Systems. In particular, a review of the

current technologies used and research done to study the factors that affect

the adoption of Lecturing scheduling systems have been studied.

This chapter presents the methodology to determine the relationships

that exist between the research variables and the requirements for the

development of the system design based on actual office settings. In doing

so, first the various research strategies are looked into, and their weaknesses

and strengths weighed and the selection of the research strategy is made to

be able to meet the objectives laid down in the research. This chapter then

further details the case profiles of the three cases studied during this

research.

3.2. Research Method

A research method is a strategy of enquiry which moves from the

underlying philosophical assumptions to research design and data collection

(Myers & Avison 2002) and can be broadly classified as qualitative research

and quantitative research. Keen (1987) proposed that the mission of IS

research is to study the effective design, delivery, use and impact of


information technology in organisations and society. In deciding upon what

methodology should be used, it is imperative to take into consideration that

what is most important is the information obtained, and not the

methodology used to obtain the information. Galliers and Land (1987) state

that there exist a range of information research methodologies each with

their own strengths and weaknesses, and that the choice of an appropriate

approach should be made depending upon the focus or object of the

research. After consider, the things above, the writer choose waterfall

method as the system development method.

3.3. The System Developing Method

Firstly, before deciding the methodology, the writer analyse the

problem and the requirement at Informatic Engineering major faculty of

science and technology at Islamic University Syarif Hidayatullah Jakarta.

After analysing, the writer initiated the request project.

Secondly, the writer chooses the waterfall model as a system

developing method. The reasons for using this methodology are the scope of

the propose system is suitable with waterfall model (in which this system is

not in big scale); this application is very suitable with the sequential mode

and structured. The waterfall model has five important steps; they are

communication, planning, modelling, construction, and deployment.

62
3.3.1. Communication

In this stage, the writer has some activities such as: problem

identification, initiating the project, proposed the new system, giving

the scope of the system and using the feasibility study.

3.3.1.1. Problem Identification

In this stage the writer tries to shrink the existing

problem at Informatic Engineering Major Islamic

University Syarif Hidayatullah Jakarta.

3.3.1.2. Initiating the project

After the problem is known, the writer set out to

design a project that is expected to resolve existing

problems. Before starting this project, the writer also has

started to determine what software will be used.

3.3.1.3. Purposing the new system

The purpose of awakening to a new system to address

existing problems.

3.3.1.4. The scope of the system

The writer defines the problem and determines what is

included in the system.

63
3.3.1.5. Feasibility Study

Based on Easterbrook (2004), Feasibility has some

objectives, they are: to find out if a system development

project can be done, to suggest possible alternative solutions

and to provide management with enough information to

know. In the feasibility study there are several aspects that

must be considered as: technical feasibility, economic

feasibility, organization feasibility and operational

feasibility.

3.3.2. Planning

Based on the analyse problem at Informatic Engineering, the

writer plan to make a lecturing scheduling system. In which the

system will make a staff who in charge in scheduling feels easier to

input the data, to process the data and to maintain the data.

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

64
In software engineering work, two classes of models can be

created:

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

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.

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

65
In this writing thesis, the writer provides Entity

Relationship Diagram (ERD), Genetic Algorithm (GA)

model and the interface of the system.

3.3.4. Construction

Construction is a set of coding and testing tasks that lead to

operational software engineering work.

3.3.4.1. Coding

The writer will transform the modelling design into a

set of code. Before coding, the writer tries to understand the

problem 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

66
3.3.4.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-box

and clear-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.

From the explanation above, the writer uses a black

box testing approaches.

3.3.5. Deployment

Deployment is performing delivery, support and feedback. It

occurs as each software increment is presented to the customer.

The person in charge in maintain the system will do support

step, in which the person in charge will update and maintain the

system every time so the system can run smoothly.

67
3.4. Fact Finding Technique

In this research writing, the writer uses some methods to gather the

data; the writer classifies them such as: interview method, observation and

literature study.

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

The writer uses many resources from internet especially

education site (trust site) in which the writer can download the

article, journal, e-book for supporting the thesis writing itself. The

site address that the writer already used in this thesis writing will be

show in references page.

The writer uses some books in which have connection with

the title of the thesis writing “Lecturing Scheduling System at

Informatic Engineering Major Islamic University Syarif

Hidayatullah Jakarta Using Genetic Algorithm”. The list of the

book that the writer already used will be show in references page.

In this method, the writer not only looking for the site and the

book but also learns how the previous research was going then the

writer identify about the strength and the weakness and the writer

make the research better than from the previous research.

68
The writer uses the previous research as a reference which

the title is “Pengembangan Sistem Informasi Penjadwalan

Kuliah”; this previous research was made by Annisa Primasari

(2009).

The strength of the previous research is :

1. The application can be used to search lecturer information by

name and course subject.

2. The application can help a user to choose the empty room for

additional class.

The weaknesses of the previous research are :

1. This application has not use any specific method and the

impact for this, it still needs human effort to find the best

solution.

2. This application has not overcome the problem in laboratory

section in which already happened the clash of the lab section

between Informatic Engineering Major and other major.

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

69
parties, namely interviewer that ask questions and interviewee which

provides answers to questions.

In this case, the writer interviews a secretary of Informatic

Engineering Major Faculty of Science and Technology at Islamic

University Syarif Hidayatullah Jakarta on Thursday, April 15th 2010.

The writer interviews a secretary of Informatic Engineering

Major about: how scheduling process at Informatic Engineering

Major was running? , how each step of scheduling process at

Informatic Engineering? , what the problem occurred when she used

the current system?.

The writer interviews the author of Soft Computing book and

Artificial Intelligence book via electronic mail (e-mail) on April

2010. The writer asks the author about the strength and the weakness

in using genetic algorithm.

Based on the interviewed, the writer could identifies and

analyze the problem at Informatic Engineering Major.

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

Based on Jogiyanto (2008: 90), the behavioural observation is

an observation that carried out on everything except the data and the

70
non-behavioural observation is an analysis of observational data

could be collected data from the current record or historical data.

The writer observes the lecturing scheduling manual process

that was running at Informatic Engineering major at Islamic

University Syarif Hidayutallah Jakarta. By paying attention for that

activity, the writer could understand what the manual process was?

How the manual process work was? What the weakness of using

manual system was? How to overcome the problems are?

From the observation, the writer assumes that today, the

manual process of lecturing scheduling system at Informatic

Engineering Major at Islamic University Syarif Hidayatullah Jakarta

is not effective because sometime the class of the room is still

happen so it still need rescheduling by manual way and it still not

efficient because it still using too much paper.

71
3.5. The Writer’s Mind Map

Identifying the problem and


Analysing for the research need

Collecting the data, looking for the


literature study. Field study (interview
and observation) and common
research study

The System Developing Method

Problem Identification
Communication

Initiating the project


from the user request

Propose new system

The Scope of the system


(features, function, etc) Technical Feasibility

Planning

Economic Feasibility
Feasibility Study

Modeling Operational Feasibility

Schedule Feasibility

Construction

Deployment

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

72
The System Developing Method

Communication

Requirement Model

Planning

Design Model

Modeling

Coding

Construction
Testing Black box testing

Deployment

Summarizing

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

3.6. The Time and Allocation in Research

Time in doing research is starts from April 2010. The research was

running at Informatic Engineering Major Islamic University Syarif

Hidayatullah Jakarta. The research title is “Lecturing Scheduling System at

Informatic Engineering Major Using Genetic Algorithm”.

73
PART IV

ANALYSIS AND DESIGN

4.1. Overview at Science and Technology Faculty Islamic University Syarif

Hidayatullah Jakarta

4.1.1. Science and Technology Profile

History of the Faculty of Science and Technology (FST) is

inseparable from the history of the Islamic University (UIN) Syarif

Hidayatullah Jakarta overall. UIN Jakarta history is a reflection of

the struggle of Indonesian Muslims who tirelessly to have a higher

education institution that is able to generate the intellectual and

moral professionals, ranging from the establishment of the Academy

Department of Religious Studies (ADIA) in the period June 1, 1957

to I960, as the faculty of IAIN Al-Jami'ah centered in Yogyakarta

(1960-1963) and as IAIN Syarif Hidayatullah Jakarta from 1963 to

officially become UIN Syarif Hidayatullah Jakarta in accordance

with Presidential Decree Number 31 Year 2002, May 20, 2002.

Before formed FST, IAIN Syarif Hidayatullah Jakarta since

the 2000/2001 school year to form an organized UIN Conversion

Program Sustainability Studies Program, Computer Science and

Economics. In the year 2002, by Presidential Decree No. 31 Year

2002 on the amendment became IAIN Syarif Hidayatullah Jakarta,

UIN Syarif Hidayatullah Jakarta and programs, as mentioned above


turned into the Faculty of Science andTechnology (FST) and the

Faculty of Economic and Social UMU (FEIS). FST consists of

courses Agriculture / Agribusiness, Information Systems and

Technic Information, Mathematics, Physics, Chemistry, and

Biology.

4.1.2. Vision and Mission of Science and Technology Faculty

Vission

Making Faculty of Science and Technology as a leading

institution both nationally and internationally in the development of

science and technology are integrated with Islamic values and to

Indonesian.

Mission

1. Produce graduates who are professionals in the field of science

and technology and has a competitive advantage in global

competition

2. Provide a moral basis and enlightenment in the guidance of

faith and taqwa (IMTAQ).

3. Conduct research and development in science and technology.

4. Contribute to the implementation of science and technology to

improve the quality of life.

75
4.1.3. Organization Structure

DEKAN

PUDEK Bid PUDEK Bid PUDEK Bid


Akademik Adkum Kemahasiswaan

Name
Title

KABAG Umum dan


KABAG Akademik
Kepegawaian
dan Kemahasiswaan

Prodi Prodi Prodi Prodi Prodi


Sistem Informasi Biologi Kimia Fisika Matematika

Prodi Prodi
Teknik Informatika Agribisnis

Program
Ekstensi

Program
Internasional

Figure 4.1 : Organization Structure at Science and Technology

Faculty

4.2. Developing Lecturing Scheduling System at Informatic Engineering

Major Islamic University Syarif Hidayatullah Jakarta

The writer is using waterfall method for developing lecturing

scheduling system which was explained by Pressman (2010). These are

steps which used to develop Lecturing Scheduling System:

76
4.2.1. Analysis

The current system of lecturing scheduling at Informatic

Engineering Major is still using manual way. The steps of the current

system as shown in the figure below :

Current System

Secretary Program Lecturers Faculty Academic

Start
lecture request
form and course
subjec

Creating a lecture request The schedule report


form and course subject

Fiil In Lecturers
Request form
lecture request
form and course
subjec

Submited lecture
request form

Submited lecture
request form Publish the schedule

Matching the course


subject and the lecture
request form

End

Calculating the total of


credit hour in a semester
and course subject

Saving
to Ms.
Excel Lecture
request
form and
List of
course
subject

Recheck the lecturer


request, course subject

No

Validation

Yes

Making A Report

The schedule report

Figure 4.2 : Process of Current System

77
Explanation :

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,

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

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.

Based on the observation, the writer analyzed that at

Informatic Engineering Major Islamic University Syarif

Hidayatullah Jakarta has 93 course subjects in a week and this total

of course subject exclude lab session, because lab session is constant

and it doesn’t depend on the room. For example: networking lab

room will not use by operating system student.

Based on the observation, Informatic Engineering has some

empty rooms in the morning and Informatic Engineering Major has 4

classes, there are: TI A, TI B, TI C and TI D. Informatic Engineering

major has 4 grades, they are: semester 2, semester 4, semester 6 and

79
semester 8. Based on observation, Informatic Engineering has 8

rooms, they are: room 503, room 505, room 506, room 507, room

605, room 607, room 608 and room 702. In a week there are 5 active

classes, it starts from Monday until Friday and there are 4 studying

sessions each day.

To analyze the lecturing scheduling system at Informatic

Engineering Major, the writer is using the time slot’s formula to

calculate the total time slot. The total time slot is very useful to

represent the result to become a chromosome. The total of genes

inside the chromosome is depending on the total time slot. The

formula was inventoried by previous research.

This below is the figure of the time slot at Informatic Engineering Major:

Time Slot = Total of room x Total of active days in

a week x Total session

In a day

= 8 x 5 x 4

= 160 Time Slot

Based on the observation, the writer finds that using the current

system is less efficient because, the clash of using the room is still happen

even the total of all empty rooms are 160 and the total of room used only

93 rooms.

80
4.2.1.1. Problem Identification

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

4.2.1.2. Initiate the Project

Based on the observation at Informatic Engineering

Major Islamic University Syarif Hidayatullah Jakarta, the

writer identified that authors identified that currently require

a scheduling system that can solve existing problems. This

81
is because the current system is still manual and not able to

achieve optimization.

In this case, the authors build a project with a genetic

algorithm to achieve optimization. The software that the

writer used is PHP language.

4.2.1.3. Proposing New System

Through the identification of all issues that have been

identified by the writer, the writer proposes some proposed

solutions are:

1. Creating a lecturing scheduling system which can be

accessed by the academy and making it easier for

staffs to see the automatic schedule and the empty

room without having to check one by one.

2. Using genetic algorithms method to achieve

optimization

3. The propose application has a form to type the inputs

such as: the name of course subject, the name of the

lecturer, the total of the credit hours and the time. The

application will give the output: : the name of course

subject, the name of the lecturer, the total of the credit

hours, the time and the room class.

82
4.2.1.4. The Scope of the System

The writer makes this system to overcome the existing

scheduling problem. The current system is still using

manual way (paper based). In which the secretary of

Informatic Engineering Major still needs to look for the

solution by manually. This perceived lack of effective.

The new system has some features such as: inserting

the data which is associated with the lecturing scheduling

system, searching for the room (local) and giving the output

as the time table. This new system is not talking about the

security. It works only for lecturing scheduling.

4.2.1.5. Feasibility Study

Based on the feasibility study that the writer has

explained in the chapter two, the writer chooses operational

feasibility study. It causes, by using this kind of feasibility

study, the writer could measure of how a new system by

using genetic algorithm can solve the problems and how a

new system can achieve optimization. By using operational

feasibility study, the writer can compare the fitness

calculating result from the current system and from the

proposed system. From the comparison, it shows that the

current system is less efficient.

83
4.2.2. Planning

In this case, the writer will create a system that will use genetic

algorithm to simplify the process and to achieve optimization. The

writer has made the process flow for the genetic algorithm and the

process flow of the system with the following figures:

Proposed System

Secretary Program Lecturers Faculty Academic

Start
lecture request
form and course
subjec
Creating a lecture request The schedule report
form and inputing course
subjectData to the system

Fiil In Lecturers
Request form
lecture request
form and course
subjec
End
Submited lecture
request form
Lecture
Request
data

Inputing data

Validation

Database

Making a Report

Scheduling Report

Publish

Figure 4.3 : Process of Proposes System

84
Start

Input Data

Apply Genetic
Algorithm

The
timetable
report

End

Figure 4.4 : The Flowchart System of Lecturing Scheduling

Start

Generate
Population

Evaluate Fitness for


each chromosome

Crossing Over and


giving treshold
>=0.005

Mutation

Evaluate Fitness for


each chromosome

Best Fitness no Max Iteration


End change for n times Reached?

Figure 4.5 : The Flowchart Process of Genetic Algorithm


85
The explanations of genetic algorithm steps above are:

1. Generating Population

Population is a collection of chromosomes. A chromosome is

a solution. The writer will generate 10 populations in this system.

The reason of use 10 population: Based on Goldberg (1989), 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.

In this stage, the system will generate some chromosomes.

The totals of class which are running in a week are represented by

chromosomes.

Before using genetic algorithm method, the writer needs to

collect the element need to transform into genetic algorithm

method. The elements are: There are 93 classes that run in every

week, this element will transform become 93 genes in a

chromosome, then there are day, session and room in which three

of them will transform become 3 digits in each gene. The total of

active day in a week is 5 days, the total of session in a day is 4

sessions, the total of rooms for Informatic Engineering major is 8

rooms, so that each gen will consist of 3 digits number which the

maximum number for the first digit is 5, for the second digit is 4

86
and for the last digit is 8. The meaning of 548 is for representing

the day (Friday), the session (4th session) and the room (room 8 =

702).

This below is the table of the day, the room and the session

that the writer already explained above.

TABLE 4.1. The day in a week

No Name of the day


1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday

From the table above, the number of active day in Informatic

Engineering Major is 5 days. It starts from Monday to Friday.

TABLE 4.2. The Session in a day

Session Time Period


1 07.30 - 09.10
2 09.20 - 11.00
3 11.10 – 12.50
4 14.00 – 15.30

From the table session above, the number of session at

Informatic Engineering is 4 sessions. In which first session start at

07.30 am and the last session finish at 15.30 pm.

87
TABLE 4.3. The Room Class at Informatic Engineering Major

Code Room
1 503
2 505
3 506
4 507
5 605
6 607
7 608
8 702

From the table room above, we can know that Informatic

Engineering major has 8 rooms.

To generate all possible genes that can be used, using

algorithms such as below:

Inisialization v = crgen (crgen equal to the amount of data , ex: 93)


For a = 0 to (count(genes) / v) Do
For z = (a*v ) to z < ((a+1) * v) Do
If ( z = ((a+1)*v)-1)
Return cm = null
else
Return cm = ,
End If
88
Display Array coba[a] = Array genes [z+1] + cm
End for
End for

The figure above is an algorithm to create space for a genes

that already been selected and cut it to an array and then separate

the number by coma $cm=",";. the array and the variable are

dynamically define by the selection from the database $v=$crgen;.

The results from the above algorithm is as follows:

This below is the algorithm for random function that used to pick

the value.

For randomnumber = 0 to <=(crgen*Numpopulation) DO


If (mod==0) mod = crgen
Return Result = mysqlquery(select)
if Result > 0
Return d = row(range)
Return s = row(range)
Return r = random(range)
else
Return d = random(range)
Return s = random(range)
Return r = random(range)
End if
End if
Display array [a] = d + s + r
End for

Algorithm above is for taking gene randomly then inserted into

chromosome. The random above is a random process for collection of the

gene value at above. As the explanation before, that the total of time slot is

89
160. And the total of class is 93. To fill the 93 genes in one chromosome,

the author should take a gene randomly chosen from those available are

160 genes.

2. Recombination (Crossover)

Crossing over is the important step to prevent the redundancy

of the chromosome’s content in each individu and to produce a

variety of genes. In this case, the writer will use mutiple point cross

over. It called multiple point because the point for crossing over is

more than one.

Chromosome 1:

135 215 442 128 111 312 444 548 223 125

1 2 3 4 5 6 7 8 …….. 93

Chromosome 2:

241 131 211 117 413 251 222 547 121 441

` 1 2 3 4 5 6 7 8 …… 93

Crossover result 1:

241 131 211 128 111 312 444 547 121 441

Crossover result 2:

135 215 442 117 413 251 222 548 223 125

90
From the result above, we can see that there are no same

gene inside the Chromosome so there are no redundant data. From

the result above, we can see that the result of chromosome is more

variable, this is because of using multiple point in crossing over so

the changes is not only in one place.

For good lecturing scheduling system, it must not to have

same gene (data) in one chromosome, because it will produce the

ambiguity (in one lecturing schedule should not consist double

course subject) .

By using genetic algorithm, the problem occur can be

overcome and approved by showing no redundant data like the

result of crossing over above.

3. Mutation

In this lecturing scheduling case at Informatic Engineering

major, the writer choose the mutation which work only for moving

the gene inside the chromosome itself so it does not use any

number from outside the chromosome. This type of mutation is

called as swap mutation.

The mutation functions are for anticipating a subject which

does not match with the room, anticipating a willingness of faculty

teaching and anticipating day that can not be in teaching.

91
From the value of mutation above, it shows that the mutation

only changing the structure of the gene itself. When the mutation is

done, the schedule will be different because the day, the session

and the room changed.

4. Fitness Calculating

To calculate the fitness value, the writer must find the influential

factors which are giving influence in lecturing scheduling at

Informatic Engineering major. When the writer tries to find the

factor, the writer analyzes some conditions by paying attention to

some conditions, they are:

a. Is there a time in the morning empty or not in use?

92
1) To increase the productivity usage of the room, then in

the desired sequence can be immediately used the room

since morning.

2) if the program offers a solution where there is a time

schedule in the morning which is not used, then this

will reduce the fitness value of solution

b. Is there any lecturers who teach high frequency in one day?

(Lecturers teaching more than 5 credits hour are considered

to have high frequency).

c. Are there any classes that have a high rate in each day?

1) To maintain the performance of students, expected no

class schedules that are too crowded in one day.

2) If college class schedule offer solutions that too high,

then the value of fitness solution reduced.

The writer uses the condition above as a parameter to find

the fitness value. The parameter will be different for each case. It

depends on what the influential factor for each case.

Based on the previous research Aria (2008), the formula for

calculating fitness value is:

Fitness= 1/(B1xF1)+(B2xF2)+(B3xF3)

93
The variable that the writer uses at Informatic Engineering major:

• F1= the highest class


• F2= the total of the empty class in the morning
• F3= the total of the highest lecturing in a day from the lecturer

• B1= the weight of the highest class


• B2= the weight of the empty class in the morning
• B3= the weight of the total of the highest lecturing in a day from the
lecturer

This below is the table of limitation and priority for

scheduling.

TABLE 4.4. The Limitation and Priority Value for Scheduling

Influential Factor The weight Reason


The empty class in the morning 5 This is soft constraint
which is not the
priority
Frequency of lecturer’s teaching 20 This is hard constraint
because if this
happens then the
lecturer's performance
will be reduced
Frequency of class lectures 20 This is hard constraint
because if this
happens then the
student's performance
will be reduced

The table above is showing that each influential factor has a

weight to calculate. Based on Suyanto (2008), Hard constraint is a

condition that must not be violated and soft constraint is a

94
condition that not be the first priority. Based on Suyanto (2008),

The hard constraint has a weight larger than soft constraint because

it is the priority that can not be violated.The Different case will

produce different influential factor.

Based on the observation and data analyze, the writer found

data at Informatic Engineering major like in the table below:

TABLE 4.5. Influential Factor for Calculating Fitness at Informatic

Engineering Major Islamic University Syarif Hidayatullah Jakarta

Influential Factor The Total Number

The empty class in the morning 4

Frequency of lecturer’s teaching 5

Frequency of class usage 5

The empty class in the morning is a situation in where no

process study at 07.30 Am (because the morning class starts from

that time).

The frequency of lecturer teaching is a condition in which a

lecturer has high frequency in giving lecture in each day. A lecturer

categorized as a lecturer who has high frequency if he/she teaches

more than 5 credits hour in a day. This kind of influential factor

could give a bad performance to the lecturer and to the student

brain.

95
The frequency of class is a condition when the class

capability to receive the subject. If a class full from 1st session till

the last session, it will give bad effect to the student because the

student will have a bad performance in receiving the lecture.

Fitness Calculating at Informatic Engineering Major Islamic

University, year 2009/2010, 28 course subjects, 4 classes (A-D)

and 8 room classes before applying Genetic Algorithm into

scheduling system:

Fitness = 1/(B1Xf1)+(B2XF2)+(B3XF3)
= 1/(5x4)+(20x5)+(20x5)
= 1/220
= 0.004545

B1 is the weight for empty class in the morning, B2 is the

weight for giving lecture in high frequency and B3 is the weight for

class in high frequency. From the result above, the fitness value is

0.0045. It means that the lecturing scheduling system at Informatic

Engineering Major is not efficient. Based on the previous research

Aria (2008), the value for the efficient scheduling is 0.008. When

the system reaches the fitness value under the 0.008, it indicates

that: the clash that still occur in the use of class, there remains the

possibility of an empty class room in the morning and lecturers

teaching with high frequency.

96
5. Selection

In this case, the writer wants to get the best solutions by

choosing the chromosome that has a low fitness value then low

fitness value will be eliminated half.

Based on the previous research, determined that the fitness

value of 0.008 is considered as a successful fitness value. This

fitness value is used as a reference, so that when the process of

genetic algorithms in running then fitness value will be in the know

whether the value of fitness to work or not. If the value of 0.008 was

achieved, this indicates that there is no fragment of subject, room

and etc.

6. Peak Fitness Value

The repetition for peak fitness value is up to n times. For this

stage, there are none reference about the total repetition for best

fitness value.

7. Maximum Iteration Reached

When the peak value is not achieved, the system will looking

for the value by doing iteration. In this case, doing iteration will

produce a new fitness value and the result could be sufficient. There

are none reference about the number of maximum iteration, the

97
writer is using n times as a number of maximum iteration in this

case.

8. Stop Condition

In lecturing scheduling system at Informatic Engineering

major, there are some conditions that cause the genetic algorithm is

stopped, such:

1. Achieved the highest fitness value for three consecutive times.

2. Achieved the maximum iteration.

4.2.3. Modeling

After finishing the analysis stage, then the writer design the

application that already defined in the previous. The system design

begins with creating the Data Flow Diagram (DFD), flowchart and

creating the database design.

4.2.3.1. Requirement Model

Bussiness process that occur in this system is:

1. The academic staff must input the data: the course

subject name, the lecturer name, the total of credit hour,

the time, the local (room) and the session.

2. After the data inserted into database, the system will

process it.

98
3. The system will give the output about the information

about the course subject name, the lecturer name, the

total of credit hour, the time and the room class.

4. The function of using genetic algorithm is achieving the

optimaztion in a system. So in this case, when the

system proceess the data, the system also trying to

match room class for the course subject then after

matching it, the system will give the output like the

explanation above.

5. The final result of this system is giving a time table

report.

4.2.3.1.1 Data Flow Diagram (DFD)

The writer use data flow diagram to represent the

process modeling. The data flow diagram that the

writer use: context diagram, data flow diagram level 1

and data flow diagram level 2. The figure below is

showing the data flow diagram.

99
Figure 4.6 : The Context Diagram of Lecturing Scheduling System

The figure above is a context diagram of lecturing

scheduling system in all aspect. That figure shows how

the process scheduling starts from collecting data at

academic of Informatic Engineering Major until the

arranging the schedule.

100
1.0

Figure 4.7 : The Data Flow Diagram Level 1

101
mic 4.1

Figure 4.8 : The Data Flow Diagram Level 2 Process 4

The data flow diagram above is a data flow diagram

level 2. In this level, the process in applying genetic

algorithm will be break down. The step in this level:

1. First, generate population in which it use the

datas, they are: day, session, course,

lecturer,class, room and schedule that already

input in the process 1 and 2 in level 2, after

generating population, it will produce population.

2. Second process is Evaluating fitness value in

which in this stage will calculate and evaluate a

fitness value to use in generating a schedule.

3. Third process is crossing over after done in this

stage, it will produce the new population.


102
4. Forth process is Mutation. In this stage will

produce a new chromosome gene.

5. Fifth process is Evaluating fitness value for the

second time in which in this stage will calculate

and evaluate a fitness value to use in generating a

schedule.

6. After the schedule finished, the academic can use

the schedule.

4.2.3.1.2. Entity Relationship Diagram (ERD)

The entity relationship diagram is very useful to

represent the data modeling. The new lecturing

scheduling system that the writer proposed has a

database which is consist of some tables. They are:

day, room, session, class, lecturer and course. The

figure below is purposing to show the relationship

between one entity to another entity.

103
The Entity Relationship Diagram

room

session

Figure 4.9 : The ERD of The System

TABLE 4.6. The Table of The Day

The Field Type of field


Day_id Integer (2)
Day_name Varchar (10)

Day’s table is consisting of two kinds of field. The

first field is containing the number of the day which

is the writer called it Day_id and the second field is

containing the day in which the writer called it

104
Day_name. Day_id is representing by using integer

number because it indicates the number of the day

and Day_name is represented by using varchar

because this is the name of the day in which using

character. The gene has 3 digits number to represent

the day, session and room. In this case, the day’s

table has contribution to fill the first digit of the

gene.

TABLE 4.7. The Table of Room

The Field Type of field


Room_id Integer(2)
Room_name Varchar (5)

Room’s table is consisting of two kinds of field. The

first field is containing the total number of the local

which is the writer called it Room_id and the second

field is containing the Room_name. Room_id is

representing by using integer number because it

indicates the number of the rows and Room_name is

representing by using varchar because this is the

name of the room in which using character. The

gene has 3 digits number to represent the day,

session and room. In this case, the local’s table has

105
contribution to fill the third digit of the gene to catch

up the session.

TABLE 4.8. The Table of Lecturer

The Field Type of field


Lecturer_id Integer (10)
Lecturer_name Varchar (40)

The lecturer’s table is consisting of 2 fields,

they are: No and dosen. No is representing the

number of the lecturer and dosen is representing the

name of the lecturer. This table is very helpfull to

give the information about lecturer based on the

structure of the gene.

TABLE 4.9. The Table of Course

The Field Type of field


Course_id Varchar (7)
Course_name Varchar (50)
Credit Integer (2)
Semester varchar (2)

The Course table is consisting of 4 fields, they

are: course_id, course_name, credit and semester.

Course_id is representing the number of the course

subject, course_name is representing the name of the

course subject, credit is representing the total credit


106
of course subject and semester is representing the

semester.

TABLE 4.10. The Table of Session

The Field Type of field


Session Integer (2)
Start Varchar (5)
End Varchar (5)

The session’s table is consisting of 3 fields,

they are: session, start and end. session is

representing the total number of the session, start is

representing the start time of the credit hour and end

is representing the finish time of credit hour. This

table is very helpfull to give the information about

the session and it useful to represent the second digit

inside the gene.

TABLE 4.11. The Table of Schedule

The field Type of field


Schedule_id Integer (3)
Course_id Varchar (10)
Lecturer_id Varchar (7)
Class_id Varchar (1)
The table above is a relation table for the

scheduling system. Based on the table, the primary

key is Schedule_id, the other fields is the foreign

key from othe table.


107
4.2.3.2 Design Model

The writer designs the interface like the figure below:

1. Input Form

Add Lecture

No id

Lecture Name

Add

Add
Show/Hide
Lecturer

Search By: Search

id NO ID Lecturer Name Action

1
2
3

Paging

Figure 4.10 : Design Input 1

Mata Kuliah
SKS
Dosen
Semester
Kelas Simpan

Kembali Edit MK Lanjutkan

Figure 4.11 : Design Input 2

108
2. Output Form

Figure 4.10: Design Output

109
PART V

IMPLEMENTATION

5.1. System Requirement

Building the lecturing scheduling system needs the hardware and the

software like the specification below :

1. The Hardware :

a. Computer Processor Unit Intel core i5 @2,7GHz (4 CPU)

b. Memory 2 GB

c. Hard Disk Drive 160 GB

2. The Software :

a. Operating System Windows 7

b. XAMPP (Web Server Apache 1.3, PHP 5, MySQL 5).

c. Adobe Dreamweaver

5.2. Construction

In this stage, the writer will do the coding part and the testing part.

5.2.1 Coding

In the coding part, the writer types the code to build the application

system. Before coding, the writer must understand the flowchart, the

business process, the entity relationship diagram (ERD) and the database

itself. Writer provided source code in appendix part.


5.2.2. Testing

The writer is testing the system with two type of testing.

They are: white box testing and black box testing.

5.2.2.1. Black Box Testing

In this step, the writer tests the feature of the

system, with the result like the table below:

TABLE 5.1. The Result of Black Box Testing

No Feature Expected Result Result


1 Insert Lecturer Data Could save the inserted data OK
2 Update Lecturer Could change the data OK
Data
3 Delete Lecturer Data Could save the inserted data OK
4 Insert Room Data Could save the inserted data OK
5 Update Room Data Could change the data OK
6 Delete Room Data Could delete the data OK
7 Insert Day Data Could save the inserted data OK
8 Update Day Data Could change the data OK
9 Delete Day Data Could delete the data OK
10 Insert Session Data Could save the inserted data OK
11 Update Session Data Could change the data OK
12 Delete Session Data Could delete the data OK
13 Insert Course Data Could save the inserted data OK
14 Update Course Data Could save the inserted data OK
15 Delete Course Data Could delete the data OK
16 Insert Class Data Could save the inserted data OK
17 Update Class Data Could change the data OK
18 Delete Class Data Could delete the data OK
19 Insert Schedule Data Could save the inserted data OK
20 Update Schedule Could change the data OK
Data
21 Delete Schedule Could delete the data OK
Data
22 Insert Lecture Could save the inserted data OK
request Data
111
23 Update Lecture Could change the data OK
request Data
24 Delete Lecture Could insert the course title OK
request Data
25 Generate Schedule Generate Schedule OK

From the table above, the writer can show that application

is running smoothly without error.

5.2.2.2. White Box Testing

In this step, the writer will test the algorithm. In

this case, the writer is using genetic algorithm in which it

is using a fitness value to identify the efficiency of the

system.

At the first, the writer will test a peak fitness value

by using three repetitions to find the best fitness value. If

the fitness values for three repetitions calculations

remain high position, then the fitness value will be

selected and the condition will stop. This below is the

result of fitness value with 3 times calculating:

112
Figure 5.2 : The 1st Peak Fitness Value

The figure above is showing the first peak fitness

value is 0.005

Figure 5.3 : The 2nd Peak Fitness Value

The figure above is showing that the best fitness

value is 0.005

113
nilai fitness : 0.004166666666666667

nilai fitness : 0.004545454545454545

nilai fitness : 0.005

nilai fitness : 0.003125

nilai fitness : 0.0038461538461538

nilai fitness : 0.0041666666666667

nilai fitness : 0.0038461538461538

nilai fitness : 0.0035714285714286

nilai fitness puncak : 0.005

Figure 5.4 : The 3rd Peak Fitness Value

The figure above is showing that the best fitness

value is 0.005

nilai fitness : 0.003333333333333333333

nilai fitness : 0.004545455454545454545

nilai fitness : 0.004166666666666666667

nilai fitness : 0.0038461538461538

nilai fitness : 0.003125

nilai fitness : 0.0038461538461538

nilai fitness puncak : 0.0045454545

Figure 5.5 : The 4th Peak Fitness Value

The figure above is showing that the 4th testing of

fitness value is decreasing and become 0.00454545.

114
nilai fitness : 0.003333333333333333333

nilai fitness : 0.004545455454545454545

nilai fitness : 0.004166666666666666667

nilai fitness : 0.0038461538461538

nilai fitness : 0.003125

nilai fitness : 0.0038461538461538

nilai fitness puncak : 0.0045454545

Figure 5.6 : The 5th Peak Fitness Value

From the figure above, we can see that the fitness

value is decreasing.

From the result above, we can see that the repetition

till 3 times produce the same value which is 0.005 and the

4th and the 5th repetition reduced the fitness value. So that

the writer decides to use 3 times repetition.

115
5.3. Implementing Lecturing Scheduling

1. At the first time, when the user access this application, the first page

that will be appear is :

Figure 5.7 : Home Page

2. you can add or insert lecturer master data by selecting the submenu, if

the data already in the database you can skip this step.

Figure 5.8 : Sub Menu Master Data

116
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

Figure 5.10 : Input Form Schedule data

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

Figure 5.12: Generating Schedule

118
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

efficient process of scheduling.


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. Penerbit Informatika. 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.
[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". Universitas Komputer 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.

121
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
a client, e.g. a Web browser.
xv

Anda mungkin juga menyukai