Compare commits

...

2 Commits

Author SHA1 Message Date
femboy 57b0b2b71c shit2 2026-08-21 00:42:18 +07:00
femboy f14dc0f8e1 shit 2026-08-21 00:41:41 +07:00
2 changed files with 775 additions and 0 deletions
+185
View File
@@ -0,0 +1,185 @@
const { readFile } = require("node:fs/promises")
const FILES = [
"01.json",
"06.json",
"10.json"
]
// just some asumption, usually if there's a class in a certain day, the room is open for the entire day
const OPEN_TIME = "08:00"
const CLOSE_TIME = "17:00"
const DAY_ORDER = {
"Senin": 1,
"Selasa": 2,
"Rabu": 3,
"Kamis": 4,
"Jumat": 5,
"Sabtu": 6,
"Minggu": 7
}
async function loadFiles()
{
const results = await Promise.all(FILES.map(async file =>
{
const content = await readFile(file, "utf8")
const json = JSON.parse(content)
return json.data
}))
return results.flat()
}
function parseDateRoom(value)
{
/*
* Senin, 10:00-11:40 (A1.51 (Ged Baru))
* Selasa, 10.00-11.50 (A6.12 (Ged Baru))
*
* some entries is malformed (top 1 uni btw)
* so why even bother to match the closing ")" lolol
*/
const match = value.match(/^([^,]+),\s*(\d{2}[:.]\d{2})-(\d{2}[:.]\d{2})\s+\((.*)$/)
if (!match) return null
const [ , day, rawStart, rawEnd, rawRoom] = match
const start = rawStart.replace(".", ":")
const end = rawEnd.replace(".", ":")
/*
* Remove the outer ')' from normal entries.
*
* "(A1.51 (Ged Baru))"
* ^ remove only the final ')'
*
* For malformed entries:
* "(Lab A1.04+Lab A3.02 - Gabungan (Gd. Baru)"
* the final ')' is also removed.
*/
const room = rawRoom.endsWith(")") ? rawRoom.slice(0, -1) : rawRoom
return { day, start, end, room }
}
function timeToMinutes(time)
{
const [hours, minutes] = time.split(":").map(Number)
return hours * 60 + minutes
}
function buildSchedule(classes)
{
/*
* Map
* room
* -> day
* -> classes
*/
const schedule = new Map()
for (const classInfo of classes)
{
if (!Array.isArray(classInfo.dates_rooms))
{
console.warn(`Skipping ${classInfo.classname}: invalid dates_rooms`)
continue
}
for (const dateRoom of classInfo.dates_rooms)
{
const parsed = parseDateRoom(dateRoom)
if (!parsed)
{
console.warn(`Could not parse: ${dateRoom}`)
continue
}
const { day, start, end, room } = parsed
if (!schedule.has(room))
{
schedule.set(room, new Map())
}
const roomSchedule = schedule.get(room)
if (!roomSchedule.has(day))
{
roomSchedule.set(day, [])
}
roomSchedule.get(day).push({
start,
end,
className: classInfo.classname
})
}
}
return schedule
}
function formatSchedule(schedule)
{
const lines = []
const rooms = [...schedule.keys()].sort((a, b) => a.localeCompare(b))
for (const room of rooms)
{
const roomSchedule = schedule.get(room)
lines.push(`- ${room} :: ${OPEN_TIME}-${CLOSE_TIME}`)
const days = [...roomSchedule.keys()].sort((a, b) => DAY_ORDER[a] - DAY_ORDER[b])
for (const day of days)
{
const classes = roomSchedule.get(day).sort((a, b) => timeToMinutes(a.start) - timeToMinutes(b.start))
lines.push(` - ${day}:`)
for (const classInfo of classes)
{
lines.push(` - ${classInfo.start} - ${classInfo.end}: ${classInfo.className}`)
}
}
lines.push("\n")
}
return lines.join("\n")
}
/////////////////
async function main()
{
const cl = await loadFiles()
const sc = buildSchedule(cl)
console.log(formatSchedule(sc))
}
main().catch(error =>
{
console.error(error)
process.exitCode = 1
})
+590
View File
@@ -0,0 +1,590 @@
- A1.09 (Ged Baru) :: 08:00-17:00
- Senin:
- 10:00 - 11:40: Sistem Operasi B
- 13:00 - 14:40: Digital Forensics
- 15:00 - 16:40: Knowledge Graph
- Selasa:
- 15:00 - 16:40: POK
- Rabu:
- 09:00 - 09:50: Knowledge Graph
- 10:00 - 11:40: Sistem Operasi B
- 14:00 - 15:40: Digital Forensics
- Kamis:
- 10:00 - 10:50: POK
- 15:00 - 16:40: PMPL
- A1.10 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Katolik-Fasilkom
- 10:00 - 11:40: PBM
- 13:00 - 14:40: RPL B
- Selasa:
- 13:00 - 14:40: SDA C
- 15:00 - 16:40: PMPL
- Rabu:
- 10:00 - 10:50: PBM
- 14:00 - 14:50: RPL B
- 15:00 - 16:40: MPPI B
- Kamis:
- 08:00 - 09:40: SDA C
- 10:00 - 11:40: Struktur Linear
- 15:00 - 15:50: MatDis 2
- Jumat:
- 10:00 - 11:40: MatDis 2
- A1.51 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: StatProb C
- 10:00 - 11:40: Struktur Diskret
- 15:00 - 16:40: PPD A
- Selasa:
- 08:00 - 09:40: Kalkulus Univariat
- 10:00 - 11:40: Kalkulus 1 A
- 13:00 - 14:40: Kalkulus 1 F
- 16:00 - 16:50: Kalkulus 1 A
- Rabu:
- 09:00 - 09:50: StatProb C
- 11:00 - 11:50: PBK
- Kamis:
- 08:00 - 09:40: Kalkulus Univariat
- 10:00 - 10:50: Kalkulus 1 A
- 11:00 - 11:50: Kalkulus 1 F
- 13:00 - 13:50: Kalkulus Univariat
- 16:00 - 17:40: Pengstat A
- Jumat:
- 08:00 - 09:40: PBK
- A2.01 (Auditorium Ged Baru-1) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: JarKom B
- 10:00 - 11:40: Jarkomdat B
- 13:00 - 14:40: PSO B
- Rabu:
- 15:00 - 15:50: PSO B
- Jumat:
- 08:00 - 08:50: Jarkomdat B
- 09:00 - 09:50: JarKom B
- A2.01 (Auditorium Ged baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: JarKom A
- 10:00 - 11:40: Jarkomdat A
- 13:00 - 14:40: PSO A
- 15:00 - 16:40: MSI
- Rabu:
- 15:00 - 15:50: PSO A
- Kamis:
- 13:00 - 13:50: MSI
- Jumat:
- 08:00 - 08:50: Jarkomdat A
- 09:00 - 09:50: JarKom A
- A2.06 (Ged Baru) --- Lab Laptop :: 08:00-17:00
- Senin:
- 08:00 - 09:40: DDP 2 A
- 10:00 - 11:40: DDP 1 B
- 13:00 - 14:40: PSO C
- Selasa:
- 08:00 - 09:40: Analisis Numerik B
- 10:00 - 11:40: PBL
- 13:00 - 14:40: Geometri Kom. (A)
- 15:00 - 16:40: DDAK
- Rabu:
- 08:00 - 09:40: DDP 2 A
- 10:00 - 11:40: DDP 1 B
- 15:00 - 15:50: PSO C
- 16:00 - 17:40: PBP C
- Kamis:
- 09:00 - 09:50: Analisis Numerik B
- 11:00 - 11:50: PBL
- 13:00 - 13:50: Geometri Kom. (A)
- 14:00 - 14:50: DDAK
- Jumat:
- 08:00 - 09:40: MHP B
- A2.07 (Ged baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Buddha-Fasilkom
- 10:00 - 11:40: KASDAD C
- 13:00 - 14:40: KASDAD A
- Selasa:
- 08:00 - 09:40: Analisis Numerik A
- 10:00 - 11:40: DAA C
- 13:00 - 15:30: PPL A
- 16:00 - 16:50: Kalkulus 1 F
- Rabu:
- 10:00 - 11:40: KASDAD C
- 14:00 - 15:40: KASDAD A
- Kamis:
- 09:00 - 09:50: Analisis Numerik A
- 10:00 - 11:40: DAA C
- 13:00 - 15:30: PPL A
- Jumat:
- 08:00 - 08:50: Analisis Numerik A
- A2.08 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom D
- 13:00 - 14:40: Teknik Kompilator
- Selasa:
- 08:00 - 09:40: DAA A
- 10:00 - 11:40: DAA B
- Rabu:
- 08:00 - 09:40: ICTD A
- 14:00 - 15:40: Teknik Kompilator
- 16:00 - 17:40: Basis Data B
- Kamis:
- 10:00 - 10:50: Kesehatan Elektronik
- 13:00 - 14:40: DAA A
- Jumat:
- 08:00 - 08:50: Analisis Numerik B
- 10:00 - 11:40: Basis Data B
- 15:00 - 16:40: Computer Graphics
- A2.09 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Komas C
- 10:00 - 11:40: Komas D
- 13:00 - 14:40: KASDAD B
- 15:00 - 16:40: PBP E
- Selasa:
- 08:00 - 09:40: Anaperancis D
- 10:00 - 11:40: Analisis Numerik C
- 13:00 - 14:40: Manprobis
- 16:00 - 16:50: Kalkulus 1 H
- Rabu:
- 08:00 - 08:50: Komas C
- 10:00 - 10:50: Komas D
- 11:00 - 11:50: PPD A
- 14:00 - 15:40: KASDAD B
- Kamis:
- 09:00 - 09:50: Anaperancis D
- 10:00 - 10:50: Analisis Numerik C
- 13:00 - 13:50: Manprobis
- 14:00 - 14:50: Computer Graphics
- Jumat:
- 08:00 - 08:50: Analisis Numerik C
- A2.51 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom G
- 10:00 - 11:40: Manajemen Bisnis B
- 13:00 - 14:40: Manajemen Bisnis C
- Selasa:
- 08:00 - 09:40: Kombistek A
- 10:00 - 11:40: Kalkulus 1 E
- 13:00 - 14:40: Kalkulus 1 C
- 16:00 - 16:50: Kalkulus 1 C
- Rabu:
- 08:00 - 09:40: Kombistek D
- 11:00 - 11:50: Manajemen Bisnis B
- 14:00 - 14:50: Manajemen Bisnis C
- Kamis:
- 08:00 - 08:50: Kombistek A
- 09:00 - 09:50: Kombistek D
- 10:00 - 10:50: Kalkulus 1 E
- 11:00 - 11:50: Kalkulus 1 C
- 15:00 - 16:40: DAA B
- A3.05 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Komas B
- 10:00 - 11:40: Komas A
- 13:00 - 14:40: PSD A
- Selasa:
- 08:00 - 09:40: Functional Prog.
- 10:00 - 11:40: MatDis 1-A
- 13:00 - 14:40: MatDis 1-G
- 16:00 - 16:50: Kalkulus 1 E
- Rabu:
- 08:00 - 08:50: Komas B
- 10:00 - 10:50: Komas A
- 11:00 - 11:50: Struktur Diskret
- 14:00 - 15:40: PSD A
- Kamis:
- 08:00 - 09:40: Functional Prog.
- 10:00 - 10:50: MatDis 1-A
- 11:00 - 11:50: MatDis 1-G
- Jumat:
- 08:00 - 08:50: MatDis 1-A
- A3.06 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom C
- 10:00 - 11:40: DDP 1 A
- 13:00 - 14:40: DDP 1 I
- 15:00 - 16:40: MHP A
- Selasa:
- 10:00 - 11:40: Kalkulus 1 H
- 13:00 - 14:40: Kalkulus 1 B
- 15:00 - 15:50: PPD B
- 16:00 - 16:50: Kalkulus 1 B
- Rabu:
- 09:00 - 09:50: Anmedsos
- 10:00 - 11:40: DDP 1 A
- 14:00 - 15:40: DDP 1 I
- Kamis:
- 10:00 - 10:50: Kalkulus 1 H
- 11:00 - 11:50: Kalkulus 1 B
- 13:00 - 13:50: ICTD A
- 14:00 - 15:40: PPD B
- 16:00 - 16:50: MHP A
- Jumat:
- 08:00 - 09:40: Anmedsos
- A3.54 (Ged Baru) :: 08:00-17:00
- Senin:
- 10:00 - 11:40: PDB
- Selasa:
- 10:00 - 11:40: MatDis 1-D
- 13:00 - 14:40: MatDis 1-B
- Rabu:
- 10:00 - 10:50: PDB
- Kamis:
- 10:00 - 10:50: MatDis 1-D
- 11:00 - 11:50: MatDis 1-B
- Jumat:
- 08:00 - 09:50: MatDis 1-B
- 16:00 - 16:50: E-Dagang A
- A5.03 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom I
- 10:00 - 11:40: Pengstat B
- 13:00 - 14:40: DDASI
- Selasa:
- 10:00 - 11:40: MatDis 1-C
- 13:00 - 14:40: MatDis 1-H
- Rabu:
- 10:00 - 11:40: Pengstat B
- 14:00 - 14:50: DDASI
- Kamis:
- 10:00 - 10:50: MatDis 1-C
- 11:00 - 11:50: MatDis 1-H
- 16:00 - 17:40: Pengstat B
- Jumat:
- 09:00 - 10:40: Struktur Diskret
- A5.51 (Ged Baru) :: 08:00-17:00
- Senin:
- 10:00 - 11:40: Pengstat C
- 13:00 - 14:40: E-Dagang B
- Selasa:
- 10:00 - 11:40: MatDis 1-E
- 13:00 - 14:40: MatDis 1-F
- Rabu:
- 10:00 - 11:40: Pengstat C
- 14:00 - 14:50: E-Dagang B
- Kamis:
- 10:00 - 10:50: MatDis 1-E
- 11:00 - 11:50: MatDis 1-F
- 16:00 - 17:40: Pengstat C
- Jumat:
- 08:00 - 08:50: MatDis 1-E
- A6.01 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom H
- 10:00 - 11:40: DDP 1 H
- 13:00 - 14:40: DDP 1 G
- Selasa:
- 08:00 - 09:40: Anaperancis C
- 10:00 - 11:40: Anaperancis A
- 13:00 - 15:00: Propensi A
- 16:00 - 16:50: Kalkulus 1 G
- Rabu:
- 10:00 - 11:40: DDP 1 H
- 14:00 - 15:40: DDP 1 G
- Kamis:
- 09:00 - 09:50: Anaperancis C
- 11:00 - 11:50: MPPI A
- 13:00 - 15:00: Propensi A
- Jumat:
- 08:00 - 08:50: MatDis 1-G
- A6.02 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: DDP 2 B
- 10:00 - 11:40: DDP 1 D
- 13:00 - 14:40: PBP B
- 15:00 - 16:40: PBP A
- Selasa:
- 08:00 - 09:40: APAP A
- 10:00 - 11:40: Anaperancis B
- 13:00 - 14:40: Computer Vision A
- 16:00 - 17:40: Manpro TI
- Rabu:
- 08:00 - 09:40: DDP 2 B
- 10:00 - 11:40: DDP 1 D
- Kamis:
- 08:00 - 09:40: APAP A
- 11:00 - 11:50: Anaperancis B
- 16:00 - 17:40: StatProb A
- Jumat:
- 08:00 - 08:50: MatDis 1-D
- 09:00 - 09:50: Manpro TI
- A6.07 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom A
- 10:00 - 11:40: PSD B
- 13:00 - 14:40: PSD C
- 15:00 - 16:40: PBP C
- Selasa:
- 08:00 - 09:40: Kalkulus 2 A
- 10:00 - 11:40: Struktur Linear
- 13:00 - 14:40: SDA B
- 15:00 - 16:40: SDA D
- Rabu:
- 10:00 - 11:40: PSD B
- 14:00 - 15:40: PSD C
- Kamis:
- 08:00 - 09:40: SDA B
- 10:00 - 11:40: SDA D
- 16:00 - 17:40: StatProb B
- Jumat:
- 08:00 - 08:50: Kalkulus 2 A
- 16:00 - 16:50: Struktur Linear
- A6.08 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom B
- 10:00 - 11:40: DDP 1 E
- 13:00 - 14:40: DDP 1 C
- Selasa:
- 08:00 - 09:40: APAP C
- 10:00 - 11:40: APAP B
- 13:00 - 14:40: Computer Vision B
- 15:00 - 15:50: Banjut A
- 16:00 - 16:50: SISDM A
- Rabu:
- 09:00 - 09:50: MHP B
- 10:00 - 11:40: DDP 1 E
- 14:00 - 15:40: DDP 1 C
- Kamis:
- 08:00 - 09:40: APAP C
- 10:00 - 11:40: APAP B
- 14:00 - 15:40: Banjut A
- 16:00 - 17:40: StatProb C
- Jumat:
- 08:00 - 08:50: MatDis 1-C
- 09:00 - 09:50: Alin D
- 15:00 - 16:40: SISDM A
- A6.09 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom E
- 10:00 - 11:40: Pengstat D
- 13:00 - 14:40: DDP 1 F
- Selasa:
- 10:00 - 11:40: MPPI A
- 13:00 - 14:40: SDA E
- 15:00 - 16:40: SDA F
- Rabu:
- 10:00 - 11:40: Pengstat D
- 14:00 - 15:40: DDP 1 F
- 16:00 - 17:40: Basis Data A
- Kamis:
- 08:00 - 09:40: SDA E
- 10:00 - 11:40: SDA F
- 16:00 - 17:40: Pengstat D
- Jumat:
- 08:00 - 08:50: MatDis 1-H
- 09:00 - 09:50: Alin B
- 10:00 - 11:40: Basis Data A
- A6.10 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Sistem Operasi A
- 10:00 - 11:40: Sistem Operasi C
- 13:00 - 14:40: PBP D
- 15:00 - 16:40: PBP F
- Selasa:
- 08:00 - 09:40: Alin B
- 10:00 - 11:40: Alin A
- 13:00 - 14:40: E-Dagang A
- 16:00 - 16:50: SISDM B
- Rabu:
- 08:00 - 09:40: Sistem Operasi A
- 10:00 - 11:40: Sistem Operasi C
- 15:00 - 16:40: Kesehatan Elektronik
- Kamis:
- 11:00 - 11:50: Anaperancis A
- 13:00 - 13:50: Alin B
- 15:00 - 15:50: Alin A
- Jumat:
- 08:00 - 08:50: MatDis 1-F
- 09:00 - 09:50: Alin A
- 15:00 - 16:40: SISDM B
- A6.11 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Protestan A-Fasilkom
- 10:00 - 11:40: RPL A
- 13:00 - 14:40: RPL C
- Selasa:
- 08:00 - 09:40: Alin C
- 10:00 - 11:40: PMD
- 15:00 - 16:40: SDA A
- Rabu:
- 11:00 - 11:50: RPL A
- 14:00 - 14:50: RPL C
- Kamis:
- 08:00 - 09:40: ICTD B
- 10:00 - 11:40: SDA A
- 13:00 - 13:50: Alin C
- Jumat:
- 09:00 - 09:50: Alin C
- 10:00 - 10:50: ICTD B
- A6.12 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Pengstat A
- 10:00 - 11:40: StatProb B
- 13:00 - 14:40: StatProb A
- Selasa:
- 08:00 - 09:40: Simulasi & Pemodelan
- 10:00 - 11:50: Alin D
- Rabu:
- 08:00 - 09:40: Pengstat A
- 10:00 - 10:50: StatProb B
- 14:00 - 14:50: StatProb A
- 16:00 - 17:40: Komputasi Awan
- Kamis:
- 09:00 - 09:50: Simulasi & Pemodelan
- 10:00 - 10:50: MPPI B
- 15:00 - 15:50: Alin D
- 16:00 - 16:50: PMD
- Jumat:
- 10:00 - 10:50: Komputasi Awan
- A7.13 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: Islam-Fasilkom F
- 10:00 - 11:40: Manajemen Bisnis A
- 13:00 - 14:40: Manajemen Bisnis D
- Selasa:
- 08:00 - 09:40: Kombistek B
- 10:00 - 11:40: Kalkulus 1 G
- 13:00 - 14:50: Kalkulus 1 D
- 16:00 - 16:50: Kalkulus 1 D
- Rabu:
- 08:00 - 09:40: Kombistek C
- 11:00 - 11:50: Manajemen Bisnis A
- 14:00 - 14:50: Manajemen Bisnis D
- Kamis:
- 08:00 - 08:50: Kombistek B
- 09:00 - 09:50: Kombistek C
- 10:00 - 10:50: Kalkulus 1 G
- 11:00 - 11:50: Kalkulus 1 D
- Lab A1.01+Lab A1.02 - Gabungan (Gd Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: APAP A
- Selasa:
- 13:00 - 13:50: Basis Data A
- 16:00 - 17:40: DAA A
- Rabu:
- 10:00 - 11:40: Jarkomdat A
- 14:00 - 15:40: PBP B
- 16:00 - 17:40: PBP F
- Kamis:
- 13:00 - 14:40: DDP 1 B
- 15:00 - 16:40: DDP 1 G
- Jumat:
- 10:00 - 11:00: PSD B
- 14:00 - 15:40: SDA A
- 16:00 - 17:40: DDP 2 A
- Lab A1.03 (Ged Baru) :: 08:00-17:00
- Senin:
- 08:00 - 09:40: APAP B
- Selasa:
- 13:00 - 13:50: Basis Data B
- 16:00 - 17:40: DAA B
- Rabu:
- 08:00 - 09:40: JarKom A
- 16:00 - 17:40: PBP A
- Kamis:
- 13:00 - 14:40: DDP 1 A
- 15:00 - 16:40: DDP 1 I
- Jumat:
- 10:00 - 11:00: PSD A
- 14:00 - 15:40: SDA B
- 16:00 - 17:40: DDP 2 B
- Lab A1.04+Lab A3.02 - Gabungan (Gd. Baru :: 08:00-17:00
- Senin:
- 08:00 - 09:40: APAP C
- Selasa:
- 16:00 - 17:40: DAA C
- Rabu:
- 08:00 - 09:40: JarKom B
- 10:00 - 11:40: Jarkomdat B
- 14:00 - 15:40: PBP D
- 16:00 - 17:40: PBP E
- Kamis:
- 13:00 - 14:40: DDP 1 D
- 16:00 - 17:40: DDP 1 H
- Jumat:
- 10:00 - 11:00: PSD C
- 14:00 - 15:40: SDA C
- Lab A3.02 (Gd. Baru) --- PC 45 :: 08:00-17:00
- Senin:
- 15:00 - 16:40: Sistem Tertanam
- Rabu:
- 09:00 - 09:50: Sistem Tertanam
- Lab.1101/1103 --- PC 46 :: 08:00-17:00
- Kamis:
- 13:00 - 14:40: DDP 1 E
- 15:00 - 16:40: DDP 1 C
- Jumat:
- 10:00 - 11:40: POK
- 14:00 - 15:40: SDA F
- Lab.1105 --- PC 24 :: 08:00-17:00
- Kamis:
- 13:00 - 13:50: Computer Vision B
- Jumat:
- 14:00 - 15:40: SDA E
- Lab.1107/1109 --- PC 34 :: 08:00-17:00
- Kamis:
- 13:00 - 13:50: Computer Vision A
- 15:00 - 16:40: DDP 1 F
- Jumat:
- 14:00 - 15:40: SDA D