Cari Halaman

Dasar HTML

Sarah Johnson
1 January 0001
4-5 jam

Dasar HTML - Memulai dengan HTML

HTML (HyperText Markup Language) adalah bahasa markup standar untuk membuat halaman web. Mari kita mulai dengan dasar-dasar HTML.

Apa itu HTML?

HTML adalah bahasa markup yang digunakan untuk membuat struktur dan konten halaman web. HTML menggunakan tag untuk mendefinisikan elemen-elemen dalam dokumen.

Keunggulan HTML

  • Standard: Bahasa markup standar web
  • Semantic: Mendukung semantic markup
  • Accessible: Mendukung accessibility
  • SEO-friendly: Optimized untuk search engines
  • Cross-platform: Berjalan di semua browser
  • Easy to learn: Syntax yang sederhana

Struktur Dasar HTML

1. HTML Document Structure

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My First Webpage</title>
</head>
<body>
    <h1>Hello World!</h1>
    <p>This is my first HTML page.</p>
</body>
</html>

2. DOCTYPE Declaration

1
<!DOCTYPE html>

DOCTYPE memberitahu browser bahwa ini adalah dokumen HTML5.

3. HTML Element

1
<html lang="en">

Root element dari dokumen HTML. Atribut lang menentukan bahasa dokumen.

Head Section

1. Meta Tags

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<head>
    <!-- Character encoding -->
    <meta charset="UTF-8">
    
    <!-- Viewport for responsive design -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- Page description -->
    <meta name="description" content="Learn HTML basics">
    
    <!-- Keywords -->
    <meta name="keywords" content="HTML, web development, coding">
    
    <!-- Author -->
    <meta name="author" content="John Doe">
    
    <!-- Refresh page -->
    <meta http-equiv="refresh" content="30">
</head>

2. Title Tag

1
<title>My Website - Homepage</title>

Title tag menentukan judul halaman yang muncul di tab browser.

3. Linking Resources

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<head>
    <!-- CSS file -->
    <link rel="stylesheet" href="styles.css">
    
    <!-- JavaScript file -->
    <script src="script.js"></script>
    
    <!-- Favicon -->
    <link rel="icon" href="favicon.ico">
    
    <!-- External fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap" rel="stylesheet">
</head>

Body Section

1. Heading Elements

1
2
3
4
5
6
7
8
<body>
    <h1>Main Heading</h1>
    <h2>Sub Heading</h2>
    <h3>Section Heading</h3>
    <h4>Subsection Heading</h4>
    <h5>Minor Heading</h5>
    <h6>Smallest Heading</h6>
</body>

2. Paragraph Element

1
2
<p>This is a paragraph of text.</p>
<p>This is another paragraph with <strong>bold text</strong> and <em>italic text</em>.</p>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<!-- External link -->
<a href="https://www.example.com">Visit Example</a>

<!-- Internal link -->
<a href="/about">About Us</a>

<!-- Link with target -->
<a href="https://www.example.com" target="_blank">Open in new tab</a>

<!-- Email link -->
<a href="mailto:contact@example.com">Send email</a>

<!-- Phone link -->
<a href="tel:+1234567890">Call us</a>

Text Formatting

1. Basic Text Elements

1
2
3
4
5
6
7
8
9
<p>
    <strong>Bold text</strong><br>
    <em>Italic text</em><br>
    <u>Underlined text</u><br>
    <mark>Highlighted text</mark><br>
    <del>Deleted text</del><br>
    <ins>Inserted text</ins><br>
    <sub>Subscript</sub> and <sup>Superscript</sup>
</p>

2. Code Elements

1
2
3
4
5
6
7
<p>Use <code>console.log()</code> to print to console.</p>

<pre>
function hello() {
    console.log("Hello World!");
}
</pre>

Lists

1. Unordered List

1
2
3
4
5
<ul>
    <li>First item</li>
    <li>Second item</li>
    <li>Third item</li>
</ul>

2. Ordered List

1
2
3
4
5
<ol>
    <li>First step</li>
    <li>Second step</li>
    <li>Third step</li>
</ol>

3. Definition List

1
2
3
4
5
6
7
<dl>
    <dt>HTML</dt>
    <dd>HyperText Markup Language</dd>
    
    <dt>CSS</dt>
    <dd>Cascading Style Sheets</dd>
</dl>

Images

1. Basic Image

1
<img src="image.jpg" alt="Description of image">

2. Image with Attributes

1
2
3
4
5
6
7
<img 
    src="image.jpg" 
    alt="Description of image"
    width="300"
    height="200"
    loading="lazy"
>

3. Responsive Image

1
2
3
4
5
<img 
    src="image.jpg" 
    alt="Description of image"
    style="max-width: 100%; height: auto;"
>

Tables

1. Basic Table

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>City</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>John</td>
            <td>25</td>
            <td>New York</td>
        </tr>
        <tr>
            <td>Jane</td>
            <td>30</td>
            <td>Los Angeles</td>
        </tr>
    </tbody>
</table>

Forms

1. Basic Form

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<form action="/submit" method="POST">
    <label for="name">Name:</label>
    <input type="text" id="name" name="name" required>
    
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" required>
    
    <label for="message">Message:</label>
    <textarea id="message" name="message" rows="4"></textarea>
    
    <button type="submit">Submit</button>
</form>

2. Input Types

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!-- Text input -->
<input type="text" placeholder="Enter your name">

<!-- Email input -->
<input type="email" placeholder="Enter your email">

<!-- Password input -->
<input type="password" placeholder="Enter your password">

<!-- Number input -->
<input type="number" min="0" max="100" step="1">

<!-- Date input -->
<input type="date">

<!-- Time input -->
<input type="time">

<!-- File input -->
<input type="file" accept="image/*">

<!-- Checkbox -->
<input type="checkbox" id="agree" name="agree">
<label for="agree">I agree to the terms</label>

<!-- Radio buttons -->
<input type="radio" id="male" name="gender" value="male">
<label for="male">Male</label>

<input type="radio" id="female" name="gender" value="female">
<label for="female">Female</label>

Semantic HTML

1. Semantic Elements

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<header>
    <nav>
        <ul>
            <li><a href="/">Home</a></li>
            <li><a href="/about">About</a></li>
            <li><a href="/contact">Contact</a></li>
        </ul>
    </nav>
</header>

<main>
    <article>
        <section>
            <h2>Article Title</h2>
            <p>Article content...</p>
        </section>
    </article>
    
    <aside>
        <h3>Related Articles</h3>
        <ul>
            <li><a href="#">Related Article 1</a></li>
            <li><a href="#">Related Article 2</a></li>
        </ul>
    </aside>
</main>

<footer>
    <p>&copy; 2024 My Website. All rights reserved.</p>
</footer>

Best Practices

1. Accessibility

  • Always use alt attributes for images
  • Use semantic HTML elements
  • Provide proper heading hierarchy
  • Use ARIA attributes when needed

2. SEO

  • Use descriptive title tags
  • Include meta descriptions
  • Use proper heading structure
  • Optimize images with alt text

3. Performance

  • Optimize images
  • Minify HTML
  • Use lazy loading for images
  • Compress resources

Common Mistakes to Avoid

  1. Missing DOCTYPE: Always include <!DOCTYPE html>
  2. Unclosed tags: Always close your HTML tags
  3. Missing alt attributes: Always provide alt text for images
  4. Poor heading structure: Use headings in logical order
  5. Overusing div: Use semantic elements instead

Tools and Resources

1. Validation Tools

2. Learning Resources

Next Steps

Setelah memahami dasar HTML, Anda dapat melanjutkan ke:

  1. CSS - Untuk styling dan layout
  2. JavaScript - Untuk interaktivitas
  3. HTML5 Features - Untuk fitur modern
  4. Accessibility - Untuk aksesibilitas
  5. SEO - Untuk optimasi mesin pencari

Kesimpulan

HTML adalah fondasi penting untuk pengembangan web. Dengan memahami dasar-dasar HTML, Anda dapat membuat struktur website yang baik dan semantic. Teruslah berlatih dan eksperimen dengan berbagai elemen HTML untuk meningkatkan keterampilan Anda.

Modul Sebelumnya
Modul Selanjutnya

Progress Seri

Lanjutkan pembelajaran Anda

1/8
Modul
12%
Sedang Berjalan