Dalam dunia pemrograman, logika adalah fondasi paling mutlak. Jika sebuah kondisi bernilai benar, maka alur program akan mengeksekusi instruksi berikutnya. Namun, di era keemasan arsitektur komputer IBM PC kompatibel, terdapat satu momen ikonik di mana logika komputer seolah-olah mendadak runtuh dan menciptakan jebakan Catch-22 yang membingungkan jutaan pengguna.
Momen tersebut terwujud dalam bentuk teks sederhana berwarna putih di atas layar hitam BIOS monitor CRT: "Keyboard not found. Press F1 to continue, DEL to enter Setup." Sebuah petunjuk yang secara bersamaan mendeteksi ketiadaan alat input, namun secara tanpa dosa meminta pengguna untuk menekan tombol pada alat input yang sama.

Ekspresi pengguna saat menghadapi layar ini umumnya berupa tatapan kosong dan perenungan mendalam. Bagaimana mungkin seseorang bisa menekan tombol F1 jika sistem baru saja menyatakan bahwa papan ketik tidak terhubung ke komputer?
Awal Mula Lingkaran Setan di Firmware Klasik
Meskipun terlihat seperti lelucon yang disengaja oleh perancang sistem, munculnya pesan paradoks ini sebenarnya merupakan akibat dari arsitektur eksekusi rutin POST (Power-On Self-Test) pada BIOS lama yang terlalu terstandardisasi.
Ketika komputer pertama kali dinyalakan, chip BIOS bertanggung jawab melakukan pemindaian terhadap seluruh komponen perangkat keras utama seperti RAM, kartu grafis, pengontrol disk, dan port input/output. Pada era port PS/2 atau AT keyboard, BIOS memeriksa ketersediaan pengontrol keyboard di alamat I/O tertentu.
Jika pengontrol tidak memberikan respons atau kabel belum terpasang, sistem menandai adanya kesalahan hardware. Masalahnya, sistem panggilan error pada rutin BIOS lama dibuat secara terpusat menggunakan satu fungsi penanganan kesalahan generik yang sama untuk semua jenis kegagalan hardware.
Simulasi struktur kode C/Assembly di balik bug BIOS
Berikut adalah representasi penyederhanaan alur pemrograman firmware BIOS zaman kuno yang memicu pesan kesalahan tersebut tanpa mengecek jenis kegagalannya:
// Simulasi penanganan kesalahan POST BIOS lama
void handle_post_error(const char* error_message) {
// 1. Tampilkan deskripsi kesalahan spesifik
print_to_screen(error_message);
// 2. Tampilkan petunjuk standar untuk semua error (Satu fungsi untuk semua)
print_to_screen("Press F1 to continue, DEL to enter Setup");
// 3. Masuk ke dalam infinite loop menunggu interupsi keyboard
wait_for_keypress();
}
void check_hardware() {
if (!detect_ps2_keyboard()) {
// Terjadi kegagalan deteksi, dipanggil fungsi penanganan standar
handle_post_error("Keyboard not found");
}
} Pengembang firmware saat itu bermaksud menyediakan opsi bagi pengguna untuk mengabaikan kesalahan minor (seperti baterai CMOS lemah atau drive disket tidak ditemukan) dengan menekan F1. Namun, mereka lupa membuat kondisional khusus untuk pengecualian saat komponen yang hilang adalah keyboard itu sendiri.
Solusi Historis dan Evolusi Menuju Modernitas
Untuk keluar dari jebakan logika ini pada era tersebut, pengguna tidak punya pilihan selain mematikan PC secara paksa via tombol daya, menyolokkan konektor keyboard PS/2 dengan benar, lalu melakukan booting ulang. Hal ini disebabkan port PS/2 lama tidak mendukung fitur hot-swapping seperti USB modern.
Seiring berjalannya waktu, para vendor BIOS seperti Award, AMI, dan Phoenix menyadari kekonyolan arsitektur pesan ini. Mereka mulai menambahkan opsi konfigurasi di dalam menu setup yang disebut Halt On.
Dengan opsi ini, pengguna server atau mesin industri tanpa monitor dan keyboard (headless system) dapat mengubah pengaturan dari "All Errors" menjadi "All, But Keyboard". Pengaturan ini memerintahkan BIOS untuk terus melanjutkan proses booting ke dalam sistem operasi meskipun keyboard tidak ditemukan.
Di era modern saat ini, arsitektur UEFI telah menggantikan BIOS konvensional secara penuh. Dukungan terhadap perangkat USB yang dinamis serta manajemen kesalahan firmware yang jauh lebih cerdas telah menghapus pesan paradoks ini dari komputer modern. Meskipun demikian, meme ikonik ini tetap abadi sebagai pengingat humoris akan keterbatasan logika komputer di masa lalu.