HTML5 PemrogramanWebDasar
HTML5 PemrogramanWebDasar
Belajar HTML 5
Daftar Isi
Daftar Isi ii
Pemrograman Web Dasar I: Belajar HTML 5│ 1
Daftar Gambar vi
1 Pendahuluan 1
Tentang Buku 1
Internet 1
Sejarah Internet 1
Hypertext Transfer Protocol (HTTP) 3
Web Server 3
Web Browser 4
Aplikasi Web 4
Aplikasi Desktop & Aplikasi Web 4
Teknologi 5
Code Editor 6
Source Code 6
2 Visual Studio Code 7
Installasi 7
Antarmuka 8
Tool Tambahan 9
Extension 9
Integrated Terminal 10
3 HyperText Markup Language 12
Pendahuluan 12
Sejarah 12
Sintaks Elemen 13
Atribut 16
Aturan Penamaan File & Folder 16
Halaman Web Sederhana 17
2 │SUTRI ANIROH
Tag HTML Dasar 21
Heading 21
Paragraf 26
Italic, Bold & Underline 31
List 34
Gambar 39
Hyperlink 43
Table 50
Form Input Data 60
Project 83
Tag HTML Lajut 96
Teks 96
Form 101
IFrame 104
Media 109
Grafik 113
4 Cascading Style Sheets 116
Pendahuluan 116
Sintaks 116
Tata Cara Penggunaan 117
Dasar-Dasar CSS 128
Selector 128
Komentar 141
Unit 142
Warna 143
Box Model 148
Teks 153
Background Image 156
CSS Layout 160
4 │SUTRI ANIROH
Animasi 245
Carousel 247
6 Bootstrap 4 252
Pendahuluan 252
Tantangan 252
Bootstrap 4 254
Installasi 254
Perangkat Pengembang 257
Penulisan Nama Class Pada Teks Di Buku Ini 260
Dasar-Dasar Bootstrap 261
Cara Penggunaan Bootstrap 261
Container 263
Grid 267
Layout Website 275
Navigasi 279
Bekerja dengan Table 284
Membuat Form 288
Tipe Layout Form 288
Validasi Form 291
Elemen Input 297
Project 301
Form Registrasi 301
Video Player 314
7 Penutup 326
Tentang Penulis 327
8 │SUTRI ANIROH
Gambar 85. Box model CSS 148
166
Gambar 100. Contoh nilai static dan relative pada property position 168
Gambar 101. Contoh position dengan nilai fixed dan absolute. 170
Gambar 102. Contoh penggunaan property z-index 172
Gambar 103. Contoh position dengan nilai sticky. 174
Gambar 104. Contoh property float dengan nilai right. 176
Gambar 105. Contoh property float dengan nilai left. 177
Gambar 106. Contoh efek property float pada elemen setelahnya 179
Gambar 107. Contoh penggunaan dan efek property clear. 179
Gambar 108. Form registrasi event. 180
Gambar 109. Window form input. 182
Gambar 110. Elemen input data tanpa CSS 184
Gambar 111. Form input data yang telah diberikan CSS 188
Gambar 112. Contoh layout website sederhana 1 189
12 │SUTRI ANIROH
Gambar 170. Penggunaan class .form-control. 300
Gambar 171. Antarmuka form registrasi dengan Bootstrap 4 301
Gambar 172. Antarmuka form registrasi pada layar kecil. 302
Gambar 173. Form Registrasi - Langkah 1 304
Gambar 174. Form Registrasi – Langkah 2 305
Gambar 175. Form Registrasi – Langkah 3 306
Gambar 176. Form Registrasi – Langkah 4 307
Gambar 177. Form Registrasi – Langkah 5 307
Gambar 178. Form Registrasi – Langkah 6 309
Gambar 179. Form Registrasi dengan validasi. 310
Gambar 180. Video player dengan Bootstrap 4 314
Gambar 181. Video player Bootstrap 4 pada layar kecil. 315
Gambar 182. Video Player – Navigasi bar. 317
Gambar 183. Video player – Elemen video 319
Gambar 184. Video player – Poster rekomendasi film 320
Pendahuluan
Tentang Buku
Pembahasan Pemrograman Web Dasar ini terdiri atas dua buku. Pemrograman
Web Dasar I ini adalah buku pertama yang membahas dasar-dasar HTML 5, CSS
dan JavaScript untuk membuat halaman web. Dan sebagai tambahan adalah
panduan penggunaan framework Bootstrap 4 untuk membuat halaman web
responsif.
Internet
Internet atau World Wide Web (WWW) dikhususkan digunakan untuk publik
sejak tahun 1989.
Sejarah Internet
1969: Internet dicetuskan
Pada Oktober 1969, peneliti-peneliti di Universitas California di Los Angeles
(UCLA) berupaya untuk mengirimkan data dari satu komputer ke komputer lain.
Mereka berupaya untuk mengirimkan tiga huruf, yaitu 'LOG', ke komputer kedua
dalam bentuk kode biner, dimana komputer kedua nantinya akan menambahkan
dua huruf lagi, sehingga menjadi 'LOGIN'.
1
pertama menggunakan ARPANET, dan mencetuskan penggunaan
2 │SUTRI ANIROH
simbol '@' dalam alamat surel kita saat ini. Simbol '@' digunakan untuk
memisahkan nama pengguna, dengan jaringan yang sedang digunakan.
Pada saat itu, CERN memiliki ribuan karyawan, dan semakin banyak dengan
masuknya karyawan baru. Sangat sulit untuk mendapatkan informasi yang
mungkin berkaitan, tetapi tidak diketahui, karena tempat penyimpanan yang
berbeda tempat.
Pada tahun 1990, Robert Cailliau dari Belgia membantu mengembangkan usul
Berners-Lee. Penemuan ini didasarkan pada dua pilar, yaitu: markup language
HTML, yang memungkinkan keberadaan website, serta protokol pertukaran
hypertext HTTP, yang memungkinkan pengguna meminta, dan menerima
halamanyang diinginkan.
Sistem ini kemudian disebarluaskan pada April tahun 1993, dan semakin populer
seiring rilisnya Mosaic pada bulan November. Mosaic merupakan situs pencari
(search engine) pertama. Jumlah situs yang dapat diakses, kemudian meledak
dari beberapa juta di awal 1990, menjadi 400 juta pada tahun 2000.
3
(sumber: [Link]
376484/mengenal-sejarah-internet)
Web Server
Web server dapat merujuk sebagai hardware atau software, atau keduanya
bekerja ama.
Sebagai software, web server adalah perangkat lunak yang berfungsi sebagai
penerima permintaan yang dikirimkan melalui browser kemudian memberikan
tanggapan permintaan dalam bentuk halaman situs web atau lebih umumnya
dalam dokumen HTML.
1. Apache ([Link]
2. Internet Information Server (IIS) ([Link]
Web Browser
Web browser adalah aplikasi client untuk mengakses informasi pada World Wide
Web. Sejak tahun 1991 sampai sekarang telah banyak web browser yang
digunakan. Namun yang sering kita dengar dan gunakan adalah:
1. Internet Explorer.
2. Microsoft Edge.
3. Firefox.
4. Safari.
5. Chrome.
Aplikasi Web
Aplikasi Desktop & Aplikasi Web
Berikut ini adalah beberapa perbandingan antara aplikasi desktop dan aplikasi
web.
Aplikasi Desktop
Berikut adalah kelebihan dan kekurangan dari aplikasi desktop:
4 │SUTRI ANIROH
3. Menawarkan keamanan lebih bagus, hal ini disebabkan karena tidak
terkoneksi dengan internet. Sehingga tidak perlu kawatir serangan dari
pihak lain.
4. Bergantung pada kecepatan komputer milik user.
5. User dapat menjalankan versi lama dari aplikai desktop.
6. Aplikasi dekstop tidak dapat memaksa untuk melakukan upgrade.
7. Aplikasi desktop bergantung dengan sistem operasi. Aplikasi dekstop
yang dibangun pada sistem operasi Windows tidak bisa digunakan pada
sistem operasi Linux atau MacOS.
Aplikasi Web
1. Hanya diinstall pada sebuah web server saja. Jika ada update, maka
cukup melakukan update pada server saja.
2. Update yang dilakukan pada server akan segera digunakan oleh user
yang menggunakan aplikasi web tersebut.
3. Aplikasi web mudah digunakan untuk digunakan oleh user yang banyak.
4. Aplikasi web tidak bergantung pada sistem operasi, karena hanya
memerlukan web browser.
Teknologi
Teknologi yang digunakan untuk membangun aplikasi web terdiri sebagai
berikut:
1. HTML 5.
2. CSS 3.
3. Javascript sebagai client side programming.
4. Bootstrap 4 sebagai framework untuk membuat halaman web yang
responsif.
Source Code
Contoh-contoh kode program yang ditulis pada buku ini dapat diunduh pada
alamat web berikut ini:
[Link]
6 │SUTRI ANIROH
2
Pada buku ini digunakan Visual Studio Code sebagai code editor untuk menulis
kode HTML, CSS dan PHP. Selain itu code editor ini dapat digunakan untuk
melakukan koneksi dan operasi ke database MySQL sehingga dapat digunakan
untuk menyiapkan database untuk aplikasi web yang sedang dibangun.
Installasi
Installer Visual Studio Code dapat diunduh pada link berikut ini
[Link] dengan tampilan halaman seperti pada
Gambar 2. Pilih installer yang sesuai dengan sistem operasi yang digunakan. Saat
buku ini diketik versi yang ada adalah 1.45.1.
7
Antarmuka
Pada Gambar 3 dapat dilihat layout dasar antarmuka Visual Studio Code.
A
C
D
B
E
Gambar 3. Layout dasar antarmuka Visual Studio Code.
Dari gambar di atas dapat dilihat layout terbagi atas 5 bagian yaitu:
8 │SUTRI ANIROH
seperti pada gambar di atas.
D. Panel akan memberikan informasi output dari hasil proses debug, error,
warning dan dapat juga berfungsi sebagai integrated terminal.
9
E. Status Bar berfungsi untuk menampilkan informasi dari project dan file
yang sedang diedit.
Tool Tambahan
Pada sub bab ini akan diterangkan cara untuk menambah tool atau extension
yang tersedia pada repository. Akses ke repository memerlukan akses internet.
Cara menginstall extension dapat dilakukan dengan dua cara, yaitu dengan
menggunakan:
1. Extensions.
2. Integrated Terminal.
Extension
Untuk mengakses daftar extension yang tersedia dapat mengklik tombol
Extensions pada View Bar. Untuk melihat daftar extension diperlukan koneksi
internet. Daftar extension dapat dilihat pada kotak merah pada area sidebar di
Gambar 4.
Integrated Terminal
Cara kedua adalah dengan Terminal. Untuk menampilkan terminal dapat
dilakukan dengan cara memilih menu View > Integrated Terminal seperti pada
kotak merah pada Gambar 6.
10 │SUTRI ANIROH
Gambar 6. Integrated terminal.
Integrated Terminal seperti command prompt yang memungkinkan pengguna
menuliskan perintah. Perintah yang dapat digunakan untuk menginstall extension
adalah npm (nuget package manager).
Sebagai contoh, jika ingin melihat versi dari npm maka dapat menggunakan
perintah berikut ini.
npm -v
Maka hasilnya akan dapat dilihat pada kotak merah pada Gambar 6.
Pendahuluan
Sejarah
HTML dibuat oleh Tim Berners-Lee diakhir tahun 1991 tetapi belum secara
resmi. Kemudian tahun 1995 dirilis HTML 2.0. Sedangkan versi utama dirilis pada
tahun 1999 yaitu HTML 4.01.
HTML 1.0
Versi ini dirilis tahun 1993 dengan tujuan berbagi informasi yang dapat dibaca
dan diakses melalui web browser. Tetapi karena belum banyak developer yang
membuat website maka bahasa ini tidak berkembang.
HTML 2.0
Versi ini dirilis 1995. Versi ini berisi seluruh fitur pada versi 1.0 ditambah
beberapa tambahan fitur. Versi ini bertahan sampai tahun 1997.
HTML 3.0
Versi ini memiliki banyak penambahan fitur baru HTML dan memberikan banyak
kemudahan kepada web master untuk mendesain halaman web. Tetapi fitur-fitur
hebat dari HTML baru ini memperlambat web browser.
12
HTML 4.01
Versi ini banyak digunakan dan versi yang sukses sebelum HTML 5.0 dirilis. Versi
4.01 digunakan diseluruh dunia. Kemudian selanjutnya adalah HTML 5.0 yang
merupakan extended version dari HTML 4.01.
Sintaks Elemen
HTML elemen atau elemen terdiri atas tag pembuka, konten atau isi di dalam tag
dan tag penutup. HTML tag atau tag adalah kata kunci dalam halaman web yang
menentukan bagaimana web browser harus memformat dan menampilkan
konten.
Hampir seluruh tag harus memiliki dua bagian yaitu tag pembuka dan penutup.
Aturan penulisan tag pembuka adalah sebagai berikut:
<nama_tag>
Dari sintaks di atas dapat dilihat, tag pembuat diawali dengan tanda “<” kemudian
diikuti dengan kata kunci “nama_tag”. Kemudian diakhiri dengan tanda “>”.
</nama_tag>
Jika dibandingkan dengan tag pembuka, sintaks tag penutup memiliki
perbedaan yaitu adanya penambahan tanda “/” setelah tanda “<”.
Contoh 1:
Contoh 2:
<head>
<title>Selamat Datang di Web Ilmu Komputer</title>
</head>
Contoh 3:
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
Tetapi tidak semua tag HTML terdiri dari dua bagian (pembuka dan penutup).
Ada tag yang hanya memiliki satu bagian saya. Tag jenis ini disebut juga void
elemen. Tag jenis ini memiliki sintaks sebagai berikut:
<nama_tag />
Atau
<nama_tag>
Contoh tag jenis ini adalah sebagai berikut:
Contoh 1:
<br/>
Atau
<br>
14 │SUTRI ANIROH
Contoh 2:
<hr/>
Atau
<hr>
Contoh 3:
Atau
<img src="[Link]">
Selain contoh di atas tag yang tergolong dengan void element adalah:
- area
- base
- br
- col
- embed
- hr
- img
- input
- link
- meta
- param
- source
- track
- wbr
Pada penjelasan tentang void elemen di atas terdapat dua cara penulisan. Cara
pentulisan dimana tag ditulis dengan menggunakan penutup (contoh: <br/>)
adalah cara penulisan mengikuti aturan XHTML (Extensible HyperText Markup
Language). XHTML merupakan gabungan XML dan HTML. Aturan ini telah
menjadi standar sejak tahun 2000. Salah satu aturannya adalah, setiap tag yang
dibuka harus ditutup. Sehingga kita melihat penulisan tag seperti
<hr/> atau <br/>. Sedangkan aturan pada HTML 5 lebih longar sehingga tag tipe
void elemen dapat ditulis tanpa penutup. Sehingga cukup ditulis sebagai
Pembaca dapat memilih akan mengikuti aturan yang mana. Namun jika pada
[Link] dapat dilihat penggunaan aturan HTML 5 pada
contoh-contohnya. Sehingga pada buku ini dapat dilihat penerapan aturan
tersebut.
Atribut
Tag dapat memiliki atribut-atribut. Artinya setiap tag dapat memiliki 1 atau lebih
atribut. Atribut berfungsi untuk menyesuaikan sebuah tag. Atribut hanya
diberikan pada tag pembuka atau tag yang hanya memiliki satu bagian saja.
berikut adalah sintaks penggunaan atribut.
1:
<body bgcolor="pink">
Contoh 2:
16 │SUTRI ANIROH
filenya adalah hello_world diikuti dengan ekstensi file (.html, .jpg, .png dan
lain-lain).
Cara yang lain adalah menggabung kata-kata tersebut namun huruf awal kata
dibuat menjadi huruf besar. Sebagai contoh kata “hello world”, maka nama filenya
menjadi HelloWorld diikut dengan ekstensi file.
Aturan ini juga bisa digunakan untuk penamaan folder. Sehingga nama folder atau
file tidak ada spasi.
Kode ini menghasilkan tampilan seperti pada Gambar 7. Penjelasan kode di atas
adalah sebagai berikut.
Baris pertama adalah tag spesial yang berfungsi untuk memberikan informasi
kepada web browser bahwa tipe dokumen ini adalah HTML.
Baris kedua adalah tag <html> sebagai tag pembuka dan ditutup oleh </html>
pada baris terakhir. Tag ini harus ada pada sebuah halaman web. Di antara tag
<html> dan </html> terdapat tag-tag lain.
Pada baris ketiga dapat dilihat tag <head> sebagai pembuka dan kembali di tutup
dengan tag </head>. Di antara tag ini disebut area header. Area header ini tidak
akan ditampilkan secara visual pada web browser. Pada area ini juga sering
digunakan untuk menulis kode program, informasi style dan lain-lain yang akan
dijelaskan pada sub bab berikutnya.
Tag selanjutnya yang wajib ada adalah tag <body></body>. Tag atau nilai yang
berada diantara tag ini akan ditampilkan pada web browser sebagai isi.
Latihan 1
Buat sebuah halaman web sederhana seperti pada Gambar 8. ganti “NAMA_” dan
“NIM_” dengan nama dan NIM pembaca inginkan.
18 │SUTRI ANIROH
Gambar 8. Halaman Web Sederhana - Latihan 1.
Kode HTML dari tampilan di atas adalah sebagai berikut ini.
web sederhana latihan [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>NAMA_ (NIM_)</title>
</head>
<body>
Hai saya adalah NAMA_.
NIM saya adalah NIM_.
</body>
</html>
Latihan 2
Ketik kode HTML berikut dengan dan simpan ke dalam file dengan nama
web_sederhana_latihan_2.html.
web sederhana latihan [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>NAMA_ANDA-NIM_ANDA</title>
</head>
<body>
Nama: NAMA_ANDA. <br>
NIM: NIM_ANDA. <br>
Alamat: ALAMAT_ANDA
</body>
Pada latihan ini diperkenalkan tag <hr> yang berfungsi untuk membuat garis
horizontal. Buat halaman web dengan tampilan seperti pada Gambar 10.
20 │SUTRI ANIROH
Kode HTML yang harus diketik untuk menghasilkan halaman seperti gambar di
atas adalah sebagai berikut.
web sederhana latihan [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Selamat Datang</title>
</head>
<body>
Selamat Datang <hr>
Nama: NAMA_ANDA. <br>
NIM: NIM_ANDA. <br>
Alamat: ALAMAT_ANDA
</body>
</html>
Heading
Pada aplikasi word processor seperti MS Word (Gambar 11), kita dapat melihat
opsi untuk mengubah style teks yang ditulis untuk menjadi judul dan sub judul
atau bab dan sub bab. Style yang digunakan untuk tujuan ini disebut sebagai
heading.
<body>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<h7>Heading 7</h7>
Teks biasa tanpa heading
</body>
</html>
Untuk heading 1 maka digunakan tag <h1></h1>. Teks yang ingin menggunakan
heading 1 harus diletakkan diantara tag pembuka dan penutup tersebut. Untuk
heading dapat menggunakan heading 1 sampai heading 6 saja, artinya tag yang
dapat digunakan adalah:
- <h1></h1>
- <h2></h2>
- <h3></h3>
- <h4></h4>
- <h5></h5>
- <h6></h6>
Perbedaan antara tag-tag di atas adalah ukuran font, dimana font dari tag <h1>
adalah yang paling besar dan yang paling kecil adalah tag <h6>. Perbedaan
ukuran font ini dapat dilihat pada Gambar 12.
Pada kode di atas juga dapat dilihat penggunaan tag <h7>, namun telah dijelaskan
sebelumnya bahwa tag ini tidak ada hubungannya dengan heading
7. Sebagai buktinya dapat dilihat pada Gambar 12, dimana teks “Heading 7”
yang menggunakan tag <h7> dan teks “Teks biasa tanpa heading” mempunyai
ukuran teks yang sama.
22 │SUTRI ANIROH
Gambar 12. Memformat teks - Heading.
Latihan 1
Buat teks dengan hirarki memiliki tampilan seperti pada Gambar 13. Hirarki
hanya terdiri atas 2 tingkatan, sehingga cukup menggunakan tag <h1> dan
<h2> saja.
Berikut adalah kode HTML untuk membuat tampilan seperti Gambar 13.
heading [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Skripsi</title>
</head>
<body>
<h1>BAB I. PENDAHULUAN</h1>
<h2>1.1 Latarbelakang</h2>
<h2>1.2 Rumusan Masalah</h2>
<h2>1.3 Batasan Masalah</h2>
<h2>1.4 Tujuan Penelitian</h2>
<h2>1.5 Manfaat Penelitian</h2>
<h1>BAB II. TINJAUAN PUSTAKA</h1>
<h2>2.1 Kajian Terdahulu</h2>
</body>
</html>
Latihan 2
Pada Gambar 14 adalah contoh lain antarmuka yang dibuat sebagai latihan.
Terlihat perbedaan pada teks “NAMA_ANDA” yang berada pada posisi di tengah
(center) dari halaman web. Untuk membuat teks berada di tengah maka gunakan
tag <center> dengan sintaks sebagai berikut ini.
24 │SUTRI ANIROH
Gambar 14. Memformat teks - Heading - Latihan 2.
Berikut ini adalah kode HTML untuk membuat tampilan seperti gambar di atas.
heading [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Bio Data Pribadi</title>
</head>
<body>
<center><h1>NAMA_ANDA</h1></center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<h3>b. Kelebihan</h3>
<h3>c. Kekurangan</h3>
<h2>Pendidikan</h2>
<h2>Riwayat Pekerjaan</h2>
</body>
</html>
<h1><center>NAMA_ANDA</center></h1>
Apakah teks NAMA_ANDA masih terlihat teks dengan ukuran besar dan posisi di
tengah?
Paragraf
Untuk mengumpulkan kumpulan teks kedalam sebuah paragraf digunakan tag
<p> dengan sintaks sebagai berikut.
<p>
teks ditulis di sini
</p>
26 │SUTRI ANIROH
Gambar 15. Memformat teks - Paragraf.
Berikut ini adalah kode HTML dari gambar di atas.
paragraf [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Bio Data Pribadi</title>
</head>
<body>
<center><h1>NAMA_ANDA</h1></center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<p>
ceritakan sifat umum anda di
sini. ceritakan sifat umum anda
di sini. ceritakan sifat umum
anda di sini.
</p>
<h3>b. Kelebihan</h3>
<p>
Latihan 1
Untuk latihan, tambahkan dua paragraf pada bagian “a. Sifat Umum”, sehingga
bagian itu memiliki tiga paragraf seperti pada Gambar 16. Pada gambar tersebut
dapat dilihat teks yang ditulis di dalam sebuah paragraf memiliki jarak antar baris
yang lebih rapat jika dibandingkan dengan jarak baris antar dua paragraf.
28 │SUTRI ANIROH
paragraf [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Bio Data Pribadi</title>
</head>
<body>
<center><h1>NAMA_ANDA</h1></center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<p>
ceritakan sifat umum anda di
sini. ceritakan sifat umum anda
di sini. ceritakan sifat umum
anda di sini.
</p>
<p>
paragraf kedua. paragraf
kedua. paragraf kedua.
paragraf kedua. paragraf
kedua. paragraf kedua.
paragraf kedua. paragraf
kedua.
</p>
<p>
paragraf ketiga. paragraf
ketiga. paragraf ketiga.
paragraf ketiga. paragraf
ketiga. paragraf ketiga.
paragraf ketiga. paragraf
ketiga.
</p>
<h3>b. Kelebihan</h3>
<p>
ceritakan kelebihan anda di sini.
ceritakan kelebihan anda di sini.
ceritakan kelebihan anda di sini.
</p>
<h3>c. Kekurangan</h3>
<p>
ceritakan kekurangan anda di
sini. ceritakan kekurangan anda
di sini. ceritakan kekurangan
anda di sini.
</p>
<h2>Pendidikan</h2>
<h2>Riwayat Pekerjaan</h2>
</body>
</html>
<body>
<center>
<h1>NAMA_ANDA</h1>
<p>semboyan atau kalimat penyemangat diri</p>
</center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<p>
ceritakan sifat umum anda di
sini. ceritakan sifat umum anda
di sini. ceritakan sifat umum
anda di sini.
</p>
<p>
30 │SUTRI ANIROH
paragraf kedua. paragraf kedua. paragraf kedua.
paragraf kedua. paragraf kedua. paragraf kedua.
paragraf kedua. paragraf kedua.
</p>
<p>
paragraf ketiga. paragraf ketiga. paragraf ketiga.
paragraf ketiga. paragraf ketiga. paragraf ketiga.
paragraf ketiga. paragraf ketiga.
</p>
<h3>b. Kelebihan</h3>
<p>
ceritakan kelebihan anda di sini. ceritakan kelebihan
anda di sini. ceritakan kelebihan anda di sini.
</p>
<h3>c. Kekurangan</h3>
<p>
ceritakan kekurangan anda di sini. ceritakan kekurangan
anda di sini. ceritakan kekurangan anda di sini.
</p>
<h2>Pendidikan</h2>
<h2>Riwayat Pekerjaan</h2>
</body>
</html>
Pada kode di atas dapat dilihat bahwa sebuah tag <center> dapat berisi beberapa
jenis tag, pada contoh di atas yaitu tag <h1> dan <p>.
Cara penggunaan ketiga tag ini seperti cara penggunaan tag heading dan paragraf,
yaitu teks harus berada diantara tag pembuka dan penutup tag tersebut seperti
sintaks di bawah ini.
<i>teks miring</i>
<b>teks tebal</b>
<u>teks dengan garis bawah</u>
Buat kalimat “semboyan atau kalimat penyemangat diri” pada file paragraf_3.html
menjadi garis miring dan cetak tebal seperti pada Gambar 18. Kemudian simpan
hasilnya pada file baru dengan nama ibu_1.html.
<body>
<center>
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
</center>
.
.
.
</body>
</html>
32 │SUTRI ANIROH
Latihan 2
Latihan berikutnya adalah membuat sebuah kalimat dicetak tebal. Kemudian pilih
satu kata untuk dicetak miring dan satu kata untuk bergaris bawah dari sebuah
kalimat tersebut. Hasil yang dihasilkan adalah seperti pada Gambar 19.
<body>
<center>
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
</center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<p>
ceritakan sifat umum anda di sini.
<b>ceritakan sifat <i>umum</i> anda di <u>sini</u>.</b>
ceritakan sifat umum anda di sini.
</p>
. . .
</body>
</html>
Untuk membuat list tipe bullet digunakan sintaks berikut ini. Tag yang digunakan
adalan <ul> yang merupakan singkatan dari unordered list. Hal ini karena item
list tidak ditampilkan dengan urutan angka.
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
Sedangkan untuk membuat list tipe numbering digunakan sintaks sebagai
berikut. Tag yang digunakan adalah <ol> yang merupakan singkatan ordered list.
Hal ini karena item list ditampilkan dengan angka yang terurut.
<ol>
<li>Item 1</li>
<li>Item 2</li>
</ol>
34 │SUTRI ANIROH
Diantara tag <ul></ul> atau <ol></ol> terdapat tag <li> yang berfungi untuk item
yang akan ditampilkan. Item yang ditampilkan dapat berupa:
- Kata.
- Kalimat.
- Gambar.
- Dan lain-lain.
Latihan 1
Berikut adalah sebagian kode HTML agar didapat tampilkan seperti gambar
tersebut.
list [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Bio Data Pribadi</title>
</head>
<body>
. . .
<h2>Pendidikan</h2>
<ul>
<li>Pendidikan 1</li>
<li>Pendidikan 2</li>
</ul>
. . .
</body>
</html>
Latihan 2
Latihan berikutnya adalah membuat list tipe numbering atau ordered list pada
bagian “Pekerjaan” seperti pada Gambar 20. Tuliskan pekerjan atau pengalaman
berorganisasi pada bagian ini.
<body>
<center>
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
</center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<p>
ceritakan sifat umum anda di sini.
<b>ceritakan sifat <i>umum</i> anda di <u>sini</u>.</b>
ceritakan sifat umum anda di sini.
</p>
<p>
paragraf kedua. paragraf
kedua. paragraf kedua.
paragraf kedua. paragraf
kedua. paragraf kedua.
paragraf kedua. paragraf
kedua.
</p>
<p>
paragraf ketiga. paragraf
ketiga. paragraf ketiga.
paragraf ketiga. paragraf
ketiga. paragraf ketiga.
paragraf ketiga. paragraf
ketiga.
</p>
<h3>b. Kelebihan</h3>
<p>
ceritakan kelebihan anda di
sini. ceritakan kelebihan anda
di sini. ceritakan kelebihan
anda di sini.
</p>
<h3>c. Kekurangan</h3>
<p>
ceritakan kekurangan anda di
sini. ceritakan kekurangan anda
di sini. ceritakan kekurangan
anda di sini.
</p>
<h2>Pendidikan</h2>
36 │SUTRI ANIROH
<ul>
<li>Pendidikan 1</li>
<li>Pendidikan 2</li>
</ul>
Latihan 3
Dalam sebuah item pada suatu list, selain dapat berisi teks dan gambar juga dapat
berisi list lain seperti pada Gambar 21.
<body>
<ol>
<li>item 1</li>
<li>item 2</li>
<li>
item 3, berikut adalah sub item:
<ul>
<li>item 3 - 1</li>
<li>item 3 - 2</li>
<li>
item 3 - 3
<ol>
38 │SUTRI ANIROH
<li>item a</li>
<li>item b</li>
</ol>
</li>
</ul>
</li>
</ol>
</body>
</html>
Latihan 4
Selain itu di dalam list dapat berisi paragraf atau gambar (contoh gambar akan
diberikan pada sub bab selanjutnya). Berikut adalah contoh tampilan paragarf di
dalam list.
<body>
<ol>
<li>
<p>
item 1 item 1 item 1.
item 1 item 1 item 1.
item 1 item 1 item 1.
item 1 item 1 item 1.
item 1 item 1 item 1.
Gambar
item 1 item 1 item 1.
</p>
</li>
<li>
<p>
</p>
</li>
<li>
<p>
</p>
</li>
</ol>
</body>
</html>
Selain teks, halaman web juga berisi gambar. Untuk menambahkan gambar pada
halaman web ada beberapa hal yang harus dipersiapkan. Hal yang perlu
dipersiapkan adalah folder tempat menyimpan file-file gambar. Lokasi folder dan
file HTML harus berada di folder yang sama, seperti pada gambar di bawah ini.
Folder dengan nama “images” akan digunakan untuk menyimpan file-file gambar.
40 │SUTRI ANIROH
Gambar 23. Lokasi folder dan file HTML.
Setelah folder dibuat, simpan file gambar ke dalam folder tersebut, misal nama
file yang simpan adalah [Link].
Untuk menampilkan gambar pada halaman web digunakan tag <img>. Tag ini
umumnya ditulis dengan dengan satu bagian saja, bukan dua bagian (tang
pembuka dan penutup) seperti tag-tag sebelumnya. Sintaks tag adalah sebagai
berikut.
Perhatian
Dalam membuat halaman web harus diperhatikan ukuran file gambar.
Diharapakan tidak menggunakan ukuran file gambar yang besar untuk
membuat antarmuka web. Misal jika antarmuka menggunakan 20 file gambar
dan 1 file gambar berukuran 1MB atau lebih maka ketika halaman web diakses
memerlukan waktu yang lama. Karena ukuran total sebulah
halaman web beserta gambarnya menjadi 20MB.
42 │SUTRI ANIROH
Latihan 1
<body>
<center>
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
</center>
. . .
Latihan 2
Latihan berikutnya adalah membuat halaman web untuk gallery foto. Nama file
dari halaman web ini adalah [Link]. Antarmuka halaman ini dapat dilihat
pada Gambar 25.
Setiap gambar ditampilkan dengan ukuran 150 x 200 pixel. Jumlah gambar yang
ditampilkan adalah tiga gambar.
44 │SUTRI ANIROH
Berikut ada kode HTML untuk membuat antarmuka di atas.
[Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Gallery Foto</title>
</head>
<body>
<center>
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
</center>
<h2>Gallery</h2>
<p>
<img src="images/[Link]" width="150" height="200">
<img src="images/[Link]" width="150" height="200">
<img src="images/[Link]" width="150" height="200">
</p>
</body>
</html>
Latihan 3
Atribut lain yang perlu diketahui adalah alt. Atribut ini berfungsi untuk
memberikan keterangan pada gambar. Pemberian atribut ini juga berguna pada
mesin pencarian gambar yang dimiliki oleh Google. Berikut adalah contoh
penggunaan atribut ini. Gunakan file [Link] kemudian tambahkan atribut alt
dan berikan nilainya seperti contoh di bawah ini.
<img src="images/[Link]" width="150" height="200" alt="Judul buku 1">
Hyperlink
Pada halaman web, kita sering melihat ada teks atau gambar yang dapat diklik
dan kemudian menghantarkan ke halaman lain. Hal tersebut dikenal dengan
Latihan 1
46 │SUTRI ANIROH
Sedangkan halaman web di sebelah kanan adalah [Link]. Pada halaman ini
Gallery tidak bisa diklik sedangkan Profile dan Data adalah hyperlink yang dapat
diklik.
Berikut adalah kode HTML yang mesti ditambahkan pada halaman [Link].
Pada kode di bawah ini dapat dilihat yang menggunakan tag <a> hanya teks
Gallery dan Data saja.
[Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Bio Data Pribadi</title>
</head>
<body>
<center>
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
<p>
Profile |
<a href="[Link]">Gallery</a> |
<a href="[Link]">Data</a>
</p>
</center>
. . .
</body>
</html>
Berikut adalah kode HTML yang mesti ditambahkan pada halaman [Link].
Pada kode di bawah ini dapat dilihat yang menggunakan tag <a> hanya teks
Profile dan Data saja.
[Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Gallery Foto</title>
</head>
<body>
<center>
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
<p>
<a href="[Link]">Profile</a> |
Gallery |
<a href="[Link]">Data</a>
Latihan 2
Pada tag <a>, telah disebutkan bahwa atribut href berfungsi untuk menentukan
tujuan. Pada contoh di atas tujuannya adalah sebuah file HTML. Tujuan juga bisa
berupa file lain seperti gambar dan lain-lain. Selain itu tujuan juga bisa berupa
alamat web seperti [Link] atau [Link] dan lain- lain.
<body>
<ol>
<li><a href="[Link]
<li>
<a href="[Link] target="_blank">
Facebook
</a>
</li>
48 │SUTRI ANIROH
<li><a href="[Link]
</ol>
</body>
</html>
Pada kode di atas, diperkenalkan atribut target pada tag <a>. Atribut target
berfungsi untuk menentukan dimana dokumen/alamat web dibuka. Pada contoh
di atas digunakan target=”_blank” yang artinya alamat web akan dibuka pada
window atau tab baru.
- _self, adalah nilai default. Jadi jika tag <a> tidak menggunakan atribut
target maka secara default nilai atribut ini adalah _self. Nilai ini berarti
dokumen akan dibuka pada window atau tab yang sama.
- _parent, nilai ini berfungsi untuk membuka dokumen pada parent frame.
- _top, nilai ini bertujuan agar dokumen dibuka pada seluruh bagian dari
window.
- framename, berfungsi untuk membuka dokumen pada frame dengan
nama ini.
Untuk atribut dengan nilai _parent, _top dan framename dapat dicoba jika
halaman web menggunakan frame. Saat ini sudah jarang implementasi frame
pada halaman web karena dianggap tertinggal.
Latihan 3
Selain contoh-contoh di atas, hyperlink dengan tag <a> dapat dipergunakan untuk
mengantarkan user pada area tertentu yang sudah ditandai pada sebuah
halaman. Contohnya seperti daftar isi pada dokumen MS Word, dimana saat user
mengklik salah satu link pada daftar isi (misal: Chapter 2) maka secara otomatis
user tersebut diantarkan ke halaman yang berisi Chapter 2 tersebut.
Pada Gambar 28 dapat dilihat menu pada bagian atas kiri. Jika hyperlink Chapter
1 diklik maka layar akan bergeser ke bawah menuju bagian Chapter 1 yang sudah
ditandai. Begitu juga jika hyperlink Chapter 2 dan Chapter 3 diklik. Pada halaman
ini juga dapat dilihat hyperlink HOME disetiap akhir paragraf. Jika hyperlink ini
diklik maka layar akan dikembalikan pada posisi teratas.
50 │SUTRI ANIROH
<body>
<p> <a name="home">HOME</a> |
<a href="#chapter1">Chapter 1</a> |
<a href="#chapter2">Chapter 2</a> |
<a href="#chapter3">Chapter 3</a>
</p>
Table
Tabel sering kita lihat ketika menggunakan aplikasi spreadsheet sepeti MS Excel.
Umumnya tabel digunakan untuk menampilkan data. Sama halnya seperti pada
halaman web, tabel juga digunakan untuk menampilkan data baik data teks atau
gambar.
Untuk membuat tabel digunakan beberapa tag HTML yang saling berhubungan.
Untuk membuat sebuah tabel yang lengkap diperlukan tag-tag berikut ini:
- <table>
- <tr> digunakan untuk membuat baris.
- <th> digunakan untuk membuat kolom header.
- <td> digunakan untuk membuat kolom data.
Berikut adalah contoh tabel yang umum ditemui.
Dari tabel di atas dapat dilihat bahwa tabel memiliki 3 kolom dan 3 baris. Dimana
baris pertama dikenal dengan istilah header.
Untuk mengetahui bagaimana cara menulis kode HTML, maka akan diberikan
contoh tabel yang sangat sederhana yaitu tabel yang terdiri atas 1 baris dan 1
kolom saja seperti tabel di bawah ini.
Tabel Sangat Sederhana
Kode HTML untuk membuat tabel tersebut adalah sebagai berikut.
table [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Table</title>
</head>
52 │SUTRI ANIROH
<body>
<table border="1" width="100%">
<tr>
<td>Tabel Sangat Sederhana</td>
</tr>
</table>
</body>
</html>
Dari contoh kode HTML di atas dapat dilihat penggunaan tag <table></table>
dimana didalamnya ditambahkan tag <tr></tr> untuk membuat row (baris).
Namun sebuah baris yang dibuat dengan tag <tr></tr> belum terlihat hasilnya
jika didalamnya belum ada minimal 1 kolom yang dibuat dengan tag
<td></td>. Dan setiap kolom sebaiknya memiliki nilai bisa berupa teks atau
gambar. Namun jika tidak ingin menampilkan teks atau gambar, hanya kolom
kosong saja maka dapat menggunakan “ ” yang sama nilainya dengan spasi.
Contoh selanjutnya adalah membuat tabel yang terdiri atas dua baris dengan satu
kolom seperti tabel di bawah ini.
Baris 1
Baris 2
<!DOCTYPE HTML>
<html>
<head>
<title>Table</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<td>Baris 1</td>
</tr>
<tr>
<td>Baris 2</td>
</tr>
</table>
</body>
</html>
Contoh selanjutnya adalah membuat tabel dengan dua kolom dan 1 baris seperti
tabel berikut ini.
Kolom 1 Kolom 2
Kode HTML yang ditulis untuk membuat tabel tersebut adalah sebagai berikut.
table [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Table</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<td>Kolom 1</td>
<td>Kolom 2</td>
</tr>
</table>
</body>
</html>
Karena tabel terdiri atas satu baris saja maka di dalam tag <table></table>
ditambahkan sepsang tag <tr></tr>. Kemudian didalam tag tersebut tambahkan
dua pasang tag <td></td> untuk membuat dua kolom.
Latihan 1
Buat tabel yang memiliki header seperi berikut ini. Pada header, teks dibuat cetak
tabel.
Kode HTML untuk membuat tabel di atas adalah sebagai berikut ini.
table [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Daftar Pegawai</title>
</head>
54 │SUTRI ANIROH
<body>
<table border="1" width="100%">
<tr>
<th>No</th>
<th>Nama</th>
<th>Email</th>
<th>Kota</th>
</tr>
<tr>
<td>1</td>
<td>Budi</td>
<td>budi@[Link]</td>
<td>Banjarmasin</td>
</tr>
<tr>
<td>2</td>
<td>Wati</td>
<td>wati@[Link]</td>
<td>Banjarbaru</td>
</tr>
</table>
</body>
</html>
Pada table di atas terdiri atas 3 baris dan 4 kolom. Untuk membuatnya maka
terlebih dahulu fokus untuk membuat sebuah baris terlebih dahulu, artinya
setelah tag <table></table> isi dengan sepasang tag <tr></tr>. Kemudian
didalamnya tambahakan tag <td></td> sebanyak jumlah kolom yang yaitu 4
pasang.
Selanjutnya tinggal copy dan paste baris yang sudah dibuat sebanyak dua kali
sehingga akhirnya didapat table seperti pada contoh di atas. Karena ingin
membuat baris yang paling atas sebagai header maka tag <td></td> dapat diubah
menjadi tag <th></th>. Dengan menggunakan tag ini maka secara otomatis teks
didalamnya dicetak tebal.
Latihan 2
Latihan berikutnya adalah membuat tabel seperti pada Gambar 29. Perhatikan
bahwa gambar pada kolom harus pada posisi di tengah kolom. Sedangkan angka
pada kolom jumlah harus pada posisi rata kanan.
<body>
<table border="1" width="100%">
<tr>
<th>No</th>
<th>Gambar</th>
<th>Judul</th>
<th>Jumlah</th>
</tr>
<tr>
<td>1</td>
<td align="center">
<img src="images/books/[Link]">
</td>
<td>Illustrated C#</td>
<td align="right">5</td>
</tr>
<tr>
56 │SUTRI ANIROH
Pemrograman Web Dasar I: Belajar HTML 5│ 57
<td>2</td>
<td align="center">
<img src="images/books/[Link]">
</td>
<td>MATLAB Machine Learning Recipes</td>
<td align="right">10</td>
</tr>
<tr>
<td>3</td>
<td align="center">
<img src="images/books/[Link]">
</td>
<td>Pro React 16</td>
<td align="right">1</td>
</tr>
</table>
</body>
</html>
Pada kode di atas dapat dilihat penggunaan atribut align pada tag <td>. Atribut
tersebut berfungsi untuk menentukan posisi teks atau gambar pada kolom. Jika
nilai atribut align=”center” artinya teks atau gambar adalah rata tengah.
Sedangkan jika atribut align=”right” artinya teks atau gambar adalah rata kanan.
Latihan 3
Data
Januari Februari
12 13
13 14
Tabel ini terdiri atas dua kolom dan memiliki dua header. Header yang pertama
adalah “Data” (baris pertama). Sedangkan header kedua adalah “Januari” dan
“Februari” (baris kedua). Header pertama merupakan gabungan antara dua
kolom.
Untuk membuat tabel seperti ini digunakan kode HTML sebagai berikut ini.
table [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Data</title>
</head>
58 │SUTRI ANIROH
<body>
<table border="1" width="100%">
<tr>
<th colspan="2">Data</th>
</tr>
<tr>
<th>Januari</th>
<th>Februari</th>
</tr>
<tr>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>13</td>
<td>12</td>
</tr>
</table>
</body>
</html>
Pada kode di atas dapat dihat ada dua baris (yaitu baris pertama dan kedua) yang
menggunakan tag <th> di dalam tag <tr>. Ini berarti ada dua baris yang menjadi
header.
<tr>
<th colspan="2">Data</th>
</tr>
<tr>
<th>Januari</th>
<th>Februari</th>
</tr>
Kemudian pada tag <tr> pada baris pertama hanya menggunakan satu tag <th>
saja. Namun karena tabel ini adalah terdiri atas dua kolom, jika pada baris
pertama ingin menjadi satu kolom saja maka kedua kolom dapat digabung
dengan cara menggunakan atribut colspan dengan nilai adalah 2. Artinya untuk
menggabungkan kolom dapat digunakan atribut colspan.
Data
Januari Februari Maret
1 2 3
4 5 6
<body>
<table border="1" width="100%">
<tr>
<th colspan="3">Data</th>
</tr>
<tr>
<th>Januari</th>
<th>Februari</th>
<th>Maret</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
</body>
</html>
Latihan 4
Pada latihan ini akan diberikan cara untuk membuat tabel seperti berikut ini.
tabel di bawah ini adalah tabel dengan 4 baris dan 2 kolom. Namun baris pertama
dan kedua pada kolom pertama digabung dan didalamnya diberi nilai “Bulan”.
Sedangkan pada kolom kedua masih tetap memiliki dua baris yang keduanya
adalah header.
Bulan Data
Curah Hujan
Januari 1
Februari 2
60 │SUTRI ANIROH
Dengan penjelasan dan gambar di atas maka kode HTML yang mesti ditulis adalah
sebagai berikut.
table [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Data</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<th rowspan="2">Bulan</th>
<th>Data</th>
</tr>
<tr>
<th>Curah Hujan</th>
</tr>
<tr>
<td>Januari</td>
<td>1</td>
</tr>
<tr>
<td>Februari</td>
<td>2</td>
</tr>
</table>
</body>
</html>
Mirip dengan tabel di atas, namun baris yang digabung adalah baris pada kolom
kedua seperti pada tabel di bawah ini.
<body>
<table border="1" width="100%">
Latihan 5
Untuk lebih mengerti penggunaan atribut rowspan dapat melihat gambar dan
contoh kode HTML berikut ini.
<body>
<table border="1" width="100%">
<tr>
<th>Header 1</th>
<th rowspan="2">Header 3</th>
<th>Header 4</th>
62 │SUTRI ANIROH
</tr>
<tr>
<th>Header 2</th>
<th>Header 5</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
</body>
</html>
Atribut method dapat berisi sebuah nilai yaitu POST atau GET (walau masih ada
metode yang lain). Hanya 1 nilai saja yang menjadi nilai dari atribut method.
POST dan GET adalah cara bagaimana data dikirimkan atau ditrasfer
64 │SUTRI ANIROH
oleh form sebagai client ke server. Jika menggunakan POST, nilai-nilai parameter
yang dikirimkan berada di dalam badan pesan sedangkan jika menggunakan
metode GET maka parameter dan nilainya dapat dilihat pada URL pada alamat
web browser.
<body>
<form action="form_1.html" method="POST">
Nama<br>
<input type="text" name="nama"><br>
NIM<br>
<input type="text" name="nim"><br>
<input type="submit" value="Kirim">
</form>
</body>
</html>
Tampilan kode HTML ini dapat dilihat pada Gambar 31. Halaman web ini
menggunakan method=”POST”, setelah kolom input diisi dan tombol Kirim diklik
maka dapat dilihat data akan dikirim ke alamat sesuai dengan nilai atribut
action=”form_1.html”.
Gambar 32. Form input data - form - isi nilai kolom input.
Setelah tombol Kirim diklik, kemudian coba perhatikan sebagian URL pada
alamat web browser akan terlihat seperti link berikut ini. Ini adalah cara method
GET mengirim data yaitu dengan memanfaatkan URL.
…/source/bab_3_html/form_1.html?nama=andi&nim=10297096
Nama parameter di URL ini sesuai dengan atribut name yang ada pada tag
<input> untuk kolom isian nama dan NIM, dimana untuk untuk kolom isian nama
digunakan atribut name=”nama”. Dan untuk kolom isian NIM digunakan atribut
name=”nim”. Kedua kode tersebut dapat dilihat kembali di bawah ini.
...
<input type="text" name="nama">
...
<input type="text" name="nim">
...
Pada Gambar 32, diiisikan nilai “andi” pada kolom isian Nama dan nilai
“10297096” pada kolom isian NIM. Sehingga dapat dilihat pada URL, parameter
name=andi dan parameter nim=10297096.
Contoh-contoh penggunaan tag ini akan lebih banyak dibahas pada bab Error!
Reference source not found..
Textbox
Textbox adalah nama yang umum digunakan untuk membuat kolom input untuk
isian yang teks. Textbox umumnya digunakan untuk mengisi nilai seperti
username, nama, alamat dan lain-lain.
Tag yang digunakan untuk membuat textbox adalah <input>. Sebenarnya tag ini
dapat digunakan untuk membuat berbagai bentuk seperti radiobutton dan
tombol. Untuk menggunakan tag ini sebagai textbox digunakan sintaks sebagai
berikut.
66 │SUTRI ANIROH
Pada sintaks di atas terdapat tiga atribut penting. Yang pertama adalah atribut
type. Untuk membuat tag <input> menjadi textbox harus digunakan nilai “text”
sebagai nilai atribut type.
Atribut kedua adalah name, atribut ini berfungsi untuk memberikan nama kepada
tag ini sekaligus menjadi nama parameter pada pengiriman data. dengan
mengetahui nama parameter maka dapat diketahui nilai yang diisikan oleh user
untuk parameter ini.
Atribut ketiga adalah id, atribut ini berfungsi untuk memberi identitas unik pada
tag. Artinya tidak ada nilai atribut id yang sama digunakan pada sebuah halaman
web. Umumnya nilai pada atribut id ini digunakan oleh pemrograman sisi client
(client-side programming seperti Javascript) untuk mengkases tag. Penggunaan
atribut ini akan diterangkan lebih lanjut pada bab 5 JavaScript.
Berikut adalah contoh dari penggunaan tag <input> untuk membuat textbox.
textbox [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Textbox</title>
</head>
<body>
<form>
Username<br>
<input type="text" name="username" id="textbox_username">
<br>
Nama<br>
<input type="text" name="nama" id="textbox_nama"><br>
Alamat<br>
<input type="text" name="alamat" id="textbox_alamat">
</form>
</body>
</html>
Hasilnya dapat dilihat pada gambar di bawah ini. Textbox ini memiliki ukuran
yang sama dan ditujukan untuk isian singkat saja. Untuk menentukan ukuran,
warna dan lain-lain akan diberikan pada bahasan tentang Cascading Style Sheets
(CSS).
Tombol
Button atau tombol adalah hal penting pada sebuah form. Umumnya tombol
digunakan untuk antarmuka yang diklik untuk mengirimkan data. Untuk
membuat tombol juga digunakan tag <input> namun atribut yang digunakan
adalah “submit”, “reset” atau “button”.
- submit.
- reset.
- button.
Ketiganya menghasilkan tombol dengan bentuk yang sama, tetapi mempunyai
cara kerja yang berbeda.
68 │SUTRI ANIROH
Atribut value berfungsi untuk memberikan teks yang dapat dilihat pada tombol.
<body>
<form method="POST">
Username<br>
<input type="text" name="username" id="textbox_username">
<br>
Nama<br>
<input type="text" name="nama" id="textbox_nama"><br>
Alamat<br>
<input type="text" name="alamat" id="textbox_alamat">
<br><br>
<input type="submit" value="simpan">
<input type="button" value="hapus">
<input type="reset" value="reset">
</form>
</body>
</html>
Berbeda jika dibandingkan dengan tag input yang menggunakan atribut adalah
button. Tombol tipe ini tidak memberikan aksi apa-apa ketika diklik. Jika pada
form hanya memiliki tombol tipe ini maka tidak akan ada proses pengiriman data
ketika user menekan tombol enter saat telah mengisi kolom inputan. Tombol tipe
ini hanya akan memberikan reaksi ketika tombol ini diberikan penanganan event
(event handling). Penanganan event pada tombol tipe ini akan dibahas pada
pembahasan tentang client-side programming di bab 5 JavaScript.
Tipe tombol selanjutnya adalah yang menggunakan atribut dengan nilai adalah
reset. Sesuai dengan tipenya, tombol ini berfungsi untuk mereset form menjadi
semula. Artinya setelah user mengisi nilai-nilai pada kolom inputan dan
kemudian tombol tipe ini diklik maka setiap nilai-nilai yang tersebut akan
dihapus.
Latihan 1
Pada latihan ini akan diberikan contoh penggunaan input tipe submit dan reset.
Dengan antarmuka sebagai berikut.
70 │SUTRI ANIROH
button [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Tombol</title>
</head>
<body>
<form method="GET">
Bilangan 1<br>
<input type="text" name="bilangan1" inputmode="numeric"
id="textbox_bilangan1">
<br>
Bilangan 2<br>
<input type="text" name="bilangan2" inputmode="numeric"
id="textbox_bilangan2">
<br><br>
<input type="submit" value="simpan">
<input type="reset" value="reset">
</form>
</body>
</html>
Jalankan halaman web di atas pada web browser, kemudian isi kolom input
Bilangan 1 dan Bilangan 2. Ketika cursor masih di kolom input Bilangan 2, tekan
tombol enter. Maka dapat dilihat ada proses pengiriman data, yang buktinya
dapat dilihat dengan cara melihat perubahan pada URL (lihat lagi pembahasan
pada sub bab Form).
Pada kode di atas juga dapat dilihat penggunaan atribut inputmode pada tag
input untuk membuat textbox. Nilai pada atribut tersebut adalah numeric,
dimaksudnya agar ketika user mengetik nilai pada kolom input ini akan
ditampilkan keyboard numerik saja. Tapi hal ini hanya akan terlihat ketika
diakses pada perangkat mobile.
Latihan 2
Pada latihan ini diberikan contoh penggunaan input tipe button. Berikut adalah
antarmukanya.
<body>
<form method="GET">
<h3>Registrasi User</h3>
Username<br>
<input type="text" name="username" id="textbox_username">
<br>
Password<br>
<input type="password" name="password"
id="textbox_password">
<br>
Email<br>
<input type="email" name="email" id="textbox_email">
<br><br>
<input type="button" value="register">
<input type="reset" value="batal">
</form>
</body>
</html>
Buka halaman web ini, dan lakukan hal yang sama seperti pada Latihan 1. Dan
perhatikan apakah ada perubahan pada URL ketika tombol enter ditekan atau
tombol register ditekan.
72 │SUTRI ANIROH
Pada kode di atas juga diperkenalan input dengan type=”password” dan
type=”email”. Input tipe password umum digunakan sejak HTML versi awal dan
dipastikan dapat dikenalan oleh web browser baru dan lama. Sedangkan input
tipe email belum tentu dikenali oleh web browser lama.
Label
Label adalah teks yang biasanya digunakan untuk menjelaskan elemen form.
Sebagai contoh, sebelum kolom input seperti username, nama dan alamat pada
gambar di bawah ini.
Gambar 37. Form input data - Label - Contoh label pada form.
Pada contoh sebelumnya untuk membuat teks tersebut hanya ditulis teks biasa
tanpa menggunakan tag <label>. Tag ini memiliki beberapa manfaat jika
digunakan, yang pertama adalah kemudahan untuk memberikan style pada teks.
Yang kedua adalah memudahkan user mengakses elemen form hanya dengan
mengklik labelnya saja.
<!DOCTYPE HTML>
<html>
<head>
<title>Label</title>
</head>
<body>
<form>
<label for="textbox_username">Username</label><br>
<input type="text" name="username" id="textbox_username">
<br>
<label for="textbox_nama">Nama</label><br>
<input type="text" name="nama" id="textbox_nama"><br>
<label for="textbox_alamat">Alamat</label><br>
<input type="text" name="alamat" id="textbox_alamat">
</form>
</body>
</html>
Simpan kode HTML di atas ke dalam file label_1.html, kemudian buka pada web
browser. Kemudian klik label Username, Nama atau Alamat. Maka dapat dilihat
bahwa cursor langsung ditempat pada elemen form yang sesuai dengan tujuan
label-label tersebut.
Radio Button
Tag ini digunakan untuk membuat antarmuka yang memungkinkan user memilih
hanya satu opsi dari beberapa opsi yang diberikan. Sebagai contoh jenis kelamin,
pekerjaan dan lain-lain.
74 │SUTRI ANIROH
akan dikirimkan. Nilai atribut id juga harus berisi nilai yang berbeda seperti yang
dijelaskan sebelumnya.
<body>
<form method="GET">
<label for="textbox_nama">Nama</label> <br>
<input type="text" name="nama" id="textbox_nama">
<br><br>
Jenis Kelamin<br>
<input type="radio" name="jenis_kelamin" value="pria"
id="radio_jk_pria">
<label for="radio_jk_pria">Pria</label>
<br>
<br><br>
<input type="submit" value="kirim data">
<input type="reset" value="batal">
</form>
</body>
</html>
Pada contoh di atas atribut name kedua radio button memiliki nilai yang sama
yaitu “jenis_kelamin”. Ini menandakan keduanya merupakan satu kesatuan,
artinya user hanya akan bisa memilih salah satu radio button ini.
Untuk percobaan, buka file ini pada web browser kemudian isi nama dan klik
radio button Pria. Kemudian klik tombol “kirim data”. Dan perhatikan URL pada
kolom address akan dapat dilihat sebagai berikut.
...bab_3_html/radiobutton_1.html?nama=adi&jenis_kelamin=pria
Kemudian isi kembali form dengan nilai yang berbeda, dan klik radio button
Wanita. Kemudian kembali perhatikan URL pada kolom address.
Latihan 1
Pada latihan ini diperlihatkan penggunaan dua group radio button yaitu group
jenis kelamin dan pekerjaan. Pada group jenis kelamin digunakan dua tag radio
button. Sedangkan pada group pekerjaan digunakan tiga tag radio button. Berikut
adalah kode HTML halaman web ini.
radiobutton [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Radio Button</title>
</head>
<body>
<form method="GET">
<label for="textbox_nama">Nama</label> <br>
<input type="text" name="nama" id="textbox_nama">
<br><br>
Jenis Kelamin<br>
<input type="radio" name="jenis_kelamin" value="pria"
id="radio_jk_pria">
<label for="textbox_jk_pria">Pria</label>
<br>
<input type="radio" name="jenis_kelamin" value="wanita"
id="radio_jk_wanita">
<label for="textbox_jk_wanita">Wanita</label>
<br><br>
Pekerjaan<br>
<input type="radio" name="pekerjaan" value="sekolah"
id="radio_pekerjaan_sekolah">
<label for="radio_pekerjaan_sekolah">Sekolah</label>
<br>
<input type="radio" name="pekerjaan" value="swasta"
id="radio_pekerjaan_swasta">
<label for="radio_pekerjaan_swasta">
Pegawai Swasta
76 │SUTRI ANIROH
</label>
<br>
<input type="radio" name="pekerjaan" value="pns"
id="radio_pekerjaan_pns">
<label for="radio_pekerjaan_pns">Pegawai Negeri</label>
<br><br>
<input type="submit" value="kirim data">
<input type="reset" value="batal">
</form>
</body>
</html>
Sedangkan antarmukanya dapat dilihat pada Gambar 38. Pada Kode di atas dapat
dilihat untuk membuat group radio button dilakukan dengan cara memberikan
nilai atribut name yang sama.
Checkbox
Elemen checkbox juga diperuntukkan agar user dapat memilih opsi yang sudah
disediakan. Opsi dari terdiri atas satu atau lebih. Berbeda dengan radio button
yang hanya dapat memilih satu opsi saja, checkbox memungkinkan user untuk
memilih satu atau lebih opsi yang tersedia.
<body>
<form method="GET">
<label for="textbox_nama">Nama</label> <br>
<input type="text" name="nama" id="textbox_nama">
<br><br>
78 │SUTRI ANIROH
id="checkbox_programming2">
<label for="checkbox_programming2">PHP</label>
<br><br>
<input type="submit" value="kirim">
<input type="reset" value="batal">
</form>
</body>
</html>
Latihan 1
Pada latihan ini dibuat antarmuka untuk login yang menggunakan sebuah elemen
checkbox.
<body>
<form method="GET">
<h4>Login</h4>
<label for="textbox_username">Username</label> <br>
<input type="text" name="username" id="textbox_username">
<br>
<input type="checkbox" name="remember_me" value="true"
id="checkbox_remember_me" checked="checked">
<label for="checkbox_remember_me">Remember me</label>
<br><br>
Textarea
Pada sub bab sebelumnya telah dijelaskan tentang elemen textbox. Textbox
umumnya digunakan jika isian hanya sebaris saja. Jika isian bisa lebih dari satu
baris, bisa menggunakan elemen textarea. Contoh implementasi textarea adalah
kolom isian untuk isi email atau isi blog.
80 │SUTRI ANIROH
Gambar 41. Form input data - Textarea - Form isian email.
Berikut adalah kode HTML untuk membuat antarmuka di atas.
textarea [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Textarea</title>
</head>
<body>
<form method="POST">
<label for="textbox_email_pengirim">Email Pengirim</label>
<br>
<input type="text" name="email_pengirim"
id="textbox_email_pengirim">
<br>
<label for="textbox_email_tujuan">Email Tujuan</label> <br>
<input type="text" name="email_tujuan"
id="textbox_email_tujuan">
<br>
<label for="textarea_isi_email">Isi</label> <br>
<textarea name="isi_email" id="textarea_isi_email"
cols="75" rows="7">
</textarea>
<br><br>
<input type="submit" value="kirim email">
<input type="reset" value="batal">
</form>
</body>
</html>
Drop-down List
Untuk membuat drop-down list digunakan tag <select> dan <option>. Logika
pembuatan drop-down list ini sama dengan logika pembuat list dengan <ul> atau
<ol> yang didalamnya ada tag <li>.
<body>
<form method="GET">
<label for="select_pendidikan">Pendidikan</label> <br>
<select name="pendidikan" id="select_pendidikan">
<option value="sd">Sekolah Dasar</option>
<option value="smp">Sekolah Menengah Pertama</option>
<option value="sma">Sekolah Menengah Atas</option>
<option value="kuliah">Kuliah</option>
</select>
<br><br><br><br><br><br>
<input type="submit" value="kirim">
<input type="reset" value="batal">
</form>
</body>
</html>
Kode ini memungkinkan user hanya memilih satu opsi saja. Agar user dapat
memilih lebih dari 1 opsi maka perlu penambahan atribut pada tag <select>
seperti yang dijelaskan pada bagian Latihan 1.
Latihan 1
Tag ini juga dapat digunakan untuk membuat tampilan dimana user dapat
memilih lebih dari satu opsi seperti pada gambar di bawah ini.
84 │SUTRI ANIROH
Berikut adalah kode HTML untuk membuat tampilan seperti gambar di atas.
dropdownlist [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Drop-Down List</title>
</head>
<body>
<form method="GET">
<label for="select_pendidikan">Pendidikan</label> <br>
<select name="pendidikan" id="select_pendidikan"
multiple="multiple">
<option value="sd">Sekolah Dasar</option>
<option value="smp">Sekolah Menengah Pertama</option>
<option value="sma">Sekolah Menengah Atas</option>
<option value="kuliah">Kuliah</option>
</select>
<br><br>
<input type="submit" value="kirim">
<input type="reset" value="batal">
</form>
</body>
</html>
Untuk membuat tag <select> dapat digunakan oleh user untuk memilih lebih dari
satu opsi, cukup dengan menambahkan atribut multiple. Seperti pada kode di
atas.
Upload File
Elemen upload file digunakan untuk memilih file yang akan diupload. Ada
beberapa syarat bagi halaman untuk mengupload file. Syarat pertama adalah tag
<form> harus menggunakan atribut method=”POST”. Gunakan atribut
enctype=”multipart/form-data”. Selanjutnya adalah gunakan tag <input> dengan
atribut type=”file” di dalam tag form tersebut. Berikut adalah contoh sintaks dari
tag untuk membuat elemen upload file.
Berikut adalah contoh penggunaan elemen upload file untuk upload foto.
file upload [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data">
<label for="file_upload_foto">Pas Foto</label><br>
<input type="file" name="file_foto"
id="file_upload_foto">
</form>
</body>
</html>
Gambar 44. Form input data- Upload file - antarmuka upload file pada
Microsoft Edge.
86 │SUTRI ANIROH
Project
Berikut ini adalah project yang harus dikerjakan dan diselesaikan dengan
menggunakan tag-tag dasar yang telah diberikan di atas.
Pada tugas ini pembaca harus membuat beberapa halaman web yang saling
terhubung. Beberapa halaman pada project ini telah dibuat pada latihan-latihan
sebelumnya hanya saja perlu dilengkapi.
Halaman utama dari project ini adalah [Link], lengkapi halaman ini untuk
menceritakan profile diri anda.
Halaman kedua adalah [Link] yang merupakan gallery foto anda. Isi
halaman gallery dengan 20 foto. Ukuran asli foto usahakan jangan lebih kecil dari
600 x 750 pixel. Namun ketika ditampilkan pada halaman [Link], sesuaikan
lebarnya menjadi 100-pixel saja. Setiap foto dapat diklik, ketika foto diklik maka
user akan diantarkan ke file asli dari setiap foto tersebut. Gambar- gambar yang
ditampilkan pada halaman ini disimpan dalam sebuah folder dengan nama
gallery.
Halaman ketiga adalah [Link] yang berisi data 10 buku yang pernah anda
baca. Data ditampilkan dalam bentuk tabel yang berisi:
- Judul buku.
- Pengarang.
- Foto buku.
- Detail yang berisi hyperlink teks “Detail” yang dapat diklik. Ketika
hyperlink ini diklik user akan diantarkan pada bagian detail dari buku
tersebut.
Gambar-gambar buku yang ditampilkan pada halaman ini disimpan ke dalam
sebuah folder yaitu books. Informasi detail dari setiap buku diletakkan di bawah
tabel data buku tersebut. Di bawah informasi detail dari setiap buku berikan
hyperlink “TOP” yang ketika diklik akan mengantarkan user kembali ke tabel data
daftar buku (seperti yang telah dijelaskan pada Latihan 3 di sub bab Hyperlink).
Ketiga halaman ini harus memiliki header yang berisi foto anda dan semboyan
yang berada di atas tengah (center) halaman web. kemudian dibawahnya
Langkah-Langkah Pengerjaan
<body>
<center>
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p>
<i><b>semboyan atau kalimat penyemangat diri</b></i>
</p>
<p>
Profile |
<a href="[Link]">Gallery</a> |
<a href="[Link]">Data</a>
</p>
</center>
<h2>Pribadi</h2>
<h3>a. Sifat Umum</h3>
<p>
ceritakan sifat umum anda di sini.
<b>ceritakan sifat <i>umum</i> anda di <u>sini</u>.</b>
ceritakan sifat umum anda di sini.
</p>
<p>
paragraf kedua. paragraf
kedua. paragraf kedua.
paragraf kedua. paragraf
kedua. paragraf kedua.
paragraf kedua. paragraf
kedua.
</p>
<p>
paragraf ketiga. paragraf
ketiga. paragraf ketiga.
paragraf ketiga. paragraf
ketiga. paragraf ketiga.
paragraf ketiga. paragraf
88 │SUTRI ANIROH
ketiga.
</p>
<h3>b. Kelebihan</h3>
<body>
90 │SUTRI ANIROH
<center>
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p>
<i><b>semboyan atau kalimat penyemangat diri</b></i>
</p>
<p>
<a href="[Link]">Profile</a> |
Gallery |
<a href="[Link]">Data</a>
</p>
</center>
<h2>Gallery</h2>
<!-- salin awal -->
<p>
<a href="images/gallery/[Link]" target="_blank">
<img src="images/gallery/[Link]"
width="100" alt="gallery 1" />
</a>
<a href="images/gallery/[Link]" target="_blank">
<img src="images/gallery/[Link]"
width="100" alt="gallery 2" />
</a>
<a href="images/gallery/[Link]" target="_blank">
<img src="images/gallery/[Link]"
width="100" alt="gallery 3" />
</a>
<a href="images/gallery/[Link]" target="_blank">
<img src="images/gallery/[Link]"
width="100" alt="gallery 4" />
</a>
<a href="images/gallery/[Link]" target="_blank">
<img src="images/gallery/[Link]"
width="100" alt="gallery 5" />
</a>
</p>
<!-- salin akhir -->
...
<!--
copy bagian dari "salin awal" sampai "salin akhir"
paste sebanyak 3 kali agar lengkap dibuat 20 foto gallery
sesuaikan nama file dengan file yang dimiliki
-->
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<title>Gallery Foto</title>
</head>
<body>
<center>
92 │SUTRI ANIROH
<img src="images/[Link]" width="150" height="150">
<h1>NAMA_ANDA</h1>
<p><i><b>semboyan atau kalimat penyemangat diri</b></i></p>
<p>
<a href="[Link]">Profile</a> |
<a href="[Link]">Gallery</a> |
Data
</p>
</center>
<h2><a name="TOP">Daftar Buku</a></h2>
<table width="100%" border="1">
<tr>
<th>Judul Buku</th>
<th>Pengarang</th>
<th>Foto</th>
<th>Detail</th>
</tr>
<tr>
<td>Judul 1</td>
<td>Pengarang 1</td>
<td>
<img src="images/books/[Link]">
</td>
<td align="center">
<a href="#book1">Detail</a>
</td>
</tr>
<!--
salin baris tabel ini sebanyak 9 baris
dan sesuaikan isinya dengan data yang
ingin ditampilkan
-->
</table>
<h2>Detail Buku</h2>
<table width="100%" border="1">
<tr>
<td><img src="images/books/[Link]"></td>
<td valign="top">
Judul: <a name="book1">Judul 1</a><br>
Pengarang: Pengarang 1<br>
detail detail detail detail detail
detail detail detail detail detail
detail detail detail detail detail
detail detail detail detail detail <br>
<a href="#TOP">TOP</a>
</td>
</tr>
1. Daftar Buku.
2. Detail Buku.
Keduanya ditandai oleh teks dengan menggunakan tag <h2>. Pada bagian
pertama yaitu Daftar Buku ditampilkan data buku dalam bentuk tabel seperti
berikut.
<table width="100%" border="1">
<tr>
<th>Judul Buku</th>
<th>Pengarang</th>
<th>Foto</th>
<th>Detail</th>
</tr>
<tr>
<td>Judul 1</td>
<td>Pengarang 1</td>
<td>
<img src="images/books/[Link]">
</td>
<td align="center">
<a href="#book1">Detail</a>
</td>
</tr>
<!--
salin baris tabel ini sebanyak 9 baris dan sesuaikan isinya
dengan data yang
94 │SUTRI ANIROH
ingin ditampilkan
-->
</table>
Pada kolom foto ditampilkan gambar buku. File gambar disimpan pada folder
books di dalam folder images. Setiap baris data memiliki hyperlink Detail yang
ketika diklik akan menuju pada detail buku tersebut. Hyperlink menggunakan tag
<a> dengan atribut #book1 untuk baris pertama. Nilai #book1 ini dapat dilihat
pada potongan kode di bawah ini, dimana Judul 1 diapit oleh tag <a> dengan
atribut name=”book1”. Yang artinya ketika hyperlink Detail diklik maka secara
otomatis halaman akan bergeser pada bagian detail ini.
Sedangkan pada bagian ditampilkan detail buku dalam bentuk tabel sebagai
berikut.
<table width="100%" border="1">
<tr>
<td><img src="images/books/[Link]"></td>
<td valign="top">
Judul: <a name="book1">Judul 1</a><br> Pengarang: Pengarang
1<br>
detail detail detail detail detail detail detail detail detail
detail detail detail detail detail detail detail detail detail
detail detail <br>
<a href="#TOP">TOP</a>
</td>
</tr>
<!--
salin baris tabel ini sebanyak 9 baris dan sesuaikan isinya
dengan data yang ingin ditampilkan
-->
</table>
Pada setiap baris ini terdapat hyperlink <a> dengan atribut href=”#TOP” yang
merujuk pada teks “Daftar Buku” berikut ini. Hyperlink di atas mempunyai fungsi
jika diklik akan mengantarkan ke bagian di bawah ini.
Buat form untuk mengisi buku tamu yang terdiri atas beberapa isian, yaitu:
- Nama.
- Email.
- Tanggal.
96 │SUTRI ANIROH
- Pertanyaan: Apakah website ini bagus? Dengan jawaban dalam bentuk
radio button yang terdiri atas 3 buah pilihan yaitu bagus, biasa dan jelek.
Tapi pilihan tersebut tidak berupa teks. Pilihan dibuat berupa gambar
bintang atau jempol. Jika pilihan bagus berikan 3 bintang atau 3 jempol.
Jika pilihan biasa gunakan 2 bintang atau 2 jempol. Jika pilihan jelek
gunakan 1 bintang atau jempol.
- Komentar yang dapat diisi oleh user berupa teks yang bisa terdiri atas
lebih dari 1 baris.
Di bawah form buat tabel daftar isian buku tamu dengan tampilan seperti berikut.
Komentar
Komentar
Komentar
Komentar
Langkah-Langkah Pengerjaan
<h2>Buku Tamu</h1>
<table border="1" width="100%">
<!-- salin awal-->
<tr>
<td width="85%">
<strong>Nama (Email)</strong>
memberikan komentar pada
<b>31 Mei 2020</b>
</td>
<td width="15%">
<img src="images/star/[Link]" width="20px">
<img src="images/star/[Link]" width="20px">
<img src="images/star/[Link]" width="20px">
</td>
</tr>
<tr>
<td colspan="2">
komentar komentar komentar komentar
98 │SUTRI ANIROH
komentar komentar komentar komentar komentar komentar
komentar komentar
</td>
</tr>
<tr>
<td colspan="2" bgcolor="grey"> </td>
</tr>
<!-- salin akhir-->
<!--
copy dari "salin awal" sampai "salin akhir" kemudian paste sejumlah
yang diinginkan
-->
</table>
</body>
</html>
Halaman ini memiliki dua bagian. Bagian pertama adalah form untuk mengisi
buku tamu dengan penggalan kode sebagai berikut.
<form method="POST">
<label>Nama</label>:<input type="text" name="nama"><br>
<label>Email</label>:<input type="email" name="email"><br>
<label>Tanggal</label>:<input type="date" name="tanggal"><br>
<label>Apakah website ini bagus?</label>
<a href="#"><img src="images/star/[Link]" width="20px"></a>
<a href="#"><img src="images/star/[Link]" width="20px"></a>
<a href="#"><img src="images/star/[Link]" width="20px"></a>
<br>
<label>Komentar</label><br>
<textarea rows="4" cols="50"></textarea><br><br>
<input type="submit" value="Kirim">
<input type="reset" value="Batal">
</form>
Untuk mengisi nilai pertanyaan “Apakah website ini bagus?” digunakan gambar
bintang perak sebanyak 3 buah. Untuk sementara gambar ketiga bintang perak itu
menjadi hyperlink.
Bagian kedua adalah menampilkan daftar isian buku tamu yang ditampilkan
dalam bentuk tabel dengan penggalan kode sebagai berikut.
<table border="1" width="100%">
<!-- salin awal-->
<tr>
<td width="85%">
<strong>Nama (Email)</strong> memberikan komentar pada
<b>31 Mei 2020</b>
</td>
Teks
Preformated Text
Pada sub bab sebelumnya diperkenalkan tag <p> untuk menulis teks dalam
paragraf. Pada sub bab ini diperkenalkan tag <pre> yang berfungsi untuk
menampilkan teks didalamnya dengan format yang memperhatikan spasi dan
pindah baris teks pada kode HTML.
Untuk mengetahui maksud dari penjelasan di atas dapat melihat kode berikut ini.
<body>
<pre>
teks pre teks pre teks pre
teks pre teks pre teks
pre teks pre
teks pre
teks pre
</pre>
<p>
paragraf paragraf
paragraf paragraf
paragraf paragraf
paragraf paragraf
paragraf
</p>
</body>
</html>
Dan hasilnya dapat dilihat pada Gambar 48. Dapat dilihat dengan tag <pre> spasi
dan pindah baris ada pengaruhnya namun tidak pada tag <p>.
<body>
<p>teks dalam paragraf.</p>
<p>
Berikut adalah hal penting tersebut:
<q>hal penting ditulis di sini.</q>
</p>
Dan hasilnya dapat dilihat pada Gambar 49. Teks yang berada diantara tag <q>
dapat ditampilkan mengikuti dan bersambung dengan teks sebelumnya namun
diberikan tanda kutip.
Sedangkan teks yang berada pada tag <blockquote> akan ditampilkan pada
paragraf sendiri tanpa tanda kutip dan menjorok ke dalam. Tag ini ini juga
mempunyai atribut cite yang dapat diisi dengan sumber kalimat dari teks di
dalam tag ini.
Format Teks
Pada sub bab sebelumnya telah diberikan dasar memformat teks seperti cetak
miring, tebal atau garis bawah. Pada bagian ini diberikan tag-tag lain untuk
melakukan hal tersebut dan format-format lainnya.
Untuk membuat cetak miring dapat digunakan alternatif tag <em>, sedangkan
untuk cetak tebal dapat menggunakan tag <strong> dan garis bawah dapat
menggunakan tag <ins>. Sebenarnya fungsi tag <em> ini mempertegas kata.
Sedangkan tag <strong> untuk menyatakan bahwa teks tersebut penting. Dan
<ins> menyatakan teks yang disisipkan. Seperti yang terlihat pada Gambar 50.
Gambar 52. Contoh penggunaan tag code, kbd, samp, & var.
Contoh penggunaan tag-tag di atas dapat dilihat pada kode di bawah ini.
teks lanjut [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>HTML Lanjut - Teks</title>
</head>
<body>
<h3>Bagian I</h3>
<em>Penekanan teks dengan garis miring</em>
<br>
Form
Pada sub bab sebelumnya telah diberikan beberapa tipe dari tag <input>. Tipe
yang telah dibahas adalah:
- Button.
- Checkbox.
- File.
- Submit.
- Reset.
- Text.
- Password.
- Radio.
Selain itu masih ada beberapa tipe yang dapat digunakan yaitu:
<!DOCTYPE HTML>
<html>
<head>
<title>HTML Lanjut - Form</title>
</head>
<body>
<form method="POST">
Warna: <input type="color" name="warna">
<br>
Tanggal: <input type="date" name="tanggal">
<br>
Waktu: <input type="datetime" name="waktu">
<br>
Waktu Local: <input type="datetime-local"
name="waktu-lokal">
<br>
Nilai Rentang: <input type="range" name="nilai-rentang">
<br>
Angka: <input type="number" name="angka">
<br>
Telepon: <input type="tel" name="telepon">
<br>
Jam: <input type="time" name="jam">
<br>
URL: <input type="url" name="url">
<br>
Minggu: <input type="week" name="minggu">
<br>
Bulan: <input type="month" name="bulan">
<br>
Kata Kunci: <input type="search" name="keyword">
</form>
</body>
</html>
<body>
<form method="GET">
<input type="hidden" name="hidden_value_1" value="1">
<input type="submit" value="kirim">
</form>
</body>
</html>
Jika halaman ini ditampilkan pada web browser maka yang terlihat hanyalah
tombol saja. Ketika tombol diklik dan form disubmit maka nilai hidden_value_1
dapat dilihat pada alamat web browser.
Tipe input tidak hanya untuk mengisi nilai atau memilih nilai saja, tapi juga
berbentuk tombol. Pada sub bab sebelumnya telah dikenal tombol-tombol yang
dibuat dari tag <input> dengan nilai atribut type adalah submit, reset dan
<body>
<form method="GET">
Nama: <input type="text" name="nama" >
<br><br>
<input type="image" src="images/button/[Link]"
width="50px">
</form>
</body>
</html>
IFrame
Tag <iframe> berfungsi untuk menampilkan halaman website pada halaman web
yang dibuat. Sebagai contoh dibuat halaman dengan nama iframe_1.html.
Halaman ini memiliki kotak yang didalamnya dapat melihat halaman [Link].
<body>
<iframe src="[Link]" width="500px" height="500px">
</iframe>
</body>
</html>
<body>
<iframe src="[Link] width="500px" height="500px">
</iframe>
</body>
</html>
Pada contoh di atas atribut scr berisi alamat suatu web, maka iframe akan
menampilkan web tersebut seperti pada Gambar 56.
<body>
<a href="[Link] target="layar">Kumparan</a> |
<a href="[Link] target="layar">Detik</a>
<br><br>
<iframe src="[Link]" name="layar" width="500px" height="500px">
</iframe>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 57. Ketika hyperlink Kumparan diklik maka
kotak iframe akan menampilkan web tersebut. Dan ketika hyperlink Detik diklik
maka iframe menampilkan web Detik.
<!DOCTYPE HTML>
<html>
<head>
<title>HTML Lanjut - IFrame</title>
</head>
1. Video
a. MP4.
b. WebM.
c. Ogg video.
2. Audio
a. MP3.
b. WAV.
c. Ogg audio.
Untuk menampilkan video pada halaman HTML digunakan tag <video>. Berikut
adalah contoh dari penggunaan tag ini.
media [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>HTML Lanjut - Media</title>
</head>
<body>
<video width="500" controls>
<source src="multimedia/movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</body>
</html>
Pada tag <video> digunakan atribut width untuk mengatur lebar video player
yang ditampilkan pada halaman web. Sedangkan atribut controls untuk
menampilkan kontrol seperti play, pause, volume suara dan lain-lain pada video
player seperti yang terlihat pada Gambar 59. Kemudian di dalam tag
<video> ditambahkan tag <source> untuk menentukan lokasi file video yang akan
ditampilkan dengan mengisi atribut src. Sesuaikan tipe file dengan menulisnya
pada atribut type.
Berikut adalah contoh kode penggunaan tag ini. Hasilnya dapat dilihat pada
Gambar 60.
media [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>HTML Lanjut - Media</title>
</head>
<body>
<audio controls>
<source src="multimedia/audio.mp3" type="audio/mpeg">
<body>
<audio autoplay>
<source src="multimedia/audio.mp3" type="audio/mpeg">
Your browser does not support the video tag.
</audio>
</body>
</html>
Tag lain untuk menampilkan media adalah <object>. Tag ini dapat digunakan
untuk menampilkan gambar, flash player atau file PDF. Berikut adalah contoh
penggunaan tag ini untuk menampilkan file PDF.
media [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>HTML Lanjut - Media</title>
</head>
<body>
Grafik
Tag <canvas> adalah tempat untuk menggambar secara on-the-fly. Namun untuk
menggambar pada canvas diperlukan pengetahuan pemrograman client side
dengan menggunakan JavaScript. Canvas umum digunakan untuk membuat game
pada antarmuka yang menggunakan HTML. Berikut adalah contoh kode
penggunaan tag <canvas>.
media canvas [Link]
<body>
<canvas id="myCanvas" width="200" height="100"
style="border:1px solid #000000;">
</canvas>
<body>
<svg width="100" height="100">
<circle cx="50" cy="50" r="40"
stroke="green" stroke-width="4"
fill="yellow" />
</svg>
</body>
</html>
Cascading Style Sheets (CSS) adalah bahasa yang digunakan memberikan style
pada halaman web yang ditulis dengan kode HTML. CSS menentukan bagaimana
elemen HTML ditampilkan yang meliputi bentuk, warna dan posisi suatu tag atau
elemen HTML. Selain itu CSS digunakan untuk mengatur tampilan beberapa
halaman web sekaligus dalam sebuah file. Pengetahuan CSS adalah pengetahuan
wajib dimiliki oleh web designer atau developer.
Pada bab ini akan dijelaskan konsep, contoh dan latihan untuk menggunakan CSS.
Pendahuluan
Sub bab ini berisi sintaks dan tata cara penggunaan CSS pada halaman HTML.
Sintaks
Secara umum CSS terdiri atas property dan value dengan sintaks sebagai berikut:
property: value;
Sebagai contoh adalah sebagai berikut:
font-size: 14px;
Contoh di atas mempunyai arti bahwa property adalah font-size dengan value
adalah 14px. Jika style dengan property ini diberikan pada sebuah tag HTML
maka teks yang berada di dalam tag tersebut akan berukuran 14px.
Style CSS tidak hanya berisi sebuah property saja, namun dapat berisi banyak
property dan value. Sintaksnya dapat dilihat pada kode di bawah ini.
- Inline CSS.
- Internal CSS.
- External CSS.
Inline CSS
Cara ini dituliskan langsung pada sebuah tag HTML dengan memberikan property
dan value CSS di dalam atribut style pada tag HTML tersebut. Sintaks dari cara ini
dapat dilihat di bawah ini.
116
Untuk penulisan pada tag dengan tipe void elemen maka sintaksnya adalah
sebagai berikut.
Pada contoh di atas dapat dilihat teks heading 1 dan paragraf menggunakan font
Verdana. Hal ini disebabkan penggunaan CSS dengan property font-
Contoh bagaimana style CSS berefek secara hirarki dapat juga dilihat pada contoh
berikut ini.
Pada sub bab Sintaks disebutkan bahwa value tidak boleh menggunakan spasi.
Jika value berisi nilai yang terdiri atas dua kata maka perlu digabungkan dengan
tanda petik satu (‘). Berikut adalah contoh penggunaannya.
contoh css [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Contoh CSS</title>
</head>
Pada contoh di atas dapat dilihat bahwa sebuah property dapat memiliki lebih
dari 1 nilai. Sebagai contoh property font-family memiliki nilai ‘Courier New’,
Courier dan monospace. Namun untuk nilai yang terdiri atas dua kata disatukan
dengan tanda petik satu. Contoh lain yang menunjukkan property dapat memiliki
lebih satu nilai adalah sebagai berikut.
contoh css [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Contoh CSS</title>
</head>
<body>
<p style="border: 1px solid red;">
paragraf 1 paragraf 1 paragraf 1 paragraf 1.
</p>
<p>
paragraf 2 paragraf 2 paragraf 2 paragraf 2.
</p>
<p>
paragraf 3 paragraf 3 paragraf 3 paragraf 3.
</p>
</body>
</html>
Internal CSS
Untuk menghindari penulisan style CSS yang berulang-ulang seperti yang telah
disebutkan pada sub bab sebelumnya maka penulisan style CSS dapat dilakukan
dengan cara internal CSS.
Penulisan CSS dengan cara ini dilakukan di dalam tag <head>, bukan di dalam tag
<body> seperti yang dilakukan pada cara inline CSS. Untuk menulis CSS di dalam
tag <head> diperlukan tag <style>. Berikut adalah sintaks dan posisi dari tag
<style>.
<!DOCTYPE HTML>
<html>
<head>
<title>Internal CSS</title>
<style>
/* style CSS ditulis di sini */
</style>
</head>
<body>
h1 {
text-transform:
uppercase; font-size:
16px;
}
p {
color: white;
font-size:
10px;
margin: 0px 0px 20px 20px;
}
</style>
</head>
<body>
<h1>Judul 1</h1>
<p>
paragraf paragraf paragraf paragraf.
</p>
<h1>Judul 3</h1>
<p>
paragraf paragraf paragraf paragraf.
</p>
</body>
</html>
Pada kode di atas, style diberikan pada elemen body, h1 dan p. Hasilnya dapat
dilihat pada gambar di bawah ini.
Pada kode di atas, elemen p memiliki property margin dengan 4 nilai yang
menyatakan margin untuk bagian atas, kanan, bawah dan kiri.
Pada contoh di atas selector menggunakan tag HTML. Selain itu selector juga
dapat menggunakan nilai atribut class yang dimiliki oleh tag HTML. Berikut
contoh implementasi cara ini.
internal css [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Internal CSS</title>
<style>
body {
h1 {
text-transform: uppercase; font-size: 16px;
}
<body>
<h1>Judul 1</h1>
<p>
paragraf paragraf paragraf paragraf.
</p>
<h1>Judul 2</h1>
<p class="paragraf_normal">
paragraf paragraf paragraf paragraf.
</p>
</body>
</html>
Pada kode di atas dapat dilihat terdapat dua tag <p>. Pada tag yang pertama tidak
memiliki atribut. Sedangkan pada tag yang kedua memiliki atribut
class=”paragraf_normal”. Untuk memberikan style pada tag yang memiliki atribut
class dengan nilai adalah “paragraf_normal”, cara penulisan selector diawali
dengan tanda titik (.) kemudian diikuti dengan nilai atribut class.
Selain itu juga dapat digunakan nilai atribut id sebagai selector. Berikut adalah
contoh jika ingin menggunakan nilai atribut id sebagai selector. Berikut adalah
antarmuka yang akan dibuat.
#main_menu {
width: auto;
height:
30px;
border: solid 1px
gray;
background-color:
gray; color: white;
}
#side_menu {
float: left;
width: 10%;
height: 500px;
border: solid
1px;
background-color: aqua;
<body>
<div id="header">header</div>
<div id="main_menu">main menu</div>
<div id="side_menu">side menu</div>
<div id="content">content</div>
</body>
</html>
Pada kode di atas digunakan tag <div> untuk membuat layout. Tag ini mempunyai
karakteristik seperti kotak sehingga dapat diatur ukurannya seperti tinggi dan
lebar. Kemudian dapat diatur juga posisinya. Pada kode di atas terdapat 4 tag
<div> untuk membuat area untuk header, menu utama (main menu), menu
samping (side menu) dan isi (content). Setiap tag tersebut diberi atribut id
dengan nilai yang berbeda. Kemudian untuk menggunakan nilai atribut id sebagai
selector digunakan tanda # kemudian diikuti dengan nilai atribut id yang ingin
diberi style.
Internal CSS mempunyai kelebihan jika dibandingkan Inline CSS. Namun tetap
memiliki kekurangan karena style yang ditulis hanya berlaku pada sebuah
halaman saja. Padahal aplikasi web dapat terdiri atas beberapa halaman web yang
mempunyai antarmuka yang sama. Sehingga jika terjadi perubahan style pada
semua halaman, maka modifikasi juga harus dilakukan pada kode CSS di halaman
web lainnya.
External CSS
External CSS adalah cara untuk menyimpan CSS pada sebuah file, kemudian file
tersebut dapat digunakan oleh banyak halaman web. Sehingga jika terjadi
perubahan CSS cukup dengan memodifikasi file CSS tersebut, maka seluruh
halaman web yang menggunakan file tersebut akan mendapat efek
perubahannya.
Untuk memanggil file CSS pada halaman web digunakan tag <link> dengan
sintaks sebagai berikut ini.
<body>
</body>
</html>
Kemudian buat folder css yang lokasinya berada di folder yang sama dengan file
external_css_1.html ini. Selanjutnya buat file [Link] dan simpan di dalam
folder css tersebut. Berikut adalah isi dari file [Link].
[Link]
body {
background-color: gainsboro;
font-family: Verdana, Geneva, Tahoma, sans-serif;
}
Sebuah halaman web dapat menggunakan lebih dari satu file CSS.
Dasar-Dasar CSS
Berikut ini dasar-dasar memberian style pada elemen-elemen HTML. Contoh-
contoh penulisan kode CSS yang diberikan pada sub bab ini menggunakan cara
internal CSS.
Selector
Pada sub bab Tata Cara Penggunaan telah dibahas sedikit tentang selector.
Selector digunakan untuk “menemukan” atau memilih elemen atau tag HTML
yang ingin diberikan style. Hal ini sangat penting untuk diketahui karena
merupakan pengetahuan dasar dalam implementasi CSS pada halaman web.
Simple Selector
Berikut adalah contoh selector sederhana yang umum digunakan memberikan
style CSS pada halaman web.
selector simple [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>CSS - Simple Selector</title>
<style>
p {
border:solid 1px #000000;
padding: 5px;
}
#p2 {
background-color: red;
color: white;
}
<body>
<p>Paragraf 1</p>
<p id="p2">Paragraf 2</p>
<p class="p3">Paragraf 3</p>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 75 berikut ini.
Selector lain yang dapat digunakan adalah dengan menggunakan tanda *, selector
ini akan memilih semua elemen yang ada pada halaman web.
Combinator Selector
Selector jenis ini merupakan kombinasi dari beberapa selector sederhana. Ada 4
cara melakukan kombinasi seperti yang dapat dilihat pada contoh kode berikut
ini.
selector combinator [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>CSS - Combinator Selector</title>
<style>
div p {
border:solid 5px #000000;
padding: 5px;
}
div > p {
background-color:
red; color:white;
}
div + p {
background-color: blue;
color:yellow;
}
div ~ p {
font-style: italic;
}
</style>
</head>
<body>
<p>Paragraf 0</p>
<div>
<p>Paragraf 1</p>
<p id="p2">Paragraf 2</p>
<b>
<p class="p3">Paragraf 3</p>
</b>
</div>
- Paragraf 1.
- Paragraf 2.
- Paragraf 3, elemen ini berada didalam elemen <b> namun berada di
dalam elemen <div>.
- Paragraf 6.
Kombinasi element1 > element2, kombinasi ini menggunakan tanda > yang
mempunyai arti bahwa element2 dipilih jika mempunyai induk element1, atau
element2 yang dipilih adalah anak dari element1. Contohnya dapat dilihat pada
potongan kode CSS berikut ini.
div > p {
background-color: red; color:white;
}
Kode CSS di atas mempunyai makna untuk memilih semua elemen <p> yang
merupakan anak dari elemen <div>. Elemen yang dipilih akan diberi style dengan
latarbelakang berwarna merah dengan teks warna putih, seperti yang dapat
dilihat pada:
- Paragraf 1.
- Paragraf 2.
- Paragraf 6.
Ketiga element <p> di atas berada di dalam elemen <div>. Sedangkan elemen
<p> dari paragraf 3 bukan merupakan anak dari elemen <div>, tetapi adalah anak
dari elemen <b>.
- Paragraf 4.
- Paragraf 5.
- Paragraf 7.
Elemen <p> dari Paragraf 6 tidak dipilih karena kedudukan elemen ini tidak
setara dengan elemen <div> sebelumnya karena berada di dalam elemen <div>
yang lain.
Pseudo-Class Selector
Pseudo-class adalah class yang tidak nyata, artinya class CSS yang tidak dibuat
oleh pembuat halaman web. Pseudo-class merupakan state atau status spesial
dari suatu elemen. Sebagai contoh elemen hyperlink <a> memiliki status visited
ketika hyperlink tersebut telah diklik. Status yang lain adalah hover ketika cursor
mouse mengarah ke hyperlink tersebut.
<body>
<a href="#">Hyperlink</a>
</body>
</html>
Hasilnya dapat dilihat hyperlink berwarna hitam, jika cursor mouse diarahkan ke
hyperlink tersebut maka akan berganti warna menjadi merah. Jika hyperlink
diklik maka statusnya akan menjadi visited dan warna berganti menjadi hijau.
Pada prakteknya selector ini akan sering digunakan untuk memberikan style pada
hyperlink atau menu. Berikut ini contoh yang lain penggunaan selector ini.
selector pseudo class [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>CSS - Pseudo-Class Selector</title>
<style>
p {
display: none;
background-color:
yellow; padding: 20px;
}
div:hover p {
display: block;
}
</style>
</head>
Masih banyak lagi penggunaan selector ini yang dapat dilihat pada link berikut
[Link]
Pseudo-Elements Selector
Pseudo-element CSS digunakan untuk memberikan style pada bagian tertentu
pada element. Untuk mengetahui definisi tersebut dapat melihat contoh berikut
ini.
selector pseudo element [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>CSS - Pseudo-Element Selector</title>
<style>
p::first-line {
color:
#ff0000;
font-variant: small-caps;
}
</style>
</head>
<body>
<p>
paragraf paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf paragraf
</p>
</body>
</html>
<body>
<p>
paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf
paragraf paragraf paragraf paragraf paragraf
paragraf
</p>
</body>
</html>
Hasilnya adalah sebagai berikut dimana style diberikan ketika user memilih teks
pada element <p> seperti pada Gambar 78.
<body>
<a href="[Link]
<br>
<a href="[Link] target="_blank">google</a>
<br>
<a href="[Link] target="_top">youtube</a>
</body>
</html>
Kode CSS di atas memberi contoh untuk memilih elemen <a> yang memiliki
atribut “target” saja. Sehingga dapat dilihat hanya hyperlink google dan youtube
saja yang diberi style dengan latarbelakang warna kuning seperti terlihat pada.
<body>
<div class="first_test">The first div element.</div>
<div class="second">The second div element.</div>
<div class="my-test">The third div element.</div>
<p class="mytest">This is some text in a paragraph.</p>
</body>
Komentar
Untuk membuat komentar atau menonaktifkan kode CSS dapat dilakukan
dengan cara berikut ini.
komentar [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Komentar</title>
<style>
/*
kode CSS di bawah ini membuat
latar belakang abu-abu & teks
warna putih
*/
body
{
background-color: grey;
color: #FFFFFF;
font-family: Verdana, Geneva, Tahoma, sans-serif;
}
<body>
Hello World
<p>Saya sedang belajar CSS.</p>
</body>
</html>
Dari contoh di atas dapat dilihat cara untuk membuat komentar pada kode CSS.
Unit
Unit atau satuan digunanya di belakang angka untuk memberi nilai pada property
seperti height, width, margin, padding, font-size dan lain-lain. Unit dapat dibagi
menjadi 2 jenis yaitu:
- Mutlak (absolute), ukuran dengan satuan ini bersifat tetap. Satuan yang
digunakan adalah:
o cm, centimeter.
o mm, milimeter.
o in, inci dimana 1in = 96px = 2.54cm.
o px, pixel dimana 1px = 1/96th dari 1in.
o pt, point dimana 1pt = 1/72 dari 1in.
o pc, picas dimana 1pc = 12pt.
- Relatif (relative), ukuran menghasilkan panjang atau tinggi yang
berubah-ubah tergantung dari ukuran layar web browser. Elemen HTML
dengan ukuran yang menggunakan unit ini akan menyesuaikan ukuran
dengan ukuran window web browser. Ukuran saat window web browser
penuh dengan ukuran saat window diresize menjadi setengahnya akan
berbeda, tapi proporsi atau prosentasenya akan sama. Satuan yang
digunakan untuk tujuan ini adalah:
o em, ukuran relatif dengan ukuran font-size elemen. Sebagai
contoh 2em artinya ukuran 2 kali dari ukuran font semula).
o ex, ukuran relatif dengan ukuran x-height dari ukuran font
semula.
o %, ukuran relatif dengan ukuran elemen
induk. Berikut adalah contoh sebagian satuan yang disebutkan di
atas.
unit [Link]
div {
font-size: 150%;
border: 1px solid black;
}
</style>
</head>
<body>
<p>Ukuran font-size halaman ini adalah 16px.</p>
<div>Ukuran font-size elemen div adalah 150%.</div>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 81.
Warna
Hampir semua elemen HTML dapat diberi warna. Warna dapat diberikan
pada:
- Teks.
- Latarbelakang (background).
- Border atau sisi dari elemen. Umumnya elemen HTML mempunyai
bentuk persegi empat, seperti elemen <p>, <div>, <td> dan lain-lain.
146 │SUTRI ANIROH
Sehingga warna border dapat diberikan untuk seluruh sisi atau sebagian
sisi yang diinginkan saja.
Warna yang dapat digunakan dengan cara berikut ini:
- Nama warna, menggunakan nama warna seperti blue, black, grey dan
lain-lain. CSS/HTML mendukung nama 140 warna standar yang
didukung oleh semua web browser. Daftarnya dapat dilihat pada link
berikut ini [Link]
- Hexadesimal, menentukan warna dengan menggunakan angka
hexadesimal. Nilai terdiri atas 6 bilangan dimana 2 nilai pertama
menyatakan nilai merah (Red), 2 nilai kedua adalah hijau (Green) dan 2
nilai terakhir adalah nilai biru (Blue). Untuk menggunakan angka
hexadesimal harus diawali tanda #. Sebagai contoh untuk warna hitam
digunakan hex code #000000 dan untuk warna putih digunakan hex code
#FFFFFF.
- RGB, singkatan dari Red, Green dan Blue. Warna ditentukan dengan
menentukan nilai untuk masing-masing komponen tersebut. Setiap
komponen bernilai dalam rentang 0 - 255.
- HSL, singkatan dari Hue, Saturation, dan Lightness. Hue adalah derajat
warna dari roda warna yang memiliki rentang nilai antara 0 - 360.
Sebagai contoh 0 adalah merah, 120 adalah hijau. Saturation adalah
kepekatan warna yang mempunyai nilai dalam persen Lightness memiliki
nilai dalam persen.
Dari keempat cara di atas, yang umum digunakan adalah nama warna dan
hexadesimal. Pembaca dianjurkan untuk mempelajari, mengingat dan
mengimplementasikan kedua cara tersebut saat membuat halaman web.
Teks umumnya berada di dalam suatu elemen HTML seperti <p>, <div> dan
lain-lain. Sehingga pemberian warna untuk teks dilakukan dengan memberikan
style pada elemen HTML tempat teks berada. Property yang digunakan untuk
memberi warna pada teks adalah color. Sedangkan untuk memberikan warna
latar pada elemen tersebut digunakan property background-color.
warna [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Warna</title>
<style>
body {
background-color: grey;
color: #FFFFFF;
}
<body>
Hello World
</body>
</html>
Pada kode di atas dicontohkan pemberikan warna dengan cara memberikan
nama warna dan hexadesimal. Hasilnya dapat dilihat pada Gambar 82.
- border-color.
- border-top.
- border-left.
- border-right.
- border-bottom.
- border, untuk membuat border pada keempat sisi.
- Berikut contoh penggunaan beberapa property dari yang telah
disebutkan di atas. Hasilnya dapat dilihat pada Gambar 83.
warna [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Warna</title>
<style>
body {
background-color: grey;
color:#FFFFFF;
}
.tombol {
background-color: coral; color: #FFFFFF;
border-color: tomato;
}
</style>
</head>
<body>
<p>Tombol</p>
<input type="button" value="button" id="button1" class="tombol">
<input type="submit" value="button" id="button2" class="tombol">
<input type="reset" value="button" id="button3" class="tombol">
</body>
</html>
.warna {
background-color: tomato;
}
.hexadesimal {
background-color: #ff6347;
}
.rgb {
background-color: rgb(255, 99, 71);
}
.hsl {
background-color: hsl(9, 100%, 64%);
}
</style>
</head>
<body>
<p class="warna">Nama Warna</p>
<p class="hexadesimal">Hexadesimal</p>
<p class="rgb">RGB</p>
<p class="hsl">HSL</p>
</body>
</html>
Pada contoh di atas nilai warna RGB ditentukan dengan menggunakan fungsi
rgb(nilai_red, nilai_green, nilai_blue). Sedangkan untuk nilai warna HSL
ditentukan dengan fungsi hsl(nilai_warna, prosentase_saturation,
prosentase_lightness). Hasilnya dapat dilihat pada gambar di bawah ini.
Secara default border pada kotak tidak terlihat tetapi ada. Untuk melihat border
tersebut dapat dilakukan dengan dengan kode CSS berikut ini.
box model [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Box Model</title>
<style>
div, span {
border: solid 1px #000000;
}
</style>
</head>
<body>
<div>
Element div
</div>
- Style border yang dapat berisi nilai solid, dotted, dashed, none dan lain-
lain.
- Ukuran tebal dari boder.
- Warna border.
Hasilnya dapat dilihat pada Gambar 86.
<body>
<div>
Element div
</div>
<div>
Element div
</div>
<hr>
Saya sedang <span>belajar</span> <span>CSS</span>
</body>
</html>
Dan hasilnya dapat dilihat pada Gambar 87.
.div2 {
border: solid 1px #000000; padding: 10px 30px 5px
30px;
}
</style>
</head>
<body>
<div class="div1"> Element div
</div>
<div class="div2"> Element div
</div>
</body>
</html>
Pada kode di atas terdapat dua cara menentukan nilai property padding. Cara
pertama adalah dengan memberikan sebuah nilai untuk keempat sisi area
padding seperti terlihat pada potongan kode CSS berikut.
padding: 5px;
Sedangkan cara kedua adalah dengan memberikan nilai empat nilai yang setiap
nilainya untuk setiap sisi padding seperti dapat dilihat pada potongan kode CSS
berikut.
padding: 10px 30px 5px 30px;
Pada potongan kode ini dapat dilihat terdapat empat nilai, nilai yang pertama
adalah nilai untuk sisi atas, nilai kedua untuk sisi kanan, nilai ketiga untuk sisi
bawah dan nilai keempat untuk sisi kiri. Hasilnya dapat dilihat pada Gambar 88,
bahwa nilai padding ini memberikan jarak antara teks dengan border.
Kembali ke Gambar 85, dapat dilihat di luar border terdapat property margin
yang dapat digunakan untuk memberi jarak antara elemen ini dengan elemen
lainnya. Berikut adalah contoh kode untuk memberi nilai property margin.
box model [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Box Model</title>
<style>
.div1 {
border: solid 1px #000000;
padding: 5px;
margin: 10px;
}
.div2 {
border: solid 1px #000000;
padding: 10px 30px 5px 30px;
margin: 0px 0px 0px 10px;
}
</style>
</head>
<body>
<div class="div1">
Element div
</div>
<div class="div2">
Teks
Teks adalah salah satu nilai yang sering diberikan di dalam elemen HTML. Teks
juga merupakan konten utama pada halaman web seperti media social atau web
berita online. Sehingga perlu dilakukan mengaturan format teks agar informasi
mudah dibaca dan terlihat bagus.
.text-right {
text-align: right;
text-transform: capitalize;
}
.text-center {
text-align: center;
letter-spacing: 13px;
font-size: 23px;
font-weight: bold;
font-style: italic;
}
.text-justify {
text-align: justify;
text-transform: lowercase;
text-indent: 10%;
}
</style>
</head>
<body>
<div class="text-left">left</div>
<div class="text-right">right</div>
<div class="text-center">center</div>
<div>
Teks adalah salah satu nilai yang sering diberikan di da
lam elemen HTML. Teks juga merupakan konten utama pada halaman web s
eperti media social atau web berita online. Sehingga perlu dilakukan
mengaturan format teks agar informasi mudah dibaca dan terlihat bag
us.
</div>
<div class="text-justify">
Teks adalah salah satu nilai yang sering diberikan di da
lam elemen HTML. Teks juga merupakan konten utama pada halaman web s
eperti media social atau web berita online. Sehingga perlu dilakukan
mengaturan format teks agar informasi mudah dibaca dan terlihat bag
us.
</div>
</body>
</html>
Background Image
Pada halaman web, kita kadang melihat halaman tersebut memiliki background
berupa gambar kemudian didepannya terdapat tulisan atau elemen HTML yang
lain. Untuk membuat sebuah gambar menjadi latar belakang atau background
pada sebuah elemen HTML maka dapat digunakan property seperti:
- background-image.
- background-repeat.
- background.
- Dan lain-lain.
Pada sub bab ini akan digunakan cara penulisan kode CSS dengan External CSS.
Tujuannya adalah untuk memperlihatkan bagaimana cara menentukan lokasi file
yang akan digunakan sebagai background.
Misal dimiliki gambar dengan ukuran 1700 x 780 pixel dengan nama [Link]
yang disimpan pada folder images/bg. Jika ingin menjadikan gambar tersebut
sebagai background halaman web maka dapat dibuat kode CSS dan HTML sebagai
berikut.
css/[Link]
body {
font-family: Verdana, Geneva, Tahoma, sans-serif;
bg img [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Background Image</title>
<link rel="stylesheet" type="text/css" href="css/[Link]">
</head>
<body>
</body>
</html>
Contoh yang lain jika digunakan gambar dengan ukuran 400 x 277 pixel, dengan
nama file adalah [Link]. Jika file ini dijadikan background dengan cara di atas
maka akan didapat hasil seperti berikut.
CSS Layout
Pada sub bab ini diberikan property-property yang berguna sebagai dasar untuk
membuat layout atau antarmuka pada halaman HTML.
Display
Display adalah property CSS yang memiliki peran penting untuk mengontrol
antarmuka atau layout. Setiap elemen HTML memiliki nilai property display
default yang tergantung dari tipe elemen tersebut. Nilai defaul tersebut adalah:
- block.
- inline.
Berikut ini akan diperlihatkan contoh kode untuk memperlihatkan perbedaan
antara elemen dengan nilai property display block dan inline.
Elemen HTML yang memiliki nilai property display adalah block diantaranya
adalah:
- <div>
- <h1> - <h6>
- <p>
- <form>
- Dan lain-lain.
Berikut adalah contoh tampilan dari elemen dengan property display adalah
block.
display [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Display</title>
<style>
h1, div, p {
border: solid 3px green;
}
164 │SUTRI ANIROH
Pemrograman Web Dasar I: Belajar HTML 5│ 165
</style>
</head>
<body>
<h1>element h1</h1>
<div>element div</div>
<p>element p</p>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 95.
- <span>.
- <a>.
- <img>.
Berikut adalah contoh tampilan dari elemen dengan property display adalah
inline.
display [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Display</title>
<style>
span, a {
border: solid 3px green;
}
</style>
<body>
text <span>span</span>
text <a href=#">hyperlink</a> text text text <a
href=#">hyperlink</a> text text <span>span</span> text
</body>
</html>
Hasilnya dapat dilihat pada Gambar 96.
- block, elemen ini terlihat lebar kotak menghabiskan 100% dari lebar
halaman web.
- inline, elemen ini terlihat lebar kotak hanya sesuai ukuran isi elemen
tersebut saja.
Dengan CSS dapat property display dari suatu elemen dapat dimodifikasi dengan
contoh sebagai berikut.
display [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Display</title>
<style>
h1, div, p {
border: solid 3px green;
display: inline;
}
<body>
<h1>element h1</h1>
<div>element div</div>
<p>element p</p>
<hr>
text <span>span</span>
text <a href=#">hyperlink</a> text text text <a
href=#">hyperlink</a> text text <span>span</span> text
</body>
</html>
Pada contoh di atas elemen <h1>, <div> dan <p> yang secara default memiliki
property display adalah block diganti nilainya menjadi inline. Begitu juga
sebaliknya untuk elemen <span> dan <a>. Hasilnya dapat dilihat pada Gambar 97.
Lebar Elemen
Elemen HTML memiliki property untuk menentukan lebar yaitu property width.
Nilai property ini dapat diberikan dengan nilai mutlak (absolute) atau relatif
seperti yang telah dijelaskan pada sub bab Dasar Dasar CSS > Unit.
Property lain yang berhubungan dengan penentuan lebar dan sering digunakan
adalah max-width. Property ini menentukan lebar maksimal dari suatu elemen.
Jika ditentukan nilai untuk property ini adalah 500px, maka lebar suatu elemen
tidak akan melebihi nilai itu. Jika lebar elemen induk atau window browser
kurang dari 500px maka elemen yang menggunakan property ini akan mengikuti
lebar elemen induk atau window browser tersebut. Selain itu juga terdapat
property min-width yang mempunyai fungsi sebaliknya.
.div1 {
width: 100px;
}
.div2 {
width: 90%;
}
.div3 {
max-width: 500px;
}
.div4 {
width: 90%;
Pemrograman Web Dasar I: Belajar HTML 5│ 169
170 │SUTRI ANIROH
margin: auto;
}
</style>
</head>
<body>
<div class="div1"> Element div 1
</div>
<div class="div2"> Element div 2
</div>
<div class="div3"> Element div 3
</div>
<div class="div4"> Element div 4
</div>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 98, lebar window browser pada gambar ini
dibuat kecil.
Gambar 99. Contoh property width pada window browser dengan lebar >
500px.
Pada elemen <div> 4 menggunakan nilai lebar persen seperti element <div> 2,
namun pada elemen <div> 4 digunakan property margin=auto yang membuat
posisi elemen ini selelu berada di tengah (center). Cara ini umum digunakan
untuk membuat tampilan isi (content) pada halaman web selalu berada di tengah
walaupun ukuran windows web browser diubah-ubah.
Posisi
Property untuk mengatur posisi suatu elemen pada halaman adalah position.
Nilai dari property ini adalah:
- static.
- relative.
- fixed.
- absolute.
- sticky.
Setiap elemen HTML memiliki property dengan nilai default adalah static. selain
property position juga digunakan beberapa property pendukung untuk
menentukan posisi yaitu:
.div1 {
width: 100px;
position:
static; left:
50px;
top: 50px;
}
.div2 {
width: 200px;
height: 100px;
position: relative;
left: 20px;
top: 20px;
}
.div3 {
width: 100px;
position: relative;
left: 50px;
top: 20px;
}
</style>
</head>
<body>
<div class="div1">
Element div 1
</div>
<div class="div2">
Gambar 100. Contoh nilai static dan relative pada property position.
Property position dengan nilai relative mengijinkan elemen untuk diatur
posisinya dengan titik acuan berdasarkan induk dari elemen tersebut. Pada
element <div> dengan nilai property class=”div2” dapat dilihat posisinya berjarak
20px dari elemen sebelumnya dan berjarak 20px dari sisi kiri windows web
browser. Tetapi perhatikan elemen <div> dengan nilai property class=”div3” yang
berada di dalam elemen <div> dengan nilai property class=”div2”, titik acurannya
bukan window web browser tetapi titik acuannya adalah elemen induknya yaitu
elemen <div> dengan property class=”div2”. Oleh karena itu jika diberi property
top=”50px” maka berarti dihitung dari sisi atas elemen <div> dengan property
class=”div2”. Sedangkan jika diberi property left=”20px” maka jarak dihitung dari
sisi kiri elemen <div> dengan property class=”div2”.
.parent {
width: 90%;
margin:auto;
height: 100px;
position:
relative;
}
.fixed {
width: 100px;
position: fixed;
bottom: 0;
right: 0;
}
.absolute {
width: 100px;
position: absolute;
bottom: 0;
right: 0;
}
</style>
</head>
<body>
<div class="parent">
<div class="fixed">
fixed
</div>
<div class="absolute">
absolute
</div>
</div>
</body>
Selain property top, left, right, bottom juga dapat digunakan property z-index
untuk mengatur posisi pada sumbu z yang dapat membuat elemen dapat saling
tumpang tindih seperti lapisan atau layer. Nilai property z-index adalah bilangan
bulat dimulai dari 0. Semakin besar nilai property yang dimiliki oleh sebuah
elemen ini membuat elemen tersebut berada di atas elemen lain yang nilai
z-index lebih kecil. Property ini dapat digunakan pada elemen yang menggunakan
property position dengan nilai fixed atau absolute. Kode berikut adalah contoh
dari implementasi property z-index.
position [Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Position</title>
<style>
.parent {
width: 90%;
margin:auto;
height: 100px;
position: relative;
}
.fixed1 {
width: 100px;
position: fixed;
bottom: 0;
right: 0;
background-color: blue;
color:white;
}
.fixed2 {
width: 100px;
position: fixed;
bottom: 13px;
right: 13px;
z-index: 1;
background-color:
red; color:white;
}
.absolute1 {
width: 100px;
position: absolute;
bottom: 0;
right: 0;
background-color: blue;
color:white;
}
.absolute2 {
width: 100px;
position: absolute;
bottom: 13px;
right: 13px;
z-index: 1;
background-color:
red;
178 │SUTRI ANIROH
color:white;
}
</style>
</head>
<body>
<div class="parent">
<div class="fixed1"> fixed 1
</div>
<div class="fixed2"> fixed 2
</div>
<div class="absolute1"> absolute 1
</div>
<div class="absolute2"> absolute 2
</div>
</div>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 102 dimana elemen terlihat saling tumpang
tindih.
#menu {
width: 90%;
margin:
auto;
position: -webkit-sticky;
position: sticky;
top: 0;
padding:
5px;
background-color: #cae8ca;
border: 2px solid #4CAF50;
}
#content {
width: 90%;
margin:
auto;
}
</style>
</head>
<body>
<div id="header">
Header
</div>
<div id="menu">
.right {
float: right;
}
</style>
</head>
<body>
<div class="right ">
div 1
</div>
<div class="right ">
div 2
</div>
<div class="right ">
div 3
</div>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 104. Pada kode di atas dibuat tiga elemen
<div> yang diberikan property float dengan nilai adalah right. Terlihat ketiga
elemen melayang ke arah kanan dengan dimulai oleh elemen <div> 1, 2 kemudian
3.
.left {
float: left;
}
</style>
</head>
<body>
<div class="left">
div 1
</div>
<div class="left">
div 2
</div>
<div class="left">
div 3
#header {
width: 100%;
height:
32px;
background-color: gainsboro;
}
#menu-right {
#menu-left {
width: 132px; height: 150px;
background-color: red; float: left;
color: white;
}
#footer {
width: 100%; height: 32px;
background-color: gainsboro; clear: both;
}
</style>
</head>
<body>
<div id="header"> header
</div>
<div id="menu-right"> right
</div>
<div id="menu-left"> left
</div>
<div id="footer"> footer
</div>
</body>
</html>
Jika halaman web dari kode di atas dilihat pada web browser maka akan dapat
dilihat hasil seperti pada Gambar 106. Dapat dilihat elemen <div> footer berada
di sisi kiri elemen <div> left (warna merah). Hal ini terjadi karena efek
penggunaan property float dengan nilai left pada elemen <div> left.
Form Registrasi
Contoh selanjutnya adalah melakukan pengaturan tata letak untuk form input
data. Berikut adalah tampilan antarmuka form input data yang dibuat pada sub
bab ini.
Penulisan CSS pada sub bab ini menggunakan cara Internal CSS untuk
memudahkan saat melakukan menambah dan edit kode HTML dan CSS. Namun
jika antarmuka sudah selesai dibuat sebaiknya kode CSS dipisahkan untuk
disimpan pada file CSS.
Langkah pertama membuat window atau rangka form dengan kode HTML dan
CSS sebagai berikut.
[Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Form Registrasi Event</title>
<style>
body {
background-color: grey;
color: #000000;
font-family:
Verdana; font-size:
12px;
}
#main_content {
width: 50%;
margin:auto
;
}
.form_box {
border: solid 1px
#000000;
background-color:
#FFFFFF; height: 550px;
margin: 50px 0 0 0;
}
.form_title {
border: solid 1px
#000000;
background-color:
#000000; color: #FFFFFF;
height: 32px;
font-weight:
bold;
text-align:
center;
padding-top: 11px;
}
<body>
<div id="main_content">
<div class="form_box">
<div class="form_title"> EVENT REGISTRATION FORM
</div>
<div class="form_content">
</div>
</div>
</div>
</body>
</html>
Hasilnya dapat dilihat pada gambar berikut ini.
<label>Company</label>
<input type="text" name="company">
<div class="separator"></div>
<label>Email</label>
<input type="text" name="email">
<div class="separator"></div>
<label>Phone</label>
<input type="text" name="area_code">
<input type="text" name="phone_number">
<div class="separator"></div>
<label>Subject</label>
<select name="subject">
<option value="">Choose Option</option>
<option value="1">Subject 1</option>
<option value="2">Subject 2</option>
</select>
<div class="separator"></div>
Berikut ini adalah kode HTML dan CSS lengkap untuk membuat antarmua seperti
yang direncanakan.
[Link]
<!DOCTYPE HTML>
<html>
<head>
<title>Form Registrasi Event</title>
<style>
body {
background-color: grey;
color: #000000;
font-family: Verdana;
#main_content {
width: 50%;
margin:auto
;
}
.form_box {
border: solid 1px #000000;
background-color: #FFFFFF;
height: 550px;
margin: 50px 0 0 0;
}
.form_title {
border: solid 1px #000000;
background-color: #000000;
color: #FFFFFF;
height: 32px;
font-weight: bold;
text-align: center;
padding-top: 11px;
}
.form_content {
width: 90%;
margin: auto;
}
.form_label {
width: 75px;
margin: 20px 0 0 0;
display:
inline-block;
font-weight: bold;
}
.form_label_horizontal {
width: 300px;
margin: 20px 0 0 0;
display:
inline-block;
font-weight: bold;
}
.form_textbox_short {
width: 200px;
height: 30px;
background-color: #dadada;
border: solid 1px #bebebe;
.form_textbox {
width: 430px;
height: 30px;
background-color: #dadada;
border: solid 1px #bebebe;
border-radius: 4px;
margin-left: 23px;
}
.form_radio_horizontal {
margin: 0;
padding: 0;
}
.form_radio_horizontal li
{ list-style: none;
display: inline;
}
.form_radio_horizontal li.item_text
{ margin-right: 30px;
}
.form_button_red {
color:#FFFFFF;
background-color: #ff5353;
border: solid 1px #ff3434;
padding: 10px 30px 10px 30px;
border-radius: 5px;
}
.separator {
clear:both;
margin: 25px 0 25px 0;
}
</style>
</head>
<body>
<div id="main_content">
<div class="form_box">
<div class="form_title">
EVENT REGISTRATION FORM
</div>
<div class="form_content">
<form>
<div class="separator"></div>
<label class="form_label">Name</label>
<input type="text" name="first_name"
<label class="form_label">Company</label>
<input type="text" name="company"
class="form_textbox">
<div class="separator"></div>
<label class="form_label">Email</label>
<input type="text" name="email"
class="form_textbox">
<div class="separator"></div>
<label class="form_label">Phone</label>
<input type="text" name="area_code"
class="form_textbox_short">
<input type="text" name="phone_number"
class="form_textbox_short">
<div class="separator"></div>
<label class="form_label">Subject</label>
<select name="subject" class="form_textbox">
<option value="">Choose Option</option>
<option value="1">Subject 1</option>
<option value="2">Subject 2</option>
</select>
<div class="separator"></div>
<label class="form_label_horizontal">
Are you an existing customer?
</label>
<ul class="form_radio_horizontal">
<li>
<input type="radio"
name="is_existing"
value="yes" checked>
</li>
<li class="item_text">Yes</li>
<li>
<input type="radio"
name="is_existing"
value="no">
</li>
<li class="item_text">No</li>
</ul>
<div class="separator"></div>
Layout Website
Pada sub bab ini akan diperlihatkan langkah-langkah untuk membuat layout
webiste yang umum digunakan. Umumnya website terbagi atas tiga bagian yaitu:
- Header, kepala website ini umumnya berisi nama webiste dan gambar
banner atau logo.
- Menu, area ini berisi hyperlink untuk menuju halaman lain.
- Content, area isi dari website.
- Footer, area paling bawah pada halaman web. Biasanya berisi keterangan
pembuat atau copyright.
#header {
width: 100%;
height:
75px;
background-color: lightgray;
}
#menu {
margin-top: 7px;
margin-bottom:
7px; width: 100%;
height: 32px;
background-color: rgb(150, 150, 150);
}
#footer {
width: 100%; height: 50px;
background-color: lightgray;
}
.separator {
clear: both;
}
</style>
</head>
<body>
<div id="main-container">
<div id="header"> header
</div>
<div id="menu"> menu
</div>
<div class="separator"></div>
#menu ul li {
float: left; width: 100px; padding:
5px;
text-align: center;
}
#header {
width: 100%;
height:
75px;
background-color: lightgray;
}
#menu {
margin-top: 7px;
margin-bottom:
7px; width: 100%;
height: 450px;
background-color: rgb(150, 150, 150);
width: 25%;
float:
left;
}
#menu ul {
margin: 0;
204 │SUTRI ANIROH
padding: 0;
#menu ul li {
width: 100%;
padding-top: 5px;
padding-bottom: 5px;
}
#menu ul li:hover {
background-color: black;
color: white;
}
#main-content {
margin-top: 7px;
margin-bottom: 7px;
width: 74%;
height: 450px;
background-color: lightgray;
float: right;
}
#footer {
width: 100%;
height: 50px;
background-color: lightgray;
}
.separator {
clear: both;
}
</style>
</head>
<body>
<div id="main-container">
<div id="header">
header
</div>
<div id="menu">
<ul>
<li>Home</li>
<li>Data</li>
<li>Gallery</li>
<li>About</li>
</ul>
</div>
</body>
</html>
Video Player
Pada project ini bertujuan untuk membuat halaman web untuk memutar video
dengan layout yang umum dipakai oleh website streaming film. Pada Gambar 117
dapat dilihat antarmuka yang akan dibuat.
<body>
</body>
</html>
</div>
Kemudian tambahkan kode CSS ini pada blok style.
#main-container { position: absolute; top: 0;
left: 0;
width: 100%;
background-color: rgba(0, 0, 0, 0.6); color: white;
margin: 0;
padding: 0;
}
Jika halaman direfresh, maka lapisan hitam ini belum terlihat. Elemen <div> dari
lapisan ini akan terlihat jika didalamnya sudah dipenuhi oleh elemen- elemen
HTML.
Langkah ketiga adalah membuat menu dengan menambahkan kode HTML berikut
ini di dalam elemen <div> yang sebelumnya telah dibuat.
<!-- header - start -->
<div id="header">
<!-- logo - start -->
<div id="logo">
<img src="images/movie/[Link]" height="30px">
</div>
<!-- logo - end -->
<div class="separator"></div>
</div>
<!-- header - end -->
Hasilnya dapat dilihat pada Gambar 119. Pada header ini dapat dilihat logo, menu
dan kolom pencarian.
Langkah keenam adalah membuat keterangan dari film yang ditampilkan pada
video player tersebut dengan menggunakan kode HTML sebagai berikut.
.movie-poster {
.movie-title { margin: 0;
padding: 0;
font-family: Arial, Helvetica, sans-serif; font-size: 23px;
font-weight: lighter;
}
Hasilnya dapat dilihat pada Gambar 121. Pada gambar ini dapat dilihat
keterangan dari film ini di bawah video player.
.movie-item {
width: 135px; float: left; margin-top:
32px; margin-right: 23px;
background-color: black;
box-shadow: 5px 10px 18px black; position: relative;
}
#main-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
background-color: rgba(0, 0, 0,
0.6); color: white;
margin: 0;
padding: 0;
}
#header {
background-color: black;
width: 100%;
}
#logo {
float: left;
padding:
7px;
}
#menu {
float: left;
margin-left:
50px; padding:
7px;
}
#menu ul {
#menu ul li {
float: left;
padding: 5px;
margin-right: 25px;
text-align: center;
color: grey;
font-weight: bolder;
}
#menu ul li:hover {
color: white;
font-weight: bolder;
}
#search {
float: right;
padding: 7px;
}
#search input[type=button] {
background-color:
lightseagreen; border: solid
1px lightseagreen;
border-radius: 5px;
height: 25px;
padding-left: 15px;
padding-right: 15px;
color: white;
}
.separator {
clear: both;
}
#content-container {
width: 90%;
margin:auto
}
#video-player {
margin-top:
32px;
background-color: black;
border: solid 1px black;
border-radius: 10px;
padding: 10px;
box-shadow: 5px 10px 18px black;
.movie-poster {
width: 13%;
float: left;
}
.description {
width: 85%;
float: left;
padding-left: 13px;
}
.movie-title {
margin: 0;
padding: 0;
font-family: Arial, Helvetica, sans-serif;
font-size: 23px;
font-weight: lighter;
}
#movie-list-container {
width: 100%;
margin-top: 32px;
}
.movie-item {
width: 135px;
float: left;
margin-top: 32px;
margin-right: 23px;
background-color: black;
box-shadow: 5px 10px 18px black;
position: relative;
}
.movie-item img {
width: 100%;
border-radius: 5px;
}
.movie-item .title a {
text-decoration:
none; color: black;
}
<body>
<div id="main-container">
<!-- header - start -->
<div id="header">
<!-- logo - start -->
<div id="logo">
<img src="images/movie/[Link]"
height="30px">
</div>
<!-- logo - end -->
<div class="separator"></div>
</div>
<!-- header - end -->
<div class="movie-item">
<img src="images/movie/[Link]">
<div class="title">
<a href="#">Movie 2 (2020)</a>
</div>
</div>
<div class="movie-item">
<img src="images/movie/[Link]">
<div class="title">
<a href="#">Movie 3 (2020)</a>
</div>
</div>
<div class="movie-item">
<img src="images/movie/[Link]">
<div class="title">
<a href="#">Movie 4 (2020)</a>
</div>
</div>
<div class="movie-item">
<img src="images/movie/[Link]">
<div class="title">
<a href="#">Movie 5 (2020)</a>
</div>
</div>
<div class="movie-item">
<img src="images/movie/[Link]">
<div class="title">
<a href="#">Movie 6 (2020)</a>
</div>
</div>
<div class="movie-item">
</div>
</body>
</html>
JavaScript
Halaman web dibuat dengan kode HTML kemudian dipercantik dengan CSS.
Namun untuk membuatnya dapat bergerak, bernafas, bernyanyi dan menari, kita
perlu menambahkan sebuah bahasa pemrograman didalamnya. Salah satu bahasa
pemrograman yang dapat melakukan itu adalah JavaScript.
Pendahuluan
JavaScript adalah bahasa pemrograman yang awalnya dikembangkan oleh
Netscape Communication. Dan sekarang menjadi standar pada hampir seluruh
web browser. Berikut ada beberapa hal yang perlu diketahui tentang JavaScript,
yaitu:
Aturan Penulisan
Untuk menulis kode program JavaScript pada halaman web perlu mengikuti
aturan tertentu.
Internal
Aturan penulisan dengan cara ini adalah dengan menulis kode pemrograman
JavaScript di dalam halaman web bercampur dengan kode HTML. Penulisan kode
programnya berada di dalam tag <script> seperti contoh di bawah ini.
hello_javascript.html
211
<!DOCTYPE html>
<html>
<head>
<title>Hello JavaScript</title>
<script type="text/javascript">
alert("Hello World dari dalam tag head");
</script>
</head>
<body>
<script>
alert("Hello World dari dalam tag body");
</script>
</body>
</html>
Dari kode di atas dapat dilihat bahwa tag <script> dapat berada di mana saja, baik
itu di dalam tag <head> atau <body>. Bahkan dimungkin juga untuk berada diluar
tag <body>.
Pada contoh di atas penulisan tag <script> ada yang menggunakan atribut
type=”text/javascript” dan tidak. Pada HTML 5, penulisan atribut type adalah
pilihan. Sehingga untuk menulis kode JavaScript dapat menggunakan salah satu
cara di atas.
Selanjutnya dapat dilihat kode JavaScript ditulis diantara tag tersebut. Pada
contoh di atas, digunakan fungsi alert. Akhir sebaris kode diakhiri dengan tanda
titik koma atau semicolon (;).
Hasil di atas hasilnya akan ditampilkan message box sebanyak dua kali. Seperti
pada Gambar 123.
Pada contoh di atas dapat dilihat tetap digunakan tag <script> namun digunakan
atribut scr untuk menentukan nama file yang ingin disematkan. Dan berikut
adalah isi dari file [Link]. Pada file js ini terdapat dua fungsi. Kemudian pada
kode di atas dapat dilihat cara untuk memanggil kedua fungsi tersebut.
[Link]
function hello_world() {
alert("Hello World!");
}
function say_hello(name) {
alert("Hello " + name + "!");
}
Dasar-Dasar Pemrograman
Komentar
Untuk membuat komentar pada JavaScript diguakan dua cara seperti dilihat pada
contoh kode berikut ini.
komentar [Link]
<!DOCTYPE html>
<html>
<head>
<title>Komentar</title>
</head>
<script>
// komentar sebaris
/*
komentar multi baris
*/
Variable
JavaScript adalah tipe bahasa pemrograman yang tidak perlu mendeklarasikan
tipe data pada suatu variable. Artinya sebuah variable dapat diisi dengan nilai
dengan tipe data yang berbeda.
variable [Link]
<!DOCTYPE html>
<html>
<head>
<title>Variable</title>
</head>
<script>
a = "hello";
Selain itu kadang untuk mendeklarasikan variable digunakan keyword var seperti
contoh berikut ini.
variable [Link]
<!DOCTYPE html>
<html>
<head>
<title>Variable</title>
</head>
<script>
var a = "hello";
alert(a);
var b = 1;
alert(b);
</script>
<body>
</body>
</html>
Operasi Aritmatika
Tata cara melakukan operasi aritmatika di JavaScript sama dengan tata cara di
bahasa pemrograman Java.
Percabangan
Kata kunci yang digunakan untuk percabangan adalah if-else dan switch-case.
if-else
Berikut adalah kata kunci dan sintaks yang digunakan untuk melakukan
percabangan.
if(kondisi) {
Untuk melakukan operasi logika digunakan operator logika seperti tabel di bawah
ini. Misal diketahui x=5.
<body>
</body>
</html>
<body>
</body>
</html>
Pada contoh di atas akan ditampilkan pesan “a dan b tidak sama”. Hal ini
dikarenakan kondisi “a == b” tidak benar (false) sehingga statement didalamnya
tidak dijalankan. Oleh karena itu statement di dalam tanda kurung kurawal
setelah kata kunci else yang dijalankan.
alert(greeting);
</script>
</head>
<body>
</body>
</html>
Pada contoh di atas nilai time adalah 9. Keluaran dari kode di atas adalah pesan
“good morning”. Karena yang memenuhi syarat pertama kali adakah kondisi yang
bertama dimana “time < 10”. Walaupun pada kondisi kedua juga memenuhi syarat
yaitu “time < 20”.
switch-case
Selain menggunakan sintaks di atas, percabangan juga dapat dilakukan dengan
kata kunci switch-case dengan sintaks berikut ini.
switch(ekspresi) { case nilai1:
// statement1 break;
case nilai2:
// statement2 break;
<body>
</body>
</html>
for
Berikut ini adalah sintaks pengulangan dengan for.
for (statement1; statement2; statement3) {
// code block to be executed
}
Statement1 akan dieksekusi sekali saja. umumnya statement1 berfungsi untuk
inisiasi nilai. Statement2 berisi kondisi, jika kondisi masih terpenuhi maka kode
di dalam tanda kurung akan dikerjakan. Statement3 dieksekusi setiap kali setelah
kode di dalam tanda kurung dikerjakan.
<body>
</body>
</html>
Pada kode di atas dapat dilihat statement pertama berisi inisialisasi nilai variable
i=1. Kemudian pengulangan akan dilakukan jika nilai i kurang atau sama dengan
3. Pada statement ketiga dapat dilihaat bagaimana nilai variable i diubah
nilainnya. Statement ini dijalankan setelah kode pada tanda kurung selesai
dijalankan.
<body>
</body>
</html>
Pada contoh di atas dapat dilihat bahwa statement1 dapat berisi beberapa
statement. Ini adalah salah satu perbedaan sintaks JavaScript yang berbeda
dengan bahasa pemrograman lain. Selain itu statement1, statement2 dan
statement3 pada JavaScript adalah bersifat pilihan, artinya bisa digunakan atau
tidak.
while
Berikut ini adalah contoh penggalan kode pengulangan dengan while.
// inisialisasi nilai var i = 1;
// kondisi pengulangan
while (i <= 3) {
[Link]("[Link]
// meningkatkan pencacah
i = i + 1;
}
</script>
</head>
<body>
</body>
</html>
Method
Untuk membuat method di JavaScript digunakan dengan tata cara berikut ini.
fungsi [Link]
<!DOCTYPE html>
<html>
<head>
<title>Fungsi</title>
</head>
<script>
function nama_fungsi1() {
// isi fungsi
}
Berikut ini adalah contoh penulisan method dan cara untuk menggunakan atau
memanggil fungsi tersebut. Contoh kode berikut ini menampilkan dialog window
yang bertuliskan pesan “hello world”.
function [Link]
<!DOCTYPE html>
<html>
<head>
<title>Fungsi</title>
</head>
<script>
function hello() {
alert("hello world")
}
hello();
</script>
<body>
</body>
</html>
tambah(3,4);
</script>
<body>
</body>
</html>
Contoh yang ketiga adalah method yang mengembalikan nilai. Untuk
menggunakan method jenis ini perlu digunakan variable penampung nilai. pada
contoh di bawah ini, yang menjadi penampung nilai adalah nilai.
function [Link]
<!DOCTYPE html>
<html>
<head>
<title>Fungsi</title>
</head>
<script>
function tambah(bil1, bil2) {
var hasil = bil1 + bil2;
return hasil;
}
Event
Hampir seluruh elemen atau tag HTML memiliki event. Contoh event adalah
sebuah elemen <input> dapat diklik dan selanjutnya akan memberikan reaksi.
Contoh lain adalah ketika halaman web dimuat kemudian menjalankan suatu
fungsi. Cara pemberian event pada suatu element adalah sama dengan
memberikan atribut pada element tersebut.
Contoh berikutnya adalah pada element <input> diberikan event onclick yang
berfungsi akan memberika reaksi ketika elemen ini diklik.
event [Link]
<!DOCTYPE html>
<html>
<head>
<title>Event</title>
</head>
<script>
function pesan(){
alert("tombol
diklik")
}
</script>
<body>
<input type="button" value="silakan diklik"
onclick="pesan()">
</body>
</html>
Contoh event yang lain adalah onmouseover yang membuat element akan
memberikan reaksi ketika cursor diarahkan ke element. berikut adalah kode dari
kasus ini.
event [Link]
<!DOCTYPE html>
<html>
<head>
<title>Event</title>
</head>
<script>
- Berdasarkan id element.
- Berdasarkan name element.
- Berdasarkan class element.
[Link] = [Link];
}
function reset() {
var bil1 = [Link]("textbox_bil1");
var bil2 = [Link]("textbox_bil2");
[Link] = "";
function reset() {
[Link]("bil1")[0].value = "";
[Link]("bil2")[0].value = "";
}
</script>
<body>
Bilangan 1:
<input type="text" name="bil1" id="textbox_bil1">
<br>
Bilangan
2:
<input type="text" name="bil2" id="textbox_bil2">
<br>
<input type="button" value="transfer
data" onclick="transfer()">
<input type="button" value="reset" onclick="reset()">
</body>
</html>
count_col = [Link];
Selanjutnya adalah mengubah elemen dengan menggunakan index. Karena
terdapat banyak elemen yang harus diubah maka perlu dilakukan dengan cara
pengulangan seperti potongan kode berikut.
for(i=0; i<count_col; i++){ col[i].[Link]=color;
}
Pada kode di atas dapat dilihat JavaScript dapat mengakses atribut style dari
elemen dan memberikan nilai.
Hasilnya dari kode di atas adalah ketika user mengklik tombol “blue” maka ketiga
elemen <div> akan berwarna biru dan ketika diklik tombol “red” maka
elemen-elemen tersebut menjadi merah.
- Mengakses property.
- Menggunakan method setAttribute.
Berikut adalah beberapa sintaks modifikasi elemen dengan cara mengakses
property.
[Link] = new html content [Link] = new
value [Link] = new style
Sedangkan jika menggunakan method setAttribute maka digunakan sintaks
sebagai berikut.
[Link](attribute, value)
Dari kode di atas dapat dilihat elemen <input> dengan id=”tombol1”. Dari elemen
tersebut belum diketahui apakah elemen tersebut menjadi tombol, textbox atau
rodiobutton.
function get(){
table1 = [Link]("table1");
alert([Link]);
}
</script>
<body>
<input type="button" value="set" onclick="set()">
<input type="button" value="get" onclick="get()">
<br><br>
<table width="100%" border="1" id="table1"></table>
</body>
</html>
Pada gambar Gambar 127 dapat dilihat tampilan awal saat halaman baru dimuat.
Menambah Elemen
Untuk menambah elemen dapat digunakan method-method berikut ini:
- [Link].
- [Link].
Berikut adalah contoh kode penggunaannya.
dom [Link]
<!DOCTYPE html>
<html>
<head>
<title>DOM</title>
</head>
<script>
function sendMessage(){
var pesan =
[Link]("textbox_pesan").value
; var newDiv = [Link]("div");
var newContent = [Link](pesan);
[Link](newContent);
Untuk membuat elemen div baru digunakan cara berikut ini yaitu menggunakan
method createElement. Sedangkan method createTextNode bertujuan untuk
menambahkan teks di dalam elemen tersebut.
var newDiv = [Link]("div");
var newContent = [Link](pesan);
[Link](newContent);
Setelah elemen selesai dibuat selanjutnya elemen baru disisipkan dengan cara
berikut ini. Pertama ditentukan dulu obyek yang telah ada di halaman. Kemudian
sisipkan elemen baru (newDiv) ke obyek yang telah ada (currentDiv).
var currentDiv = [Link]("div1");
[Link](newDiv, currentDiv);
Menghapus Element
Untuk menghapus elemen dapat menggunakan method removeChild. Sehingga
perlu diketahui elemen induk dari elemen yang ingin dihapus.
dom [Link]
<!DOCTYPE html>
<html>
<head>
<title>DOM</title>
</head>
<script>
function removeItem(){
var item = [Link]("item1");
[Link](item);
}
</script>
<body>
<ul id="list1">
<li id="item1">Item 1</li>
[Link](item);
Selain cara di atas ada beberapa cara lain penggunaan method removeChild yang
dapat dilihat pada link berikut ini
[Link]
Input untuk kedua method ini memiliki format yang sama dengan selector pada
CSS. Sebagai contoh dapat dilihat pada contoh berikut ini.
dom [Link]
<!DOCTYPE html>
<html>
<head>
<title>DOM</title>
</head>
<script>
function bodyColor(){
var body_obj = [Link]("body");
body_obj.[Link] = "grey";
}
</script>
<body onload="bodyColor()">
</body>
</html>
Contoh berikutnya adalah mengakses elemen berdasarkan atribut class dan id.
dom [Link]
<!DOCTYPE html>
<html>
<head>
<title>DOM</title>
</head>
<script>
function init(){
var obj1 = [Link](".p1");
[Link] = "hello world 1";
Project
Validasi Form
Pada bab sebelumnya telah dibuat form registrasi seperti pada Gambar 131.
Proyek kali ini bertujuan untuk memvalidasi pengisian textbox dan dropdown list
oleh user. Kode HTML dan CSS yang digunakan adalah seperti yang telah
diterangkan pada sub bab Cascading Style Sheets > Project > Form Registrasi.
#main_content {
width: 50%;
margin:auto
;
}
.form_box {
border: solid 1px
#000000;
background-color:
#FFFFFF; height: 550px;
margin: 50px 0 0 0;
}
.form_content {
width: 90%;
margin: auto;
}
.form_label {
width: 75px;
margin: 20px 0 0 0;
display:
inline-block;
font-weight: bold;
}
.form_label_horizontal {
width: 300px;
margin: 20px 0 0 0;
display:
inline-block;
font-weight: bold;
}
.form_textbox_short {
width: 200px;
height: 30px;
background-color: #dadada;
border: solid 1px #bebebe;
border-radius: 4px;
margin-left: 23px;
}
.form_textbox {
width: 430px;
height: 30px;
background-color: #dadada;
border: solid 1px #bebebe;
border-radius: 4px;
margin-left: 23px;
}
.form_radio_horizontal {
margin: 0;
.form_radio_horizontal li
{ list-style: none;
display: inline;
}
.form_radio_horizontal li.item_text
{ margin-right: 30px;
}
.form_button_red {
color:#FFFFFF;
background-color: #ff5353;
border: solid 1px #ff3434;
padding: 10px 30px 10px 30px;
border-radius: 5px;
}
.separator {
clear:both;
margin: 25px 0 25px 0;
}
</style>
</head>
<body>
<div id="main_content">
<div class="form_box">
<div class="form_title">
EVENT REGISTRATION FORM
</div>
<div class="form_content">
<form method="GET" id="form1">
<div class="separator"></div>
<label class="form_label">Name</label>
<input type="text" id="first_name"
name="first_name"
class="form_textbox_short">
<input type="text" id="last_name"
name="last_name"
class="form_textbox_short">
<div class="separator"></div>
<label class="form_label">Company</label>
<input type="text" id="company"
name="company" class="form_textbox">
<div class="separator"></div>
<label class="form_label">Phone</label>
<input type="text" id="area_code"
name="area_code"
class="form_textbox_short">
<input type="text" id="phone_number"
name="phone_number"
class="form_textbox_short">
<div class="separator"></div>
<label class="form_label">Subject</label>
<select id="subject" name="subject"
class="form_textbox">
<option value="">Choose Option</option>
<option value="1">Subject 1</option>
<option value="2">Subject 2</option>
</select>
<div class="separator"></div>
<label class="form_label_horizontal">
Are you an existing customer?
</label>
<ul class="form_radio_horizontal">
<li>
<input type="radio"
name="is_existing"
value="yes" checked>
</li>
<li class="item_text">Yes</li>
<li>
<input type="radio"
name="is_existing"
value="no">
</li>
<li class="item_text">No</li>
</ul>
<div class="separator"></div>
<script>
function register() {
var first_name = [Link]("first_name");
var last_name = [Link]("last_name");
var company = [Link]("company");
var email = [Link]("email");
var area_code = [Link]("area_code");
var phone_number = [Link]("phone_number");
var subject = [Link]("subject");
if(first_name.value == ""){
alert("first name is required.")
first_name.focus();
} else if(last_name.value == ""){
alert("last name is required.")
last_name.focus();
} else if([Link] == ""){
alert("company is required.")
[Link]();
} else if([Link] == ""){
alert("email is required.")
[Link]();
} else if(area_code.value == ""){
alert("area code is required.")
area_code.focus();
} else if(phone_number.value == ""){
alert("phone number is required.")
phone_number.focus();
} else if([Link] == ""){
alert("subject is required.")
[Link]();
}
[Link]("form1").submit();
Hasilnya dapat dilihat seperti pada Gambar 132.
Animasi
Project berikutnya membuat animasi sederhana yaitu mengerakkan sebuah
elemen <div> dengan id adalah animate yang berada di dalam elemen <div>
container.
<script>
function play() {
var elem = [Link]("animate");
var pos = 0;
var id = setInterval(frame, 5);
function frame() {
if (pos == 350) {
clearInterval(id)
;
} else {
pos++;
[Link] = pos + "px";
[Link] = pos +
"px";
}
}
}
</script>
<body>
<p><input type="button" onclick="play()" value="Play"></p>
<div id ="container">
<div id ="animate"></div>
</div>
</body>
</html>
Pemrograman Web Dasar I: Belajar HTML 5│ 249
250 │SUTRI ANIROH
Hasilnya dapat dilihat pada Gambar 133, setelah tombol diklik maka kotak
berwarna merah (elemen <div> animate) akan berpindah dari ujung kiri atas ke
ujung kanan bawah. Hal ini terjadi karena pada kode dapat dilihat bahwa elemen
<div> animate memiliki posisi absolute. Sehingga dengan mengubah nilai top dan
left secara terus menerus maka terlihat elemen ini bergerak.
Carousel
Project selanjutnya adalah membuat animasi berupa gambar yang tersusun dan
dapat bergerak memutar seperti kemidi putar. Antarmukanya dapat dilihat pada
Gambar 134. Jika tombol Next ditekan maka gambar akan bergerak memutar ke
arah kanan. Sedangkan jika tombol Previous diklik maka gambar bergerak ke
arah kiri.
.scene {
border: 1px solid #CCC;
margin: 40px 0;
position: relative;
width: 210px;
height: 140px;
margin: 40px auto;
perspective: 1000px;
}
.carousel {
width: 100%;
height: 100%;
position:
absolute;
transform:
translateZ(-288px);
transform-style: preserve-3d;
252 │SUTRI ANIROH
transition: transform 1s;
.carousel cell {
position: absolute;
width: 140px;
height: 209px;
left: 10px;
top: 10px;
border: 2px solid black;
line-height: 116px;
font-size: 80px;
font-weight: bold;
color: white;
text-align: center;
}
.carousel cell:nth-child(1) {
transform: rotateY( 0deg) translateZ(288px);
}
.carousel cell:nth-child(2) {
transform: rotateY( 40deg) translateZ(288px);
}
.carousel cell:nth-child(3) {
transform: rotateY( 80deg) translateZ(288px);
}
.carousel cell:nth-child(4) {
transform: rotateY(120deg) translateZ(288px);
}
.carousel cell:nth-child(5) {
transform: rotateY(160deg) translateZ(288px);
}
.carousel cell:nth-child(6) {
transform: rotateY(200deg) translateZ(288px);
}
.carousel cell:nth-child(7) {
transform: rotateY(240deg) translateZ(288px);
}
.carousel cell:nth-child(8) {
transform: rotateY(280deg) translateZ(288px);
}
.carousel cell:nth-child(9) {
transform: rotateY(320deg) translateZ(288px);
<body>
<div class="scene">
<div class="carousel">
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
<div class="carousel cell">
<img src="images/movie/[Link]">
</div>
</div>
</div>
<p style="text-align: center;margin-top: 100px;">
<button class="previous-button">Previous</button>
<button class="next-button">Next</button>
</p>
<script>
var carousel = [Link]('.carousel');
var cellCount = 9;
var selectedIndex = 0;
function rotateCarousel() {
var angle = selectedIndex / cellCount * -360;
[Link] =
'translateZ(-288px) rotateY(' + angle + 'deg)';
}
Selanjutnya untuk memberikan gerakan pada setiap poster film ketika tombol
diklik dengan cara kode JavaScript yang ada di bawah tombol Next dan Previous.
Efek animasi dilakukan dengan cara mengubah nilai property transform untuk
setiap poster yang dapat dilihat pada method rotateCarousel.
Bootstrap 4
Pada sub bab ini diberikan langkah-langkah membuat layout atau antarmuka
halaman website dengan memanfaatkan framework CSS yaitu Bootstrap 4.
Framework ini telah menyediakan class style CSS yang dapat langsung digunakan
untuk membuat antarmuka yang umum digunakan pada suatu website. Hal ini
membuat web designer atau developer dapat mempercepat dan mempermudah
pekerjaannya.
Pendahuluan
Pada sub bab ini dijelaskan tantangan design antarmuka halaman web yang
menjadi latarbelakang diperlukannya penggunaan Bootstrap. Kemudian
dilanjutkan tujuan utama yang harus dicapai oleh web designer atau developer.
Tantangan
Seperti kita ketahui bahwa aplikasi web dapat diakses dengan menggunakan web
browser. Saat ini telah tersedia bermacam web browser dari Internet Explorer,
Edge, Firefox, Chrome, Safari dan lain-lain. Halaman web yang telah dibuat oleh
seorang web designer atau developer dapat saja terlihat seperti yang diinginkan
pada Edge namun kemungkinan ada sedikit perbedaan jika dilihat pada web
browser lain.
Agar halaman web yang dibuat dapat terlihat sama pada setiap web browser yang
ada maka seoarang web designer atau developer harus mengujinya pada setiap
web browser tersebut. Jika terjadi perbedaan maka perlu dilakukan perubahan
pada kode HTML dan CSS agar dapat diterjemahan oleh setiap web browser
untuk menghasilkan antarmuka yang sama.
Hal lain yang menjadi tantangan adalah jenis perangkat yang digunakan untuk
mengakses halaman web seperti terlihat pada Gambar 135, yaitu:
Agar halaman web dapat menyesuaikan dengan berbagai ukuran layar, maka web
designer atau developer harus menambahkan kode agar halaman web
mengetahui perangkat apa yang sedang mengaksesnya kemudian secara otomatis
halaman web tersebut menyesuaikan antarmuka berdasarkan ukuran layar
perangkat tersebut.
Dengan menguasasi HTML, CSS dan JavaScript yang sebagian telah diberikan di
atas maka masalah-masalah yang telah disebutkan di atas tentu dapat
diselesaikan. Namun menyelesaikan hal tentu tidak mudah dan akan memakan
waktu terlebih lagi bagi yang baru saja belajar membuat halaman web. Namun
karena hal-hal tersebut adalah tantangan dan permasalahan yang umum ditemui
dalam mendesain halaman web maka tentu telah banyak solusi dan
Bootstrap 4
Bootstrap adalah framework populer untuk membangun front-end atau
antarmuka website. Saat buku ini ditulis telah tersedia Bootstrap 4.
Installasi
Pada sub bab ini dijelaskan proses installasi Bootstrap 4 pada halaman website
yang akan kita bangun. Ada beberapa cara penggunaan Bootstrap 4 untuk
membangun halaman web. Salah satunya adalah dengan cara mengunduh
terlebih dahulu file CSS dan JavaScript Bootstrap 4.
Membuat Project
Untuk memulai menggunakan Bootstrap 4, terlebih dahulu dibuat project atau
folder pada file explorer pada komputer. Kemudian ekstrak file Bootstrap jenis
Compiled CSS & JSS dengan nama file [Link]. Setelah diekstrak
dapat dilihat dua folder yaitu:
1. css, berisi file-file CSS. Jika diperhatikan pada folder ini terdapat
sepasang file CSS dengan nama yang mirip sebagai contoh [Link]
dan [Link]. Keduanya berisi class-class CSS yang sama,
perbedaannya adalah jika file [Link] dibuka maka dapat dilihat
setiap nama class dan property-property didalamnya ditulis per baris,
sedangkan pada file [Link] seluruh teks ditulis menjadi 1
baris saja. Hal ini bertujuan untuk meminimalkan ukuran file sesuai
dengan kepanjangan dari min adalah minified.
2. js, berisi file JavaScript. Hal yang sama juga dapat dilihat folder ini
terdapat file [Link] dan [Link]. Fungsi-fungsi yang
terdapat pada file ini bertujuan agar komponen Bootstrap dapat bekerja.
Namun fungsi-fungsi pada file-file JavaScript tersebut memerlukan fungsi
dari jQuery.
Salin kedua folder tersebut ke dalam folder yang akan berisi halaman web yang
akan dibangun.
Kemudian ekstrak file Bootstrap jenis Source files. Dan salin file [Link] ke
dalam folder project yang sebelumnya telah berisi folder css dan js. File
[Link] adalah file gambar yang biasa terlihat di samping title seperti terlihat
pada lingkaran putih di Gambar 136. Icon ini dapat diganti dengan logo organisasi
atau perusahaan.
<body>
<div class="container">
<h1>Greeting</h1>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Pada kode di atas dapat dilihat elemen <meta> dengan atribut name dengan nilai
viewport dan content dengan nilai adalah width=device-width, initial- scale=1
yang menyatakan bahwa halaman web untuk reponsif pada perangkat mobile.
Karena framework Bootstrap ini mengutamakan style untuk perangkat mobile.
Nilai width=device-width menyatakan halaman akan mengikuti lebar dari layar
perangkat. Sedangkan nilai initial-scake=1 adalah nilai zoom level saat halaman
dimuat oleh web browser.
Pada kode di atas dapat dilihat dipanggil file [Link] di dalam elemen
<head>. Selanjutnya di dalam elemen <body> dapat dilihat elemen <div> dengan
atribut class bernilai container sebagai elemen pertama yang ada pada halaman
web yang dibangun dengan framework Bootstrap. Selain nilai container, juga
dapat digunakan nilai container-fluid.
Perangkat Pengembang
Jika kita sebagai web designer atau developer disarankan untuk memeriksa
bagaimana antarmuka halaman web yang telah dibangun pada berbagai web
browser atau perangkat. Cara yang paling mudah dan murah untuk melakukan
hal ini adalah dengan memanfaatkan tool pengembang pada web browser.
Pada sub bab ini diperlihatkan tool pengembang pada web browser Google
Chrome dan Microsof Edge.
Gambar 138. Menu untuk mengakses alat Pengembang pada Google Chrome.
Setelah Alat pengembang dipilih maka dapat dilihat tampilan seperti pada
Gambar 139.
Untuk mengubah perangkat atau device yang ingin digunakan klik tombol
“Toggle device toolbar” pada lingkaran merah. Kemudian dapat dipilih
Pada Microsoft Edge terdapat fitur Developer Tools yang dapat diakses dengan
memilih tombol “…” kemudian pilih More tools > Developer Tools seperti pada
Gambar 140 atau dengan menekan tombol F12.
.nama_class
Penulisan ini hanya untuk teks di buku saja. Jadi jika pada teks buku dilihat
.container, itu artinya class CSS dengan nama container. Sedangkan untuk
penggunaannya pada kode HTML tetap ditulis tanpa tanda titik seperti contoh
berikut.
<div class="container">
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Sebagai contoh dapat dilihat pada potongan kode di bawah ini. .container adalah
nama class yang sudah ada pada file [Link]. Fungsi class ini bertujuan
untuk membuat rangka utama aplikasi.
<div class="container">
<h1>Title</h1>
<p>
content content content content content content. content content content
content content content. content content content content content
content.
</p>
- .p-3, membuat padding selebar 1rem untuk semua sisi. Jika ingin
membuat padding selebar 1rem untuk sisi atas saja telah tersedia class
.pt-3 (yang diartikan sebagai padding top).
- .my-3, membuat margin selebar 1rem untuk sisi atas dan bawah.
- .bg-primary, memberi warna utama yaitu biru untuk latarbelakang.
- .text-white, memberi style warna putih untuk teks.
Untuk melihat class-class apa saja dan kode CSS dari setiap class tersebut maka
bisa melihat file [Link] yang terdapat pada folder css.
Container
Pada sub bab sebelumnya telah disinggung sedikit tentang container. Class yang
digunakan untuk container adalah:
<title>Bootstrap 4: Basic</title>
<body>
<div class="container p-3 my-3 bg-primary text-white">
<h1>Title</h1>
<p>
content content content content content
content. content content content content
content content. content content content
content content content.
</p>
</div>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
- .container-sm.
- .container-md.
- .container-lg
- .container-xl.
Perbedaan keempat class tersebut dapat dilihat pada tabel berikut.
<body>
<!-- content -->
<div class="container-sm p-3 my-3 bg-primary text-white">
.container-sm
</div>
<div class="container-md p-3 my-3 bg-primary text-white">
.container-md
</div>
<div class="container-lg p-3 my-3 bg-primary text-white">
.container-lg
</div>
<div class="container-xl p-3 my-3 bg-primary text-white">
.container-xl
</div>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Untuk melihat perbedaan efek dari keempat class tersebut adalah dengan me-
resize lebar web browser yang mengakses halaman tersebut, dari lebar layar web
browser maksimal sampai minimal.
Grid
Setelah wadah utama dibuat dengan menggunakan .container atau .container-
fluid, maka wadah tersebut siap diisi dengan gambar, teks dan lain-lain.
Agar pembagian area ini tetap membuat halaman web responsif dan
menyesuaikan dengan ukuran layar perangkat maka pembagian suatu area
menjadi beberapa kolom maka digunakan sistem grid Bootstrap. Sehingga jika
ukuran layar yang mengakses kecil maka halaman web akan menyesuaikan
dengan lebar layar seperti yang terlihat pada sebelah kanan di Gambar 148.
Sistem grid Boostrap membagi suatu area pada layar menjadi 12 bagian atau
kurang, tidak lebih dari 12. Sistem grid ini memiliki 5 jenis prefix class yaitu:
- .col-, class ini ditujukan untuk perangkat dengan ukuran layar sangat
kecil yaitu < 576px.
- .col-sm-, class ini ditujukan untuk perangkat dengan ukuran layar kecil
yaitu ≤ 576px.
- .col-md-, class ini ditujukan untuk perangkat dengan ukuran layar
sedang yaitu ≤ 768px.
- .col-lg-, class ini ditujukan untuk perangkat dengan ukuran layar
sedang yaitu ≤ 992px.
- .col-xl-, class ini ditujukan untuk perangkat dengan ukuran layar
sedang yaitu ≤ 1200px.
Cara penggunaan prefix class di atas adalah sebagai berikut. Class harus ditulis di
dalam elemen <div> dengan class .row. Prefix class di atas dapat ditulis secara
lengkap sebagai berikut (contoh prefix .col-):
- .col
- .col-1
- .col-2
- .col-3
- .col-4
- .col-5
- .col-6
- .col-7
- .col-8
- .col-9
- .col-10
- .col-11
- .col-12
<body>
<!-- content -->
<div class="container">
<div class="row">
<div class="col border border-dark">
1
</div>
</div>
<hr>
<div class="row">
<div class="col border border-dark">
1
</div>
<div class="col border border-dark">
2
</div>
</div>
<hr>
<div class="row">
<div class="col border border-dark">
1
</div>
<div class="col border border-dark">
2
</div>
<div class="col border border-dark">
3
</div>
</div>
</div>
Contoh prefix .col- yang lain adalah sebagai contoh kode berikut ini.
grid [Link]
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<body>
<!-- content -->
<div class="container">
contoh penggunaan yang benar
<div class="row">
<div class="col-3 border border-dark">
.col-3
</div>
<div class="col-9 border border-dark">
.col-9
</div>
</div>
<hr>
contoh penggunaan yang benar
<div class="row">
<div class="col-2 border border-dark">
.col-2
</div>
<div class="col-8 border border-dark">
.col-8
</div>
<div class="col-2 border border-dark">
.col-2
</div>
</div>
<hr>
contoh penggunaan yang salah
<div class="row">
<div class="col-7 border border-dark">
.col-7
</div>
<div class="col-7 border border-dark">
.col-7
</div>
</div>
</div>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
Sedangkan contoh yang salah adalah penggunaan .col-7 dan .col-7 dimana jumlah
angkanya adalah 14 yang mana lebih besar daripada 12. Karena kesalahan ini
dapat dilihat hasilnya kotak tidak tersusun secara horisontal.
Dari contoh-contoh di atas, dapat dilihat bahwa prefix .col- ini membuat
elemen-elemennya tersusun secara horisontal untuk berbagai ukuran layar
perangkat. Hal ini akan berbeda jika dibandingkan dengan prefix yang lain
seperti:
- .col-sm-
- .col-md-
- . col-lg-
- . col-xl-
Keempat prefix di atas tetap membagi layar menjadi 12 namun memiliki lebar
minimal sesuai dengan penjelasan sebelumnya. Sebagai contoh prefix .col-sm-
adalah seperti kode berikut.
grid_3.html
<body>
<!-- content -->
<div class="container">
<div class="row">
<div class="col-sm border border-dark"> 1
</div>
<div class="col-sm border border-dark"> 2
</div>
</div>
</div>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Kode pada bagian content membagi layar menjadi lebar sama besar seperti pada
Gambar 151 jika lebar layar masih di atas dari lebar minimal yang diset pada
.col-sm.
Layout Website
Berdasarkan dasar-dasar Bootstrap di atas, maka telah dapat dibuat layout
website seperti pada Gambar 148 namun tanpa menu. Berikut adalah kode yang
digunakan untuk membuat tampilan seperti gambar tersebut.
layout [Link]
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<link rel="icon" href="[Link]">
<body>
<!-- main content - start -->
<!-- header -->
<div class="jumbotron text-center" style="margin-bottom:0">
<h1>Header - Bootstrap 4</h1>
<p>Resize this responsive page to see the effect!</p>
</div>
<div class="col-sm-8">
<h2>TITLE HEADING 1</h2>
<h5>Title description</h5>
<div class="fakeimg">Fake Image</div>
<p>Some text..</p>
<br>
<h2>TITLE HEADING 2</h2>
<h5>Title description</h5>
<div class="fakeimg">Fake Image</div>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Dari kode di atas dapat dilihat pada blok “main content” terdapat tiga
komponen yaitu:
- Header.
- Content yang menggunakan grid dengan dua kolom.
- Foooter.
Antarmuka kode di atas jika dilihat pada perangkat dengan ukuran layar besar
dapat dilihat seperti pada Gambar 155.
Navigasi
Komponen utama yang umum ada pada halaman website adalah menu atau
navigasi. Bootstrap juga telah menyiapkan style atau css yang siap digunakan
untuk membuat navigasi.
...
<!-- nav -->
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<a class="navbar-brand" href="#">M Reza Faisal</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse"
data-target="#navbarCollapse"
aria-controls="navbarCollapse"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
<input class="form-control mr-sm-2"
type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0"
type="submit">Search</button>
</form>
</div>
</nav>
...
Kode ini dapat diletakkan di atas area header jika ingin memiliki navigasi di
bagian paling atas halaman web. Atau dapat juga diletakkan di antara header dan
content sehingga hasilnya dapat dilihat seperti pada Gambar 157.
Pada tag <nav> juga bisa ditambahkan class lain seperti potongan kode berikut.
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
...
</nav>
Untuk memberi style pada table adalah dengan cara memberi .table pada table
seperti pada contoh kode berikut ini.
table [Link]
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<link rel="icon" href="[Link]">
- Stacked form.
- Inline form.
Untuk mengetahui perbedaan keduanya dapat dilihat pada contoh kode dan hasil
antarmuka di bawah ini.
<body>
<!-- main content - start -->
<div class="container">
<form>
<label for="email">Email address:</label>
<input type="email" class="form-control"
placeholder="Enter email"
id="email">
<label for="pwd">Password:</label>
<input type="password" class="form-control"
placeholder="Enter password" id="pwd">
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input"
type="checkbox"> Remember me
296 │SUTRI ANIROH
Pemrograman Web Dasar I: Belajar HTML 5│ 297
</label>
</div>
<button type="submit" class="btn btn-primary"> Submit
</button>
</form>
</div>
<!-- main content - end -->
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Hasilnya dapat dilihat pada Gambar 163.
<body>
<!-- main content - start -->
<div class="container">
<form class="form-inline">
<label for="email">Email address:</label>
<input type="email" class="form-control" placeholder="Enter email"
id="email">
<label for="pwd">Password:</label>
<input type="password" class="form-control" placeholder="Enter
password" id="pwd">
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox"> Remember
me
</label>
</div>
<button type="submit" class="btn btn-primary"> Submit
</button>
</form>
</div>
<!-- main content - end -->
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Hasilnya adalah seperti pada Gambar 164.
Validasi Form
Untuk membantu validasi pengisian form, Bootstrap 4 menyediakan beberapa
class yang dapat digunakan diantaranya adalah:
<body>
<!-- main content - start -->
<div class="container">
<form class="was-validated">
<div class="form-group">
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Dari kode di atas kita melihat potongan kode sebagai berikut dimana atribut class
pada elemen <form> menggunakan class .was-validated.
<form class="was-validated">
<body>
<!-- main content - start -->
<div class="container">
<form class="needs-validation" novalidate>
<div class="form-group">
<label for="uname">Username:</label>
<input type="text" class="form-control"
id="uname" placeholder="Enter username"
name="uname" required>
<div class="valid-feedback">Valid.</div>
<div class="invalid-feedback">
Please fill out this field.
</div>
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control"
id="pwd" placeholder="Enter password"
name="pswd" required>
<div class="valid-feedback">Valid.</div>
<div class="invalid-feedback">
Please fill out this
field.
</div>
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input"
type="checkbox" name="remember" required>
Remember me.
<div class="valid-feedback">Valid.</div>
<div class="invalid-feedback">
Check this checkbox to
continue.
</div>
Pemrograman Web Dasar I: Belajar HTML 5│ 303
304 │SUTRI ANIROH
</label>
</div>
<button type="submit" class="btn btn-primary"> Submit
</button>
</form>
</div>
<!-- main content - end -->
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script>
(function() {
'use strict'; [Link]('load', function() { var forms
=
[Link]('needs-validation'); var validation =
[Link](forms, function(form)
{
[Link]('submit', function(event) { if
([Link]() === false) {
[Link](); [Link]();
}
[Link]('was-validated');
}, false);
});
}, false);
})();
</script>
</body>
</html>
Saat halaman ini dimuat di web browser maka dapat dilihat antarmuka seperti
pada Gambar 167.
<body>
<!-- main content - start -->
<div class="container">
<form>
<div class="form-group">
<label for="usr">Name:</label>
<input type="text" class="form-control"
id="usr">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control"
id="pwd">
</div>
<div class="form-group">
<label for="comment">Comment:</label>
<textarea class="form-control" rows="5"
id="comment"></textarea>
</div>
<div class="form-check-inline">
<label class="form-check-label">
<input type="checkbox"
class="form-check-input"
value="">Option 1
</label>
</div>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
Ukuran elemen input ini dapat diatur dengan menambahkan class berikut setelah
.form-control, yaitu:
- .form-control-sm.
- .form-control-lg.
Pada dapat dilihat perbedaan ukuran dari implementasi class-class tersebut pada
elemen input.
Form Registrasi
Pada sub bab ini membuat antarmuka untuk form registrasi seperti pada Gambar
171.
</div>
<!-- main content - end -->
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Pada kode di atas dapat dilihat potongan kode berikut. Pada tag <body>
menggunakan class yang telah disediakan oleh Bootstrap yaitu .bg-secondary dan
.text-white.
...
<body class="bg-secondary text-white">
...
</body>
...
Hasilnya membuat warna latar halaman menjadi seperi pada Gambar 173. Seperti
yang telah dibahas pada dasar-dasar Bootstrap bahwa antarmuka ditulis di dalam
tag <div> dengan menggunakan class .container.
...
<div class="container">
...
</div>
...
</div>
<div class="card-footer"></div>
</div>
Untuk membuat card dengan warna area header hitam, area isi putih dan area
footer hitam maka ditambahkan class-class lain sehingga kode di atas menjadi
sebagai berikut.
<div class="card bg-dark text-white mt-4">
<div class="card-header text-center font-weight-bold"> EVENT REGISTRATION FORM
Di bawah kode di atas ditambah kode berikut ini. Dan hasilnya dapat dilihat pada
Gambar 176.
<div class="form-row mt-4">
<div class="col-md-2">
<label class="font-weight-bold">Company</label>
</div>
<div class="col-md-10">
<input type="text" class="form-control" id="company" placeholder="Enter
company" name="company">
</div>
</div>
Pada kode di atas 1 baris dibagi menjadi 2 kolom yang berisi elemen <div>
dengan class adalah .col-md-2 dan .col-md-10 dengan jumlah angka adalah 12.
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script>
(function() {
'use strict';
[Link]('load', function() {
var forms =
[Link]('needs-validation');
var validation =
[Link](forms, function(form) {
Video Player
Pada project ini dibuat antarmuka Video Player seperti yang telah dibuat pada
sub bab Project di pembahasan CSS. Pada project ini akan membuat ulang
antarmuka Video Player dengan menggunakan class-class yang telah disediakan
pada Bootstrap 4.
<title>Movie Website</title>
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Pada kode di atas dapat dilihat style CSS untuk elemen body yang bertujuan untuk
menampilkan gambar sebagai latar belakang. Selanjutnya ditambahkan kode di
bawah ini untuk navigasi bar di antara area “main content – start” dan “main
content - end”.
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">
<img src="images/movie/[Link]" height="30px">
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Movies</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">TV Shows</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">TV Episodes</a>
</li>
</ul>
Langkah selanjutnya adalah menambahkan deskripsi dari film berupa poster film,
judul, rating dan keterangan dari film dengan menambahkan kode berikut ini.
Hasilnya dapat dilihat pada Gambar 183.
<div class="card bg-dark text-white mt-4">
<div class="card-body bg-dark">
<div class="row">
<div class="col-sm-2">
<img src="images/movie/[Link]" class="img-fluid">
</div>
<div class="col-sm-10">
<h4>Artemis Fowl (2020)</h4>
<p class="mt-0 pt-0 mb-0 pb-0 font-weight-bold"> Rated: 5.1 of 10 with
5,827 votes.
</p>
<div class="col-sm-2">
...
</div>
<div class="col-sm-2">
...
</div>
<div class="col-sm-2">
<div class="col-sm-2">
...
</div>
<div class="col-sm-2">
...
</div>
</div>
<title>Movie Website</title>
.container-fluid {
background-color: rgba(0, 0, 0, 0.6);
}
</style>
</head>
<div class="col-sm-2">
<div class="card bg-dark text-white mt-4">
<div class="card-body bg-dark">
<img src="images/movie/[Link]"
class="img-fluid">
</div>
<div class="card-footer bg-light
text-dark text-center
font-weight-bold">
Movie 2 (2020)
</div>
</div>
<div class="col-sm-2">
<div class="card bg-dark text-white mt-4">
<div class="card-body bg-dark">
<img src="images/movie/[Link]"
class="img-fluid">
</div>
<div class="card-footer bg-light
text-dark text-center
font-weight-bold">
Movie 3 (2020)
</div>
</div>
</div>
<div class="col-sm-2">
<div class="card bg-dark text-white mt-4">
<div class="card-body bg-dark">
<img src="images/movie/[Link]"
class="img-fluid">
</div>
<div class="card-footer bg-light
text-dark text-center
font-weight-bold">
Movie 4 (2020)
</div>
</div>
</div>
<div class="col-sm-2">
<div class="card bg-dark text-white mt-4">
<div class="card-body bg-dark">
<img src="images/movie/[Link]"
class="img-fluid">
</div>
<div class="card-footer bg-light
text-dark text-center
font-weight-bold">
Movie 5 (2020)
</div>
</div>
</div>
<div class="col-sm-2">
<div class="card bg-dark text-white mt-4">
<div class="card-body bg-dark">
<img src="images/movie/[Link]"
class="img-fluid">
<!--
Bootstrap core JavaScript
Placed at the end of the document so the pages load faster
-->
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
Penutup
Masih materi yang perlu dibahas tentang Bootstrap 4 yang belum diberikan pada
buku ini. Pembahasan detail tentang Bootstrap 4 akan dibahas secara khusus
pada buku terpisah.