HTML & CSS

 

HTML (Hyper Text Markup Language)

Pendahuluan

HTML (HyperText Markup Language) adalah bahasa standar yang digunakan untuk membuat dan menyusun halaman web. HTML memungkinkan pengembang untuk mengatur teks, gambar, video, dan elemen lainnya sehingga dapat ditampilkan dengan baik di browser web. Berikut adalah penjelasan lengkap mengenai HTML, mencakup sejarah, struktur, elemen, atribut, serta praktik terbaik dalam penggunaannya.

1. Pengertian HTML

HTML adalah bahasa markup yang digunakan untuk membuat struktur dan konten halaman web. HTML menggunakan serangkaian elemen atau tag yang membungkus konten untuk memberikan instruksi kepada browser tentang bagaimana konten tersebut harus ditampilkan.

2. Sejarah HTML

HTML dikembangkan oleh Tim Berners-Lee pada akhir 1980-an dan awal 1990-an. Versi pertama HTML dirilis pada tahun 1991. Seiring berkembangnya teknologi web, HTML juga mengalami berbagai pembaruan. HTML5 adalah versi terbaru yang membawa banyak fitur baru untuk mendukung multimedia dan aplikasi web yang lebih interaktif.





Logo resmi dari versi terbaru HTML, yaitu HTML5.


Tim Berners Lee, sang penemu HTML.

3. Struktur dasar HTML

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Judul Halaman</title>
</head>
<body>
    <!-- Konten halaman -->
</body>
</html>

Penjelasan Struktur:

<!DOCTYPE html>: Deklarasi tipe dokumen yang memberitahu browser bahwa dokumen ini menggunakan HTML5.
<html lang="id">: Elemen root dari dokumen HTML dengan atribut lang yang menunjukkan bahasa Indonesia.
<head>: Bagian yang berisi metadata, seperti karakter set, judul halaman, link ke stylesheet, dan skrip.
<meta charset="UTF-8">: Menetapkan set karakter yang digunakan.
<meta name="viewport" content="width=device-width, initial-scale=1.0">: Mengatur tampilan responsif pada perangkat mobile.
<title>: Menentukan judul halaman yang muncul di tab browser.
<body>: Bagian utama yang berisi konten yang ditampilkan di halaman web.

4. Elemen HTML

Elemen HTML adalah blok bangunan utama dalam HTML. Setiap elemen biasanya terdiri dari tag pembuka dan tag penutup, serta konten di antaranya.

Contoh Elemen Dasar:

<h1>Ini adalah Heading 1</h1>
<p>Ini adalah paragraf.</p>
<a href="https://www.example.com">Ini adalah tautan</a>

Penjelasan Elemen

<h1> hingga <h6>: Tag heading dengan tingkat kepentingan dari 1 (tertinggi) hingga 6 (terendah).
<p>: Tag paragraf untuk teks.
<a>: Tag tautan (anchor) yang digunakan untuk membuat hyperlink. Atribut href menentukan URL tujuan.

5. Tag Dan Atribut

Tag

Tag adalah perintah yang digunakan untuk membuat elemen. Ada dua jenis tag:

Tag Pembuka: Menandai awal elemen, misalnya <div>.
Tag Penutup: Menandai akhir elemen, misalnya </div>.

Beberapa elemen dapat ditulis tanpa tag penutup, seperti <img> dan <br>.

Atribut

Atribut memberikan informasi tambahan tentang elemen. Ditulis di dalam tag pembuka.

Contoh Penggunaan Atribut:

<a href="https://www.example.com" target="_blank">Kunjungi Example.com</a>
<img src="gambar.jpg" alt="Deskripsi Gambar" width="300" height="200">

href: Menentukan URL tujuan pada tag <a>.
target: Menentukan di mana membuka tautan (misalnya _blank untuk membuka di tab baru).
src: Menentukan sumber gambar pada tag <img>.
alt: Memberikan deskripsi alternatif untuk gambar.
width dan height: Menentukan lebar dan tinggi gambar.

6. Tipe Data dalam HTML

HTML mendukung berbagai tipe data yang dapat ditampilkan di halaman web, antara lain:

Teks: Paragraf, heading, daftar, tabel.
Gambar: Menggunakan tag <img>.
Audio dan Video: Menggunakan tag <audio> dan <video>.
Formulir: Input pengguna menggunakan tag <form>, <input>, <textarea>, <button>, dll.
Link: Menghubungkan halaman menggunakan tag <a>.

7. Forms dan Input 

Formulir memungkinkan pengguna untuk memasukkan data yang dapat dikirim ke server. Berikut adalah contoh formulir sederhana:

<form action="/submit" method="post">
    <label for="nama">Nama:</label>
    <input type="text" id="nama" name="nama" required>

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

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

Penjelasan

<form>: Elemen pembungkus untuk input pengguna. Atribut action menentukan URL tujuan pengiriman data, method menentukan metode HTTP (GET atau POST).
<label>: Label untuk input, membantu aksesibilitas.
<input>: Berbagai tipe input seperti text, email, password, checkbox, radio, dll.
<button>: Tombol untuk mengirim formulir atau melakukan aksi lain.

8. Media dalam HTML

HTML memungkinkan penyertaan berbagai jenis media untuk memperkaya konten halaman web.

Gambar 

<img src="gambar.jpg" alt="Deskripsi Gambar" width="500" height="300">

Audio 

<audio controls>
    <source src="audio.mp3" type="audio/mpeg">
    Browser Anda tidak mendukung elemen audio.
</audio>

Video

<video width="640" height="360" controls>
    <source src="video.mp4" type="video/mp4">
    Browser Anda tidak mendukung elemen video.
</video>

9. Semantik dalam HTML5

HTML5 memperkenalkan elemen semantik yang membantu strukturisasi konten dan meningkatkan SEO serta aksesibilitas.

Contoh Elemen Semantik

<header>: Bagian kepala halaman atau section.
<nav>: Navigasi utama situs.
<main>: Konten utama halaman.
<article>: Konten mandiri seperti artikel blog.
<section>: Bagian dari halaman dengan tema tertentu.
<footer>: Bagian bawah halaman, biasanya berisi informasi kontak atau hak cipta.
<aside>: Konten sampingan, seperti sidebar.

Contoh Penggunaan Elemen Semantik

<header>
    <h1>Nama Situs</h1>
    <nav>
        <ul>
            <li><a href="#home">Beranda</a></li>
            <li><a href="#about">Tentang</a></li>
            <li><a href="#contact">Kontak</a></li>
        </ul>
    </nav>
</header>

<main>
    <article>
        <h2>Judul Artikel</h2>
        <p>Isi artikel...</p>
    </article>
</main>

<footer>
    <p>&copy; 2024 Nama Situs. Semua hak cipta dilindungi.</p>
</footer>

10. Responsive Design Dengan HTML

Untuk membuat halaman web responsif yang tampil baik di berbagai perangkat, HTML bekerja sama dengan CSS dan meta tag viewport.

Contoh Meta Tag Responsif

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Teknik Responsif

Media Queries: Menggunakan CSS untuk menyesuaikan tampilan berdasarkan ukuran layar.
Flexbox dan Grid: Layout fleksibel untuk mengatur elemen secara dinamis.
Responsive Images: Menggunakan atribut srcset dan sizes untuk gambar yang adaptif.

11.  Integrasi Dengan CSS dan JavaScript

HTML digunakan bersama dengan CSS (Cascading Style Sheets) untuk styling dan JavaScript untuk interaktivitas.

Menyisipkan CSS

Internal CSS:

<style>
    body {
        background-color: #f0f0f0;
    }
</style>

Eksternal CSS:

<link rel="stylesheet" href="styles.css">

Menyisipkan Javascript

Internal JS:

<script>
    console.log('Hello, World!');
</script>

Eksternal JS:

<script src="script.js"></script>

12. Best Practices dalam Penggunaan HTML

Penulisan yang Bersih dan Terstruktur

Gunakan indentasi yang konsisten untuk memudahkan pembacaan.
Tutup semua tag yang perlu ditutup.
Gunakan huruf kecil untuk nama tag dan atribut.

Penggunaan Elemen Semantik

Pilih elemen semantik yang sesuai untuk meningkatkan SEO dan aksesibilitas.
Hindari penggunaan elemen non-semantic seperti <div> dan <span> jika ada elemen semantik yang lebih tepat.

Aksesibilitas

Gunakan atribut alt pada gambar untuk deskripsi.
Pastikan struktur heading (<h1> hingga <h6>) yang logis.
Gunakan label yang jelas pada formulir.

Optimasi Kinerja

Minimalkan penggunaan skrip dan stylesheet eksternal.
Optimalkan ukuran gambar dan media lainnya.
Gunakan teknik lazy loading untuk memuat konten media hanya saat diperlukan.

13. Alat Bantu dan Editor HTML

Menggunakan editor yang baik dapat meningkatkan produktivitas dan kualitas kode.

Editor Populer:

Visual Studio Code: Editor gratis dengan banyak ekstensi.
Sublime Text: Editor ringan dengan fitur canggih.
Atom: Editor yang dapat disesuaikan dan open-source.
Brackets: Fokus pada pengembangan web dengan fitur live preview.

Alat Validasi:

W3C Markup Validation Service: Memeriksa validitas kode HTML.

14. Validasi dan Debugging

Validasi

Memastikan kode HTML sesuai dengan standar untuk menghindari masalah kompatibilitas.

Gunakan validator HTML untuk menemukan dan memperbaiki kesalahan.

Debugging

Menggunakan alat pengembang di browser untuk memeriksa elemen, konsol JavaScript, dan performa.

Chrome DevTools: Alat pengembang di Google Chrome.
Firefox Developer Tools: Alat pengembang di Mozilla Firefox.

15. Referensi dan Sumber Belajar

Untuk mempelajari lebih lanjut tentang HTML, berikut beberapa sumber yang dapat diakses:

MDN Web Docs: Dokumentasi lengkap tentang HTML, CSS, dan JavaScript.
W3Schools: Tutorial dan referensi interaktif.
FreeCodeCamp: Kursus gratis tentang pengembangan web.
Codecademy: Platform pembelajaran interaktif.

 

CSS (Cascading Style Sheets)

CSS (Cascading Style Sheets) adalah bahasa desain yang digunakan untuk menentukan tampilan dan tata letak halaman web. CSS memungkinkan pengembang untuk memisahkan konten dari desain visual, memberikan fleksibilitas dalam mengatur elemen halaman web secara estetis tanpa mengubah HTML-nya. CSS memungkinkan halaman web menjadi lebih menarik, interaktif, dan responsif terhadap berbagai ukuran layar.








1. Pengertian CSS 

CSS (Cascading Style Sheets) adalah bahasa yang digunakan untuk menentukan tampilan elemen HTML. Dengan CSS, Anda dapat mengatur warna, font, ukuran, tata letak, dan bahkan animasi elemen web. CSS memungkinkan pemisahan antara konten (HTML) dan presentasi, sehingga kode HTML menjadi lebih bersih dan mudah dikelola.

2. Struktur CSS 

CSS terdiri dari selektor dan deklarasi. Deklarasi terdiri dari properti dan nilai.

Contoh Struktur Dasar:

p {
color: blue;
font-size: 16px;
}

Penjelasan Struktur Dasar

- Selektor: p adalah selektor yang memilih semua elemen <p> (paragraf).
- Deklarasi: { color: blue; font-size: 16px; } adalah deklarasi yang mengatur gaya.
     Properti: color dan font-size adalah properti yang ingin Anda ubah.
     Nilai: blue dan 16px adalah nilai properti.

3. Cara Menyisipkan CSS 

CSS dapat diterapkan ke halaman web dengan tiga cara: Inline CSS, Internal CSS, dan External CSS.

Inline CSS

CSS dapat ditulis langsung di dalam elemen HTML menggunakan atribut style.
<p style="color: red; font-size: 14px;">Ini adalah paragraf dengan gaya inline.</p>

Internal CSS

CSS dapat ditulis di dalam tag <style> yang terletak di bagian <head> dokumen HTML.
<head> <style> body { background-color: lightgrey; } h1 { color: blue; font-size: 24px; } </style> </head>

External CSS

CSS juga dapat ditulis dalam file terpisah dengan ekstensi .css, lalu ditautkan ke dokumen HTML menggunakan tag <link>.

<head> <link rel="stylesheet" href="styles.css"> </head>

styles.css:

body {
background-color: lightgrey;
}
h1 {
color: blue;
font-size: 24px;
}

Kapan Menggunakan Cara yang Mana?

Inline CSS

Digunakan untuk perubahan cepat atau spesifik pada satu elemen, namun jarang disarankan karena sulit dikelola.

Internal CSS

Digunakan ketika gaya hanya diperlukan untuk satu halaman web.

External CSS

Digunakan saat ingin menerapkan gaya yang konsisten pada banyak halaman web. Ini adalah metode yang paling umum.

4. Selektor CSS 

Selektor digunakan untuk memilih elemen HTML yang ingin Anda beri gaya. Ada berbagai jenis selektor dalam CSS.

Selektor Elemen

Memilih elemen HTML berdasarkan nama tag.

p {
color: green;
}

Selektor ID

Memilih elemen berdasarkan atribut id. ID bersifat unik, jadi setiap ID hanya boleh digunakan sekali di seluruh halaman.

#header {
background-color: yellow;
}

HTML:
<div id="header">Ini adalah header</div>

Selektor Class

Memilih elemen berdasarkan atribut class. Class dapat digunakan pada beberapa elemen.

.box {
border: 1px solid black;
padding: 10px;
}

HTML:
<div class="box">Box 1</div> <div class="box">Box 2</div>

Selektor Atribut

Memilih elemen berdasarkan atribut tertentu.

input[type="text"] {
border: 1px solid grey;
}

HTML:<input type="text" placeholder="Ketikkan teks..."> <input type="password" placeholder="Ketikkan password...">


Selektor Pseudo-Class

Memilih elemen berdasarkan keadaan atau perilaku spesifik, seperti saat elemen di-hover atau di-klik.

a{
color: red;
}

HTML:
<a href="#">Tautan ini berubah warna saat di-hover</a>

Selektor Descendant


Memilih elemen yang berada di dalam elemen lainnya (bersarang).

div p {
color: blue;
}

HTML:
<div> <p>Paragraf ini berada di dalam div</p> </div> <p>Paragraf ini tidak dipengaruhi oleh selektor di atas</p>

5. Properti CSS 

Berikut adalah beberapa properti penting dalam CSS yang sering digunakan.

Warna (Color)

color: Mengatur warna teks.
background-color: Mengatur warna latar belakang.

h1 {
color: blue;
}
body {
background-color: lightyellow;
}

Teks (Text)

font-size: Mengatur ukuran teks.
font-family: Mengatur jenis huruf.
text-align: Mengatur perataan teks (kiri, tengah, kanan).
font-weight: Mengatur ketebalan huruf.

p {
font-size: 16px;
font-family: Arial, sans-serif;
text-align: justify;
font-weight: bold;
}

Tata Letak (Layout)

margin: Mengatur jarak luar dari elemen.
padding: Mengatur jarak dalam antara konten dan batas elemen.
border: Mengatur batas elemen.
width dan height: Mengatur lebar dan tinggi elemen.

div {
margin: 20px;
padding: 15px;
border: 2px solid black;
width: 200px;
height: 100px;
}

Tata Letak Flexbox dan Grid

Flexbox

Flexbox adalah model tata letak yang lebih fleksibel dan mudah digunakan untuk membuat layout dinamis.

.container {
display: flex;
justify-content: space-between;
}

Grid

CSS Grid adalah metode yang lebih kompleks untuk mengatur elemen dalam baris dan kolom.

.grid-container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
}

Display dan Visibility

display: Mengatur bagaimana elemen ditampilkan (block, inline, none).
visibility: Mengatur apakah elemen terlihat atau tidak, tanpa mengubah tata letak.

div {
display: block;
}
span {
display: none;
}

6. Media Queries 

Media Queries digunakan untuk membuat situs web responsif, memungkinkan halaman untuk menyesuaikan tampilannya sesuai dengan ukuran layar perangkat.

Contoh Media Query:

@media only screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}

Teknik Responsif Lainnya:

Unit Relatif: Gunakan unit seperti em, rem, atau % alih-alih px untuk ukuran yang responsif.
Fluid Layouts: Gunakan tata letak yang fleksibel dengan unit seperti fr dan vw (viewport width).

7. Animasi dan Transisi 

CSS juga memungkinkan Anda untuk membuat animasi dan efek transisi.

Transisi:

a {
color: black;
transition: color 0.3s ease;
}
a
{
color: red;
}

Animasi:

@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}

div {
width: 100px;
height: 100px;
background-color: red;
animation: example 3s infinite;
}

8. Inheritance dan Cascade dalam CSS 

CSS memiliki mekanisme pewarisan dan cascading, yang mengatur bagaimana gaya diterapkan pada elemen berdasarkan aturan yang telah ditentukan.

Inheritance (Pewarisan)

Beberapa properti CSS diwariskan dari elemen induk ke elemen turunannya. Contoh properti yang diwariskan adalah color, font-family, dan line-height.

body {
font-family: Arial, sans-serif;
}
p {
color: green;
}

Jika Anda menerapkan font-family ke <body>, semua elemen anak dalam <body> akan mewarisi gaya ini kecuali ditentukan sebaliknya.

Cascading (Tumpang Tindih)

Jika ada lebih dari satu aturan yang berlaku untuk elemen, CSS akan menerapkan aturan berdasarkan urutan prioritas:

1. Urutan prioritas (inline > internal > external)
2. Spesifisitas selektor
3. Urutan kemunculan dalam kode

9. Praktik dalam CSS

Gunakan External CSS

Gunakan file CSS eksternal untuk menjaga kode HTML tetap bersih dan memudahkan pemeliharaan.
Gunakan Class daripada ID untuk Selektor Berulang
ID harus unik di setiap halaman, sementara class dapat digunakan beberapa kali.

Gunakan Variabel CSS

Dalam CSS modern, Anda bisa menggunakan variabel untuk mendefinisikan nilai yang dapat digunakan kembali.

{
--primary-color: blue;
}

p {
color: var(--primary-color);
}

Optimasi untuk Performa

Minimalkan penggunaan !important dan atur CSS dengan rapi agar mudah dibaca dan dipelihara. Gabungkan dan kompres file CSS untuk mempercepat waktu muat halaman.

10. Alat Bantu CSS 

Berikut adalah beberapa alat dan framework yang dapat membantu dalam penulisan CSS:

Bootstrap: Framework CSS populer untuk membuat situs web responsif dengan cepat.
Sass: Preprocessor CSS yang menyediakan fitur seperti variabel, nesting, dan mixin.
CSS Lint: Alat untuk memeriksa kesalahan dan masalah gaya dalam kode CSS.

11. Referensi dan Sumber Belajar

Untuk mempelajari CSS lebih lanjut, berikut beberapa sumber yang dapat Anda manfaatkan:

MDN Web Docs: Panduan lengkap tentang CSS.
W3Schools: Tutorial interaktif tentang CSS.
CSS Tricks: Situs dengan banyak tips dan trik seputar CSS.
FreeCodeCamp: Kursus gratis tentang CSS.

Penerapan HTML dan CSS Berdasarkan Pengalaman Pribadi

Berikut adalah beberapa penerapan HTML dan CSS, bagian ini ditujukan agar para pembaca dapat memiliki sedikit gambaran tentang pengaplikasian HTML dan CSS melalui contoh nyata.

Penerapan CSS& HTML Dalam Pembuatan Website



Pada gambar yang tercantum di atas diperlihatkan penerapan CSS dengan cara internal CSS.



Berikutnya pada gambar di atas diperlihatkan penerapan HTML dalam pembuatan website.


Sumber: 
MDN Web Docs (Mozilla Developer Network)
W3Schools
World Wide Web Consortium (W3C)
FreeCodeCamp

Komentar

Postingan populer dari blog ini

Kerangka Web

Hyper Text Markup Language

Cascading Style Sheets