shit3
This commit is contained in:
+200
@@ -0,0 +1,200 @@
|
||||
// this one written by claude, it is shit so dont blame me for any misaccuracy LOL
|
||||
|
||||
const { readFile } = require("node:fs/promises")
|
||||
const FILES = [
|
||||
"01.json",
|
||||
"06.json",
|
||||
"10.json"
|
||||
]
|
||||
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)
|
||||
{
|
||||
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(".", ":")
|
||||
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 minutesToTime(minutes)
|
||||
{
|
||||
const hours = Math.floor(minutes / 60)
|
||||
const mins = minutes % 60
|
||||
return `${String(hours).padStart(2, '0')}:${String(mins).padStart(2, '0')}`
|
||||
}
|
||||
|
||||
function buildSchedule(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 buildEmptySchedule(schedule)
|
||||
{
|
||||
const emptySchedule = new Map()
|
||||
const dayStartMin = timeToMinutes(OPEN_TIME)
|
||||
const dayEndMin = timeToMinutes(CLOSE_TIME)
|
||||
|
||||
for (const [room, roomSchedule] of schedule)
|
||||
{
|
||||
emptySchedule.set(room, new Map())
|
||||
|
||||
// Process all days
|
||||
for (const day of Object.keys(DAY_ORDER))
|
||||
{
|
||||
const classes = roomSchedule.get(day) || []
|
||||
|
||||
if (classes.length === 0)
|
||||
{
|
||||
// No classes = room won't be opened that day
|
||||
continue
|
||||
}
|
||||
|
||||
// Sort classes by start time
|
||||
const sorted = classes.sort((a, b) => timeToMinutes(a.start) - timeToMinutes(b.start))
|
||||
const emptySlots = []
|
||||
|
||||
let currentTime = dayStartMin
|
||||
|
||||
for (const classInfo of sorted)
|
||||
{
|
||||
const classStart = timeToMinutes(classInfo.start)
|
||||
const classEnd = timeToMinutes(classInfo.end)
|
||||
|
||||
// Gap before this class
|
||||
if (currentTime < classStart)
|
||||
{
|
||||
emptySlots.push({
|
||||
start: minutesToTime(currentTime),
|
||||
end: classInfo.start
|
||||
})
|
||||
}
|
||||
|
||||
// Move current time to after this class (or keep it if overlapping)
|
||||
currentTime = Math.max(currentTime, classEnd)
|
||||
}
|
||||
|
||||
// Gap after last class
|
||||
if (currentTime < dayEndMin)
|
||||
{
|
||||
emptySlots.push({
|
||||
start: minutesToTime(currentTime),
|
||||
end: CLOSE_TIME
|
||||
})
|
||||
}
|
||||
|
||||
// Only add day if there are empty slots
|
||||
if (emptySlots.length > 0)
|
||||
{
|
||||
emptySchedule.get(room).set(day, emptySlots)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return emptySchedule
|
||||
}
|
||||
|
||||
function formatEmptySchedule(emptySchedule)
|
||||
{
|
||||
const lines = []
|
||||
const rooms = [...emptySchedule.keys()].sort((a, b) => a.localeCompare(b))
|
||||
|
||||
for (const room of rooms)
|
||||
{
|
||||
const roomSchedule = emptySchedule.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 emptySlots = roomSchedule.get(day)
|
||||
lines.push(` - ${day}:`)
|
||||
|
||||
for (const slot of emptySlots)
|
||||
{
|
||||
lines.push(` - ${slot.start} - ${slot.end} (KOSONG)`)
|
||||
}
|
||||
}
|
||||
lines.push("")
|
||||
}
|
||||
|
||||
return lines.join("\n")
|
||||
}
|
||||
|
||||
/////////////////
|
||||
async function main()
|
||||
{
|
||||
const cl = await loadFiles()
|
||||
const sc = buildSchedule(cl)
|
||||
const emptySchedule = buildEmptySchedule(sc)
|
||||
console.log(formatEmptySchedule(emptySchedule))
|
||||
}
|
||||
|
||||
main().catch(error =>
|
||||
{
|
||||
console.error(error)
|
||||
process.exitCode = 1
|
||||
})
|
||||
@@ -1,3 +1,8 @@
|
||||
- IK: `https://slcm.ui.ac.id/akademik/api/v1/class/whole?org=01.00.12.01&year=2026&term=1&lang=id`
|
||||
- SI: `https://slcm.ui.ac.id/akademik/api/v1/class/whole?org=06.00.12.01&year=2026&term=1&lang=id`
|
||||
- KA: `https://slcm.ui.ac.id/akademik/api/v1/class/whole?org=10.00.12.01&year=2026&term=1&lang=id`
|
||||
|
||||
dibuat berdasarkan asumsi bahwa:
|
||||
- sebelum jam 08:00 ruangan sudah tidak dikunci
|
||||
- sebelum jam 18:00 ruangan sudah harus dikunci
|
||||
- bila tidak ada kelas pada suatu hari tertentu, maka ruangan tidak akan dibuka
|
||||
|
||||
@@ -0,0 +1,598 @@
|
||||
- A1.09 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
|
||||
- A1.10 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 15:00 (KOSONG)
|
||||
- 15:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 17:00 (KOSONG)
|
||||
|
||||
- A1.51 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 13:00 (KOSONG)
|
||||
- 13:50 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 09:40 - 17:00 (KOSONG)
|
||||
|
||||
- A2.01 (Auditorium Ged Baru-1) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 15:00 (KOSONG)
|
||||
- 15:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 17:00 (KOSONG)
|
||||
|
||||
- A2.01 (Auditorium Ged baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 15:00 (KOSONG)
|
||||
- 15:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 13:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 17:00 (KOSONG)
|
||||
|
||||
- A2.06 (Ged Baru) --- Lab Laptop (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 15:00 (KOSONG)
|
||||
- 15:50 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 13:00 (KOSONG)
|
||||
- 13:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 09:40 - 17:00 (KOSONG)
|
||||
|
||||
- A2.07 (Ged baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 15:30 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 15:30 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 17:00 (KOSONG)
|
||||
|
||||
- A2.08 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 10:00 (KOSONG)
|
||||
- 11:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
|
||||
- A2.09 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 13:00 (KOSONG)
|
||||
- 13:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 17:00 (KOSONG)
|
||||
|
||||
- A2.51 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 11:00 (KOSONG)
|
||||
- 11:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
|
||||
- A3.05 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 17:00 (KOSONG)
|
||||
|
||||
- A3.06 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 15:50 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 13:00 (KOSONG)
|
||||
- 13:50 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 09:40 - 17:00 (KOSONG)
|
||||
|
||||
- A3.54 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 09:50 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
|
||||
- A5.03 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 10:40 - 17:00 (KOSONG)
|
||||
|
||||
- A5.51 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 17:00 (KOSONG)
|
||||
|
||||
- A6.01 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 15:00 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 13:00 (KOSONG)
|
||||
- 15:00 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 17:00 (KOSONG)
|
||||
|
||||
- A6.02 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 11:00 (KOSONG)
|
||||
- 11:50 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 17:00 (KOSONG)
|
||||
|
||||
- A6.07 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
|
||||
- A6.08 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 15:50 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
|
||||
- A6.09 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 11:40 - 17:00 (KOSONG)
|
||||
|
||||
- A6.10 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 11:00 (KOSONG)
|
||||
- 11:50 - 13:00 (KOSONG)
|
||||
- 13:50 - 15:00 (KOSONG)
|
||||
- 15:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
|
||||
- A6.11 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 11:00 (KOSONG)
|
||||
- 11:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 13:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 17:00 (KOSONG)
|
||||
|
||||
- A6.12 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 10:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 15:00 (KOSONG)
|
||||
- 15:50 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 10:50 - 17:00 (KOSONG)
|
||||
|
||||
- A7.13 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 13:00 (KOSONG)
|
||||
- 14:50 - 16:00 (KOSONG)
|
||||
- 16:50 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 11:00 (KOSONG)
|
||||
- 11:50 - 14:00 (KOSONG)
|
||||
- 14:50 - 17:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:50 - 09:00 (KOSONG)
|
||||
- 09:50 - 10:00 (KOSONG)
|
||||
- 10:50 - 11:00 (KOSONG)
|
||||
- 11:50 - 17:00 (KOSONG)
|
||||
|
||||
- Lab A1.01+Lab A1.02 - Gabungan (Gd Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 13:50 - 16:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:00 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
|
||||
- Lab A1.03 (Ged Baru) (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 13:50 - 16:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:00 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
|
||||
- Lab A1.04+Lab A3.02 - Gabungan (Gd. Baru (08:00-17:00)
|
||||
- Senin:
|
||||
- 09:40 - 17:00 (KOSONG)
|
||||
- Selasa:
|
||||
- 08:00 - 16:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 09:40 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 16:00 (KOSONG)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 14:40 - 16:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:00 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
|
||||
- Lab A3.02 (Gd. Baru) --- PC 45 (08:00-17:00)
|
||||
- Senin:
|
||||
- 08:00 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Rabu:
|
||||
- 08:00 - 09:00 (KOSONG)
|
||||
- 09:50 - 17:00 (KOSONG)
|
||||
|
||||
- Lab.1101/1103 --- PC 46 (08:00-17:00)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 14:40 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 10:00 (KOSONG)
|
||||
- 11:40 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
|
||||
- Lab.1105 --- PC 24 (08:00-17:00)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 13:50 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
|
||||
- Lab.1107/1109 --- PC 34 (08:00-17:00)
|
||||
- Kamis:
|
||||
- 08:00 - 13:00 (KOSONG)
|
||||
- 13:50 - 15:00 (KOSONG)
|
||||
- 16:40 - 17:00 (KOSONG)
|
||||
- Jumat:
|
||||
- 08:00 - 14:00 (KOSONG)
|
||||
- 15:40 - 17:00 (KOSONG)
|
||||
|
||||
Reference in New Issue
Block a user