Form dan Input HTML: Mengumpulkan Informasi dari Pengguna

Form adalah cara website menerima masukan — login, pencarian, pendaftaran, pesan kontak. Pelajari elemen form, input, label, dan button, jenis-jenis input umum, dan kenapa label begitu penting.

Diterbitkan 3 Juli 20267 menit bacaOleh ACY Partner Indonesia
Form dan input HTML — elemen form dan input
300 × 250Slot Iklan TersediaPasang iklan Anda di sini

Sejauh ini, semua yang kamu buat sifatnya satu arah saja: kamu menaruh konten di halaman, lalu pengunjung tinggal membaca. Form membalik arah itu. Lewat form, sebuah website justru menerima informasi dari penggunanya — entah itu kotak login, kolom pencarian, formulir pendaftaran, atau pesan kontak. Setiap kali sebuah situs memintamu mengetik sesuatu lalu menekan tombol kirim, di situlah form bekerja.

Di sinilah HTML mulai terasa hidup dan interaktif. Kita belum akan membahas apa yang terjadi pada data setelah dikirim — itu urusan backend yang masih jauh di depan. Untuk sekarang, fokus kita cuma satu: membangun form-nya itu sendiri, mulai dari kolom isian, label, tombol, sampai cara merangkainya dengan rapi.

Elemen <form>

Semuanya berawal dari elemen <form>. Tugasnya membungkus semua kolom isian yang memang satu kesatuan:

<form action="/submit" method="post">
  <!-- kolom input ditaruh di sini -->
</form>

Ada dua atribut yang menentukan ke mana data dikirim dan dengan cara apa:

  • action adalah URL tujuan data form saat tombol kirim ditekan.
  • method menentukan cara pengirimannya — umumnya post (untuk data yang mengubah sesuatu, misalnya pendaftaran) atau get (untuk hal seperti pencarian, yang hasilnya muncul di URL).

Kamu nggak perlu pusing dulu soal dua atribut ini — keduanya baru terasa pentingnya kalau kamu sudah punya backend yang menerima datanya. Yang perlu kamu pegang sekarang: <form> itu wadah yang mengelompokkan kolom-kolom isianmu sekaligus memberi mereka satu tombol “kirim”.

Elemen <input>

Kalau <form> adalah wadahnya, <input> adalah ujung tombaknya. Bentuknya cuma satu tag yang self-closing, tapi wujudnya bisa berubah-ubah jadi berbagai jenis kolom isian tergantung nilai atribut type-nya:

<input type="text" />
<input type="email" />
<input type="password" />
<input type="checkbox" />

Cukup satu elemen ini, dengan nilai type yang berbeda-beda, kamu sudah bisa membuat banyak sekali jenis kolom. Ini yang paling sering dipakai:

type Yang kamu dapat
text Kotak teks satu baris
email Kotak teks khusus email (keyboard HP otomatis menyesuaikan)
password Kotak teks yang menyembunyikan apa yang diketik
number Kolom angka, biasanya dilengkapi panah naik/turun
checkbox Kotak yang bisa dicentang atau dilepas
radio Tombol bulat untuk memilih satu opsi dari satu grup
date Pemilih tanggal
file Tombol untuk mengunggah berkas
submit Tombol untuk mengirim form

Tag-nya sama persis, tapi cukup ganti type-nya saja, hasilnya bisa berupa kolom yang benar-benar berbeda. Itulah kenapa <input> jadi elemen yang begitu penting.

Pakai jenis input yang tepat — itu membantu pengguna

Memilih type yang tepat dampaknya lebih besar dari yang kamu bayangkan. Di ponsel, type="email" langsung memunculkan keyboard yang sudah ada simbol @-nya, dan type="number" membuka papan angka. Dengan type="date", pengguna bisa memilih dari kalender sungguhan, bukan repot mengetik tanggal. Singkatnya, jenis yang pas bikin form-mu lebih cepat dan enak diisi, apalagi di ponsel — jadi pilih dengan sadar, jangan asal pakai text untuk semua kolom.

Label: bagian yang dilewatkan pemula

Ada satu hal penting yang sering luput dari pemula: setiap input idealnya punya label. Label adalah teks yang menjelaskan ke pengguna sebuah kolom itu buat apa. Dan di HTML, label bukan sekadar tulisan yang ditaruh di sebelah kotaknya — ia elemen tersendiri yang punya tag, yaitu <label>.

Cara yang benar untuk menyambungkan label ke input-nya adalah lewat atribut for, yang nilainya dicocokkan dengan id milik input:

<label for="email">Alamat emailmu</label>
<input type="email" id="email" />

Bagian for="email" di label menunjuk ke id="email" di input. Sambungan kecil ini ternyata punya dua manfaat penting:

  • Mengeklik labelnya langsung memfokuskan input yang bersangkutan (coba sendiri — efeknya bikin checkbox dan radio button jauh lebih gampang ditekan).
  • Pembaca layar akan membacakan labelnya begitu pengguna sampai di kolom itu, sehingga mereka tahu apa yang harus diisi.

Form tanpa label adalah form yang rusak

Memang menggoda untuk melewatkan label dan cukup menaruh sepotong teks sebelum tiap kolom, atau pasrah mengandalkan placeholder (teks petunjuk abu-abu di dalam kotak). Jangan. Placeholder langsung hilang begitu orang mulai mengetik, dan pembaca layar pun tidak selalu membacakannya dengan andal. Tanpa elemen <label> yang betul, pengguna teknologi bantu tidak akan tahu kolommu sebenarnya untuk apa. Jadi, biasakan memasangkan setiap input dengan label asli yang benar-benar tersambung.

Area teks, dropdown, dan lainnya

Ada beberapa elemen kolom lain yang melengkapi dasar-dasar tadi. Untuk teks yang panjang dan butuh beberapa baris — misalnya sebuah pesan atau komentar — gunakan <textarea>, bukan input satu baris:

<label for="message">Pesanmu</label>
<textarea id="message" rows="5"></textarea>

Untuk menu dropdown, tempat pengguna memilih satu opsi dari sebuah daftar, gunakan <select> yang diisi beberapa elemen <option> di dalamnya:

<label for="country">Negara</label>
<select id="country">
  <option value="id">Indonesia</option>
  <option value="my">Malaysia</option>
  <option value="sg">Singapura</option>
</select>

Sementara untuk sekumpulan checkbox atau radio button, tiap pilihan punya input dan labelnya masing-masing:

<input type="checkbox" id="terms" />
<label for="terms">Saya setuju dengan ketentuannya</label>

Perhatikan, khusus checkbox biasanya terasa lebih natural kalau labelnya ditaruh setelah kotaknya — tapi sambungan for/id-nya tetap jalan persis sama, mau labelnya di depan atau di belakang.

Tombol

Terakhir, sebuah form tentu butuh cara untuk dikirim. Yang paling sederhana adalah tombol submit:

<button type="submit">Kirim</button>

Begitu diklik, tombol ini mengirim form ke alamat yang ditunjuk action. Sebenarnya kamu juga bisa pakai <input type="submit" value="Kirim" /> yang fungsinya sama, tapi <button> jauh lebih lentur — kamu bebas menaruh ikon atau teks yang sudah ditata gayanya di dalamnya.

Ada beberapa jenis tombol yang sebaiknya kamu kenali:

  • type="submit" — mengirim form (ini perilaku bawaan tombol yang ada di dalam form).
  • type="reset" — mengembalikan semua kolom ke keadaan kosong.
  • type="button" — sendirinya tidak melakukan apa-apa; biasanya dipakai kalau nanti kamu mau menghubungkannya ke JavaScript.

Menyatukan sebuah form lengkap

Sekarang mari kita satukan semuanya jadi sebuah form kontak yang mungil tapi sudah lengkap:

<form action="/contact" method="post">
  <label for="name">Nama</label>
  <input type="text" id="name" />

  <label for="email">Email</label>
  <input type="email" id="email" />

  <label for="message">Pesan</label>
  <textarea id="message" rows="5"></textarea>

  <label for="subscribe">
    <input type="checkbox" id="subscribe" />
    Berlangganan newsletter kami
  </label>

  <button type="submit">Kirim pesan</button>
</form>

Itu sudah form yang benar-benar berfungsi. Tiap kolom punya label yang tersambung, jenis input-nya pas dengan kebutuhan masing-masing kolom, dan ada tombol kirim yang jelas. Begitu pengunjung mengisinya lalu menekan “Kirim pesan”, browser akan membungkus datanya dan mengirimnya ke /contact. Soal apa yang terjadi setelah itu — disimpan, dikirim lewat email, atau divalidasi di server — itu wilayah backend, yang akan kamu pelajari nanti.

HTML mengurus form-nya; backend mengurus datanya

Tugas HTML selesai sampai pada mengumpulkan masukan lalu mengirimnya. Urusan menerima data itu, menyimpannya, dan membalasnya ditangani oleh kode di sisi server — keterampilan tersendiri yang akan kamu kuasai belakangan. Walau begitu, HTML tetap bisa melakukan beberapa pengecekan ringan sendiri, misalnya menandai kolom dengan required supaya form tidak bisa dikirim selagi kolomnya kosong, atau memakai type="email" supaya browser ikut memeriksa apakah formatnya email yang sah. Pengecekan bawaan ini berguna sebagai benteng pertama, tapi validasi yang sebenarnya tetap wajib dilakukan lagi di server.

Penutup

Sekarang kamu sudah bisa membangun form yang interaktif — sebuah lompatan besar dari sekadar konten statis:

  • <form> membungkus kolom-kolom isian sekaligus menentukan ke mana (action) dan dengan cara apa (method) datanya dikirim.
  • <input> itu satu tag yang bisa menjelma jadi bermacam jenis kolom lewat type-nya — text, email, password, checkbox, radio, date, file, dan masih banyak lagi. Memilih jenis yang tepat bikin form lebih gampang diisi.
  • Elemen <label> yang tersambung ke input lewat for/id sifatnya wajib — demi kenyamanan sekaligus aksesibilitas. Jangan pernah dilewatkan.
  • <textarea> untuk teks beberapa baris, dan <select>/<option> untuk membuat dropdown.
  • <button type="submit"> untuk mengirim form-nya.

Dengan menguasai form, kamu kini sudah menyentuh semua kategori utama konten HTML: teks, tautan, gambar, dan masukan. Berikutnya, kita akan berkenalan dengan satu lagi alat penata struktur — tabel — untuk merapikan data dalam bentuk baris dan kolom.

Tag:htmlfrontendforminputpemula
728 × 90Slot Iklan TersediaPasang iklan Anda di sini

Artikel Terkait

Lihat Semua Artikel

Artikel yang Mungkin Kamu Suka

Apa Itu Framework Frontend? — chip kode dengan tag komponen
Frontend / Dasar

Apa Itu Framework Frontend?

Penjelasan ramah untuk pemula tentang apa itu framework frontend, kenapa mereka ada, masalah apa yang mereka selesaikan dibanding JavaScript biasa, dan kapan kamu memang sebaiknya memakainya.

20 Sep 20268 menit baca
Sampul fundamentals frontend bertuliskan Apa Itu Frontend dan HTML + CSS + JS
Frontend / Dasar

Apa Itu Frontend Development?

Panduan ramah pemula tentang frontend development: bagian website yang kamu lihat dan klik secara langsung. Pahami cara kerja HTML, CSS, dan JavaScript, serta bedanya frontend dengan backend.

20 Sep 20268 menit baca
Ilustrasi sampul untuk Apa yang Dikerjakan Frontend Developer
Frontend / Dasar

Apa yang Dikerjakan Frontend Developer: Panduan untuk Pemula

Penjelasan ramah pemula tentang apa yang sebenarnya dikerjakan frontend developer setiap hari: mengubah desain jadi antarmuka yang berfungsi, membangun UI yang bisa dipakai ulang, sampai urusan responsif, aksesibilitas, dan kecepatan.

20 Sep 20269 menit baca
Kartu judul bertuliskan Styling dan Interaktivitas di atas latar biru gelap ACY Partner
Frontend / Dasar

Cara Kerja Styling dan Interaktivitas

Penjelasan ramah pemula soal bagaimana CSS menyulap HTML polos jadi tampilan rapi, dan bagaimana JavaScript menambahkan perilaku — pola berpikir struktur, gaya, perilaku saat membangun halaman web.

20 Sep 20268 menit baca
Tiga lapisan front-end menyatu di satu halaman web
Frontend / Dasar

Cara HTML, CSS, dan JavaScript Bekerja Bersama

Panduan praktis untuk pemula: bikin satu tombol kecil, beri struktur dengan HTML, tampilan dengan CSS, dan perilaku dengan JavaScript, lalu lihat ketiga lapisan ini bekerja sama di halaman nyata.

20 Sep 20268 menit baca
Sampul ikhtisar praktik terbaik frontend
Frontend / Dasar

Ikhtisar Praktik Terbaik Frontend

Peta ringkas tentang apa itu frontend yang baik — HTML bermakna, CSS rapi, JavaScript secukupnya, desain responsif, performa, dan progressive enhancement, lengkap dengan arahan untuk mendalaminya.

20 Sep 20268 menit baca