Make your own free website on

Generating the timetable



This program sees the timetable as a big electronic spreadsheet whose rows represents the classes and the columns representing the teaching period codes.





The FEASIBILITI routine enables you to estimate the number and kinds of rejects before even generating the timetable. Within FEASIBILITI you can estimate by class (KUMPULAN), lecturer (PENSYARAH) or subject (SUBJEK) or all (SEMUA).





When you generate a timetable, whatever data fixed by you in Makasas.txt will be placed on the timetable first. Then the type you chose will be arranged. You may choose the BLOK type , the KEMBAR type or the TUNGGAL period type. But you will be wise to choose BLOK first as it is the most difficult type to arrange. If you get rejects for blocks after a few tries, then you must try BAIK PULIH and/or TUKAR (explained below) before continuing with other types of data.





Each time you choose a type, the above process is repeated. You can choose to continue without starting from scratch by enabling the continue button. Suppose you pressed the KEMBAR type with the continue button enabled; all KEMBAR periods only in the timetable will be erased and a new set of KEMBAR periods will be arranged as a continuation to whatever there was before.





Actually when you choose a type, available empty slots are chosen at random and for that slot it is checked if the DATA fulfills all conditions set in Arahan.txt. If it passed the conditions then the data is inserted there. If not, other slots are searched until there is no more. When there is no more slots, it goes into another more elaborate routine which will try to insert the data by method of exchange. Normally this takes a little while (a few seconds). If it still can't go in, then it will be placed as rejected data in Tolak.dat.



Pulih Tunggal


Once you got everything in then you continue with the other types (make sure you enabled the SAMBUNG button) until over. If you are experienced in arranging timetables you would do the TUNGGAL last. It would be easier to insert the single period rejects. Because of this it is anticipated that more rejected data would be found which cannot be adequately handled by the simple repair by exchange methods. A separate routine called PULIH TUNGGAL will do more extensive checks. It actually uses three complicated methods to try to put back the rejected data. Each routine is triggered in sequence and you have a choice on the number of rounds (default 20 and remember one set is 3 different routines). It will take time.



Min & Max


This routine carries out the instruction found in Arahan 16. Basically you can minimize or maximize periods of your choice; you could also balance (spread) the free periods throughout the timetable - applicable for institutions with a number of free periods.



Susun Bilik


You use the SUSUN BILIK routine if you want special rooms to be arranged as defined by you in Arahan 11. This routine has been programmed to work with you. Don't be surprised if the program occasionally prompts you for an alternative room from a set of rooms. Use this routine with care though as it is quite difficult to write a mutually exclusive instruction in Arahan 11. After using this routine check the main timetable to see if the rooms were arranged as you intended.