Media Belajar Coding untuk Developer Indonesia

Ruang Coding

Media belajar online bareng untuk mengembangkan keahlianmu di bidang pemrograman web dan aplikasi smartphone.

139+Member Aktif
30+Artikel & Tutorial
16+Project Siap Pakai
Free Dasar

HTML & CSS dari Nol: Jadi Web Developer Pemula dalam 12 Modul

Kelas ini dirancang khusus untuk pemula total yang belum pernah menulis kode sama sekali. Kamu akan belajar setup tools, memahami struktur halaman web, hingga mendesain tampilan dengan CSS, dan di akhir kelas kamu akan membuat landing page sederhana dari nol.

8Modul
72Menit baca
HTML & CSSKategori
1

Instalasi & Setup: Menyiapkan Text Editor dan Browser untuk Ngoding Web

8 menit baca

Kenapa Modul Ini Penting?

Sebelum bisa nulis kode HTML atau CSS, kamu butuh dua alat wajib: text editor (program untuk menulis dan mengedit kode) dan browser (program untuk membuka dan menampilkan halaman web, contohnya Chrome atau Firefox). Modul ini akan memandu kamu menyiapkan keduanya, langkah demi langkah, sampai siap dipakai ngoding.

1. Install Text Editor: Visual Studio Code (VS Code)

VS Code adalah text editor gratis buatan Microsoft yang paling banyak dipakai developer pemula maupun profesional karena ringan, banyak fitur bantu, dan bisa ditambah ekstensi (plugin tambahan untuk menambah fungsi editor).

  • Buka code.visualstudio.com di browser kamu.
  • Klik tombol download sesuai sistem operasi (Windows/Mac/Linux). Situs otomatis mendeteksi OS kamu.
  • Jalankan file installer yang sudah didownload, lalu klik "Next" terus sampai selesai (pengaturan default sudah cukup untuk pemula).
  • Setelah install selesai, buka aplikasi VS Code untuk memastikan berhasil terpasang.

Install Ekstensi Pendukung

Di VS Code, ada dua ekstensi yang sangat membantu di awal belajar:

  • Live Server — ekstensi yang membuat perubahan kode kamu langsung terlihat di browser tanpa perlu refresh manual.
  • Prettier — ekstensi yang otomatis merapikan format kode kamu (indentasi, spasi, dll).

Cara install: buka VS Code, klik ikon kotak-kotak di sidebar kiri (namanya "Extensions"), ketik nama ekstensinya di kolom pencarian, lalu klik "Install" pada hasil yang muncul.

2. Siapkan Browser

Kamu butuh browser modern untuk menampilkan hasil kerja dan mengecek kode lewat fitur DevTools (alat bawaan browser untuk melihat dan mendebug kode HTML/CSS/JavaScript sebuah halaman).

  • Disarankan pakai Google Chrome karena DevTools-nya lengkap dan banyak tutorial menggunakannya sebagai acuan. Download di google.com/chrome kalau belum punya.
  • Firefox juga bisa dipakai sebagai alternatif, fiturnya setara.

Untuk membuka DevTools: klik kanan di halaman web mana saja, pilih "Inspect" atau "Inspect Element". Nanti akan muncul panel berisi kode HTML/CSS halaman tersebut. Kita akan pakai ini lebih detail di modul-modul berikutnya.

3. Buat Folder Kerja

Supaya rapi, buat satu folder khusus untuk menyimpan semua latihan selama kelas ini.

  • Buat folder baru di Desktop atau Documents, beri nama misalnya belajar-html-css.
  • Buka folder ini di VS Code dengan cara: buka VS Code → menu "File" → "Open Folder" → pilih folder yang tadi dibuat.

4. Tes Setup dengan File Pertama

Sekarang saatnya mengetes apakah semua alat sudah siap. Di dalam folder kerja tadi, buat file baru bernama index.html (klik ikon "New File" di VS Code), lalu isi dengan kode berikut:

<!DOCTYPE html>
<html>
  <body>
    <h1>Halo, Dunia!</h1>
  </body>
</html>

Simpan file (Ctrl+S atau Cmd+S). Jangan khawatir kalau belum paham arti tiap barisnya — itu akan dibahas tuntas di modul berikutnya. Fokus modul ini hanya memastikan tools-mu berjalan lancar.

Menampilkan di Browser

Ada dua cara:

  • Cara manual: klik kanan file index.html di file explorer komputer, pilih "Open with" → pilih Chrome/Firefox.
  • Cara pakai Live Server: di VS Code, klik kanan pada file index.html di panel sebelah kiri, pilih "Open with Live Server". Browser akan otomatis terbuka dan menampilkan halamanmu.

Kalau berhasil, kamu akan melihat tulisan "Halo, Dunia!" tampil besar di browser. Selamat, setup kamu sudah siap!

Latihan: Pastikan Semua Berfungsi

Coba lakukan langkah berikut sendiri untuk memastikan tools-mu benar-benar siap dipakai sepanjang kelas ini:

  • Buat file baru bernama latihan.html di folder kerjamu.
  • Isi dengan kode berikut, lalu simpan:
    <!DOCTYPE html>
    <html>
      <body>
        <h1>Nama saya [isi namamu]</h1>
        <p>Saya sedang belajar HTML dan CSS.</p>
      </body>
    </html>
    
  • Buka file ini dengan Live Server di VS Code.
  • Setelah tampil di browser, coba ubah teks di dalam tanda <h1> menjadi kalimat lain, simpan lagi, dan lihat apakah browser otomatis berubah tanpa kamu refresh manual.

Kalau perubahan langsung terlihat tanpa refresh manual, berarti Live Server aktif dengan benar dan kamu sudah siap lanjut ke modul berikutnya: memahami bagaimana website sebenarnya bekerja.

Lanjut ke modul berikutnya
2

Mengenal Dunia Web: Bagaimana Website Bekerja & Peran HTML-CSS

8 menit baca

Sebelum Ngoding, Pahami Dulu "Panggung"-nya

Di modul sebelumnya kamu sudah menyiapkan text editor dan browser. Sekarang, sebelum mulai menulis baris kode HTML pertamamu di modul berikutnya, kita perlu paham dulu satu hal penting: apa yang sebenarnya terjadi saat kamu buka sebuah website? Paham konsep ini bikin kamu nggak cuma "hafal syntax", tapi ngerti alasan di balik setiap kode yang kamu tulis.

Apa yang Terjadi Saat Kamu Buka Website?

Coba bayangkan kamu ketik www.tokopedia.com di browser lalu tekan Enter. Ada beberapa langkah cepat yang terjadi di baliknya:

  • Browser (aplikasi seperti Chrome atau Firefox yang kamu pakai untuk membuka website) mengirim permintaan ke sebuah komputer khusus bernama server (komputer yang menyimpan file-file website dan "melayani" permintaan dari browser).
  • Server menerima permintaan itu, lalu mengirim balik file-file yang dibutuhkan: biasanya file HTML, CSS, gambar, dan kadang JavaScript.
  • Browser menerima file-file tersebut, lalu merender-nya — artinya browser "menerjemahkan" kode itu menjadi tampilan visual yang kamu lihat di layar.

Proses request-response ini terjadi dalam hitungan milidetik, tapi memahami alurnya penting supaya kamu tahu: HTML dan CSS yang kamu tulis nanti bukan "sihir", melainkan file teks biasa yang diterjemahkan browser jadi tampilan.

Tiga Bahasa Utama di Web

Sebuah website modern pada dasarnya dibangun dari tiga bahasa yang punya peran berbeda. Analogi paling gampang: bayangkan sebuah rumah.

  • HTML (HyperText Markup Language) adalah kerangka/struktur rumah — menentukan ada berapa ruangan, mana pintu, mana jendela. Di web, HTML menentukan ada judul, paragraf, gambar, tombol, dan seterusnya.
  • CSS (Cascading Style Sheets) adalah dekorasi rumah — cat dinding, pilihan furnitur, tata letak. Di web, CSS mengatur warna, ukuran font, jarak antar elemen, sampai posisi tata letak.
  • JavaScript adalah bagian yang membuat rumah "hidup" — lampu otomatis nyala saat gelap, pintu otomatis terbuka. Di web, JavaScript membuat halaman jadi interaktif, misalnya tombol yang bisa diklik dan memunculkan pop-up.

Kelas ini fokus ke dua yang pertama: HTML dan CSS. Keduanya cukup untuk membuat halaman web yang punya struktur rapi dan tampilan menarik — cukup untuk landing page yang akan kamu buat di modul terakhir nanti.

HTML vs CSS: Jangan Sampai Ketuker

Pemula sering bingung membedakan tugas HTML dan CSS. Aturan sederhananya:

  • HTML menjawab pertanyaan "apa ini?" — ini judul, ini paragraf, ini gambar, ini tombol.
  • CSS menjawab pertanyaan "seperti apa tampilannya?" — judulnya warna merah, paragrafnya rata kiri, tombolnya bulat.

Contoh gambarannya (belum perlu kamu pahami syntax-nya, cukup lihat pembagian tugasnya):

<h1>Selamat Datang</h1>   ← ini bagian HTML, isinya konten "apa"

h1 {
  color: blue;             ← ini bagian CSS, mengatur "tampilan"
}

Baris <h1>Selamat Datang</h1> memberi tahu browser "ini adalah judul utama". Baris CSS di bawahnya memberi tahu browser "tolong warnai semua judul utama dengan warna biru". HTML dan CSS bekerja sama, tapi tanggung jawabnya beda.

Mengenal Istilah "Tag" dan "Elemen"

Dua istilah ini akan sering muncul mulai modul berikutnya, jadi kenalan dulu sekarang:

  • Tag adalah penanda yang ditulis dengan kurung siku, misalnya <h1> atau </h1>, yang memberi tahu browser jenis konten apa yang mengikutinya.
  • Elemen adalah gabungan tag pembuka, isi konten, dan tag penutup secara utuh, misalnya <h1>Selamat Datang</h1> secara keseluruhan disebut satu elemen.

Tenang, kamu belum perlu menghafal tag-tag ini sekarang — itu akan jadi fokus modul 3 dan 4. Yang penting sekarang kamu paham istilahnya dulu.

Kenapa File HTML Bisa Dibuka Tanpa Internet?

Satu hal menarik: karena HTML dan CSS pada dasarnya cuma file teks biasa, kamu bisa membuat dan membuka file HTML di komputer sendiri tanpa koneksi internet sama sekali! Browser tetap bisa membacanya langsung dari penyimpanan komputermu. Internet baru dibutuhkan kalau file-nya disimpan di server dan diakses lewat alamat website (URL) dari komputer lain. Inilah alasan kenapa kelas ini bisa mengajarimu ngoding web dari nol — kamu cukup punya text editor dan browser, tanpa perlu setup server yang rumit dulu.

🧪 Studi Kasus: Uji Pemahamanmu

Sebelum lanjut ke modul berikutnya, coba kerjakan latihan konsep ini (tanpa perlu menulis kode dulu):

  1. Tuliskan dengan kata-katamu sendiri: apa perbedaan tugas HTML dan CSS? Gunakan analogi selain "rumah" — misalnya analogi tubuh manusia, baju, atau apa pun yang menurutmu paling gampang kamu ingat.
  2. Buka salah satu website favoritmu (misalnya Instagram atau Detik.com). Klik kanan di halaman tersebut lalu pilih "Inspect" atau "Inspect Element". Kamu akan melihat kode HTML asli dari halaman itu di panel yang muncul. Coba temukan minimal 2 tag yang terlihat familiar (petunjuk: cari tulisan di dalam kurung siku seperti <p> atau <img>).
  3. Dari hasil inspect tadi, coba tebak: bagian mana yang menurutmu diatur oleh HTML, dan bagian mana yang kelihatannya hasil kerja CSS (misalnya warna atau jarak antar elemen)?

Latihan ini nggak ada jawaban "salah" — tujuannya supaya matamu mulai terbiasa melihat kode di balik website sungguhan sebelum kamu mulai menulisnya sendiri di modul berikutnya.

Lanjut ke modul berikutnya
3

Struktur Dasar Halaman HTML: Membuat File Pertamamu

10 menit baca

Saatnya Nulis Kode Pertamamu

Di modul sebelumnya kamu sudah paham gimana browser dan server saling ngobrol, dan kenapa HTML jadi "kerangka" sementara CSS jadi "kostumnya". Sekarang waktunya praktik beneran: bikin file HTML pertamamu dari nol.

1. Bikin File HTML

Buka text editor yang sudah kamu install (VS Code), lalu:

  • Buat folder baru, misalnya belajar-html
  • Di dalam folder itu, buat file baru dengan nama index.html

Nama index.html bukan sembarangan — ini adalah nama file default yang otomatis dibuka browser/server kalau kamu mengakses sebuah folder, tanpa perlu ketik nama filenya. Makanya halaman utama website hampir selalu bernama index.html.

2. Kerangka Wajib Setiap Halaman HTML

Setiap file HTML punya kerangka dasar yang hampir selalu sama. Ketik (jangan copy-paste, biar tangan kamu hafal) kode berikut ke index.html:

<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <title>Halaman Pertamaku</title>
</head>
<body>
  <h1>Halo, Dunia!</h1>
  <p>Ini adalah halaman HTML pertama yang aku buat.</p>
</body>
</html>

Mari kita bedah satu-satu:

<!DOCTYPE html>

DOCTYPE adalah baris pertama yang wajib ada di setiap file HTML, fungsinya memberi tahu browser bahwa dokumen ini ditulis pakai HTML versi terbaru (HTML5). Tanpa ini, browser bisa salah menafsirkan kodemu (disebut "quirks mode") dan tampilannya jadi tidak konsisten.

<html>...</html>

Ini adalah tag pembungkus utama yang membungkus seluruh isi halaman — semua elemen HTML lain harus ada di dalam tag ini. Atribut lang="id" memberi tahu browser (dan mesin pencari) bahwa konten halamanmu berbahasa Indonesia.

Perhatikan pola <html> dan </html> — ini disebut tag pembuka dan tag penutup. Hampir semua tag HTML berpasangan begini: tag pembuka menandai mulainya sebuah elemen, tag penutup (ada tanda garis miring /) menandai akhirnya.

<head>...</head>

Bagian head berisi informasi "di belakang layar" tentang halamanmu yang tidak tampil langsung di layar, seperti judul tab browser, deskripsi untuk mesin pencari, atau link ke file CSS (akan kita pakai di modul 7).

Di dalamnya ada dua tag penting:

  • <meta charset="UTF-8"> — memberi tahu browser encoding karakter yang dipakai, supaya karakter seperti "é" atau emoji tidak tampil berantakan.
  • <title> — teks yang muncul di tab browser, bukan di badan halaman.

Coba perhatikan: <meta charset="UTF-8"> tidak punya tag penutup </meta>. Ini contoh tag mandiri (self-closing tag) — tag yang tidak membungkus konten apa pun, jadi tidak butuh pasangan penutup. Kamu akan ketemu beberapa tag jenis ini lagi nanti, misalnya <img> dan <br>.

<body>...</body>

Ini bagian yang paling penting buat kita: semua yang ada di dalam body adalah konten yang benar-benar tampil di layar — teks, gambar, tombol, semuanya. Kalau head itu "belakang panggung", body adalah "panggung"-nya.

Di contoh kode tadi, ada dua tag di dalam body:

  • <h1> — heading atau judul utama halaman (akan dibahas lebih detail di modul 4)
  • <p> — paragraf teks biasa

3. Buka Hasilnya di Browser

Sekarang buka file index.html di browser. Ada dua cara:

  • Cara manual: cari file index.html di File Explorer/Finder, lalu double-click atau drag ke jendela browser.
  • Cara lebih enak: kalau kamu sudah install extension Live Server di VS Code (dibahas di modul 1), klik kanan pada file index.html di VS Code, pilih "Open with Live Server". Browser akan otomatis terbuka dan halaman akan auto-refresh setiap kali kamu menyimpan perubahan — jauh lebih efisien untuk latihan ke depan.

Kalau berhasil, kamu akan lihat tulisan "Halo, Dunia!" besar di atas, dan paragraf di bawahnya. Judul tab browser juga akan bertuliskan "Halaman Pertamaku".

4. Elemen Bersarang (Nested Element)

Perhatikan lagi kode di atas: tag <title> ada di dalam tag <head>, dan <head> ada di dalam <html>. Ini disebut nesting — elemen di dalam elemen lain, seperti boneka Matryoshka.

Aturan pentingnya: kalau kamu membuka tag di dalam tag lain, kamu harus menutupnya sebelum menutup tag luarnya. Ini benar:

<p>Ini <strong>tebal</strong> ya</p>

Ini salah (urutan tutup tertukar):

<p>Ini <strong>tebal</p></strong>

Browser kadang masih bisa "menebak" dan tetap menampilkan versi yang salah, tapi jangan andalkan itu — kebiasaan menulis tag rapi akan sangat membantu ketika halamanmu makin kompleks nanti.

5. Indentasi Itu Bukan Formalitas

Kamu lihat di contoh kode, ada spasi/tab di depan tag yang ada di dalam tag lain (indentasi). Browser sebenarnya tidak peduli soal ini — halaman tetap tampil sama walau kodenya berantakan. Tapi indentasi bikin kode gampang dibaca manusia, terutama kamu sendiri tiga bulan dari sekarang. Biasakan setiap kali nesting satu level, tambah indentasi 2 spasi.

Latihan: Bikin Halaman "Tentang Aku"

Sekarang coba sendiri tanpa mencontek kode di atas. Buat file baru bernama tentang.html, lalu:

  • Buat kerangka HTML lengkap (DOCTYPE, html, head, body)
  • Isi <title> dengan "Tentang [Namamu]"
  • Di dalam <body>, buat satu <h1> berisi namamu
  • Tambahkan dua <p>: satu berisi cerita singkat tentang dirimu, satu lagi berisi alasan kamu belajar web development
  • Di salah satu paragraf, coba selipkan tag <strong> untuk menebalkan satu kata atau frasa (misalnya nama kotamu)

Setelah selesai, buka pakai Live Server dan cek: apakah judul tab sudah sesuai? Apakah kata yang kamu bungkus <strong> tampil tebal? Kalau ada yang tidak muncul seperti harapan, cek lagi apakah semua tag sudah tertutup dengan benar — ini kesalahan paling umum buat pemula.

Lanjut ke modul berikutnya
4

Tag-Tag Dasar HTML: Heading, Paragraf, dan Teks Formatting

9 menit baca

Sebelum Mulai

Di modul sebelumnya kamu sudah bikin file HTML pertama dengan struktur dasar <!DOCTYPE html>, <html>, <head>, dan <body>. Sekarang saatnya isi bagian <body> itu dengan konten beneran: judul, paragraf, dan teks yang diformat. Ini "kosakata" paling sering kamu pakai sehari-hari sebagai web developer.

1. Heading: Judul dan Sub-Judul

Heading adalah tag untuk menandai judul atau sub-judul pada halaman, levelnya dari <h1> (paling penting/besar) sampai <h6> (paling kecil).

<h1>Judul Utama Halaman</h1>
<h2>Sub Judul</h2>
<h3>Sub dari Sub Judul</h3>

Beberapa aturan tak tertulis yang penting kamu pegang:

  • Hanya pakai satu <h1> per halaman — biasanya untuk judul utama, mirip judul buku.
  • Jangan pilih heading berdasarkan ukuran tampilannya yang kamu suka, tapi berdasarkan hierarki makna. Kalau mau teks besar tapi bukan judul, nanti itu urusan CSS, bukan heading.
  • Urutannya sebaiknya berjenjang: h1 → h2 → h3, jangan loncat dari h1 langsung ke h4.

Kenapa peduli soal hierarki? Karena screen reader (alat bantu baca untuk penyandang tunanetra) dan mesin pencari Google membaca struktur heading untuk memahami "peta" halamanmu, bukan cuma tampilan visualnya.

2. Paragraf: Tag Paling Sering Dipakai

Paragraf ditandai dengan tag <p>, dipakai untuk teks bacaan biasa.

<p>Ini adalah paragraf pertama yang menjelaskan sesuatu.</p>
<p>Ini paragraf kedua, terpisah dari paragraf pertama.</p>

Perhatikan: browser otomatis kasih jarak antar paragraf. Kamu tidak perlu menekan Enter berkali-kali di kode untuk bikin jarak—itu tidak akan berpengaruh ke tampilan. Spasi dan baris baru berlebih di dalam HTML akan "diringkas" jadi satu spasi saja oleh browser.

3. Line Break: Ganti Baris Tanpa Paragraf Baru

Kalau kamu cuma mau pindah baris tanpa bikin paragraf baru (misalnya untuk alamat atau puisi), pakai <br> — line break, tag kosong yang tidak butuh penutup.

<p>
  Jl. Merdeka No. 10<br>
  Jakarta Pusat<br>
  Indonesia
</p>

Jangan jadikan <br> sebagai pengganti <p> untuk memisahkan paragraf. Itu penyalahgunaan tag—makna semantiknya beda meskipun secara visual mirip.

4. Format Teks: Tebal, Miring, dan Lainnya

Beberapa tag untuk menekankan bagian teks tertentu:

  • <strong> — menandai teks yang penting/sangat ditekankan (biasanya tampil tebal).
  • <em> — menandai teks yang ditekankan secara intonasi (biasanya tampil miring, singkatan dari "emphasis").
  • <small> — teks berukuran lebih kecil, biasanya untuk keterangan tambahan.
  • <mark> — menandai teks seperti di-highlight/stabilo.
<p>Diskon <strong>50%</strong> hanya hari ini!</p>
<p>Saya <em>sangat</em> menyukai kelas ini.</p>
<p><small>*Syarat dan ketentuan berlaku</small></p>
<p>Kode promo: <mark>BELAJAR20</mark></p>

Ada juga <b> dan <i> yang tampilannya sama seperti <strong> dan <em>, tapi tidak membawa makna "penting" atau "penekanan"—murni gaya visual. Untuk pemula, lebih baik biasakan pakai <strong>/<em> karena maknanya lebih jelas.

5. Komentar HTML

Komentar adalah catatan di dalam kode yang tidak ditampilkan browser, berguna untuk kasih catatan ke diri sendiri atau tim.

<!-- Ini komentar, tidak akan muncul di halaman -->
<p>Teks ini yang akan tampil.</p>

6. Contoh Gabungan

Begini contoh kalau semua tag di atas digabung dalam satu halaman kecil:

<body>
  <h1>Kopi Nusantara</h1>
  <h2>Tentang Kami</h2>
  <p>
    Kami adalah <strong>produsen kopi lokal</strong> yang berdiri sejak 2015.
    Biji kopi kami berasal dari <em>petani langsung</em> di berbagai daerah.
  </p>
  <h2>Alamat Toko</h2>
  <p>
    Jl. Kopi Manis No. 5<br>
    Bandung, Jawa Barat
  </p>
  <p><small>Buka setiap hari 08.00 - 20.00</small></p>
</body>

Latihan: Coba Sendiri

Buka file HTML dari modul sebelumnya (atau buat file baru latihan-modul4.html dengan struktur dasar HTML lengkap), lalu kerjakan ini di dalam <body>:

  • Buat 1 <h1> berisi judul halaman tentang hobi/topik favoritmu.
  • Buat 2 <h2> sebagai sub-judul (misalnya "Kenapa Saya Suka Ini" dan "Rekomendasi untuk Pemula").
  • Di bawah tiap <h2>, tulis minimal 1 <p> berisi 2-3 kalimat.
  • Di salah satu paragraf, tandai satu kata dengan <strong> dan satu frasa dengan <em>.
  • Tambahkan paragraf berisi alamat atau kutipan singkat dengan minimal 2 baris memakai <br>.
  • Simpan, lalu buka file-nya di browser (drag file ke browser atau pakai Live Server dari editor). Pastikan tampilannya sesuai yang kamu bayangkan.

Kalau sudah selesai, coba tantangan tambahan: sisipkan satu <!-- komentar --> di kode untuk menandai bagian mana yang paling ingin kamu perbaiki nanti. Simpan file ini karena akan kita kembangkan lagi di modul selanjutnya.

Lanjut ke modul berikutnya
5

Membuat Daftar, Tautan, dan Menyisipkan Gambar

9 menit baca

Sebelum Mulai

Di modul sebelumnya kamu sudah paham tag-tag teks dasar seperti <h1>-<h6>, <p>, <strong>, dan <em>. Sekarang kita naik level: membuat daftar (list), tautan (link) yang bisa diklik, dan menyisipkan gambar. Tiga hal ini yang bikin halaman HTML mulai terasa seperti "website sungguhan", bukan cuma tumpukan teks.

1. Membuat Daftar dengan <ul> dan <ol>

List adalah cara menampilkan sekumpulan item secara berurutan atau tidak berurutan. Ada dua jenis utama:

  • <ul> (unordered list) — daftar tanpa urutan, tampil dengan bullet point.
  • <ol> (ordered list) — daftar berurutan, tampil dengan angka.

Di dalam keduanya, tiap item ditulis dengan tag <li> (list item) — tag untuk membungkus satu item dalam daftar.

<h4>Bahan Membuat Kopi</h4>
<ul>
  <li>Kopi bubuk</li>
  <li>Air panas</li>
  <li>Gula (opsional)</li>
</ul>

<h4>Langkah Membuat Kopi</h4>
<ol>
  <li>Panaskan air</li>
  <li>Masukkan kopi bubuk ke gelas</li>
  <li>Tuang air panas</li>
</ol>

Perhatikan: <ul> menghasilkan bullet (•), sedangkan <ol> otomatis menghasilkan angka 1, 2, 3 tanpa kamu ketik manual. Kamu juga bisa membuat list bersarang (nested) dengan meletakkan <ul> baru di dalam sebuah <li>.

2. Membuat Tautan dengan <a>

Tautan (hyperlink) adalah elemen yang menghubungkan satu halaman ke halaman/alamat lain saat diklik, dibuat dengan tag <a> (anchor). Atribut wajibnya adalah href (hypertext reference) — atribut yang menentukan alamat tujuan link tersebut.

<a href="https://www.google.com">Buka Google</a>

Teks "Buka Google" akan tampil sebagai teks yang bisa diklik, dan browser akan membawa pengguna ke alamat di dalam href.

Link ke Halaman Lain di Website Sendiri

href tidak harus berupa alamat internet lengkap. Kalau kamu punya file tentang.html di folder yang sama dengan file yang sedang dibuka, cukup tulis:

<a href="tentang.html">Tentang Kami</a>

Membuka Link di Tab Baru

Tambahkan atribut target="_blank" agar link terbuka di tab baru, tidak menggantikan halaman yang sedang dibuka:

<a href="https://www.google.com" target="_blank">Buka Google (tab baru)</a>

3. Menyisipkan Gambar dengan <img>

Tag <img> dipakai untuk menampilkan gambar di halaman. Ini termasuk void element — tag yang tidak punya penutup dan tidak membungkus konten, karena isinya cukup ditentukan lewat atribut.

<img src="kucing.jpg" alt="Foto kucing oren tidur di sofa">

Dua atribut yang wajib kamu kenal:

  • src (source) — lokasi file gambar, bisa berupa file lokal ("gambar/kucing.jpg") atau URL dari internet.
  • alt (alternative text) — teks pengganti yang muncul kalau gambar gagal dimuat, sekaligus dibacakan oleh screen reader untuk pengguna tunanetra. Jangan pernah dikosongkan tanpa alasan — ini bukan sekadar formalitas.

Kamu juga bisa mengatur ukuran tampilan gambar lewat atribut width dan height (dalam satuan piksel):

<img src="kucing.jpg" alt="Foto kucing oren" width="300" height="200">

Catatan: mengatur ukuran gambar lebih rapi sebenarnya dilakukan lewat CSS (akan dibahas di modul-modul berikutnya). Atribut width/height di HTML tetap berguna karena membantu browser mengalokasikan ruang gambar lebih dulu sebelum file gambarnya selesai dimuat, jadi tampilan tidak "lompat-lompat".

Bonus: Gambar Sekaligus Link

Kamu bisa membungkus <img> dengan <a> supaya gambar bisa diklik seperti tautan:

<a href="https://www.google.com">
  <img src="logo-google.png" alt="Logo Google">
</a>

Menggabungkan Semuanya

Berikut contoh potongan halaman profil sederhana yang memakai list, link, dan gambar sekaligus:

<h1>Profil Saya</h1>
<img src="foto-profil.jpg" alt="Foto profil saya sedang senyum" width="150">

<h3>Keahlian</h3>
<ul>
  <li>HTML & CSS</li>
  <li>Menulis konten</li>
</ul>

<h3>Media Sosial</h3>
<p>
  Kunjungi <a href="https://instagram.com" target="_blank">Instagram</a> saya.
</p>

Studi Kasus: Halaman "Daftar Film Favorit"

Buat file baru bernama film.html, isi dengan struktur dasar HTML yang sudah kamu pelajari di modul 3, lalu tambahkan konten berikut di dalam <body>:

  • Sebuah <h1> berjudul "Daftar Film Favorit Saya".
  • Sebuah <ol> berisi minimal 3 judul film favoritmu (harus berurutan, dari paling favorit ke bawah).
  • Untuk salah satu film di daftar itu, bungkus judulnya dengan <a> yang mengarah ke halaman pencarian Google tentang film tersebut, dibuka di tab baru.
  • Sebuah <img> dari poster salah satu film (boleh pakai gambar apapun dari internet atau file lokal), lengkap dengan atribut alt yang mendeskripsikan gambar dengan jelas.

Setelah selesai, buka file tersebut di browser (klik dua kali atau drag ke browser) dan pastikan: bullet/angka tampil dengan benar, link bisa diklik dan membuka tab baru, dan gambar muncul. Kalau gambar tidak muncul, coba hapus sementara atribut src-nya dan lihat apakah teks di alt muncul sebagai gantinya — itu tanda atribut alt kamu bekerja dengan benar.

Lanjut ke modul berikutnya
6

Tabel dan Form Sederhana untuk Input Data

10 menit baca

Pendahuluan

Di modul sebelumnya kamu sudah belajar membuat daftar, tautan, dan menyisipkan gambar. Sekarang kita masuk ke dua elemen HTML yang sering dipakai untuk menyajikan data dan mengambil input dari pengguna: tabel dan form. Dua hal ini penting karena hampir semua website — dari halaman harga, jadwal, sampai form login dan pendaftaran — menggunakan keduanya.

1. Membuat Tabel dengan HTML

Tabel adalah elemen HTML untuk menampilkan data dalam bentuk baris dan kolom, seperti spreadsheet. Ada 4 tag utama yang perlu kamu tahu:

  • <table> — pembungkus seluruh tabel
  • <tr> (table row) — satu baris dalam tabel
  • <th> (table header) — sel judul kolom, biasanya tebal dan di tengah secara default
  • <td> (table data) — sel data biasa

Berikut contoh tabel sederhana berisi daftar harga:

<table>
  <tr>
    <th>Produk</th>
    <th>Harga</th>
  </tr>
  <tr>
    <td>Kopi Susu</td>
    <td>Rp 18.000</td>
  </tr>
  <tr>
    <td>Teh Manis</td>
    <td>Rp 10.000</td>
  </tr>
</table>

Perhatikan pola ini: baris pertama biasanya berisi <th> untuk judul kolom (Produk, Harga), lalu baris-baris berikutnya berisi <td> untuk datanya. Jumlah <td> dalam satu <tr> harus sama dengan jumlah <th>, supaya kolomnya sejajar.

Struktur Tabel yang Lebih Rapi: thead, tbody, tfoot

Untuk tabel yang lebih besar, sebaiknya kamu kelompokkan bagian-bagiannya supaya kodenya lebih mudah dibaca dan browser bisa memahami struktur logisnya:

  • <thead> — bagian kepala tabel (judul kolom)
  • <tbody> — bagian isi/data tabel
  • <tfoot> — bagian kaki tabel (misalnya total)
<table>
  <thead>
    <tr>
      <th>Produk</th>
      <th>Harga</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Kopi Susu</td>
      <td>Rp 18.000</td>
    </tr>
    <tr>
      <td>Teh Manis</td>
      <td>Rp 10.000</td>
    </tr>
  </tbody>
</table>

Ini tidak wajib untuk tabel kecil, tapi jadi kebiasaan baik yang akan berguna saat tabelmu makin kompleks.

2. Membuat Form dengan HTML

Form adalah elemen HTML untuk mengumpulkan input dari pengguna, seperti nama, email, atau pilihan, yang nantinya bisa dikirim ke server. Semua form dibungkus dengan tag <form>.

Input Teks

Elemen paling dasar untuk input adalah <input>. Tag ini self-closing (tidak butuh tag penutup) dan punya atribut type yang menentukan jenis inputnya.

<form>
  <label for="nama">Nama:</label>
  <input type="text" id="nama" name="nama">
</form>

Beberapa hal penting di sini:

  • <label> — teks keterangan untuk input, membantu pengguna tahu harus isi apa
  • Atribut for pada label harus sama dengan id pada input, supaya keduanya "terhubung" (klik labelnya, kursor otomatis pindah ke inputnya)
  • Atribut name — nama field ini, dipakai untuk menandai data saat dikirim ke server

Jenis-Jenis Input yang Sering Dipakai

<input type="text">      → teks bebas satu baris
<input type="email">     → khusus format email
<input type="password">  → teks disembunyikan (untuk password)
<input type="number">    → hanya angka
<input type="checkbox">  → kotak centang (bisa pilih lebih dari satu)
<input type="radio">     → pilihan tunggal (hanya bisa pilih satu dari grup)
<input type="submit">    → tombol untuk mengirim form

Contoh form pendaftaran sederhana yang menggabungkan beberapa jenis input:

<form>
  <label for="nama">Nama:</label>
  <input type="text" id="nama" name="nama"><br>

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

  <label for="jk">Jenis Kelamin:</label>
  <input type="radio" id="pria" name="jk" value="pria">
  <label for="pria">Pria</label>
  <input type="radio" id="wanita" name="jk" value="wanita">
  <label for="wanita">Wanita</label><br>

  <input type="checkbox" id="setuju" name="setuju">
  <label for="setuju">Saya setuju dengan syarat & ketentuan</label><br>

  <input type="submit" value="Daftar">
</form>

Perhatikan pada dua <input type="radio"> di atas, atribut name-nya sama ("jk"). Ini yang membuat keduanya jadi satu grup pilihan — jadi kalau satu dipilih, yang lain otomatis tidak terpilih.

Dropdown dan Area Teks Panjang

Selain <input>, ada dua elemen form lain yang sering dipakai:

<label for="kota">Kota:</label>
<select id="kota" name="kota">
  <option value="jakarta">Jakarta</option>
  <option value="bandung">Bandung</option>
  <option value="surabaya">Surabaya</option>
</select>

<label for="pesan">Pesan:</label>
<textarea id="pesan" name="pesan" rows="4" cols="30"></textarea>

<select> membuat dropdown pilihan (isinya <option>), sedangkan <textarea> membuat kotak teks yang bisa diisi beberapa baris — cocok untuk pesan atau komentar panjang.

Satu catatan penting: form yang kita buat di modul ini belum benar-benar "mengirim" data ke mana-mana, karena itu butuh bagian backend (server) yang belum kita pelajari di kelas ini. Untuk sekarang, fokus kita adalah memahami cara menyusun struktur form yang benar.

Studi Kasus: Yuk Praktik!

Buat satu file HTML baru bernama kontak.html, lalu kerjakan langkah berikut:

  • Buat sebuah tabel berisi jadwal "jam operasional toko" dengan kolom: Hari, Jam Buka, Jam Tutup — isi minimal 3 baris data (misalnya Senin, Selasa, Rabu).
  • Di bawah tabel, buat sebuah form kontak dengan input berikut:
    • Nama (text)
    • Email (email)
    • Topik pesan (pilih dari dropdown: "Pertanyaan", "Komplain", "Saran")
    • Isi pesan (textarea)
    • Tombol submit bertuliskan "Kirim Pesan"
  • Pastikan setiap input punya <label> yang terhubung lewat atribut for dan id.

Buka file ini di browser dan coba klik label-nya — pastikan kursor otomatis pindah ke input yang sesuai. Kalau belum, cek lagi apakah nilai for dan id sudah sama persis.

Lanjut ke modul berikutnya
7

Mengenal CSS: Cara Menghubungkan dan Menulis Style Pertama

9 menit baca

Dari HTML Polos ke Halaman yang "Hidup"

Sejak Modul 3 sampai 6, kamu sudah bikin halaman HTML lengkap dengan heading, paragraf, list, tabel, sampai form. Tapi coba jujur — tampilannya masih polos banget kan? Font default, warna hitam-putih, semua elemen numpuk dari atas ke bawah. Di sinilah CSS (Cascading Style Sheets) berperan: bahasa yang mengatur bagaimana elemen HTML ditampilkan secara visual, seperti warna, ukuran, jarak, dan posisi.

Kalau HTML adalah "apa isinya", CSS adalah "bagaimana tampilannya". Mulai modul ini sampai Modul 11, kita fokus total di CSS.

Anatomi Satu Aturan CSS

CSS ditulis dalam bentuk rule (aturan). Satu rule terdiri dari tiga bagian:

selector {
  property: value;
}
  • Selector — menentukan elemen HTML mana yang mau distyle (misalnya semua <p>, atau elemen dengan id tertentu).
  • Property — aspek tampilan yang mau diubah (misalnya color untuk warna teks, font-size untuk ukuran huruf).
  • Value — nilai yang diberikan ke property itu (misalnya red, 20px).

Contoh konkret:

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

Artinya: "semua elemen <p>, warnai teksnya biru dan set ukuran fontnya 18 pixel". Jangan lupa titik koma ; di akhir tiap baris property — ini pemisah antar aturan, kalau lupa, browser bisa salah baca aturan berikutnya.

3 Cara Menghubungkan CSS ke HTML

1. Inline Style (langsung di tag)

Ditulis langsung di atribut style pada tag HTML:

<p style="color: red;">Teks ini merah</p>

Cara ini cepat tapi tidak disarankan untuk proyek nyata, karena kalau kamu punya 50 paragraf yang mau diwarnai sama, kamu harus tulis style 50 kali. Susah di-maintain.

2. Internal Style (di dalam tag <style>)

Ditulis dalam tag <style> di bagian <head>:

<head>
  <style>
    p {
      color: red;
    }
  </style>
</head>

Lebih rapi dari inline karena aturan terkumpul di satu tempat. Tapi tetap kurang ideal kalau websitemu punya banyak halaman, karena style-nya cuma berlaku di halaman itu saja.

3. External Style (file CSS terpisah) — Ini yang Dipakai di Dunia Nyata

Buat file baru bernama style.css, taruh dalam satu folder yang sama dengan file HTML-mu. Isinya cuma kode CSS, tanpa tag HTML apapun:

/* style.css */
p {
  color: red;
}

Lalu di file HTML, hubungkan pakai tag <link> di dalam <head>:

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

Penjelasan atribut: rel="stylesheet" bilang ke browser "file yang di-link ini adalah stylesheet", dan href="style.css" menunjuk ke lokasi filenya (sama seperti href di tag <a> yang sudah kamu pelajari di Modul 5).

Kenapa ini cara terbaik? Karena satu file CSS bisa dipakai di banyak halaman HTML sekaligus, dan kalau mau ubah tampilan, cukup edit satu file saja. Mulai sekarang, selalu pakai cara ini untuk semua latihanmu.

Komentar di CSS

Sama seperti HTML punya cara komentar sendiri (<!-- -->), CSS juga punya: diapit /* dan */. Berguna untuk kasih catatan di kode tanpa memengaruhi tampilan.

/* ini komentar, diabaikan browser */
h1 {
  color: green;
}

Latihan: Hubungkan CSS Pertamamu

Coba langkah berikut:

  • Buka folder project HTML yang sudah kamu buat di modul-modul sebelumnya (boleh pakai file latihan form/tabel dari Modul 6).
  • Buat file baru bernama style.css di folder yang sama.
  • Isi style.css dengan aturan berikut:
body {
  background-color: lightyellow;
}

h1 {
  color: darkblue;
}

p {
  color: gray;
  font-size: 16px;
}
  • Di file HTML-mu, tambahkan tag <link> yang menghubungkan ke style.css di dalam <head>.
  • Buka file HTML itu di browser. Pastikan background halaman berubah kuning muda, heading jadi biru tua, dan teks paragraf jadi abu-abu.

Kalau tampilan belum berubah sama sekali, cek dua hal paling umum penyebabnya: nama file di href salah ketik, atau file CSS tidak berada di folder yang sama dengan file HTML. Setelah berhasil, kita lanjut ke Modul 8 untuk belajar selector lebih lanjut plus cara atur warna dan font yang lebih detail.

Lanjut ke modul berikutnya
8

Selector, Warna, dan Font: Mempercantik Tampilan Teks

9 menit baca

Selector, Warna, dan Font: Mempercantik Tampilan Teks

Di modul sebelumnya kamu sudah bisa menghubungkan CSS ke HTML dan menulis style pertama. Sekarang kita masuk lebih dalam: gimana cara "menargetkan" elemen tertentu dengan lebih presisi (lewat selector), lalu memainkan warna dan font supaya teks di halamanmu enak dilihat.

1. Kenalan Lebih Jauh dengan Selector

Selector adalah bagian CSS yang menentukan elemen HTML mana yang akan diberi style. Di modul 7 kamu mungkin sudah pakai selector tag (misalnya p { } untuk semua paragraf). Tapi kadang kamu cuma mau styling elemen tertentu saja, bukan semua. Di sinilah class dan id berguna.

2. Selector Class

Class adalah atribut HTML yang dipakai untuk mengelompokkan elemen agar bisa diberi style yang sama, dan satu class bisa dipakai berkali-kali di banyak elemen.

Cara pakainya: tambahkan atribut class di HTML, lalu di CSS targetkan pakai tanda titik (.) di depan nama class.

<p class="highlight">Teks ini penting.</p>
<p>Teks ini biasa saja.</p>
<p class="highlight">Teks ini juga penting.</p>
.highlight {
  color: red;
  font-weight: bold;
}

Hasilnya: hanya dua paragraf dengan class highlight yang jadi merah dan tebal, paragraf tengah tetap normal.

3. Selector ID

ID mirip class, tapi dipakai untuk menandai satu elemen yang unik di halaman (idealnya cuma dipakai sekali per halaman). Di CSS, ID ditargetkan pakai tanda pagar (#).

<h1 id="judul-utama">Selamat Datang</h1>
#judul-utama {
  color: navy;
}

Kapan pakai class, kapan pakai ID? Pakai class kalau style-nya akan dipakai berulang di banyak elemen. Pakai ID kalau elemen itu memang cuma satu-satunya di halaman (misalnya header utama atau footer). Di praktik sehari-hari, developer lebih sering pakai class karena lebih fleksibel.

4. Menggabungkan Selector

Kamu juga bisa menargetkan elemen secara lebih spesifik dengan menggabungkan tag dan class:

p.highlight {
  color: red;
}

Artinya: hanya elemen <p> yang punya class highlight yang kena style ini (kalau ada tag lain pakai class yang sama, tidak akan terpengaruh).

Selector juga bisa dipisah koma untuk menargetkan beberapa elemen sekaligus dengan style yang sama:

h1, h2, h3 {
  font-family: Arial, sans-serif;
}

5. Mengatur Warna

Properti color mengatur warna teks, sedangkan background-color mengatur warna latar belakang elemen. Ada tiga cara umum menulis nilai warna di CSS:

  • Nama warna — cara paling simpel: red, blue, tomato, dll.
  • Kode HEX — kode 6 digit diawali tanda pagar, contoh: #ff5733. Ini format yang paling sering dipakai developer karena presisi dan gampang dicari di tools desain.
  • RGB — menulis warna berdasarkan campuran Red, Green, Blue, contoh: rgb(255, 87, 51).
body {
  background-color: #f5f5f5;
  color: #333333;
}

Tips: untuk keterbacaan, pastikan kontras antara warna teks dan background-nya cukup jelas (teks abu-abu terang di atas background putih, misalnya, akan susah dibaca).

6. Mengatur Font

Ada beberapa properti dasar untuk mengatur tampilan huruf:

  • font-family — menentukan jenis huruf yang dipakai.
  • font-size — menentukan ukuran huruf.
  • font-weight — menentukan ketebalan huruf (misalnya normal atau bold).
  • text-align — menentukan perataan teks (left, center, right).
h1 {
  font-family: "Trebuchet MS", sans-serif;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

Soal font-family: tidak semua komputer punya font yang sama ter-install, makanya kita biasa menulis beberapa pilihan font dipisah koma sebagai cadangan (disebut font stack). Browser akan coba pakai font pertama, kalau tidak tersedia, lanjut ke font berikutnya. Nilai terakhir biasanya berupa kategori umum seperti sans-serif (font tanpa "kaki/serif", terkesan modern) atau serif (font dengan kaki kecil di ujung huruf, terkesan klasik) sebagai jaminan terakhir.

Untuk font-size, satuan yang paling umum dipakai pemula adalah px (pixel, satuan ukuran tetap berdasarkan titik layar). Nanti di modul lanjutan kamu akan kenalan juga dengan satuan relatif seperti rem, tapi untuk sekarang px sudah cukup.

Studi Kasus: Styling Kartu Profil Sederhana

Buat file index.html dan style.css, lalu praktikkan HTML berikut:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div id="profil">
    <h1 class="nama">Dewi Anggraini</h1>
    <p class="jabatan">Frontend Developer</p>
    <p>Suka ngoding, kopi, dan belajar hal baru setiap hari.</p>
  </div>
</body>
</html>

Sekarang tulis CSS di style.css sesuai instruksi berikut:

  1. Beri #profil background-color abu-abu muda (misalnya #f0f0f0).
  2. Buat .nama berwarna biru tua, font-size 28px, dan rata tengah.
  3. Buat .jabatan berwarna abu-abu gelap dan font-weight bold.
  4. Terapkan font-family sans-serif untuk seluruh halaman lewat selector body.

Setelah berhasil, coba tantangan tambahan: ubah warna background #profil jadi warna lain pakai format RGB (bukan HEX atau nama warna), lalu lihat apakah hasilnya sama persis dengan cara sebelumnya. Ini melatih kamu terbiasa dengan ketiga format warna yang sudah dipelajari.

Ini modul terakhir yang sudah tersedia — modul berikutnya segera menyusul.
9

Modul berikutnya

Segera hadir — 4 modul lagi menyusul
Progresmu
0 dari 8 modul selesai
  • Instalasi & Setup: Menyiapkan Text Editor dan Browser untuk Ngoding Web
  • Mengenal Dunia Web: Bagaimana Website Bekerja & Peran HTML-CSS
  • Struktur Dasar Halaman HTML: Membuat File Pertamamu
  • Tag-Tag Dasar HTML: Heading, Paragraf, dan Teks Formatting
  • Membuat Daftar, Tautan, dan Menyisipkan Gambar
  • Tabel dan Form Sederhana untuk Input Data
  • Mengenal CSS: Cara Menghubungkan dan Menulis Style Pertama
  • Selector, Warna, dan Font: Mempercantik Tampilan Teks
  • Modul berikutnya (segera)
Tentang Kelas Ini

Modul baru ditambahkan secara berkala hingga kelas ini lengkap. Simpan halaman ini dan kembali lagi untuk lanjut belajar.

Copyright © 2026 — Made with by Ruang Coding