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
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
Approving,
Supervisor Co-Supervisor
Knowing,
Head of Informatic Engineering
Examiner I Examiner II
Supervising team,
Supervisor Co-Supervisor
Knowing,
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,
Bachelor degree. This work has not been submitted for any other degree or award
v
ABSTRACT
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
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
ix
3.6 The Time and Allocation in Research …………………..... 73
x
5.2.2.1 Black Box Testing ……………………………. 111
5.2.2.2 White Box Testing ……………………………. 112
5.3 Implementing Lecturing Schedule ………………………..... 116
xi
APPENDIXES
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 4.4: The Limitation and Priority Value for Scheduling ........................... 94
PART I
INTRODUCTION
emerged into age which has been described using many terms: “The
into a society that is called “The Information Society” (Williams et. al.
1999).
every year. It produced many technologies and goals, in every change from
How about quickly the nature of information technology will change? How
about information technology access will alter the lifestyle of people and
After reading some previous thesis writing and article, the writer’s
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.
Major Islamic University Syarif Hidayatullah Jakarta, the writer found some
problems in lecturing schedule, they are : the clash in using the room
science and technology and the clash in using the laboratory room between
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
are:
2
Start
Creating a lecture
request form and course
subject
End
3
The explanation of the flowchart above is :
the due date of submiting the form for lecture then the secretary of
4. The lecture of Informatic Engineering will read the course subject list,
based on their expectation and fill the form then they give back the
process in a session,
subject,
4
10. The secretary of Informatic Engineering will recheck the lecturing
scheduling (in which already made in Microsoft Excel) and will print
the schedule,
student,
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.
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).
overcome the problem and she did not use any specific optimization method
researches, they are: Ivan (2008) and Aria (2008) had overcome the problem
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
system? What would be an ideal system that would enable the users to make
6
More specifically the aims of this study are defined and explained below.
2. To produce the best value for fitness value as genetic algorithm using
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.
7
2. This system processes the data only in the even semester in year
must giving input about the elements needed for that semester, they
3. Each session is only for meetings that have weight two credits
hour.
Algorithm”.
8
1.5. The Advantage
genetic algorithm.
must be qualified good data, such as: (1) data must be accurate; (2)
9
research method conducted by interview, observation and
ethnography.
literature study.
1. Literature study:
2. Interview method:
3. Observation method:
10
Based on Jogiyanto (2008: 89), the observation is an
observation.
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
2. Planning
3. Modeling
4. Construction
algorithm method into the coding and after finishing, the writer
shall test it whether use white box testing or black box testing.
5. Deployment
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
12
1.7. Organization of the Study
In this thesis writing, the writer divides the paper into five chapters with
PART I INTRODUCTION
algorithm.
13
PART IV ANALYSIS AND DESIGN
PART V IMPLEMENTATION
PART VI CONCLUSION
for both research and practice, and qualifies the result within the
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
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
establishes the importance and influence that IT has on our lives today,
focusing on the scheduling domain. The chapter then looks into the
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
exploration.
2.2.1. Lecturing
particular subject.
16
Based on Mifflin (2009), Lecturing is delivering a lecture or
(typically to a class).
2.2.2. Scheduling
2.2.3. System
17
3. According to the Pressman (2005), a system is a collection of
or organic whole;
various parts;
2.3. Software
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
1. System Software.
structures.
2. Application Software
process control).
4. Embedded Software
control features and functions for the end user and for the system
19
5. Product Line Software
financial applications).
6. Web Application
that not only provide stand alone features, computing functions, and
content to the end user, but also are integrated with corporate
20
is it use genetic algorithm to translate the problem occured to the
engineering. The writer try to explain the layers one by one and the
1. Process
2. Method
21
requirement analysis, design modeling, program construction,
3. Tools
Tools
Methods
Process
A quality focus
information or control.”
22
logistics, etc.) at each step, starting with risk analyses and feasibility studies
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.
world. The writer will explain them one by one which related with the field
production.
create computer softaware practice the art or the craft of the discipline”.
23
2.7. The Waterfall Process Model
linear fashion.
Deployment
2.7.1 Communication
24
steps, there are many principles in which very helpfull to do
communication.
identify the problem occurred and the writer can ask the
user. The equipments are needed such as: agenda for writing
some note and write down all the important things and a
4. The writer tried to describe to the user what product, feature and
5. The writer focused in one topic. After resolving that topic, the
6. The writer does negotiation with the user. The project runs
25
2.7.2. Planning
tactical objectives.
2.7.3. Modelling
taking place.
1. Requirement Models
26
The writer uses requirement models to translate what the user
needs such as flow chart and data flow diagram. Using them is
system’s flow and the writer can work easier based on the data
2. Design Model
to other who may maintain the software in the future but also it
2.7.4. Construction
1. Coding
27
that she is trying to solve. The writer also understand the
language that provides tools that will make the writer’s work
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
2. Testing
28
2.7.5. Deployment
Based on the previous research (Steven : 2008) and (Ivan : 2008), now
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.
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.
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
below (Gen and Cheng, 1997; Buckles and Petry, 1992; Davis, 1991;
1996).
31
The creatures upon which the genetic algorithm acts are
original schema.
p 4).
program is often in choosing data types. And that is where the first
effective and elegant GAs. There are, however, many other ways to
32
2.9.3. Population Size
optimal. If the population size chosen is too small then there is not
is quicker. If the population size is too large then time will be wasted
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
33
evaluating a chromosome. Where there are a number of rules (i.e., in
(Gen and Cheng, 1997; Davis, 1991). In this case it is simpler to say
fitness can be seen as inversely related to cost and vice versa, so one
cost is also to look for the lowest point in the lowest valley of the
to look for the highest point of the highest mountain in the fitness
34
With any non trivial optimisation problem it would take an
the landscape are ventured into (Gen and Cheng, 1997). Finding a
This data will then provide a starting point for the directed evolution.
35
overall fitness is not yet as high as is desired a portion of the least fit
ever of its parents it most resembled. This can require a gene by gene
and/or the loser is selected for extinction (Rich, 1995). This is said to
36
ice ages represent periods in which selection pressures are quite
where the healthiest are most likely to breed (Gen and Cheng, 1997).
fitness offspring, termed “lethal.” Lethal rarely survive into the next
fitness chromosomes (Gen and Cheng, 1997) and to avoid the over
2.9.7. Crossover
Once parents have been chosen, breeding itself can then take
37
chromosome, an allele from either the mother or the father. The
cross-over (Gen and Cheng, 1997; Buckles and Petry, 1997; Davis,
(Davis, 1991).
genetic material from before the crossover point is taken from one
parent, and all material after the crossover point is taken from the
crossover point (Gen and Cheng, 1997). Indeed, every point can be
38
Figure 2.4: An Example of Crossover with Fully Encoded Genes
2.9.8. Mutation
into the wild, there is a chance that it will undergo mutation. The
inject noise, and, in particular, new alleles, into the population. This
mutation rate is too high it can cause well bred genes to be lost and
39
solution space. Some systems do not use mutation operators at all
1993).
Once a gene has been selected for mutation, the mutation itself
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
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
40
2.9.9. Inversion
p 5)
variables the value of which will change the speed and effectiveness
by GAs, ad infinitum.
genetic algorithm:
Present
Replacement Selection
Generation
42
2.10. Applications of Genetic Algorithms
begun the brightest phase of its career- that of Being Applicable to Real
such that more conventional methods are out of their depth, evolutionary
DNA (Davis, 1991) image processing and machine learning (Buckles and
Petry, 1992) and, of course, scheduling problems (Burke and Ross 1996;
(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
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
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.
allows it to work. For example, data structures are replacing binary numbers
2.11.1. PHP
dynamic web even it still can use to another task. The sample of
44
Wikipedia). PHP also can be seen as another chosen from
collect in which its use to process a form of data from web then
become more quick and better than before. On June 1998, that
company produced new interpreter for PHP and created name for
45
support add on module and consistent syntax. The language that its
downward compatible.
evolves. People can improve it, people can adapt it and people can
The Comparison between Using PHP Script and Using Perl Script :
HTTP CGI
2. Using PHP :
PHP
46
The advantages of using PHP :
1. High Performance:
2. Built in libraries:
development need
http://www.php.net
3. Extensibility:
enhancement
enhancement
47
d. Lower the total cost of ownership
5. Portability:
minor adjustment.
different platform.
6. Developer Community:
date
7. Ease of Learning:
technology
2.12. MySQL
48
database management system to keep costs down and minimize change to
their existing system. The world’s most popular of these open source
Widenius, who wrote MySQL in 1995. MySQL has its roots in Msql or mini
provide fast access to stored data with low memory requirements. Its
advantages:
1. Portability
Server, etc.
2. Open Source
3. Multi-user
MySQL can be used for many users at the same time without any
4. Performance Tuning
49
5. Column Types
float, double, char, varchar, text, blob, date time, datetime, timestamp,
7. Security
MySQL has some layers of security such subnet mask, host name,
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.
9. Connectivity
10. Localisation
languages.
11. Interface
50
12. Client and Tools
MySQL completed with many tools that its can used for database
benefits and savings that are expected from a candidate system and
taking an action.
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
development.
52
period using some methods like payback period. Schedule
2.14. XAMPP
operating system and it’s a compilation from some programs. The function
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
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
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)
stated that in the genetic algorithm, the mechanisms that will be used are
BINA NUSANTARA)”.
strategies are concepts copied from the natural life and used as operators in
advantageous features:
54
1. GA begins the search with a population of parameter realizations,
distribution;
deterministic ones;
GA would alter the chromosome (or and ones representing the whole
set of parameters put all together in one binary entity. For binary
the values zero or one. In this way, the chromosome is the set of all
parameters' bits.
to work, with the aim of the GA being to improve them, but more often they
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 :
1. Coding
2. Fitness Value
3. Selection
4. Reproduction
5. Mutation
6. Stop Condition
(1989), After producing some generations, genetic algorithm will convert to the
technic which works based on permutation and natural genetic. Algorithm genetic
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
1. Optimization
2. Automatic Programing
3. Machine Learning
57
4. Economic Model
bidding strategies.
6. Ecology Model
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
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
The research which it was made by Muhammad Aria and title of the
using LabVIEW 6.1 and the test already done for 100 generations in which there
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
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
Using Genetic Algorithm”. A genetic algorithm is suitable for achieving the best
59
2.16. Summary
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
optimal parameter.
60
61
PART III
RESEARCH METHODOLOGY
3.1. Introduction
The previous chapter has thoroughly discussed the concept and the
current technologies used and research done to study the factors that affect
that exist between the research variables and the requirements for the
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.
(Myers & Avison 2002) and can be broadly classified as qualitative research
methodology used to obtain the information. Galliers and Land (1987) state
their own strengths and weaknesses, and that the choice of an appropriate
research. After consider, the things above, the writer choose waterfall
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
62
3.3.1. Communication
In this stage, the writer has some activities such as: problem
existing problems.
63
3.3.1.5. Feasibility Study
feasibility.
3.3.2. Planning
input the data, to process the data and to maintain the data.
3.3.3. Modelling
taking place.
64
In software engineering work, two classes of models can be
created:
behavioural domain.
the user needs such as flow chart and data flow diagram.
Using them is very useful because the user can have well
65
In this writing thesis, the writer provides Entity
3.3.4. Construction
3.3.4.1. Coding
needed and coding for the interface and for the system.
perform unit test and correct error that the writer has
uncovered
66
3.3.4.2. Testing
and clear-box.
box.
3.3.5. Deployment
step, in which the person in charge will update and maintain the
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.
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
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
68
The writer uses the previous research as a reference which
(2009).
2. The application can help a user to choose the empty room for
additional class.
1. This application has not use any specific method and the
impact for this, it still needs human effort to find the best
solution.
researchers ask questions with the interviewees, both the status of the
69
parties, namely interviewer that ask questions and interviewee which
2010. The writer asks the author about the strength and the weakness
an observation that carried out on everything except the data and the
70
non-behavioural observation is an analysis of observational data
activity, the writer could understand what the manual process was?
How the manual process work was? What the weakness of using
71
3.5. The Writer’s Mind Map
Problem Identification
Communication
Planning
Economic Feasibility
Feasibility Study
Schedule Feasibility
Construction
Deployment
72
The System Developing Method
Communication
Requirement Model
Planning
Design Model
Modeling
Coding
Construction
Testing Black box testing
Deployment
Summarizing
Time in doing research is starts from April 2010. The research was
73
PART IV
Hidayatullah Jakarta
Biology.
Vission
Indonesian.
Mission
competition
75
4.1.3. Organization Structure
DEKAN
Name
Title
Prodi Prodi
Teknik Informatika Agribisnis
Program
Ekstensi
Program
Internasional
Faculty
76
4.2.1. Analysis
Engineering Major is still using manual way. The steps of the current
Current System
Start
lecture request
form and course
subjec
Fiil In Lecturers
Request form
lecture request
form and course
subjec
Submited lecture
request form
Submited lecture
request form Publish the schedule
End
Saving
to Ms.
Excel Lecture
request
form and
List of
course
subject
No
Validation
Yes
Making A Report
77
Explanation :
lecture,
subject list,
subject based on their expectation and fill the form then they
Informatic Engineering,
78
8. The secretary of Informatic Engineering calculate the number
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
calculate the total time slot. The total time slot is very useful to
This below is the figure of the time slot at Informatic Engineering Major:
In a day
= 8 x 5 x 4
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
identify such:
form.
between computer.
81
is because the current system is still manual and not able to
achieve optimization.
solutions are:
optimization
lecturer, the total of the credit hours and the time. The
82
4.2.1.4. The Scope of the System
system, searching for the room (local) and giving the output
as the time table. This new system is not talking about the
83
4.2.2. Planning
In this case, the writer will create a system that will use genetic
writer has made the process flow for the genetic algorithm and the
Proposed System
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
84
Start
Input Data
Apply Genetic
Algorithm
The
timetable
report
End
Start
Generate
Population
Mutation
1. Generating Population
quicker. If the population size is too large then time will be wasted
chromosomes.
method. The elements are: There are 93 classes that run in every
chromosome, then there are day, session and room in which three
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
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
that already been selected and cut it to an array and then separate
the number by coma $cm=",";. the array and the variable are
This below is the algorithm for random function that used to pick
the value.
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)
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
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
the result above, we can see that the result of chromosome is more
course subject) .
3. Mutation
major, the writer choose the mutation which work only for moving
the gene inside the chromosome itself so it does not use any
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
4. Fitness Calculating
To calculate the fitness value, the writer must find the influential
92
1) To increase the productivity usage of the room, then in
since morning.
c. Are there any classes that have a high rate in each day?
the fitness value. The parameter will be different for each case. It
Fitness= 1/(B1xF1)+(B2xF2)+(B3xF3)
93
The variable that the writer uses at Informatic Engineering major:
scheduling.
94
condition that not be the first priority. Based on Suyanto (2008),
The hard constraint has a weight larger than soft constraint because
that time).
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
scheduling system:
Fitness = 1/(B1Xf1)+(B2XF2)+(B3XF3)
= 1/(5x4)+(20x5)+(20x5)
= 1/220
= 0.004545
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
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
96
5. Selection
choosing the chromosome that has a low fitness value then low
whether the value of fitness to work or not. If the value of 0.008 was
and etc.
stage, there are none reference about the total repetition for best
fitness value.
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
97
writer is using n times as a number of maximum iteration in this
case.
8. Stop Condition
major, there are some conditions that cause the genetic algorithm is
stopped, such:
4.2.3. Modeling
After finishing the analysis stage, then the writer design the
begins with creating the Data Flow Diagram (DFD), flowchart and
process it.
98
3. The system will give the output about the information
matching it, the system will give the output like the
explanation above.
report.
99
Figure 4.6 : The Context Diagram of Lecturing Scheduling System
100
1.0
101
mic 4.1
schedule.
the schedule.
103
The Entity Relationship Diagram
room
session
104
Day_name. Day_id is representing by using integer
gene.
105
contribution to fill the third digit of the gene to catch
up the session.
semester.
1. Input Form
Add Lecture
No id
Lecture Name
Add
Add
Show/Hide
Lecturer
1
2
3
Paging
Mata Kuliah
SKS
Dosen
Semester
Kelas Simpan
108
2. Output Form
109
PART V
IMPLEMENTATION
Building the lecturing scheduling system needs the hardware and the
1. The Hardware :
b. Memory 2 GB
2. The Software :
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
From the table above, the writer can show that application
system.
112
Figure 5.2 : The 1st Peak Fitness Value
value is 0.005
value is 0.005
113
nilai fitness : 0.004166666666666667
value is 0.005
114
nilai fitness : 0.003333333333333333333
value is decreasing.
till 3 times produce the same value which is 0.005 and the
4th and the 5th repetition reduced the fitness value. So that
115
5.3. Implementing Lecturing Scheduling
1. At the first time, when the user access this application, the first 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.
116
3. Fill in the Lecturer input form
4. If All of the data master have been inserted we go to the submenu for
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
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.
118
PART VI
CONCLUSION
way.
3. It is very helpful to find the empty room and to match between the
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.
Algorithms. Palestine.
Strategies. Canada.
Kuliah. Jakarta.
[18] Keraf, Gorys, Prof. Dr. Komposisi. NTT: Nusa Indah. 1994.
[20] William (Gates, Bill). 1999. Business @ The Speed of Thought. USA.
121
DEFINITION