proyekbiodatapraktikMahir5 mnt baca

Proyek Mini: Halaman Biodata

Gabungkan semua yang dipelajari: bangun halaman biodata lengkap dengan foto, tabel, form kontak, dan struktur semantic dari nol.

Misi Terakhir

Kamu sudah belajar 19 modul. Sekarang buktikan semuanya dalam satu halaman biodata utuh yang memakai: struktur dokumen, heading, paragraf, link, gambar, list, tabel, form dengan validasi, semantic tag, dan entity. Tidak ada materi baru di sini, cuma eksekusi.

Rencana Halaman

Halaman biodata kita punya:

  1. Header: foto, nama, dan navigasi (link anchor ke tiap bagian)
  2. Tentang: paragraf perkenalan dengan format teks
  3. Keahlian: list
  4. Riwayat: tabel pendidikan
  5. Kontak: form dengan validasi bawaan
  6. Footer: copyright dengan entity

Kode Lengkap

Simpan sebagai biodata.html. Ganti data contoh dengan datamu sendiri:

html
<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Biodata | Andi Pratama</title>
  <meta name="description" content="Halaman biodata Andi Pratama, pelajar SMK yang sedang belajar web development.">
  <link rel="icon" type="image/png" href="favicon.png">
</head>
<body>

  <header>
    <img src="foto.jpg" alt="Foto Andi Pratama" width="150" height="150">
    <h1>Andi Pratama</h1>
    <p>Pelajar SMK jurusan <strong>Rekayasa Perangkat Lunak</strong> yang sedang belajar menjadi <em>web developer</em>.</p>
    <nav>
      <a href="#tentang">Tentang</a>
      <a href="#keahlian">Keahlian</a>
      <a href="#riwayat">Riwayat</a>
      <a href="#kontak">Kontak</a>
    </nav>
  </header>

  <main>
    <section id="tentang">
      <h2>Tentang Saya</h2>
      <p>Halo! Saya Andi, 17 tahun, dari Bandung. Saya mulai belajar ngoding karena penasaran <strong>bagaimana website dibuat</strong>.</p>
      <p>Target saya tahun ini: menguasai HTML, CSS, dan JavaScript dasar, lalu membangun <em>portfolio online</em> pertama saya.</p>
    </section>

    <section id="keahlian">
      <h2>Keahlian</h2>
      <ul>
        <li>HTML: struktur dokumen, form, tabel</li>
        <li>Git dasar: commit dan push</li>
        <li>Sedang dipelajari:
          <ul>
            <li>CSS</li>
            <li>JavaScript</li>
          </ul>
        </li>
      </ul>
    </section>

    <section id="riwayat">
      <h2>Riwayat Pendidikan</h2>
      <table>
        <caption>Riwayat pendidikan formal</caption>
        <thead>
          <tr>
            <th>Tahun</th>
            <th>Sekolah</th>
            <th>Jurusan</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>2020-2023</td>
            <td>SMPN 1 Bandung</td>
            <td>-</td>
          </tr>
          <tr>
            <td>2023-2026</td>
            <td>SMKN 1 Bandung</td>
            <td>Rekayasa Perangkat Lunak</td>
          </tr>
        </tbody>
      </table>
    </section>

    <section id="kontak">
      <h2>Hubungi Saya</h2>
      <form>
        <label for="nama">Nama</label>
        <input type="text" id="nama" name="nama" minlength="3" required>

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

        <label for="pesan">Pesan</label>
        <textarea id="pesan" name="pesan" rows="4" required></textarea>

        <button type="submit">Kirim Pesan</button>
      </form>
      <p>Atau langsung: <a href="mailto:[email protected]">[email protected]</a></p>
    </section>
  </main>

  <footer>
    <p>&copy; 2026 Andi Pratama. Dibuat dengan &lt;3 dan HTML murni.</p>
  </footer>

</body>
</html>

Bedah Keputusannya

Perhatikan kenapa tiap pilihan dibuat:

  • Navigasi pakai link anchor (#tentang): satu halaman, lompat antar bagian.
  • Foto pakai width dan height: mencegah layout shift.
  • List bersarang di keahlian: "sedang dipelajari" punya sub-daftar.
  • Tabel pakai thead/tbody/caption: data tabular yang rapi dan aksesibel.
  • Form pakai required, minlength, type="email": validasi gratis dari browser.
  • &copy; dan &lt;3: entity untuk karakter spesial.
  • Semantic penuh: header, nav, main, section, footer. Nol div tanpa makna.

Tantangan Tambahan

Kalau halaman dasar sudah jalan, coba:

  1. Tambahkan section "Proyek" dengan 2 kartu (gambar + judul + deskripsi + link).
  2. Tambahkan favicon bikinanmu sendiri.
  3. Tambahkan Open Graph meta tag supaya link biodatamu tampil cantik saat dibagikan.

Catatan teknis: Halaman ini sengaja tanpa CSS. Tampilannya polos, dan itu tidak apa-apa: tujuan proyek ini membuktikan struktur HTML-mu benar. Di seri CSS kamu akan mengambil file ini persis apa adanya dan membuatnya cantik tanpa mengubah satu pun tag HTML. Itu kekuatan pemisahan struktur dan tampilan.

Selamat!

Kamu menyelesaikan 20 modul HTML Dasar, dari "apa itu browser" sampai halaman biodata utuh. Fondasimu sudah lebih kuat dari kebanyakan orang yang langsung lompat ke framework. Lanjut ke seri CSS, dan lihat struktur yang kamu bangun ini berubah menjadi website yang cantik.