. Tanda ini diperlukan untuk mengatur format dan membuat struktur halaman web. Bagian terakhir dari HTML adalah Language. Istilah language jika diterjemahkan berarti: bahasa. Khusus bagi anda yang pernah berkenalan dengan bahasa pemrograman komputer, disini HTML tidak menggunakan ‘Programming Language’, tetapi hanya ‘Language’ saja. Hal ini secara tidak langsung menyatakan bahwa HTML bukanlah sebuah bahasa pemrograman. HTML tidak memiliki struktur dasar seperti variabel, kondisi IF, function, atau class seperti layaknya sebuah bahasa pemrograman komputer. Walaupun menyebut HTML sebagai sebuah bahasa pemrograman secara teknis tidaklah ‘pas’, namun untuk menyederhanakan konsep belajar, istilah tersebut masih saya gunakan di dalam buku ini.
Merangkum penjelasan diatas, dapat disimpulkan bahwa HTML adalah sebuah bahasa khusus yang ditulis menggunakan tanda-tanda (mark) untuk membuat halaman web. 1
Berkenalan Dengan HTML (Contoh Bab 1)
2
Agar lebih lengkap, mari kita lihat defenisi HTML dari wikipedia¹: “HTML or HyperText Markup Language is the standard markup language used to create web pages.” Terjemahan bebasnya: “HTML atau HyperText Markup Language adalah bahasa markup standar yang digunakan untuk membuat halaman web.” Ternyata lebih sederhana dari penjelasan saya diatas.
1.2 Fungsi HTML Seperti yang kita ketahui bahwa HTML digunakan untuk membuat halaman web. Tetapi apa sebenarnya fungsi dari HTML? Dalam proses web development (proses pembuatan web), HTML berfungsi untuk membuat struktur dari sebuah website. HTML digunakan untuk menandai bagian mana yang akan menjadi judul artikel, bagian mana yang berfungsi sebagai isi artikel, atau bagian mana yang butuh disajikan dalam bentuk tabel. Mengenai tampilan dari website tersebut (misalnya apakah akan menggunakan warna background biru atau merah), diserahkan kepada teknologi web lain yang dikenal dengan CSS (Cascading Style Sheet). Saat ini, untuk membuat sebuah web modern, tidak bisa hanya menggunakan HTML + CSS saja, tetapi juga memerlukan bantuan bahasa pemrograman web lain seperti JavaScript. Di sini saya menggunakan istilah ‘web modern’, karena kita memang bisa membuat website dengan menggunakan HTML saja (tanpa CSS dan JavaScript), tetapi web yang dihasilkan akan terkesan ‘jadul’ karena tidak memiliki tampilan yang cantik (sesuai standar saat ini). Sama seperti HTML, CSS sebenarnya juga bukan bahasa pemrograman, tetapi adalah ‘bahasa kode’ yang mirip dengan HTML.
Beberapa pertanyaan yang sering muncul ketika baru pertama kali mempelajari HTML adalah bagaimana cara menampilkan bingkai (border) dari gambar atau bagaimana cara membuat menu bar yang muncul sendiri ketika mouse berada diatasnya (menu rollover)? Semua efek tampilan dan interaksi seperti ini tidak bisa dilakukan dengan HTML saja (terutama untuk menu rollover), tetapi dibuat dengan gabungan HTML + CSS + JavaScript. Dilihat dari sisi fungsinya, ketiga teknologi web ini berbagi peran masing-masing. HTML digunakan untuk membuat struktur konten atau isi dari halaman web. CSS berfungsi untuk memperindah tampilan, sedangkan JavaScript berperan untuk membuat interaksi. ¹http://en.wikipedia.org/wiki/HTML
Berkenalan Dengan HTML (Contoh Bab 1)
3
Sebutan kerennya: HTML for content, CSS for presentation and JavaScript for behavior. Ketiga teknologi inilah yang mendasari semua website yang ada di internet saat ini. Walaupun HTML sepertinya tidak terlalu powerful, tetapi ia adalah dasar dari semuanya. Baik CSS maupun JavaScript harus memiliki struktur HTML untuk dapat bekerja. Bahasa pemrograman web lain seperti PHP atau ASP juga digunakan untuk menghasilkan HTML. Sehingga HTML memiliki peran paling penting dan mutlak harus dikuasai sebelum masuk kedalam teknologi web lain seperti CSS, JavaScript, atau PHP. Dalam buku ini saya akan fokus membahas tentang HTML, namun seperti yang dijelaskan diatas, HTML sangat berkaitan dengan CSS dan JavaScript. Oleh karena itu, saya juga akan menggunakan CSS dan JavaScript ketika membahas beberapa fitur HTML. Sebagai bahan perkenalan dengan kedua teknologi ini, saya juga menyertakan bab khusus di akhir buku yang membahas sekilas tentang cara penggunaan CSS dan JavaScript.
Saya juga berencana membuat ebook khusus yang akan membahas secara mendalam tentang CSS dan JavaScript. Mudah-mudahan buku tersebut telah tersedia ketika anda selesai mempelajari buku HTML Uncover ini.
.
2. Struktur Dasar HTML (Contoh Bab 4) Dalam bab keempat ini akan dibahas tentang cara penulisan HTML. Kita akan mulai dengan mempelajari pengertian tag, element, dan atribut pada HTML, melihat struktur dasar dari kode HTML, mengenal aturan penulisan HTML, serta melakukan validasi kode HTML agar memenuhi standar W3C.
2.1 Pengertian Tag, Atribut dan Element HTML Tag, atribut dan element adalah 3 bagian inti yang membangun HTML. Mari kita bahas sejenak pengertian ketiga aspek ini.
Pengertian Tag Dari file hello_world.html yang telah kita jalankan dalam bab sebelumnya, tentunya anda sudah mengetahui bahwa file HTML ditulis dengan menggunakan tanda-tanda seperti , , atau . Tanda-tanda ini dikenal dengan sebutan HTML tag. Tag di dalam HTML berfungsi untuk memberi tahu web browser apa dan bagaimana sebuah teks harus ditampilkan. Sebagaimana yang telah kita pelajari, file HTML hanyalah sebuah file text biasa. Web browser lah yang akan memproses file tersebut dan menampilkan hasilnya. Sebagian besar tag-tag HTML ditulis secara berpasangan, yang terdiri dari tag pembuka dan tag penutup. Tag pembuka ditulis menggunakan kurung siku, seperti
. Sedangkan tag penutup ditulis dengan menambahkan tanda garis miring/backslash seperti
. Tanda p disini berarti paragraf, dimana kita memberitahukan kepada web browser bahwa seluruh teks yang berada diantara tag pembuka dan tag penutup
adalah sebuah paragraf. Sebagai contoh, jika saya ingin membuat struktur teks yang terdiri dari 2 paragraf, maka saya menulisnya sebagai berikut: Ini adalah paragraf pertama
Ini adalah paragraf kedua
Ketika web browser membaca kode diatas, teks diantara tag dan tag
akan ditampilkan sebagai paragraf yang terpisah. Setiap tag memiliki fungsi dan peran masing-masing. Secara total, terdapat sekitar seratusan tag di dalam HTML. Walaupun HTML memiliki banyak tag, tidak semuanya harus digunakan. Sebagai contoh, tag akan sangat sering kita jumpai, tetapi tag relatif jarang ditemukan. 4
Struktur Dasar HTML (Contoh Bab 4)
5
Dalam buku ini kita akan mempelajari sebagian besar tag-tag yang ada di dalam HTML, terutama tag-tag yang sering digunakan dan memiliki peran penting untuk membuat struktur halaman. Dalam menjalankan tugasnya, tag HTML memerlukan atribut.
Pengertian Atribut Atribut adalah informasi tambahan yang ditulis pada tag pembuka. Fungsi dari atribut ini bermacam-macam tergantung nilai dan pada tag mana ia ditempatkan. Beberapa atribut bersifat umum dan bisa digunakan dalam seluruh tag (dikenal sebagai global atribut), tetapi kebanyakan hanya berfungsi untuk tag tertentu saja. Atribut terdiri dari pasangan nama atribut dan nilai atribut. Sebagai contoh, untuk menambahkan atribut class dengan nilai pertama kedalam tag , cara penulisannya adalah sebagai berikut:
Ini adalah paragraf pertama
Penulisan nilai dari atribut boleh menggunakan tanda kutip dua ( “ ) seperti diatas, atau boleh juga menggunakan tanda kutip satu ( ‘ ) seperti contoh berikut: Ini adalah paragraf pertama
Dalam HTML, penulisan nilai atribut diantara tanda kutip sebenarnya bersifat opsional (boleh tidak ditulis). Contoh diatas juga bisa dibuat sebagai berikut: Ini adalah paragraf pertama
Penulisan nilai atribut tanpa tanda kutip seperti diatas tidak salah dan tetap valid di dalam HTML. Akan tetapi, jika nilai dari atribut terdiri dari 2 kata atau lebih, maka kita harus menggunakan tanda kutip, seperti contoh berikut: Ini adalah paragraf pertama dan penting
Penggunaan tanda kutip untuk nilai atribut berasal dari format XHTML, dimana setiap atribut harus ditutup dengan tanda kutip. HTML5 tidak mengharuskan cara penulisan tanda kutip ini. Walaupun demikian, kebanyakan programmer tetap menambahkannya.
Struktur Dasar HTML (Contoh Bab 4)
6
Pengertian Element Istilah ketiga yang masih berkaitan dengan tag dan atribut adalah element. Di dalam HTML, element adalah satu bagian utuh yang terdiri dari tag, atribut, dan seluruh teks yang berada di antara tag pembuka dan penutup. Agar lebih jelas, konsep dari element ini dapat anda lihat dalam gambar dibawah ini.
Gambar: Bagian tag, atribut dan element dari HTML
Dari gambar diatas kita dapat melihat bahwa element mencakup tag, atribut dan seluruh isi dari tag tersebut, termasuk jika didalamnya juga terdapat tag lain. Dalam pembahasan HTML, istilah tag dan element kadang saling dipertukarkan. Beberapa referensi lebih banyak menyebut tag , tetapi ada pula yang mengebutnya sebagai element p. Dalam buku ini saya akan menggunakan keduanya secara bergantian. Untuk penulisan judul, saya cenderung menggunakan istilah element, dan menggunaan istilah tag dalam pembahasan.
Tag, atribut dan element adalah inti dari HTML. Kita akan mempelajarinya sepanjang buku ini.
2.2 Struktur Dasar HTML File hello_world.html yang kita jalankan sebelum ini sebenarnya telah memenuhi struktur dasar dari sebuah file HTML. Mari kita lihat kembali kode HTML tersebut: hello_world.html
1 2 3 4 5 6 7 8
<meta charset="UTF-8"> Belajar HTML Belajar HTML
Struktur Dasar HTML (Contoh Bab 4)
9 10 11
7
Hello World…
Jika anda perhatikan, sebagian besar tag-tag diatas saling berpasangan, kecuali tag dan <meta charset="UTF-8">. Beberapa tag juga berada di dalam tag lain. Mari kita bahas mulai dari baris pertama.
3. Audio dan Video Element (Contoh Bab 9) Pada awalnya, HTML hanya digunakan sebagai sarana berbagi hasil penelitian antar ilmuwan, dimana sebagian besar konten terdiri dari teks, tabel, dan gambar. Saat ini berbagai situs web saling berlomba menampilkan konten multimedia untuk menarik perhatian pengunjung. Salah satunya dengan menambahkan file multimedia seperti audio dan video. Sebelum kehadiran HTML5, untuk menjalankan file multimedia, kita harus bergantung kepada aplikasi pihak ketiga seperti adobe flash. Oleh karenanya, setiap komputer harus terinstall adobe flash player. Jika pengunjung tidak memiliki aplikasi adobe flash player, video tidak bisa dijalankan. Keterbatasan inilah yang membuat berbagai pihak mendesak agar HTML dapat mendukung audio dan video tanpa bantuan aplikasi lain. W3C dan WHATWG menjawab masalah ini dengan menyediakan tag dan . Tag dan adalah fitur HTML5 yang relatif baru. Dengan demikian, tidak semua web browser mendukung tag ini. Secara umum versi terbaru web browser Google Chrome, Mozilla Firefox, dan Opera mendukung penuh tag dan . Yang sering menjadi masalah adalah web browser Internet Explorer 8 (bawaan Windows 7) dan versi IE dibawahnya.
3.1 Audio Element HTML5 menyediakan tag untuk menjalankan file audio. Berikut adalah cara penggunaan tag :
Seperti yang terlihat, penulisan tag mirip dengan tag , namun tag ini harus ditulis berpasangan dengan tag penutup . Jika anda menjalankan kode diatas, tidak akan terlihat tampilan apa-apa di dalam web browser. Kita perlu menambahkaan beberapa atribut yang akan dibahas setelah ini.
3.2 Atribut Scr Atribut scr (source) digunakan sebagai penunjuk lokasi file audio. Dalam contoh diatas, file lagu.mp3 harus berada dalam folder yang sama dengan file HTML. Anda bisa meletakkan file audio dimana saja selama bisa diakses menggunakan alamat relatif maupun alamat absolut (mengenai perbedaan kedua alamat ini telah kita bahas pada bab 6). 8
Audio dan Video Element (Contoh Bab 9)
9
3.3 Atribut Controls Agar kita bisa memutar file audio, perlu ditambahkan atribut controls kepada tag , seperti berikut ini: index.html
1 2 3 4 5 6 7 8 9 10
<meta charset="UTF-8"> Belajar Audio Element
Atribut controls berfungsi untuk menampilkan tombol control pada audio player, yakni tombol play/stop, slider, volume, timer, dll. Jika tag ditulis tanpa menggunakan atribut controls, tidak akan terlihat tampilan apa-apa. Tampilan player untuk tag berbeda dari browser ke browser. Anda dapat melihat perbedaan tampilan audio player pada berbagai web browser dari gambar dibawah ini:
Gambar: Tampilan audio player pada Firefox (atas), Chrome (tengah), dan Opera (bawah)
Audio dan Video Element (Contoh Bab 9)
10
3.4 Atribut Autoplay Kita juga bisa menambahkan atribut autoplay pada tag . Atribut ini akan membuat audio langsung berjalan ketika halaman web ditampilkan. Tanpa atribut ini, file audio hanya akan berjalan ketika tombol player di tekan. Berikut contoh penggunaannya:
Silahkan jalankan kode diatas, dan audio akan langsung terdengar ketika halaman web ditampilkan. Jika atribut autoplay digunakan tanpa atribut controls, maka anda dapat membuat halaman web dengan audio yang langsung berjalan, namun tidak bisa dihentikan. Sehingga satusatunya cara untuk menghentikan musik adalah dengan menutup halaman web. Berikut contoh penggunaannya: index.html
1 2 3 4 5 6 7 8 9 10
<meta charset="UTF-8"> Belajar Audio Element
3.5 Atribut Loop Secara default, audio akan berhenti setelah diputar. Apabila anda ingin audio tersebut otomatis diulang kembali dari awal, bisa menambahkan atribut loop. Berikut contohnya:
Untuk mencoba efek atribut loop, silahkan lompati musik hingga di akhir durasi, dan file audio akan otomatis diputar kembali dari awal. Efek seperti ini cocok untuk membuat musik backgound yang diputar terus menerus.
4. HTML5 Form Element (Contoh Bab 12) Setelah membahas tentang cara pembuatan form HTML dasar dalam bab sebelumnya, kali ini kita akan fokus kepada fitur-fitur form terbaru dari HTML5. HTML5 membawa berbagai objek form dan atribut baru, serta fitur validasi tanpa menggunakan JavaScript.
4.1 Validasi Form Validasi menjadi aspek penting dalam setiap form. Validasi adalah proses untuk memastikan data inputan form telah sesuai dengan yang diharapkan. Misalnya, untuk form umur seharusnya hanya diisi dengan angka, akan tetapi pengguna yang ‘usil’ atau sedang terburu-buru bisa saja men-input huruf ke dalam inputan ini. Proses validasi biasanya dilakukan dua kali, yakni di sisi client (web browser) menggunakan JavaScript, dan disisi server (menggunakan PHP). Validasi di sisi server relatif lebih aman, karena pengguna tidak bisa men-interupsi proses yang terjadi. Akan tetapi agar dapat diproses, data form harus dikirim terlebih dahulu ke server, dan jika ditemukan kesalahan, form kembali ditampilkan ke web browser. Alur seperti ini terus dilakukan hingga seluruh data form lolos validasi. Jika koneksi internet lambat, proses ini bisa memakan waktu yang tidak sebentar. Dilain pihak, validasi menggunakan JavaScript berjalan di web browser, sehingga dieksekusi pada saat itu juga. Namun proses ini bisa diinterupsi oleh pengguna (misalnya dengan mematikan JavaScript). Oleh karena itu validasi di sisi server tetap diperlukan. Membuat validasi membutuhkan waktu yang tidak sebentar, namun sangat penting. Oleh karena itulah WHATWG dan W3C menghadirkan fitur validasi form kedalan HTML5. Walaupun tidak sepenuhnya menggantikan peran JavaScript, fitur ini sangat menarik. Perlu untuk diingat tidak semua web browser mendukung HTML5. Bagi web browser yang tidak support, proses validasi tidak akan berjalan.
4.2 Input Element Type Color HTML5 menyediakan objek form khusus untuk memilih warna, yakni menggunakan atribut type="color" pada tag . Ketika di pilih, objek form ini akan menampilkan ‘jendela warna’ (color picker) tergantung dengan jenis web browser dan sistem operasi yang digunakan. Sebagai contoh, berikut adalah cara penggunaan input type color:
11
HTML5 Form Element (Contoh Bab 12)
12
index.html
1 2 3 4 5 6 7 8 9 10 11 12 13
<meta charset="UTF-8"> Belajar Form HTML5
Gambar: Tampilan form input type="color"
Ketika objek form dipilih, nilai yang dikirim adalah angka heksadesimal warna dengan format #RRGGBB. Jika anda sudah pernah mempelajari CSS, tentunya tidak asing dengan format warna ini. R mewakili warna merah (Red), G warna hijau (Green) dan B adalah warna biru (Blue). Sebagai contoh, ketika saya memilih warna merah, berikut adalah hasil yang didapat:
HTML5 Form Element (Contoh Bab 12)
13
file:///D:/belajar_html/prosesform.php?warna=%23ff0000
Karakter %23 adalah hasil konversi tanda ‘#’ menjadi karakter ASCII.
4.3 Input Element Type Email Email adalah salah satu isian form yang hampir selalu diperlukan dalam setiap form registrasi / login. Oleh karena hal inilah HTML5 menyediakan atribut type="email" untuk tag . Objek form input type email tampak seperti text box reguler, akan tetapi web browser menambahkan proses validasi untuk memeriksa isian form agar memenuhi format alamat email. Sebuah alamat email yang valid, dimulai dengan beberapa karakter, kemudian diikuti oleh tanda ‘@’ dan diakhiri dengan nama domain, seperti yahoo.com, atau gmail.com. Jika pengguna tidak menginput sesuai dengan format ini, form akan menampilkan pesan error ketika form di-submit. Berikut contoh penulisan tag input type email: index.html
1 2 3 4 5 6 7 8 9 10 11 12 13
<meta charset="UTF-8"> Belajar Form HTML5
Untuk web browser yang mendukung HTML5, proses validasi akan menampilkan pesan error. Berikut contohnya di dalam Mozilla Firefox:
Gambar: Tampilan form input type="email"
Jika email sesuai dengan format, maka form akan dikirim ke server:
HTML5 Form Element (Contoh Bab 12)
14
file:///D:/belajar_html/prosesform.php?email=duniailkom%40gmail.com
Tag input type email juga mendukung atribut multiple. Atribut ini bisa digunakan untuk meninput beberapa alamat email yang dipisah dengan tanda koma: index.html
1 2 3 4 5 6 7 8 9 10 11 12 13
<meta charset="UTF-8"> Belajar Form HTML5
Gambar: Tampilan form input type="email" dengan atribut multiple
Selain validasi, input type="email" juga memudahkan proses input menggunakan mobile web browser, seperti Android. Ketika pengisian form, keyboard virtual android akan langsung menyediakan tombol ‘@’ agar mudah dipilih.
Pesan Error Saat Validasi Pesan error saat yang ditampilkan saat proses validasi berasal dari web browser. Jika web browser di-set menggunakan Bahasa Indonesia, pesan error ini juga akan ditampilkan dalam bahasa Indonesia. Jika setingan menggunakan Bahasa Inggris (default) maka pesan error di tampilkan dalama bahasa Inggris.
.
Untuk mengubah isi pesan ini, bisa dilakukan melalui JavaScript.
HTML5 Form Element (Contoh Bab 12)
Gambar: Tampilan pesan kesalahan di Opera yang di set dengan Bahasa Indonesia
.
15