@@ -86,20 +86,26 @@ def define_id(i, j, k):
8686 return ID
8787
8888# 3. Ekekusi time
89- def state_check ():
89+ def state_check (count ):
9090 global MESIN , JOB_DONE , SCHEDULE , CJ , TJ , RJ , ST
91+ print ("seconds : " ,count )
9192 print ("cj" ,CJ )
9293 print ("tj" ,TJ )
9394 print ("rj" ,RJ )
9495 print ("st" ,ST )
96+ print ("MESIN" ,MESIN )
97+
98+ print ("============================" )
9599
96100 # e. Menentukan nilai cj terkecil, job dengan cj terkecil akan diproses duluan
97101 min_c = min (CJ )
98102
99103 # f. Kalo misal ada lebih dari 1 yang punya nilai minimum itu, kita handle
100104 if CJ .count (min_c ) > 1 :
105+ print ("adaberapa?" ,CJ .count (min_c ))
101106 # Bikin list yang isinya semua job yang punya nilai min_c
102107 index_c_in_cj = [i for i in range (len (CJ )) if CJ [i ] == min_c ]
108+ print ("indeiks" ,index_c_in_cj )
103109
104110 # Cek nilai rj dan pilih yang mempunyai nilai rj terkecil
105111 # Prioritasin yang jumlah operasinya masih banyak
@@ -117,7 +123,8 @@ def state_check():
117123 temp_list [index_mac ] = ST [i ]
118124 elif ST [i ][1 ] < temp_list [index_mac ][1 ]:
119125 temp_list [index_mac ] = ST [i ]
120-
126+
127+ print ("cekie" ,temp_list , machine_list )
121128 # sehkarang temp_list isinya job yang mau dijalankan
122129 retval = temp_list
123130
@@ -156,20 +163,21 @@ def state_check():
156163 ST .pop (i - bias )
157164 CJ .pop (i - bias )
158165 bias += 1
166+
167+ print ("cj updated" , CJ )
159168
160- print ("bias" ,bias )
161- # Updating cj
169+ # Updating cj kalo overdua
162170 # retval = [3, 1, 3] mewakili job3, yang1, mesin3
163- """ CJ[retval[0][0] - 1] += RJ[retval[0][0] - 1]
164- TJ[retval[0][0] - 1] = PROCESSING_TIME[retval[0][0] - 1][ST[retval[0][0] - 1][1] - 1] """
165- # ST[retval[0][0] - 1][1] += 1
166- """ print("cj",CJ)
167- print("tj",TJ)
168- # print("rj",RJ)
169- print("st",ST) """
171+ """ print("strv2",retval,TEMP_ST)
172+ for i in range (len(retval)):
173+ if retval[i] != TEMP_ST and count + 1 == CJ[ST.index(value)]:
174+ CJ[i] += 1 """
175+
170176 RJ = [0 for i in range (len (ST ))]
171177 for i in range (len (ST )):
172178 RJ [i ] = CJ [i ] + TJ [i ]
179+
180+ print ("----------------------------" )
173181
174182 return ST
175183
@@ -202,7 +210,9 @@ def print_schedule(schedule=SCHEDULE, lateness=None):
202210print ("r" ,ROUTING )
203211print ("m" ,MESIN )
204212# state_check()
205- while state_check () != []:
213+ count = 0
214+ while state_check (count ) != []:
215+ count += 1
206216 pass
207217print ('---- Semua job telah selesai ----' )
208218print_schedule ()
0 commit comments