Kursus IT Dasar HTML 015_Fitur Baru HTML5
Fitur Baru HTML5
HTML5 adalah versi terbaru dari HTML dan memperkenalkan banyak tag, atribut, dan fitur baru, yang sangat meningkatkan fungsi dan interaktivitas web.
Beberapa fitur baru yang menarik di HTML5:
- Elemen canvas untuk menggambar
- Elemen video dan audio untuk pemutaran media
- Dukungan yang lebih baik untuk penyimpanan lokal offline
- Elemen konten khusus baru seperti article, footer, header, nav, section
- Kontrol formulir baru seperti calendar, date, time, email, url, search
<canvas>
Elemen <canvas> HTML5 digunakan untuk menggambar grafik pada halaman web. Elemen <canvas> berbasis API gambar JavaScript dan dapat digunakan untuk membuat berbagai grafik, termasuk diagram, grafik, animasi, dll.
Contoh:
<canvas width="500" height="500"> Browser Anda tidak mendukung tag canvas HTML5.</canvas><script> const canvas = document.querySelector("canvas"); // Dapatkan konteks gambar const ctx = canvas.getContext("2d"); // Gambar lingkaran ctx.beginPath(); ctx.arc(250, 250, 100, 0, 2 * Math.PI); ctx.fillStyle = "yellow"; ctx.fill();</script>Efek:

<svg>
Elemen SVG HTML5 digunakan untuk membuat grafik SVG pada halaman web. Grafik SVG adalah grafik vektor berbasis XML yang dapat diskalakan tanpa kehilangan kualitas dan cocok untuk berbagai tujuan, termasuk:
Elemen SVG meliputi:
- Elemen
<svg>: Mendefinisikan elemen root grafik SVG. - Elemen
<path>: Mendefinisikan bentuk jalur. - Elemen
<rect>: Mendefinisikan bentuk persegi panjang. - Elemen
<circle>: Mendefinisikan bentuk lingkaran. - Elemen
<ellipse>: Mendefinisikan bentuk elips. - Elemen
<line>: Mendefinisikan garis lurus. - Elemen
<polygon>: Mendefinisikan poligon. - Elemen
<polyline>: Mendefinisikan polyline. - Elemen
<text>: Mendefinisikan teks. - Elemen
<g>: Mendefinisikan grup, digunakan untuk mengelompokkan elemen SVG bersama-sama. - Elemen
<defs>: Mendefinisikan atribut global yang dapat diterapkan pada beberapa elemen SVG.
Contoh:
<svg width="500" height="500"> <circle cx="250" cy="250" r="100" fill="yellow" /></svg>Efek:

SVG dan Canvas keduanya adalah alat untuk membuat grafik pada halaman web. Keduanya memiliki kelebihan dan kekurangan masing-masing dan cocok untuk skenario yang berbeda.
SVG adalah grafik vektor berbasis XML yang dapat diskalakan tanpa kehilangan kualitas. Ini berarti grafik SVG dapat ditampilkan dalam ukuran apa pun tanpa kehilangan kualitas. Grafik SVG juga dapat dimanipulasi dan dianimasikan menggunakan CSS dan JavaScript.
Canvas adalah API gambar berbasis JavaScript yang dapat membuat grafik bitmap. Ini berarti grafik Canvas tidak dapat diskalakan tanpa kehilangan kualitas, tetapi grafik yang lebih kompleks dapat dibuat menggunakan JavaScript. Grafik Canvas juga dapat dimanipulasi dan dianimasikan menggunakan JavaScript.
Perbedaan spesifik antara SVG dan Canvas:
| Karakteristik | SVG | Canvas |
|---|---|---|
| Jenis gambar | Vektor | Bitmap |
| Penskalaan | Tanpa kehilangan | Dengan kehilangan |
| Jenis grafik | Persegi panjang, lingkaran, jalur, dll. | Apa saja |
| Manipulasi | CSS, JavaScript | JavaScript |
| Animasi | CSS, JavaScript | JavaScript |
| Ukuran file | Biasanya lebih kecil | Biasanya lebih besar |
| Aksesibilitas | Sangat baik | Sedang |
-
SVG cocok untuk skenario:
- Grafik yang perlu diskalakan tanpa kehilangan kualitas, seperti ikon, logo, ilustrasi
- Grafik yang perlu dimanipulasi dan dianimasikan dengan CSS dan JavaScript
-
Canvas cocok untuk skenario:
- Skenario yang memerlukan grafik kompleks, seperti game, animasi
- Skenario yang memerlukan operasi kompleks dengan JavaScript
Formulir HTML5
HTML5 memperkenalkan beberapa tipe input dan atribut baru untuk meningkatkan fungsi dan kemudahan penggunaan formulir.
Elemen formulir baru:
- Elemen
<datalist>: Digunakan untuk daftar opsi yang telah ditentukan sebelumnya untuk elemen<input>.
Contoh:
<label for="browser">Pilih browser:</label><input list="browsers" id="browser" name="browser" autocomplete="off"><datalist id="browsers"> <option value="Chrome"> <option value="Firefox"> <option value="Safari"> <option value="Edge"> <option value="Opera"></datalist>Efek:

| Elemen | Deskripsi |
|---|---|
<datalist> | Mendefinisikan daftar opsi yang telah ditentukan sebelumnya untuk elemen <input>. |
<output> | Mewakili hasil perhitungan. |
<keygen> | Membuat pasangan kunci untuk formulir, biasanya digunakan untuk pertukaran kunci. |
<progress> | Mendefinisikan bilah kemajuan untuk jenis tugas apa pun. |
<meter> | Mengukur nilai skalar atau pecahan dalam rentang yang diketahui. |
Atribut formulir baru:
- Atribut autocomplete
<form>/<input>: Menentukan bahwa field form atau input harus memiliki fungsi pelengkapan otomatis. Ketika pengguna mulai mengetik di field pelengkapan otomatis, browser harus menampilkan opsi yang diisi di field tersebut.
Contoh:
<form action="demo-form.php" autocomplete="on"> Nama keluarga:<input type="text" name="fname"><br> Nama depan:<input type="text" name="lname"><br> Email:<input type="email" name="email" autocomplete="off"><br> <input type="submit"></form>Efek:

| Atribut | Deskripsi |
|---|---|
autocomplete | Menentukan apakah field input harus mengaktifkan fungsi pelengkapan otomatis. |
novalidate | Mencegah browser memvalidasi formulir. |
form | Menentukan formulir tempat elemen <input> berada, mengaitkannya dengan formulir tertentu. |
formaction | Menentukan URL yang akan digunakan saat mengirim formulir. |
formenctype | Menentukan tipe pengkodean yang akan digunakan saat mengirim formulir (misalnya, application/x-www-form-urlencoded atau multipart/form-data). |
formmethod | Menentukan metode HTTP yang akan digunakan saat mengirim formulir (misalnya, get atau post). |
formnovalidate | Menonaktifkan validasi formulir browser saat mengirim formulir. |
formtarget | Menentukan jendela atau frame target yang akan dibuka setelah mengirim formulir. |
height | Mengatur tinggi elemen <input type="image">. |
width | Mengatur lebar elemen <input type="image">. |
list | Menentukan ID elemen <datalist> yang terkait dengan elemen <input> atau <textarea>. |
min | Menentukan nilai minimum elemen <input>. |
max | Menentukan nilai maksimum elemen <input>. |
pattern | Mendefinisikan ekspresi reguler untuk memvalidasi field input saat mengirim formulir. |
placeholder | Memberikan petunjuk singkat untuk field input, yang hanya ditampilkan ketika field kosong. |
required | Menentukan apakah field input adalah field wajib. |
step | Menentukan interval angka legal elemen <input>. |
Tipe input baru:
<form action="/submit" method="post"> <label for="name">Nama:</label> <input type="text" id="name" required /> <br> <label for="email">Alamat email:</label> <input type="email" id="email" required /> <br> <label for="birthday">Tanggal lahir:</label> <input type="date" id="birthday" required /> <br> <label for="phone">Nomor telepon:</label> <input type="tel" id="phone" required /> <br> <input type="submit" value="Kirim" /></form>Efek:

| Tipe | Fungsi |
|---|---|
| color | Untuk memasukkan nilai warna. |
| date | Untuk memasukkan nilai tanggal. |
| datetime-local | Untuk memasukkan nilai tanggal dan waktu. |
| Untuk memasukkan alamat email. | |
| file | Untuk mengunggah file. |
| month | Untuk memasukkan nilai bulan. |
| number | Untuk memasukkan nilai numerik. |
| range | Untuk memasukkan nilai rentang. |
| search | Untuk memasukkan string pencarian. |
| tel | Untuk memasukkan nomor telepon. |
| time | Untuk memasukkan nilai waktu. |
| url | Untuk memasukkan alamat URL. |
[!Ringkasan]
| Elemen | Fungsi | Direkomendasikan? |
|---|---|---|
| Elemen baru | ||
<canvas> | Mendefinisikan grafik seperti diagram dan gambar lainnya. Tag ini berbasis API gambar JavaScript. | Direkomendasikan |
<audio> | Mendefinisikan konten audio | Direkomendasikan |
<video> | Mendefinisikan video (video atau film) | Direkomendasikan |
<source> | Mendefinisikan sumber daya multimedia untuk <video> dan <audio> | Direkomendasikan |
<track> | Mendefinisikan subtitle atau terjemahan untuk audio atau video | Direkomendasikan |
<datalist> | Mendefinisikan daftar opsi. Gunakan elemen ini bersama dengan elemen input untuk mendefinisikan nilai yang mungkin dari input. | Direkomendasikan |
<keygen> | Menentukan field generator pasangan kunci untuk formulir. | Direkomendasikan |
<output> | Mendefinisikan berbagai jenis output, seperti output skrip. | Direkomendasikan |
<article> | Mendefinisikan area konten independen halaman. | Direkomendasikan |
<aside> | Mendefinisikan konten sidebar halaman. | Direkomendasikan |
<bdi> | Memungkinkan Anda mengatur bagian teks yang terlepas dari pengaturan arah teks elemen induknya. | Direkomendasikan |
<dialog> | Mendefinisikan kotak dialog. | Direkomendasikan |
<figure> | Mendefinisikan area yang berisi gambar atau konten visual lainnya. | Direkomendasikan |
<footer> | Mendefinisikan area bawah halaman atau bagian halaman. | Direkomendasikan |
<header> | Mendefinisikan area atas halaman atau bagian halaman. | Direkomendasikan |
<main> | Mendefinisikan area konten utama halaman. | Direkomendasikan |
<mark> | Mendefinisikan teks penting atau yang disorot. | Direkomendasikan |
<meter> | Mendefinisikan kemajuan atau rentang nilai. | Direkomendasikan |
<nav> | Mendefinisikan area navigasi halaman atau bagian halaman. | Direkomendasikan |
<progress> | Mendefinisikan bilah kemajuan. | Direkomendasikan |
<time> | Mendefinisikan tanggal atau waktu. | Direkomendasikan |
<wbr> | Memungkinkan penyisipan karakter dapat diputus dalam teks. | Direkomendasikan |
| Elemen yang tidak digunakan lagi atau tidak direkomendasikan | ||
<acronym> | Mendefinisikan akronim. Disarankan untuk menggunakan elemen <abbr> sebagai gantinya. | Direkomendasikan |
<applet> | Mendefinisikan applet Java. Disarankan untuk menggunakan JavaScript atau teknologi modern lainnya sebagai gantinya. | Tidak direkomendasikan |
<basefont> | Mengatur ukuran dan warna font default untuk semua teks di halaman. Disarankan untuk menggunakan CSS untuk mengatur gaya teks. | Tidak direkomendasikan |
<big> | Mengatur ukuran font teks. Disarankan untuk menggunakan CSS untuk mengatur gaya teks. | Tidak direkomendasikan |
<center> | Memaksa perataan teks tengah. Disarankan untuk menggunakan CSS untuk mengatur perataan teks. | Tidak direkomendasikan |
<dir> | Mendefinisikan daftar direktori. Disarankan untuk menggunakan elemen <ul> sebagai gantinya. | Tidak direkomendasikan |
<font> | Mengatur ukuran, warna, gaya, dll. font teks. Disarankan untuk menggunakan CSS untuk mengatur gaya teks. | Tidak direkomendasikan |
<frame> | Mendefinisikan frame. Disarankan untuk menggunakan elemen iframe sebagai gantinya. | Tidak direkomendasikan |
<frameset> | Mendefinisikan frameset. Disarankan untuk menggunakan elemen iframe sebagai gantinya. | Tidak direkomendasikan |
<noframes> | Menyediakan konten alternatif untuk browser yang tidak mendukung frame. Disarankan untuk menggunakan JavaScript untuk menentukan apakah browser mendukung frame dan menampilkan atau menyembunyikan konten sesuai kebutuhan. | Tidak direkomendasikan |
<strike> | Mengatur gaya coret teks. Disarankan untuk menggunakan CSS untuk mengatur gaya teks. | Tidak direkomendasikan |
<tt> | Mengatur font monospace teks. Disarankan untuk menggunakan CSS untuk mengatur font teks. | Tidak direkomendasikan |