Logika Cek Jadwal Bentrok
Jadi kali ini aku akan sedikit membahas logika untuk mengecek apakah dua jadwal bentrok atau nggak. Terdengar sederhana toh? Yang seperti itu biasa kita alami di kehidupan sehari-hari. Semisal apakah jadwal kerja kita bentrok dengan jadwal main atau nggak atau yang semacam itu lah, hahaha. :D
Pertama-tama kita bahas pengertiannya dulu ya! Yang disebut dengan jadwal itu kan sebenarnya adalah pasangan dua waktu, $ (waktu_1, waktu_2) $ di mana berlaku $ waktu_1 < waktu_2 $. Ya toh? Sebagai contoh, kita punya jadwal kerja setiap hari itu $ (\text{pukul 9 pagi}, \text{pukul 5 sore})$. Bisa ditulis juga sebagai $ (\text{waktu mulai}, \text{waktu selesai}) $.
Kemudian, format waktu bisa kita tulis sebagai bilangan bulat yang merepresentasikan format 24 jam. Sebagai contoh, pukul 4 pagi bisa ditulis sebagai 400, pukul 4 sore ditulis sebagai 1600, pukul 7 pagi lebih 25 menit ditulis 725, pukul 8 malam lebih 45 menit ditulis 2045, dan sebagainya.
Selanjutnya, misalkan kita punya dua jadwal yang mau dicek apakah bentrok atau tidak, yaitu:
$jadwal_1 = (M_1, S_1)$ dan $jadwal_2 = (M_2, S_2)$
Kalau kedua jadwal tersebut tidak bentrok, maka diagramnya bakal seperti gambar di bawah ini toh?
Yang mana bisa kita simpulkan bahwa berlaku pertidaksamaan: $ S_1 < M_2$.
Tapi, kita juga nggak ngerti mana di antara $jadwal_1$ dan $jadwal_2$ yang lebih dulu mulainya. Bisa yang mulai duluan $jadwal_1$ seperti gambar di atas itu. Bisa juga yang mulai duluan adalah $jadwal_2$ seperti gambar di bawah ini.
Yang mana bisa kita simpulkan bahwa berlaku pertidaksamaan: $ S_2 < M_1$.
Dari kedua gambar di atas, bisa kita simpulkan bahwa $jadwal_1$ dan $jadwal_2$ TIDAK BENTROK jika memenuhi logika berikut.
$ S_1 < M_2 \text { atau } S_2 < M_1 $
Nah, untuk logika apakah $jadwal_1$ dan $jadwal_2$ bentrok ya tinggal dinegasikan saja toh?
$ \sim (S_1 < M_2 \text { atau } S_2 < M_1) = S_1 \geq M_2 \text { dan } S_2 \geq M_1 $
Jadi, $jadwal_1$ dan $jadwal_2$ BENTROK bila memenuhi logika
$ S_1 \geq M_2 \text { dan } S_2 \geq M_1 $