5 May 2013,
 18

Form biasanya digunakan untuk mengumpulkan data dari pengunjung web kita. Mulai dari form untuk login, form kontak, form untuk pendaftaran user, bahkan untuk mengirimkan data antar halaman web. Pada tutorial belajar HTML: cara membuat form di HTML ini kita akan membahas cara penggunakan tag form di dalam HTML.

Penggunaan form hanya menggunakan HTML saja tidak akan terlalu berguna. Form biasanya hanya berupa interface yang disediakan untuk mengumpulkan data dari user, dan akan diproses dengan bahasa pemograman web seperti JavaScript atau PHP, dan disimpan di dalam tabel MySQL. Untuk pembahasan lebih lanjut, saya akan menjelaskannya pada tutorial tentang PHP dan JavaScript.

Tag dasar yang akan kita gunakan untuk membuat form di HTML adalah tag form, input, textarea, select dan option.


Pengertian tag form

Sebuah form dalam HTML harus berada di dalam tag form, yang diawali dengan <form> dan diakhiri dengan </form>. Tag form akan membutuhkan beberapa atribut untuk dapat berfungsi dengan seharusnya.

Atribut yang pertama adalah action, yang fungsinya menjelaskan kemana data yang didapat form akan dikirimkan. Biasanya nilai dari atribut action ini adalah alamat dari sebuah halaman PHP yang akan memproses isi data form.

Atribut kedua adalah method, yang berfungsi untuk menjelaskan bagaimana data isian form akan dikirim. Nilai dari atribut method ini bisa berupa get atau post.

Perbedaannya, jika kita mengisi atribut method dengan get (dimana ini adalah nilai default seandainya kita tidak menuliskannya) maka isian form akan terlihat pada url browser. Method get ini biasanya digunakan untuk query pencarian. Method post biasanya digunakan untuk data yang lebih sensitif seperti yang berisi password, atau registrasi user. Data hasil form tidak akan terlihat pada browser.

Struktur dasar form akan terlihat sebagai berikut:

<form action="prosesdata.php" method="post">
...isi form...
</form>

Mengenal tag input

Tag input merupakan tag paling banyak digunakan di dalam form, dan memiliki banyak bentuk, mulai dari isian text biasa, text password, checkbox, radio, sampai dengan tombol submit, semuanya dalam bentuk tag input.

Bentuk-bentuk dari keluarga tag input ini dibedakan berdasarkan atribut type:

<input type=”text” /> atau bisa juga <input /> adalah textbox inputan biasa yang menerima input berupa text, contohnya digunakan untuk inputan nama, username, dan inputan yang berupa text pendek. Input type text ini juga bisa memiliki atribut value yang bisa diisi nilai tampilan awal dari text

<input type=”password” /> dalam tampilannya sama dengan type text, namun teks yang diinput tidak akan terlihat, akan berupa bintang atau bulatan. Biasanya hanya digunakan untuk inputan yang sensitif seperti password.

<input type=”checkbox” /> adalah inputan berupa checkbox yang dapat diceklist atau di centang oleh user. User dapat memilih atau tidak memilih checkbox ini. Type checkbox memiliki atribut checked yang jika ditulis atau diisi dengan nilai checked, akan membuat chexkbox langsung terpilih pada saat pertama kali halaman ditampilkan. Contoh inputan checkbox berupa hobi, yang oleh user dapat dipilih beberapa hobi.

<input type=”radio” /> mirip dengan checkbox, namun user hanya bisa memilih satu diantara pilihan group radio. Type radio ini berada dalam suatu grup dan user hanya bisa memilih salah satunya. Contoh inputan type radio adalah jenis kelamin.

<input type=”submit” /> akan menampilkan tombol untuk memproses form. Biasanya diletakkan pada baris terakhir dari form. Atribut value jika diisi akan membuat text tombol submit berubah sesuai inputan nilai value.

Perhatikan juga bahwa seperti tag img dan br, tag input juga merupakan tag yang berdiri sendiri dan tidak membutuhkan penutup tag.

Mengenal tag textarea

Tag textarea pada dasarnya sama dengan input type text, namun lebih besar dan dapat berisi banyak baris. Panjang dan banyak baris untuk text area di atur melalui atribut rows dan cols, atau melalui CSS.

Contoh penggunaan textarea adalah sebagai berikut:

<textarea rows="5" cols="20">
Text yang diisi dapat mencapai banyak baris</textarea>

Elemen yang berada diantara tag textarea akan ditampilkan sebagai text awal dari form.


Mengenal tag select

Tag select digunakan untuk inputan yang telah tersedia nilainya, dan user hanya dapat memilih dari nilai yang tersedia. Tag select digunakan bersama dengan tag option untuk membuat box pilihan.

Contoh penggunaan tag select adalah sebagai berikut:

<select>
    <option>Pilihan 1</option>
    <option>Pilihan 2</option>
    <option value="pilihan ketiga">Pilihan 3</option>
</select>

Ketika form dikirim untuk diproses, nilai dari tag option akan dikirimkan. Nilai ini adalah berupa text diantara tag option, kecuali jika kita memberikan tag value. Jika tag value berisi nilai, maka nilai value lah yang akan dikirim.

Sama seperti tag option type checkbox dan type radio, atribut checked dapat ditambahkan agar tag select berisi nilai awal, contoh penggunaanya sebagai berikut:

<select>
    <option>Pilihan 1</option>
    <option>Pilihan 2</option>
    <option value="pilihan ketiga" selected>Pilihan 3</option>
</select>

Mengenal atribut names

Setiap tag inputan di dalam form harus ditambahkan atribut names agar bisa dikenal berbeda antara satu dengan yang lain. Di dalam halaman proses (yang biasanya berupa bahasa PHP atau ASP), nilai dari nama inilah yang akan diproses. Contoh pemakaiannya sebagai berikut:

<input type="text" name="username">
<input type="text" name="email">

Kedua input diatas akan tampak sama persis, namun pada saat pemrosesan data, masing-masing akan dibedakan menurut atribut name.


Akhirnya, sebuah form utuh

Merangkum apa yang telah kita bahas, maka saatnya untuk membuat sebuah form HTML. Buka texteditor, dan tuliskan kode HTML berikut, lalu save sebagai formulir.html

Contoh penggunaan tag form:

<!DOCTYPE html>
<html>
<head>
<title>Belajar Membuat Form </title>
</head>
<body>
<form action=" formulir.html" method="get">

Nama: <input type="text" name="nama" value="Nama Kamu" />
<br />

Password: <input type="password" name="password" />
<br />

Jenis Kelamin : <input type="radio" name="jenis_kelamin" value="laki-laki" checked /> 
Laki - Laki                 <input type="radio" name="jenis_kelamin" value="perempuan" /> Perempuan <br /> Hobi: <input type="checkbox" name="hobi_baca" /> Membaca Buku       <input type="checkbox" name="hobi_nulis" checked /> Menulis       <input type="checkbox" name="hobi_mancing" /> Memancing <br /> Asal Kota:  <select name="asal_kota" >      <option value="Kota Jakarta"> Jakarta</option>      <option>Bandung</option>     <option value="Kota Semarang" checked>Semarang</option>  </select> <br />
Komentar Anda: <textarea name="komentar" rows="5" cols="20">Silahkan katakan isi hati anda</textarea> <br /> <input type="submit" value="Mulai Proses!" > </form> </body> </html>

Cara Membuat Form di HTML (tag form)

Terlepas dari tampilan yang kurang rapi, kita telah membuat sebuah form utuh. Perhatikan bahwa untuk method target saya membuatnya berisi formulir.html dan method menjadi get, sehingga pada saat anda klik kombol mulai proses, perhatikan perubahan pada alamat address bar browser, akan tampil tambahan seperti berikut:

file:///D:/BelajarHTML/formulir.html?nama=Andi&password=rahasia
&jenis_kelamin=laki-laki&hobi_nulis=on&asal_kota=Bandung
&komentar=Sudah+mahir+html

jika diperhatikan dengan lebih lanjut, semua isian form tampak terlihat dari baris ini (karena method form kita set menjadi get) setiap nilai dibatasi dengan karakter dan (&) sedangkan spasi di ubah menjadi karakter tambah (+)

Pembuatan form tampak sedikit rumit, namun ini sepadan dengan kemampuannya untuk menampung data yang berharga dari user kita. Dalam tutorial lainnya kita akan memproses inputan form ini dari bahasa pemograman PHP.

Jika anda ingin mempelajari lebih dalam tentang cara penulisan form HTML beserta tag dan atribut untuk pembuatan form HTML, duniailkom telah membuat tutorial khusus untuk Form HTMLTutorial Form HTML lanjutan.

18 responses on “Belajar HTML Dasar Part 14 : Cara Membuat Form di HTML (tag form)

  1. Reza says:

    gan itu klo di klik Proses, jadinya gmn ???

    • Andre says:

      Maksudnya kalau di klik tombol proses y gan? karena halaman ini hanya terdiri dari HTML, maka tombol prosesnya tidak berfungsi apa-apa. Untuk prosesnya, harus menggunakan bahasa pemograman web seperti PHP. Mudah2an g lama lagi saya akan buat artikel PHPnya…

  2. Muhamad Wildan Soul says:

    Ada ketentuan tidak dalam memasukan “name” ?

    • Andre says:

      Tidak ada ketentuan khusus untuk nilai dari “name”, selama nilai tersebut tidak mengandung spasi dan beberapa karakter khusus seperti tanda seru, tanda tanya, dll.

  3. felixdjupha says:

    itu kalo udah buat PHP nya, apakah yang “textarea” bisa muncul di PHP nya ?
    caranya gimana ya ? saya pake textarea ga bisa muncul

    • Andre says:

      Text area seharusnya bisa muncul di PHP. PHP biasanya digunakan untuk memproses isian text area, bukan untuk menampilkannya. Untuk menampilkan tag “text area” akan lebih baik tetap menggunakan kode HTML.

      contohnya:
      <?php
      //kode PHP disini
      ?>
      <textarea name=”komentar” rows=”5″ cols=”20″>
      <?php
      //kode PHP disini
      ?>
      </textarea>

      mudah2an nanti saya akan bahas di bagian tuturial PHP agar lebih “pas” penjelasannya…

  4. faizal says:

    terimakasih gan, sangat membantu dalam pengerjaan tugas…….

  5. Cahjani Wang says:

    kalau mau buat “show password” bagaimana caranya?

    • Andre says:

      Biasanya jika ingin membuat tombol untuk “show password” harus menggunakan javascript, yaitu dengan menukar type tag input. mudah-mudahan nanti saya akan buatkan tutorialnya,,,

  6. UDINNNNNN says:

    mas tanya, itu biar tiap response dari hasil isi form masuk email gimana yak?
    pelisssssss penjelasannya mas >.<

    • Andre says:

      Untuk dapat mengirimkan ke alamat email, pemrosesan di sisi web servernya harus menggunakan PHP dan kemungkinan juga membutuhkan email-server. Saya sendiri belum sempat mencobanya, mungkin pembaca lain bisa membantu.. ^_^

  7. orchid sile says:

    Bagaimana cara agar input form berupa tanggal yang kompatibel dengan semua web browser? type=date hanya kompatibel dengan chrome.

    • Andre says:

      Objek form dengan type=date merupakan salah satu dari objek form dalam HTML5, dan karena HTML5 masih tergolong baru, belum semua web browser mendukungnya. Saat ini memang baru google chrome yang bisa menampilkan objek form HTML5 ini.

      Sebagai alternatif, bisa menggunakan javascript, terutama dengan jquery UI, untuk cara penggunaannya bisa mengunjungi Jquery UI date

  8. arnowoaji says:

    mas suhu bisa tolong bantuin dong, saya coba2 bikin online shop, template gratisan dri maskolis dan domain jg gratisan dari hostinger, itung2 sekalian belajar,,, otak atik sending email malah jadi lari ke url sendiri, sy ganti action ke prosesdata.php jawabannya method not alowed, smpe mumet mentok disini mas,,hadehh tolong dikasih pencerahan&penerangan mas, udah seminggu muter2 disini :( arnowoaji@yahoo.co.id

    • Andre says:

      Maaf y mas arno, comment-nya saya edit, karena kode program yang terlampir terlalu panjang :)
      Kode yang di kirim adalah kode JavaScript yang cukup njelimet, hehe..
      untuk merubah/mengedit suatu theme/template memang bukan hal yang mudah, bahkan mungkin lebih susah daripada membuat template dari asal, karena kita harus mempelajari alur dari template yang dibuat oleh programmernya.

      Setiap theme/template juga sangat berbeda tergantung jenis CMS yang digunakan, apakah itu wordpress atau blogspot. Kalau untuk wordpresss, banyak plugin yang bisa digunakan untuk membuat online shop seperti Woocommerce atau WP e-commerce, namun saya sendiri belum mempelajari cara kerja dari theme tersebut.

      Mungkin mas arno lebih baik kontak pembuat themenya, atau mungkin ada pembaca lain yang bisa bantu :)

  9. Willy says:

    saya disuruh membuat form pendaftaran, tapi saya tidak tahu cara membuat php agar saat tombol submit di click bisa keluar hasilnya.
    jadi bagaimana cara menghubungkan HTML dan PHP nya.,?
    kalo bisa tolon kasih contoh sederhana.,!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>