Kenapa input type=”date” HTML5 Terasa Buruk?

Saya membuat aplikasi Sales, namun kasus <input type=”date” /> ini sungguh menyebalkan di era HTML 5 yang katanya modern. Output pada Chrome menjadi 03/07/2026 . Ini maksudnya tanggal 3 apa tanggal 7? Ada yang menyangka tanggal 3 padahal maksudnya tanggal 7. Walaupun pada akhirnya yang dikirim ke belakang layar formatnya adalah yyyy-mm-dd. Ini adalah kasus teknologi yang paling menyebalkan di abad ini.

Kenapa <input type=”date”> HTML5 Terasa Buruk?

Ini adalah pertanyaan bagus dan sebenarnya sudah jadi “keluhan klasik” di dunia web development. Ada beberapa alasan historis mengapa hasilnya seperti ini:

1. Standardisasi vs Fleksibilitas yang Berbenturan

W3C ingin satu format universal yang tidak ambigu: YYYY-MM-DD (ISO 8601). Tujuannya bagus — agar tidak ada kebingungan antara 07/04/2026 yang bisa berarti 7 April (Indonesia/Eropa) atau 4 Juli (Amerika). Tapi akibatnya, tampilan format dikembalikan sepenuhnya ke browser, dan setiap browser menafsirkannya berbeda berdasarkan locale sistem operasi.

2. Browser yang Mengimplementasikan Semaunya

Setiap browser mengimplementasikan date picker-nya sendiri secara mandiri tanpa panduan desain dari W3C:

Browser Tampilan
Chrome Android Format sesuai locale HP (bisa MM/DD atau DD/MM)
Safari iOS Wheel/drum picker bergaya iOS
Firefox Input teks biasa (dulu), baru baru ini baru ada picker
Chrome Desktop Sesuai regional setting OS

Tidak ada standar tampilan — hanya standar nilai yang dikirim (YYYY-MM-DD).

3. Keterlambatan Standar

Spesifikasi <input type="date"> sudah ada sejak HTML5 draft 2011, tapi Firefox baru benar-benar mengimplementasikannya di tahun 2021. Safari selama bertahun-tahun hanya menampilkan <input type="text"> biasa. Karena lama tidak tersedia, developer terbiasa pakai jQuery Datepicker, flatpickr, dll — dan ketika browser akhirnya implementasi, sudah terlambat untuk membentuk ekspektasi pengguna.

4. Tidak Bisa Di-styling

Date picker bawaan browser adalah “shadow DOM” yang tidak bisa disentuh oleh CSS developer. Anda tidak bisa mengubah warna, font, atau ukurannya agar sesuai desain aplikasi. Ini bertolak belakang dengan filosofi web yang terbuka.

Mengapa Ini Dibiarkan?

Karena setiap perubahan pada spesifikasi HTML harus disetujui oleh semua vendor browser (Google, Mozilla, Apple, Microsoft) dan proses ini sangat lambat. Apple khususnya sangat konservatif — mereka lama sekali menolak berbagai fitur HTML5 di Safari karena alasan bisnis (menjaga ekosistem App Store tetap relevan).

Solusinya di Dunia Nyata

Untuk aplikasi yang serius dan membutuhkan date picker yang konsisten, biasanya developer masih menggunakan library pihak ketiga seperti flatpickr, Pikaday, atau Litepicker — tapi harus dihost sendiri (bukan dari CDN yang bisa diblok) agar tidak ada masalah seperti yang Anda alami tadi.

Untuk kasus aplikasi sales ini, solusi yang sudah kita buat (native type="date" + label Indonesia di bawahnya) sudah cukup praktis dan ringan! 😊

AI untuk Kaum Amatir

Sebagai programmer amatir, saya sangat terbantu dengan bantuan AI untuk menyelesaikan program. Saya fokus pada alur program dan tidak disibukkan dengan kode-kode yang diulang-ulang. Kebanyakan list, cread, update, delete. Validasi form dan sebagainya. Bosan juga.

Namun menggunakan AI juga artinya biaya. Menggunakan AI tidak gratis, kalau yang gratisan, beberapa saat akan macet karena tokennya habis.

Tidak masalah jika kita adalah programmer professional, namun jika kita programmer amatir, yang belum tentu mendapat pemasukan dari kegiatan coding kita, maka mainan vide coding hanya akan menambah pengeluaran.

Tadi saya curhat ke kawan-kawan programmer Trenggalek. Dan katanya ada beberapa alternatif yang bisa dicoba:

Dari kawan Abid:

pake opencode aja pack
atau pake openrouter yang gratisan
eh windsurf 1.6 juga lagi gratis

Juga dari kawan saya Eko:

Kilo sama opencode gak habis habis
@Cak Edy Santoso opencode juga bisa ditambahi gratisan dari cloudflare

Oke kawan-kawan terimakasih. Nanti dicoba 🙂

Jam Suara di Home Assistant

Ramadhan 1447H adalah ujian berat bagi saya karena penglihatan bapak saya yang semula masih 5% sekarang benar-benar tidak bisa melihat. Gelap.

Ini membuat beliau tidak tahu waktu. Jangankan waktu, membedakan siang dan malam saja tidak bisa. Oleh sebab itu saya melengkapi automation pada HA saya dengan jam berbicara untuk  sedikit membantu bapak saya mengenali waktu.

Saya menggunakan HA yang saya hubungkan dengan speaker google.

  1. Setiap jam, buat ucapan selamat pagi, siang, sore, atau malam, lalu sebutkan hari dan tanggal serta jam.
  2. Apabila speaker google dalam keadaan berbunyi, mungkin pas adzan atau dzikir, maka ucapan tidak dilakukan.
  3. Set volume ke 60% saat pengucapannya, dan kembalikan ke volume awal saat sudah selesai.

Selanjutnya »