Skip to content

Commit d7c6dac

Browse files
committed
Add CLI and folder selection
Add CLI and folder selection
1 parent fea19e7 commit d7c6dac

File tree

3 files changed

+43
-18
lines changed

3 files changed

+43
-18
lines changed

src/Genetic_Algorithm.py

+13-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@
1313
def read_data():
1414
# Menggunakan variabel global
1515
global ROUTING, PROCESSING_TIME, MESIN
16+
print("============ PEMILIHAN FOLDER ============")
17+
folder = input("Masukkan nama folder yang akan dianalisis\n>> ")
18+
print("\n============= PEMBACAAN DATA =============")
1619
print("Sedang membaca data...")
1720

1821
# Pembacaan data mesin dari file dan exception handling
1922
try:
20-
mesin_file = open(f"test3/Mesin.txt", "r")
23+
file = folder + "/Mesin.txt"
24+
mesin_file = open(file, "r")
2125
except:
2226
print(f"File Mesin.txt tidak ditemukan!")
2327
exit()
@@ -40,7 +44,8 @@ def read_data():
4044
for j in range(n_jobs):
4145
# Exception handling
4246
try:
43-
time_file = open(f"test3/Job{j + 1}_Time.txt", "r")
47+
file = folder + f"/Job{j + 1}_Time.txt"
48+
time_file = open(file, "r")
4449
except:
4550
print(f"File Job{j + 1}_Time.txt tidak ditemukan!")
4651
exit()
@@ -58,7 +63,8 @@ def read_data():
5863

5964
# Exception handling
6065
try:
61-
routing_file = open(f"test3/Job{j + 1}_Routing.txt", "r")
66+
file = folder + f"/Job{j + 1}_Routing.txt"
67+
routing_file = open(file, "r")
6268
except:
6369
print(f"File Job{j + 1}_Routing.txt tidak ditemukan!")
6470
exit()
@@ -312,13 +318,15 @@ def print_schedule(schedule=SCHEDULE, lateness=None):
312318

313319
# e. Melakukan pemrosesan pembuatan jadwal
314320
# Proses selesai dilaksanakan jika semua job selesai terjadwal
321+
print("\nPemrosesan sedang dilakukan...")
315322
count = 1 # Instansiasi untuk menunjukkan jumlah iterasi yang telah dilakukan
316323
while do_genetic_algo(count) != []:
317324
count += 1
318325
pass
319326

320327
# f. Semua job seledai dan hasil dicetak pada terminal
321-
print('\n---- Semua job telah selesai ----')
328+
print("\n============ HASIL PEMROSESAN ============")
329+
print("Berikut adalah hasil pemrosesan penyusunan jadwal :\n")
322330
print_schedule()
323331

324-
input("\nPress Enter to Exit")
332+
input("\nTekan Enter untuk keluar dari program")

src/Job-Insertion_Algorithm.py

+17-7
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@
1313
# 3. Prosedur untuk melakukan pembacaan data dari file
1414
def read_data():
1515
global SCHEDULE, ROUTING, PROCESSING_TIME, MESIN, DUE_DATES
16+
print("============ PEMILIHAN FOLDER ============")
17+
folder = input("Masukkan nama folder yang akan dianalisis\n>> ")
18+
print("\n============= PEMBACAAN DATA =============")
1619
print("Sedang membaca data...")
1720

1821
try:
19-
schedule_file = open("test2/Jadwal.txt", "r")
22+
file = folder + "/Jadwal.txt"
23+
schedule_file = open(file, "r")
2024
except:
2125
print("File Jadwal.txt tidak ditemukan!")
2226
exit()
@@ -31,7 +35,8 @@ def read_data():
3135
SCHEDULE.append(row)
3236

3337
try:
34-
due_date_file = open("test2/Due_Dates.txt", "r")
38+
file = folder + "/Due_Dates.txt"
39+
due_date_file = open(file, "r")
3540
except:
3641
print("File Due_Dates.txt tidak ditemukan!")
3742
exit()
@@ -48,7 +53,8 @@ def read_data():
4853
n_jobs = max(SCHEDULE, key=lambda x: x[0])[0] + 1
4954
for j in range(n_jobs):
5055
try:
51-
time_file = open(f"test2/Job{j + 1}_Time.txt", "r")
56+
file = folder + f"/Job{j + 1}_Time.txt"
57+
time_file = open(file, "r")
5258
except:
5359
print(f"File Job{j + 1}_Time.txt tidak ditemukan!")
5460
exit()
@@ -62,7 +68,8 @@ def read_data():
6268
PROCESSING_TIME.append(row)
6369

6470
try:
65-
routing_file = open(f"test2/Job{j + 1}_Routing.txt", "r")
71+
file = folder + f"/Job{j + 1}_Routing.txt"
72+
routing_file = open(file, "r")
6673
except:
6774
print(f"File Job{j + 1}_Routing.txt tidak ditemukan!")
6875
exit()
@@ -76,7 +83,8 @@ def read_data():
7683
ROUTING.append(row)
7784

7885
try:
79-
mesin_file = open(f"test2/Mesin.txt", "r")
86+
file = folder + "/Mesin.txt"
87+
mesin_file = open(file, "r")
8088
except:
8189
print(f"File Mesin.txt tidak ditemukan!")
8290
exit()
@@ -412,7 +420,8 @@ def print_results(iterations, due_dates):
412420

413421
on_time = list(filter(lambda a: is_all_on_time(a[1]), enumerate(lateness)))
414422

415-
print("\n---- HASIL SESUAI DUE DATE ----")
423+
print("\n============ HASIL PEMROSESAN ============")
424+
print("Berikut adalah hasil pemrosesan alternatif penyusunan jadwal :")
416425
for i in range(len(on_time)):
417426
print(f'\n---- Alternatif {i + 1} (Skenario {on_time[i][0]}) ----')
418427
print_schedule(iterations[on_time[i][0]][0], on_time[i][1])
@@ -427,7 +436,8 @@ def print_results(iterations, due_dates):
427436
if __name__ == '__main__':
428437
read_data()
429438
print("Data telah dibaca!")
439+
print("\nPemrosesan sedang dilakukan...")
430440
iterations = insert_job()
431441
print_results(iterations, DUE_DATES)
432442

433-
input("Press Enter to Exit")
443+
input("\nTekan Enter untuk keluar dari program")

src/Non-delay_Algorithm.py

+13-6
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@
1313
def read_data():
1414
# Menggunakan variabel global
1515
global ROUTING, PROCESSING_TIME, MESIN
16+
print("============ PEMILIHAN FOLDER ============")
17+
folder = input("Masukkan nama folder yang akan dianalisis\n>> ")
18+
print("\n============= PEMBACAAN DATA =============")
1619
print("Sedang membaca data...")
1720

1821
# Pembacaan data mesin dari file dan exception handling
1922
try:
20-
mesin_file = open(f"test2/Mesin.txt", "r")
23+
file = folder + "/Mesin.txt"
24+
mesin_file = open(file, "r")
2125
except:
2226
print(f"File Mesin.txt tidak ditemukan!")
2327
exit()
@@ -40,7 +44,8 @@ def read_data():
4044
for j in range(n_jobs):
4145
# Exception handling
4246
try:
43-
time_file = open(f"test2/Job{j + 1}_Time.txt", "r")
47+
file = folder + f"/Job{j + 1}_Time.txt"
48+
time_file = open(file, "r")
4449
except:
4550
print(f"File Job{j + 1}_Time.txt tidak ditemukan!")
4651
exit()
@@ -58,7 +63,8 @@ def read_data():
5863

5964
# Exception handling
6065
try:
61-
routing_file = open(f"test2/Job{j + 1}_Routing.txt", "r")
66+
file = folder + f"/Job{j + 1}_Routing.txt"
67+
routing_file = open(file, "r")
6268
except:
6369
print(f"File Job{j + 1}_Routing.txt tidak ditemukan!")
6470
exit()
@@ -231,12 +237,13 @@ def print_schedule(schedule=SCHEDULE, lateness=None):
231237

232238
# e. Melakukan pemrosesan pembuatan jadwal
233239
# Proses selesai dilaksanakan jika semua job selesai terjadwal
234-
print("Pemrosesan sedang dilakukan...")
240+
print("\nPemrosesan sedang dilakukan...")
235241
while state_check() != []:
236242
pass
237243

238244
# f. Semua job seledai dan hasil dicetak pada terminal
239-
print('\n---- Semua job telah selesai ----')
245+
print("\n============ HASIL PEMROSESAN ============")
246+
print("Berikut adalah hasil pemrosesan penyusunan jadwal :\n")
240247
print_schedule()
241248

242-
input("\nPress Enter to Exit")
249+
input("\nTekan Enter untuk keluar dari program")

0 commit comments

Comments
 (0)